1-- CA5004A.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-- CHECK THAT IF PRAGMA ELABORATE IS APPLIED TO A PACKAGE THAT DECLARES 26-- A TASK OBJECT, THE IMPLICIT PACKAGE BODY IS ELABORATED AND THE TASK 27-- IS ACTIVATED. 28 29-- BHS 8/03/84 30-- JRK 9/20/84 31-- PWN 01/31/95 ADDED A PROCEDURE TO REQUIRE A BODY FOR ADA 9X. 32 33 34PACKAGE CA5004A0 IS 35 36 TASK TYPE TSK IS 37 ENTRY E (VAR : OUT INTEGER); 38 END TSK; 39 40END CA5004A0; 41 42 43PACKAGE BODY CA5004A0 IS 44 45 TASK BODY TSK IS 46 BEGIN 47 ACCEPT E (VAR : OUT INTEGER) DO 48 VAR := 4; 49 END E; 50 END TSK; 51 52END CA5004A0; 53 54 55WITH CA5004A0; USE CA5004A0; PRAGMA ELABORATE (CA5004A0); 56PACKAGE CA5004A1 IS 57 58 T : TSK; 59 60END CA5004A1; 61 62 63PACKAGE CA5004A2 IS 64 PROCEDURE REQUIRE_BODY; 65END CA5004A2; 66 67 68WITH REPORT; USE REPORT; 69WITH CA5004A1; USE CA5004A1; 70PRAGMA ELABORATE (CA5004A1, REPORT); 71PACKAGE BODY CA5004A2 IS 72 73 I : INTEGER := 1; 74 75 PROCEDURE REQUIRE_BODY IS 76 BEGIN 77 NULL; 78 END; 79BEGIN 80 81 TEST ("CA5004A", "APPLYING PRAGMA ELABORATE TO A PACKAGE " & 82 "DECLARING A TASK OBJECT CAUSES IMPLICIT " & 83 "BODY ELABORATION AND TASK ACTIVATION"); 84 85 SELECT 86 T.E(I); 87 IF I /= 4 THEN 88 FAILED ("TASK NOT EXECUTED PROPERLY"); 89 END IF; 90 OR 91 DELAY 10.0; 92 FAILED ("TASK NOT ACTIVATED AFTER 10 SECONDS"); 93 END SELECT; 94 95END CA5004A2; 96 97 98WITH CA5004A2; 99WITH REPORT; USE REPORT; 100PROCEDURE CA5004A IS 101BEGIN 102 103 RESULT; 104 105END CA5004A; 106