From: Eric Botcazou Date: Fri, 29 Nov 2013 12:16:07 +0000 (+0000) Subject: * gnat.dg/opt29.ad[sb]: New test. X-Git-Tag: releases/gcc-4.9.0~2372 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=08c5a7c685a97e0870fe278a1113523763b7af5f;p=thirdparty%2Fgcc.git * gnat.dg/opt29.ad[sb]: New test. From-SVN: r205523 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 411d5e963aa2..713980f53284 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2013-11-29 Eric Botcazou + + * gnat.dg/opt29.ad[sb]: New test. + 2013-11-29 Richard Biener PR middle-end/59338 diff --git a/gcc/testsuite/gnat.dg/opt29.adb b/gcc/testsuite/gnat.dg/opt29.adb new file mode 100644 index 000000000000..64f2baef3d08 --- /dev/null +++ b/gcc/testsuite/gnat.dg/opt29.adb @@ -0,0 +1,13 @@ +-- { dg-do compile } +-- { dg-options "-O" } + +package body Opt29 is + + procedure Proc (T : Rec) is + begin + if Derived2 (T.F2.all).Id = T.F1.Id then + raise Program_Error; + end if; + end; + +end Opt29; diff --git a/gcc/testsuite/gnat.dg/opt29.ads b/gcc/testsuite/gnat.dg/opt29.ads new file mode 100644 index 000000000000..c809b1c41930 --- /dev/null +++ b/gcc/testsuite/gnat.dg/opt29.ads @@ -0,0 +1,28 @@ +package Opt29 is + + type Word is mod 2**16; + + type PID is record + W1, W2: Word; + end record; + + type Root1 is tagged record + Id: PID; + end record; + type Root1_Ptr is access all Root1'Class; + + type Root2 is tagged null record; + type Root2_Ptr is access all Root2'class; + + type Derived2 is new Root2 with record + Id: PID; + end record; + + type Rec is record + F1: Root1_Ptr; + F2: Root2_Ptr; + end record; + + procedure Proc (T : Rec); + +end Opt29;