summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg/addr11.adb
blob: c7053995f0e10a8d042946e9e8a46ef674dd4562 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
--  { 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;