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.
26 -- CHECK THAT A DECLARATION IN THE DECLARATIVE REGION OF A GENERIC
27 -- PACKAGE HIDES AN OUTER DECLARATION OF A HOMOGRAPH. ALSO CHECK
28 -- THAT THE OUTER DECLARATION IS DIRECTLY VISIBLE IN BOTH
29 -- DECLARATIVE REGIONS BEFORE THE DECLARATION OF THE INNER HOMOGRAPH
30 -- AND THE OUTER DECLARATION IS VISIBLE BY SELECTION AFTER THE INNER
31 -- HOMOGRAPH DECLARATION, IF THE GENERIC PACKAGE BODY IS SEPARATELY
32 -- COMPILED, BUT NOT AS A SUBUNIT.
34 -- APPLICABILITY CRITERIA:
35 -- THIS TEST IS APPLICABLE TO IMPLEMENTATIONS THAT SUPPORT SEPARATE
36 -- COMPILATIONS OF GENERIC SPECIFICATIONS AND BODIES.
38 -- SEPARATE FILES ARE:
39 -- C83024E0.ADA -- GENERIC PACKAGE SPECIFICATIONS.
40 -- C83024E1M.ADA - (THIS FILE) GENERIC PACKAGE BODIES AND
44 -- BCB 08/30/88 CREATED ORIGINAL TEST.
45 -- PWN 11/30/94 ADDED A PROCEDURE TO KEEP PACKAGE BODIES LEGAL.
47 PACKAGE BODY C83024E_P1
IS
49 PROCEDURE REQUIRE_BODY
IS
54 PACKAGE BODY C83024E_PACK1
IS
56 IF A
/= IDENT_INT
(3) THEN
57 FAILED
("INCORRECT VALUE FOR INNER HOMOGRAPH - 1");
60 IF C83024E_P1
.A
/= IDENT_INT
(2) THEN
61 FAILED
("INCORRECT VALUE FOR OUTER HOMOGRAPH - 2");
64 IF C83024E_P1
.B
/= IDENT_INT
(2) THEN
65 FAILED
("INCORRECT VALUE FOR OUTER VARIABLE - 3");
68 IF C
/= IDENT_INT
(2) THEN
69 FAILED
("INCORRECT VALUE FOR INNER VARIABLE - 4");
72 IF X
/= IDENT_INT
(2) THEN
73 FAILED
("INCORRECT VALUE PASSED IN - 5");
84 PACKAGE BODY C83024E_P2
IS
86 PROCEDURE REQUIRE_BODY
IS
91 PACKAGE BODY C83024E_PACK2
IS
93 IF A
/= IDENT_INT
(3) THEN
94 FAILED
("INCORRECT VALUE FOR INNER HOMOGRAPH - 10");
97 IF C83024E_P2
.A
/= IDENT_INT
(2) THEN
98 FAILED
("INCORRECT VALUE FOR OUTER HOMOGRAPH - 11");
101 IF C83024E_P2
.B
/= IDENT_INT
(2) THEN
102 FAILED
("INCORRECT VALUE FOR OUTER VARIABLE - 12");
105 IF C
/= IDENT_INT
(3) THEN
106 FAILED
("INCORRECT VALUE FOR INNER VARIABLE - 13");
109 IF X
/= IDENT_INT
(2) THEN
110 FAILED
("INCORRECT VALUE PASSED IN - 14");
121 PACKAGE BODY C83024E_P3
IS
123 PROCEDURE REQUIRE_BODY
IS
128 PACKAGE BODY C83024E_PACK3
IS
130 A
: INTEGER := IDENT_INT
(3);
132 IF A
/= IDENT_INT
(3) THEN
133 FAILED
("INCORRECT VALUE FOR INNER HOMOGRAPH - 20");
136 IF C83024E_P3
.A
/= IDENT_INT
(2) THEN
137 FAILED
("INCORRECT VALUE FOR OUTER HOMOGRAPH - 21");
140 IF C83024E_P3
.B
/= IDENT_INT
(2) THEN
141 FAILED
("INCORRECT VALUE FOR OUTER VARIABLE - 22");
144 IF C
/= IDENT_INT
(2) THEN
145 FAILED
("INCORRECT VALUE FOR INNER VARIABLE - 23");
148 IF X
/= IDENT_INT
(2) THEN
149 FAILED
("INCORRECT VALUE PASSED IN - 24");
160 PACKAGE BODY C83024E_P4
IS
162 PROCEDURE REQUIRE_BODY
IS
167 PACKAGE BODY C83024E_PACK4
IS
173 WITH REPORT
; USE REPORT
;
174 WITH C83024E_P1
; WITH C83024E_P2
;
175 WITH C83024E_P3
; WITH C83024E_P4
;
176 USE C83024E_P1
; USE C83024E_P2
;
177 USE C83024E_P3
; USE C83024E_P4
;
178 PROCEDURE C83024E1M
IS
181 TEST
("C83024E", "CHECK THAT A DECLARATION IN THE DECLARATIVE " &
182 "REGION OF A GENERIC PACKAGE HIDES AN OUTER " &
183 "DECLARATION OF A HOMOGRAPH");
186 PACKAGE NEW_C83024E_PACK1
IS NEW C83024E_PACK1
(C83024E_P1
.A
);
188 IF C83024E_P1
.A
/= IDENT_INT
(3) THEN
189 FAILED
("INCORRECT VALUE PASSED OUT - 6");
194 PACKAGE NEW_C83024E_PACK2
IS
195 NEW C83024E_PACK2
(A
=> C83024E_P2
.OBJ
);
197 IF C83024E_P2
.OBJ
/= IDENT_INT
(4) THEN
198 FAILED
("INCORRECT VALUE PASSED OUT - 15");
203 PACKAGE NEW_C83024E_PACK3
IS NEW C83024E_PACK3
(C83024E_P3
.A
);
205 IF C83024E_P3
.A
/= IDENT_INT
(3) THEN
206 FAILED
("INCORRECT VALUE PASSED OUT - 25");
211 PACKAGE NEW_C83024E_PACK4
IS
212 NEW C83024E_PACK4
(C83024E_P4
.OBJ
, FLO
);
214 IF C83024E_P4
.OBJ
/= IDENT_INT
(6) THEN
215 FAILED
("INCORRECT VALUE RETURNED FROM FUNCTION - 60");