xref: /aosp_15_r20/external/clang/INPUTS/c99-intconst-1.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li /* Test for integer constant types.  */
2*67e74705SXin Li 
3*67e74705SXin Li /* Origin: Joseph Myers <[email protected]>.  */
4*67e74705SXin Li /* { dg-do compile } */
5*67e74705SXin Li /* { dg-options "-std=iso9899:1999 -pedantic-errors" } */
6*67e74705SXin Li 
7*67e74705SXin Li #include <limits.h>
8*67e74705SXin Li 
9*67e74705SXin Li /* Assertion that constant C is of type T.  */
10*67e74705SXin Li #define ASSERT_CONST_TYPE(C, T)			\
11*67e74705SXin Li 	do {					\
12*67e74705SXin Li 	  typedef T type;			\
13*67e74705SXin Li 	  typedef type **typepp;		\
14*67e74705SXin Li 	  typedef __typeof__((C)) ctype;	\
15*67e74705SXin Li 	  typedef ctype **ctypepp;		\
16*67e74705SXin Li 	  typepp x = 0;				\
17*67e74705SXin Li 	  ctypepp y = 0;			\
18*67e74705SXin Li 	  x = y;				\
19*67e74705SXin Li 	  y = x;				\
20*67e74705SXin Li 	} while (0)
21*67e74705SXin Li 
22*67e74705SXin Li /* (T *) if E is zero, (void *) otherwise.  */
23*67e74705SXin Li #define type_if_not(T, E) __typeof__(0 ? (T *)0 : (void *)(E))
24*67e74705SXin Li 
25*67e74705SXin Li /* (T *) if E is nonzero, (void *) otherwise.  */
26*67e74705SXin Li #define type_if(T, E) type_if_not(T, !(E))
27*67e74705SXin Li 
28*67e74705SXin Li /* Combine pointer types, all but one (void *).  */
29*67e74705SXin Li #define type_comb2(T1, T2) __typeof__(0 ? (T1)0 : (T2)0)
30*67e74705SXin Li #define type_comb3(T1, T2, T3) type_comb2(T1, type_comb2(T2, T3))
31*67e74705SXin Li #define type_comb4(T1, T2, T3, T4)				\
32*67e74705SXin Li 	type_comb2(T1, type_comb2(T2, type_comb2(T3, T4)))
33*67e74705SXin Li #define type_comb6(T1, T2, T3, T4, T5, T6)				   \
34*67e74705SXin Li 	type_comb2(T1,							   \
35*67e74705SXin Li 		   type_comb2(T2,					   \
36*67e74705SXin Li 			      type_comb2(T3,				   \
37*67e74705SXin Li 					 type_comb2(T4,			   \
38*67e74705SXin Li 						    type_comb2(T5, T6)))))
39*67e74705SXin Li 
40*67e74705SXin Li /* (T1 *) if E1, otherwise (T2 *) if E2.  */
41*67e74705SXin Li #define first_of2p(T1, E1, T2, E2) type_comb2(type_if(T1, (E1)),	   \
42*67e74705SXin Li 					     type_if(T2, (!(E1) && (E2))))
43*67e74705SXin Li /* (T1 *) if E1, otherwise (T2 *) if E2, otherwise (T3 *) if E3.  */
44*67e74705SXin Li #define first_of3p(T1, E1, T2, E2, T3, E3)			\
45*67e74705SXin Li 	type_comb3(type_if(T1, (E1)),				\
46*67e74705SXin Li 		   type_if(T2, (!(E1) && (E2))),		\
47*67e74705SXin Li 		   type_if(T3, (!(E1) && !(E2) && (E3))))
48*67e74705SXin Li /* (T1 *) if E1, otherwise (T2 *) if E2, otherwise (T3 *) if E3, otherwise
49*67e74705SXin Li    (T4 *) if E4.  */
50*67e74705SXin Li #define first_of4p(T1, E1, T2, E2, T3, E3, T4, E4)			\
51*67e74705SXin Li 	type_comb4(type_if(T1, (E1)),					\
52*67e74705SXin Li 		   type_if(T2, (!(E1) && (E2))),			\
53*67e74705SXin Li 		   type_if(T3, (!(E1) && !(E2) && (E3))),		\
54*67e74705SXin Li 		   type_if(T4, (!(E1) && !(E2) && !(E3) && (E4))))
55*67e74705SXin Li /* (T1 *) if E1, otherwise (T2 *) if E2, otherwise (T3 *) if E3, otherwise
56*67e74705SXin Li    (T4 *) if E4, otherwise (T5 *) if E5, otherwise (T6 *) if E6.  */
57*67e74705SXin Li #define first_of6p(T1, E1, T2, E2, T3, E3, T4, E4, T5, E5, T6, E6)	    \
58*67e74705SXin Li 	type_comb6(type_if(T1, (E1)),					    \
59*67e74705SXin Li 		   type_if(T2, (!(E1) && (E2))),			    \
60*67e74705SXin Li 		   type_if(T3, (!(E1) && !(E2) && (E3))),		    \
61*67e74705SXin Li 		   type_if(T4, (!(E1) && !(E2) && !(E3) && (E4))),	    \
62*67e74705SXin Li 		   type_if(T5, (!(E1) && !(E2) && !(E3) && !(E4) && (E5))), \
63*67e74705SXin Li 		   type_if(T6, (!(E1) && !(E2) && !(E3)			    \
64*67e74705SXin Li 				&& !(E4) && !(E5) && (E6))))
65*67e74705SXin Li 
66*67e74705SXin Li /* Likewise, but return the original type rather than a pointer type.  */
67*67e74705SXin Li #define first_of2(T1, E1, T2, E2)			\
68*67e74705SXin Li 	__typeof__(*((first_of2p(T1, (E1), T2, (E2)))0))
69*67e74705SXin Li #define first_of3(T1, E1, T2, E2, T3, E3)				\
70*67e74705SXin Li 	__typeof__(*((first_of3p(T1, (E1), T2, (E2), T3, (E3)))0))
71*67e74705SXin Li #define first_of4(T1, E1, T2, E2, T3, E3, T4, E4)			    \
72*67e74705SXin Li 	__typeof__(*((first_of4p(T1, (E1), T2, (E2), T3, (E3), T4, (E4)))0))
73*67e74705SXin Li #define first_of6(T1, E1, T2, E2, T3, E3, T4, E4, T5, E5, T6, E6)	\
74*67e74705SXin Li 	__typeof__(*((first_of6p(T1, (E1), T2, (E2), T3, (E3),		\
75*67e74705SXin Li 				 T4, (E4), T5, (E5), T6, (E6)))0))
76*67e74705SXin Li 
77*67e74705SXin Li /* Types of constants according to the C99 rules.  */
78*67e74705SXin Li #define C99_UNSUF_DEC_TYPE(C)				\
79*67e74705SXin Li 	first_of3(int, (C) <= INT_MAX,			\
80*67e74705SXin Li 		  long int, (C) <= LONG_MAX,		\
81*67e74705SXin Li 		  long long int, (C) <= LLONG_MAX)
82*67e74705SXin Li #define C99_UNSUF_OCTHEX_TYPE(C)				\
83*67e74705SXin Li 	first_of6(int, (C) <= INT_MAX,				\
84*67e74705SXin Li 		  unsigned int, (C) <= UINT_MAX,		\
85*67e74705SXin Li 		  long int, (C) <= LONG_MAX,			\
86*67e74705SXin Li 		  unsigned long int, (C) <= ULONG_MAX,		\
87*67e74705SXin Li 		  long long int, (C) <= LLONG_MAX,		\
88*67e74705SXin Li 		  unsigned long long int, (C) <= ULLONG_MAX)
89*67e74705SXin Li #define C99_SUFu_TYPE(C)					\
90*67e74705SXin Li 	first_of3(unsigned int, (C) <= UINT_MAX,		\
91*67e74705SXin Li 		  unsigned long int, (C) <= ULONG_MAX,		\
92*67e74705SXin Li 		  unsigned long long int, (C) <= ULLONG_MAX)
93*67e74705SXin Li #define C99_SUFl_DEC_TYPE(C)				\
94*67e74705SXin Li 	first_of2(long int, (C) <= LONG_MAX,		\
95*67e74705SXin Li 		  long long int, (C) <= LLONG_MAX)
96*67e74705SXin Li #define C99_SUFl_OCTHEX_TYPE(C)					\
97*67e74705SXin Li 	first_of4(long int, (C) <= LONG_MAX,			\
98*67e74705SXin Li 		  unsigned long int, (C) <= ULONG_MAX,		\
99*67e74705SXin Li 		  long long int, (C) <= LLONG_MAX,		\
100*67e74705SXin Li 		  unsigned long long int, (C) <= ULLONG_MAX)
101*67e74705SXin Li #define C99_SUFul_TYPE(C)					\
102*67e74705SXin Li 	first_of2(unsigned long int, (C) <= ULONG_MAX,		\
103*67e74705SXin Li 		  unsigned long long int, (C) <= ULLONG_MAX)
104*67e74705SXin Li #define C99_SUFll_OCTHEX_TYPE(C)				\
105*67e74705SXin Li 	first_of2(long long int, (C) <= LLONG_MAX,		\
106*67e74705SXin Li 		  unsigned long long int, (C) <= ULLONG_MAX)
107*67e74705SXin Li 
108*67e74705SXin Li /* Checks that constants have correct type.  */
109*67e74705SXin Li #define CHECK_UNSUF_DEC_TYPE(C) ASSERT_CONST_TYPE((C), C99_UNSUF_DEC_TYPE((C)))
110*67e74705SXin Li #define CHECK_UNSUF_OCTHEX_TYPE(C)				\
111*67e74705SXin Li 	ASSERT_CONST_TYPE((C), C99_UNSUF_OCTHEX_TYPE((C)))
112*67e74705SXin Li #define CHECK_SUFu_TYPE(C) ASSERT_CONST_TYPE((C), C99_SUFu_TYPE((C)))
113*67e74705SXin Li #define CHECK_SUFl_DEC_TYPE(C) ASSERT_CONST_TYPE((C), C99_SUFl_DEC_TYPE((C)))
114*67e74705SXin Li #define CHECK_SUFl_OCTHEX_TYPE(C)				\
115*67e74705SXin Li 	ASSERT_CONST_TYPE((C), C99_SUFl_OCTHEX_TYPE((C)))
116*67e74705SXin Li #define CHECK_SUFul_TYPE(C) ASSERT_CONST_TYPE((C), C99_SUFul_TYPE((C)))
117*67e74705SXin Li #define CHECK_SUFll_DEC_TYPE(C) ASSERT_CONST_TYPE((C), long long int)
118*67e74705SXin Li #define CHECK_SUFll_OCTHEX_TYPE(C)				\
119*67e74705SXin Li 	ASSERT_CONST_TYPE((C), C99_SUFll_OCTHEX_TYPE((C)))
120*67e74705SXin Li #define CHECK_SUFull_TYPE(C) ASSERT_CONST_TYPE((C), unsigned long long int)
121*67e74705SXin Li 
122*67e74705SXin Li /* Check a decimal value, with all suffixes.  */
123*67e74705SXin Li #define CHECK_DEC_CONST(C)			\
124*67e74705SXin Li 	CHECK_UNSUF_DEC_TYPE(C);		\
125*67e74705SXin Li 	CHECK_SUFu_TYPE(C##u);			\
126*67e74705SXin Li 	CHECK_SUFu_TYPE(C##U);			\
127*67e74705SXin Li 	CHECK_SUFl_DEC_TYPE(C##l);		\
128*67e74705SXin Li 	CHECK_SUFl_DEC_TYPE(C##L);		\
129*67e74705SXin Li 	CHECK_SUFul_TYPE(C##ul);		\
130*67e74705SXin Li 	CHECK_SUFul_TYPE(C##uL);		\
131*67e74705SXin Li 	CHECK_SUFul_TYPE(C##Ul);		\
132*67e74705SXin Li 	CHECK_SUFul_TYPE(C##UL);		\
133*67e74705SXin Li 	CHECK_SUFll_DEC_TYPE(C##ll);		\
134*67e74705SXin Li 	CHECK_SUFll_DEC_TYPE(C##LL);		\
135*67e74705SXin Li 	CHECK_SUFull_TYPE(C##ull);		\
136*67e74705SXin Li 	CHECK_SUFull_TYPE(C##uLL);		\
137*67e74705SXin Li 	CHECK_SUFull_TYPE(C##Ull);		\
138*67e74705SXin Li 	CHECK_SUFull_TYPE(C##ULL);
139*67e74705SXin Li 
140*67e74705SXin Li /* Check an octal or hexadecimal value, with all suffixes.  */
141*67e74705SXin Li #define CHECK_OCTHEX_CONST(C)			\
142*67e74705SXin Li 	CHECK_UNSUF_OCTHEX_TYPE(C);		\
143*67e74705SXin Li 	CHECK_SUFu_TYPE(C##u);			\
144*67e74705SXin Li 	CHECK_SUFu_TYPE(C##U);			\
145*67e74705SXin Li 	CHECK_SUFl_OCTHEX_TYPE(C##l);		\
146*67e74705SXin Li 	CHECK_SUFl_OCTHEX_TYPE(C##L);		\
147*67e74705SXin Li 	CHECK_SUFul_TYPE(C##ul);		\
148*67e74705SXin Li 	CHECK_SUFul_TYPE(C##uL);		\
149*67e74705SXin Li 	CHECK_SUFul_TYPE(C##Ul);		\
150*67e74705SXin Li 	CHECK_SUFul_TYPE(C##UL);		\
151*67e74705SXin Li 	CHECK_SUFll_OCTHEX_TYPE(C##ll);		\
152*67e74705SXin Li 	CHECK_SUFll_OCTHEX_TYPE(C##LL);		\
153*67e74705SXin Li 	CHECK_SUFull_TYPE(C##ull);		\
154*67e74705SXin Li 	CHECK_SUFull_TYPE(C##uLL);		\
155*67e74705SXin Li 	CHECK_SUFull_TYPE(C##Ull);		\
156*67e74705SXin Li 	CHECK_SUFull_TYPE(C##ULL);
157*67e74705SXin Li 
158*67e74705SXin Li #define CHECK_OCT_CONST(C) CHECK_OCTHEX_CONST(C)
159*67e74705SXin Li #define CHECK_HEX_CONST(C)			\
160*67e74705SXin Li 	CHECK_OCTHEX_CONST(0x##C);		\
161*67e74705SXin Li 	CHECK_OCTHEX_CONST(0X##C);
162*67e74705SXin Li 
163*67e74705SXin Li /* True iff "long long" is at least B bits.  This presumes that (B-2)/3 is at
164*67e74705SXin Li    most 63.  */
165*67e74705SXin Li #define LLONG_AT_LEAST(B)			\
166*67e74705SXin Li 	(LLONG_MAX >> ((B)-2)/3 >> ((B)-2)/3	\
167*67e74705SXin Li 	 >> ((B)-2 - ((B)-2)/3 - ((B)-2)/3))
168*67e74705SXin Li 
169*67e74705SXin Li #define LLONG_HAS_BITS(B) (LLONG_AT_LEAST((B)) && !LLONG_AT_LEAST((B) + 1))
170*67e74705SXin Li 
171*67e74705SXin Li void
foo(void)172*67e74705SXin Li foo (void)
173*67e74705SXin Li {
174*67e74705SXin Li   /* Decimal.  */
175*67e74705SXin Li   /* Check all 2^n and 2^n - 1 up to 2^71 - 1.  */
176*67e74705SXin Li   CHECK_DEC_CONST(1);
177*67e74705SXin Li   CHECK_DEC_CONST(2);
178*67e74705SXin Li   CHECK_DEC_CONST(3);
179*67e74705SXin Li   CHECK_DEC_CONST(4);
180*67e74705SXin Li   CHECK_DEC_CONST(7);
181*67e74705SXin Li   CHECK_DEC_CONST(8);
182*67e74705SXin Li   CHECK_DEC_CONST(15);
183*67e74705SXin Li   CHECK_DEC_CONST(16);
184*67e74705SXin Li   CHECK_DEC_CONST(31);
185*67e74705SXin Li   CHECK_DEC_CONST(32);
186*67e74705SXin Li   CHECK_DEC_CONST(63);
187*67e74705SXin Li   CHECK_DEC_CONST(64);
188*67e74705SXin Li   CHECK_DEC_CONST(127);
189*67e74705SXin Li   CHECK_DEC_CONST(128);
190*67e74705SXin Li   CHECK_DEC_CONST(255);
191*67e74705SXin Li   CHECK_DEC_CONST(256);
192*67e74705SXin Li   CHECK_DEC_CONST(511);
193*67e74705SXin Li   CHECK_DEC_CONST(512);
194*67e74705SXin Li   CHECK_DEC_CONST(1023);
195*67e74705SXin Li   CHECK_DEC_CONST(1024);
196*67e74705SXin Li   CHECK_DEC_CONST(2047);
197*67e74705SXin Li   CHECK_DEC_CONST(2048);
198*67e74705SXin Li   CHECK_DEC_CONST(4095);
199*67e74705SXin Li   CHECK_DEC_CONST(4096);
200*67e74705SXin Li   CHECK_DEC_CONST(8191);
201*67e74705SXin Li   CHECK_DEC_CONST(8192);
202*67e74705SXin Li   CHECK_DEC_CONST(16383);
203*67e74705SXin Li   CHECK_DEC_CONST(16384);
204*67e74705SXin Li   CHECK_DEC_CONST(32767);
205*67e74705SXin Li   CHECK_DEC_CONST(32768);
206*67e74705SXin Li   CHECK_DEC_CONST(65535);
207*67e74705SXin Li   CHECK_DEC_CONST(65536);
208*67e74705SXin Li   CHECK_DEC_CONST(131071);
209*67e74705SXin Li   CHECK_DEC_CONST(131072);
210*67e74705SXin Li   CHECK_DEC_CONST(262143);
211*67e74705SXin Li   CHECK_DEC_CONST(262144);
212*67e74705SXin Li   CHECK_DEC_CONST(524287);
213*67e74705SXin Li   CHECK_DEC_CONST(524288);
214*67e74705SXin Li   CHECK_DEC_CONST(1048575);
215*67e74705SXin Li   CHECK_DEC_CONST(1048576);
216*67e74705SXin Li   CHECK_DEC_CONST(2097151);
217*67e74705SXin Li   CHECK_DEC_CONST(2097152);
218*67e74705SXin Li   CHECK_DEC_CONST(4194303);
219*67e74705SXin Li   CHECK_DEC_CONST(4194304);
220*67e74705SXin Li   CHECK_DEC_CONST(8388607);
221*67e74705SXin Li   CHECK_DEC_CONST(8388608);
222*67e74705SXin Li   CHECK_DEC_CONST(16777215);
223*67e74705SXin Li   CHECK_DEC_CONST(16777216);
224*67e74705SXin Li   CHECK_DEC_CONST(33554431);
225*67e74705SXin Li   CHECK_DEC_CONST(33554432);
226*67e74705SXin Li   CHECK_DEC_CONST(67108863);
227*67e74705SXin Li   CHECK_DEC_CONST(67108864);
228*67e74705SXin Li   CHECK_DEC_CONST(134217727);
229*67e74705SXin Li   CHECK_DEC_CONST(134217728);
230*67e74705SXin Li   CHECK_DEC_CONST(268435455);
231*67e74705SXin Li   CHECK_DEC_CONST(268435456);
232*67e74705SXin Li   CHECK_DEC_CONST(536870911);
233*67e74705SXin Li   CHECK_DEC_CONST(536870912);
234*67e74705SXin Li   CHECK_DEC_CONST(1073741823);
235*67e74705SXin Li   CHECK_DEC_CONST(1073741824);
236*67e74705SXin Li   CHECK_DEC_CONST(2147483647);
237*67e74705SXin Li   CHECK_DEC_CONST(2147483648);
238*67e74705SXin Li   CHECK_DEC_CONST(4294967295);
239*67e74705SXin Li   CHECK_DEC_CONST(4294967296);
240*67e74705SXin Li   CHECK_DEC_CONST(8589934591);
241*67e74705SXin Li   CHECK_DEC_CONST(8589934592);
242*67e74705SXin Li   CHECK_DEC_CONST(17179869183);
243*67e74705SXin Li   CHECK_DEC_CONST(17179869184);
244*67e74705SXin Li   CHECK_DEC_CONST(34359738367);
245*67e74705SXin Li   CHECK_DEC_CONST(34359738368);
246*67e74705SXin Li   CHECK_DEC_CONST(68719476735);
247*67e74705SXin Li   CHECK_DEC_CONST(68719476736);
248*67e74705SXin Li   CHECK_DEC_CONST(137438953471);
249*67e74705SXin Li   CHECK_DEC_CONST(137438953472);
250*67e74705SXin Li   CHECK_DEC_CONST(274877906943);
251*67e74705SXin Li   CHECK_DEC_CONST(274877906944);
252*67e74705SXin Li   CHECK_DEC_CONST(549755813887);
253*67e74705SXin Li   CHECK_DEC_CONST(549755813888);
254*67e74705SXin Li   CHECK_DEC_CONST(1099511627775);
255*67e74705SXin Li   CHECK_DEC_CONST(1099511627776);
256*67e74705SXin Li   CHECK_DEC_CONST(2199023255551);
257*67e74705SXin Li   CHECK_DEC_CONST(2199023255552);
258*67e74705SXin Li   CHECK_DEC_CONST(4398046511103);
259*67e74705SXin Li   CHECK_DEC_CONST(4398046511104);
260*67e74705SXin Li   CHECK_DEC_CONST(8796093022207);
261*67e74705SXin Li   CHECK_DEC_CONST(8796093022208);
262*67e74705SXin Li   CHECK_DEC_CONST(17592186044415);
263*67e74705SXin Li   CHECK_DEC_CONST(17592186044416);
264*67e74705SXin Li   CHECK_DEC_CONST(35184372088831);
265*67e74705SXin Li   CHECK_DEC_CONST(35184372088832);
266*67e74705SXin Li   CHECK_DEC_CONST(70368744177663);
267*67e74705SXin Li   CHECK_DEC_CONST(70368744177664);
268*67e74705SXin Li   CHECK_DEC_CONST(140737488355327);
269*67e74705SXin Li   CHECK_DEC_CONST(140737488355328);
270*67e74705SXin Li   CHECK_DEC_CONST(281474976710655);
271*67e74705SXin Li   CHECK_DEC_CONST(281474976710656);
272*67e74705SXin Li   CHECK_DEC_CONST(562949953421311);
273*67e74705SXin Li   CHECK_DEC_CONST(562949953421312);
274*67e74705SXin Li   CHECK_DEC_CONST(1125899906842623);
275*67e74705SXin Li   CHECK_DEC_CONST(1125899906842624);
276*67e74705SXin Li   CHECK_DEC_CONST(2251799813685247);
277*67e74705SXin Li   CHECK_DEC_CONST(2251799813685248);
278*67e74705SXin Li   CHECK_DEC_CONST(4503599627370495);
279*67e74705SXin Li   CHECK_DEC_CONST(4503599627370496);
280*67e74705SXin Li   CHECK_DEC_CONST(9007199254740991);
281*67e74705SXin Li   CHECK_DEC_CONST(9007199254740992);
282*67e74705SXin Li   CHECK_DEC_CONST(18014398509481983);
283*67e74705SXin Li   CHECK_DEC_CONST(18014398509481984);
284*67e74705SXin Li   CHECK_DEC_CONST(36028797018963967);
285*67e74705SXin Li   CHECK_DEC_CONST(36028797018963968);
286*67e74705SXin Li   CHECK_DEC_CONST(72057594037927935);
287*67e74705SXin Li   CHECK_DEC_CONST(72057594037927936);
288*67e74705SXin Li   CHECK_DEC_CONST(144115188075855871);
289*67e74705SXin Li   CHECK_DEC_CONST(144115188075855872);
290*67e74705SXin Li   CHECK_DEC_CONST(288230376151711743);
291*67e74705SXin Li   CHECK_DEC_CONST(288230376151711744);
292*67e74705SXin Li   CHECK_DEC_CONST(576460752303423487);
293*67e74705SXin Li   CHECK_DEC_CONST(576460752303423488);
294*67e74705SXin Li   CHECK_DEC_CONST(1152921504606846975);
295*67e74705SXin Li   CHECK_DEC_CONST(1152921504606846976);
296*67e74705SXin Li   CHECK_DEC_CONST(2305843009213693951);
297*67e74705SXin Li   CHECK_DEC_CONST(2305843009213693952);
298*67e74705SXin Li   CHECK_DEC_CONST(4611686018427387903);
299*67e74705SXin Li   CHECK_DEC_CONST(4611686018427387904);
300*67e74705SXin Li   CHECK_DEC_CONST(9223372036854775807);
301*67e74705SXin Li #if LLONG_AT_LEAST(65)
302*67e74705SXin Li   CHECK_DEC_CONST(9223372036854775808);
303*67e74705SXin Li   CHECK_DEC_CONST(18446744073709551615);
304*67e74705SXin Li #endif
305*67e74705SXin Li #if LLONG_AT_LEAST(66)
306*67e74705SXin Li   CHECK_DEC_CONST(18446744073709551616);
307*67e74705SXin Li   CHECK_DEC_CONST(36893488147419103231);
308*67e74705SXin Li #endif
309*67e74705SXin Li #if LLONG_AT_LEAST(67)
310*67e74705SXin Li   CHECK_DEC_CONST(36893488147419103232);
311*67e74705SXin Li   CHECK_DEC_CONST(73786976294838206463);
312*67e74705SXin Li #endif
313*67e74705SXin Li #if LLONG_AT_LEAST(68)
314*67e74705SXin Li   CHECK_DEC_CONST(73786976294838206464);
315*67e74705SXin Li   CHECK_DEC_CONST(147573952589676412927);
316*67e74705SXin Li #endif
317*67e74705SXin Li #if LLONG_AT_LEAST(69)
318*67e74705SXin Li   CHECK_DEC_CONST(147573952589676412928);
319*67e74705SXin Li   CHECK_DEC_CONST(295147905179352825855);
320*67e74705SXin Li #endif
321*67e74705SXin Li #if LLONG_AT_LEAST(70)
322*67e74705SXin Li   CHECK_DEC_CONST(295147905179352825856);
323*67e74705SXin Li   CHECK_DEC_CONST(590295810358705651711);
324*67e74705SXin Li #endif
325*67e74705SXin Li #if LLONG_AT_LEAST(71)
326*67e74705SXin Li   CHECK_DEC_CONST(590295810358705651712);
327*67e74705SXin Li   CHECK_DEC_CONST(1180591620717411303423);
328*67e74705SXin Li #endif
329*67e74705SXin Li #if LLONG_AT_LEAST(72)
330*67e74705SXin Li   CHECK_DEC_CONST(1180591620717411303424);
331*67e74705SXin Li   CHECK_DEC_CONST(2361183241434822606847);
332*67e74705SXin Li #endif
333*67e74705SXin Li   /* Octal and hexadecimal.  */
334*67e74705SXin Li   /* Check all 2^n and 2^n - 1 up to 2^72 - 1.  */
335*67e74705SXin Li   CHECK_OCT_CONST(0);
336*67e74705SXin Li   CHECK_HEX_CONST(0);
337*67e74705SXin Li   CHECK_OCT_CONST(01);
338*67e74705SXin Li   CHECK_HEX_CONST(1);
339*67e74705SXin Li   CHECK_OCT_CONST(02);
340*67e74705SXin Li   CHECK_HEX_CONST(2);
341*67e74705SXin Li   CHECK_OCT_CONST(03);
342*67e74705SXin Li   CHECK_HEX_CONST(3);
343*67e74705SXin Li   CHECK_OCT_CONST(04);
344*67e74705SXin Li   CHECK_HEX_CONST(4);
345*67e74705SXin Li   CHECK_OCT_CONST(07);
346*67e74705SXin Li   CHECK_HEX_CONST(7);
347*67e74705SXin Li   CHECK_OCT_CONST(010);
348*67e74705SXin Li   CHECK_HEX_CONST(8);
349*67e74705SXin Li   CHECK_OCT_CONST(017);
350*67e74705SXin Li   CHECK_HEX_CONST(f);
351*67e74705SXin Li   CHECK_OCT_CONST(020);
352*67e74705SXin Li   CHECK_HEX_CONST(10);
353*67e74705SXin Li   CHECK_OCT_CONST(037);
354*67e74705SXin Li   CHECK_HEX_CONST(1f);
355*67e74705SXin Li   CHECK_OCT_CONST(040);
356*67e74705SXin Li   CHECK_HEX_CONST(20);
357*67e74705SXin Li   CHECK_OCT_CONST(077);
358*67e74705SXin Li   CHECK_HEX_CONST(3f);
359*67e74705SXin Li   CHECK_OCT_CONST(0100);
360*67e74705SXin Li   CHECK_HEX_CONST(40);
361*67e74705SXin Li   CHECK_OCT_CONST(0177);
362*67e74705SXin Li   CHECK_HEX_CONST(7f);
363*67e74705SXin Li   CHECK_OCT_CONST(0200);
364*67e74705SXin Li   CHECK_HEX_CONST(80);
365*67e74705SXin Li   CHECK_OCT_CONST(0377);
366*67e74705SXin Li   CHECK_HEX_CONST(ff);
367*67e74705SXin Li   CHECK_OCT_CONST(0400);
368*67e74705SXin Li   CHECK_HEX_CONST(100);
369*67e74705SXin Li   CHECK_OCT_CONST(0777);
370*67e74705SXin Li   CHECK_HEX_CONST(1ff);
371*67e74705SXin Li   CHECK_OCT_CONST(01000);
372*67e74705SXin Li   CHECK_HEX_CONST(200);
373*67e74705SXin Li   CHECK_OCT_CONST(01777);
374*67e74705SXin Li   CHECK_HEX_CONST(3ff);
375*67e74705SXin Li   CHECK_OCT_CONST(02000);
376*67e74705SXin Li   CHECK_HEX_CONST(400);
377*67e74705SXin Li   CHECK_OCT_CONST(03777);
378*67e74705SXin Li   CHECK_HEX_CONST(7ff);
379*67e74705SXin Li   CHECK_OCT_CONST(04000);
380*67e74705SXin Li   CHECK_HEX_CONST(800);
381*67e74705SXin Li   CHECK_OCT_CONST(07777);
382*67e74705SXin Li   CHECK_HEX_CONST(fff);
383*67e74705SXin Li   CHECK_OCT_CONST(010000);
384*67e74705SXin Li   CHECK_HEX_CONST(1000);
385*67e74705SXin Li   CHECK_OCT_CONST(017777);
386*67e74705SXin Li   CHECK_HEX_CONST(1fff);
387*67e74705SXin Li   CHECK_OCT_CONST(020000);
388*67e74705SXin Li   CHECK_HEX_CONST(2000);
389*67e74705SXin Li   CHECK_OCT_CONST(037777);
390*67e74705SXin Li   CHECK_HEX_CONST(3fff);
391*67e74705SXin Li   CHECK_OCT_CONST(040000);
392*67e74705SXin Li   CHECK_HEX_CONST(4000);
393*67e74705SXin Li   CHECK_OCT_CONST(077777);
394*67e74705SXin Li   CHECK_HEX_CONST(7fff);
395*67e74705SXin Li   CHECK_OCT_CONST(0100000);
396*67e74705SXin Li   CHECK_HEX_CONST(8000);
397*67e74705SXin Li   CHECK_OCT_CONST(0177777);
398*67e74705SXin Li   CHECK_HEX_CONST(ffff);
399*67e74705SXin Li   CHECK_OCT_CONST(0200000);
400*67e74705SXin Li   CHECK_HEX_CONST(10000);
401*67e74705SXin Li   CHECK_OCT_CONST(0377777);
402*67e74705SXin Li   CHECK_HEX_CONST(1ffff);
403*67e74705SXin Li   CHECK_OCT_CONST(0400000);
404*67e74705SXin Li   CHECK_HEX_CONST(20000);
405*67e74705SXin Li   CHECK_OCT_CONST(0777777);
406*67e74705SXin Li   CHECK_HEX_CONST(3ffff);
407*67e74705SXin Li   CHECK_OCT_CONST(01000000);
408*67e74705SXin Li   CHECK_HEX_CONST(40000);
409*67e74705SXin Li   CHECK_OCT_CONST(01777777);
410*67e74705SXin Li   CHECK_HEX_CONST(7ffff);
411*67e74705SXin Li   CHECK_OCT_CONST(02000000);
412*67e74705SXin Li   CHECK_HEX_CONST(80000);
413*67e74705SXin Li   CHECK_OCT_CONST(03777777);
414*67e74705SXin Li   CHECK_HEX_CONST(fffff);
415*67e74705SXin Li   CHECK_OCT_CONST(04000000);
416*67e74705SXin Li   CHECK_HEX_CONST(100000);
417*67e74705SXin Li   CHECK_OCT_CONST(07777777);
418*67e74705SXin Li   CHECK_HEX_CONST(1fffff);
419*67e74705SXin Li   CHECK_OCT_CONST(010000000);
420*67e74705SXin Li   CHECK_HEX_CONST(200000);
421*67e74705SXin Li   CHECK_OCT_CONST(017777777);
422*67e74705SXin Li   CHECK_HEX_CONST(3fffff);
423*67e74705SXin Li   CHECK_OCT_CONST(020000000);
424*67e74705SXin Li   CHECK_HEX_CONST(400000);
425*67e74705SXin Li   CHECK_OCT_CONST(037777777);
426*67e74705SXin Li   CHECK_HEX_CONST(7fffff);
427*67e74705SXin Li   CHECK_OCT_CONST(040000000);
428*67e74705SXin Li   CHECK_HEX_CONST(800000);
429*67e74705SXin Li   CHECK_OCT_CONST(077777777);
430*67e74705SXin Li   CHECK_HEX_CONST(ffffff);
431*67e74705SXin Li   CHECK_OCT_CONST(0100000000);
432*67e74705SXin Li   CHECK_HEX_CONST(1000000);
433*67e74705SXin Li   CHECK_OCT_CONST(0177777777);
434*67e74705SXin Li   CHECK_HEX_CONST(1ffffff);
435*67e74705SXin Li   CHECK_OCT_CONST(0200000000);
436*67e74705SXin Li   CHECK_HEX_CONST(2000000);
437*67e74705SXin Li   CHECK_OCT_CONST(0377777777);
438*67e74705SXin Li   CHECK_HEX_CONST(3ffffff);
439*67e74705SXin Li   CHECK_OCT_CONST(0400000000);
440*67e74705SXin Li   CHECK_HEX_CONST(4000000);
441*67e74705SXin Li   CHECK_OCT_CONST(0777777777);
442*67e74705SXin Li   CHECK_HEX_CONST(7ffffff);
443*67e74705SXin Li   CHECK_OCT_CONST(01000000000);
444*67e74705SXin Li   CHECK_HEX_CONST(8000000);
445*67e74705SXin Li   CHECK_OCT_CONST(01777777777);
446*67e74705SXin Li   CHECK_HEX_CONST(fffffff);
447*67e74705SXin Li   CHECK_OCT_CONST(02000000000);
448*67e74705SXin Li   CHECK_HEX_CONST(10000000);
449*67e74705SXin Li   CHECK_OCT_CONST(03777777777);
450*67e74705SXin Li   CHECK_HEX_CONST(1fffffff);
451*67e74705SXin Li   CHECK_OCT_CONST(04000000000);
452*67e74705SXin Li   CHECK_HEX_CONST(20000000);
453*67e74705SXin Li   CHECK_OCT_CONST(07777777777);
454*67e74705SXin Li   CHECK_HEX_CONST(3fffffff);
455*67e74705SXin Li   CHECK_OCT_CONST(010000000000);
456*67e74705SXin Li   CHECK_HEX_CONST(40000000);
457*67e74705SXin Li   CHECK_OCT_CONST(017777777777);
458*67e74705SXin Li   CHECK_HEX_CONST(7fffffff);
459*67e74705SXin Li   CHECK_OCT_CONST(020000000000);
460*67e74705SXin Li   CHECK_HEX_CONST(80000000);
461*67e74705SXin Li   CHECK_OCT_CONST(037777777777);
462*67e74705SXin Li   CHECK_HEX_CONST(ffffffff);
463*67e74705SXin Li   CHECK_OCT_CONST(040000000000);
464*67e74705SXin Li   CHECK_HEX_CONST(100000000);
465*67e74705SXin Li   CHECK_OCT_CONST(077777777777);
466*67e74705SXin Li   CHECK_HEX_CONST(1ffffffff);
467*67e74705SXin Li   CHECK_OCT_CONST(0100000000000);
468*67e74705SXin Li   CHECK_HEX_CONST(200000000);
469*67e74705SXin Li   CHECK_OCT_CONST(0177777777777);
470*67e74705SXin Li   CHECK_HEX_CONST(3ffffffff);
471*67e74705SXin Li   CHECK_OCT_CONST(0200000000000);
472*67e74705SXin Li   CHECK_HEX_CONST(400000000);
473*67e74705SXin Li   CHECK_OCT_CONST(0377777777777);
474*67e74705SXin Li   CHECK_HEX_CONST(7ffffffff);
475*67e74705SXin Li   CHECK_OCT_CONST(0400000000000);
476*67e74705SXin Li   CHECK_HEX_CONST(800000000);
477*67e74705SXin Li   CHECK_OCT_CONST(0777777777777);
478*67e74705SXin Li   CHECK_HEX_CONST(fffffffff);
479*67e74705SXin Li   CHECK_OCT_CONST(01000000000000);
480*67e74705SXin Li   CHECK_HEX_CONST(1000000000);
481*67e74705SXin Li   CHECK_OCT_CONST(01777777777777);
482*67e74705SXin Li   CHECK_HEX_CONST(1fffffffff);
483*67e74705SXin Li   CHECK_OCT_CONST(02000000000000);
484*67e74705SXin Li   CHECK_HEX_CONST(2000000000);
485*67e74705SXin Li   CHECK_OCT_CONST(03777777777777);
486*67e74705SXin Li   CHECK_HEX_CONST(3fffffffff);
487*67e74705SXin Li   CHECK_OCT_CONST(04000000000000);
488*67e74705SXin Li   CHECK_HEX_CONST(4000000000);
489*67e74705SXin Li   CHECK_OCT_CONST(07777777777777);
490*67e74705SXin Li   CHECK_HEX_CONST(7fffffffff);
491*67e74705SXin Li   CHECK_OCT_CONST(010000000000000);
492*67e74705SXin Li   CHECK_HEX_CONST(8000000000);
493*67e74705SXin Li   CHECK_OCT_CONST(017777777777777);
494*67e74705SXin Li   CHECK_HEX_CONST(ffffffffff);
495*67e74705SXin Li   CHECK_OCT_CONST(020000000000000);
496*67e74705SXin Li   CHECK_HEX_CONST(10000000000);
497*67e74705SXin Li   CHECK_OCT_CONST(037777777777777);
498*67e74705SXin Li   CHECK_HEX_CONST(1ffffffffff);
499*67e74705SXin Li   CHECK_OCT_CONST(040000000000000);
500*67e74705SXin Li   CHECK_HEX_CONST(20000000000);
501*67e74705SXin Li   CHECK_OCT_CONST(077777777777777);
502*67e74705SXin Li   CHECK_HEX_CONST(3ffffffffff);
503*67e74705SXin Li   CHECK_OCT_CONST(0100000000000000);
504*67e74705SXin Li   CHECK_HEX_CONST(40000000000);
505*67e74705SXin Li   CHECK_OCT_CONST(0177777777777777);
506*67e74705SXin Li   CHECK_HEX_CONST(7ffffffffff);
507*67e74705SXin Li   CHECK_OCT_CONST(0200000000000000);
508*67e74705SXin Li   CHECK_HEX_CONST(80000000000);
509*67e74705SXin Li   CHECK_OCT_CONST(0377777777777777);
510*67e74705SXin Li   CHECK_HEX_CONST(fffffffffff);
511*67e74705SXin Li   CHECK_OCT_CONST(0400000000000000);
512*67e74705SXin Li   CHECK_HEX_CONST(100000000000);
513*67e74705SXin Li   CHECK_OCT_CONST(0777777777777777);
514*67e74705SXin Li   CHECK_HEX_CONST(1fffffffffff);
515*67e74705SXin Li   CHECK_OCT_CONST(01000000000000000);
516*67e74705SXin Li   CHECK_HEX_CONST(200000000000);
517*67e74705SXin Li   CHECK_OCT_CONST(01777777777777777);
518*67e74705SXin Li   CHECK_HEX_CONST(3fffffffffff);
519*67e74705SXin Li   CHECK_OCT_CONST(02000000000000000);
520*67e74705SXin Li   CHECK_HEX_CONST(400000000000);
521*67e74705SXin Li   CHECK_OCT_CONST(03777777777777777);
522*67e74705SXin Li   CHECK_HEX_CONST(7fffffffffff);
523*67e74705SXin Li   CHECK_OCT_CONST(04000000000000000);
524*67e74705SXin Li   CHECK_HEX_CONST(800000000000);
525*67e74705SXin Li   CHECK_OCT_CONST(07777777777777777);
526*67e74705SXin Li   CHECK_HEX_CONST(ffffffffffff);
527*67e74705SXin Li   CHECK_OCT_CONST(010000000000000000);
528*67e74705SXin Li   CHECK_HEX_CONST(1000000000000);
529*67e74705SXin Li   CHECK_OCT_CONST(017777777777777777);
530*67e74705SXin Li   CHECK_HEX_CONST(1ffffffffffff);
531*67e74705SXin Li   CHECK_OCT_CONST(020000000000000000);
532*67e74705SXin Li   CHECK_HEX_CONST(2000000000000);
533*67e74705SXin Li   CHECK_OCT_CONST(037777777777777777);
534*67e74705SXin Li   CHECK_HEX_CONST(3ffffffffffff);
535*67e74705SXin Li   CHECK_OCT_CONST(040000000000000000);
536*67e74705SXin Li   CHECK_HEX_CONST(4000000000000);
537*67e74705SXin Li   CHECK_OCT_CONST(077777777777777777);
538*67e74705SXin Li   CHECK_HEX_CONST(7ffffffffffff);
539*67e74705SXin Li   CHECK_OCT_CONST(0100000000000000000);
540*67e74705SXin Li   CHECK_HEX_CONST(8000000000000);
541*67e74705SXin Li   CHECK_OCT_CONST(0177777777777777777);
542*67e74705SXin Li   CHECK_HEX_CONST(fffffffffffff);
543*67e74705SXin Li   CHECK_OCT_CONST(0200000000000000000);
544*67e74705SXin Li   CHECK_HEX_CONST(10000000000000);
545*67e74705SXin Li   CHECK_OCT_CONST(0377777777777777777);
546*67e74705SXin Li   CHECK_HEX_CONST(1fffffffffffff);
547*67e74705SXin Li   CHECK_OCT_CONST(0400000000000000000);
548*67e74705SXin Li   CHECK_HEX_CONST(20000000000000);
549*67e74705SXin Li   CHECK_OCT_CONST(0777777777777777777);
550*67e74705SXin Li   CHECK_HEX_CONST(3fffffffffffff);
551*67e74705SXin Li   CHECK_OCT_CONST(01000000000000000000);
552*67e74705SXin Li   CHECK_HEX_CONST(40000000000000);
553*67e74705SXin Li   CHECK_OCT_CONST(01777777777777777777);
554*67e74705SXin Li   CHECK_HEX_CONST(7fffffffffffff);
555*67e74705SXin Li   CHECK_OCT_CONST(02000000000000000000);
556*67e74705SXin Li   CHECK_HEX_CONST(80000000000000);
557*67e74705SXin Li   CHECK_OCT_CONST(03777777777777777777);
558*67e74705SXin Li   CHECK_HEX_CONST(ffffffffffffff);
559*67e74705SXin Li   CHECK_OCT_CONST(04000000000000000000);
560*67e74705SXin Li   CHECK_HEX_CONST(100000000000000);
561*67e74705SXin Li   CHECK_OCT_CONST(07777777777777777777);
562*67e74705SXin Li   CHECK_HEX_CONST(1ffffffffffffff);
563*67e74705SXin Li   CHECK_OCT_CONST(010000000000000000000);
564*67e74705SXin Li   CHECK_HEX_CONST(200000000000000);
565*67e74705SXin Li   CHECK_OCT_CONST(017777777777777777777);
566*67e74705SXin Li   CHECK_HEX_CONST(3ffffffffffffff);
567*67e74705SXin Li   CHECK_OCT_CONST(020000000000000000000);
568*67e74705SXin Li   CHECK_HEX_CONST(400000000000000);
569*67e74705SXin Li   CHECK_OCT_CONST(037777777777777777777);
570*67e74705SXin Li   CHECK_HEX_CONST(7ffffffffffffff);
571*67e74705SXin Li   CHECK_OCT_CONST(040000000000000000000);
572*67e74705SXin Li   CHECK_HEX_CONST(800000000000000);
573*67e74705SXin Li   CHECK_OCT_CONST(077777777777777777777);
574*67e74705SXin Li   CHECK_HEX_CONST(fffffffffffffff);
575*67e74705SXin Li   CHECK_OCT_CONST(0100000000000000000000);
576*67e74705SXin Li   CHECK_HEX_CONST(1000000000000000);
577*67e74705SXin Li   CHECK_OCT_CONST(0177777777777777777777);
578*67e74705SXin Li   CHECK_HEX_CONST(1fffffffffffffff);
579*67e74705SXin Li   CHECK_OCT_CONST(0200000000000000000000);
580*67e74705SXin Li   CHECK_HEX_CONST(2000000000000000);
581*67e74705SXin Li   CHECK_OCT_CONST(0377777777777777777777);
582*67e74705SXin Li   CHECK_HEX_CONST(3fffffffffffffff);
583*67e74705SXin Li   CHECK_OCT_CONST(0400000000000000000000);
584*67e74705SXin Li   CHECK_HEX_CONST(4000000000000000);
585*67e74705SXin Li   CHECK_OCT_CONST(0777777777777777777777);
586*67e74705SXin Li   CHECK_HEX_CONST(7fffffffffffffff);
587*67e74705SXin Li   CHECK_OCT_CONST(01000000000000000000000);
588*67e74705SXin Li   CHECK_HEX_CONST(8000000000000000);
589*67e74705SXin Li   CHECK_OCT_CONST(01777777777777777777777);
590*67e74705SXin Li   CHECK_HEX_CONST(ffffffffffffffff);
591*67e74705SXin Li #if LLONG_AT_LEAST(65)
592*67e74705SXin Li   CHECK_OCT_CONST(02000000000000000000000);
593*67e74705SXin Li   CHECK_HEX_CONST(10000000000000000);
594*67e74705SXin Li   CHECK_OCT_CONST(03777777777777777777777);
595*67e74705SXin Li   CHECK_HEX_CONST(1ffffffffffffffff);
596*67e74705SXin Li #endif
597*67e74705SXin Li #if LLONG_AT_LEAST(66)
598*67e74705SXin Li   CHECK_OCT_CONST(04000000000000000000000);
599*67e74705SXin Li   CHECK_HEX_CONST(20000000000000000);
600*67e74705SXin Li   CHECK_OCT_CONST(07777777777777777777777);
601*67e74705SXin Li   CHECK_HEX_CONST(3ffffffffffffffff);
602*67e74705SXin Li #endif
603*67e74705SXin Li #if LLONG_AT_LEAST(67)
604*67e74705SXin Li   CHECK_OCT_CONST(010000000000000000000000);
605*67e74705SXin Li   CHECK_HEX_CONST(40000000000000000);
606*67e74705SXin Li   CHECK_OCT_CONST(017777777777777777777777);
607*67e74705SXin Li   CHECK_HEX_CONST(7ffffffffffffffff);
608*67e74705SXin Li #endif
609*67e74705SXin Li #if LLONG_AT_LEAST(68)
610*67e74705SXin Li   CHECK_OCT_CONST(020000000000000000000000);
611*67e74705SXin Li   CHECK_HEX_CONST(80000000000000000);
612*67e74705SXin Li   CHECK_OCT_CONST(037777777777777777777777);
613*67e74705SXin Li   CHECK_HEX_CONST(fffffffffffffffff);
614*67e74705SXin Li #endif
615*67e74705SXin Li #if LLONG_AT_LEAST(69)
616*67e74705SXin Li   CHECK_OCT_CONST(040000000000000000000000);
617*67e74705SXin Li   CHECK_HEX_CONST(100000000000000000);
618*67e74705SXin Li   CHECK_OCT_CONST(077777777777777777777777);
619*67e74705SXin Li   CHECK_HEX_CONST(1fffffffffffffffff);
620*67e74705SXin Li #endif
621*67e74705SXin Li #if LLONG_AT_LEAST(70)
622*67e74705SXin Li   CHECK_OCT_CONST(0100000000000000000000000);
623*67e74705SXin Li   CHECK_HEX_CONST(200000000000000000);
624*67e74705SXin Li   CHECK_OCT_CONST(0177777777777777777777777);
625*67e74705SXin Li   CHECK_HEX_CONST(3fffffffffffffffff);
626*67e74705SXin Li #endif
627*67e74705SXin Li #if LLONG_AT_LEAST(71)
628*67e74705SXin Li   CHECK_OCT_CONST(0200000000000000000000000);
629*67e74705SXin Li   CHECK_HEX_CONST(400000000000000000);
630*67e74705SXin Li   CHECK_OCT_CONST(0377777777777777777777777);
631*67e74705SXin Li   CHECK_HEX_CONST(7fffffffffffffffff);
632*67e74705SXin Li #endif
633*67e74705SXin Li #if LLONG_AT_LEAST(72)
634*67e74705SXin Li   CHECK_OCT_CONST(0400000000000000000000000);
635*67e74705SXin Li   CHECK_HEX_CONST(800000000000000000);
636*67e74705SXin Li   CHECK_OCT_CONST(0777777777777777777777777);
637*67e74705SXin Li   CHECK_HEX_CONST(ffffffffffffffffff);
638*67e74705SXin Li #endif
639*67e74705SXin Li }
640