OSDN Git Service

2010-01-21 Martin Jambor <mjambor@suse.cz>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gnat.dg / discr14.ads
1 package Discr14 is
2
3   type COMPLETION_CODE is (SUCCESS, FAILURE, NONE);
4
5   type T_SW_TYPE is (NONE, COMPLETION_CODE_TYPE);       
6
7   type T_COMPLETION_CODE_RANGE (CONSTRAINED: BOOLEAN := FALSE) is
8   record
9      case CONSTRAINED is
10         when TRUE =>
11            FIRST  : COMPLETION_CODE := SUCCESS;
12            LAST   : COMPLETION_CODE := FAILURE;
13         when FALSE =>
14            null;
15      end case;
16   end record;
17
18   type T_SW_DIMENSIONS is range 0 .. 3;
19
20   type T_SW_INDEX_LIST is array (T_SW_DIMENSIONS range <>) of POSITIVE;
21
22   type T_SW_TYPE_DESCRIPTOR (SW_TYPE   :  T_SW_TYPE       := NONE;
23                              DIMENSION :  T_SW_DIMENSIONS := 0)  is
24   record
25      BOUNDS : T_SW_INDEX_LIST (1 .. DIMENSION);
26
27      case SW_TYPE is
28
29         when COMPLETION_CODE_TYPE  =>
30            COMPLETION_CODE_RANGE   : T_COMPLETION_CODE_RANGE;
31
32         when OTHERS  =>
33            null;
34
35      end case;
36   end record;
37
38   type SW_TYPE_INFO is access T_SW_TYPE_DESCRIPTOR;
39
40   procedure ASSIGN(TARGET : in out SW_TYPE_INFO; SOURCE : in SW_TYPE_INFO) ;
41
42 end Discr14;