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

Reply via email to