diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gnat.dg/opt19.adb')
-rw-r--r-- | gcc-4.9/gcc/testsuite/gnat.dg/opt19.adb | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gnat.dg/opt19.adb b/gcc-4.9/gcc/testsuite/gnat.dg/opt19.adb new file mode 100644 index 000000000..5619da122 --- /dev/null +++ b/gcc-4.9/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; |