-- { dg-do run } | |
procedure Addr11 is | |
type Rec is record | |
I : Short_Integer; | |
C : Character; | |
end record; | |
type Derived is new Rec; | |
for Derived use record | |
I at 1 range 0 .. 15; | |
C at 0 range 0 .. 7; | |
end record; | |
Init : constant Rec := ( 1515, 'A' ); | |
D1 : Derived; | |
D2 : Derived; | |
pragma Volatile (D2); | |
for D2'Address use D1'Address; | |
begin | |
D2 := Derived (Init); | |
if D1 /= Derived (Init) then | |
raise Program_Error; | |
end if; | |
end; |