5 procedure Volatile_Aggregate
is
7 function GetArrayUpperBound
return Integer is
10 end GetArrayUpperBound
;
12 some_value
: Integer := GetArrayUpperBound
;
14 type Gp_Element_Type
is record
18 type some_type
is array (1 .. some_value
) of Gp_Element_Type
;
20 type Aligned_Some_Type
is record
21 Value
: aliased some_type
;
24 for Aligned_Some_Type
'Alignment use 8;
26 an_aligned_type
: aligned_Some_Type
;
27 my_address
: system
.address
;
29 pragma Volatile
(an_aligned_type
);
32 my_address
:= an_aligned_type
.value
(1)'address;