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