From: Eric Botcazou Date: Wed, 21 Sep 2011 13:47:25 +0000 (+0000) Subject: * gnat.dg/opt19.adb: New test. X-Git-Tag: releases/gcc-4.7.0~3663 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5da9694ccbb40e23a550aa00c48761e224a85202;p=thirdparty%2Fgcc.git * gnat.dg/opt19.adb: New test. From-SVN: r179047 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index dcaab9c499b0..bfdfe4404618 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 000000000000..5619da12215e --- /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;