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.
27 -- A) A SUBPROGRAM OR ENTRY CAN BE RENAMED WITH:
28 -- A1) DIFFERENT PARAMETER NAMES;
29 -- A2) DIFFERENT DEFAULT VALUES;
30 -- A3) DIFFERENT PARAMETERS HAVING DEFAULT VALUES;
31 -- AND THAT THE NEW NAMES/DEFAULTS ARE USED WHEN THE NEW NAME
34 -- B) FORMAL PARAMETER CONSTRAINTS FOR THE NEW NAME ARE IGNORED IN
35 -- FAVOR OF THE CONSTRAINTS ASSOCIATED WITH THE RENAMED ENTITY.
47 TEST
("C85013A","CHECK THAT A SUBPROGRAM CAN BE RENAMED AND " &
48 "THAT THE NEW NAMES/DEFAULTS ARE USED WITH " &
49 "THE CONSTRAINTS ASSOCIATED WITH THE RENAMED" &
54 TYPE TA
IS ARRAY(1 .. 5) OF INTEGER;
56 FUNCTION PROC1
(A
: INTEGER := 1;
57 B
: TA
:= (1 .. 5 => 1)) RETURN INTEGER;
58 FUNCTION PROCA
(C
: INTEGER := 1;
59 D
: TA
:= (1 .. 5 => 1)) RETURN INTEGER
61 FUNCTION PROCB
(B
: INTEGER := 1;
62 A
: TA
:= (1 .. 5 => 1)) RETURN INTEGER
64 FUNCTION PROCC
(A
: INTEGER := 2;
65 B
: TA
:= (1, 2, 3, 4, 5)) RETURN INTEGER
67 FUNCTION PROCD
(C
: INTEGER := 2;
68 D
: TA
:= (1, 2, 3, 4, 5))RETURN INTEGER
71 FUNCTION PROC1
(A
: INTEGER := 1;
72 B
: TA
:= (1 .. 5 => 1)) RETURN INTEGER IS
85 FAILED
("CASE A : PARAMETERS NOT PROPERLY INITIALIZED");
87 IF PROC1
(A
=> 2) /= 0 THEN
88 FAILED
("CASE A : INCORRECT RESULT");
91 FAILED
("CASE A1 : INCORRECT RESULT (DEFAULT)");
93 IF PROCA
(D
=> (5, 4, 3, 2, 1)) /= 5 THEN
94 FAILED
("CASE A1 : INCORRECT RESULT");
97 FAILED
("CASE A1 : INCORRECT RESULT (DEFAULT)");
99 IF PROCB
(A
=> (5, 4, 3, 2, 1), B
=> 2) /= 4 THEN
100 FAILED
("CASE A1 : INCORRECT RESULT ");
103 FAILED
("CASE A2 : INCORRECT RESULT (DEFAULT)");
105 IF PROCC
(3) /= 3 THEN
106 FAILED
("CASE A2 : INCORRECT RESULT ");
109 FAILED
("CASE A2 : INCORRECT RESULT (DEFAULT)");
111 IF PROCD
(4) /= 4 THEN
112 FAILED
("CASE A2 : INCORRECT RESULT ");
119 TYPE TA
IS ARRAY (INTEGER RANGE <>) OF INTEGER;
120 SUBTYPE STA1
IS TA
(1 .. 5);
121 SUBTYPE STA2
IS TA
(11 .. 15);
123 PROCEDURE PROC1
(A
: STA1
;
125 PROCEDURE PROC2
(A
: STA2
;
126 ID
: STRING) RENAMES PROC1
;
128 PROCEDURE PROC1
(A
: STA1
;
131 IF A
'FIRST /= IDENT_INT
(1) THEN
132 FAILED
("CASE B : INCORRECT LOWER BOUND " &
133 "GENERATED BY " & ID
);
135 IF A
'LAST /= IDENT_INT
(5) THEN
136 FAILED
("CASE B : INCORRECT UPPER BOUND " &
137 "GENERATED BY " & ID
);
143 PROC1
((1, 2, 3, 4, 5),"PROC1");
144 PROC2
((6, 7, 8, 9, 10),"PROC2");