1-- CA3011A0.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-- A GENERIC UNIT.
26-- SUBUNITS ARE IN CA3011A1, CA3011A2, AND CA3011A3.
27-- INSTANTIATION IS IN CA3011A4M.
28
29-- APPLICABILITY CRITERIA:
30--     THIS UNIT MUST BE ACCEPTED BY ALL ADA 95 IMPLEMENTATIONS.
31
32-- HISTORY:
33--     RJW 09/22/86  CREATED ORIGINAL TEST.
34--     BCB 01/05/88  MODIFIED HEADER.
35--     RLB 09/13/99  UPDATED APPLICABILITY CRITERIA FOR ADA 95.
36
37WITH REPORT; USE REPORT;
38
39GENERIC
40     TYPE T IS (<>);
41     X : T;
42PROCEDURE CA3011A0 (Z : OUT T);
43
44PROCEDURE CA3011A0 (Z : OUT T) IS
45     T1 : T;
46
47     FUNCTION CA3011A1 RETURN T IS SEPARATE;
48
49     PROCEDURE CA3011A2 (Y : OUT T) IS SEPARATE;
50
51     PACKAGE CA3011A3 IS
52          FUNCTION CA3011A3F RETURN T;
53     END CA3011A3;
54
55     PACKAGE BODY CA3011A3 IS SEPARATE;
56
57BEGIN
58     IF CA3011A1 /= X THEN
59          FAILED ( "INCORRECT VALUE RETURNED BY FUNCTION CA3011A1" );
60     END IF;
61
62     CA3011A2 (T1);
63
64     IF T1 /= X THEN
65          FAILED ( "INCORRECT VALUE RETURNED BY PROCEDURE CA3011A2 " );
66     END IF;
67
68     IF CA3011A3.CA3011A3F /= X THEN
69          FAILED ( "INCORRECT VALUE RETURNED BY FUNCTION CA3011A3F " );
70     END IF;
71
72     Z := X;
73
74END CA3011A0;
75