-- BC3502B.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 TYPE OF THE ACTUAL PARAMETER. -- CHECK FOR WHEN THE DESIGNATED TYPE IS NOT A GENERIC FORMAL TYPE. -- CHECK FOR WHEN THE DESIGNATED BASE TYPES ARE ARRAY TYPES. -- SPS 5/24/82 PROCEDURE BC3502B IS SUBTYPE INT IS INTEGER RANGE 1 .. 10; TYPE A1 IS ARRAY (INTEGER RANGE <>) OF INTEGER; TYPE A2 IS ARRAY (INTEGER RANGE <>) OF INTEGER; TYPE A3 IS ARRAY (NATURAL) OF INTEGER; TYPE A4 IS ARRAY (INT) OF INTEGER; TYPE A5 IS ARRAY (INTEGER RANGE <>) OF NATURAL; TYPE A6 IS ARRAY (INTEGER RANGE <>) OF INT; TYPE NA1 IS NEW A1; TYPE NA2 IS NEW A2; SUBTYPE A1C IS A1 (1 .. 10); TYPE AA1 IS ACCESS A1; TYPE AA2 IS ACCESS A2; TYPE AA3 IS ACCESS A3; TYPE AA4 IS ACCESS A4; TYPE AA5 IS ACCESS A5; TYPE AA6 IS ACCESS A6; TYPE ACA1 IS ACCESS A1 (1 .. 10); TYPE AA1C IS ACCESS A1C; TYPE ACA2 IS ACCESS A2 (1 .. 10); TYPE ANA1 IS ACCESS NA1; TYPE ANA2 IS ACCESS NA2; GENERIC TYPE FT IS ACCESS A1; PACKAGE PA1 IS END PA1; GENERIC TYPE FT IS ACCESS A2; PACKAGE PA2 IS END PA2; GENERIC TYPE FT IS ACCESS A1C; PACKAGE PA1C IS END PA1C; GENERIC TYPE FT IS ACCESS A5; PACKAGE PA5 IS END PA5; PACKAGE PA11 IS NEW PA1 (AA1); -- OK. PACKAGE PA12 IS NEW PA1 (AA2); -- ERROR: BASE TYPE A1 EXPECTED. PACKAGE PA13 IS NEW PA1 (AA3); -- ERROR: BASE TYPE A1 EXPECTED. PACKAGE PA14 IS NEW PA1 (AA4); -- ERROR: BASE TYPE A1 EXPECTED. PACKAGE PA15 IS NEW PA1 (AA5); -- ERROR: BASE TYPE A1 EXPECTED. PACKAGE PA16 IS NEW PA1 (AA6); -- ERROR: BASE TYPE A1 EXPECTED. PACKAGE PA17 IS NEW PA1 (ANA1); -- ERROR: BASE TYPE A1 EXPECTED. PACKAGE PA21 IS NEW PA2 (AA2); -- OK. PACKAGE PA22 IS NEW PA2 (AA1); -- ERROR: BASE TYPE A2 EXPECTED. PACKAGE PA23 IS NEW PA2 (AA3); -- ERROR: BASE TYPE A2 EXPECTED. PACKAGE PA24 IS NEW PA2 (AA4); -- ERROR: BASE TYPE A2 EXPECTED. PACKAGE PA25 IS NEW PA2 (ANA2); -- ERROR: BASE TYPE A2 EXPECTED. PACKAGE PA1C1 IS NEW PA1C (AA1C);-- OK. PACKAGE PA1C2 IS NEW PA1C (ACA1);-- OK. PACKAGE PA1C3 IS NEW PA1C (ACA2);-- ERROR: BASE TYPE A1 EXPECTED. PACKAGE PA51 IS NEW PA5 (AA5); -- OK. PACKAGE PA52 IS NEW PA5 (AA2); -- ERROR: BASE TYPE A5 EXPECTED. PACKAGE PA53 IS NEW PA5 (AA6); -- ERROR: BASE TYPE A5 EXPECTED. BEGIN NULL; END BC3502B;