From 5da9694ccbb40e23a550aa00c48761e224a85202 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Wed, 21 Sep 2011 13:47:25 +0000 Subject: [PATCH] * gnat.dg/opt19.adb: New test. From-SVN: r179047 --- gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/gnat.dg/opt19.adb | 27 +++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 gcc/testsuite/gnat.dg/opt19.adb diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index dcaab9c499b..bfdfe440461 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2011-09-21 Eric Botcazou + + * gnat.dg/opt19.adb: New test. + 2011-09-21 Terry Guo * 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 index 00000000000..5619da12215 --- /dev/null +++ b/gcc/testsuite/gnat.dg/opt19.adb @@ -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;