OSDN Git Service

* gnat.dg/lto6.adb: Remove superfluous -gnat05 switch.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gnat.dg / rep_clause2.ads
1 with Unchecked_Conversion;\r
2 \r
3 package Rep_Clause2 is\r
4 \r
5    type Tiny is range 0 .. 3;\r
6    for Tiny'Size use 2;\r
7 \r
8    type Small is range 0 .. 255;\r
9    for Small'Size use 8;\r
10 \r
11    type Small_Data is record\r
12       D : Tiny;\r
13       N : Small;\r
14    end record;\r
15    pragma Pack (Small_Data);\r
16 \r
17    type Chunk is\r
18    record\r
19       S : Small_Data;\r
20       C : Character;\r
21    end record;\r
22 \r
23    for Chunk use record\r
24       S at 0 range  0 .. 15;\r
25       C at 2 range  0 .. 7;\r
26    end record;\r
27 \r
28    type Index is range 1 .. 10;\r
29 \r
30    type Data_Array is array (Index) of Chunk;\r
31    for Data_Array'Alignment use 2;\r
32    pragma Pack (Data_Array);\r
33 \r
34    type Data is record\r
35      D : Data_Array;\r
36    end record;\r
37 \r
38    type Bit is range 0 .. 1;\r
39    for Bit'Size use 1;\r
40 \r
41    type Bit_Array is array (Positive range <>) of Bit;\r
42    pragma Pack (Bit_Array);\r
43 \r
44    type Byte is new Bit_Array (1 .. 8);\r
45    for  Byte'Size use 8;\r
46    for  Byte'Alignment use 1;\r
47 \r
48    function Conv\r
49      is new Unchecked_Conversion(Source => Small, Target => Byte);\r
50 \r
51    procedure Assign (From : Data; Offset : Positive; I : Index; To : out Bit_Array);\r
52 \r
53 end Rep_Clause2;\r