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 SCALAR AND ACCESS PARAMETERS ARE COPIED.
27 -- (A) SCALAR PARAMETERS TO PROCEDURES.
28 -- (B) SCALAR PARAMETERS TO FUNCTIONS.
29 -- (C) ACCESS PARAMETERS TO PROCEDURES.
30 -- (D) ACCESS PARAMETERS TO FUNCTIONS.
35 -- EG 10/29/85 ELIMINATE THE USE OF NUMERIC_ERROR IN TEST.
43 TEST
("C62003A", "CHECK THAT SCALAR AND ACCESS PARAMETERS ARE " &
46 --------------------------------------------------
53 PROCEDURE P
(PI
: IN INTEGER; PO
: OUT INTEGER;
54 PIO
: IN OUT INTEGER) IS
60 TMP
:= PI
; -- SAVE VALUE OF PI AT PROC ENTRY.
64 FAILED
("ASSIGNMENT TO SCALAR OUT " &
65 "PARAMETER CHANGES THE VALUE OF " &
67 TMP
:= PI
; -- RESET TMP FOR NEXT CASE.
72 FAILED
("ASSIGNMENT TO SCALAR IN OUT " &
73 "PARAMETER CHANGES THE VALUE OF " &
75 TMP
:= PI
; -- RESET TMP FOR NEXT CASE.
80 FAILED
("ASSIGNMENT TO SCALAR ACTUAL " &
81 "PARAMETER CHANGES THE VALUE OF " &
85 RAISE E
; -- CHECK EXCEPTION HANDLING.
89 I
:= 0; -- INITIALIZE I SO VARIOUS CASES CAN BE DETECTED.
91 FAILED
("EXCEPTION NOT RAISED - A");
97 FAILED
("OUT ACTUAL SCALAR PARAMETER " &
98 "CHANGED GLOBAL VALUE");
100 FAILED
("IN OUT ACTUAL SCALAR " &
101 "PARAMETER CHANGED GLOBAL VALUE");
103 FAILED
("OUT AND IN OUT ACTUAL SCALAR " &
104 "PARAMETERS CHANGED GLOBAL " &
107 FAILED
("UNDETERMINED CHANGE TO GLOBAL " &
112 FAILED
("WRONG EXCEPTION RAISED - A");
115 --------------------------------------------------
121 FUNCTION F
(FI
: IN INTEGER) RETURN INTEGER IS
129 FAILED
("ASSIGNMENT TO SCALAR ACTUAL FUNCTION " &
130 "PARAMETER CHANGES THE VALUE OF " &
142 --------------------------------------------------
146 TYPE ACCTYPE
IS ACCESS INTEGER;
151 PROCEDURE P
(PI
: IN ACCTYPE
; PO
: OUT ACCTYPE
;
152 PIO
: IN OUT ACCTYPE
) IS
158 TMP
:= PI
; -- SAVE VALUE OF PI AT PROC ENTRY.
160 I
:= NEW INTEGER'(101);
162 FAILED ("ASSIGNMENT TO ACCESS ACTUAL " &
163 "PARAMETER CHANGES THE VALUE OF " &
165 TMP := PI; -- RESET TMP FOR NEXT CASE.
168 PO := NEW INTEGER'(1);
170 FAILED
("ASSIGNMENT TO ACCESS OUT " &
171 "PARAMETER CHANGES THE VALUE OF " &
173 TMP
:= PI
; -- RESET TMP FOR NEXT CASE.
176 PIO
:= NEW INTEGER'(10);
178 FAILED ("ASSIGNMENT TO ACCESS IN OUT " &
179 "PARAMETER CHANGES THE VALUE OF " &
183 RAISE E; -- CHECK EXCEPTION HANDLING.
187 I := NEW INTEGER'(100);
189 FAILED
("EXCEPTION NOT RAISED - C");
192 IF (I
.ALL /= 101) THEN
193 FAILED
("OUT OR IN OUT ACTUAL PROCEDURE " &
194 "PARAMETER VALUE CHANGED DESPITE " &
198 FAILED
("WRONG EXCEPTION RAISED - C");
201 --------------------------------------------------
205 TYPE ACCTYPE
IS ACCESS INTEGER;
209 FUNCTION F
(FI
: IN ACCTYPE
) RETURN ACCTYPE
IS
217 FAILED
("ASSIGNMENT TO ACCESS ACTUAL FUNCTION " &
218 "PARAMETER CHANGES THE VALUE OF " &
230 --------------------------------------------------