1-- C83F03D0M.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-- MAIN PROGRAM REQUIRING A SEPARATELY COMPILED PACKAGE BODY SUBUNIT
26--    ( C83F03D1.ADA )
27
28-- CHECK THAT IF A PACKAGE BODY IS NESTED INSIDE A SEPARATELY COMPILED
29--    PACKAGE BODY
30--    THE INNER PACKAGE BODY CAN CONTAIN A LABEL IDENTIFIER IDENTICAL
31--    TO A LABEL IDENTIFIER IN THE OUTER PACKAGE BODY OR TO AN IDENTI-
32--    FIER DECLARED IN THE OUTER PACKAGE BODY OR IN ITS SPECIFICATION
33--    OR IN ITS ENVIRONMENT.
34
35-- CASE 2:  PACKAGE BODY IS A COMPILATION SUBUNIT
36
37
38--    RM    08 SEPTEMBER 1980
39--    JRK   14 NOVEMBER  1980
40
41
42WITH REPORT;
43PROCEDURE  C83F03D0M  IS
44
45     USE REPORT ;
46
47     X1 : INTEGER := 17 ;
48
49     TYPE  T1  IS  ( A, B, C ) ;
50
51     Z : T1 := A ;
52
53     FLOW_INDEX : INTEGER := 0 ;
54
55
56     PACKAGE  C83F03D1  IS
57
58          Y3 : INTEGER := 100 ;
59
60          TYPE  T3  IS  ( D , E , F ) ;
61
62          PACKAGE  P  IS
63               AA : BOOLEAN := FALSE ;
64          END  P ;
65
66     END  C83F03D1 ;
67
68
69     Y1 : INTEGER := 100 ;
70
71
72     PACKAGE BODY  C83F03D1  IS SEPARATE ;
73
74
75BEGIN
76
77     TEST( "C83F03D" , "CHECK THE RECOGNITION OF LABELS IN NESTED" &
78                       " PACKAGES SEPARATELY COMPILED AS SUBUNITS" );
79
80     << LABEL_IN_MAIN >>
81
82     IF  FLOW_INDEX /= 10
83     THEN  FAILED( "INCORRECT FLOW OF CONTROL" );
84     END IF;
85
86     RESULT;   --  POSS. ERROR DURING ELABORATION OF  P
87
88
89END C83F03D0M;
90