OSDN Git Service

2008-04-24 Olivier Hainque <hainque@adacore.com>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gnat.dg / pack5.adb
1 -- { dg-do compile }
2
3 procedure Pack5 is
4
5   type Kind is (v1, v2, v3);
6
7   type Error (k : Kind := Kind'First) is record
8     case k is
9     when v1 =>
10       null;
11     when v2 =>
12       null;
13     when Others =>
14       B : Boolean;
15     end case;
16   end record;
17   pragma Pack (Error);
18   for Error'Size use 16;
19
20   No_Error: constant Error := (k => v2);
21
22   type R (B : Boolean) is record
23     E : Error;
24   end record;
25   pragma Pack(R);
26   type Ptr is access R;
27
28   C : Ptr := new R (True);
29
30 begin
31   C.E := No_Error;
32 end;