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;