Remove old autovect-branch by moving to "dead" directory.
[official-gcc.git] / old-autovect-branch / gcc / testsuite / ada / acats / tests / c3 / c32113a.ada
blob60f8d6690cd7131b9ed01cc541aec43fe71dc885
1 -- C32113A.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 A VARIABLE OR CONSTANT HAVING A CONSTRAINED TYPE
27 -- WITH DISCRIMINANTS IS DECLARED WITH AN INITIAL VALUE,
28 -- CONSTRAINT_ERROR IS RAISED IF THE CORRESPONDING DISCRIMINANTS OF
29 -- THE INITIAL VALUE AND THE SUBTYPE DO NOT HAVE THE SAME VALUE.
31 -- HISTORY:
32 -- RJW 07/20/86
33 -- DWC 06/22/87 ADDED SUBTYPE PRIVAS. ADDED CODE TO PREVENT DEAD
34 -- VARIABLE OPTIMIZATION.
36 WITH REPORT; USE REPORT;
38 PROCEDURE C32113A IS
40 PACKAGE PKG IS
41 TYPE PRIVA (D : INTEGER := 0) IS PRIVATE;
42 SUBTYPE PRIVAS IS PRIVA (IDENT_INT (1));
43 PRA1 : CONSTANT PRIVAS;
45 TYPE PRIVB (D1, D2 : INTEGER) IS PRIVATE;
46 PRB12 : CONSTANT PRIVB;
48 PRIVATE
49 TYPE PRIVA (D : INTEGER := 0) IS
50 RECORD
51 NULL;
52 END RECORD;
54 TYPE PRIVB (D1, D2 : INTEGER) IS
55 RECORD
56 NULL;
57 END RECORD;
59 PRA1 : CONSTANT PRIVAS := (D => (IDENT_INT (1)));
60 PRB12 : CONSTANT PRIVB := (IDENT_INT (1), IDENT_INT (2));
61 END PKG;
63 USE PKG;
65 TYPE RECA (D : INTEGER := 0) IS
66 RECORD
67 NULL;
68 END RECORD;
70 TYPE RECB (D1, D2 : INTEGER) IS
71 RECORD
72 NULL;
73 END RECORD;
75 RA1 : CONSTANT RECA (IDENT_INT (1)) := (D => (IDENT_INT (1)));
77 RB12 : CONSTANT RECB := (IDENT_INT (1), IDENT_INT (2));
79 BEGIN
80 TEST ("C32113A", "CHECK THAT WHEN A VARIABLE OR CONSTANT " &
81 "HAVING A CONSTRAINED TYPE IS DECLARED WITH " &
82 "AN INITIAL VALUE, CONSTRAINT_ERROR IS " &
83 "RAISED IF THE CORRESPONDING DISCRIMINANTS " &
84 "OF THE INITIAL VALUE AND THE SUBTYPE DO " &
85 "NOT HAVE THE SAME VALUE" );
87 BEGIN
88 DECLARE
89 PR1 : CONSTANT PRIVA (IDENT_INT (0)) := PRA1;
90 BEGIN
91 FAILED ( "NO EXCEPTION RAISED FOR INITIALIZATION " &
92 "OF CONSTANT 'PR1'" );
93 IF PR1 = PRA1 THEN
94 COMMENT ("PREVENTING DEAD VARIABLE OPTIMIZATION");
95 END IF;
96 END;
97 EXCEPTION
98 WHEN CONSTRAINT_ERROR =>
99 NULL;
100 WHEN OTHERS =>
101 FAILED ( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
102 "OF CONSTANT 'PR1'" );
103 END;
105 BEGIN
106 DECLARE
107 PR2 : CONSTANT PRIVA (IDENT_INT (2)) := PRA1;
108 BEGIN
109 FAILED ( "NO EXCEPTION RAISED FOR INITIALIZATION " &
110 "OF CONSTANT 'PR2'" );
111 IF PR2 = PRA1 THEN
112 COMMENT ("PREVENTING DEAD VARIABLE OPTIMIZATION");
113 END IF;
114 END;
115 EXCEPTION
116 WHEN CONSTRAINT_ERROR =>
117 NULL;
118 WHEN OTHERS =>
119 FAILED ( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
120 "OF CONSTANT 'PR2'" );
121 END;
123 BEGIN
124 DECLARE
125 PR3 : PRIVA (IDENT_INT (0)) := PRA1;
126 BEGIN
127 FAILED ( "NO EXCEPTION RAISED FOR INITIALIZATION " &
128 "OF VARIABLE 'PR3'" );
129 IF PR3 = PRA1 THEN
130 COMMENT ("PREVENTING DEAD VARIABLE OPTIMIZATION");
131 END IF;
132 END;
133 EXCEPTION
134 WHEN CONSTRAINT_ERROR =>
135 NULL;
136 WHEN OTHERS =>
137 FAILED ( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
138 "OF VARIABLE 'PR3'" );
139 END;
141 BEGIN
142 DECLARE
143 PR4 : PRIVA (IDENT_INT (2)) := PRA1;
144 BEGIN
145 FAILED ( "NO EXCEPTION RAISED FOR INITIALIZATION " &
146 "OF VARIABLE 'PR4'" );
147 IF PR4 = PRA1 THEN
148 COMMENT ("PREVENTING DEAD VARIABLE OPTIMIZATION");
149 END IF;
150 END;
151 EXCEPTION
152 WHEN CONSTRAINT_ERROR =>
153 NULL;
154 WHEN OTHERS =>
155 FAILED ( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
156 "OF VARIABLE 'PR4'" );
157 END;
159 BEGIN
160 DECLARE
161 SUBTYPE SPRIVA IS PRIVA (IDENT_INT (-1));
162 PR5 : CONSTANT SPRIVA := PRA1;
163 BEGIN
164 FAILED ( "NO EXCEPTION RAISED FOR INITIALIZATION " &
165 "OF CONSTANT 'PR5'" );
166 IF PR5 = PRA1 THEN
167 COMMENT ("PREVENTING DEAD VARIABLE OPTIMIZATION");
168 END IF;
169 END;
170 EXCEPTION
171 WHEN CONSTRAINT_ERROR =>
172 NULL;
173 WHEN OTHERS =>
174 FAILED ( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
175 "OF CONSTANT 'PR5'" );
176 END;
178 BEGIN
179 DECLARE
180 SUBTYPE SPRIVA IS PRIVA (IDENT_INT (3));
181 PR6 : SPRIVA := PRA1;
182 BEGIN
183 FAILED ( "NO EXCEPTION RAISED FOR INITIALIZATION " &
184 "OF VARIABLE 'PR6'" );
185 IF PR6 = PRA1 THEN
186 COMMENT ("PREVENTING DEAD VARIABLE OPTIMIZATION");
187 END IF;
188 END;
189 EXCEPTION
190 WHEN CONSTRAINT_ERROR =>
191 NULL;
192 WHEN OTHERS =>
193 FAILED ( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
194 "OF VARIABLE 'PR6'" );
195 END;
197 BEGIN
198 DECLARE
199 PR7 : CONSTANT PRIVB (IDENT_INT (1), IDENT_INT (1)) :=
200 PRB12;
201 BEGIN
202 FAILED ( "NO EXCEPTION RAISED FOR INITIALIZATION " &
203 "OF CONSTANT 'PR7'" );
204 IF PR7 = PRB12 THEN
205 COMMENT ("PREVENTING DEAD VARIABLE OPTIMIZATION");
206 END IF;
207 END;
208 EXCEPTION
209 WHEN CONSTRAINT_ERROR =>
210 NULL;
211 WHEN OTHERS =>
212 FAILED ( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
213 "OF CONSTANT 'PR7'" );
214 END;
216 BEGIN
217 DECLARE
218 PR8 : CONSTANT PRIVB (IDENT_INT (2), IDENT_INT (2)) :=
219 PRB12;
220 BEGIN
221 FAILED ( "NO EXCEPTION RAISED FOR INITIALIZATION " &
222 "OF CONSTANT 'PR8'" );
223 IF PR8 = PRB12 THEN
224 COMMENT ("PREVENTING DEAD VARIABLE OPTIMIZATION");
225 END IF;
226 END;
227 EXCEPTION
228 WHEN CONSTRAINT_ERROR =>
229 NULL;
230 WHEN OTHERS =>
231 FAILED ( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
232 "OF CONSTANT 'PR8'" );
233 END;
235 BEGIN
236 DECLARE
237 PR9 : PRIVB (IDENT_INT (1), IDENT_INT (1)) := PRB12;
238 BEGIN
239 FAILED ( "NO EXCEPTION RAISED FOR INITIALIZATION " &
240 "OF VARIABLE 'PR9'" );
241 IF PR9 = PRB12 THEN
242 COMMENT ("PREVENTING DEAD VARIABLE OPTIMIZATION");
243 END IF;
244 END;
245 EXCEPTION
246 WHEN CONSTRAINT_ERROR =>
247 NULL;
248 WHEN OTHERS =>
249 FAILED ( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
250 "OF VARIABLE 'PR9'" );
251 END;
253 BEGIN
254 DECLARE
255 PR10 : PRIVB (IDENT_INT (2), IDENT_INT (2)) := PRB12;
256 BEGIN
257 FAILED ( "NO EXCEPTION RAISED FOR INITIALIZATION " &
258 "OF VARIABLE 'PR10'" );
259 IF PR10 = PRB12 THEN
260 COMMENT ("PREVENTING DEAD VARIABLE OPTIMIZATION");
261 END IF;
262 END;
263 EXCEPTION
264 WHEN CONSTRAINT_ERROR =>
265 NULL;
266 WHEN OTHERS =>
267 FAILED ( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
268 "OF VARIABLE 'PR10'" );
269 END;
271 BEGIN
272 DECLARE
273 SUBTYPE SPRIVB IS
274 PRIVB (IDENT_INT (-1), IDENT_INT (-2));
275 PR11 : CONSTANT SPRIVB := PRB12;
276 BEGIN
277 FAILED ( "NO EXCEPTION RAISED FOR INITIALIZATION " &
278 "OF CONSTANT 'PR11'" );
279 IF PR11 = PRB12 THEN
280 COMMENT ("PREVENTING DEAD VARIABLE OPTIMIZATION");
281 END IF;
282 END;
283 EXCEPTION
284 WHEN CONSTRAINT_ERROR =>
285 NULL;
286 WHEN OTHERS =>
287 FAILED ( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
288 "OF CONSTANT 'PR11'" );
289 END;
291 BEGIN
292 DECLARE
293 SUBTYPE SPRIVB IS PRIVB (IDENT_INT (2), IDENT_INT (1));
294 PR12 : SPRIVB := PRB12;
295 BEGIN
296 FAILED ( "NO EXCEPTION RAISED FOR INITIALIZATION " &
297 "OF VARIABLE 'PR12'" );
298 IF PR12 = PRB12 THEN
299 COMMENT ("PREVENTING DEAD VARIABLE OPTIMIZATION");
300 END IF;
301 END;
302 EXCEPTION
303 WHEN CONSTRAINT_ERROR =>
304 NULL;
305 WHEN OTHERS =>
306 FAILED ( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
307 "OF VARIABLE 'PR12'" );
308 END;
310 BEGIN
311 DECLARE
312 R1 : CONSTANT RECA (IDENT_INT (0)) := RA1;
313 BEGIN
314 FAILED ( "NO EXCEPTION RAISED FOR INITIALIZATION " &
315 "OF CONSTANT 'R1'" );
316 IF R1 = RA1 THEN
317 COMMENT ("PREVENTING DEAD VARIABLE OPTIMIZATION");
318 END IF;
319 END;
320 EXCEPTION
321 WHEN CONSTRAINT_ERROR =>
322 NULL;
323 WHEN OTHERS =>
324 FAILED ( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
325 "OF CONSTANT 'R1'" );
326 END;
328 BEGIN
329 DECLARE
330 R2 : CONSTANT RECA (IDENT_INT (2)) := RA1;
331 BEGIN
332 FAILED ( "NO EXCEPTION RAISED FOR INITIALIZATION " &
333 "OF CONSTANT 'R2'" );
334 IF R2 = RA1 THEN
335 COMMENT ("PREVENTING DEAD VARIABLE OPTIMIZATION");
336 END IF;
337 END;
338 EXCEPTION
339 WHEN CONSTRAINT_ERROR =>
340 NULL;
341 WHEN OTHERS =>
342 FAILED ( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
343 "OF CONSTANT 'R2'" );
344 END;
346 BEGIN
347 DECLARE
348 R3 : RECA (IDENT_INT (0)) := RA1;
349 BEGIN
350 FAILED ( "NO EXCEPTION RAISED FOR INITIALIZATION " &
351 "OF VARIABLE 'R3'" );
352 IF R3 = RA1 THEN
353 COMMENT ("PREVENTING DEAD VARIABLE OPTIMIZATION");
354 END IF;
355 END;
356 EXCEPTION
357 WHEN CONSTRAINT_ERROR =>
358 NULL;
359 WHEN OTHERS =>
360 FAILED ( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
361 "OF VARIABLE 'R3'" );
362 END;
364 BEGIN
365 DECLARE
366 R4 : RECA (IDENT_INT (2)) := RA1;
367 BEGIN
368 FAILED ( "NO EXCEPTION RAISED FOR INITIALIZATION " &
369 "OF VARIABLE 'R4'" );
370 IF R4 = RA1 THEN
371 COMMENT ("PREVENTING DEAD VARIABLE OPTIMIZATION");
372 END IF;
373 END;
374 EXCEPTION
375 WHEN CONSTRAINT_ERROR =>
376 NULL;
377 WHEN OTHERS =>
378 FAILED ( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
379 "OF VARIABLE 'R4'" );
380 END;
382 BEGIN
383 DECLARE
384 SUBTYPE SRECA IS RECA (IDENT_INT (-1));
385 R5 : CONSTANT SRECA := RA1;
386 BEGIN
387 FAILED ( "NO EXCEPTION RAISED FOR INITIALIZATION " &
388 "OF CONSTANT 'R5'" );
389 IF R5 = RA1 THEN
390 COMMENT ("PREVENTING DEAD VARIABLE OPTIMIZATION");
391 END IF;
392 END;
393 EXCEPTION
394 WHEN CONSTRAINT_ERROR =>
395 NULL;
396 WHEN OTHERS =>
397 FAILED ( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
398 "OF CONSTANT 'R5'" );
399 END;
401 BEGIN
402 DECLARE
403 SUBTYPE SRECA IS RECA (IDENT_INT (3));
404 R6 : SRECA := RA1;
405 BEGIN
406 FAILED ( "NO EXCEPTION RAISED FOR INITIALIZATION " &
407 "OF VARIABLE 'R6'" );
408 IF R6 = RA1 THEN
409 COMMENT ("PREVENTING DEAD VARIABLE OPTIMIZATION");
410 END IF;
411 END;
412 EXCEPTION
413 WHEN CONSTRAINT_ERROR =>
414 NULL;
415 WHEN OTHERS =>
416 FAILED ( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
417 "OF VARIABLE 'R6'" );
418 END;
420 BEGIN
421 DECLARE
422 R7 : CONSTANT RECB (IDENT_INT (1), IDENT_INT (1)) :=
423 RB12;
424 BEGIN
425 FAILED ( "NO EXCEPTION RAISED FOR INITIALIZATION " &
426 "OF CONSTANT 'R7'" );
427 IF R7 = RB12 THEN
428 COMMENT ("PREVENTING DEAD VARIABLE OPTIMIZATION");
429 END IF;
430 END;
431 EXCEPTION
432 WHEN CONSTRAINT_ERROR =>
433 NULL;
434 WHEN OTHERS =>
435 FAILED ( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
436 "OF CONSTANT 'R7'" );
437 END;
439 BEGIN
440 DECLARE
441 R8 : CONSTANT RECB (IDENT_INT (2), IDENT_INT (2)) :=
442 RB12;
443 BEGIN
444 FAILED ( "NO EXCEPTION RAISED FOR INITIALIZATION " &
445 "OF CONSTANT 'R8'" );
446 IF R8 = RB12 THEN
447 COMMENT ("PREVENTING DEAD VARIABLE OPTIMIZATION");
448 END IF;
449 END;
450 EXCEPTION
451 WHEN CONSTRAINT_ERROR =>
452 NULL;
453 WHEN OTHERS =>
454 FAILED ( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
455 "OF CONSTANT 'R8'" );
456 END;
458 BEGIN
459 DECLARE
460 R9 : RECB (IDENT_INT (1), IDENT_INT (1)) := RB12;
461 BEGIN
462 FAILED ( "NO EXCEPTION RAISED FOR INITIALIZATION " &
463 "OF VARIABLE 'R9'" );
464 IF R9 = RB12 THEN
465 COMMENT ("PREVENTING DEAD VARIABLE OPTIMIZATION");
466 END IF;
467 END;
468 EXCEPTION
469 WHEN CONSTRAINT_ERROR =>
470 NULL;
471 WHEN OTHERS =>
472 FAILED ( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
473 "OF VARIABLE 'R9'" );
474 END;
476 BEGIN
477 DECLARE
478 R10 : RECB (IDENT_INT (2), IDENT_INT (2)) := RB12;
479 BEGIN
480 FAILED ( "NO EXCEPTION RAISED FOR INITIALIZATION " &
481 "OF VARIABLE 'R10'" );
482 IF R10 = RB12 THEN
483 COMMENT ("PREVENTING DEAD VARIABLE OPTIMIZATION");
484 END IF;
485 END;
486 EXCEPTION
487 WHEN CONSTRAINT_ERROR =>
488 NULL;
489 WHEN OTHERS =>
490 FAILED ( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
491 "OF VARIABLE 'R10'" );
492 END;
494 BEGIN
495 DECLARE
496 SUBTYPE SRECB IS
497 RECB (IDENT_INT (-1), IDENT_INT (-2));
498 R11 : CONSTANT SRECB := RB12;
499 BEGIN
500 FAILED ( "NO EXCEPTION RAISED FOR INITIALIZATION " &
501 "OF CONSTANT 'R11'" );
502 IF R11 = RB12 THEN
503 COMMENT ("PREVENTING DEAD VARIABLE OPTIMIZATION");
504 END IF;
505 END;
506 EXCEPTION
507 WHEN CONSTRAINT_ERROR =>
508 NULL;
509 WHEN OTHERS =>
510 FAILED ( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
511 "OF CONSTANT 'R11'" );
512 END;
514 BEGIN
515 DECLARE
516 SUBTYPE SRECB IS RECB (IDENT_INT (2), IDENT_INT (1));
517 R12 : SRECB := RB12;
518 BEGIN
519 FAILED ( "NO EXCEPTION RAISED FOR INITIALIZATION " &
520 "OF VARIABLE 'R12'" );
521 IF R12 = RB12 THEN
522 COMMENT ("PREVENTING DEAD VARIABLE OPTIMIZATION");
523 END IF;
524 END;
525 EXCEPTION
526 WHEN CONSTRAINT_ERROR =>
527 NULL;
528 WHEN OTHERS =>
529 FAILED ( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
530 "OF VARIABLE 'R12'" );
531 END;
533 RESULT;
534 END C32113A;