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 ASSIGNMENTS TO ENTRY FORMAL PARAMETERS OF UNCONSTRAINED
26 -- RECORD, PRIVATE, AND LIMITED PRIVATE TYPES WITH DEFAULT
27 -- CONSTRAINTS DO NOT RAISE CONSTRAINT_ERROR IF THE ACTUAL PARAMETER
28 -- IS UNCONSTRAINED, EVEN IF THE CONSTRAINT VALUES OF THE OBJECT
29 -- BEING ASSIGNED ARE DIFFERENT THAN THOSE OF THE ACTUAL PARAMETER.
32 -- (A) UNCONSTRAINED ACTUAL PARAMETERS OF RECORD TYPE.
33 -- (B) UNCONSTRAINED ACTUAL PARAMETERS OF PRIVATE TYPE.
34 -- (C) UNCONSTRAINED ACTUAL PARAMETERS OF LIMITED PRIVATE TYPE.
38 WITH REPORT
; USE REPORT
;
43 TEST
( "C95087D", "CHECK ASSIGNMENTS TO ENTRY FORMAL PARAMETERS " &
44 "OF UNCONSTRAINED TYPES WITH UNCONSTRAINED " &
47 --------------------------------------------------
53 SUBTYPE INTRANGE
IS INTEGER RANGE 0..31;
55 TYPE RECTYPE
(CONSTRAINT
: INTRANGE
:= 15) IS
58 STRFLD
: STRING(1..CONSTRAINT
);
62 ENTRY E
(REC1
: IN RECTYPE
; REC2
: IN OUT RECTYPE
;
68 REC91
, REC92
, REC93
: PKG
.RECTYPE
:=
69 (IDENT_INT
(5), 5, IDENT_STR
( "12345"));
70 REC_OOPS
: PKG
.RECTYPE
;
76 ACCEPT E
(REC1
: IN RECTYPE
; REC2
: IN OUT RECTYPE
;
77 REC3
: OUT RECTYPE
) DO
79 IF NOT REC1
'CONSTRAINED THEN
80 FAILED
( "REC1 IS NOT CONSTRAINED - A.1");
82 IF REC1
.CONSTRAINT
/= IDENT_INT
(9) THEN
83 FAILED
( "REC1 CONSTRAINT IS NOT 9 " &
87 BEGIN -- ASSIGNMENT TO IN OUT PARAMETER.
91 FAILED
( "EXCEPTION RAISED - A.1");
94 BEGIN -- ASSIGNMENT TO OUT PARAMETER.
98 FAILED
( "EXCEPTION RAISED - A.2");
106 REC91
:= (9, 9, "123456789");
110 REC_OOPS
:= (4, 4, "OOPS");
118 PKG
.T
.E
(REC91
, REC92
, REC93
);
119 IF (REC92
/= REC_OOPS
) OR (REC93
/= REC_OOPS
) THEN
120 FAILED
( "RESULTANT VALUE OF REC92 OR REC93 INCORRECT");
125 --------------------------------------------------
131 SUBTYPE INTRANGE
IS INTEGER RANGE 0..31;
133 TYPE RECTYPE
(CONSTRAINT
: INTRANGE
:= 15) IS PRIVATE;
136 ENTRY E
(REC1
: IN RECTYPE
; REC2
: IN OUT RECTYPE
;
142 TYPE RECTYPE
(CONSTRAINT
: INTRANGE
:= 15) IS
145 STRFLD
: STRING(1..CONSTRAINT
);
149 REC91
, REC92
, REC93
: PKG
.RECTYPE
;
150 REC_OOPS
: PKG
.RECTYPE
;
156 ACCEPT E
(REC1
: IN RECTYPE
; REC2
: IN OUT RECTYPE
;
157 REC3
: OUT RECTYPE
) DO
159 IF REC3
'CONSTRAINED THEN
160 FAILED
( "REC3 IS CONSTRAINED - B.1");
163 BEGIN -- ASSIGNMENT TO IN OUT PARAMETER.
167 FAILED
( "EXCEPTION RAISED - B.1");
170 BEGIN -- ASSIGNMENT TO OUT PARAMETER.
174 FAILED
( "EXCEPTION RAISED - B.2");
182 REC91
:= (9, 9, "123456789");
186 REC_OOPS
:= (4, 4, "OOPS");
192 PKG
.T
.E
(REC91
, REC92
, REC93
);
196 --------------------------------------------------
202 SUBTYPE INTRANGE
IS INTEGER RANGE 0..31;
204 TYPE RECTYPE
(CONSTRAINT
: INTRANGE
:= 15) IS
208 ENTRY E
(REC1
: IN RECTYPE
; REC2
: IN OUT RECTYPE
;
214 TYPE RECTYPE
(CONSTRAINT
: INTRANGE
:= 15) IS
217 STRFLD
: STRING(1..CONSTRAINT
);
221 REC91
, REC92
, REC93
: PKG
.RECTYPE
;
222 REC_OOPS
: PKG
.RECTYPE
;
228 ACCEPT E
(REC1
: IN RECTYPE
; REC2
: IN OUT RECTYPE
;
229 REC3
: OUT RECTYPE
) DO
231 BEGIN -- ASSIGNMENT TO IN OUT PARAMETER.
235 FAILED
( "EXCEPTION RAISED - C.1");
238 BEGIN -- ASSIGNMENT TO OUT PARAMETER.
242 FAILED
( "EXCEPTION RAISED - C.2");
250 REC91
:= (9, 9, "123456789");
254 REC_OOPS
:= (4, 4, "OOPS");
260 PKG
.T
.E
(REC91
, REC92
, REC93
);
264 --------------------------------------------------