Remove old autovect-branch by moving to "dead" directory.
[official-gcc.git] / old-autovect-branch / gcc / testsuite / ada / acats / tests / c3 / c36204b.ada
blob82f6b9369a4e385d95b2beadb2d73b2bf194e279
1 -- C36204B.ADA
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.
16 -- DISCLAIMER
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 -- CHECK THAT EACH ARRAY ATTRIBUTE YIELDS THE CORRECT VALUES WITH
27 -- ACCESS VALUES AND FUNCTION CALLS AS THE PREFIXES.
29 -- HISTORY:
30 -- L.BROWN 08/05/86
31 -- DWC 07/24/87 DELETED BLANK AT END OF TEST DESCRIPTION.
33 WITH REPORT; USE REPORT;
35 PROCEDURE C36204B IS
37 BEGIN
38 TEST("C36204B", "ARRAY ATTRIBUTES RETURN CORRECT VALUES " &
39 "FOR ACCESS VALUES AND FUNCTION CALLS AS " &
40 "PREFIXES");
41 DECLARE
42 TYPE ARR1 IS ARRAY (INTEGER RANGE IDENT_INT(1) ..
43 IDENT_INT(10)) OF INTEGER ;
44 TYPE ARR2 IS ARRAY (BOOLEAN,
45 INTEGER RANGE IDENT_INT(1) ..
46 IDENT_INT(3)) OF INTEGER ;
48 TYPE PTR1 IS ACCESS ARR1;
49 TYPE PTR2 IS ACCESS ARR2;
51 PT1 : PTR1 := NEW ARR1'(ARR1'RANGE => 0);
52 PT2 : PTR2 := NEW ARR2'(ARR2'RANGE(1) =>
53 (ARR2'RANGE(2) => 0));
54 SUBTYPE ARR1_RANGE IS INTEGER RANGE PT1'RANGE;
55 BEGIN
56 IF PT1'FIRST /= IDENT_INT(1) THEN
57 FAILED("INCORRECT ATTRIBUTE VALUE FOR ONE-DIM " &
58 "ARRAY USING ACCESS TYPES AS PREFIXES 1");
59 END IF;
61 IF PT2'FIRST(2) /= IDENT_INT(1) THEN
62 FAILED("INCORRECT ATTRIBUTE VALUE FOR TWO-DIM " &
63 "ARRAY USING ACCESS TYPES AS PREFIXES 1");
64 END IF;
66 IF ARR1_RANGE'FIRST /= IDENT_INT(1) THEN
67 FAILED("INCORRECT ATTRIBUTE VALUE FOR ONE-DIM " &
68 "ARRAY USING ACCESS TYPES AS PREFIXES 2");
69 END IF;
71 IF PT1'LAST /= IDENT_INT(10) THEN
72 FAILED("INCORRECT ATTRIBUTE VALUE FOR ONE-DIM " &
73 "ARRAY USING ACCESS TYPES AS PREFIXES 3");
74 END IF;
76 IF PT2'LAST(2) /= IDENT_INT(3) THEN
77 FAILED("INCORRECT ATTRIBUTE VALUE FOR TWO-DIM " &
78 "ARRAY USING ACCESS TYPES AS PREFIXES 2");
79 END IF;
81 IF ARR1_RANGE'LAST /= IDENT_INT(10) THEN
82 FAILED("INCORRECT ATTRIBUTE VALUE FOR ONE-DIM " &
83 "ARRAY USING ACCESS TYPES AS PREFIXES 4");
84 END IF;
86 IF PT1'LENGTH /= IDENT_INT(10) THEN
87 FAILED("INCORRECT ATTRIBUTE VALUE FOR ONE-DIM " &
88 "ARRAY USING ACCESS TYPES AS PREFIXES 5");
89 END IF;
91 IF PT2'LENGTH(2) /= IDENT_INT(3) THEN
92 FAILED("INCORRECT ATTRIBUTE VALUE FOR TWO-DIM " &
93 "ARRAY USING ACCESS TYPES AS PREFIXES 3");
94 END IF;
96 END;
98 DECLARE
100 TYPE UNCON IS ARRAY (INTEGER RANGE <>) OF INTEGER ;
101 TYPE UNCON2 IS ARRAY (INTEGER RANGE <>,
102 INTEGER RANGE <>) OF INTEGER ;
104 ARY1 : STRING(IDENT_INT(5) .. IDENT_INT(8));
105 F : INTEGER := IDENT_INT(1);
106 L : INTEGER := IDENT_INT(3);
108 FUNCTION FUN( LO,HI : INTEGER ) RETURN UNCON IS
109 ARR : UNCON(IDENT_INT(LO) .. IDENT_INT(HI));
110 BEGIN
111 ARR := (ARR'RANGE => 0);
112 RETURN ARR;
113 END FUN;
115 FUNCTION FUN2( LO,HI : INTEGER ) RETURN UNCON2 IS
116 AR2 : UNCON2(IDENT_INT(LO) .. IDENT_INT(HI),
117 IDENT_INT(LO) .. IDENT_INT(HI));
118 BEGIN
119 AR2 := (AR2'RANGE(1) =>(AR2'RANGE(2) => 0));
120 RETURN AR2;
121 END FUN2;
122 BEGIN
124 ARY1 := (ARY1'RANGE => 'A');
126 IF FUN(F,L)'FIRST /= IDENT_INT(1) THEN
127 FAILED("INCORRECT ATTRIBUTE VALUE FOR ONE-DIM " &
128 "ARRAY USING FUNCTION RESULTS AS " &
129 "PREFIXES 1");
130 END IF;
132 IF FUN2(F,L)'FIRST(2) /= IDENT_INT(1) THEN
133 FAILED("INCORRECT ATTRIBUTE VALUE FOR TWO-DIM " &
134 "ARRAY USING FUNCTION RESULTS AS " &
135 "PREFIXES 1");
136 END IF;
138 IF "&"(ARY1,"XX")'FIRST /= IDENT_INT(5) THEN
139 FAILED("INCORRECT ATTRIBUTE VALUE FOR ONE-DIM " &
140 "ARRAY USING FUNCTION RESULTS AS " &
141 "PREFIXES 2");
142 END IF;
144 IF FUN(F,L)'LAST /= IDENT_INT(3) THEN
145 FAILED("INCORRECT ATTRIBUTE VALUE FOR ONE-DIM " &
146 "ARRAY USING FUNCTION RESULTS AS " &
147 "PREFIXES 3");
148 END IF;
150 IF FUN2(F,L)'LAST(2) /= IDENT_INT(3) THEN
151 FAILED("INCORRECT ATTRIBUTE VALUE FOR TWO-DIM " &
152 "ARRAY USING FUNCTION RESULTS AS " &
153 "PREFIXES 2");
154 END IF;
156 IF "&"(ARY1,"YY")'LAST /= IDENT_INT(10) THEN
157 FAILED("INCORRECT ATTRIBUTE VALUE FOR ONE-DIM " &
158 "ARRAY USING FUNCTION RESULTS AS " &
159 "PREFIXES 4");
160 END IF;
162 IF FUN(F,L)'LENGTH /= IDENT_INT(3) THEN
163 FAILED("INCORRECT ATTRIBUTE VALUE FOR ONE-DIM " &
164 "ARRAY USING FUNCTION RESULTS AS " &
165 "PREFIXES 5");
166 END IF;
168 IF FUN2(F,L)'LENGTH(2) /= IDENT_INT(3) THEN
169 FAILED("INCORRECT ATTRIBUTE VALUE FOR TWO-DIM " &
170 "ARRAY USING FUNCTION RESULTS AS " &
171 "PREFIXES 3");
172 END IF;
174 IF "&"(ARY1,"XX")'LENGTH /= IDENT_INT(6) THEN
175 FAILED("INCORRECT ATTRIBUTE VALUE FOR ONE-DIM " &
176 "ARRAY USING FUNCTION RESULTS AS " &
177 "PREFIXES 6");
178 END IF;
180 DECLARE
182 SUBTYPE SMIN IS INTEGER RANGE FUN(F,L)'RANGE;
183 SUBTYPE SMIN2 IS INTEGER RANGE FUN2(F,L)'RANGE(2);
184 SUBTYPE SMIN3 IS INTEGER RANGE "&"(ARY1,"YY")'RANGE;
186 BEGIN
187 IF SMIN'FIRST /= IDENT_INT(1) THEN
188 FAILED("INCORRECT ATTRIBUTE VALUE FOR " &
189 "ONE-DIM ARRAY USING FUNCTION " &
190 "RESULTS AS PREFIXES 7");
191 END IF;
193 IF SMIN2'FIRST /= IDENT_INT(1) THEN
194 FAILED("INCORRECT ATTRIBUTE VALUE FOR " &
195 "TWO-DIM ARRAY USING FUNCTION " &
196 "RESULTS AS PREFIXES 4");
197 END IF;
199 IF SMIN3'FIRST /= IDENT_INT(5) THEN
200 FAILED("INCORRECT ATTRIBUTE VALUE FOR " &
201 "ONE-DIM ARRAY USING FUNCTION " &
202 "RESULTS AS PREFIXES 8");
203 END IF;
205 IF SMIN'LAST /= IDENT_INT(3) THEN
206 FAILED("INCORRECT ATTRIBUTE VALUE FOR " &
207 "ONE-DIM ARRAY USING FUNCTION " &
208 "RESULTS AS PREFIXES 9");
209 END IF;
211 IF SMIN2'LAST /= IDENT_INT(3) THEN
212 FAILED("INCORRECT ATTRIBUTE VALUE FOR " &
213 "TWO-DIM ARRAY USING FUNCTION " &
214 "RESULTS AS PREFIXES 5");
215 END IF;
217 IF SMIN3'LAST /= IDENT_INT(10) THEN
218 FAILED("INCORRECT ATTRIBUTE VALUE FOR " &
219 "ONE-DIM ARRAY USING FUNCTION " &
220 "RESULTS AS PREFIXES 10");
221 END IF;
223 END;
225 END;
227 RESULT;
229 END C36204B;