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 THE CONSTRAINT_ERROR EXCEPTION IS RAISED WHEN A DYNAMIC
26 -- EXPRESSION VALUE IS OUTSIDE THE STATIC RANGE OF INTEGER, BOOLEAN,
27 -- CHARACTER, AND ENUMERATION ASSIGNMENT TARGET VARIABLES.
38 TEST
("C52005D", "CHECK THAT CONSTRAINT_ERROR EXCEPTION IS RAISED "
39 & "ON DYNAMIC OUT OF RANGE INTEGER, BOOLEAN, CHARACTER, " &
40 "AND ENUMERATION ASSIGNMENTS");
42 -------------------------
45 I1
: INTEGER RANGE 0..10 := 5;
50 FAILED
("EXCEPTION NOT RAISED FOR OUT OF RANGE INT ASSNMT");
53 WHEN CONSTRAINT_ERROR
=>
55 FAILED
("VALUE ALTERED BEFORE INT RANGE EXCEPTION");
60 -------------------------
63 I2
: INTEGER RANGE 0..10 := 5;
69 WHEN CONSTRAINT_ERROR
=>
70 FAILED
("EXCEPTION RAISED ON LEGAL INTEGER ASSIGNMENT");
73 -------------------------
76 B1
: BOOLEAN RANGE TRUE..TRUE := TRUE;
79 B1
:= IDENT_BOOL
(FALSE);
81 FAILED
("EXCEPTION NOT RAISED FOR OUT OF RANGE BOOL ASSNMT");
84 WHEN CONSTRAINT_ERROR
=>
86 FAILED
("VALUE ALTERED BEFORE BOOLEAN RANGE EXCEPTION");
90 -------------------------
96 B2
:= IDENT_BOOL
(FALSE);
99 WHEN CONSTRAINT_ERROR
=>
100 FAILED
("EXCEPTION RAISED ON LEGAL BOOLEAN ASSNMNT");
104 -------------------------
107 C1
: CHARACTER RANGE 'B'..'Z' := 'M';
110 C1
:= IDENT_CHAR
('A');
111 FAILED
("EXCEPTION NOT RAISED FOR OUT OF RANGE CHAR ASSNMNT");
114 WHEN CONSTRAINT_ERROR
=>
116 FAILED
("VALUE ALTERED BEFORE CHARACTER RANGE " &
122 -------------------------
125 C2
: CHARACTER RANGE 'B'..'Z' := 'M';
128 C2
:= IDENT_CHAR
('B');
131 WHEN CONSTRAINT_ERROR
=>
132 FAILED
("EXCEPTION RAISED OF LEGAL CHARACTER ASSNMNT");
136 -------------------------
139 TYPE DAY
IS (SUN
, MON
, TUE
, WED
, THU
, FRI
, SAT
);
140 ALLDAYS
: DAY
:= TUE
;
141 WORKDAY
: DAY
RANGE MON
..FRI
:= TUE
;
149 FAILED
("EXCEPTION NOT RAISED FOR OUT OF RANGE ENUM. " &
153 WHEN CONSTRAINT_ERROR
=>
154 IF WORKDAY
/= TUE
THEN
155 FAILED
("VALUE ALTERED BEFORE ENUM. RANGE EXCEPTION");
160 -------------------------
163 TYPE DAY
IS (SUN
, MON
, TUE
, WED
, THU
, FRI
, SAT
);
164 ALLDAYS
: DAY
:= TUE
;
165 WORKDAY
: DAY
RANGE MON
..FRI
:= TUE
;
174 WHEN CONSTRAINT_ERROR
=>
175 FAILED
("EXCEPTION RAISED ON LEGAL ENUM. ASSNMNT");
179 -------------------------