Remove old autovect-branch by moving to "dead" directory.
[official-gcc.git] / old-autovect-branch / gcc / testsuite / ada / acats / tests / c8 / c85018b.ada
blob44fbb5668b33d2dcfc77eea0e2f3c1f4bd659345
1 -- C85018B.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 -- OBJECTIVE:
26 -- CHECK THAT WHEN AN ENTRY FAMILY MEMBER IS RENAMED THE FORMAL
27 -- PARAMETER CONSTRAINTS FOR THE NEW NAME ARE IGNORED IN
28 -- FAVOR OF THE CONSTRAINTS ASSOCIATED WITH THE RENAMED ENTITY.
30 -- HISTORY:
31 -- RJW 06/03/86 CREATED ORIGINAL TEST.
32 -- DHH 10/15/87 CORRECTED RANGE ERRORS.
33 -- GJD 11/15/95 REMOVED ADA 95 INCOMPATIBILITY (INDEX CONSTRAINT).
34 -- PWN 10/24/96 RESTORED CHECKS WITH ADA 95 RESULTS NOW EXPECTED.
35 -- PWN 12/11/96 ADJUSTED VALUES FOR ADA 95 COMPATIBILITY.
36 -- PWB.CTA 2/17/97 CHANGED CALL TO ENT2 TO NOT EXPECT EXCEPTION
38 WITH REPORT; USE REPORT;
40 PROCEDURE C85018B IS
42 BEGIN
44 TEST( "C85018B", "CHECK THAT WHEN AN ENTRY FAMILY MEMBER IS " &
45 "RENAMED THE FORMAL PARAMETER CONSTRAINTS " &
46 "FOR THE NEW NAME ARE IGNORED IN FAVOR OF " &
47 "THE CONSTRAINTS ASSOCIATED WITH THE RENAMED " &
48 "ENTITY" );
50 DECLARE
51 TYPE INT IS RANGE 1 .. 10;
52 SUBTYPE INT1 IS INT RANGE 1 .. 5;
53 SUBTYPE INT2 IS INT RANGE 6 .. 10;
55 OBJ1 : INT1 := 5;
56 OBJ2 : INT2 := 6;
58 SUBTYPE SHORTCHAR IS CHARACTER RANGE 'A' .. 'C';
60 TASK T IS
61 ENTRY ENT1 (SHORTCHAR)
62 (A : INT1; OK : BOOLEAN);
63 END T;
65 PROCEDURE ENT2 (A : INT2; OK : BOOLEAN)
66 RENAMES T.ENT1 ('C');
68 TASK BODY T IS
69 BEGIN
70 LOOP
71 SELECT
72 ACCEPT ENT1 ('C')
73 (A : INT1; OK : BOOLEAN) DO
74 IF NOT OK THEN
75 FAILED ( "WRONG CALL EXECUTED " &
76 "WITH INTEGER TYPE" );
77 END IF;
78 END;
80 TERMINATE;
81 END SELECT;
82 END LOOP;
83 END T;
84 BEGIN
85 BEGIN
86 ENT2 (OBJ1, TRUE);
87 EXCEPTION
88 WHEN CONSTRAINT_ERROR =>
89 FAILED ( "CONSTRAINT_ERROR RAISED WITH " &
90 "INTEGER TYPE" );
91 WHEN OTHERS =>
92 FAILED ( "OTHER EXCEPTION RAISED WITH " &
93 "INTEGER TYPE - 1" );
94 END;
96 BEGIN
97 ENT2 (OBJ2, TRUE);
98 EXCEPTION
99 WHEN CONSTRAINT_ERROR =>
100 NULL;
101 WHEN OTHERS =>
102 FAILED ( "OTHER EXCEPTION RAISED WITH " &
103 "INTEGER TYPE - 2" );
104 END;
105 END;
107 DECLARE
108 TYPE REAL IS DIGITS 3;
109 SUBTYPE REAL1 IS REAL RANGE -2.0 .. 0.0;
110 SUBTYPE REAL2 IS REAL RANGE 0.0 .. 2.0;
112 OBJ1 : REAL1 := -0.25;
113 OBJ2 : REAL2 := 0.25;
115 SUBTYPE SHORTINT IS INTEGER RANGE 9 .. 11;
117 TASK T IS
118 ENTRY ENT1 (SHORTINT)
119 (A : REAL1; OK : BOOLEAN);
120 END T;
122 PROCEDURE ENT2 (A : REAL2; OK : BOOLEAN)
123 RENAMES T.ENT1 (10);
125 TASK BODY T IS
126 BEGIN
127 LOOP
128 SELECT
129 ACCEPT ENT1 (10)
130 (A : REAL1; OK : BOOLEAN) DO
131 IF NOT OK THEN
132 FAILED ( "WRONG CALL EXECUTED " &
133 "WITH FLOATING POINT " &
134 "TYPE" );
135 END IF;
136 END;
138 TERMINATE;
139 END SELECT;
140 END LOOP;
141 END T;
142 BEGIN
143 BEGIN
144 ENT2 (OBJ1, TRUE);
145 EXCEPTION
146 WHEN CONSTRAINT_ERROR =>
147 FAILED ( "CONSTRAINT_ERROR RAISED WITH " &
148 "FLOATING POINT " &
149 "TYPE" );
150 WHEN OTHERS =>
151 FAILED ( "OTHER EXCEPTION RAISED WITH " &
152 "FLOATING POINT " &
153 "TYPE - 1" );
154 END;
156 BEGIN
157 ENT2 (OBJ2, FALSE);
158 EXCEPTION
159 WHEN CONSTRAINT_ERROR =>
160 NULL;
161 WHEN OTHERS =>
162 FAILED ( "OTHER EXCEPTION RAISED WITH " &
163 "FLOATING POINT " &
164 "TYPE - 2" );
165 END;
166 END;
168 DECLARE
169 TYPE COLOR IS (RED, YELLOW, BLUE, GREEN);
171 TYPE FIXED IS DELTA 0.125 RANGE -1.0 .. 1.0;
172 SUBTYPE FIXED1 IS FIXED RANGE 0.0 .. 0.5;
173 SUBTYPE FIXED2 IS FIXED RANGE -0.5 .. 0.0;
175 OBJ1 : FIXED1 := 0.125;
176 OBJ2 : FIXED2 := -0.125;
178 TASK T IS
179 ENTRY ENT1 (COLOR)
180 (A : FIXED1; OK : BOOLEAN);
181 END T;
183 PROCEDURE ENT2 (A : FIXED2; OK : BOOLEAN)
184 RENAMES T.ENT1 (BLUE);
186 TASK BODY T IS
187 BEGIN
188 LOOP
189 SELECT
190 ACCEPT ENT1 (BLUE)
191 (A : FIXED1; OK : BOOLEAN) DO
192 IF NOT OK THEN
193 FAILED ( "WRONG CALL EXECUTED " &
194 "WITH FIXED POINT " &
195 "TYPE" );
196 END IF;
197 END;
199 TERMINATE;
200 END SELECT;
201 END LOOP;
202 END T;
203 BEGIN
204 BEGIN
205 ENT2 (OBJ1, TRUE);
206 EXCEPTION
207 WHEN CONSTRAINT_ERROR =>
208 FAILED ( "CONSTRAINT_ERROR RAISED WITH " &
209 "FIXED POINT " &
210 "TYPE" );
211 WHEN OTHERS =>
212 FAILED ( "OTHER EXCEPTION RAISED WITH " &
213 "FIXED POINT " &
214 "TYPE - 1" );
215 END;
217 BEGIN
218 ENT2 (OBJ2, FALSE);
219 EXCEPTION
220 WHEN CONSTRAINT_ERROR =>
221 NULL;
222 WHEN OTHERS =>
223 FAILED ( "OTHER EXCEPTION RAISED WITH " &
224 "FIXED POINT " &
225 "TYPE - 2" );
226 END;
227 END;
229 DECLARE
230 TYPE TA IS ARRAY (INTEGER RANGE <>) OF INTEGER;
231 SUBTYPE STA1 IS TA(1 .. 5);
232 SUBTYPE STA2 IS TA(6 .. 10);
234 OBJ1 : STA1 := (1, 2, 3, 4, 5);
235 OBJ2 : STA2 := (6, 7, 8, 9, 10);
237 TASK T IS
238 ENTRY ENT1 (BOOLEAN)
239 (A : STA1; OK : BOOLEAN);
240 END T;
242 PROCEDURE ENT2 (A : STA2; OK : BOOLEAN)
243 RENAMES T.ENT1 (FALSE);
245 TASK BODY T IS
246 BEGIN
247 LOOP
248 SELECT
249 ACCEPT ENT1 (FALSE)
250 (A : STA1; OK : BOOLEAN) DO
251 IF NOT OK THEN
252 FAILED ( "WRONG CALL EXECUTED " &
253 "WITH CONSTRAINED " &
254 "ARRAY" );
255 END IF;
256 END;
258 TERMINATE;
259 END SELECT;
260 END LOOP;
261 END T;
262 BEGIN
263 BEGIN
264 ENT2 (OBJ1, TRUE);
265 EXCEPTION
266 WHEN CONSTRAINT_ERROR =>
267 FAILED ( "CONSTRAINT_ERROR RAISED WITH " &
268 "CONSTRAINED ARRAY" );
269 WHEN OTHERS =>
270 FAILED ( "OTHER EXCEPTION RAISED WITH " &
271 "CONSTRAINED ARRAY - 1" );
272 END;
274 BEGIN
275 ENT2 (OBJ2, TRUE);
276 EXCEPTION
277 WHEN CONSTRAINT_ERROR =>
278 FAILED ( "CONSTRAINT_ERROR RAISED WITH " &
279 "CONSTRAINED ARRAY" );
280 WHEN OTHERS =>
281 FAILED ( "OTHER EXCEPTION RAISED WITH " &
282 "CONSTRAINED ARRAY - 2" );
283 END;
284 END;
286 RESULT;
288 END C85018B;