1-- C52101A.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 ARRAY SUBTYPE CONVERSION IS APPLIED AFTER AN ARRAY VALUE 26-- IS DETERMINED. 27 28-- BHS 6/22/84 29 30WITH REPORT; 31PROCEDURE C52101A IS 32 33 USE REPORT; 34 35 TYPE DAY IS (MON, TUE, WED, THU, FRI, SAT, SUN); 36 SUBTYPE WEEKDAY IS DAY RANGE MON..FRI; 37 38 TYPE ARR IS ARRAY (WEEKDAY RANGE <>) OF INTEGER; 39 TYPE ARR_DAY IS ARRAY (DAY RANGE <>) OF INTEGER; 40 41 NORM : ARR (MON..FRI); -- INDEX SUBTYPE WEEKDAY 42 NORM_DAY : ARR_DAY (MON..FRI); -- INDEX SUBTYPE DAY 43 44BEGIN 45 TEST ("C52101A", "CHECK THAT ARRAY SUBTYPE CONVERSION " & 46 "APPLIED AFTER ARRAY VAL. DETERMINED"); 47 48 BEGIN -- ILLEGAL CASE 49 NORM := (WED..SUN => 0); -- ERROR: INDEX SUBTYPE 50 51 FAILED ("EXCEPTION NOT RAISED FOR INDEX SUBTYPE ERROR"); 52 53 EXCEPTION 54 WHEN CONSTRAINT_ERROR => 55 COMMENT ("IMPROPER AGGREGATE BOUNDS DETECTED"); 56 WHEN OTHERS => 57 FAILED ("UNEXPECTED EXCEPTION RAISED"); 58 59 END; 60 61 62 BEGIN -- LEGAL CASE 63 NORM_DAY := (WED..FRI => 0, SAT..SUN => 1); 64 IF NORM_DAY /= ( 0, 0, IDENT_INT(0), IDENT_INT(1), 65 IDENT_INT(1)) THEN 66 FAILED ("INCORRECT ASSIGNMENT IN LEGAL CASE"); 67 END IF; 68 69 EXCEPTION 70 WHEN CONSTRAINT_ERROR => 71 FAILED ("CONSTRAINT_ERROR RAISED ON LEGAL INDEX " & 72 "SUBTYPE CONVERSION"); 73 WHEN OTHERS => 74 FAILED ("UNEXPECTED EXCEPTION RAISED IN LEGAL CASE"); 75 76 END; 77 78 79 RESULT; 80 81END C52101A; 82