| -- { 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; |