-- { 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; |