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 GENERIC INSTANCES MAY BE OVERLOADED.
27 -- CHECK THAT THEY MAY OVERLOAD PREVIOUSLY DECLARED SUBPROGRAMS AND
28 -- ENUMERATION LITERALS.
33 -- PWN 11/30/94 REMOVED PART OF TEST INVALID FOR ADA 9X.
36 WITH REPORT
; USE REPORT
;
40 TEST
("CC3012A", "CHECK THAT GENERIC INSTANCES MAY OVERLOAD " &
47 PROCEDURE GP
(X
: IN OUT T
);
51 FUNCTION LESS
(X
, Y
: T
) RETURN BOOLEAN;
55 FUNCTION PLUS
(X
, Y
: T
) RETURN T
;
62 TYPE DC
IS NEW CHARACTER RANGE IDENT_CHAR
('A') .. 'Z';
63 TYPE DI
IS NEW INTEGER;
64 TYPE ENUM
IS (E1
, E2
, E3
, E4
);
66 VC
: CHARACTER := 'A';
71 TYPE DENUM
IS NEW ENUM
RANGE E2
.. ENUM
'LAST;
77 PROCEDURE GP
(X
: IN OUT T
) IS
82 FUNCTION LESS
(X
, Y
: T
) RETURN BOOLEAN IS
87 FUNCTION PLUS
(X
, Y
: T
) RETURN T
IS
92 FUNCTION F1
RETURN T
IS
97 FUNCTION E5
RETURN INTEGER IS
104 PROCEDURE P
IS NEW GP
(CHARACTER, 'Q');
105 PROCEDURE P
IS NEW GP
(INTEGER, -14);
106 PROCEDURE P
IS NEW GP
(BOOLEAN, FALSE);
107 PROCEDURE P
IS NEW GP
(ENUM
, E4
);
108 PROCEDURE P
IS NEW GP
(DC
, 'W');
109 PROCEDURE P
IS NEW GP
(DI
, -33);
110 PROCEDURE P
IS NEW GP
(DENUM
, E2
);
112 FUNCTION "<" IS NEW LESS
(CHARACTER);
113 FUNCTION "<" IS NEW LESS
(INTEGER);
114 FUNCTION "<" IS NEW LESS
(BOOLEAN);
115 FUNCTION "<" IS NEW LESS
(ENUM
);
116 FUNCTION "<" IS NEW LESS
(DC
);
117 FUNCTION "<" IS NEW LESS
(DI
);
120 FUNCTION "+" IS NEW PLUS
(CHARACTER);
121 FUNCTION "+" IS NEW PLUS
(INTEGER);
122 FUNCTION "+" IS NEW PLUS
(BOOLEAN);
123 FUNCTION "+" IS NEW PLUS
(ENUM
);
124 FUNCTION "+" IS NEW PLUS
(DC
);
126 FUNCTION "+" IS NEW PLUS
(DENUM
);
128 FUNCTION E2
IS NEW F1
(BOOLEAN, FALSE);
129 FUNCTION E5
IS NEW F1
(DC
, 'M');
144 FAILED
("OVERLOADED PROCEDURE - 1");
148 FAILED
("OVERLOADED PROCEDURE - 2");
152 FAILED
("OVERLOADED PROCEDURE - 3");
156 FAILED
("OVERLOADED PROCEDURE - 4");
160 FAILED
("OVERLOADED PROCEDURE - 5");
164 FAILED
("OVERLOADED PROCEDURE - 6");
168 FAILED
("OVERLOADED PROCEDURE - 7");
171 IF VC
< ASCII
.DEL
THEN
172 FAILED
("OVERLOADED LESS THAN - 1");
176 FAILED
("OVERLOADED LESS THAN - 2");
180 FAILED
("OVERLOADED LESS THAN - 3");
184 FAILED
("OVERLOADED LESS THAN - 4");
188 FAILED
("OVERLOADED LESS THAN - 5");
192 FAILED
("OVERLOADED LESS THAN - 6");
196 IF -14 + 5 /= -9 THEN
197 FAILED
("OVERLOADED PLUS - 2");
200 IF VI
+ 5 /= INTEGER'FIRST THEN
201 FAILED
("OVERLOADED PLUS - 3");
204 IF VB
+ TRUE /= FALSE THEN
205 FAILED
("OVERLOADED PLUS - 4");
208 IF VE
+ E2
/= E1
THEN
209 FAILED
("OVERLOADED PLUS - 5");
212 IF DENUM
'(E3) + E2 /= E2 THEN
213 FAILED ("OVERLOADED PLUS - 6");
216 IF VDC + 'B
' /= 'A
' THEN
217 FAILED ("OVERLOADED PLUS - 7");
220 IF VDI + 14 /= -19 THEN -- -33 + 14
221 FAILED ("OVERLOADED PLUS - 8");
230 VE /= ENUM'VAL(IDENT_INT(1)) OR
232 FAILED ("OVERLOADING OF ENUMERATION LITERALS " &
233 "AND PREDEFINED SUBPROGRAMS");
240 IF NOT (VI + 5 < 11) THEN
241 FAILED ("INCORRECT VISIBILITY OF GENERIC OVERLOADING");