2 -- { dg-options "-O2" }
4 procedure Derived_Aggregate
is
5 type Int
is range 1 .. 10;
6 type Str
is array (Int
range <>) of Character;
8 type Parent
(D1
, D2
: Int
; B
: Boolean) is
12 when False => C1
: Integer;
13 when True => C2
: Float;
17 for Parent
'Alignment use 8;
19 type Derived
(D
: Int
) is new Parent
(D1
=> D
, D2
=> D
, B
=> False);
21 function Ident
(I
: Integer) return integer is
26 Y
: Derived
:= (D
=> 7, S
=> "b", C1
=> Ident
(32));
29 if Parent
(Y
).D1
/= 7 then