1-- { dg-do run } 2 3procedure Addr11 is 4 5 type Rec is record 6 I : Short_Integer; 7 C : Character; 8 end record; 9 10 type Derived is new Rec; 11 for Derived use record 12 I at 1 range 0 .. 15; 13 C at 0 range 0 .. 7; 14 end record; 15 16 Init : constant Rec := ( 1515, 'A' ); 17 18 D1 : Derived; 19 D2 : Derived; 20 pragma Volatile (D2); 21 for D2'Address use D1'Address; 22 23begin 24 D2 := Derived (Init); 25 if D1 /= Derived (Init) then 26 raise Program_Error; 27 end if; 28end; 29