Remove old autovect-branch by moving to "dead" directory.
[official-gcc.git] / old-autovect-branch / gcc / testsuite / ada / acats / tests / a / a74106a.ada
blob43afe5940b5fcfd48bb5bff4b307a634cff07b8c
1 -- A74106A.ADA
3 -- Grant of Unlimited Rights
4 --
5 -- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
6 -- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
7 -- unlimited rights in the software and documentation contained herein.
8 -- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
9 -- this public release, the Government intends to confer upon all
10 -- recipients unlimited rights equal to those held by the Government.
11 -- These rights include rights to use, duplicate, release or disclose the
12 -- released technical data and computer software in whole or in part, in
13 -- any manner and for any purpose whatsoever, and to have or permit others
14 -- to do so.
16 -- DISCLAIMER
18 -- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
19 -- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
20 -- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
21 -- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
22 -- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
23 -- PARTICULAR PURPOSE OF SAID MATERIAL.
24 --*
25 -- CHECK THAT A FULL DECLARATION FOR A PRIVATE TYPE OR FOR A LIMITED
26 -- PRIVATE TYPE CAN BE GIVEN IN TERMS OF ANY SCALAR TYPE, ARRAY TYPE,
27 -- RECORD TYPE (WITH OR WITHOUT DISCRIMINANTS), ACCESS TYPE (WITH
28 -- OR WITHOUT DISCRIMINANTS), OR ANY TYPE DERIVED FROM ANY OF THE
29 -- ABOVE.
31 -- PART A: TYPES NOT INVOLVING FLOATING-POINT DATA OR FIXED-POINT DATA.
34 -- RM 05/13/81
37 WITH REPORT;
38 PROCEDURE A74106A IS
40 USE REPORT;
42 BEGIN
44 TEST( "A74106A" , "CHECK THAT PRIVATE TYPES AND LIMITED PRIVATE " &
45 "TYPES CAN BE DEFINED IN TERMS OF " &
46 "VARIOUS OTHER TYPES" );
48 DECLARE
50 TYPE ENUM IS ( A , B , C , D );
52 PACKAGE P0 IS
53 TYPE T0 IS PRIVATE;
54 PRIVATE
55 TYPE T0 IS NEW INTEGER;
56 END P0;
58 PACKAGE P1 IS
59 USE P0;
60 TYPE T1 IS PRIVATE;
61 TYPE T2 IS PRIVATE;
62 TYPE T3 IS PRIVATE;
63 TYPE T4 IS PRIVATE;
64 TYPE T5 IS PRIVATE;
65 TYPE T6 IS PRIVATE;
66 TYPE T7 IS PRIVATE;
67 TYPE T8 IS PRIVATE;
68 TYPE T9 IS PRIVATE;
69 TYPE TA IS PRIVATE;
70 TYPE TB IS PRIVATE;
71 TYPE TC IS PRIVATE;
72 TYPE TD(I : INTEGER) IS PRIVATE;
73 TYPE NT IS NEW ENUM;
74 TYPE ARR_T IS ARRAY(1..2) OF BOOLEAN;
75 TYPE ACC_T IS ACCESS CHARACTER;
76 TYPE REC_T IS RECORD T : BOOLEAN; END RECORD;
77 TYPE D_REC_T(I : INTEGER := 1) IS
78 RECORD T : ENUM; END RECORD;
79 PRIVATE
80 TYPE TY(B : BOOLEAN) IS
81 RECORD G : BOOLEAN; END RECORD;
82 TYPE TC IS NEW T0;
83 TYPE T1 IS RANGE 1..100;
84 TYPE T2 IS NEW CHARACTER RANGE 'A'..'Z';
85 TYPE T3 IS NEW NT;
86 TYPE T4 IS ARRAY(1..2) OF INTEGER;
87 TYPE T5 IS NEW ARR_T;
88 TYPE T6 IS ACCESS ENUM;
89 TYPE T7 IS NEW ACC_T;
90 TYPE T8 IS
91 RECORD T : CHARACTER; END RECORD;
92 TYPE T9 IS NEW REC_T;
93 TYPE TA IS ACCESS TD;
94 TYPE TB IS ACCESS D_REC_T;
95 TYPE TD(I : INTEGER) IS
96 RECORD G : BOOLEAN; END RECORD;
98 END P1;
100 BEGIN
102 NULL;
104 END;
107 DECLARE
109 TYPE ENUM IS ( A , B , C , D );
111 PACKAGE P0 IS
112 TYPE T0 IS LIMITED PRIVATE;
113 PRIVATE
114 TYPE T0 IS NEW ENUM;
115 END P0;
117 PACKAGE P1 IS
118 USE P0;
119 TYPE T1 IS LIMITED PRIVATE;
120 TYPE T2 IS LIMITED PRIVATE;
121 TYPE T3 IS LIMITED PRIVATE;
122 TYPE T4 IS LIMITED PRIVATE;
123 TYPE T5 IS LIMITED PRIVATE;
124 TYPE T6 IS LIMITED PRIVATE;
125 TYPE T7 IS LIMITED PRIVATE;
126 TYPE T8 IS LIMITED PRIVATE;
127 TYPE T9 IS LIMITED PRIVATE;
128 TYPE TA IS LIMITED PRIVATE;
129 TYPE TB IS LIMITED PRIVATE;
130 TYPE TC IS LIMITED PRIVATE;
131 TYPE TD(I : INTEGER) IS LIMITED PRIVATE;
132 TYPE NT IS NEW ENUM;
133 TYPE ARR_T IS ARRAY(1..2) OF BOOLEAN;
134 TYPE ACC_T IS ACCESS CHARACTER;
135 TYPE REC_T IS RECORD T : BOOLEAN; END RECORD;
136 TYPE D_REC_T(I : INTEGER := 1) IS
137 RECORD T : ENUM; END RECORD;
138 PRIVATE
139 TYPE TY(B : BOOLEAN) IS
140 RECORD G : BOOLEAN; END RECORD;
141 TYPE TC IS NEW T0;
142 TYPE T1 IS RANGE 1..100;
143 TYPE T2 IS NEW CHARACTER RANGE 'A'..'Z';
144 TYPE T3 IS NEW NT;
145 TYPE T4 IS ARRAY(1..2) OF INTEGER;
146 TYPE T5 IS NEW ARR_T;
147 TYPE T6 IS ACCESS ENUM;
148 TYPE T7 IS NEW ACC_T;
149 TYPE T8 IS RECORD T : CHARACTER; END RECORD;
150 TYPE T9 IS NEW REC_T;
151 TYPE TA IS ACCESS TD;
152 TYPE TB IS ACCESS D_REC_T;
153 TYPE TD(I : INTEGER) IS
154 RECORD G : BOOLEAN; END RECORD;
156 END P1;
158 BEGIN
160 NULL;
162 END;
165 RESULT;
168 END A74106A;