1-- C45347C.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 CATENATION IS DEFINED FOR PRIVATE TYPES AS COMPONENT 26-- TYPES. 27 28-- JWC 11/15/85 29 30WITH REPORT; USE REPORT; 31 32PROCEDURE C45347C IS 33 34BEGIN 35 36 TEST ("C45347C", "CHECK THAT CATENATION IS DEFINED " & 37 "FOR PRIVATE TYPES AS COMPONENT TYPES"); 38 39 DECLARE 40 41 PACKAGE PKG IS 42 TYPE PRIV IS PRIVATE; 43 ONE : CONSTANT PRIV; 44 TWO : CONSTANT PRIV; 45 THREE : CONSTANT PRIV; 46 FOUR : CONSTANT PRIV; 47 PRIVATE 48 TYPE PRIV IS NEW INTEGER; 49 ONE : CONSTANT PRIV := 1; 50 TWO : CONSTANT PRIV := 2; 51 THREE : CONSTANT PRIV := 3; 52 FOUR : CONSTANT PRIV := 4; 53 END PKG; 54 55 USE PKG; 56 57 SUBTYPE INT IS INTEGER RANGE 1 .. 4; 58 TYPE A IS ARRAY ( INT RANGE <>) OF PRIV; 59 60 P1 : PRIV := FOUR; 61 P2 : PRIV := ONE; 62 63 A1 : A(1 .. 2) := (ONE, TWO); 64 A2 : A(1 .. 2) := (THREE, FOUR); 65 A3 : A(1 .. 4) := (ONE, TWO, THREE, FOUR); 66 A4 : A(1 .. 4); 67 A5 : A(1 .. 4) := (FOUR, THREE, TWO, ONE); 68 69 BEGIN 70 71 A4 := A1 & A2; 72 73 IF A3 /= A4 THEN 74 FAILED ("INCORRECT CATENATION FOR TWO ARRAYS OF " & 75 "PRIVATE"); 76 END IF; 77 78 A4 := A5; 79 80 A4 := A1 & A2(1) & P1; 81 82 IF A3 /= A4 THEN 83 FAILED ("INCORRECT CATENATION FOR ARRAY OF PRIVATE, " & 84 "AND PRIVATE"); 85 END IF; 86 87 A4 := A5; 88 89 A4 := P2 & (A1(2) & A2); 90 91 IF A3 /= A4 THEN 92 FAILED ("INCORRECT CATENATION FOR PRIVATE, AND ARRAY " & 93 "OF PRIVATE"); 94 END IF; 95 96 A4 := A5; 97 98 A4 := P2 & A1(2) & (A2(1) & P1); 99 100 IF A3 /= A4 THEN 101 FAILED ("INCORRECT CATENATION FOR PRIVATE"); 102 END IF; 103 104 END; 105 106 RESULT; 107 108END C45347C; 109