package pak1 is pragma elaborate_body; subtype myint is integer range 1..10;
type T1(n: myint) is record s: string(1..n); end record; max: constant myint; pragma import(C, max); subtype T2 is T1 (max); end pak1; package body pak1 is function f1 return T2 is x1: T2; begin return x1; end f1; function f2 return T2 is x2: T2; begin return x2; end f2; end pak1; gnatmake -gnat05 pak1 gcc-4.1 -c -gnat05 pak1.adb +===========================GNAT BUG DETECTED==============================+ | 4.1.3 20070518 (prerelease) (Debian 4.1.2-8) (x86_64-pc-linux-gnu) GCC error:| | in expand_expr_real_1, at expr.c:6711 | | Error detected at s-secsta.ads:64:14 | +===========================GNAT BUG DETECTED==============================+ | 4.2.2 (i686-unknown-linux-gnu) in expand_expr_real_1, at expr.c:6930 | | Error detected at s-secsta.ads:64:14 | -- Summary: Bug box in expand_expr_real_1, at expr.c:6711 on legal 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=34509