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 LOWER BOUND FOR THE STRING LITERAL IS DETERMINED BY
26 -- THE APPLICABLE INDEX CONSTRAINT, WHEN ONE EXISTS.
38 TEST
("C43214B", "SUBPROGRAM WITH CONSTRAINED ARRAY FORMAL " &
45 -- COMMENT ("CASE A1 : SUBPROGRAM WITH CONSTRAINED " &
46 -- "ONE-DIMENSIONAL ARRAY FORMAL PARAMETER");
50 SUBTYPE STA1
IS STRING(IDENT_INT
(11) .. 15);
52 PROCEDURE PROC1
(A
: STA1
) IS
55 FAILED
("CASE 1 : LOWER BOUND " &
57 ELSIF A
'LAST /= 15 THEN
58 FAILED
("CASE 1 : UPPER BOUND " &
60 ELSIF A
/= "ABCDE" THEN
61 FAILED
("CASE 1 : ARRAY DOES NOT " &
62 "CONTAIN THE CORRECT VALUES");
72 -- COMMENT ("CASE A2 : SUBPROGRAM WITH CONSTRAINED " &
73 -- "TWO-DIMENSIONAL ARRAY FORMAL PARAMETER");
77 TYPE TA
IS ARRAY (11 .. 12, 10 .. 11) OF CHARACTER;
79 PROCEDURE PROC1
(A
: TA
) IS
81 IF A
'FIRST(1) /= 11 OR A
'FIRST(2) /= 10 THEN
82 FAILED
("CASE 2 : LOWER BOUND " &
84 ELSIF A
'LAST(1) /= 12 OR A
'LAST(2) /= 11 THEN
85 FAILED
("CASE 2 : UPPER BOUND " &
87 ELSIF A
/= ("AB", "CD") THEN
88 FAILED
("CASE 2 : ARRAY DOES NOT " &
89 "CONTAIN THE CORRECT VALUES");