-- A49027C.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.
--*
--
-- OBJECTIVE:
--   CHECK THAT IF A GENERIC PARAMETER IS A STATIC EXPRESSION AND THE
--   CORRESPONDING (IN) PARAMETER HAS A STATIC SUBTYPE IN THE INSTANCE,
--   THEN EACH USE OF THE FORMAL PARAMETER IN THE INSTANCE IS SAID TO
--   BE STATIC.
--
--   SEE AI-00505.  THIS TEST IS TAKEN FROM THE SECOND EXAMPLE.
--
-- HISTORY:
--   DAS  8 OCT 90   INITIAL VERSION.
--   PWN  12/01/95   CORRECTED FORMAT OF CALL TO REPORT.TEST
--   KAS  25NOV96    CHANGED LITERAL 7 TO (IMPDEF.CHAR_BITS-1)
--!

WITH REPORT; USE REPORT;
WITH IMPDEF;

PROCEDURE A49027C IS

     GENERIC
          X : INTEGER;
     PACKAGE GP IS
          TYPE REC IS
               RECORD
                    C : STRING (1..X);
               END RECORD;
     END GP;

     PACKAGE NP IS NEW GP (1);

     TYPE NR IS NEW NP.REC;
     FOR NR USE
          RECORD
               C AT 0 RANGE 0..IMPDEF.CHAR_BITS-1; -- SUBTYPE INDICATION
          END RECORD;             -- FOR C IN NP IS CONSIDERED STATIC.

BEGIN
     TEST("A49027C", "CHECK THAT IF A GENERIC PARAMETER IS A STATIC " &
          "EXPRESSION AND THE CORRESPONDING (IN) PARAMETER HAS A " &
          "STATIC SUBTYPE IN THE INSTANCE, THEN EACH USE OF THE " &
          "FORMAL PARAMETER IN THE INSTANCE IS SAID TO BE STATIC.");

     RESULT;

END A49027C;
