diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2013-11-29 12:16:07 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2013-11-29 12:16:07 +0000 |
commit | 08c5a7c685a97e0870fe278a1113523763b7af5f (patch) | |
tree | 9fea8532a275e6ea4031089526840824c4147c1a /gcc | |
parent | 089d12274633f9446335b3a181357cbc0b71b96e (diff) | |
download | gcc-08c5a7c685a97e0870fe278a1113523763b7af5f.zip gcc-08c5a7c685a97e0870fe278a1113523763b7af5f.tar.gz gcc-08c5a7c685a97e0870fe278a1113523763b7af5f.tar.bz2 |
* gnat.dg/opt29.ad[sb]: New test.
From-SVN: r205523
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/opt29.adb | 13 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/opt29.ads | 28 |
3 files changed, 45 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 411d5e9..713980f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2013-11-29 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/opt29.ad[sb]: New test. + 2013-11-29 Richard Biener <rguenther@suse.de> 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 0000000..64f2baef --- /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 0000000..c809b1c --- /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;
|