1-- C48008C.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-- FOR ALLOCATORS OF THE FORM "NEW T X", CHECK THAT CONSTRAINT_ERROR IS
26-- RAISED IF T IS AN UNCONSTRAINED ARRAY TYPE WITH INDEX SUBTYPE(S) S, X
27-- IS AN INDEX CONSTRAINT, AND THE BOUNDS OF X ARE NOT COMPATIBLE WITH
28-- AN INDEX SUBTYPE OF T.
29
30-- RM 01/08/80
31-- NL 10/13/81
32-- EG 07/05/84
33
34WITH REPORT;
35
36PROCEDURE C48008C IS
37
38     USE REPORT;
39
40BEGIN
41
42     TEST("C48008C","FOR ALLOCATORS OF THE FORM 'NEW T X', CHECK " &
43                    "THAT CONSTRAINT_ERROR IS RAISED WHEN " &
44                    "APPROPRIATE - UNCONSTRAINED ARRAY TYPE");
45
46     DECLARE
47
48          SUBTYPE  TWO  IS  INTEGER RANGE 1..2;
49          TYPE  TF IS ARRAY( TWO RANGE <> ,  TWO RANGE <> ) OF INTEGER;
50          TYPE  ATF  IS  ACCESS TF;
51          VF  : ATF;
52
53     BEGIN
54
55          BEGIN
56               VF  :=  NEW TF ( 0..1 , 1..2 );
57               FAILED ("NO EXCEPTION RAISED - CASE 1");
58          EXCEPTION
59               WHEN CONSTRAINT_ERROR =>
60                    NULL;
61               WHEN OTHERS =>
62                    FAILED ("WRONG EXCEPTION RAISED - CASE 1");
63          END;
64
65          BEGIN
66               VF := NEW TF(1 .. 2, 2 .. IDENT_INT(3));
67               FAILED ("NO EXCEPTION RAISED - CASE 2");
68          EXCEPTION
69               WHEN CONSTRAINT_ERROR =>
70                    NULL;
71               WHEN OTHERS =>
72                    FAILED ("WRONG EXCEPTION RAISED - CASE 2");
73          END;
74
75     END;
76
77     RESULT;
78
79END C48008C;
80