1-- CD3014F.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-- OBJECTIVE: 26-- CHECK THAT AN ENUMERATION REPRESENTATION CLAUSE CAN BE GIVEN 27-- IN THE VISIBLE OR PRIVATE PART OF A GENERIC PACKAGE FOR A 28-- TYPE DECLARED IN THE VISIBLE PART. 29 30-- HISTORY 31-- DHH 09/30/87 CREATED ORIGINAL TEST 32-- DHH 03/29/89 CHANGED FROM 'A' TEST TO 'C' TEST AND FROM '.DEP' 33-- '.ADA'. ADDED CHECK ON REPRESENTATION CLAUSES. 34-- RJW 09/18/89 REMOVED THE COMMENT "-- N/A => ERROR.". 35 36WITH REPORT; USE REPORT; 37WITH ENUM_CHECK; -- CONTAINS A CALL TO 'FAILED'. 38PROCEDURE CD3014F IS 39 40BEGIN 41 42 TEST ("CD3014F", "CHECK THAT AN ENUMERATION REPRESENTATION " & 43 "CLAUSE CAN BE GIVEN IN THE VISIBLE " & 44 "OR PRIVATE PART OF A GENERIC PACKAGE FOR " & 45 "A TYPE DECLARED IN THE VISIBLE PART"); 46 47 DECLARE 48 49 GENERIC 50 PACKAGE GENPACK IS 51 52 TYPE HUE IS (RED,BLUE,YELLOW,'R','B','Y'); 53 TYPE NEWHUE IS (RED,BLUE,YELLOW,'R','B','Y'); 54 55 FOR HUE USE (RED => 8, BLUE => 9, YELLOW => 10, 56 'R' => 11, 'B' => 12, 'Y' => 13); 57 A : HUE := BLUE; 58 59 TYPE INT1 IS RANGE 8 .. 13; 60 FOR INT1'SIZE USE HUE'SIZE; 61 62 PRIVATE 63 64 FOR NEWHUE USE (RED => 2, BLUE => 4, YELLOW => 6, 65 'R' => 8, 'B' => 10, 'Y' => 12); 66 67 B : NEWHUE := RED; 68 TYPE INT2 IS RANGE 2 .. 12; 69 FOR INT2'SIZE USE NEWHUE'SIZE; 70 71 PROCEDURE CHECK_1 IS NEW ENUM_CHECK(HUE, INT1); 72 PROCEDURE CHECK_2 IS NEW ENUM_CHECK(NEWHUE, INT2); 73 END GENPACK; 74 75 PACKAGE BODY GENPACK IS 76 BEGIN 77 CHECK_1 ('B', 12, "HUE"); 78 CHECK_2 ('B', 10, "NEWHUE"); 79 END GENPACK; 80 81 PACKAGE P IS NEW GENPACK; 82 83 BEGIN 84 NULL; 85 END; 86 87 RESULT; 88END CD3014F; 89