1-- CC3602A.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 ENTRIES MAY BE PASSED AS GENERIC SUBPROGRAM 27-- PARAMETERS. 28 29-- HISTORY: 30-- DAT 9/25/81 CREATED ORIGINAL TEST. 31-- LDC 10/6/88 REVISED; CHECKED THAT DEFAULT NAME CAN BE 32-- IDENTIFIED WITH ENTRY. 33 34 35WITH REPORT; USE REPORT; 36 37PROCEDURE CC3602A IS 38 COUNTER : INTEGER := 0; 39BEGIN 40 TEST ("CC3602A", "ENTRIES AS GENERIC SUBPROGRAM PARAMETERS"); 41 42 DECLARE 43 TASK TSK IS 44 ENTRY ENT; 45 END TSK; 46 47 GENERIC 48 WITH PROCEDURE P; 49 PROCEDURE GP; 50 51 GENERIC 52 WITH PROCEDURE P; 53 PACKAGE PK IS END PK; 54 55 56 PROCEDURE E1 RENAMES TSK.ENT; 57 58 GENERIC 59 WITH PROCEDURE P IS TSK.ENT; 60 PROCEDURE GP_DEF1; 61 62 GENERIC 63 WITH PROCEDURE P IS E1; 64 PROCEDURE GP_DEF2; 65 66 GENERIC 67 WITH PROCEDURE P IS TSK.ENT; 68 PACKAGE PK_DEF1 IS END PK_DEF1; 69 70 GENERIC 71 WITH PROCEDURE P IS E1; 72 PACKAGE PK_DEF2 IS END PK_DEF2; 73 74 PROCEDURE GP IS 75 BEGIN 76 P; 77 END GP; 78 79 PACKAGE BODY PK IS 80 BEGIN 81 P; 82 END PK; 83 84 85 PROCEDURE GP_DEF1 IS 86 BEGIN 87 P; 88 END GP_DEF1; 89 90 PROCEDURE GP_DEF2 IS 91 BEGIN 92 P; 93 END GP_DEF2; 94 95 PACKAGE BODY PK_DEF1 IS 96 BEGIN 97 P; 98 END PK_DEF1; 99 100 PACKAGE BODY PK_DEF2 IS 101 BEGIN 102 P; 103 END PK_DEF2; 104 105 TASK BODY TSK IS 106 BEGIN 107 LOOP 108 SELECT 109 ACCEPT ENT DO 110 COUNTER := COUNTER + 1; 111 END ENT; 112 OR 113 TERMINATE; 114 END SELECT; 115 END LOOP; 116 END TSK; 117 118 BEGIN 119 DECLARE 120 PROCEDURE P1 IS NEW GP (TSK.ENT); 121 PROCEDURE E RENAMES TSK.ENT; 122 PROCEDURE P2 IS NEW GP (E); 123 PACKAGE PK1 IS NEW PK (TSK.ENT); 124 PACKAGE PK2 IS NEW PK (E); 125 126 PROCEDURE P3 IS NEW GP_DEF1; 127 PROCEDURE P4 IS NEW GP_DEF2; 128 PACKAGE PK3 IS NEW PK_DEF1; 129 PACKAGE PK4 IS NEW PK_DEF2; 130 BEGIN 131 P1; 132 P2; 133 TSK.ENT; 134 E; 135 P3; 136 P4; 137 END; 138 TSK.ENT; 139 END; 140 141 IF COUNTER /= 11 THEN 142 FAILED ("INCORRECT CALL OF ENTRY AS GENERIC PARAMETER"); 143 END IF; 144 145 RESULT; 146END CC3602A; 147