xref: /aoo4110/main/idlc/test/parser/constant.tests (revision b1cdbd2c)
1*b1cdbd2cSJim Jagielski#**************************************************************
2*b1cdbd2cSJim Jagielski#
3*b1cdbd2cSJim Jagielski#  Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski#  or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski#  distributed with this work for additional information
6*b1cdbd2cSJim Jagielski#  regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski#  to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski#  "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski#  with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski#
11*b1cdbd2cSJim Jagielski#    http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski#
13*b1cdbd2cSJim Jagielski#  Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski#  software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski#  KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski#  specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski#  under the License.
19*b1cdbd2cSJim Jagielski#
20*b1cdbd2cSJim Jagielski#**************************************************************
21*b1cdbd2cSJim Jagielski
22*b1cdbd2cSJim JagielskiEXPECT SUCCESS "constant.tests 1":
23*b1cdbd2cSJim Jagielskiconstants C {
24*b1cdbd2cSJim Jagielski    const boolean C1 = FALSE;
25*b1cdbd2cSJim Jagielski    const byte C2 = 0;
26*b1cdbd2cSJim Jagielski    const short C3 = 0;
27*b1cdbd2cSJim Jagielski    const unsigned short C4 = 0;
28*b1cdbd2cSJim Jagielski    const long C5 = 0;
29*b1cdbd2cSJim Jagielski    const unsigned long C6 = 0;
30*b1cdbd2cSJim Jagielski    const hyper C7 = 0;
31*b1cdbd2cSJim Jagielski    const unsigned hyper C8 = 0;
32*b1cdbd2cSJim Jagielski    const float C9 = 0.0;
33*b1cdbd2cSJim Jagielski    const double C10 = 0.0;
34*b1cdbd2cSJim Jagielski};
35*b1cdbd2cSJim Jagielski
36*b1cdbd2cSJim Jagielski
37*b1cdbd2cSJim JagielskiEXPECT SUCCESS "constant.tests 2":
38*b1cdbd2cSJim Jagielskimodule m {
39*b1cdbd2cSJim Jagielski    const boolean C1 = FALSE;
40*b1cdbd2cSJim Jagielski    const byte C2 = 0;
41*b1cdbd2cSJim Jagielski    const short C3 = 0;
42*b1cdbd2cSJim Jagielski    const unsigned short C4 = 0;
43*b1cdbd2cSJim Jagielski    const long C5 = 0;
44*b1cdbd2cSJim Jagielski    const unsigned long C6 = 0;
45*b1cdbd2cSJim Jagielski    const hyper C7 = 0;
46*b1cdbd2cSJim Jagielski    const unsigned hyper C8 = 0;
47*b1cdbd2cSJim Jagielski    const float C9 = 0.0;
48*b1cdbd2cSJim Jagielski    const double C10 = 0.0;
49*b1cdbd2cSJim Jagielski};
50*b1cdbd2cSJim Jagielski
51*b1cdbd2cSJim Jagielski
52*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 3":
53*b1cdbd2cSJim Jagielskiconstants C {
54*b1cdbd2cSJim Jagielski    const char C1 = 'A';
55*b1cdbd2cSJim Jagielski};
56*b1cdbd2cSJim Jagielski
57*b1cdbd2cSJim Jagielski
58*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 4":
59*b1cdbd2cSJim Jagielskimodule m {
60*b1cdbd2cSJim Jagielski    const char C1 = 'A';
61*b1cdbd2cSJim Jagielski};
62*b1cdbd2cSJim Jagielski
63*b1cdbd2cSJim Jagielski
64*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 5":
65*b1cdbd2cSJim Jagielskiconstants C {
66*b1cdbd2cSJim Jagielski    const string C1 = "";
67*b1cdbd2cSJim Jagielski};
68*b1cdbd2cSJim Jagielski
69*b1cdbd2cSJim Jagielski
70*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 6":
71*b1cdbd2cSJim Jagielskimodule m {
72*b1cdbd2cSJim Jagielski    const string C1 = "";
73*b1cdbd2cSJim Jagielski};
74*b1cdbd2cSJim Jagielski
75*b1cdbd2cSJim Jagielski
76*b1cdbd2cSJim JagielskiEXPECT SUCCESS "constant.tests 7":
77*b1cdbd2cSJim Jagielskiconstants C {};
78*b1cdbd2cSJim Jagielski
79*b1cdbd2cSJim Jagielski
80*b1cdbd2cSJim JagielskiEXPECT SUCCESS "constant.tests 8":
81*b1cdbd2cSJim Jagielskimodule m {
82*b1cdbd2cSJim Jagielski    const byte C1 = -128;
83*b1cdbd2cSJim Jagielski    const byte C2 = -0200;
84*b1cdbd2cSJim Jagielski    const byte C3 = -0x80;
85*b1cdbd2cSJim Jagielski    const byte C4 = 255;
86*b1cdbd2cSJim Jagielski    const byte C5 = 0377;
87*b1cdbd2cSJim Jagielski    const byte C6 = 0xFF;
88*b1cdbd2cSJim Jagielski    const short C7 = -32768;
89*b1cdbd2cSJim Jagielski    const short C8 = -0100000;
90*b1cdbd2cSJim Jagielski    const short C9 = -0x8000;
91*b1cdbd2cSJim Jagielski    const short C10 = 32767;
92*b1cdbd2cSJim Jagielski    const short C11 = 077777;
93*b1cdbd2cSJim Jagielski    const short C12 = 0x7FFF;
94*b1cdbd2cSJim Jagielski    const unsigned short C13 = 0;
95*b1cdbd2cSJim Jagielski    const unsigned short C14 = 0x0;
96*b1cdbd2cSJim Jagielski    const unsigned short C15 = 65535;
97*b1cdbd2cSJim Jagielski    const unsigned short C16 = 0177777;
98*b1cdbd2cSJim Jagielski    const unsigned short C17 = 0xFFFF;
99*b1cdbd2cSJim Jagielski    const long C18 = -2147483648;
100*b1cdbd2cSJim Jagielski    const long C19 = -020000000000;
101*b1cdbd2cSJim Jagielski    const long C20 = -0x80000000;
102*b1cdbd2cSJim Jagielski    const long C21 = 2147483647;
103*b1cdbd2cSJim Jagielski    const long C22 = 017777777777;
104*b1cdbd2cSJim Jagielski    const long C23 = 0x7FFFFFFF;
105*b1cdbd2cSJim Jagielski    const unsigned long C24 = 0;
106*b1cdbd2cSJim Jagielski    const unsigned long C25 = 0x0;
107*b1cdbd2cSJim Jagielski    const unsigned long C26 = 4294967295;
108*b1cdbd2cSJim Jagielski    const unsigned long C27 = 037777777777;
109*b1cdbd2cSJim Jagielski	const unsigned long C28 = 0xFFFFFFFF;
110*b1cdbd2cSJim Jagielski	const hyper C29 = -9223372036854775808;
111*b1cdbd2cSJim Jagielski    const hyper C30 = -01000000000000000000000;
112*b1cdbd2cSJim Jagielski    const hyper C31 = -0x8000000000000000;
113*b1cdbd2cSJim Jagielski	const hyper C32 = 9223372036854775807;
114*b1cdbd2cSJim Jagielski    const hyper C33 = 0777777777777777777777;
115*b1cdbd2cSJim Jagielski    const hyper C34 = 0x7FFFFFFFFFFFFFFF;
116*b1cdbd2cSJim Jagielski    const unsigned hyper C35 = 0;
117*b1cdbd2cSJim Jagielski    const unsigned hyper C36 = 0x0;
118*b1cdbd2cSJim Jagielski    const unsigned hyper C37 = 18446744073709551615;
119*b1cdbd2cSJim Jagielski    const unsigned hyper C38 = 01777777777777777777777;
120*b1cdbd2cSJim Jagielski    const unsigned hyper C39 = 0xFFFFFFFFFFFFFFFF;
121*b1cdbd2cSJim Jagielski};
122*b1cdbd2cSJim Jagielski
123*b1cdbd2cSJim Jagielski
124*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 9":
125*b1cdbd2cSJim Jagielskimodule m { const byte C = -129; };
126*b1cdbd2cSJim Jagielski
127*b1cdbd2cSJim Jagielski
128*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 10":
129*b1cdbd2cSJim Jagielskimodule m { const byte C = -0201; };
130*b1cdbd2cSJim Jagielski
131*b1cdbd2cSJim Jagielski
132*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 11":
133*b1cdbd2cSJim Jagielskimodule m { const byte C = -0x81; };
134*b1cdbd2cSJim Jagielski
135*b1cdbd2cSJim Jagielski
136*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 12":
137*b1cdbd2cSJim Jagielskimodule m { const byte C = 256; };
138*b1cdbd2cSJim Jagielski
139*b1cdbd2cSJim Jagielski
140*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 13":
141*b1cdbd2cSJim Jagielskimodule m { const byte C = 0400; };
142*b1cdbd2cSJim Jagielski
143*b1cdbd2cSJim Jagielski
144*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 14":
145*b1cdbd2cSJim Jagielskimodule m { const byte C = 0x100; };
146*b1cdbd2cSJim Jagielski
147*b1cdbd2cSJim Jagielski
148*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 15":
149*b1cdbd2cSJim Jagielskimodule m { const short C = -32769; };
150*b1cdbd2cSJim Jagielski
151*b1cdbd2cSJim Jagielski
152*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 16":
153*b1cdbd2cSJim Jagielskimodule m { const short C = -0100001; };
154*b1cdbd2cSJim Jagielski
155*b1cdbd2cSJim Jagielski
156*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 17":
157*b1cdbd2cSJim Jagielskimodule m { const short C = -0x8001; };
158*b1cdbd2cSJim Jagielski
159*b1cdbd2cSJim Jagielski
160*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 18":
161*b1cdbd2cSJim Jagielskimodule m { const short C = 32768; };
162*b1cdbd2cSJim Jagielski
163*b1cdbd2cSJim Jagielski
164*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 19":
165*b1cdbd2cSJim Jagielskimodule m { const short C = 0100000; };
166*b1cdbd2cSJim Jagielski
167*b1cdbd2cSJim Jagielski
168*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 20":
169*b1cdbd2cSJim Jagielskimodule m { const short C = 0x8000; };
170*b1cdbd2cSJim Jagielski
171*b1cdbd2cSJim Jagielski
172*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 21":
173*b1cdbd2cSJim Jagielskimodule m { const unsigned short C = -1; };
174*b1cdbd2cSJim Jagielski
175*b1cdbd2cSJim Jagielski
176*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 22":
177*b1cdbd2cSJim Jagielskimodule m { const unsigned short C = -01; };
178*b1cdbd2cSJim Jagielski
179*b1cdbd2cSJim Jagielski
180*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 23":
181*b1cdbd2cSJim Jagielskimodule m { const unsigned short C = -0x1; };
182*b1cdbd2cSJim Jagielski
183*b1cdbd2cSJim Jagielski
184*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 24":
185*b1cdbd2cSJim Jagielskimodule m { const unsigned short C = 65536; };
186*b1cdbd2cSJim Jagielski
187*b1cdbd2cSJim Jagielski
188*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 25":
189*b1cdbd2cSJim Jagielskimodule m { const unsigned short C = 0200000; };
190*b1cdbd2cSJim Jagielski
191*b1cdbd2cSJim Jagielski
192*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 26":
193*b1cdbd2cSJim Jagielskimodule m { const unsigned short C = 0x10000; };
194*b1cdbd2cSJim Jagielski
195*b1cdbd2cSJim Jagielski
196*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 27":
197*b1cdbd2cSJim Jagielskimodule m { const long C = -2147483649; };
198*b1cdbd2cSJim Jagielski
199*b1cdbd2cSJim Jagielski
200*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 28":
201*b1cdbd2cSJim Jagielskimodule m { const long C = -020000000001; };
202*b1cdbd2cSJim Jagielski
203*b1cdbd2cSJim Jagielski
204*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 29":
205*b1cdbd2cSJim Jagielskimodule m { const long C = -0x80000001; };
206*b1cdbd2cSJim Jagielski
207*b1cdbd2cSJim Jagielski
208*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 30":
209*b1cdbd2cSJim Jagielskimodule m { const long C = 2147483648; };
210*b1cdbd2cSJim Jagielski
211*b1cdbd2cSJim Jagielski
212*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 31":
213*b1cdbd2cSJim Jagielskimodule m { const long C = 020000000000; };
214*b1cdbd2cSJim Jagielski
215*b1cdbd2cSJim Jagielski
216*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 32":
217*b1cdbd2cSJim Jagielskimodule m { const long C = 0x80000000; };
218*b1cdbd2cSJim Jagielski
219*b1cdbd2cSJim Jagielski
220*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 33":
221*b1cdbd2cSJim Jagielskimodule m { const unsigned long C = -1; };
222*b1cdbd2cSJim Jagielski
223*b1cdbd2cSJim Jagielski
224*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 34":
225*b1cdbd2cSJim Jagielskimodule m { const unsigned long C = -01; };
226*b1cdbd2cSJim Jagielski
227*b1cdbd2cSJim Jagielski
228*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 35":
229*b1cdbd2cSJim Jagielskimodule m { const unsigned long C = -0x1; };
230*b1cdbd2cSJim Jagielski
231*b1cdbd2cSJim Jagielski
232*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 36":
233*b1cdbd2cSJim Jagielskimodule m { const unsigned long C = 4294967296; };
234*b1cdbd2cSJim Jagielski
235*b1cdbd2cSJim Jagielski
236*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 37":
237*b1cdbd2cSJim Jagielskimodule m { const unsigned long C = 040000000000; };
238*b1cdbd2cSJim Jagielski
239*b1cdbd2cSJim Jagielski
240*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 38":
241*b1cdbd2cSJim Jagielskimodule m { const unsigned long C = 0x100000000; };
242*b1cdbd2cSJim Jagielski
243*b1cdbd2cSJim Jagielski
244*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 39":
245*b1cdbd2cSJim Jagielskimodule m { const hyper C = -9223372036854775809; };
246*b1cdbd2cSJim Jagielski
247*b1cdbd2cSJim Jagielski
248*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 40":
249*b1cdbd2cSJim Jagielskimodule m { const hyper C = -01000000000000000000001; };
250*b1cdbd2cSJim Jagielski
251*b1cdbd2cSJim Jagielski
252*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 41":
253*b1cdbd2cSJim Jagielskimodule m { const hyper C = -0x8000000000000001; };
254*b1cdbd2cSJim Jagielski
255*b1cdbd2cSJim Jagielski
256*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 42":
257*b1cdbd2cSJim Jagielskimodule m { const hyper C = 9223372036854775808; };
258*b1cdbd2cSJim Jagielski
259*b1cdbd2cSJim Jagielski
260*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 43":
261*b1cdbd2cSJim Jagielskimodule m { const hyper C = 01000000000000000000000; };
262*b1cdbd2cSJim Jagielski
263*b1cdbd2cSJim Jagielski
264*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 44":
265*b1cdbd2cSJim Jagielskimodule m { const hyper C = 0x8000000000000000; };
266*b1cdbd2cSJim Jagielski
267*b1cdbd2cSJim Jagielski
268*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 45":
269*b1cdbd2cSJim Jagielskimodule m { const unsigned hyper C = -1; };
270*b1cdbd2cSJim Jagielski
271*b1cdbd2cSJim Jagielski
272*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 46":
273*b1cdbd2cSJim Jagielskimodule m { const unsigned hyper C = -01; };
274*b1cdbd2cSJim Jagielski
275*b1cdbd2cSJim Jagielski
276*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 47":
277*b1cdbd2cSJim Jagielskimodule m { const unsigned hyper C = -0x1; };
278*b1cdbd2cSJim Jagielski
279*b1cdbd2cSJim Jagielski
280*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 48":
281*b1cdbd2cSJim Jagielskimodule m { const unsigned hyper C = 18446744073709551616; };
282*b1cdbd2cSJim Jagielski
283*b1cdbd2cSJim Jagielski
284*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 49":
285*b1cdbd2cSJim Jagielskimodule m { const unsigned hyper C = 02000000000000000000000; };
286*b1cdbd2cSJim Jagielski
287*b1cdbd2cSJim Jagielski
288*b1cdbd2cSJim JagielskiEXPECT FAILURE "constant.tests 50":
289*b1cdbd2cSJim Jagielskimodule m { const unsigned hyper C = 0x10000000000000000; };
290