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 CONSTRAINT_ERROR IS NOT RAISED IF THE DEFAULT VALUE
26 -- FOR A FORMAL PARAMETER DOES NOT SATISFY THE CONSTRAINTS OF THE
27 -- SUBTYPE_INDICATION WHEN THE DECLARATION IS ELABORATED, ONLY WHEN
28 -- THE DEFAULT IS USED.
31 -- (A) ARRAY PARAMETERS CONSTRAINED WITH NONSTATIC BOUNDS AND
32 -- INITIALIZED WITH A STATIC AGGREGATE.
33 -- (B) A SCALAR PARAMETER WITH NON-STATIC RANGE CONSTRAINTS
34 -- INITIALIZED WITH A STATIC VALUE.
35 -- (C) A RECORD PARAMETER WHOSE COMPONENTS HAVE NON-STATIC
36 -- CONSTRAINTS INITIALIZED WITH A STATIC AGGREGATE.
37 -- (D) AN ARRAY PARAMETER CONSTRAINED WITH STATIC BOUNDS ON SUB-
38 -- SCRIPTS AND NON-STATIC BOUNDS ON COMPONENTS, INITIALIZED
39 -- WITH A STATIC AGGREGATE.
40 -- (E) A RECORD PARAMETER WITH A NON-STATIC CONSTRAINT
41 -- INITIALIZED WITH A STATIC AGGREGATE.
56 TEST
("C61008A", "CHECK THAT CONSTRAINT_ERROR IS NOT RAISED IF " &
57 "AN INITIALIZATION VALUE DOES NOT SATISFY " &
58 "CONSTRAINTS ON A FORMAL PARAMETER");
60 --------------------------------------------------
64 PROCEDURE PA
(I1
, I2
: INTEGER) IS
66 TYPE A1
IS ARRAY (1..I1
,1..I2
) OF INTEGER;
68 PROCEDURE PA1
(A
: A1
:= ((1,0),(0,1))) IS
70 FAILED
("BODY OF PA1 EXECUTED");
73 FAILED
("EXCEPTION RAISED IN PA1");
79 WHEN CONSTRAINT_ERROR
=>
82 FAILED
("WRONG EXCEPTION RAISED - PA1");
86 PA
(IDENT_INT
(1), IDENT_INT
(10));
89 FAILED
("EXCEPTION RAISED IN CALL TO PA");
92 --------------------------------------------------
96 PROCEDURE PB
(I1
, I2
: INTEGER) IS
98 SUBTYPE INT
IS INTEGER RANGE I1
..I2
;
100 PROCEDURE PB1
(I
: INT
:= -1) IS
102 FAILED
("BODY OF PB1 EXECUTED");
105 FAILED
("EXCEPTION RAISED IN PB1");
111 WHEN CONSTRAINT_ERROR
=>
114 FAILED
("WRONG EXCEPTION RAISED - PB1");
118 PB
(IDENT_INT
(0), IDENT_INT
(63));
121 FAILED
("EXCEPTION RAISED IN CALL TO PB");
124 --------------------------------------------------
128 PROCEDURE PC
(I1
, I2
: INTEGER) IS
129 TYPE AR1
IS ARRAY (1..3) OF INTEGER RANGE I1
..I2
;
132 I
: INTEGER RANGE I1
..I2
;
136 PROCEDURE PC1
(R
: REC
:= (-3,(0,2,3))) IS
138 FAILED
("BODY OF PC1 EXECUTED");
141 FAILED
("EXCEPTION RAISED IN PC1");
147 WHEN CONSTRAINT_ERROR
=>
150 FAILED
("WRONG EXCEPTION RAISED - PC1");
154 PC
(IDENT_INT
(1), IDENT_INT
(3));
157 FAILED
("EXCEPTION RAISED IN CALL TO PC");
160 --------------------------------------------------
164 PROCEDURE P1D
(I1
, I2
: INTEGER) IS
166 TYPE A1
IS ARRAY (1..2,1..2) OF INTEGER RANGE I1
..I2
;
168 PROCEDURE P1D1
(A
: A1
:= ((1,-1),(1,2))) IS
170 FAILED
("BODY OF P1D1 EXECUTED");
173 FAILED
("EXCEPTION RAISED IN P1D1");
179 WHEN CONSTRAINT_ERROR
=>
182 FAILED
("WRONG EXCEPTION RAISED - P1D1");
186 P1D
(IDENT_INT
(1), IDENT_INT
(2));
189 FAILED
("EXCEPTION RAISED IN CALL TO P1D");
192 --------------------------------------------------
196 PROCEDURE P2D
(I1
, I2
: INTEGER) IS
198 TYPE A1
IS ARRAY (1..2,1..2) OF INTEGER RANGE I1
..I2
;
200 PROCEDURE P2D1
(A
: A1
:= (3..4 => (1,2))) IS
202 FAILED
("BODY OF P2D1 EXECUTED");
205 FAILED
("EXCEPTION RAISED IN P2D1");
211 WHEN CONSTRAINT_ERROR
=>
214 FAILED
("WRONG EXCEPTION RAISED - P2D1");
218 P2D
(IDENT_INT
(1), IDENT_INT
(2));
221 FAILED
("EXCEPTION RAISED IN CALL TO P2D");
224 --------------------------------------------------
228 PROCEDURE PE
(I1
, I2
: INTEGER) IS
229 SUBTYPE INT
IS INTEGER RANGE 0..10;
230 TYPE ARR
IS ARRAY (1..3) OF INT
;
231 TYPE REC
(I
: INT
) IS
236 SUBTYPE REC4
IS REC
(I1
);
238 PROCEDURE PE1
(R
: REC4
:= (3,(1,2,3))) IS
240 FAILED
("BODY OF PE1 EXECUTED");
243 FAILED
("EXCEPTION RAISED IN PE1");
249 WHEN CONSTRAINT_ERROR
=>
252 FAILED
("WRONG EXCEPTION RAISED - PE1");
256 PE
(IDENT_INT
(4), IDENT_INT
(10));
259 FAILED
("EXCEPTION RAISED IN CALL TO PE");
262 --------------------------------------------------