1-- C95082G.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 FOR CALLS TO ENTRIES HAVING AT LEAST ONE DEFAULT
26-- PARAMETER, THE CORRECT ASSOCIATION IS MADE BETWEEN ACTUAL AND
27-- FORMAL PARAMETERS.
28
29-- JWC 7/17/85
30
31WITH REPORT;USE REPORT;
32PROCEDURE C95082G IS
33
34     Y1,Y2,Y3  : INTEGER := 0;
35
36     TASK T IS
37          ENTRY E (I1: INTEGER; I2: INTEGER := 2; I3: INTEGER := 3;
38                   O1,O2,O3: OUT INTEGER);
39     END T;
40
41     TASK BODY T IS
42     BEGIN
43          LOOP
44               SELECT
45                    ACCEPT E (I1: INTEGER; I2: INTEGER := 2;
46                              I3: INTEGER := 3;
47                              O1,O2,O3: OUT INTEGER) DO
48                         O1 := I1;
49                         O2 := I2;
50                         O3 := I3;
51                    END E;
52               OR
53                    TERMINATE;
54               END SELECT;
55          END LOOP;
56     END T;
57
58
59BEGIN
60
61     TEST ("C95082G", "CHECK ASSOCIATIONS BETWEEN ACTUAL AND FORMAL " &
62                      "PARAMETERS (HAVING DEFAULT VALUES)");
63
64     T.E (I1=>11, I2=>12, I3=>13, O1=>Y1, O2=>Y2, O3=>Y3);
65     IF (Y1 /= 11) OR (Y2 /= 12) OR (Y3 /= 13) THEN
66          FAILED ("INCORRECT PARAMETER ASSOCIATION - 1");
67     END IF;
68
69     T.E (I1=>21, O1=>Y1, O2=>Y2, O3=>Y3);
70     IF (Y1 /= 21) OR (Y2 /= 2) OR (Y3 /= 3) THEN
71          FAILED ("INCORRECT PARAMETER ASSOCIATION - 2");
72     END IF;
73
74     T.E (O1=>Y1, O3=>Y3, I1=>31, I3=>33, O2=>Y2);
75     IF (Y1 /= 31) OR (Y2 /= 2) OR (Y3 /= 33) THEN
76          FAILED ("INCORRECT PARAMETER ASSOCIATION - 3");
77     END IF;
78
79     T.E (41, 42, O1=>Y1, O2=>Y2, O3=>Y3);
80     IF (Y1 /= 41) OR (Y2 /= 42) OR (Y3 /= 3) THEN
81          FAILED ("INCORRECT PARAMETER ASSOCIATION - 4");
82     END IF;
83
84     T.E (51, O3=>Y3, O1=>Y1, O2=>Y2, I3=>53);
85     IF (Y1 /= 51) OR (Y2 /= 2) OR (Y3 /= 53) THEN
86          FAILED ("INCORRECT PARAMETER ASSOCIATION - 5");
87     END IF;
88
89     RESULT;
90
91END C95082G;
92