package pak4 is type T1 is interface; type T2 is interface and T1; end pak4;
limited with pak4; package pak5 is function f(x: pak4.T1'class) return integer; x1: access pak4.T2'class; x2: integer := f(x1.all); -- line 5; column 19 is the opening paren x3: float := x1.all; x4: boolean := pak4."="(x1.all, x1.all); end pak5; gnatmake -gnat05 pak5 gcc-4.1 -c -gnat05 pak5.ads +===========================GNAT BUG DETECTED==============================+ | 4.1.3 20070518 (prerelease) (Debian 4.1.2-8) (x86_64-pc-linux-gnu) | | Program_Error sem_type.adb:636 explicit raise | | Error detected at pak5.ads:5:19 | gcc -c pak5.ads -gnat05 +===========================GNAT BUG DETECTED==============================+ | 4.2.2 (i686-unknown-linux-gnu) Program_Error sem_type.adb:651 explicit raise| | Error detected at pak5.ads:5:19 | -- Summary: Bug box, Program_Error sem_type.adb:636 explicit raise on 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=34381