1-- C87B48A.ADA
2
3--                             Grant of Unlimited Rights
4--
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
14--     to do so.
15--
16--                                    DISCLAIMER
17--
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.
24--*
25-- CHECK THAT OVERLOADING RESOLUTION USES THE RULE THAT:
26--
27-- NAMED ACTUAL PARAMETERS CAN RESOLVE OVERLOADING OF SUBPROGRAMS.
28-- THIS TEST USES FUNCTIONS AND OPERATOR SYMBOLS ONLY.
29
30-- TRH  13 AUG 82
31
32WITH REPORT; USE REPORT;
33
34PROCEDURE C87B48A IS
35
36     ERR, B1, B2 : BOOLEAN := FALSE;
37
38     PACKAGE A IS
39          FUNCTION "-"    (X : BOOLEAN) RETURN BOOLEAN;
40          FUNCTION TOGGLE (X : BOOLEAN) RETURN BOOLEAN
41               RENAMES "-";
42     END A;
43
44     PACKAGE BODY A IS
45          FUNCTION "-" (X : BOOLEAN) RETURN BOOLEAN IS
46          BEGIN
47               RETURN NOT X;
48          END "-";
49     END A;
50
51     PACKAGE B IS
52          FUNCTION "-"    (Y : BOOLEAN) RETURN BOOLEAN;
53          FUNCTION TOGGLE (Y : BOOLEAN) RETURN BOOLEAN
54               RENAMES "-";
55     END B;
56
57     PACKAGE BODY B IS
58          FUNCTION "-" (Y : BOOLEAN) RETURN BOOLEAN IS
59          BEGIN
60               ERR := TRUE;
61               RETURN NOT Y;
62          END "-";
63     END B;
64
65     PACKAGE C IS
66          FUNCTION "-"    (Z : BOOLEAN) RETURN BOOLEAN;
67          FUNCTION TOGGLE (Z : BOOLEAN) RETURN BOOLEAN
68               RENAMES "-";
69     END C;
70
71     PACKAGE BODY C IS
72          FUNCTION "-" (Z : BOOLEAN) RETURN BOOLEAN IS
73          BEGIN
74               ERR := TRUE;
75               RETURN NOT Z;
76          END "-";
77     END C;
78
79     USE A, B, C;
80
81BEGIN
82     TEST ("C87B48A","RESOLUTION OF OVERLOADED SUBPROGRAMS BY NAMED " &
83           "ACTUAL PARAMETERS");
84
85     B1 := "-"    (X => FALSE);
86     B2 := TOGGLE (X => FALSE);
87
88     IF ERR OR ELSE NOT B1 OR ELSE NOT B2 THEN
89          FAILED ("RESOLUTION INCORRECT FOR OVERLOADED SUBPROGRAMS" &
90                  " WITH NAMED ACTUAL PARAMETERS");
91     END IF;
92
93     RESULT;
94END C87B48A;
95