annotate gcc/testsuite/ada/acats/tests/c4/c45282b.ada @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 -- C45282B.ADA
kono
parents:
diff changeset
2
kono
parents:
diff changeset
3 -- Grant of Unlimited Rights
kono
parents:
diff changeset
4 --
kono
parents:
diff changeset
5 -- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
kono
parents:
diff changeset
6 -- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
kono
parents:
diff changeset
7 -- unlimited rights in the software and documentation contained herein.
kono
parents:
diff changeset
8 -- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
kono
parents:
diff changeset
9 -- this public release, the Government intends to confer upon all
kono
parents:
diff changeset
10 -- recipients unlimited rights equal to those held by the Government.
kono
parents:
diff changeset
11 -- These rights include rights to use, duplicate, release or disclose the
kono
parents:
diff changeset
12 -- released technical data and computer software in whole or in part, in
kono
parents:
diff changeset
13 -- any manner and for any purpose whatsoever, and to have or permit others
kono
parents:
diff changeset
14 -- to do so.
kono
parents:
diff changeset
15 --
kono
parents:
diff changeset
16 -- DISCLAIMER
kono
parents:
diff changeset
17 --
kono
parents:
diff changeset
18 -- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
kono
parents:
diff changeset
19 -- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
kono
parents:
diff changeset
20 -- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
kono
parents:
diff changeset
21 -- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
kono
parents:
diff changeset
22 -- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
kono
parents:
diff changeset
23 -- PARTICULAR PURPOSE OF SAID MATERIAL.
kono
parents:
diff changeset
24 --*
kono
parents:
diff changeset
25 -- CHECK THAT IN AND NOT IN ARE EVALUATED CORRECTLY FOR :
kono
parents:
diff changeset
26 -- D) ACCESS TO RECORD, PRIVATE, AND LIMITED PRIVATE TYPES WITH
kono
parents:
diff changeset
27 -- DISCRIMINANTS (WITH AND WITHOUT DEFAULT VALUES), WHERE THE
kono
parents:
diff changeset
28 -- TYPE MARK DENOTES A CONSTRAINED AND UNCONSTRAINED TYPE;
kono
parents:
diff changeset
29 -- E) ACCESS TO TASK TYPES.
kono
parents:
diff changeset
30
kono
parents:
diff changeset
31 -- TBN 8/8/86
kono
parents:
diff changeset
32
kono
parents:
diff changeset
33 WITH REPORT; USE REPORT;
kono
parents:
diff changeset
34 PROCEDURE C45282B IS
kono
parents:
diff changeset
35
kono
parents:
diff changeset
36 SUBTYPE INT IS INTEGER RANGE 1 .. 5;
kono
parents:
diff changeset
37
kono
parents:
diff changeset
38 PACKAGE P IS
kono
parents:
diff changeset
39 TYPE PRI_REC1 (D : INT) IS PRIVATE;
kono
parents:
diff changeset
40 TYPE PRI_REC2 (D : INT := 2) IS PRIVATE;
kono
parents:
diff changeset
41 FUNCTION INIT_PREC1 (A : INT; B : STRING) RETURN PRI_REC1;
kono
parents:
diff changeset
42 FUNCTION INIT_PREC2 (A : INT; B : STRING) RETURN PRI_REC2;
kono
parents:
diff changeset
43 TYPE LIM_REC1 (D : INT) IS LIMITED PRIVATE;
kono
parents:
diff changeset
44 TYPE ACC_LIM1 IS ACCESS LIM_REC1;
kono
parents:
diff changeset
45 SUBTYPE ACC_SUB_LIM1 IS ACC_LIM1 (2);
kono
parents:
diff changeset
46 PROCEDURE ASSIGN_LIM1 (A : ACC_LIM1; B : INT; C : STRING);
kono
parents:
diff changeset
47 TYPE LIM_REC2 (D : INT := 2) IS LIMITED PRIVATE;
kono
parents:
diff changeset
48 TYPE ACC_LIM2 IS ACCESS LIM_REC2;
kono
parents:
diff changeset
49 SUBTYPE ACC_SUB_LIM2 IS ACC_LIM2 (2);
kono
parents:
diff changeset
50 PROCEDURE ASSIGN_LIM2 (A : ACC_LIM2; B : INT; C : STRING);
kono
parents:
diff changeset
51 PRIVATE
kono
parents:
diff changeset
52 TYPE PRI_REC1 (D : INT) IS
kono
parents:
diff changeset
53 RECORD
kono
parents:
diff changeset
54 STR : STRING (1 .. D);
kono
parents:
diff changeset
55 END RECORD;
kono
parents:
diff changeset
56 TYPE PRI_REC2 (D : INT := 2) IS
kono
parents:
diff changeset
57 RECORD
kono
parents:
diff changeset
58 STR : STRING (1 .. D);
kono
parents:
diff changeset
59 END RECORD;
kono
parents:
diff changeset
60 TYPE LIM_REC1 (D : INT) IS
kono
parents:
diff changeset
61 RECORD
kono
parents:
diff changeset
62 STR : STRING (1 .. D);
kono
parents:
diff changeset
63 END RECORD;
kono
parents:
diff changeset
64 TYPE LIM_REC2 (D : INT := 2) IS
kono
parents:
diff changeset
65 RECORD
kono
parents:
diff changeset
66 STR : STRING (1 .. D);
kono
parents:
diff changeset
67 END RECORD;
kono
parents:
diff changeset
68 END P;
kono
parents:
diff changeset
69
kono
parents:
diff changeset
70 USE P;
kono
parents:
diff changeset
71
kono
parents:
diff changeset
72 TYPE DIS_REC1 (D : INT) IS
kono
parents:
diff changeset
73 RECORD
kono
parents:
diff changeset
74 STR : STRING (1 .. D);
kono
parents:
diff changeset
75 END RECORD;
kono
parents:
diff changeset
76 TYPE DIS_REC2 (D : INT := 5) IS
kono
parents:
diff changeset
77 RECORD
kono
parents:
diff changeset
78 STR : STRING (D .. 8);
kono
parents:
diff changeset
79 END RECORD;
kono
parents:
diff changeset
80
kono
parents:
diff changeset
81 TYPE ACC1_REC1 IS ACCESS DIS_REC1;
kono
parents:
diff changeset
82 SUBTYPE ACC2_REC1 IS ACC1_REC1 (2);
kono
parents:
diff changeset
83 TYPE ACC1_REC2 IS ACCESS DIS_REC2;
kono
parents:
diff changeset
84 SUBTYPE ACC2_REC2 IS ACC1_REC2 (2);
kono
parents:
diff changeset
85 REC1 : ACC1_REC1;
kono
parents:
diff changeset
86 REC2 : ACC2_REC1;
kono
parents:
diff changeset
87 REC3 : ACC1_REC2;
kono
parents:
diff changeset
88 REC4 : ACC2_REC2;
kono
parents:
diff changeset
89 TYPE ACC_PREC1 IS ACCESS PRI_REC1;
kono
parents:
diff changeset
90 SUBTYPE ACC_SREC1 IS ACC_PREC1 (2);
kono
parents:
diff changeset
91 REC5 : ACC_PREC1;
kono
parents:
diff changeset
92 REC6 : ACC_SREC1;
kono
parents:
diff changeset
93 TYPE ACC_PREC2 IS ACCESS PRI_REC2;
kono
parents:
diff changeset
94 SUBTYPE ACC_SREC2 IS ACC_PREC2 (2);
kono
parents:
diff changeset
95 REC7 : ACC_PREC2;
kono
parents:
diff changeset
96 REC8 : ACC_SREC2;
kono
parents:
diff changeset
97 REC9 : ACC_LIM1;
kono
parents:
diff changeset
98 REC10 : ACC_SUB_LIM1;
kono
parents:
diff changeset
99 REC11 : ACC_LIM2;
kono
parents:
diff changeset
100 REC12 : ACC_SUB_LIM2;
kono
parents:
diff changeset
101
kono
parents:
diff changeset
102 TASK TYPE T IS
kono
parents:
diff changeset
103 ENTRY E (X : INTEGER);
kono
parents:
diff changeset
104 END T;
kono
parents:
diff changeset
105
kono
parents:
diff changeset
106 TASK BODY T IS
kono
parents:
diff changeset
107 BEGIN
kono
parents:
diff changeset
108 ACCEPT E (X : INTEGER) DO
kono
parents:
diff changeset
109 IF X /= IDENT_INT(1) THEN
kono
parents:
diff changeset
110 FAILED ("INCORRECT VALUE PASSED TO TASK");
kono
parents:
diff changeset
111 END IF;
kono
parents:
diff changeset
112 END E;
kono
parents:
diff changeset
113 END T;
kono
parents:
diff changeset
114
kono
parents:
diff changeset
115 PACKAGE BODY P IS
kono
parents:
diff changeset
116 FUNCTION INIT_PREC1 (A : INT; B : STRING) RETURN PRI_REC1 IS
kono
parents:
diff changeset
117 REC : PRI_REC1 (A);
kono
parents:
diff changeset
118 BEGIN
kono
parents:
diff changeset
119 REC := (A, B);
kono
parents:
diff changeset
120 RETURN (REC);
kono
parents:
diff changeset
121 END INIT_PREC1;
kono
parents:
diff changeset
122
kono
parents:
diff changeset
123 FUNCTION INIT_PREC2 (A : INT; B : STRING) RETURN PRI_REC2 IS
kono
parents:
diff changeset
124 REC : PRI_REC2;
kono
parents:
diff changeset
125 BEGIN
kono
parents:
diff changeset
126 REC := (A, B);
kono
parents:
diff changeset
127 RETURN (REC);
kono
parents:
diff changeset
128 END INIT_PREC2;
kono
parents:
diff changeset
129
kono
parents:
diff changeset
130 PROCEDURE ASSIGN_LIM1 (A : ACC_LIM1; B : INT; C : STRING) IS
kono
parents:
diff changeset
131 BEGIN
kono
parents:
diff changeset
132 A.ALL := (B, C);
kono
parents:
diff changeset
133 END ASSIGN_LIM1;
kono
parents:
diff changeset
134
kono
parents:
diff changeset
135 PROCEDURE ASSIGN_LIM2 (A : ACC_LIM2; B : INT; C : STRING) IS
kono
parents:
diff changeset
136 BEGIN
kono
parents:
diff changeset
137 A.ALL := (B, C);
kono
parents:
diff changeset
138 END ASSIGN_LIM2;
kono
parents:
diff changeset
139 END P;
kono
parents:
diff changeset
140
kono
parents:
diff changeset
141 BEGIN
kono
parents:
diff changeset
142
kono
parents:
diff changeset
143 TEST ("C45282B", "CHECK THAT IN AND NOT IN ARE EVALUATED FOR " &
kono
parents:
diff changeset
144 "ACCESS TYPES TO RECORD TYPES, PRIVATE TYPES, " &
kono
parents:
diff changeset
145 "LIMITED PRIVATE TYPES WITH DISCRIMINANTS, AND " &
kono
parents:
diff changeset
146 "TASK TYPES");
kono
parents:
diff changeset
147
kono
parents:
diff changeset
148 -- CASE D
kono
parents:
diff changeset
149 ------------------------------------------------------------------------
kono
parents:
diff changeset
150 IF REC1 NOT IN ACC1_REC1 THEN
kono
parents:
diff changeset
151 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 1");
kono
parents:
diff changeset
152 END IF;
kono
parents:
diff changeset
153 IF REC1 IN ACC2_REC1 THEN
kono
parents:
diff changeset
154 NULL;
kono
parents:
diff changeset
155 ELSE
kono
parents:
diff changeset
156 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 2");
kono
parents:
diff changeset
157 END IF;
kono
parents:
diff changeset
158 IF REC2 NOT IN ACC1_REC1 THEN
kono
parents:
diff changeset
159 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 3");
kono
parents:
diff changeset
160 END IF;
kono
parents:
diff changeset
161 REC1 := NEW DIS_REC1'(5, "12345");
kono
parents:
diff changeset
162 IF REC1 IN ACC1_REC1 THEN
kono
parents:
diff changeset
163 NULL;
kono
parents:
diff changeset
164 ELSE
kono
parents:
diff changeset
165 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 4");
kono
parents:
diff changeset
166 END IF;
kono
parents:
diff changeset
167 IF REC1 IN ACC2_REC1 THEN
kono
parents:
diff changeset
168 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 5");
kono
parents:
diff changeset
169 END IF;
kono
parents:
diff changeset
170 REC2 := NEW DIS_REC1'(2, "HI");
kono
parents:
diff changeset
171 IF REC2 IN ACC1_REC1 THEN
kono
parents:
diff changeset
172 NULL;
kono
parents:
diff changeset
173 ELSE
kono
parents:
diff changeset
174 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 6");
kono
parents:
diff changeset
175 END IF;
kono
parents:
diff changeset
176
kono
parents:
diff changeset
177 ------------------------------------------------------------------------
kono
parents:
diff changeset
178
kono
parents:
diff changeset
179 IF REC3 IN ACC1_REC2 THEN
kono
parents:
diff changeset
180 NULL;
kono
parents:
diff changeset
181 ELSE
kono
parents:
diff changeset
182 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 7");
kono
parents:
diff changeset
183 END IF;
kono
parents:
diff changeset
184 IF REC3 NOT IN ACC2_REC2 THEN
kono
parents:
diff changeset
185 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 8");
kono
parents:
diff changeset
186 END IF;
kono
parents:
diff changeset
187 IF REC4 IN ACC1_REC2 THEN
kono
parents:
diff changeset
188 NULL;
kono
parents:
diff changeset
189 ELSE
kono
parents:
diff changeset
190 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 9");
kono
parents:
diff changeset
191 END IF;
kono
parents:
diff changeset
192 REC3 := NEW DIS_REC2'(5, "5678");
kono
parents:
diff changeset
193 IF REC3 IN ACC1_REC2 THEN
kono
parents:
diff changeset
194 NULL;
kono
parents:
diff changeset
195 ELSE
kono
parents:
diff changeset
196 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 10");
kono
parents:
diff changeset
197 END IF;
kono
parents:
diff changeset
198 IF REC3 IN ACC2_REC2 THEN
kono
parents:
diff changeset
199 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 11");
kono
parents:
diff changeset
200 END IF;
kono
parents:
diff changeset
201 REC4 := NEW DIS_REC2'(2, "2345678");
kono
parents:
diff changeset
202 IF REC4 IN ACC1_REC2 THEN
kono
parents:
diff changeset
203 NULL;
kono
parents:
diff changeset
204 ELSE
kono
parents:
diff changeset
205 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 12");
kono
parents:
diff changeset
206 END IF;
kono
parents:
diff changeset
207 IF REC4 NOT IN ACC2_REC2 THEN
kono
parents:
diff changeset
208 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 13");
kono
parents:
diff changeset
209 END IF;
kono
parents:
diff changeset
210
kono
parents:
diff changeset
211 ------------------------------------------------------------------------
kono
parents:
diff changeset
212
kono
parents:
diff changeset
213 IF REC5 NOT IN ACC_PREC1 THEN
kono
parents:
diff changeset
214 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 14");
kono
parents:
diff changeset
215 END IF;
kono
parents:
diff changeset
216 IF REC5 NOT IN ACC_SREC1 THEN
kono
parents:
diff changeset
217 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 15");
kono
parents:
diff changeset
218 END IF;
kono
parents:
diff changeset
219 IF REC6 NOT IN ACC_PREC1 THEN
kono
parents:
diff changeset
220 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 16");
kono
parents:
diff changeset
221 END IF;
kono
parents:
diff changeset
222 REC5 := NEW PRI_REC1'(INIT_PREC1 (5, "12345"));
kono
parents:
diff changeset
223 IF REC5 IN ACC_PREC1 THEN
kono
parents:
diff changeset
224 NULL;
kono
parents:
diff changeset
225 ELSE
kono
parents:
diff changeset
226 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 17");
kono
parents:
diff changeset
227 END IF;
kono
parents:
diff changeset
228 IF REC5 IN ACC_SREC1 THEN
kono
parents:
diff changeset
229 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 18");
kono
parents:
diff changeset
230 END IF;
kono
parents:
diff changeset
231 REC6 := NEW PRI_REC1'(INIT_PREC1 (2, "HI"));
kono
parents:
diff changeset
232 IF REC6 IN ACC_PREC1 THEN
kono
parents:
diff changeset
233 NULL;
kono
parents:
diff changeset
234 ELSE
kono
parents:
diff changeset
235 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 19");
kono
parents:
diff changeset
236 END IF;
kono
parents:
diff changeset
237
kono
parents:
diff changeset
238 ------------------------------------------------------------------------
kono
parents:
diff changeset
239
kono
parents:
diff changeset
240 IF REC7 NOT IN ACC_PREC2 THEN
kono
parents:
diff changeset
241 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 20");
kono
parents:
diff changeset
242 END IF;
kono
parents:
diff changeset
243 IF REC7 NOT IN ACC_SREC2 THEN
kono
parents:
diff changeset
244 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 21");
kono
parents:
diff changeset
245 END IF;
kono
parents:
diff changeset
246 IF REC8 NOT IN ACC_PREC2 THEN
kono
parents:
diff changeset
247 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 22");
kono
parents:
diff changeset
248 END IF;
kono
parents:
diff changeset
249 REC7 := NEW PRI_REC2'(INIT_PREC2 (5, "12345"));
kono
parents:
diff changeset
250 IF REC7 IN ACC_PREC2 THEN
kono
parents:
diff changeset
251 NULL;
kono
parents:
diff changeset
252 ELSE
kono
parents:
diff changeset
253 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 23");
kono
parents:
diff changeset
254 END IF;
kono
parents:
diff changeset
255 IF REC7 IN ACC_SREC2 THEN
kono
parents:
diff changeset
256 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 24");
kono
parents:
diff changeset
257 END IF;
kono
parents:
diff changeset
258 REC8 := NEW PRI_REC2'(INIT_PREC2 (2, "HI"));
kono
parents:
diff changeset
259 IF REC8 IN ACC_PREC2 THEN
kono
parents:
diff changeset
260 NULL;
kono
parents:
diff changeset
261 ELSE
kono
parents:
diff changeset
262 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 25");
kono
parents:
diff changeset
263 END IF;
kono
parents:
diff changeset
264
kono
parents:
diff changeset
265 ------------------------------------------------------------------------
kono
parents:
diff changeset
266
kono
parents:
diff changeset
267 IF REC9 NOT IN ACC_LIM1 THEN
kono
parents:
diff changeset
268 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 26");
kono
parents:
diff changeset
269 END IF;
kono
parents:
diff changeset
270 IF REC9 NOT IN ACC_SUB_LIM1 THEN
kono
parents:
diff changeset
271 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 27");
kono
parents:
diff changeset
272 END IF;
kono
parents:
diff changeset
273 IF REC10 NOT IN ACC_LIM1 THEN
kono
parents:
diff changeset
274 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 28");
kono
parents:
diff changeset
275 END IF;
kono
parents:
diff changeset
276 REC9 := NEW LIM_REC1 (5);
kono
parents:
diff changeset
277 ASSIGN_LIM1 (REC9, 5, "12345");
kono
parents:
diff changeset
278 IF REC9 IN ACC_LIM1 THEN
kono
parents:
diff changeset
279 NULL;
kono
parents:
diff changeset
280 ELSE
kono
parents:
diff changeset
281 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 29");
kono
parents:
diff changeset
282 END IF;
kono
parents:
diff changeset
283 IF REC9 IN ACC_SUB_LIM1 THEN
kono
parents:
diff changeset
284 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 30");
kono
parents:
diff changeset
285 END IF;
kono
parents:
diff changeset
286 REC10 := NEW LIM_REC1 (2);
kono
parents:
diff changeset
287 ASSIGN_LIM1 (REC10, 2, "12");
kono
parents:
diff changeset
288 IF REC10 IN ACC_LIM1 THEN
kono
parents:
diff changeset
289 NULL;
kono
parents:
diff changeset
290 ELSE
kono
parents:
diff changeset
291 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 31");
kono
parents:
diff changeset
292 END IF;
kono
parents:
diff changeset
293
kono
parents:
diff changeset
294 ------------------------------------------------------------------------
kono
parents:
diff changeset
295
kono
parents:
diff changeset
296 IF REC11 NOT IN ACC_LIM2 THEN
kono
parents:
diff changeset
297 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 32");
kono
parents:
diff changeset
298 END IF;
kono
parents:
diff changeset
299 IF REC11 NOT IN ACC_SUB_LIM2 THEN
kono
parents:
diff changeset
300 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 33");
kono
parents:
diff changeset
301 END IF;
kono
parents:
diff changeset
302 IF REC12 NOT IN ACC_LIM2 THEN
kono
parents:
diff changeset
303 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 34");
kono
parents:
diff changeset
304 END IF;
kono
parents:
diff changeset
305 REC11 := NEW LIM_REC2;
kono
parents:
diff changeset
306 IF REC11 NOT IN ACC_SUB_LIM2 THEN
kono
parents:
diff changeset
307 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 35");
kono
parents:
diff changeset
308 END IF;
kono
parents:
diff changeset
309 ASSIGN_LIM2 (REC11, 2, "12");
kono
parents:
diff changeset
310 IF REC11 IN ACC_LIM2 THEN
kono
parents:
diff changeset
311 NULL;
kono
parents:
diff changeset
312 ELSE
kono
parents:
diff changeset
313 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 36");
kono
parents:
diff changeset
314 END IF;
kono
parents:
diff changeset
315 IF REC11 IN ACC_SUB_LIM2 THEN
kono
parents:
diff changeset
316 NULL;
kono
parents:
diff changeset
317 ELSE
kono
parents:
diff changeset
318 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 37");
kono
parents:
diff changeset
319 END IF;
kono
parents:
diff changeset
320 REC12 := NEW LIM_REC2;
kono
parents:
diff changeset
321 ASSIGN_LIM2 (REC12, 2, "12");
kono
parents:
diff changeset
322 IF REC12 IN ACC_LIM2 THEN
kono
parents:
diff changeset
323 NULL;
kono
parents:
diff changeset
324 ELSE
kono
parents:
diff changeset
325 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 38");
kono
parents:
diff changeset
326 END IF;
kono
parents:
diff changeset
327
kono
parents:
diff changeset
328 -- CASE E
kono
parents:
diff changeset
329 ------------------------------------------------------------------------
kono
parents:
diff changeset
330 DECLARE
kono
parents:
diff changeset
331 TYPE ACC_TASK IS ACCESS T;
kono
parents:
diff changeset
332 T1 : ACC_TASK;
kono
parents:
diff changeset
333 BEGIN
kono
parents:
diff changeset
334 IF T1 NOT IN ACC_TASK THEN
kono
parents:
diff changeset
335 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 39");
kono
parents:
diff changeset
336 END IF;
kono
parents:
diff changeset
337 T1 := NEW T;
kono
parents:
diff changeset
338 IF T1 IN ACC_TASK THEN
kono
parents:
diff changeset
339 NULL;
kono
parents:
diff changeset
340 ELSE
kono
parents:
diff changeset
341 FAILED ("INCORRECT RESULTS FOR ACCESS TYPES - 38");
kono
parents:
diff changeset
342 END IF;
kono
parents:
diff changeset
343 T1.E (1);
kono
parents:
diff changeset
344 END;
kono
parents:
diff changeset
345
kono
parents:
diff changeset
346 RESULT;
kono
parents:
diff changeset
347 END C45282B;