package pak1 is
    type T1 is interface;
    function F1(X: T1) return Integer is abstract;
    type T2 is tagged null record;
    function F2(X: T2) return Integer;
end pak1;

limited with pak1;
package pak2 is
    x1: access pak1.T1'Class;
    x2: access pak1.T2'Class;
    N1: Integer := x1.F1; -- line 5
    N2: Integer := x2.F2;
end pak2;

gnatmake -gnat05 pak2
gcc-4.1 -c -gnat05 pak2.ads
+===========================GNAT BUG DETECTED==============================+
| 4.1.3 20070518 (prerelease) (Debian 4.1.2-8) (x86_64-pc-linux-gnu)       |
| Assert_Failure elists.adb:167                                            |
| Error detected at pak2.ads:5:22                                          |

gcc -c -gnat05 pak2.ads
+===========================GNAT BUG DETECTED==============================+
| 4.2.2 (i686-unknown-linux-gnu) Assert_Failure elists.adb:167             |
| Error detected at pak2.ads:5:22                                          |

With line 5 commented out, I get:

gcc-4.1 -c -gnat05 pak2.ads
+===========================GNAT BUG DETECTED==============================+
| 4.1.3 20070518 (prerelease) (Debian 4.1.2-8) (x86_64-pc-linux-gnu)       |
| Assert_Failure elists.adb:167                                            |
| Error detected at pak2.ads:6:22                                          |


-- 
           Summary: Bug box, Assert_Failure elists.adb:167 from illegal Ada
                    2005 program
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ada
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: ludovic at ludovic-brenta dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34344

Reply via email to