1-- CD2B16A.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-- IF A COLLECTION SIZE CLAUSE IS GIVEN FOR A PARENT ACCESS TYPE, 27-- THEN THE DERIVED TYPE HAS THE SAME COLLECTION SIZE, WHETHER THE 28-- DERIVED TYPE IS DECLARED BEFORE OR AFTER THE PARENT COLLECTION 29-- SIZE SPECIFICATION. 30 31-- HISTORY: 32-- DHH 09/29/87 CREATED ORIGINAL TEST. 33-- PWB 05/11/89 CHANGED EXTENSION FROM '.DEP' TO '.ADA'. 34 35WITH SYSTEM; 36WITH REPORT; USE REPORT; 37PROCEDURE CD2B16A IS 38BEGIN 39 TEST ("CD2B16A", "IF A COLLECTION SIZE IS GIVEN FOR A " & 40 "PARENT ACCESS TYPE, THEN THE DERIVED TYPE HAS " & 41 "THE SAME COLLECTION SIZE, WHETHER THE " & 42 "DERIVED TYPE IS DECLARED BEFORE OR AFTER " & 43 "THE PARENT COLLECTION SIZE SPECIFICATION"); 44 45 DECLARE 46 47 COLLECTION_SIZE : CONSTANT :=128; 48 TYPE V IS ARRAY(1..4) OF INTEGER; 49 50 TYPE CELL IS 51 RECORD 52 VALUE : V; 53 END RECORD; 54 55 TYPE LINK IS ACCESS CELL; 56 TYPE NEWLINK1 IS NEW LINK; 57 58 FOR LINK'STORAGE_SIZE USE 59 COLLECTION_SIZE; 60 61 TYPE NEWLINK2 IS NEW LINK; 62 63 BEGIN -- ACTIVE DECLARE 64 65 IF LINK'STORAGE_SIZE < COLLECTION_SIZE THEN 66 FAILED("STORAGE_SIZE SMALLER THAN STORAGE_SIZE " & 67 "SPECIFIED WAS ALLOCATED"); 68 END IF; 69 70 IF LINK'STORAGE_SIZE /= NEWLINK1'STORAGE_SIZE THEN 71 FAILED("STORAGE_SIZE OF THE FIRST DERIVED TYPE" & 72 "IS NOT THE SAME SIZE AS THAT OF THE " & 73 "PARENT"); 74 END IF; 75 76 IF LINK'STORAGE_SIZE /= NEWLINK2'STORAGE_SIZE THEN 77 FAILED("STORAGE_SIZE OF THE SECOND DERIVED TYPE" & 78 "IS NOT THE SAME SIZE AS THAT OF THE " & 79 "PARENT"); 80 END IF; 81 82 END; --ACTIVE DECLARE 83 84 RESULT; 85END CD2B16A; 86