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

Reply via email to