-- BC3502E.ADA -- Grant of Unlimited Rights -- -- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687, -- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained -- unlimited rights in the software and documentation contained herein. -- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making -- this public release, the Government intends to confer upon all -- recipients unlimited rights equal to those held by the Government. -- These rights include rights to use, duplicate, release or disclose the -- released technical data and computer software in whole or in part, in -- any manner and for any purpose whatsoever, and to have or permit others -- to do so. -- -- DISCLAIMER -- -- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR -- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED -- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE -- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE -- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A -- PARTICULAR PURPOSE OF SAID MATERIAL. --* -- CHECK THAT WHEN A GENERIC FORMAL TYPE IS AN ACCESS TYPE, THE FORMAL -- TYPE IS ONLY MATCHED WHEN ITS DESIGNATED BASE TYPE IS THE SAME AS -- THE DESIGNATED BASE TYPE OF THE ACTUAL PARAMETER. -- CHECK FOR WHEN THE DESIGNATED TYPE IS NOT A GENERIC FORMAL TYPE. -- CHECK FOR WHEN THE DESIGNATED TYPE IS A PRIVATE OR LIMITED PRIVATE -- TYPE. -- SPS 5/25/82 PROCEDURE BC3502E IS PACKAGE PRIV IS TYPE PV1 IS PRIVATE; TYPE PV2 IS PRIVATE; TYPE PV3 IS PRIVATE; TYPE PV4 IS PRIVATE; TYPE PV5 (D : INTEGER := 3) IS PRIVATE; TYPE LP1 IS LIMITED PRIVATE; TYPE LP2 IS LIMITED PRIVATE; TYPE LP3 IS LIMITED PRIVATE; TYPE LP4 IS LIMITED PRIVATE; TYPE LP5 IS LIMITED PRIVATE; PRIVATE TYPE PV1 IS NEW INTEGER RANGE 1 ..2; TYPE PV2 IS ARRAY (PV1) OF CHARACTER; TYPE PV3 IS RECORD C1 : PV1; C2 : PV2; END RECORD; TYPE PV4 IS ACCESS PV3; TYPE PV5 (D: INTEGER := 3) IS RECORD C1 : PV3; CASE D IS WHEN 1 .. 10 => C2 : PV4; WHEN OTHERS => NULL; END CASE; END RECORD; TYPE LP1 IS ACCESS PV1; TYPE LP2 IS NEW PV2; TYPE LP3 IS NEW CHARACTER; TYPE LP4 IS NEW PV4; TYPE LP5 IS ACCESS PV5; END PRIV; USE PRIV; TYPE APV1 IS ACCESS PV1; TYPE APV2 IS ACCESS PV2; TYPE APV3 IS ACCESS PV3; TYPE APV4 IS ACCESS PV4; TYPE APV5 IS ACCESS PV5; TYPE ALP1 IS ACCESS LP1; TYPE ALP2 IS ACCESS LP2; TYPE ALP3 IS ACCESS LP3; TYPE ALP4 IS ACCESS LP4; TYPE ALP5 IS ACCESS LP5; SUBTYPE CPV5 IS PV5 (D => 3); TYPE ACPV5 IS ACCESS CPV5; TYPE CAPV5 IS ACCESS PV5 (D => 3); TYPE NPV2 IS NEW PV2; TYPE ANPV2 IS ACCESS NPV2; TYPE NAPV2 IS NEW APV2; TYPE NPV4 IS NEW PV4; TYPE ANPV4 IS ACCESS NPV4; TYPE NAPV4 IS NEW APV4; TYPE NLP1 IS NEW LP1; TYPE ANLP1 IS ACCESS NLP1; TYPE NALP1 IS NEW ALP1; TYPE NLP3 IS NEW LP3; TYPE ANLP3 IS ACCESS NLP3; TYPE NALP3 IS NEW ALP3; TYPE NLP5 IS NEW LP5; TYPE ANLP5 IS ACCESS NLP5; TYPE NALP5 IS NEW ALP5; TYPE NCPV5 IS NEW CPV5; TYPE ANCPV5 IS ACCESS NCPV5; TYPE NACPV5 IS NEW ACPV5; GENERIC TYPE FT IS ACCESS PV2; PACKAGE PPV2 IS END PPV2; GENERIC TYPE FT IS ACCESS PV4; PACKAGE PPV4 IS END PPV4; GENERIC TYPE FT IS ACCESS LP1; PACKAGE PLP1 IS END PLP1; GENERIC TYPE FT IS ACCESS LP3; PACKAGE PLP3 IS END PLP3; GENERIC TYPE FT IS ACCESS LP5; PACKAGE PLP5 IS END PLP5; GENERIC TYPE FT IS ACCESS CPV5; PACKAGE PCPV5 IS END PCPV5; PACKAGE PPV21 IS NEW PPV2 (APV2); -- OK. PACKAGE PPV22 IS NEW PPV2 (APV1); -- ERROR: APV1. PACKAGE PPV23 IS NEW PPV2 (APV3); -- ERROR: APV3. PACKAGE PPV24 IS NEW PPV2 (ALP2); -- ERROR: ALP2. PACKAGE PPV25 IS NEW PPV2 (ANPV2); -- ERROR: ANPV2. PACKAGE PPV26 IS NEW PPV2 (NAPV2); -- OK. PACKAGE PPV41 IS NEW PPV4 (APV4); -- OK. PACKAGE PPV42 IS NEW PPV4 (APV3); -- ERROR: APV3. PACKAGE PPV43 IS NEW PPV4 (ALP4); -- ERROR: ALP4. PACKAGE PPV44 IS NEW PPV4 (ANPV4); -- ERROR: ANPV4. PACKAGE PPV45 IS NEW PPV4 (NAPV4); -- OK. PACKAGE PLP11 IS NEW PLP1 (ALP1); -- OK. PACKAGE PLP12 IS NEW PLP1 (APV1); -- ERROR: APV1. PACKAGE PLP13 IS NEW PLP1 (ALP2); -- ERROR: ALP2. PACKAGE PLP14 IS NEW PLP1 (ANLP1); -- ERROR: ANLP1. PACKAGE PLP15 IS NEW PLP1 (NALP1); -- OK. PACKAGE PLP31 IS NEW PLP3 (ALP3); -- OK. PACKAGE PLP32 IS NEW PLP3 (APV2); -- ERROR: APV2. PACKAGE PLP33 IS NEW PLP3 (ALP2); -- ERROR: ALP2. PACKAGE PLP34 IS NEW PLP3 (ANLP3); -- ERROR: ANLP3. PACKAGE PLP35 IS NEW PLP3 (NALP3); -- OK. PACKAGE PLP51 IS NEW PLP5 (ALP5); -- OK. PACKAGE PLP52 IS NEW PLP5 (APV5); -- ERROR: APV5. PACKAGE PLP53 IS NEW PLP5 (APV3); -- ERROR: APV3. PACKAGE PLP54 IS NEW PLP5 (ANLP5); -- ERROR: ANLP5. PACKAGE PLP55 IS NEW PLP5 (NALP5); -- OK. PACKAGE PCPV51 IS NEW PCPV5 (ACPV5); -- OK. PACKAGE PCPV52 IS NEW PCPV5 (CAPV5); -- OK. PACKAGE PCPV53 IS NEW PCPV5 (ANCPV5); -- ERROR: ANCPV5. PACKAGE PCPV54 IS NEW PCPV5 (NACPV5); -- OK. BEGIN NULL; END BC3502E;