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.
25 -- CHECK THAT LOOPS MAY BE SPECIFIED FOR BOOLEAN, INTEGER,
26 -- CHARACTER, ENUMERATION, AND DERIVED TYPES, INCLUDING
27 -- TYPES DERIVED FROM DERIVED TYPES. DERIVED BOOLEAN IS NOT
28 -- TESTED IN THIS TEST.
34 -- PWN 01/31/95 REMOVED INCONSISTENCIES WITH ADA 9X.
36 WITH REPORT
; USE REPORT
;
40 TYPE ENUM
IS ('A', 'B', 'D', 'C', Z
, X
, D
, A
, C
);
42 TYPE D1
IS NEW CHARACTER RANGE 'A' .. 'Z';
43 TYPE D2
IS NEW INTEGER;
49 ONE
: INTEGER := IDENT_INT
(1);
51 OLDCOUNT
: INTEGER := 0;
59 TEST
("C55B06A", "TEST LOOPS FOR ALL DISCRETE TYPES");
64 IF OLDCOUNT
+ IDENT_INT
(2) /= COUNT
THEN
69 FOR I
IN FALSE .. TRUE LOOP
72 IF OLDCOUNT
+ IDENT_INT
(2) /= COUNT
THEN
77 FOR I
IN BOOLEAN RANGE FALSE .. TRUE LOOP
80 IF OLDCOUNT
+ IDENT_INT
(2) /= COUNT
THEN
87 EXIT WHEN I
= INTEGER'FIRST + 2;
89 IF OLDCOUNT
+ IDENT_INT
(3) /= COUNT
THEN
94 FOR I
IN 3 .. IDENT_INT
(5) LOOP
97 IF OLDCOUNT
+ IDENT_INT
(3) /= COUNT
THEN
102 FOR I
IN INTEGER RANGE -2 .. -1 LOOP
105 IF OLDCOUNT
+ IDENT_INT
(2) /= COUNT
THEN
110 FOR I
IN INTEGER RANGE INTEGER'FIRST .. INTEGER'FIRST + 1 LOOP
113 IF OLDCOUNT
+ IDENT_INT
(2) /= COUNT
THEN
118 FOR I
IN 'A' .. CHARACTER'('Z
') LOOP
121 IF OLDCOUNT + IDENT_INT(26) /= COUNT THEN
126 FOR I IN CHARACTER RANGE 'A
' .. 'D
' LOOP
129 IF OLDCOUNT + IDENT_INT(4) /= COUNT THEN
137 IF OLDCOUNT + IDENT_INT(9) /= COUNT THEN
142 FOR I IN ENUM RANGE D .. C LOOP
145 IF OLDCOUNT + IDENT_INT(3) /= COUNT THEN
150 FOR I IN 'A
' .. ENUM'(Z
) LOOP
153 IF OLDCOUNT
+ IDENT_INT
(5) /= COUNT
THEN
161 IF OLDCOUNT
+ IDENT_INT
(26) /= COUNT
THEN
166 FOR I
IN D1
RANGE 'A' .. 'Z' LOOP
169 IF OLDCOUNT
+ IDENT_INT
(26) /= COUNT
THEN
174 FOR I
IN D1
'('A
') .. 'D
' LOOP
177 IF OLDCOUNT + IDENT_INT(4) /= COUNT THEN
184 IF I > D2'FIRST + 3 THEN
188 IF OLDCOUNT + IDENT_INT(5) /= COUNT THEN
193 FOR I IN D2 RANGE -100 .. -99 LOOP
196 IF OLDCOUNT + IDENT_INT(2) /= COUNT THEN
201 FOR I IN D2'(1) .. 2 LOOP
204 IF OLDCOUNT
+ IDENT_INT
(2) /= COUNT
THEN
210 IF I
IN 'A' .. 'C' THEN
216 IF OLDCOUNT
+ IDENT_INT
(14) /= COUNT
THEN
221 FOR I
IN D3
RANGE 'A' .. Z
LOOP
224 IF OLDCOUNT
+ IDENT_INT
(5) /= COUNT
THEN
229 FOR I
IN 'A' .. D3
'(Z) LOOP
232 IF OLDCOUNT + IDENT_INT(5) /= COUNT THEN
240 IF OLDCOUNT + IDENT_INT(26) /= COUNT THEN
245 FOR I IN D4'('A') .. 'Z' LOOP
248 IF OLDCOUNT
+ IDENT_INT
(26) /= COUNT
THEN
253 FOR I
IN D4
RANGE 'B' .. 'D' LOOP
256 IF OLDCOUNT
+ IDENT_INT
(3) /= COUNT
THEN
263 EXIT WHEN J
= D5
(INTEGER'FIRST) + 3;
266 IF OLDCOUNT
+ IDENT_INT
(7) /= COUNT
THEN
271 FOR J
IN D5
RANGE -2 .. -1 LOOP
274 IF OLDCOUNT
+ IDENT_INT
(2) /= COUNT
THEN
279 FOR J
IN D5
'(-10) .. D5'(-6) LOOP
282 IF OLDCOUNT
+ IDENT_INT
(5) /= COUNT
THEN
290 IF OLDCOUNT
+ IDENT_INT
(9) /= COUNT
THEN
295 FOR J
IN D6
RANGE Z
.. A
LOOP
298 IF OLDCOUNT
+ IDENT_INT
(4) /= COUNT
THEN
303 FOR J
IN D6
'('D
') .. D LOOP
306 IF OLDCOUNT + IDENT_INT(5) /= COUNT THEN