The following code will make gcc abort: package foo is A : constant Integer := 1; B : Integer renames A; B : constant Integer := 2;
end foo; $ gcc -c foo.ads +===========================GNAT BUG DETECTED==============================+ | 3.4.4 20041128 (prerelease) (Debian 3.4.3-3) (i486-pc-linux-gnu) | | Assert_Failure sinfo.adb:1063 | | Error detected at foo.ads:5:4 | | Please submit a bug report; see http://gcc.gnu.org/bugs.html. | | Include the entire contents of this bug box in the report. | | Include the exact gcc-3.4 or gnatmake command that you entered. | | Also include sources listed below in gnatchop format | | (concatenated together with no headers between files). | +==========================================================================+ Please note that if A and B aren't constant gcc detects the conflicting declaration and don't abort. So I guess that this bug might be linked to the bug #19037 -- Summary: Assertion failure on illegal program Product: gcc Version: 3.4.3 Status: UNCONFIRMED Severity: normal Priority: P2 Component: ada AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jc at apinc dot org CC: gcc-bugs at gcc dot gnu dot org GCC host triplet: i486-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19048