PR target/84336
[official-gcc.git] / gcc / testsuite / gnat.dg / discr38.adb
blob948493f74be62b91a024eec4e3f41e4903925843
1 -- { dg-do compile }
3 procedure Discr38 is
5 type Enum is (OK,
6 NOT_CONNECTED,
7 DISCONNECTED,
8 REQUEST_Q_EMPTY,
9 SERVER_UNAVAILABLE,
10 BUFFER_TOO_SMALL,
11 NO_FREE_SLOT,
12 RAISE_EXCEPTION,
13 REQUEST_CANCELLED,
14 REQUEST_IN_PROGRESS,
15 SERVER_BUSY,
16 BLOCK_ACKNOWLEDGE);
18 type R (Status : Enum := OK) is record
19 Status_Block : Integer;
20 case Status is
21 when RAISE_EXCEPTION =>
22 I : Integer;
23 when OK =>
24 Length : Natural;
25 Data : Integer;
26 when others =>
27 null;
28 end case;
29 end record;
30 for R use record
31 Status at 0 range 0 .. 7;
32 Status_Block at 4 range 0 .. 31;
33 Length at 8 range 0 .. 31;
34 end record;
36 Nil : constant R := (OK, 1, 0, 1);
38 begin
39 null;
40 end;