* gcc.target/i386/mpx/hard-reg-1-nov.c (mpx_test): Use "esp"
[official-gcc.git] / gcc / testsuite / gnat.dg / oconst4.ads
blobcde0935fe8dbc536e2ad6f99aae42efe2755fcd1
1 package OCONST4 is
3 type bit is (zero, one);
4 type u2 is mod 2**2;
5 type u5 is mod 2**5;
6 type u8 is mod 2**8;
8 type Base is record
9 f1 : bit;
10 f2 : u2;
11 f3 : u5;
12 f4 : u8;
13 end record;
15 for Base use record
16 f1 at 0 range 0 .. 0;
17 f2 at 0 range 1 .. 2;
18 f3 at 0 range 3 .. 7;
19 f4 at 1 range 0 .. 7;
20 end record;
22 type Derived is record
23 f1 : u5;
24 b : Base;
25 f2 : bit;
26 f3 : u2;
27 f4 : u8;
28 i1 : Integer;
29 i2 : Integer;
30 end record;
32 for Derived use record
33 f1 at 0 range 0 .. 4;
34 b at 0 range 5 .. 20; -- unaligned HImode bitfield
35 f2 at 0 range 21 .. 21;
36 f3 at 0 range 22 .. 23;
37 f4 at 0 range 24 .. 31;
38 i1 at 4 range 0 .. 31;
39 i2 at 8 range 0 .. 31;
40 end record;
42 type R is record
43 u : u8;
44 d : Derived;
45 end record;
47 for R use record
48 u at 0 range 0 .. 7;
49 d at 1 range 0 .. 95; -- BLKmode bitfield
50 end record;
52 My_R : constant R := (u=>1,
53 d=>(f1=>17,
54 b=>(f1=>one,
55 f2=>2,
56 f3=>17,
57 f4=>42),
58 f2=>one,
59 f3=>1,
60 f4=>111,
61 i1=>2,
62 i2=>3));
64 procedure check (arg : R);
66 end;