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 IF A DISCRETE_RANGE OF THE FORM 'ST RANGE L..R'
26 -- RAISES AN EXCEPTION BECAUSE L OR R IS A NON-STATIC
27 -- EXPRESSION WHOSE VALUE IS OUTSIDE THE RANGE OF VALUES
28 -- ASSOCIATED WITH ST (OR BECAUSE ST'FIRST IS NON-STATIC
29 -- AND L IS STATIC AND LESS THAN ST'FIRST ; SIMILARLY FOR
30 -- ST'LAST AND R ), CONTROL DOES NOT ENTER THE LOOP.
32 -- *** NOTE: This test has been modified since ACVC version 1.11 to -- 9X
33 -- *** remove incompatibilities associated with the transition -- 9X
34 -- *** to Ada 9X. -- 9X
40 -- EG 10/28/85 FIX NUMERIC_ERROR/CONSTRAINT_ERROR ACCORDING TO
42 -- MRM 03/30/93 REMOVED NUMERIC_ERROR FOR 9X COMPATIBILITY
43 -- GJD 11/15/95 REMOVED CASE OF POTENTIALLY STATICALLY INCOMPATIBLE RANGE.
53 TEST
( "C55B15A" , "WHEN 'FOR I IN ST RANGE L..R LOOP' " &
54 "RAISES AN EXCEPTION, CONTROL DOES NOT ENTER " &
55 "THE BODY OF THE LOOP" );
57 -------------------------------------------------------------------
58 ----------------- STATIC (SUB)TYPE, DYNAMIC RANGE -----------------
62 SUBTYPE ST
IS INTEGER RANGE 1..4 ;
64 FIRST
: CONSTANT INTEGER := IDENT_INT
( 1) ;
65 SECOND
: CONSTANT INTEGER := IDENT_INT
( 2) ;
66 THIRD
: CONSTANT INTEGER := IDENT_INT
( 3) ;
67 FOURTH
: CONSTANT INTEGER := IDENT_INT
( 4) ;
68 FIFTH
: CONSTANT INTEGER := IDENT_INT
( 5) ;
69 TENTH
: CONSTANT INTEGER := IDENT_INT
(10) ;
70 ZEROTH
: CONSTANT INTEGER := IDENT_INT
( 0) ;
76 FOR I
IN ST
RANGE 3..TENTH
LOOP
77 FAILED
( "EXCEPTION NOT RAISED (I1)" );
82 WHEN CONSTRAINT_ERROR
=> NULL ;
84 FAILED
( "WRONG EXCEPTION RAISED (I1)" );
91 FOR I
IN ST
RANGE 0..THIRD
LOOP
92 FAILED
( "EXCEPTION NOT RAISED (I2)" );
97 WHEN CONSTRAINT_ERROR
=> NULL ;
99 FAILED
( "WRONG EXCEPTION RAISED (I2)" );
105 -------------------------------------------------------------------
106 ----------------- DYNAMIC (SUB)TYPE, STATIC RANGE -----------------
110 TYPE ENUM
IS ( AMINUS
, A
,B
,C
,D
,E
, F
,G
,H
,I
,J
);
112 SUBTYPE ST
IS ENUM
RANGE ENUM
'VAL( IDENT_INT
( 1) ) ..
113 ENUM
'VAL( IDENT_INT
( 4) ) ;
115 FIRST
: CONSTANT ENUM
:= A
;
116 SECOND
: CONSTANT ENUM
:= B
;
117 THIRD
: CONSTANT ENUM
:= C
;
118 FOURTH
: CONSTANT ENUM
:= D
;
119 FIFTH
: CONSTANT ENUM
:= E
;
120 TENTH
: CONSTANT ENUM
:= J
;
121 ZEROTH
: CONSTANT ENUM
:= AMINUS
;
127 FOR I
IN ST
RANGE C
..TENTH
LOOP
128 FAILED
( "EXCEPTION NOT RAISED (E1)" );
133 WHEN CONSTRAINT_ERROR
=> NULL ;
135 FAILED
( "WRONG EXCEPTION RAISED (E1)" );
142 FOR I
IN ST
RANGE AMINUS
..THIRD
LOOP
143 FAILED
( "EXCEPTION NOT RAISED (E2)" );
148 WHEN CONSTRAINT_ERROR
=> NULL ;
150 FAILED
( "WRONG EXCEPTION RAISED (E2)" );
159 SUBTYPE ST
IS CHARACTER RANGE IDENT_CHAR
( 'A' ) ..
162 FIRST
: CONSTANT CHARACTER := 'A' ;
163 SECOND
: CONSTANT CHARACTER := 'B' ;
164 THIRD
: CONSTANT CHARACTER := 'C' ;
165 FOURTH
: CONSTANT CHARACTER := 'D' ;
166 FIFTH
: CONSTANT CHARACTER := 'E' ;
167 TENTH
: CONSTANT CHARACTER := 'J' ;
168 ZEROTH
: CONSTANT CHARACTER := '0' ;--ZERO; PRECEDES LETTERS
174 FOR I
IN ST
RANGE 'C'..TENTH
LOOP
175 FAILED
( "EXCEPTION NOT RAISED (C1)" );
180 WHEN CONSTRAINT_ERROR
=> NULL ;
182 FAILED
( "WRONG EXCEPTION RAISED (C1)" );
189 FOR I
IN ST
RANGE '0'..THIRD
LOOP -- ZERO..'C'
190 FAILED
( "EXCEPTION NOT RAISED (C2)" );
195 WHEN CONSTRAINT_ERROR
=> NULL ;
197 FAILED
( "WRONG EXCEPTION RAISED (C2)" );