annotate gcc/testsuite/ada/acats/tests/c3/c35503c.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 -- C35503C.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 -- OBJECTIVE:
kono
parents:
diff changeset
26 -- CHECK THAT 'IMAGE' AND 'VALUE' YIELD THE CORRECT RESULTS WHEN
kono
parents:
diff changeset
27 -- THE PREFIX IS AN INTEGER TYPE.
kono
parents:
diff changeset
28 -- SUBTESTS ARE :
kono
parents:
diff changeset
29 -- PART (A). TESTS FOR 'IMAGE'.
kono
parents:
diff changeset
30 -- PART (B). TESTS FOR 'VALUE'.
kono
parents:
diff changeset
31
kono
parents:
diff changeset
32 -- HISTORY:
kono
parents:
diff changeset
33 -- RJW 03/17/86 CREATED ORIGINAL TEST.
kono
parents:
diff changeset
34 -- VCL 10/23/87 MODIFIED THIS HEADER, ADDED A CHECK THAT
kono
parents:
diff changeset
35 -- CONSTRAINT_ERROR IS RAISED FOR THE ATTRIBUTE
kono
parents:
diff changeset
36 -- 'VALUE' IF THE FINAL SHARP OR COLON IS MISSING
kono
parents:
diff changeset
37 -- FROM A BASED LITERAL.
kono
parents:
diff changeset
38
kono
parents:
diff changeset
39 WITH REPORT; USE REPORT;
kono
parents:
diff changeset
40 PROCEDURE C35503C IS
kono
parents:
diff changeset
41 TYPE NEWINT IS NEW INTEGER;
kono
parents:
diff changeset
42 TYPE INT IS RANGE -1000 .. 1000;
kono
parents:
diff changeset
43
kono
parents:
diff changeset
44 FUNCTION IDENT (X : INT) RETURN INT IS
kono
parents:
diff changeset
45 BEGIN
kono
parents:
diff changeset
46 IF EQUAL (INT'POS (X), INT'POS(X)) THEN
kono
parents:
diff changeset
47 RETURN X;
kono
parents:
diff changeset
48 END IF;
kono
parents:
diff changeset
49 RETURN INT'FIRST;
kono
parents:
diff changeset
50 END IDENT;
kono
parents:
diff changeset
51
kono
parents:
diff changeset
52 BEGIN
kono
parents:
diff changeset
53 TEST ("C35503C", "THE ATTIBUTES 'IMAGE' AND 'VALUE' YIELD THE " &
kono
parents:
diff changeset
54 "CORRECT RESULTS WHEN THE PREFIX IS AN " &
kono
parents:
diff changeset
55 "INTEGER TYPE" );
kono
parents:
diff changeset
56 -- PART (A).
kono
parents:
diff changeset
57
kono
parents:
diff changeset
58 BEGIN
kono
parents:
diff changeset
59 IF INTEGER'IMAGE (-500) /= "-500" THEN
kono
parents:
diff changeset
60 FAILED ( "INCORRECT 'IMAGE' OF '-500'" );
kono
parents:
diff changeset
61 END IF;
kono
parents:
diff changeset
62 IF INTEGER'IMAGE (-500)'FIRST /= 1 THEN
kono
parents:
diff changeset
63 FAILED ( "INCORRECT LOWER BOUND FOR '-500'" );
kono
parents:
diff changeset
64 END IF;
kono
parents:
diff changeset
65
kono
parents:
diff changeset
66 IF NEWINT'IMAGE (2 ** 6) /= " 64" THEN
kono
parents:
diff changeset
67 FAILED ( "INCORRECT 'IMAGE' OF '2 ** 6'" );
kono
parents:
diff changeset
68 END IF;
kono
parents:
diff changeset
69 IF NEWINT'IMAGE (2 ** 6)'FIRST /= 1 THEN
kono
parents:
diff changeset
70 FAILED ( "INCORRECT LOWER BOUND FOR '2 ** 6'" );
kono
parents:
diff changeset
71 END IF;
kono
parents:
diff changeset
72
kono
parents:
diff changeset
73 IF NATURAL'IMAGE (-1E2) /= "-100" THEN
kono
parents:
diff changeset
74 FAILED ( "INCORRECT 'IMAGE' OF '-1E2'" );
kono
parents:
diff changeset
75 END IF;
kono
parents:
diff changeset
76 IF NATURAL'IMAGE (-1E2)'FIRST /= 1 THEN
kono
parents:
diff changeset
77 FAILED ( "INCORRECT LOWER BOUND FOR '-1E2'" );
kono
parents:
diff changeset
78 END IF;
kono
parents:
diff changeset
79
kono
parents:
diff changeset
80 IF NEWINT'IMAGE (3_45) /= " 345" THEN
kono
parents:
diff changeset
81 FAILED ( "INCORRECT 'IMAGE' OF '3_45'" );
kono
parents:
diff changeset
82 END IF;
kono
parents:
diff changeset
83 IF NEWINT'IMAGE (3_45)'FIRST /= 1 THEN
kono
parents:
diff changeset
84 FAILED ( "INCORRECT LOWER BOUND FOR '3_45'" );
kono
parents:
diff changeset
85 END IF;
kono
parents:
diff changeset
86
kono
parents:
diff changeset
87 IF INTEGER'IMAGE (-2#1111_1111#) /= "-255" THEN
kono
parents:
diff changeset
88 FAILED ( "INCORRECT 'IMAGE' OF '-2#1111_1111#'" );
kono
parents:
diff changeset
89 END IF;
kono
parents:
diff changeset
90 IF INTEGER'IMAGE (-2#1111_1111#)'FIRST /= 1 THEN
kono
parents:
diff changeset
91 FAILED ( "INCORRECT LOWER BOUND FOR '-2#1111_1111#'" );
kono
parents:
diff changeset
92 END IF;
kono
parents:
diff changeset
93
kono
parents:
diff changeset
94 IF NEWINT'IMAGE (16#FF#) /= " 255" THEN
kono
parents:
diff changeset
95 FAILED ( "INCORRECT 'IMAGE' OF '16#FF#'" );
kono
parents:
diff changeset
96 END IF;
kono
parents:
diff changeset
97 IF NEWINT'IMAGE (16#FF#)'FIRST /= 1 THEN
kono
parents:
diff changeset
98 FAILED ( "INCORRECT LOWER BOUND FOR '16#FF#'" );
kono
parents:
diff changeset
99 END IF;
kono
parents:
diff changeset
100
kono
parents:
diff changeset
101 IF INTEGER'IMAGE (-016#0FF#) /= "-255" THEN
kono
parents:
diff changeset
102 FAILED ( "INCORRECT 'IMAGE' OF '-016#0FF#'" );
kono
parents:
diff changeset
103 END IF;
kono
parents:
diff changeset
104 IF INTEGER'IMAGE (-016#0FF#)'FIRST /= 1 THEN
kono
parents:
diff changeset
105 FAILED ( "INCORRECT LOWER BOUND FOR '-016#0FF#'" );
kono
parents:
diff changeset
106 END IF;
kono
parents:
diff changeset
107
kono
parents:
diff changeset
108 IF NEWINT'IMAGE (2#1110_0000#) /= " 224" THEN
kono
parents:
diff changeset
109 FAILED ( "INCORRECT 'IMAGE' OF '2#1110_0000#'" );
kono
parents:
diff changeset
110 END IF;
kono
parents:
diff changeset
111 IF NEWINT'IMAGE (2#1110_0000#)'FIRST /= 1 THEN
kono
parents:
diff changeset
112 FAILED ( "INCORRECT LOWER BOUND FOR '2#1110_0000#'" );
kono
parents:
diff changeset
113 END IF;
kono
parents:
diff changeset
114
kono
parents:
diff changeset
115 IF POSITIVE'IMAGE (-16#E#E1) /= "-224" THEN
kono
parents:
diff changeset
116 FAILED ( "INCORRECT 'IMAGE' OF '-16#E#E1'" );
kono
parents:
diff changeset
117 END IF;
kono
parents:
diff changeset
118 IF POSITIVE'IMAGE (-16#E#E1)'FIRST /= 1 THEN
kono
parents:
diff changeset
119 FAILED ( "INCORRECT LOWER BOUND FOR '-16#E#E1'" );
kono
parents:
diff changeset
120 END IF;
kono
parents:
diff changeset
121
kono
parents:
diff changeset
122 IF INT'IMAGE (IDENT(-1000)) /= "-1000" THEN
kono
parents:
diff changeset
123 FAILED ( "INCORRECT 'IMAGE' OF '-1000'" );
kono
parents:
diff changeset
124 END IF;
kono
parents:
diff changeset
125 IF INT'IMAGE (IDENT(-1000))'FIRST /= 1 THEN
kono
parents:
diff changeset
126 FAILED ( "INCORRECT LOWER BOUND FOR '-1000'" );
kono
parents:
diff changeset
127 END IF;
kono
parents:
diff changeset
128
kono
parents:
diff changeset
129 IF INT'IMAGE (IDENT(-999)) /= "-999" THEN
kono
parents:
diff changeset
130 FAILED ( "INCORRECT 'IMAGE' OF '-999'" );
kono
parents:
diff changeset
131 END IF;
kono
parents:
diff changeset
132 IF INT'IMAGE (IDENT(-999))'FIRST /= 1 THEN
kono
parents:
diff changeset
133 FAILED ( "INCORRECT LOWER BOUND FOR '-999'" );
kono
parents:
diff changeset
134 END IF;
kono
parents:
diff changeset
135
kono
parents:
diff changeset
136 IF INT'IMAGE (IDENT(-10)) /= "-10" THEN
kono
parents:
diff changeset
137 FAILED ( "INCORRECT 'IMAGE' OF '-1000'" );
kono
parents:
diff changeset
138 END IF;
kono
parents:
diff changeset
139 IF INT'IMAGE (IDENT(-10))'FIRST /= 1 THEN
kono
parents:
diff changeset
140 FAILED ( "INCORRECT LOWER BOUND FOR '-10'" );
kono
parents:
diff changeset
141 END IF;
kono
parents:
diff changeset
142
kono
parents:
diff changeset
143 IF INT'IMAGE (IDENT(-9)) /= "-9" THEN
kono
parents:
diff changeset
144 FAILED ( "INCORRECT 'IMAGE' OF '-9'" );
kono
parents:
diff changeset
145 END IF;
kono
parents:
diff changeset
146 IF INT'IMAGE (IDENT(-9))'FIRST /= 1 THEN
kono
parents:
diff changeset
147 FAILED ( "INCORRECT LOWER BOUND FOR '-9'" );
kono
parents:
diff changeset
148 END IF;
kono
parents:
diff changeset
149
kono
parents:
diff changeset
150 IF INT'IMAGE (IDENT(-1)) /= "-1" THEN
kono
parents:
diff changeset
151 FAILED ( "INCORRECT 'IMAGE' OF '-1'" );
kono
parents:
diff changeset
152 END IF;
kono
parents:
diff changeset
153 IF INT'IMAGE (IDENT(-1))'FIRST /= 1 THEN
kono
parents:
diff changeset
154 FAILED ( "INCORRECT LOWER BOUND FOR '-1'" );
kono
parents:
diff changeset
155 END IF;
kono
parents:
diff changeset
156
kono
parents:
diff changeset
157 IF INT'IMAGE (IDENT(0)) /= " 0" THEN
kono
parents:
diff changeset
158 FAILED ( "INCORRECT 'IMAGE' OF '0'" );
kono
parents:
diff changeset
159 END IF;
kono
parents:
diff changeset
160 IF INT'IMAGE (IDENT(0))'FIRST /= 1 THEN
kono
parents:
diff changeset
161 FAILED ( "INCORRECT LOWER BOUND FOR '0'" );
kono
parents:
diff changeset
162 END IF;
kono
parents:
diff changeset
163
kono
parents:
diff changeset
164 IF INT'IMAGE (IDENT(1)) /= " 1" THEN
kono
parents:
diff changeset
165 FAILED ( "INCORRECT 'IMAGE' OF '1'" );
kono
parents:
diff changeset
166 END IF;
kono
parents:
diff changeset
167 IF INT'IMAGE (IDENT(1))'FIRST /= 1 THEN
kono
parents:
diff changeset
168 FAILED ( "INCORRECT LOWER BOUND FOR '1'" );
kono
parents:
diff changeset
169 END IF;
kono
parents:
diff changeset
170
kono
parents:
diff changeset
171 IF INT'IMAGE (IDENT(9)) /= " 9" THEN
kono
parents:
diff changeset
172 FAILED ( "INCORRECT 'IMAGE' OF '9'" );
kono
parents:
diff changeset
173 END IF;
kono
parents:
diff changeset
174 IF INT'IMAGE (IDENT(9))'FIRST /= 1 THEN
kono
parents:
diff changeset
175 FAILED ( "INCORRECT LOWER BOUND FOR '9'" );
kono
parents:
diff changeset
176 END IF;
kono
parents:
diff changeset
177
kono
parents:
diff changeset
178 IF INT'IMAGE (IDENT(10)) /= " 10" THEN
kono
parents:
diff changeset
179 FAILED ( "INCORRECT 'IMAGE' OF '10'" );
kono
parents:
diff changeset
180 END IF;
kono
parents:
diff changeset
181 IF INT'IMAGE (IDENT(10))'FIRST /= 1 THEN
kono
parents:
diff changeset
182 FAILED ( "INCORRECT LOWER BOUND FOR '10'" );
kono
parents:
diff changeset
183 END IF;
kono
parents:
diff changeset
184
kono
parents:
diff changeset
185 IF INT'IMAGE (IDENT(999)) /= " 999" THEN
kono
parents:
diff changeset
186 FAILED ( "INCORRECT 'IMAGE' OF '999'" );
kono
parents:
diff changeset
187 END IF;
kono
parents:
diff changeset
188 IF INT'IMAGE (IDENT(999))'FIRST /= 1 THEN
kono
parents:
diff changeset
189 FAILED ( "INCORRECT LOWER BOUND FOR '999'" );
kono
parents:
diff changeset
190 END IF;
kono
parents:
diff changeset
191
kono
parents:
diff changeset
192 IF INT'IMAGE (IDENT(1000)) /= " 1000" THEN
kono
parents:
diff changeset
193 FAILED ( "INCORRECT 'IMAGE' OF '1000'" );
kono
parents:
diff changeset
194 END IF;
kono
parents:
diff changeset
195 IF INT'IMAGE (IDENT(1000))'FIRST /= 1 THEN
kono
parents:
diff changeset
196 FAILED ( "INCORRECT LOWER BOUND FOR '1000'" );
kono
parents:
diff changeset
197 END IF;
kono
parents:
diff changeset
198
kono
parents:
diff changeset
199 END;
kono
parents:
diff changeset
200
kono
parents:
diff changeset
201 -----------------------------------------------------------------------
kono
parents:
diff changeset
202
kono
parents:
diff changeset
203 -- PART (B).
kono
parents:
diff changeset
204
kono
parents:
diff changeset
205 BEGIN
kono
parents:
diff changeset
206 IF POSITIVE'VALUE (IDENT_STR("-500")) /= -500 THEN
kono
parents:
diff changeset
207 FAILED ( "INCORRECT 'VALUE' OF ""-500""" );
kono
parents:
diff changeset
208 END IF;
kono
parents:
diff changeset
209 EXCEPTION
kono
parents:
diff changeset
210 WHEN OTHERS =>
kono
parents:
diff changeset
211 FAILED ( "EXCEPTION RAISED - 'VALUE' OF ""-500""" );
kono
parents:
diff changeset
212 END;
kono
parents:
diff changeset
213
kono
parents:
diff changeset
214 BEGIN
kono
parents:
diff changeset
215 IF NEWINT'VALUE (" -001E2") /= -100 THEN
kono
parents:
diff changeset
216 FAILED ( "INCORRECT 'VALUE' OF "" -001E2""" );
kono
parents:
diff changeset
217 END IF;
kono
parents:
diff changeset
218 EXCEPTION
kono
parents:
diff changeset
219 WHEN OTHERS =>
kono
parents:
diff changeset
220 FAILED ( "EXCEPTION RAISED - 'VALUE' OF "" -001E2""" );
kono
parents:
diff changeset
221 END;
kono
parents:
diff changeset
222
kono
parents:
diff changeset
223 BEGIN
kono
parents:
diff changeset
224 IF INTEGER'VALUE ("03_45") /= 345 THEN
kono
parents:
diff changeset
225 FAILED ( "INCORRECT 'VALUE' OF ""03_45""" );
kono
parents:
diff changeset
226 END IF;
kono
parents:
diff changeset
227 EXCEPTION
kono
parents:
diff changeset
228 WHEN OTHERS =>
kono
parents:
diff changeset
229 FAILED ( "EXCEPTION RAISED - 'VALUE' OF ""03_45""" );
kono
parents:
diff changeset
230 END;
kono
parents:
diff changeset
231
kono
parents:
diff changeset
232 BEGIN
kono
parents:
diff changeset
233 IF NEWINT'VALUE ("-2#1111_1111#") /= -255 THEN
kono
parents:
diff changeset
234 FAILED ( "INCORRECT 'VALUE' OF ""-2#1111_1111#""" );
kono
parents:
diff changeset
235 END IF;
kono
parents:
diff changeset
236 EXCEPTION
kono
parents:
diff changeset
237 WHEN OTHERS =>
kono
parents:
diff changeset
238 FAILED ( "EXCEPTION RAISED - 'VALUE' OF "&
kono
parents:
diff changeset
239 """-2#1111_1111#""" );
kono
parents:
diff changeset
240 END;
kono
parents:
diff changeset
241
kono
parents:
diff changeset
242 BEGIN
kono
parents:
diff changeset
243 IF INTEGER'VALUE (IDENT_STR("16#FF#")) /= 255 THEN
kono
parents:
diff changeset
244 FAILED ( "INCORRECT 'VALUE' OF ""16#FF#""" );
kono
parents:
diff changeset
245 END IF;
kono
parents:
diff changeset
246 EXCEPTION
kono
parents:
diff changeset
247 WHEN OTHERS =>
kono
parents:
diff changeset
248 FAILED ( "EXCEPTION RAISED - 'VALUE' OF ""16#FF#""" );
kono
parents:
diff changeset
249 END;
kono
parents:
diff changeset
250
kono
parents:
diff changeset
251 BEGIN
kono
parents:
diff changeset
252 IF NATURAL'VALUE (IDENT_STR("-016#0FF#")) /= -255 THEN
kono
parents:
diff changeset
253 FAILED ( "INCORRECT 'VALUE' OF ""-016#0FF#""" );
kono
parents:
diff changeset
254 END IF;
kono
parents:
diff changeset
255 EXCEPTION
kono
parents:
diff changeset
256 WHEN OTHERS =>
kono
parents:
diff changeset
257 FAILED ( "EXCEPTION RAISED - 'VALUE' OF " &
kono
parents:
diff changeset
258 """-016#0FF#""" );
kono
parents:
diff changeset
259 END;
kono
parents:
diff changeset
260
kono
parents:
diff changeset
261 BEGIN
kono
parents:
diff changeset
262 IF INTEGER'VALUE ("2#1110_0000# ") /= 224 THEN
kono
parents:
diff changeset
263 FAILED ( "INCORRECT 'VALUE' OF " &
kono
parents:
diff changeset
264 """2#1110_0000# """ );
kono
parents:
diff changeset
265 END IF;
kono
parents:
diff changeset
266 EXCEPTION
kono
parents:
diff changeset
267 WHEN OTHERS =>
kono
parents:
diff changeset
268 FAILED ( "EXCEPTION RAISED - 'VALUE' OF " &
kono
parents:
diff changeset
269 """2#1110_0000# """ );
kono
parents:
diff changeset
270 END;
kono
parents:
diff changeset
271
kono
parents:
diff changeset
272 BEGIN
kono
parents:
diff changeset
273 IF NEWINT'VALUE (" -16#E#E1") /= -224 THEN
kono
parents:
diff changeset
274 FAILED ( "INCORRECT 'VALUE' OF "" -16#E#E1""" );
kono
parents:
diff changeset
275 END IF;
kono
parents:
diff changeset
276 EXCEPTION
kono
parents:
diff changeset
277 WHEN OTHERS =>
kono
parents:
diff changeset
278 FAILED ( "EXCEPTION RAISED - 'VALUE' OF " &
kono
parents:
diff changeset
279 """ -16#E#E1""" );
kono
parents:
diff changeset
280 END;
kono
parents:
diff changeset
281
kono
parents:
diff changeset
282 BEGIN
kono
parents:
diff changeset
283 IF INTEGER'VALUE ("5/0") = 0 THEN
kono
parents:
diff changeset
284 FAILED ( "NO EXCEPTION RAISED - ""5/0"" - 1" );
kono
parents:
diff changeset
285 ELSE
kono
parents:
diff changeset
286 FAILED ( "NO EXCEPTION RAISED - ""5/0"" - 2" );
kono
parents:
diff changeset
287 END IF;
kono
parents:
diff changeset
288 EXCEPTION
kono
parents:
diff changeset
289 WHEN CONSTRAINT_ERROR =>
kono
parents:
diff changeset
290 NULL;
kono
parents:
diff changeset
291 WHEN OTHERS =>
kono
parents:
diff changeset
292 FAILED ( "WRONG EXCEPTION RAISED - ""5/0""" );
kono
parents:
diff changeset
293 END;
kono
parents:
diff changeset
294
kono
parents:
diff changeset
295 DECLARE
kono
parents:
diff changeset
296 SUBTYPE SUBINT IS INTEGER RANGE 0 .. 10;
kono
parents:
diff changeset
297 BEGIN
kono
parents:
diff changeset
298 IF SUBINT'VALUE (IDENT_STR("-500")) /= -500 THEN
kono
parents:
diff changeset
299 FAILED ( "INCORRECT VALUE WITH ""-500"" AND SUBINT" );
kono
parents:
diff changeset
300 END IF;
kono
parents:
diff changeset
301 EXCEPTION
kono
parents:
diff changeset
302 WHEN OTHERS =>
kono
parents:
diff changeset
303 FAILED ( "EXCEPTION RAISED - SUBINT" );
kono
parents:
diff changeset
304 END;
kono
parents:
diff changeset
305
kono
parents:
diff changeset
306 BEGIN
kono
parents:
diff changeset
307 IF INTEGER'VALUE (IDENT_STR("1.0")) = 1 THEN
kono
parents:
diff changeset
308 FAILED ( "NO EXCEPTION RAISED - "" 1.0"" - 1" );
kono
parents:
diff changeset
309 ELSE
kono
parents:
diff changeset
310 FAILED ( "NO EXCEPTION RAISED - ""1.0"" - 2" );
kono
parents:
diff changeset
311 END IF;
kono
parents:
diff changeset
312 EXCEPTION
kono
parents:
diff changeset
313 WHEN CONSTRAINT_ERROR =>
kono
parents:
diff changeset
314 NULL;
kono
parents:
diff changeset
315 WHEN OTHERS =>
kono
parents:
diff changeset
316 FAILED ( "WRONG EXCEPTION RAISED - ""1.0"" " );
kono
parents:
diff changeset
317 END;
kono
parents:
diff changeset
318
kono
parents:
diff changeset
319 BEGIN
kono
parents:
diff changeset
320 IF INTEGER'VALUE (IDENT_CHAR(ASCII.HT) & "244") /= 244 THEN
kono
parents:
diff changeset
321 FAILED ( "NO EXCEPTION RAISED - LEADING 'HT' - 1" );
kono
parents:
diff changeset
322 ELSE
kono
parents:
diff changeset
323 FAILED ( "NO EXCEPTION RAISED - LEADING 'HT' - 2" );
kono
parents:
diff changeset
324 END IF;
kono
parents:
diff changeset
325 EXCEPTION
kono
parents:
diff changeset
326 WHEN CONSTRAINT_ERROR =>
kono
parents:
diff changeset
327 NULL;
kono
parents:
diff changeset
328 WHEN OTHERS =>
kono
parents:
diff changeset
329 FAILED ( "WRONG EXCEPTION RAISED - LEADING 'HT'" );
kono
parents:
diff changeset
330 END;
kono
parents:
diff changeset
331
kono
parents:
diff changeset
332 BEGIN
kono
parents:
diff changeset
333 IF INTEGER'VALUE ("244" & (IDENT_CHAR(ASCII.HT))) /= 244 THEN
kono
parents:
diff changeset
334 FAILED ( "NO EXCEPTION RAISED - TRAILING 'HT' - 1" );
kono
parents:
diff changeset
335 ELSE
kono
parents:
diff changeset
336 FAILED ( "NO EXCEPTION RAISED - TRAILING 'HT' - 2" );
kono
parents:
diff changeset
337 END IF;
kono
parents:
diff changeset
338 EXCEPTION
kono
parents:
diff changeset
339 WHEN CONSTRAINT_ERROR =>
kono
parents:
diff changeset
340 NULL;
kono
parents:
diff changeset
341 WHEN OTHERS =>
kono
parents:
diff changeset
342 FAILED ( "WRONG EXCEPTION RAISED - TRAILING 'HT'" );
kono
parents:
diff changeset
343 END;
kono
parents:
diff changeset
344
kono
parents:
diff changeset
345 BEGIN
kono
parents:
diff changeset
346 IF INTEGER'VALUE (IDENT_STR("2__44")) /= 244 THEN
kono
parents:
diff changeset
347 FAILED ( "NO EXCEPTION RAISED - CONSECUTIVE '_' - 1" );
kono
parents:
diff changeset
348 ELSE
kono
parents:
diff changeset
349 FAILED ( "NO EXCEPTION RAISED - CONSECUTIVE '_' - 2" );
kono
parents:
diff changeset
350 END IF;
kono
parents:
diff changeset
351 EXCEPTION
kono
parents:
diff changeset
352 WHEN CONSTRAINT_ERROR =>
kono
parents:
diff changeset
353 NULL;
kono
parents:
diff changeset
354 WHEN OTHERS =>
kono
parents:
diff changeset
355 FAILED ( "WRONG EXCEPTION RAISED " &
kono
parents:
diff changeset
356 "WITH CONSECUTIVE '_'" );
kono
parents:
diff changeset
357 END;
kono
parents:
diff changeset
358
kono
parents:
diff changeset
359 BEGIN
kono
parents:
diff changeset
360 IF INTEGER'VALUE (IDENT_STR("_244")) /= 244 THEN
kono
parents:
diff changeset
361 FAILED ( "NO EXCEPTION RAISED - LEADING '_' - 1" );
kono
parents:
diff changeset
362 ELSE
kono
parents:
diff changeset
363 FAILED ( "NO EXCEPTION RAISED - LEADING '_' - 2" );
kono
parents:
diff changeset
364 END IF;
kono
parents:
diff changeset
365 EXCEPTION
kono
parents:
diff changeset
366 WHEN CONSTRAINT_ERROR =>
kono
parents:
diff changeset
367 NULL;
kono
parents:
diff changeset
368 WHEN OTHERS =>
kono
parents:
diff changeset
369 FAILED ( "WRONG EXCEPTION RAISED - LEADING '_'" );
kono
parents:
diff changeset
370 END;
kono
parents:
diff changeset
371
kono
parents:
diff changeset
372 BEGIN
kono
parents:
diff changeset
373 IF INTEGER'VALUE (IDENT_STR("244_")) /= 244 THEN
kono
parents:
diff changeset
374 FAILED ( "NO EXCEPTION RAISED - TRAILING '_' - 1" );
kono
parents:
diff changeset
375 ELSE
kono
parents:
diff changeset
376 FAILED ( "NO EXCEPTION RAISED - TRAILING '_' - 2" );
kono
parents:
diff changeset
377 END IF;
kono
parents:
diff changeset
378 EXCEPTION
kono
parents:
diff changeset
379 WHEN CONSTRAINT_ERROR =>
kono
parents:
diff changeset
380 NULL;
kono
parents:
diff changeset
381 WHEN OTHERS =>
kono
parents:
diff changeset
382 FAILED ( "WRONG EXCEPTION RAISED - TRAILING '_'" );
kono
parents:
diff changeset
383 END;
kono
parents:
diff changeset
384
kono
parents:
diff changeset
385 BEGIN
kono
parents:
diff changeset
386 IF INTEGER'VALUE (IDENT_STR("244_E1")) /= 2440 THEN
kono
parents:
diff changeset
387 FAILED ( "NO EXCEPTION RAISED - '_' BEFORE 'E' - 1" );
kono
parents:
diff changeset
388 ELSE
kono
parents:
diff changeset
389 FAILED ( "NO EXCEPTION RAISED - '_' BEFORE 'E' - 2" );
kono
parents:
diff changeset
390 END IF;
kono
parents:
diff changeset
391 EXCEPTION
kono
parents:
diff changeset
392 WHEN CONSTRAINT_ERROR =>
kono
parents:
diff changeset
393 NULL;
kono
parents:
diff changeset
394 WHEN OTHERS =>
kono
parents:
diff changeset
395 FAILED ( "WRONG EXCEPTION RAISED - '_' BEFORE 'E'" );
kono
parents:
diff changeset
396 END;
kono
parents:
diff changeset
397
kono
parents:
diff changeset
398 BEGIN
kono
parents:
diff changeset
399 IF INTEGER'VALUE (IDENT_STR("244E_1")) /= 2440 THEN
kono
parents:
diff changeset
400 FAILED ( "NO EXCEPTION RAISED - '_' " &
kono
parents:
diff changeset
401 "FOLLOWING 'E' - 1" );
kono
parents:
diff changeset
402 ELSE
kono
parents:
diff changeset
403 FAILED ( "NO EXCEPTION RAISED - '_' FOLLOWING 'E' - 2" );
kono
parents:
diff changeset
404 END IF;
kono
parents:
diff changeset
405 EXCEPTION
kono
parents:
diff changeset
406 WHEN CONSTRAINT_ERROR =>
kono
parents:
diff changeset
407 NULL;
kono
parents:
diff changeset
408 WHEN OTHERS =>
kono
parents:
diff changeset
409 FAILED ( "WRONG EXCEPTION RAISED " &
kono
parents:
diff changeset
410 "- '_' FOLLOWING 'E'" );
kono
parents:
diff changeset
411 END;
kono
parents:
diff changeset
412
kono
parents:
diff changeset
413 BEGIN
kono
parents:
diff changeset
414 IF INTEGER'VALUE (IDENT_STR("244_e1")) /= 2440 THEN
kono
parents:
diff changeset
415 FAILED ( "NO EXCEPTION RAISED - '_' BEFORE 'e' - 1" );
kono
parents:
diff changeset
416 ELSE
kono
parents:
diff changeset
417 FAILED ( "NO EXCEPTION RAISED - '_' BEFORE 'e' - 2" );
kono
parents:
diff changeset
418 END IF;
kono
parents:
diff changeset
419 EXCEPTION
kono
parents:
diff changeset
420 WHEN CONSTRAINT_ERROR =>
kono
parents:
diff changeset
421 NULL;
kono
parents:
diff changeset
422 WHEN OTHERS =>
kono
parents:
diff changeset
423 FAILED ( "WRONG EXCEPTION RAISED - '_' BEFORE 'e'" );
kono
parents:
diff changeset
424 END;
kono
parents:
diff changeset
425
kono
parents:
diff changeset
426 BEGIN
kono
parents:
diff changeset
427 IF INTEGER'VALUE (IDENT_STR("16#_FF#")) /= 255 THEN
kono
parents:
diff changeset
428 FAILED ( "NO EXCEPTION RAISED - LEADING '_' IN BASED " &
kono
parents:
diff changeset
429 "LITERAL - 1" );
kono
parents:
diff changeset
430 ELSE
kono
parents:
diff changeset
431 FAILED ( "NO EXCEPTION RAISED - LEADING '_' IN BASED " &
kono
parents:
diff changeset
432 "LITERAL - 2" );
kono
parents:
diff changeset
433 END IF;
kono
parents:
diff changeset
434 EXCEPTION
kono
parents:
diff changeset
435 WHEN CONSTRAINT_ERROR =>
kono
parents:
diff changeset
436 NULL;
kono
parents:
diff changeset
437 WHEN OTHERS =>
kono
parents:
diff changeset
438 FAILED ( "WRONG EXCEPTION RAISED " &
kono
parents:
diff changeset
439 "- LEADING '_' IN BASED LITERAL" );
kono
parents:
diff changeset
440 END;
kono
parents:
diff changeset
441
kono
parents:
diff changeset
442 BEGIN
kono
parents:
diff changeset
443 IF INTEGER'VALUE (IDENT_STR("1E-0")) /= 1 THEN
kono
parents:
diff changeset
444 FAILED ( "NO EXCEPTION RAISED - NEGATIVE " &
kono
parents:
diff changeset
445 "EXPONENT - 1" );
kono
parents:
diff changeset
446 ELSE
kono
parents:
diff changeset
447 FAILED ( "NO EXCEPTION RAISED - NEGATIVE EXPONENT - 2" );
kono
parents:
diff changeset
448 END IF;
kono
parents:
diff changeset
449 EXCEPTION
kono
parents:
diff changeset
450 WHEN CONSTRAINT_ERROR =>
kono
parents:
diff changeset
451 NULL;
kono
parents:
diff changeset
452 WHEN OTHERS =>
kono
parents:
diff changeset
453 FAILED ( "WRONG EXCEPTION RAISED " &
kono
parents:
diff changeset
454 "- NEGATIVE EXPONENT" );
kono
parents:
diff changeset
455 END;
kono
parents:
diff changeset
456
kono
parents:
diff changeset
457 BEGIN
kono
parents:
diff changeset
458 IF INTEGER'VALUE (IDENT_STR("244.")) /= 244 THEN
kono
parents:
diff changeset
459 FAILED ( "NO EXCEPTION RAISED - TRAILING '.' - 1" );
kono
parents:
diff changeset
460 ELSE
kono
parents:
diff changeset
461 FAILED ( "NO EXCEPTION RAISED - TRAILING '.' - 2" );
kono
parents:
diff changeset
462 END IF;
kono
parents:
diff changeset
463 EXCEPTION
kono
parents:
diff changeset
464 WHEN CONSTRAINT_ERROR =>
kono
parents:
diff changeset
465 NULL;
kono
parents:
diff changeset
466 WHEN OTHERS =>
kono
parents:
diff changeset
467 FAILED ( "WRONG EXCEPTION RAISED - TRAILING '.'" );
kono
parents:
diff changeset
468 END;
kono
parents:
diff changeset
469
kono
parents:
diff changeset
470 BEGIN
kono
parents:
diff changeset
471 IF INTEGER'VALUE (IDENT_STR("8#811#")) /= 0 THEN
kono
parents:
diff changeset
472 FAILED ( "NO EXCEPTION RAISED - " &
kono
parents:
diff changeset
473 "DIGITS NOT IN CORRECT RANGE - 1" );
kono
parents:
diff changeset
474 ELSE
kono
parents:
diff changeset
475 FAILED ( "NO EXCEPTION RAISED - " &
kono
parents:
diff changeset
476 "DIGITS NOT IN CORRECT RANGE - 2" );
kono
parents:
diff changeset
477 END IF;
kono
parents:
diff changeset
478 EXCEPTION
kono
parents:
diff changeset
479 WHEN CONSTRAINT_ERROR =>
kono
parents:
diff changeset
480 NULL;
kono
parents:
diff changeset
481 WHEN OTHERS =>
kono
parents:
diff changeset
482 FAILED ( "WRONG EXCEPTION RAISED - " &
kono
parents:
diff changeset
483 "DIGITS NOT IN CORRECT RANGE" );
kono
parents:
diff changeset
484 END;
kono
parents:
diff changeset
485
kono
parents:
diff changeset
486 BEGIN
kono
parents:
diff changeset
487 IF INTEGER'VALUE (IDENT_STR("1#000#")) /= 0 THEN
kono
parents:
diff changeset
488 FAILED ( "NO EXCEPTION RAISED - BASE LESS THAN 2 - 1" );
kono
parents:
diff changeset
489 ELSE
kono
parents:
diff changeset
490 FAILED ( "NO EXCEPTION RAISED - BASE LESS THAN 2 - 2" );
kono
parents:
diff changeset
491 END IF;
kono
parents:
diff changeset
492 EXCEPTION
kono
parents:
diff changeset
493 WHEN CONSTRAINT_ERROR =>
kono
parents:
diff changeset
494 NULL;
kono
parents:
diff changeset
495 WHEN OTHERS =>
kono
parents:
diff changeset
496 FAILED ( "WRONG EXCEPTION RAISED " &
kono
parents:
diff changeset
497 "- BASE LESS THAN 2" );
kono
parents:
diff changeset
498 END;
kono
parents:
diff changeset
499
kono
parents:
diff changeset
500 BEGIN
kono
parents:
diff changeset
501 IF INTEGER'VALUE (IDENT_STR("17#0#")) /= 0 THEN
kono
parents:
diff changeset
502 FAILED ( "NO EXCEPTION RAISED " &
kono
parents:
diff changeset
503 "- BASE GREATER THAN 16 - 1" );
kono
parents:
diff changeset
504 ELSE
kono
parents:
diff changeset
505 FAILED ( "NO EXCEPTION RAISED " &
kono
parents:
diff changeset
506 "- BASE GREATER THAN 16 - 2" );
kono
parents:
diff changeset
507 END IF;
kono
parents:
diff changeset
508 EXCEPTION
kono
parents:
diff changeset
509 WHEN CONSTRAINT_ERROR =>
kono
parents:
diff changeset
510 NULL;
kono
parents:
diff changeset
511 WHEN OTHERS =>
kono
parents:
diff changeset
512 FAILED ( "WRONG EXCEPTION RAISED " &
kono
parents:
diff changeset
513 "- BASE GREATER THAN 16" );
kono
parents:
diff changeset
514 END;
kono
parents:
diff changeset
515
kono
parents:
diff changeset
516 BEGIN
kono
parents:
diff changeset
517 IF INTEGER'VALUE (IDENT_STR("8#666")) /= 438 THEN
kono
parents:
diff changeset
518 FAILED ("NO EXCEPTION RAISED - MISSING FINAL SHARP - 1");
kono
parents:
diff changeset
519 ELSE
kono
parents:
diff changeset
520 FAILED ("NO EXCEPTION RAISED - MISSING FINAL SHARP - 2");
kono
parents:
diff changeset
521 END IF;
kono
parents:
diff changeset
522 EXCEPTION
kono
parents:
diff changeset
523 WHEN CONSTRAINT_ERROR =>
kono
parents:
diff changeset
524 NULL;
kono
parents:
diff changeset
525 WHEN OTHERS =>
kono
parents:
diff changeset
526 FAILED ("WRONG EXCEPTION RAISED - MISSING FINAL SHARP");
kono
parents:
diff changeset
527 END;
kono
parents:
diff changeset
528
kono
parents:
diff changeset
529 BEGIN
kono
parents:
diff changeset
530 IF INTEGER'VALUE (IDENT_STR("16:FF")) /= 255 THEN
kono
parents:
diff changeset
531 FAILED ("NO EXCEPTION RAISED - MISSING FINAL COLON - 1");
kono
parents:
diff changeset
532 ELSE
kono
parents:
diff changeset
533 FAILED ("NO EXCEPTION RAISED - MISSING FINAL COLON - 2");
kono
parents:
diff changeset
534 END IF;
kono
parents:
diff changeset
535 EXCEPTION
kono
parents:
diff changeset
536 WHEN CONSTRAINT_ERROR =>
kono
parents:
diff changeset
537 NULL;
kono
parents:
diff changeset
538 WHEN OTHERS =>
kono
parents:
diff changeset
539 FAILED ("WRONG EXCEPTION RAISED - MISSING FINAL COLON");
kono
parents:
diff changeset
540 END;
kono
parents:
diff changeset
541
kono
parents:
diff changeset
542 RESULT;
kono
parents:
diff changeset
543 END C35503C;