1-- C38108B.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 AN INCOMPLETE TYPE CAN BE DECLARED IN THE PRIVATE PART OF 26-- A LIBRARY PACKAGE, WITH THE FULL DECLARATION OCCURRING LATER IN A 27-- PACKAGE BODY. 28 29-- AH 8/20/86 30 31PACKAGE C38108B_P IS 32 TYPE L IS LIMITED PRIVATE; 33 PROCEDURE ASSIGN (X : IN INTEGER; Y : IN OUT L); 34 FUNCTION "=" (X, Y : IN L) RETURN BOOLEAN; 35PRIVATE 36 TYPE INC (D : INTEGER); 37 TYPE L IS ACCESS INC; 38END C38108B_P; 39 40PACKAGE BODY C38108B_P IS 41 TYPE INC (D : INTEGER) IS 42 RECORD 43 C : INTEGER; 44 END RECORD; 45 46 PROCEDURE ASSIGN (X : IN INTEGER; Y : IN OUT L) IS 47 BEGIN 48 Y := NEW INC(1); 49 Y.C := X; 50 END ASSIGN; 51 52 FUNCTION "=" (X, Y : IN L) RETURN BOOLEAN IS 53 BEGIN 54 RETURN (X.C = Y.C); 55 END "="; 56 57END C38108B_P; 58 59WITH REPORT; USE REPORT; 60WITH C38108B_P; USE C38108B_P; 61PROCEDURE C38108B IS 62 VAL_1, VAL_2 : L; 63BEGIN 64 65 TEST ("C38108B", "CHECK THAT INCOMPLETE TYPE CAN BE DECLARED IN " & 66 "PRIVATE PART WITHOUT FULL DECLARATION - " & 67 "LIBRARY PACKAGE"); 68 69 ASSIGN (2, VAL_1); 70 ASSIGN (2, VAL_2); 71 IF NOT "=" (VAL_1, VAL_2) THEN 72 FAILED ("INCOMPLETE TYPE NOT FULLY DECLARED"); 73 END IF; 74 75 RESULT; 76END C38108B; 77