[Bug ada/62205] New: GNAT does not accept class types for Default_Iterator
porton at narod dot ru
gcc-bugzilla@gcc.gnu.org
Wed Aug 20 16:42:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62205
Bug ID: 62205
Summary: GNAT does not accept class types for Default_Iterator
Product: gcc
Version: 4.9.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: ada
Assignee: unassigned at gcc dot gnu.org
Reporter: porton at narod dot ru
Created attachment 33370
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33370&action=edit
An Ada file whose semantics does not verify
I attach an Ada package file which does not verify:
gprbuild -q -c -gnatc -u -P/home/porton/t/default.gpr test.ads --subdirs=check
-cargs:Ada -g -O0 -gnato -fstack-check -gnatVa -cargs:C -g -O0 -fstack-check
-cargs:C++ -g -O0 -fstack-check
test.ads:19:28: Default Iterator must be a primitive of "Descriptions_List"
gprbuild: *** compilation phase failed
But from Ada Reference Manual 2012 (5.5.1 8/3):
[[[
Default_Iterator
This aspect is specified by a name that denotes exactly one function declared
immediately within the same declaration list in which T is declared, whose
first parameter is of type T or T'Class or an access parameter whose designated
type is type T or T'Class, whose other parameters, if any, have default
expressions, and whose result type is an iterator type.
]]]
That is T'Class (in our case Descriptions_List'Class) should work.
I think this is a bug in GNAT 4.9.1.
More information about the Gcc-bugs
mailing list