3 -- Grant of Unlimited Rights
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
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.
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.
33 -- DWC 06/22/87 ADDED SUBTYPE PRIVAS. ADDED CODE TO PREVENT DEAD
34 -- VARIABLE OPTIMIZATION.
36 WITH REPORT
; USE REPORT
;
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
;
49 TYPE PRIVA
(D
: INTEGER := 0) IS
54 TYPE PRIVB
(D1
, D2
: INTEGER) IS
59 PRA1
: CONSTANT PRIVAS
:= (D
=> (IDENT_INT
(1)));
60 PRB12
: CONSTANT PRIVB
:= (IDENT_INT
(1), IDENT_INT
(2));
65 TYPE RECA
(D
: INTEGER := 0) IS
70 TYPE RECB
(D1
, D2
: INTEGER) IS
75 RA1
: CONSTANT RECA
(IDENT_INT
(1)) := (D
=> (IDENT_INT
(1)));
77 RB12
: CONSTANT RECB
:= (IDENT_INT
(1), IDENT_INT
(2));
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" );
89 PR1
: CONSTANT PRIVA
(IDENT_INT
(0)) := PRA1
;
91 FAILED
( "NO EXCEPTION RAISED FOR INITIALIZATION " &
92 "OF CONSTANT 'PR1'" );
94 COMMENT
("PREVENTING DEAD VARIABLE OPTIMIZATION");
98 WHEN CONSTRAINT_ERROR
=>
101 FAILED
( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
102 "OF CONSTANT 'PR1'" );
107 PR2
: CONSTANT PRIVA
(IDENT_INT
(2)) := PRA1
;
109 FAILED
( "NO EXCEPTION RAISED FOR INITIALIZATION " &
110 "OF CONSTANT 'PR2'" );
112 COMMENT
("PREVENTING DEAD VARIABLE OPTIMIZATION");
116 WHEN CONSTRAINT_ERROR
=>
119 FAILED
( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
120 "OF CONSTANT 'PR2'" );
125 PR3
: PRIVA
(IDENT_INT
(0)) := PRA1
;
127 FAILED
( "NO EXCEPTION RAISED FOR INITIALIZATION " &
128 "OF VARIABLE 'PR3'" );
130 COMMENT
("PREVENTING DEAD VARIABLE OPTIMIZATION");
134 WHEN CONSTRAINT_ERROR
=>
137 FAILED
( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
138 "OF VARIABLE 'PR3'" );
143 PR4
: PRIVA
(IDENT_INT
(2)) := PRA1
;
145 FAILED
( "NO EXCEPTION RAISED FOR INITIALIZATION " &
146 "OF VARIABLE 'PR4'" );
148 COMMENT
("PREVENTING DEAD VARIABLE OPTIMIZATION");
152 WHEN CONSTRAINT_ERROR
=>
155 FAILED
( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
156 "OF VARIABLE 'PR4'" );
161 SUBTYPE SPRIVA
IS PRIVA
(IDENT_INT
(-1));
162 PR5
: CONSTANT SPRIVA
:= PRA1
;
164 FAILED
( "NO EXCEPTION RAISED FOR INITIALIZATION " &
165 "OF CONSTANT 'PR5'" );
167 COMMENT
("PREVENTING DEAD VARIABLE OPTIMIZATION");
171 WHEN CONSTRAINT_ERROR
=>
174 FAILED
( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
175 "OF CONSTANT 'PR5'" );
180 SUBTYPE SPRIVA
IS PRIVA
(IDENT_INT
(3));
181 PR6
: SPRIVA
:= PRA1
;
183 FAILED
( "NO EXCEPTION RAISED FOR INITIALIZATION " &
184 "OF VARIABLE 'PR6'" );
186 COMMENT
("PREVENTING DEAD VARIABLE OPTIMIZATION");
190 WHEN CONSTRAINT_ERROR
=>
193 FAILED
( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
194 "OF VARIABLE 'PR6'" );
199 PR7
: CONSTANT PRIVB
(IDENT_INT
(1), IDENT_INT
(1)) :=
202 FAILED
( "NO EXCEPTION RAISED FOR INITIALIZATION " &
203 "OF CONSTANT 'PR7'" );
205 COMMENT
("PREVENTING DEAD VARIABLE OPTIMIZATION");
209 WHEN CONSTRAINT_ERROR
=>
212 FAILED
( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
213 "OF CONSTANT 'PR7'" );
218 PR8
: CONSTANT PRIVB
(IDENT_INT
(2), IDENT_INT
(2)) :=
221 FAILED
( "NO EXCEPTION RAISED FOR INITIALIZATION " &
222 "OF CONSTANT 'PR8'" );
224 COMMENT
("PREVENTING DEAD VARIABLE OPTIMIZATION");
228 WHEN CONSTRAINT_ERROR
=>
231 FAILED
( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
232 "OF CONSTANT 'PR8'" );
237 PR9
: PRIVB
(IDENT_INT
(1), IDENT_INT
(1)) := PRB12
;
239 FAILED
( "NO EXCEPTION RAISED FOR INITIALIZATION " &
240 "OF VARIABLE 'PR9'" );
242 COMMENT
("PREVENTING DEAD VARIABLE OPTIMIZATION");
246 WHEN CONSTRAINT_ERROR
=>
249 FAILED
( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
250 "OF VARIABLE 'PR9'" );
255 PR10
: PRIVB
(IDENT_INT
(2), IDENT_INT
(2)) := PRB12
;
257 FAILED
( "NO EXCEPTION RAISED FOR INITIALIZATION " &
258 "OF VARIABLE 'PR10'" );
260 COMMENT
("PREVENTING DEAD VARIABLE OPTIMIZATION");
264 WHEN CONSTRAINT_ERROR
=>
267 FAILED
( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
268 "OF VARIABLE 'PR10'" );
274 PRIVB
(IDENT_INT
(-1), IDENT_INT
(-2));
275 PR11
: CONSTANT SPRIVB
:= PRB12
;
277 FAILED
( "NO EXCEPTION RAISED FOR INITIALIZATION " &
278 "OF CONSTANT 'PR11'" );
280 COMMENT
("PREVENTING DEAD VARIABLE OPTIMIZATION");
284 WHEN CONSTRAINT_ERROR
=>
287 FAILED
( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
288 "OF CONSTANT 'PR11'" );
293 SUBTYPE SPRIVB
IS PRIVB
(IDENT_INT
(2), IDENT_INT
(1));
294 PR12
: SPRIVB
:= PRB12
;
296 FAILED
( "NO EXCEPTION RAISED FOR INITIALIZATION " &
297 "OF VARIABLE 'PR12'" );
299 COMMENT
("PREVENTING DEAD VARIABLE OPTIMIZATION");
303 WHEN CONSTRAINT_ERROR
=>
306 FAILED
( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
307 "OF VARIABLE 'PR12'" );
312 R1
: CONSTANT RECA
(IDENT_INT
(0)) := RA1
;
314 FAILED
( "NO EXCEPTION RAISED FOR INITIALIZATION " &
315 "OF CONSTANT 'R1'" );
317 COMMENT
("PREVENTING DEAD VARIABLE OPTIMIZATION");
321 WHEN CONSTRAINT_ERROR
=>
324 FAILED
( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
325 "OF CONSTANT 'R1'" );
330 R2
: CONSTANT RECA
(IDENT_INT
(2)) := RA1
;
332 FAILED
( "NO EXCEPTION RAISED FOR INITIALIZATION " &
333 "OF CONSTANT 'R2'" );
335 COMMENT
("PREVENTING DEAD VARIABLE OPTIMIZATION");
339 WHEN CONSTRAINT_ERROR
=>
342 FAILED
( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
343 "OF CONSTANT 'R2'" );
348 R3
: RECA
(IDENT_INT
(0)) := RA1
;
350 FAILED
( "NO EXCEPTION RAISED FOR INITIALIZATION " &
351 "OF VARIABLE 'R3'" );
353 COMMENT
("PREVENTING DEAD VARIABLE OPTIMIZATION");
357 WHEN CONSTRAINT_ERROR
=>
360 FAILED
( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
361 "OF VARIABLE 'R3'" );
366 R4
: RECA
(IDENT_INT
(2)) := RA1
;
368 FAILED
( "NO EXCEPTION RAISED FOR INITIALIZATION " &
369 "OF VARIABLE 'R4'" );
371 COMMENT
("PREVENTING DEAD VARIABLE OPTIMIZATION");
375 WHEN CONSTRAINT_ERROR
=>
378 FAILED
( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
379 "OF VARIABLE 'R4'" );
384 SUBTYPE SRECA
IS RECA
(IDENT_INT
(-1));
385 R5
: CONSTANT SRECA
:= RA1
;
387 FAILED
( "NO EXCEPTION RAISED FOR INITIALIZATION " &
388 "OF CONSTANT 'R5'" );
390 COMMENT
("PREVENTING DEAD VARIABLE OPTIMIZATION");
394 WHEN CONSTRAINT_ERROR
=>
397 FAILED
( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
398 "OF CONSTANT 'R5'" );
403 SUBTYPE SRECA
IS RECA
(IDENT_INT
(3));
406 FAILED
( "NO EXCEPTION RAISED FOR INITIALIZATION " &
407 "OF VARIABLE 'R6'" );
409 COMMENT
("PREVENTING DEAD VARIABLE OPTIMIZATION");
413 WHEN CONSTRAINT_ERROR
=>
416 FAILED
( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
417 "OF VARIABLE 'R6'" );
422 R7
: CONSTANT RECB
(IDENT_INT
(1), IDENT_INT
(1)) :=
425 FAILED
( "NO EXCEPTION RAISED FOR INITIALIZATION " &
426 "OF CONSTANT 'R7'" );
428 COMMENT
("PREVENTING DEAD VARIABLE OPTIMIZATION");
432 WHEN CONSTRAINT_ERROR
=>
435 FAILED
( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
436 "OF CONSTANT 'R7'" );
441 R8
: CONSTANT RECB
(IDENT_INT
(2), IDENT_INT
(2)) :=
444 FAILED
( "NO EXCEPTION RAISED FOR INITIALIZATION " &
445 "OF CONSTANT 'R8'" );
447 COMMENT
("PREVENTING DEAD VARIABLE OPTIMIZATION");
451 WHEN CONSTRAINT_ERROR
=>
454 FAILED
( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
455 "OF CONSTANT 'R8'" );
460 R9
: RECB
(IDENT_INT
(1), IDENT_INT
(1)) := RB12
;
462 FAILED
( "NO EXCEPTION RAISED FOR INITIALIZATION " &
463 "OF VARIABLE 'R9'" );
465 COMMENT
("PREVENTING DEAD VARIABLE OPTIMIZATION");
469 WHEN CONSTRAINT_ERROR
=>
472 FAILED
( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
473 "OF VARIABLE 'R9'" );
478 R10
: RECB
(IDENT_INT
(2), IDENT_INT
(2)) := RB12
;
480 FAILED
( "NO EXCEPTION RAISED FOR INITIALIZATION " &
481 "OF VARIABLE 'R10'" );
483 COMMENT
("PREVENTING DEAD VARIABLE OPTIMIZATION");
487 WHEN CONSTRAINT_ERROR
=>
490 FAILED
( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
491 "OF VARIABLE 'R10'" );
497 RECB
(IDENT_INT
(-1), IDENT_INT
(-2));
498 R11
: CONSTANT SRECB
:= RB12
;
500 FAILED
( "NO EXCEPTION RAISED FOR INITIALIZATION " &
501 "OF CONSTANT 'R11'" );
503 COMMENT
("PREVENTING DEAD VARIABLE OPTIMIZATION");
507 WHEN CONSTRAINT_ERROR
=>
510 FAILED
( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
511 "OF CONSTANT 'R11'" );
516 SUBTYPE SRECB
IS RECB
(IDENT_INT
(2), IDENT_INT
(1));
519 FAILED
( "NO EXCEPTION RAISED FOR INITIALIZATION " &
520 "OF VARIABLE 'R12'" );
522 COMMENT
("PREVENTING DEAD VARIABLE OPTIMIZATION");
526 WHEN CONSTRAINT_ERROR
=>
529 FAILED
( "WRONG EXCEPTION RAISED FOR INITIALIZATION " &
530 "OF VARIABLE 'R12'" );