1-- C83F01A.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 INSIDE A PACKAGE BODY,  AN ATTEMPT TO REFERENCE AN IDENTI-
26--    FIER DECLARED IN THE CORRESPONDING PACKAGE SPECIFICATION
27--    IS SUCCESSFUL, EVEN IF THE SAME IDENTIFIER IS DECLARED IN THE
28--    ENVIRONMENT SURROUNDING THE PACKAGE BODY.
29
30-- NESTED PACKAGE BODIES ARE TESTED IN  C83F01B , C83F01C , C83F01D
31
32
33--    RM    05 AUGUST 1980
34--    JRK   13 NOV    1980
35
36
37WITH REPORT;
38PROCEDURE  C83F01A  IS
39
40     USE REPORT;
41
42     X1 , X2 : INTEGER RANGE 1..23 := 17 ;
43
44     TYPE  T1  IS  ( A , B , C) ;
45
46     Z : T1 := A ;
47
48
49BEGIN
50
51     TEST( "C83F01A" , "CHECK THAT INSIDE A PACKAGE BODY, " &
52                       "AN ATTEMPT TO REFERENCE AN IDENTIFIER " &
53                       "DECLARED IN THE CORRESPONDING PACKAGE SPECI" &
54                       "FICATION IS SUCCESSFUL EVEN IF THE SAME IDEN" &
55                       "TIFIER IS DECLARED IN THE ENVIRONMENT SURROUND"&
56                       "ING THE PACKAGE BODY" ) ;
57
58     COMMENT( "NESTED PACKAGE BODIES ARE TESTED IN  C83F01B , -C , -D");
59
60
61     DECLARE
62
63
64          PACKAGE  P  IS
65
66               X1 : BOOLEAN := FALSE ;
67               X2 : INTEGER RANGE 1..23 := 11 ;
68               Y1 : BOOLEAN := TRUE ;
69               Y2 : INTEGER := 5 ;
70               T1 : INTEGER := 6 ;
71               Z  : INTEGER := 7 ;
72
73          END  P ;
74
75
76          Y1 , Y2 : INTEGER := 13 ;
77
78
79          PACKAGE BODY  P  IS
80          BEGIN
81
82               X1 := X1 OR Y1 ;
83               Z  :=  Z + T1 ;
84               Y2 := X2 * Y2 ;
85
86               -- INCORRECT INTERPRETATIONS IN THE FIRST TWO
87               --    ASSIGNMENTS  MANIFEST THEMSELVES AT
88               --    COMPILE TIME AS TYPE ERRORS.
89
90          END P ;
91
92
93     BEGIN
94
95          IF  X1 /= 17  OR
96              Z  /= A   OR
97              Y2 /= 13   OR
98              NOT P.X1    OR
99              P.Z  /= 13  OR
100              P.Y2 /= 55
101          THEN  FAILED( "INCORRECT ACCESSING" );
102          END IF;
103
104     END ;
105
106
107     RESULT;   --  POSS. ERROR DURING ELABORATION OF  P
108
109END C83F01A;
110