OSDN Git Service

* gcc-interface/decl.c (gnat_to_gnu_entity): Create variables for size
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gnat.dg / specs / rep_clause3.ads
1 package Rep_Clause3 is
2
3   type Record1 is
4       record
5          Page_Handle : Integer range 0 .. 255;
6          Page_Owner :  Integer range 0 .. 15;
7       end record;
8    for Record1 use
9       record
10          Page_Handle at 0 range 0 .. 15;
11          Page_Owner at 0 range 16 .. 19;
12       end record;
13    for Record1'Size use 20;
14
15    type Range_A is range 1 .. 7;
16    for Range_A'Size use 16;
17
18    type Array_Type is array (Range_A) of Record1;
19    pragma Pack (Array_Type);
20    for Array_Type'Size use 7 * 20;
21 --   for array_Type'alignment use 1;
22
23    type Record2 is
24       record
25          Page_Tree_Index : Range_A;
26          Page_Tree : Array_Type;
27       end record;
28
29    for Record2 use
30       record
31          Page_Tree_Index at 0 range 0 .. 15;
32          Page_Tree at 0 range 16 .. 15 + (7 * 20);
33       end record;
34    for Record2'Size use 16 + (7 * 20);
35
36 end Rep_Clause3;