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 OBJECTS DESIGNATED BY IN PARAMETERS OF ACCESS TYPES CAN
26 -- BE USED AS THE TARGET OF AN ASSIGNMENT STATEMENT AND AS AN ACTUAL
27 -- PARAMETER OF ANY MODE. SUBTESTS ARE:
28 -- (A) INTEGER ACCESS TYPE.
29 -- (B) ARRAY ACCESS TYPE.
30 -- (C) RECORD ACCESS TYPE.
34 WITH REPORT
; USE REPORT
;
39 TEST
("C95071A", "CHECK THAT COMPONENTS OF ACCESS IN PARAMETERS " &
40 "MAY BE USED IN ASSIGNMENT CONTEXTS");
42 --------------------------------------------------
46 TYPE PTRINT
IS ACCESS INTEGER;
50 ENTRY EA
(PI
: IN PTRINT
);
55 ACCEPT EA
(PI
: IN PTRINT
) DO
58 ENTRY EA1
(I
: OUT INTEGER);
59 ENTRY EA2
(I
: IN OUT INTEGER);
64 ACCEPT EA1
(I
: OUT INTEGER) DO
68 ACCEPT EA2
(I
: IN OUT INTEGER) DO
78 FAILED
("ASSIGNMENT TO COMPONENT OF " &
79 "INTEGER ACCESS PARAMETER " &
88 PI
:= NEW INTEGER'(0);
93 ---------------------------------------------
97 TYPE TBL IS ARRAY (1..3) OF INTEGER;
98 TYPE PTRTBL IS ACCESS TBL;
102 ENTRY EB (PT : IN PTRTBL);
107 ACCEPT EB (PT : IN PTRTBL) DO
110 ENTRY EB1 (T : OUT TBL);
111 ENTRY EB2 (T : IN OUT TBL);
112 ENTRY EB3 (I : OUT INTEGER);
113 ENTRY EB4 (I : IN OUT INTEGER);
118 ACCEPT EB1 (T : OUT TBL) DO
122 ACCEPT EB2 (T : IN OUT TBL) DO
126 ACCEPT EB3 (I : OUT INTEGER) DO
130 ACCEPT EB4 (I : IN OUT INTEGER) DO
136 TB1.EB1 (PT.ALL); -- (1,2,3)
137 TB1.EB2 (PT.ALL); -- (1,2,2)
138 TB1.EB3 (PT(2)); -- (1,7,2)
139 TB1.EB4 (PT(1)); -- (2,7,2)
140 PT(3) := PT(3) + 7; -- (2,7,9)
141 IF (PT.ALL /= (2,7,9)) THEN
142 FAILED ("ASSIGNMENT TO COMPONENT OF " &
143 "ARRAY ACCESS PARAMETER FAILED");
151 PT := NEW TBL'(0,0,0);
156 ---------------------------------------------
167 TYPE PTRREC
IS ACCESS REC
;
171 ENTRY EC
(PR
: IN PTRREC
);
176 ACCEPT EC
(PR
: IN PTRREC
) DO
179 ENTRY EC1
(R
: OUT REC
);
180 ENTRY EC2
(R
: IN OUT REC
);
181 ENTRY EC3
(I
: OUT INTEGER);
182 ENTRY EC4
(I
: IN OUT INTEGER);
187 ACCEPT EC1
(R
: OUT REC
) DO
191 ACCEPT EC2
(R
: IN OUT REC
) DO
195 ACCEPT EC3
(I
: OUT INTEGER) DO
199 ACCEPT EC4
(I
: IN OUT INTEGER) DO
205 TC1
.EC1
(PR
.ALL); -- (1,2,3)
206 TC1
.EC2
(PR
.ALL); -- (1,2,2)
207 TC1
.EC3
(PR
.I2
); -- (1,7,2)
208 TC1
.EC4
(PR
.I1
); -- (2,7,2)
209 PR
.I3
:= PR
.I3
+ 7; -- (2,7,9)
210 IF (PR
.ALL /= (2,7,9)) THEN
211 FAILED
("ASSIGNMENT TO COMPONENT OF " &
212 "RECORD ACCESS PARAMETER " &
221 PR
:= NEW REC
'(0,0,0);
226 ---------------------------------------------