]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
* gnat.dg/opt19.adb: New test.
authorEric Botcazou <ebotcazou@adacore.com>
Wed, 21 Sep 2011 13:47:25 +0000 (13:47 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Wed, 21 Sep 2011 13:47:25 +0000 (13:47 +0000)
From-SVN: r179047

gcc/testsuite/ChangeLog
gcc/testsuite/gnat.dg/opt19.adb [new file with mode: 0644]

index dcaab9c499b03747f6b34fcc8d4ea240b589769a..bfdfe4404618e08c717f1c9d1abdb8871e0c85e2 100644 (file)
@@ -1,3 +1,7 @@
+2011-09-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/opt19.adb: New test.
+
 2011-09-21  Terry Guo  <terry.guo@arm.com>
 
        * gcc.target/arm/neon-thumb2-move.c: Skip the warning message
diff --git a/gcc/testsuite/gnat.dg/opt19.adb b/gcc/testsuite/gnat.dg/opt19.adb
new file mode 100644 (file)
index 0000000..5619da1
--- /dev/null
@@ -0,0 +1,27 @@
+-- { dg-do compile }
+-- { dg-options "-O" }
+
+procedure Opt19 is
+
+  type Enum is (One, Two);
+
+  type Vector_T is array (Enum) of Integer;
+
+  Zero_Vector : constant Vector_T := (Enum => 0);
+
+  type T is record
+    Vector : Vector_T;
+  end record;
+
+  procedure Nested (Value : in out T; E : Enum; B : out Boolean) is
+    I : Integer renames Value.Vector(E);
+  begin
+    B := I /= 0;
+  end;
+
+  Obj : T := (Vector => Zero_Vector);
+  B : Boolean;
+
+begin
+  Nested (Obj, One, B);
+end;