annotate gcc/testsuite/ada/acats/tests/c6/c67002a.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 -- C67002A.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 ALL OPERATOR SYMBOLS CAN BE USED IN (OVERLOADED)
kono
parents:
diff changeset
26 -- FUNCTION SPECIFICATIONS WITH THE REQUIRED NUMBER OF PARAMETERS.
kono
parents:
diff changeset
27 -- SUBTESTS ARE:
kono
parents:
diff changeset
28 -- (A) THROUGH (P): "=", "AND", "OR", "XOR", "<", "<=",
kono
parents:
diff changeset
29 -- ">", ">=", "&", "*", "/", "MOD", "REM", "**", "+", "-",
kono
parents:
diff changeset
30 -- RESPECTIVELY. ALL OF THESE HAVE TWO PARAMETERS.
kono
parents:
diff changeset
31 -- (Q), (R), (S), AND (T): "+", "-", "NOT", "ABS", RESPECTIVELY,
kono
parents:
diff changeset
32 -- WITH ONE PARAMETER.
kono
parents:
diff changeset
33
kono
parents:
diff changeset
34 -- CVP 5/7/81
kono
parents:
diff changeset
35 -- JRK 6/1/81
kono
parents:
diff changeset
36 -- CPP 6/25/84
kono
parents:
diff changeset
37
kono
parents:
diff changeset
38 WITH REPORT;
kono
parents:
diff changeset
39 PROCEDURE C67002A IS
kono
parents:
diff changeset
40
kono
parents:
diff changeset
41 USE REPORT;
kono
parents:
diff changeset
42
kono
parents:
diff changeset
43 BEGIN
kono
parents:
diff changeset
44 TEST ("C67002A", "USE OF OPERATOR SYMBOLS IN " &
kono
parents:
diff changeset
45 "(OVERLOADED) FUNCTION SPECIFICATIONS");
kono
parents:
diff changeset
46
kono
parents:
diff changeset
47 -------------------------------------------------
kono
parents:
diff changeset
48
kono
parents:
diff changeset
49 DECLARE -- (A)
kono
parents:
diff changeset
50 PACKAGE EQU IS
kono
parents:
diff changeset
51 TYPE LP IS LIMITED PRIVATE;
kono
parents:
diff changeset
52 FUNCTION "=" (LPA, LPB : LP) RETURN BOOLEAN;
kono
parents:
diff changeset
53 PRIVATE
kono
parents:
diff changeset
54 TYPE LP IS NEW INTEGER;
kono
parents:
diff changeset
55 END EQU;
kono
parents:
diff changeset
56 USE EQU;
kono
parents:
diff changeset
57
kono
parents:
diff changeset
58 LP1, LP2 : LP;
kono
parents:
diff changeset
59
kono
parents:
diff changeset
60 PACKAGE BODY EQU IS
kono
parents:
diff changeset
61 FUNCTION "=" (LPA, LPB : LP) RETURN BOOLEAN IS
kono
parents:
diff changeset
62 BEGIN
kono
parents:
diff changeset
63 RETURN LPA > LPB;
kono
parents:
diff changeset
64 END "=";
kono
parents:
diff changeset
65 BEGIN
kono
parents:
diff changeset
66 LP1 := LP (IDENT_INT (7));
kono
parents:
diff changeset
67 LP2 := LP (IDENT_INT (8));
kono
parents:
diff changeset
68 END EQU;
kono
parents:
diff changeset
69
kono
parents:
diff changeset
70 BEGIN -- (A)
kono
parents:
diff changeset
71 IF (LP1 = LP2) OR NOT (LP2 = LP1) OR
kono
parents:
diff changeset
72 (LP1 = LP1) OR (LP2 /= LP1) THEN
kono
parents:
diff changeset
73 FAILED ("OVERLOADING OF ""="" OPERATOR DEFECTIVE");
kono
parents:
diff changeset
74 END IF;
kono
parents:
diff changeset
75 END; -- (A)
kono
parents:
diff changeset
76
kono
parents:
diff changeset
77 -------------------------------------------------
kono
parents:
diff changeset
78
kono
parents:
diff changeset
79 DECLARE -- (B)
kono
parents:
diff changeset
80 FUNCTION "AND" (I1, I2 : INTEGER) RETURN CHARACTER IS
kono
parents:
diff changeset
81 BEGIN
kono
parents:
diff changeset
82 IF I1 > I2 THEN
kono
parents:
diff changeset
83 RETURN 'G';
kono
parents:
diff changeset
84 ELSE RETURN 'L';
kono
parents:
diff changeset
85 END IF;
kono
parents:
diff changeset
86 END "AND";
kono
parents:
diff changeset
87
kono
parents:
diff changeset
88 BEGIN -- (B)
kono
parents:
diff changeset
89 IF (IDENT_INT (10) AND 1) /= 'G' OR
kono
parents:
diff changeset
90 (5 AND 10) /= 'L' THEN
kono
parents:
diff changeset
91 FAILED ("OVERLOADING OF ""AND"" OPERATOR DEFECTIVE");
kono
parents:
diff changeset
92 END IF;
kono
parents:
diff changeset
93 END; -- (B)
kono
parents:
diff changeset
94
kono
parents:
diff changeset
95 -------------------------------------------------
kono
parents:
diff changeset
96
kono
parents:
diff changeset
97 DECLARE -- (C)
kono
parents:
diff changeset
98 FUNCTION "OR" (I1, I2 : INTEGER) RETURN CHARACTER IS
kono
parents:
diff changeset
99 BEGIN
kono
parents:
diff changeset
100 IF I1 > I2 THEN
kono
parents:
diff changeset
101 RETURN 'G';
kono
parents:
diff changeset
102 ELSE RETURN 'L';
kono
parents:
diff changeset
103 END IF;
kono
parents:
diff changeset
104 END "OR";
kono
parents:
diff changeset
105
kono
parents:
diff changeset
106 BEGIN -- (C)
kono
parents:
diff changeset
107 IF (IDENT_INT (10) OR 1) /= 'G' OR
kono
parents:
diff changeset
108 (5 OR 10) /= 'L' THEN
kono
parents:
diff changeset
109 FAILED ("OVERLOADING OF ""OR"" OPERATOR DEFECTIVE");
kono
parents:
diff changeset
110 END IF;
kono
parents:
diff changeset
111 END; -- (C)
kono
parents:
diff changeset
112
kono
parents:
diff changeset
113 -------------------------------------------------
kono
parents:
diff changeset
114
kono
parents:
diff changeset
115 DECLARE -- (D)
kono
parents:
diff changeset
116 FUNCTION "XOR" (I1, I2 : INTEGER) RETURN CHARACTER IS
kono
parents:
diff changeset
117 BEGIN
kono
parents:
diff changeset
118 IF I1 > I2 THEN
kono
parents:
diff changeset
119 RETURN 'G';
kono
parents:
diff changeset
120 ELSE RETURN 'L';
kono
parents:
diff changeset
121 END IF;
kono
parents:
diff changeset
122 END "XOR";
kono
parents:
diff changeset
123
kono
parents:
diff changeset
124 BEGIN -- (D)
kono
parents:
diff changeset
125 IF (IDENT_INT (10) XOR 1) /= 'G' OR
kono
parents:
diff changeset
126 (5 XOR 10) /= 'L' THEN
kono
parents:
diff changeset
127 FAILED ("OVERLOADING OF ""XOR"" OPERATOR DEFECTIVE");
kono
parents:
diff changeset
128 END IF;
kono
parents:
diff changeset
129 END; -- (D)
kono
parents:
diff changeset
130
kono
parents:
diff changeset
131 -------------------------------------------------
kono
parents:
diff changeset
132
kono
parents:
diff changeset
133 DECLARE -- (E)
kono
parents:
diff changeset
134 FUNCTION "<" (I1, I2 : INTEGER) RETURN CHARACTER IS
kono
parents:
diff changeset
135 BEGIN
kono
parents:
diff changeset
136 IF I1 > I2 THEN
kono
parents:
diff changeset
137 RETURN 'G';
kono
parents:
diff changeset
138 ELSE RETURN 'L';
kono
parents:
diff changeset
139 END IF;
kono
parents:
diff changeset
140 END "<";
kono
parents:
diff changeset
141
kono
parents:
diff changeset
142 BEGIN -- (E)
kono
parents:
diff changeset
143 IF (IDENT_INT (10) < 1) /= 'G' OR
kono
parents:
diff changeset
144 (5 < 10) /= 'L' THEN
kono
parents:
diff changeset
145 FAILED ("OVERLOADING OF ""<"" OPERATOR DEFECTIVE");
kono
parents:
diff changeset
146 END IF;
kono
parents:
diff changeset
147 END; -- (E)
kono
parents:
diff changeset
148
kono
parents:
diff changeset
149 -------------------------------------------------
kono
parents:
diff changeset
150
kono
parents:
diff changeset
151 DECLARE -- (F)
kono
parents:
diff changeset
152 FUNCTION "<=" (I1, I2 : INTEGER) RETURN CHARACTER IS
kono
parents:
diff changeset
153 BEGIN
kono
parents:
diff changeset
154 IF I1 > I2 THEN
kono
parents:
diff changeset
155 RETURN 'G';
kono
parents:
diff changeset
156 ELSE RETURN 'L';
kono
parents:
diff changeset
157 END IF;
kono
parents:
diff changeset
158 END "<=";
kono
parents:
diff changeset
159
kono
parents:
diff changeset
160 BEGIN -- (F)
kono
parents:
diff changeset
161 IF (IDENT_INT (10) <= 1) /= 'G' OR
kono
parents:
diff changeset
162 (5 <= 10) /= 'L' THEN
kono
parents:
diff changeset
163 FAILED ("OVERLOADING OF ""<="" OPERATOR DEFECTIVE");
kono
parents:
diff changeset
164 END IF;
kono
parents:
diff changeset
165 END; -- (F)
kono
parents:
diff changeset
166
kono
parents:
diff changeset
167 -------------------------------------------------
kono
parents:
diff changeset
168
kono
parents:
diff changeset
169 DECLARE -- (G)
kono
parents:
diff changeset
170 FUNCTION ">" (I1, I2 : INTEGER) RETURN CHARACTER IS
kono
parents:
diff changeset
171 BEGIN
kono
parents:
diff changeset
172 IF I1 > I2 THEN
kono
parents:
diff changeset
173 RETURN 'G';
kono
parents:
diff changeset
174 ELSE RETURN 'L';
kono
parents:
diff changeset
175 END IF;
kono
parents:
diff changeset
176 END ">";
kono
parents:
diff changeset
177
kono
parents:
diff changeset
178 BEGIN -- (G)
kono
parents:
diff changeset
179 IF (IDENT_INT (10) > 1) /= 'G' OR
kono
parents:
diff changeset
180 (5 > 10) /= 'L' THEN
kono
parents:
diff changeset
181 FAILED ("OVERLOADING OF "">"" OPERATOR DEFECTIVE");
kono
parents:
diff changeset
182 END IF;
kono
parents:
diff changeset
183 END; -- (G)
kono
parents:
diff changeset
184
kono
parents:
diff changeset
185 -------------------------------------------------
kono
parents:
diff changeset
186
kono
parents:
diff changeset
187 DECLARE -- (H)
kono
parents:
diff changeset
188 FUNCTION ">=" (I1, I2 : INTEGER) RETURN CHARACTER IS
kono
parents:
diff changeset
189 BEGIN
kono
parents:
diff changeset
190 IF I1 > I2 THEN
kono
parents:
diff changeset
191 RETURN 'G';
kono
parents:
diff changeset
192 ELSE RETURN 'L';
kono
parents:
diff changeset
193 END IF;
kono
parents:
diff changeset
194 END ">=";
kono
parents:
diff changeset
195
kono
parents:
diff changeset
196 BEGIN -- (H)
kono
parents:
diff changeset
197 IF (IDENT_INT (10) >= 1) /= 'G' OR
kono
parents:
diff changeset
198 (5 >= 10) /= 'L' THEN
kono
parents:
diff changeset
199 FAILED ("OVERLOADING OF "">="" OPERATOR DEFECTIVE");
kono
parents:
diff changeset
200 END IF;
kono
parents:
diff changeset
201 END; -- (H)
kono
parents:
diff changeset
202
kono
parents:
diff changeset
203 -------------------------------------------------
kono
parents:
diff changeset
204
kono
parents:
diff changeset
205 DECLARE -- (I)
kono
parents:
diff changeset
206 FUNCTION "&" (I1, I2 : INTEGER) RETURN CHARACTER IS
kono
parents:
diff changeset
207 BEGIN
kono
parents:
diff changeset
208 IF I1 > I2 THEN
kono
parents:
diff changeset
209 RETURN 'G';
kono
parents:
diff changeset
210 ELSE RETURN 'L';
kono
parents:
diff changeset
211 END IF;
kono
parents:
diff changeset
212 END "&";
kono
parents:
diff changeset
213
kono
parents:
diff changeset
214 BEGIN -- (I)
kono
parents:
diff changeset
215 IF (IDENT_INT (10) & 1) /= 'G' OR
kono
parents:
diff changeset
216 (5 & 10) /= 'L' THEN
kono
parents:
diff changeset
217 FAILED ("OVERLOADING OF ""&"" OPERATOR DEFECTIVE");
kono
parents:
diff changeset
218 END IF;
kono
parents:
diff changeset
219 END; -- (I)
kono
parents:
diff changeset
220
kono
parents:
diff changeset
221 -------------------------------------------------
kono
parents:
diff changeset
222
kono
parents:
diff changeset
223 DECLARE -- (J)
kono
parents:
diff changeset
224 FUNCTION "*" (I1, I2 : INTEGER) RETURN CHARACTER IS
kono
parents:
diff changeset
225 BEGIN
kono
parents:
diff changeset
226 IF I1 > I2 THEN
kono
parents:
diff changeset
227 RETURN 'G';
kono
parents:
diff changeset
228 ELSE RETURN 'L';
kono
parents:
diff changeset
229 END IF;
kono
parents:
diff changeset
230 END "*";
kono
parents:
diff changeset
231
kono
parents:
diff changeset
232 BEGIN -- (J)
kono
parents:
diff changeset
233 IF (IDENT_INT (10) * 1) /= 'G' OR
kono
parents:
diff changeset
234 (5 * 10) /= 'L' THEN
kono
parents:
diff changeset
235 FAILED ("OVERLOADING OF ""*"" OPERATOR DEFECTIVE");
kono
parents:
diff changeset
236 END IF;
kono
parents:
diff changeset
237 END; -- (J)
kono
parents:
diff changeset
238
kono
parents:
diff changeset
239 -------------------------------------------------
kono
parents:
diff changeset
240
kono
parents:
diff changeset
241 DECLARE -- (K)
kono
parents:
diff changeset
242 FUNCTION "/" (I1, I2 : INTEGER) RETURN CHARACTER IS
kono
parents:
diff changeset
243 BEGIN
kono
parents:
diff changeset
244 IF I1 > I2 THEN
kono
parents:
diff changeset
245 RETURN 'G';
kono
parents:
diff changeset
246 ELSE RETURN 'L';
kono
parents:
diff changeset
247 END IF;
kono
parents:
diff changeset
248 END "/";
kono
parents:
diff changeset
249
kono
parents:
diff changeset
250 BEGIN -- (K)
kono
parents:
diff changeset
251 IF (IDENT_INT (10) / 1) /= 'G' OR
kono
parents:
diff changeset
252 (5 / 10) /= 'L' THEN
kono
parents:
diff changeset
253 FAILED ("OVERLOADING OF ""/"" OPERATOR DEFECTIVE");
kono
parents:
diff changeset
254 END IF;
kono
parents:
diff changeset
255 END; -- (K)
kono
parents:
diff changeset
256
kono
parents:
diff changeset
257 -------------------------------------------------
kono
parents:
diff changeset
258
kono
parents:
diff changeset
259 DECLARE -- (L)
kono
parents:
diff changeset
260 FUNCTION "MOD" (I1, I2 : INTEGER) RETURN CHARACTER IS
kono
parents:
diff changeset
261 BEGIN
kono
parents:
diff changeset
262 IF I1 > I2 THEN
kono
parents:
diff changeset
263 RETURN 'G';
kono
parents:
diff changeset
264 ELSE RETURN 'L';
kono
parents:
diff changeset
265 END IF;
kono
parents:
diff changeset
266 END "MOD";
kono
parents:
diff changeset
267
kono
parents:
diff changeset
268 BEGIN -- (L)
kono
parents:
diff changeset
269 IF (IDENT_INT (10) MOD 1) /= 'G' OR
kono
parents:
diff changeset
270 (5 MOD 10) /= 'L' THEN
kono
parents:
diff changeset
271 FAILED ("OVERLOADING OF ""MOD"" OPERATOR DEFECTIVE");
kono
parents:
diff changeset
272 END IF;
kono
parents:
diff changeset
273 END; -- (L)
kono
parents:
diff changeset
274
kono
parents:
diff changeset
275 -------------------------------------------------
kono
parents:
diff changeset
276
kono
parents:
diff changeset
277 DECLARE -- (M)
kono
parents:
diff changeset
278 FUNCTION "REM" (I1, I2 : INTEGER) RETURN CHARACTER IS
kono
parents:
diff changeset
279 BEGIN
kono
parents:
diff changeset
280 IF I1 > I2 THEN
kono
parents:
diff changeset
281 RETURN 'G';
kono
parents:
diff changeset
282 ELSE RETURN 'L';
kono
parents:
diff changeset
283 END IF;
kono
parents:
diff changeset
284 END "REM";
kono
parents:
diff changeset
285
kono
parents:
diff changeset
286 BEGIN -- (M)
kono
parents:
diff changeset
287 IF (IDENT_INT (10) REM 1) /= 'G' OR
kono
parents:
diff changeset
288 (5 REM 10) /= 'L' THEN
kono
parents:
diff changeset
289 FAILED ("OVERLOADING OF ""REM"" OPERATOR DEFECTIVE");
kono
parents:
diff changeset
290 END IF;
kono
parents:
diff changeset
291 END; -- (M)
kono
parents:
diff changeset
292
kono
parents:
diff changeset
293 -------------------------------------------------
kono
parents:
diff changeset
294
kono
parents:
diff changeset
295 DECLARE -- (N)
kono
parents:
diff changeset
296 FUNCTION "**" (I1, I2 : INTEGER) RETURN CHARACTER IS
kono
parents:
diff changeset
297 BEGIN
kono
parents:
diff changeset
298 IF I1 > I2 THEN
kono
parents:
diff changeset
299 RETURN 'G';
kono
parents:
diff changeset
300 ELSE RETURN 'L';
kono
parents:
diff changeset
301 END IF;
kono
parents:
diff changeset
302 END "**";
kono
parents:
diff changeset
303
kono
parents:
diff changeset
304 BEGIN -- (N)
kono
parents:
diff changeset
305 IF (IDENT_INT (10) ** 1) /= 'G' OR
kono
parents:
diff changeset
306 (5 ** 10) /= 'L' THEN
kono
parents:
diff changeset
307 FAILED ("OVERLOADING OF ""**"" OPERATOR DEFECTIVE");
kono
parents:
diff changeset
308 END IF;
kono
parents:
diff changeset
309 END; -- (N)
kono
parents:
diff changeset
310
kono
parents:
diff changeset
311 -------------------------------------------------
kono
parents:
diff changeset
312
kono
parents:
diff changeset
313 DECLARE -- (O)
kono
parents:
diff changeset
314 FUNCTION "+" (I1, I2 : INTEGER) RETURN CHARACTER IS
kono
parents:
diff changeset
315 BEGIN
kono
parents:
diff changeset
316 IF I1 > I2 THEN
kono
parents:
diff changeset
317 RETURN 'G';
kono
parents:
diff changeset
318 ELSE RETURN 'L';
kono
parents:
diff changeset
319 END IF;
kono
parents:
diff changeset
320 END "+";
kono
parents:
diff changeset
321
kono
parents:
diff changeset
322 BEGIN -- (O)
kono
parents:
diff changeset
323 IF (IDENT_INT (10) + 1) /= 'G' OR
kono
parents:
diff changeset
324 (5 + 10) /= 'L' THEN
kono
parents:
diff changeset
325 FAILED ("OVERLOADING OF ""+"" OPERATOR DEFECTIVE");
kono
parents:
diff changeset
326 END IF;
kono
parents:
diff changeset
327 END; -- (O)
kono
parents:
diff changeset
328
kono
parents:
diff changeset
329 -------------------------------------------------
kono
parents:
diff changeset
330
kono
parents:
diff changeset
331 DECLARE -- (P)
kono
parents:
diff changeset
332 FUNCTION "-" (I1, I2 : INTEGER) RETURN CHARACTER IS
kono
parents:
diff changeset
333 BEGIN
kono
parents:
diff changeset
334 IF I1 > I2 THEN
kono
parents:
diff changeset
335 RETURN 'G';
kono
parents:
diff changeset
336 ELSE RETURN 'L';
kono
parents:
diff changeset
337 END IF;
kono
parents:
diff changeset
338 END "-";
kono
parents:
diff changeset
339
kono
parents:
diff changeset
340 BEGIN -- (P)
kono
parents:
diff changeset
341 IF (IDENT_INT (10) - 1) /= 'G' OR
kono
parents:
diff changeset
342 (5 - 10) /= 'L' THEN
kono
parents:
diff changeset
343 FAILED ("OVERLOADING OF ""-"" OPERATOR DEFECTIVE");
kono
parents:
diff changeset
344 END IF;
kono
parents:
diff changeset
345 END; -- (P)
kono
parents:
diff changeset
346
kono
parents:
diff changeset
347 -------------------------------------------------
kono
parents:
diff changeset
348
kono
parents:
diff changeset
349 DECLARE -- (Q)
kono
parents:
diff changeset
350 FUNCTION "+" (I1 : INTEGER) RETURN CHARACTER IS
kono
parents:
diff changeset
351 BEGIN
kono
parents:
diff changeset
352 IF I1 < IDENT_INT (0) THEN
kono
parents:
diff changeset
353 RETURN 'N';
kono
parents:
diff changeset
354 ELSE RETURN 'P';
kono
parents:
diff changeset
355 END IF;
kono
parents:
diff changeset
356 END "+";
kono
parents:
diff changeset
357
kono
parents:
diff changeset
358 BEGIN -- (Q)
kono
parents:
diff changeset
359 IF (+ IDENT_INT(25) /= 'P') OR
kono
parents:
diff changeset
360 (+ (0-25) /= 'N') THEN
kono
parents:
diff changeset
361 FAILED ("OVERLOADING OF ""+"" " &
kono
parents:
diff changeset
362 "OPERATOR (ONE OPERAND) DEFECTIVE");
kono
parents:
diff changeset
363 END IF;
kono
parents:
diff changeset
364 END; -- (Q)
kono
parents:
diff changeset
365
kono
parents:
diff changeset
366 -------------------------------------------------
kono
parents:
diff changeset
367
kono
parents:
diff changeset
368 DECLARE -- (R)
kono
parents:
diff changeset
369 FUNCTION "-" (I1 : INTEGER) RETURN CHARACTER IS
kono
parents:
diff changeset
370 BEGIN
kono
parents:
diff changeset
371 IF I1 < IDENT_INT (0) THEN
kono
parents:
diff changeset
372 RETURN 'N';
kono
parents:
diff changeset
373 ELSE RETURN 'P';
kono
parents:
diff changeset
374 END IF;
kono
parents:
diff changeset
375 END "-";
kono
parents:
diff changeset
376
kono
parents:
diff changeset
377 BEGIN -- (R)
kono
parents:
diff changeset
378 IF (- IDENT_INT(25) /= 'P') OR
kono
parents:
diff changeset
379 (- (0-25) /= 'N') THEN
kono
parents:
diff changeset
380 FAILED ("OVERLOADING OF ""-"" " &
kono
parents:
diff changeset
381 "OPERATOR (ONE OPERAND) DEFECTIVE");
kono
parents:
diff changeset
382 END IF;
kono
parents:
diff changeset
383 END; -- (R)
kono
parents:
diff changeset
384
kono
parents:
diff changeset
385 -------------------------------------------------
kono
parents:
diff changeset
386
kono
parents:
diff changeset
387 DECLARE -- (S)
kono
parents:
diff changeset
388 FUNCTION "NOT" (I1 : INTEGER) RETURN CHARACTER IS
kono
parents:
diff changeset
389 BEGIN
kono
parents:
diff changeset
390 IF I1 < IDENT_INT (0) THEN
kono
parents:
diff changeset
391 RETURN 'N';
kono
parents:
diff changeset
392 ELSE RETURN 'P';
kono
parents:
diff changeset
393 END IF;
kono
parents:
diff changeset
394 END "NOT";
kono
parents:
diff changeset
395
kono
parents:
diff changeset
396 BEGIN -- (S)
kono
parents:
diff changeset
397 IF (NOT IDENT_INT(25) /= 'P') OR
kono
parents:
diff changeset
398 (NOT (0-25) /= 'N') THEN
kono
parents:
diff changeset
399 FAILED ("OVERLOADING OF ""NOT"" " &
kono
parents:
diff changeset
400 "OPERATOR (ONE OPERAND) DEFECTIVE");
kono
parents:
diff changeset
401 END IF;
kono
parents:
diff changeset
402 END; -- (S)
kono
parents:
diff changeset
403
kono
parents:
diff changeset
404 -------------------------------------------------
kono
parents:
diff changeset
405
kono
parents:
diff changeset
406 DECLARE -- (T)
kono
parents:
diff changeset
407 FUNCTION "ABS" (I1 : INTEGER) RETURN CHARACTER IS
kono
parents:
diff changeset
408 BEGIN
kono
parents:
diff changeset
409 IF I1 < IDENT_INT (0) THEN
kono
parents:
diff changeset
410 RETURN 'N';
kono
parents:
diff changeset
411 ELSE RETURN 'P';
kono
parents:
diff changeset
412 END IF;
kono
parents:
diff changeset
413 END "ABS";
kono
parents:
diff changeset
414
kono
parents:
diff changeset
415 BEGIN -- (T)
kono
parents:
diff changeset
416 IF (ABS IDENT_INT(25) /= 'P') OR
kono
parents:
diff changeset
417 (ABS (0-25) /= 'N') THEN
kono
parents:
diff changeset
418 FAILED ("OVERLOADING OF ""ABS"" " &
kono
parents:
diff changeset
419 "OPERATOR (ONE OPERAND) DEFECTIVE");
kono
parents:
diff changeset
420 END IF;
kono
parents:
diff changeset
421 END; -- (T)
kono
parents:
diff changeset
422
kono
parents:
diff changeset
423 -------------------------------------------------
kono
parents:
diff changeset
424
kono
parents:
diff changeset
425 RESULT;
kono
parents:
diff changeset
426 END C67002A;