OSDN Git Service

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