summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg/pack13.ads
blob: 1836311e76342f7ce950471b5f5d57881a40de42 (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
29
30
31
32
33
with Pack13_Pkg;

package Pack13 is

  package Four_Bits is new Pack13_Pkg (4);
  package Thirty_Two_Bits is new Pack13_Pkg (32);

  type Object is private;
  type Object_Ptr is access all Object;

  procedure Set (Myself : Object_Ptr; The_Data : Thirty_Two_Bits.Object);

private

  type Some_Record is record
    Data_1     : Thirty_Two_Bits.Object;
    Data_2     : Thirty_Two_Bits.Object;
    Small_Data : Four_Bits.Object;
  end record;
  for Some_Record use record
    Data_1 at 0 range 0 .. 31;
    Data_2 at 4 range 0 .. 31;
    Small_Data at 8 range 0 .. 3;
  end record;

  type Object is record
    Something : Some_Record;
  end record;
  for Object use record
    Something at 0 range 0 .. 67;
  end record;

end Pack13;