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