• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // RUN: %clang_cc1 -E -ffreestanding -triple=arm-none-none %s | FileCheck -check-prefix ARM %s
2 //
3 // ARM:typedef signed long long int int64_t;
4 // ARM:typedef unsigned long long int uint64_t;
5 // ARM:typedef int64_t int_least64_t;
6 // ARM:typedef uint64_t uint_least64_t;
7 // ARM:typedef int64_t int_fast64_t;
8 // ARM:typedef uint64_t uint_fast64_t;
9 //
10 // ARM:typedef signed int int32_t;
11 // ARM:typedef unsigned int uint32_t;
12 // ARM:typedef int32_t int_least32_t;
13 // ARM:typedef uint32_t uint_least32_t;
14 // ARM:typedef int32_t int_fast32_t;
15 // ARM:typedef uint32_t uint_fast32_t;
16 //
17 // ARM:typedef signed short int16_t;
18 // ARM:typedef unsigned short uint16_t;
19 // ARM:typedef int16_t int_least16_t;
20 // ARM:typedef uint16_t uint_least16_t;
21 // ARM:typedef int16_t int_fast16_t;
22 // ARM:typedef uint16_t uint_fast16_t;
23 //
24 // ARM:typedef signed char int8_t;
25 // ARM:typedef unsigned char uint8_t;
26 // ARM:typedef int8_t int_least8_t;
27 // ARM:typedef uint8_t uint_least8_t;
28 // ARM:typedef int8_t int_fast8_t;
29 // ARM:typedef uint8_t uint_fast8_t;
30 //
31 // ARM:typedef int32_t intptr_t;
32 // ARM:typedef uint32_t uintptr_t;
33 //
34 // ARM:typedef long long int intmax_t;
35 // ARM:typedef long long unsigned int uintmax_t;
36 //
37 // ARM:INT8_MAX_ 127
38 // ARM:INT8_MIN_ (-127 -1)
39 // ARM:UINT8_MAX_ 255
40 // ARM:INT_LEAST8_MIN_ (-127 -1)
41 // ARM:INT_LEAST8_MAX_ 127
42 // ARM:UINT_LEAST8_MAX_ 255
43 // ARM:INT_FAST8_MIN_ (-127 -1)
44 // ARM:INT_FAST8_MAX_ 127
45 // ARM:UINT_FAST8_MAX_ 255
46 //
47 // ARM:INT16_MAX_ 32767
48 // ARM:INT16_MIN_ (-32767 -1)
49 // ARM:UINT16_MAX_ 65535
50 // ARM:INT_LEAST16_MIN_ (-32767 -1)
51 // ARM:INT_LEAST16_MAX_ 32767
52 // ARM:UINT_LEAST16_MAX_ 65535
53 // ARM:INT_FAST16_MIN_ (-32767 -1)
54 // ARM:INT_FAST16_MAX_ 32767
55 // ARM:UINT_FAST16_MAX_ 65535
56 //
57 // ARM:INT32_MAX_ 2147483647
58 // ARM:INT32_MIN_ (-2147483647 -1)
59 // ARM:UINT32_MAX_ 4294967295U
60 // ARM:INT_LEAST32_MIN_ (-2147483647 -1)
61 // ARM:INT_LEAST32_MAX_ 2147483647
62 // ARM:UINT_LEAST32_MAX_ 4294967295U
63 // ARM:INT_FAST32_MIN_ (-2147483647 -1)
64 // ARM:INT_FAST32_MAX_ 2147483647
65 // ARM:UINT_FAST32_MAX_ 4294967295U
66 //
67 // ARM:INT64_MAX_ 9223372036854775807LL
68 // ARM:INT64_MIN_ (-9223372036854775807LL -1)
69 // ARM:UINT64_MAX_ 18446744073709551615ULL
70 // ARM:INT_LEAST64_MIN_ (-9223372036854775807LL -1)
71 // ARM:INT_LEAST64_MAX_ 9223372036854775807LL
72 // ARM:UINT_LEAST64_MAX_ 18446744073709551615ULL
73 // ARM:INT_FAST64_MIN_ (-9223372036854775807LL -1)
74 // ARM:INT_FAST64_MAX_ 9223372036854775807LL
75 // ARM:UINT_FAST64_MAX_ 18446744073709551615ULL
76 //
77 // ARM:INTPTR_MIN_ (-2147483647 -1)
78 // ARM:INTPTR_MAX_ 2147483647
79 // ARM:UINTPTR_MAX_ 4294967295U
80 // ARM:PTRDIFF_MIN_ (-2147483647 -1)
81 // ARM:PTRDIFF_MAX_ 2147483647
82 // ARM:SIZE_MAX_ 4294967295U
83 //
84 // ARM:INTMAX_MIN_ (-9223372036854775807LL -1)
85 // ARM:INTMAX_MAX_ 9223372036854775807LL
86 // ARM:UINTMAX_MAX_ 18446744073709551615ULL
87 //
88 // ARM:SIG_ATOMIC_MIN_ (-2147483647 -1)
89 // ARM:SIG_ATOMIC_MAX_ 2147483647
90 // ARM:WINT_MIN_ (-2147483647 -1)
91 // ARM:WINT_MAX_ 2147483647
92 //
93 // ARM:WCHAR_MAX_ 2147483647
94 // ARM:WCHAR_MIN_ (-2147483647 -1)
95 //
96 // ARM:INT8_C_(0) 0
97 // ARM:UINT8_C_(0) 0U
98 // ARM:INT16_C_(0) 0
99 // ARM:UINT16_C_(0) 0U
100 // ARM:INT32_C_(0) 0
101 // ARM:UINT32_C_(0) 0U
102 // ARM:INT64_C_(0) 0LL
103 // ARM:UINT64_C_(0) 0ULL
104 //
105 // ARM:INTMAX_C_(0) 0LL
106 // ARM:UINTMAX_C_(0) 0ULL
107 //
108 //
109 // RUN: %clang_cc1 -E -ffreestanding -triple=bfin-none-none %s | FileCheck -check-prefix BFIN %s
110 //
111 // BFIN:typedef signed long long int int64_t;
112 // BFIN:typedef unsigned long long int uint64_t;
113 // BFIN:typedef int64_t int_least64_t;
114 // BFIN:typedef uint64_t uint_least64_t;
115 // BFIN:typedef int64_t int_fast64_t;
116 // BFIN:typedef uint64_t uint_fast64_t;
117 //
118 // BFIN:typedef signed int int32_t;
119 // BFIN:typedef unsigned int uint32_t;
120 // BFIN:typedef int32_t int_least32_t;
121 // BFIN:typedef uint32_t uint_least32_t;
122 // BFIN:typedef int32_t int_fast32_t;
123 // BFIN:typedef uint32_t uint_fast32_t;
124 //
125 // BFIN:typedef signed short int16_t;
126 // BFIN:typedef unsigned short uint16_t;
127 // BFIN:typedef int16_t int_least16_t;
128 // BFIN:typedef uint16_t uint_least16_t;
129 // BFIN:typedef int16_t int_fast16_t;
130 // BFIN:typedef uint16_t uint_fast16_t;
131 //
132 // BFIN:typedef signed char int8_t;
133 // BFIN:typedef unsigned char uint8_t;
134 // BFIN:typedef int8_t int_least8_t;
135 // BFIN:typedef uint8_t uint_least8_t;
136 // BFIN:typedef int8_t int_fast8_t;
137 // BFIN:typedef uint8_t uint_fast8_t;
138 //
139 // BFIN:typedef int32_t intptr_t;
140 // BFIN:typedef uint32_t uintptr_t;
141 //
142 // BFIN:typedef long long int intmax_t;
143 // BFIN:typedef long long unsigned int uintmax_t;
144 //
145 // BFIN:INT8_MAX_ 127
146 // BFIN:INT8_MIN_ (-127 -1)
147 // BFIN:UINT8_MAX_ 255
148 // BFIN:INT_LEAST8_MIN_ (-127 -1)
149 // BFIN:INT_LEAST8_MAX_ 127
150 // BFIN:UINT_LEAST8_MAX_ 255
151 // BFIN:INT_FAST8_MIN_ (-127 -1)
152 // BFIN:INT_FAST8_MAX_ 127
153 // BFIN:UINT_FAST8_MAX_ 255
154 //
155 // BFIN:INT16_MAX_ 32767
156 // BFIN:INT16_MIN_ (-32767 -1)
157 // BFIN:UINT16_MAX_ 65535
158 // BFIN:INT_LEAST16_MIN_ (-32767 -1)
159 // BFIN:INT_LEAST16_MAX_ 32767
160 // BFIN:UINT_LEAST16_MAX_ 65535
161 // BFIN:INT_FAST16_MIN_ (-32767 -1)
162 // BFIN:INT_FAST16_MAX_ 32767
163 // BFIN:UINT_FAST16_MAX_ 65535
164 //
165 // BFIN:INT32_MAX_ 2147483647
166 // BFIN:INT32_MIN_ (-2147483647 -1)
167 // BFIN:UINT32_MAX_ 4294967295U
168 // BFIN:INT_LEAST32_MIN_ (-2147483647 -1)
169 // BFIN:INT_LEAST32_MAX_ 2147483647
170 // BFIN:UINT_LEAST32_MAX_ 4294967295U
171 // BFIN:INT_FAST32_MIN_ (-2147483647 -1)
172 // BFIN:INT_FAST32_MAX_ 2147483647
173 // BFIN:UINT_FAST32_MAX_ 4294967295U
174 //
175 // BFIN:INT64_MAX_ 9223372036854775807LL
176 // BFIN:INT64_MIN_ (-9223372036854775807LL -1)
177 // BFIN:UINT64_MAX_ 18446744073709551615ULL
178 // BFIN:INT_LEAST64_MIN_ (-9223372036854775807LL -1)
179 // BFIN:INT_LEAST64_MAX_ 9223372036854775807LL
180 // BFIN:UINT_LEAST64_MAX_ 18446744073709551615ULL
181 // BFIN:INT_FAST64_MIN_ (-9223372036854775807LL -1)
182 // BFIN:INT_FAST64_MAX_ 9223372036854775807LL
183 // BFIN:UINT_FAST64_MAX_ 18446744073709551615ULL
184 //
185 // BFIN:INTPTR_MIN_ (-2147483647 -1)
186 // BFIN:INTPTR_MAX_ 2147483647
187 // BFIN:UINTPTR_MAX_ 4294967295U
188 // BFIN:PTRDIFF_MIN_ (-2147483647 -1)
189 // BFIN:PTRDIFF_MAX_ 2147483647
190 // BFIN:SIZE_MAX_ 4294967295U
191 //
192 // BFIN:INTMAX_MIN_ (-9223372036854775807LL -1)
193 // BFIN:INTMAX_MAX_ 9223372036854775807LL
194 // BFIN:UINTMAX_MAX_ 18446744073709551615ULL
195 //
196 // BFIN:SIG_ATOMIC_MIN_ (-2147483647 -1)
197 // BFIN:SIG_ATOMIC_MAX_ 2147483647
198 // BFIN:WINT_MIN_ (-2147483647 -1)
199 // BFIN:WINT_MAX_ 2147483647
200 //
201 // BFIN:WCHAR_MAX_ 2147483647
202 // BFIN:WCHAR_MIN_ (-2147483647 -1)
203 //
204 // BFIN:INT8_C_(0) 0
205 // BFIN:UINT8_C_(0) 0U
206 // BFIN:INT16_C_(0) 0
207 // BFIN:UINT16_C_(0) 0U
208 // BFIN:INT32_C_(0) 0
209 // BFIN:UINT32_C_(0) 0U
210 // BFIN:INT64_C_(0) 0LL
211 // BFIN:UINT64_C_(0) 0ULL
212 //
213 // BFIN:INTMAX_C_(0) 0LL
214 // BFIN:UINTMAX_C_(0) 0ULL
215 //
216 //
217 // RUN: %clang_cc1 -E -ffreestanding -triple=i386-none-none %s | FileCheck -check-prefix I386 %s
218 //
219 // I386:typedef signed long long int int64_t;
220 // I386:typedef unsigned long long int uint64_t;
221 // I386:typedef int64_t int_least64_t;
222 // I386:typedef uint64_t uint_least64_t;
223 // I386:typedef int64_t int_fast64_t;
224 // I386:typedef uint64_t uint_fast64_t;
225 //
226 // I386:typedef signed int int32_t;
227 // I386:typedef unsigned int uint32_t;
228 // I386:typedef int32_t int_least32_t;
229 // I386:typedef uint32_t uint_least32_t;
230 // I386:typedef int32_t int_fast32_t;
231 // I386:typedef uint32_t uint_fast32_t;
232 //
233 // I386:typedef signed short int16_t;
234 // I386:typedef unsigned short uint16_t;
235 // I386:typedef int16_t int_least16_t;
236 // I386:typedef uint16_t uint_least16_t;
237 // I386:typedef int16_t int_fast16_t;
238 // I386:typedef uint16_t uint_fast16_t;
239 //
240 // I386:typedef signed char int8_t;
241 // I386:typedef unsigned char uint8_t;
242 // I386:typedef int8_t int_least8_t;
243 // I386:typedef uint8_t uint_least8_t;
244 // I386:typedef int8_t int_fast8_t;
245 // I386:typedef uint8_t uint_fast8_t;
246 //
247 // I386:typedef int32_t intptr_t;
248 // I386:typedef uint32_t uintptr_t;
249 //
250 // I386:typedef long long int intmax_t;
251 // I386:typedef long long unsigned int uintmax_t;
252 //
253 // I386:INT8_MAX_ 127
254 // I386:INT8_MIN_ (-127 -1)
255 // I386:UINT8_MAX_ 255
256 // I386:INT_LEAST8_MIN_ (-127 -1)
257 // I386:INT_LEAST8_MAX_ 127
258 // I386:UINT_LEAST8_MAX_ 255
259 // I386:INT_FAST8_MIN_ (-127 -1)
260 // I386:INT_FAST8_MAX_ 127
261 // I386:UINT_FAST8_MAX_ 255
262 //
263 // I386:INT16_MAX_ 32767
264 // I386:INT16_MIN_ (-32767 -1)
265 // I386:UINT16_MAX_ 65535
266 // I386:INT_LEAST16_MIN_ (-32767 -1)
267 // I386:INT_LEAST16_MAX_ 32767
268 // I386:UINT_LEAST16_MAX_ 65535
269 // I386:INT_FAST16_MIN_ (-32767 -1)
270 // I386:INT_FAST16_MAX_ 32767
271 // I386:UINT_FAST16_MAX_ 65535
272 //
273 // I386:INT32_MAX_ 2147483647
274 // I386:INT32_MIN_ (-2147483647 -1)
275 // I386:UINT32_MAX_ 4294967295U
276 // I386:INT_LEAST32_MIN_ (-2147483647 -1)
277 // I386:INT_LEAST32_MAX_ 2147483647
278 // I386:UINT_LEAST32_MAX_ 4294967295U
279 // I386:INT_FAST32_MIN_ (-2147483647 -1)
280 // I386:INT_FAST32_MAX_ 2147483647
281 // I386:UINT_FAST32_MAX_ 4294967295U
282 //
283 // I386:INT64_MAX_ 9223372036854775807LL
284 // I386:INT64_MIN_ (-9223372036854775807LL -1)
285 // I386:UINT64_MAX_ 18446744073709551615ULL
286 // I386:INT_LEAST64_MIN_ (-9223372036854775807LL -1)
287 // I386:INT_LEAST64_MAX_ 9223372036854775807LL
288 // I386:UINT_LEAST64_MAX_ 18446744073709551615ULL
289 // I386:INT_FAST64_MIN_ (-9223372036854775807LL -1)
290 // I386:INT_FAST64_MAX_ 9223372036854775807LL
291 // I386:UINT_FAST64_MAX_ 18446744073709551615ULL
292 //
293 // I386:INTPTR_MIN_ (-2147483647 -1)
294 // I386:INTPTR_MAX_ 2147483647
295 // I386:UINTPTR_MAX_ 4294967295U
296 // I386:PTRDIFF_MIN_ (-2147483647 -1)
297 // I386:PTRDIFF_MAX_ 2147483647
298 // I386:SIZE_MAX_ 4294967295U
299 //
300 // I386:INTMAX_MIN_ (-9223372036854775807LL -1)
301 // I386:INTMAX_MAX_ 9223372036854775807LL
302 // I386:UINTMAX_MAX_ 18446744073709551615ULL
303 //
304 // I386:SIG_ATOMIC_MIN_ (-2147483647 -1)
305 // I386:SIG_ATOMIC_MAX_ 2147483647
306 // I386:WINT_MIN_ (-2147483647 -1)
307 // I386:WINT_MAX_ 2147483647
308 //
309 // I386:WCHAR_MAX_ 2147483647
310 // I386:WCHAR_MIN_ (-2147483647 -1)
311 //
312 // I386:INT8_C_(0) 0
313 // I386:UINT8_C_(0) 0U
314 // I386:INT16_C_(0) 0
315 // I386:UINT16_C_(0) 0U
316 // I386:INT32_C_(0) 0
317 // I386:UINT32_C_(0) 0U
318 // I386:INT64_C_(0) 0LL
319 // I386:UINT64_C_(0) 0ULL
320 //
321 // I386:INTMAX_C_(0) 0LL
322 // I386:UINTMAX_C_(0) 0ULL
323 //
324 // RUN: %clang_cc1 -E -ffreestanding -triple=msp430-none-none %s | FileCheck -check-prefix MSP430 %s
325 //
326 // MSP430:typedef signed long int int32_t;
327 // MSP430:typedef unsigned long int uint32_t;
328 // MSP430:typedef int32_t int_least32_t;
329 // MSP430:typedef uint32_t uint_least32_t;
330 // MSP430:typedef int32_t int_fast32_t;
331 // MSP430:typedef uint32_t uint_fast32_t;
332 //
333 // MSP430:typedef signed short int16_t;
334 // MSP430:typedef unsigned short uint16_t;
335 // MSP430:typedef int16_t int_least16_t;
336 // MSP430:typedef uint16_t uint_least16_t;
337 // MSP430:typedef int16_t int_fast16_t;
338 // MSP430:typedef uint16_t uint_fast16_t;
339 //
340 // MSP430:typedef signed char int8_t;
341 // MSP430:typedef unsigned char uint8_t;
342 // MSP430:typedef int8_t int_least8_t;
343 // MSP430:typedef uint8_t uint_least8_t;
344 // MSP430:typedef int8_t int_fast8_t;
345 // MSP430:typedef uint8_t uint_fast8_t;
346 //
347 // MSP430:typedef int16_t intptr_t;
348 // MSP430:typedef uint16_t uintptr_t;
349 //
350 // MSP430:typedef long int intmax_t;
351 // MSP430:typedef long unsigned int uintmax_t;
352 //
353 // MSP430:INT8_MAX_ 127
354 // MSP430:INT8_MIN_ (-127 -1)
355 // MSP430:UINT8_MAX_ 255
356 // MSP430:INT_LEAST8_MIN_ (-127 -1)
357 // MSP430:INT_LEAST8_MAX_ 127
358 // MSP430:UINT_LEAST8_MAX_ 255
359 // MSP430:INT_FAST8_MIN_ (-127 -1)
360 // MSP430:INT_FAST8_MAX_ 127
361 // MSP430:UINT_FAST8_MAX_ 255
362 //
363 // MSP430:INT16_MAX_ 32767
364 // MSP430:INT16_MIN_ (-32767 -1)
365 // MSP430:UINT16_MAX_ 65535
366 // MSP430:INT_LEAST16_MIN_ (-32767 -1)
367 // MSP430:INT_LEAST16_MAX_ 32767
368 // MSP430:UINT_LEAST16_MAX_ 65535
369 // MSP430:INT_FAST16_MIN_ (-32767 -1)
370 // MSP430:INT_FAST16_MAX_ 32767
371 // MSP430:UINT_FAST16_MAX_ 65535
372 //
373 // MSP430:INT32_MAX_ 2147483647L
374 // MSP430:INT32_MIN_ (-2147483647L -1)
375 // MSP430:UINT32_MAX_ 4294967295UL
376 // MSP430:INT_LEAST32_MIN_ (-2147483647L -1)
377 // MSP430:INT_LEAST32_MAX_ 2147483647L
378 // MSP430:UINT_LEAST32_MAX_ 4294967295UL
379 // MSP430:INT_FAST32_MIN_ (-2147483647L -1)
380 // MSP430:INT_FAST32_MAX_ 2147483647L
381 // MSP430:UINT_FAST32_MAX_ 4294967295UL
382 //
383 // MSP430:INT64_MAX_ 9223372036854775807LL
384 // MSP430:INT64_MIN_ (-9223372036854775807LL -1)
385 // MSP430:UINT64_MAX_ 18446744073709551615ULL
386 // MSP430:INT_LEAST64_MIN_ (-9223372036854775807LL -1)
387 // MSP430:INT_LEAST64_MAX_ 9223372036854775807LL
388 // MSP430:UINT_LEAST64_MAX_ 18446744073709551615ULL
389 // MSP430:INT_FAST64_MIN_ (-9223372036854775807LL -1)
390 // MSP430:INT_FAST64_MAX_ 9223372036854775807LL
391 // MSP430:UINT_FAST64_MAX_ 18446744073709551615ULL
392 //
393 // MSP430:INTPTR_MIN_ (-32767 -1)
394 // MSP430:INTPTR_MAX_ 32767
395 // MSP430:UINTPTR_MAX_ 65535
396 // MSP430:PTRDIFF_MIN_ (-32767 -1)
397 // MSP430:PTRDIFF_MAX_ 32767
398 // MSP430:SIZE_MAX_ 65535
399 //
400 // MSP430:INTMAX_MIN_ (-2147483647L -1)
401 // MSP430:INTMAX_MAX_ 2147483647L
402 // MSP430:UINTMAX_MAX_ 4294967295UL
403 //
404 // MSP430:SIG_ATOMIC_MIN_ (-2147483647L -1)
405 // MSP430:SIG_ATOMIC_MAX_ 2147483647L
406 // MSP430:WINT_MIN_ (-32767 -1)
407 // MSP430:WINT_MAX_ 32767
408 //
409 // MSP430:WCHAR_MAX_ 32767
410 // MSP430:WCHAR_MIN_ (-32767 -1)
411 //
412 // MSP430:INT8_C_(0) 0
413 // MSP430:UINT8_C_(0) 0U
414 // MSP430:INT16_C_(0) 0
415 // MSP430:UINT16_C_(0) 0U
416 // MSP430:INT32_C_(0) 0L
417 // MSP430:UINT32_C_(0) 0UL
418 // MSP430:INT64_C_(0) 0LL
419 // MSP430:UINT64_C_(0) 0ULL
420 //
421 // MSP430:INTMAX_C_(0) 0L
422 // MSP430:UINTMAX_C_(0) 0UL
423 //
424 // RUN: %clang_cc1 -E -ffreestanding -triple=powerpc64-none-none %s | FileCheck -check-prefix PPC64 %s
425 //
426 // PPC64:typedef signed long int int64_t;
427 // PPC64:typedef unsigned long int uint64_t;
428 // PPC64:typedef int64_t int_least64_t;
429 // PPC64:typedef uint64_t uint_least64_t;
430 // PPC64:typedef int64_t int_fast64_t;
431 // PPC64:typedef uint64_t uint_fast64_t;
432 //
433 // PPC64:typedef signed int int32_t;
434 // PPC64:typedef unsigned int uint32_t;
435 // PPC64:typedef int32_t int_least32_t;
436 // PPC64:typedef uint32_t uint_least32_t;
437 // PPC64:typedef int32_t int_fast32_t;
438 // PPC64:typedef uint32_t uint_fast32_t;
439 //
440 // PPC64:typedef signed short int16_t;
441 // PPC64:typedef unsigned short uint16_t;
442 // PPC64:typedef int16_t int_least16_t;
443 // PPC64:typedef uint16_t uint_least16_t;
444 // PPC64:typedef int16_t int_fast16_t;
445 // PPC64:typedef uint16_t uint_fast16_t;
446 //
447 // PPC64:typedef signed char int8_t;
448 // PPC64:typedef unsigned char uint8_t;
449 // PPC64:typedef int8_t int_least8_t;
450 // PPC64:typedef uint8_t uint_least8_t;
451 // PPC64:typedef int8_t int_fast8_t;
452 // PPC64:typedef uint8_t uint_fast8_t;
453 //
454 // PPC64:typedef int64_t intptr_t;
455 // PPC64:typedef uint64_t uintptr_t;
456 //
457 // PPC64:typedef long int intmax_t;
458 // PPC64:typedef long unsigned int uintmax_t;
459 //
460 // PPC64:INT8_MAX_ 127
461 // PPC64:INT8_MIN_ (-127 -1)
462 // PPC64:UINT8_MAX_ 255
463 // PPC64:INT_LEAST8_MIN_ (-127 -1)
464 // PPC64:INT_LEAST8_MAX_ 127
465 // PPC64:UINT_LEAST8_MAX_ 255
466 // PPC64:INT_FAST8_MIN_ (-127 -1)
467 // PPC64:INT_FAST8_MAX_ 127
468 // PPC64:UINT_FAST8_MAX_ 255
469 //
470 // PPC64:INT16_MAX_ 32767
471 // PPC64:INT16_MIN_ (-32767 -1)
472 // PPC64:UINT16_MAX_ 65535
473 // PPC64:INT_LEAST16_MIN_ (-32767 -1)
474 // PPC64:INT_LEAST16_MAX_ 32767
475 // PPC64:UINT_LEAST16_MAX_ 65535
476 // PPC64:INT_FAST16_MIN_ (-32767 -1)
477 // PPC64:INT_FAST16_MAX_ 32767
478 // PPC64:UINT_FAST16_MAX_ 65535
479 //
480 // PPC64:INT32_MAX_ 2147483647
481 // PPC64:INT32_MIN_ (-2147483647 -1)
482 // PPC64:UINT32_MAX_ 4294967295U
483 // PPC64:INT_LEAST32_MIN_ (-2147483647 -1)
484 // PPC64:INT_LEAST32_MAX_ 2147483647
485 // PPC64:UINT_LEAST32_MAX_ 4294967295U
486 // PPC64:INT_FAST32_MIN_ (-2147483647 -1)
487 // PPC64:INT_FAST32_MAX_ 2147483647
488 // PPC64:UINT_FAST32_MAX_ 4294967295U
489 //
490 // PPC64:INT64_MAX_ 9223372036854775807L
491 // PPC64:INT64_MIN_ (-9223372036854775807L -1)
492 // PPC64:UINT64_MAX_ 18446744073709551615UL
493 // PPC64:INT_LEAST64_MIN_ (-9223372036854775807L -1)
494 // PPC64:INT_LEAST64_MAX_ 9223372036854775807L
495 // PPC64:UINT_LEAST64_MAX_ 18446744073709551615UL
496 // PPC64:INT_FAST64_MIN_ (-9223372036854775807L -1)
497 // PPC64:INT_FAST64_MAX_ 9223372036854775807L
498 // PPC64:UINT_FAST64_MAX_ 18446744073709551615UL
499 //
500 // PPC64:INTPTR_MIN_ (-9223372036854775807L -1)
501 // PPC64:INTPTR_MAX_ 9223372036854775807L
502 // PPC64:UINTPTR_MAX_ 18446744073709551615UL
503 // PPC64:PTRDIFF_MIN_ (-9223372036854775807L -1)
504 // PPC64:PTRDIFF_MAX_ 9223372036854775807L
505 // PPC64:SIZE_MAX_ 18446744073709551615UL
506 //
507 // PPC64:INTMAX_MIN_ (-9223372036854775807L -1)
508 // PPC64:INTMAX_MAX_ 9223372036854775807L
509 // PPC64:UINTMAX_MAX_ 18446744073709551615UL
510 //
511 // PPC64:SIG_ATOMIC_MIN_ (-2147483647 -1)
512 // PPC64:SIG_ATOMIC_MAX_ 2147483647
513 // PPC64:WINT_MIN_ (-2147483647 -1)
514 // PPC64:WINT_MAX_ 2147483647
515 //
516 // PPC64:WCHAR_MAX_ 2147483647
517 // PPC64:WCHAR_MIN_ (-2147483647 -1)
518 //
519 // PPC64:INT8_C_(0) 0
520 // PPC64:UINT8_C_(0) 0U
521 // PPC64:INT16_C_(0) 0
522 // PPC64:UINT16_C_(0) 0U
523 // PPC64:INT32_C_(0) 0
524 // PPC64:UINT32_C_(0) 0U
525 // PPC64:INT64_C_(0) 0L
526 // PPC64:UINT64_C_(0) 0UL
527 //
528 // PPC64:INTMAX_C_(0) 0L
529 // PPC64:UINTMAX_C_(0) 0UL
530 //
531 // RUN: %clang_cc1 -E -ffreestanding -triple=powerpc-none-none %s | FileCheck -check-prefix PPC %s
532 //
533 //
534 // PPC:typedef signed long long int int64_t;
535 // PPC:typedef unsigned long long int uint64_t;
536 // PPC:typedef int64_t int_least64_t;
537 // PPC:typedef uint64_t uint_least64_t;
538 // PPC:typedef int64_t int_fast64_t;
539 // PPC:typedef uint64_t uint_fast64_t;
540 //
541 // PPC:typedef signed int int32_t;
542 // PPC:typedef unsigned int uint32_t;
543 // PPC:typedef int32_t int_least32_t;
544 // PPC:typedef uint32_t uint_least32_t;
545 // PPC:typedef int32_t int_fast32_t;
546 // PPC:typedef uint32_t uint_fast32_t;
547 //
548 // PPC:typedef signed short int16_t;
549 // PPC:typedef unsigned short uint16_t;
550 // PPC:typedef int16_t int_least16_t;
551 // PPC:typedef uint16_t uint_least16_t;
552 // PPC:typedef int16_t int_fast16_t;
553 // PPC:typedef uint16_t uint_fast16_t;
554 //
555 // PPC:typedef signed char int8_t;
556 // PPC:typedef unsigned char uint8_t;
557 // PPC:typedef int8_t int_least8_t;
558 // PPC:typedef uint8_t uint_least8_t;
559 // PPC:typedef int8_t int_fast8_t;
560 // PPC:typedef uint8_t uint_fast8_t;
561 //
562 // PPC:typedef int32_t intptr_t;
563 // PPC:typedef uint32_t uintptr_t;
564 //
565 // PPC:typedef long long int intmax_t;
566 // PPC:typedef long long unsigned int uintmax_t;
567 //
568 // PPC:INT8_MAX_ 127
569 // PPC:INT8_MIN_ (-127 -1)
570 // PPC:UINT8_MAX_ 255
571 // PPC:INT_LEAST8_MIN_ (-127 -1)
572 // PPC:INT_LEAST8_MAX_ 127
573 // PPC:UINT_LEAST8_MAX_ 255
574 // PPC:INT_FAST8_MIN_ (-127 -1)
575 // PPC:INT_FAST8_MAX_ 127
576 // PPC:UINT_FAST8_MAX_ 255
577 //
578 // PPC:INT16_MAX_ 32767
579 // PPC:INT16_MIN_ (-32767 -1)
580 // PPC:UINT16_MAX_ 65535
581 // PPC:INT_LEAST16_MIN_ (-32767 -1)
582 // PPC:INT_LEAST16_MAX_ 32767
583 // PPC:UINT_LEAST16_MAX_ 65535
584 // PPC:INT_FAST16_MIN_ (-32767 -1)
585 // PPC:INT_FAST16_MAX_ 32767
586 // PPC:UINT_FAST16_MAX_ 65535
587 //
588 // PPC:INT32_MAX_ 2147483647
589 // PPC:INT32_MIN_ (-2147483647 -1)
590 // PPC:UINT32_MAX_ 4294967295U
591 // PPC:INT_LEAST32_MIN_ (-2147483647 -1)
592 // PPC:INT_LEAST32_MAX_ 2147483647
593 // PPC:UINT_LEAST32_MAX_ 4294967295U
594 // PPC:INT_FAST32_MIN_ (-2147483647 -1)
595 // PPC:INT_FAST32_MAX_ 2147483647
596 // PPC:UINT_FAST32_MAX_ 4294967295U
597 //
598 // PPC:INT64_MAX_ 9223372036854775807LL
599 // PPC:INT64_MIN_ (-9223372036854775807LL -1)
600 // PPC:UINT64_MAX_ 18446744073709551615ULL
601 // PPC:INT_LEAST64_MIN_ (-9223372036854775807LL -1)
602 // PPC:INT_LEAST64_MAX_ 9223372036854775807LL
603 // PPC:UINT_LEAST64_MAX_ 18446744073709551615ULL
604 // PPC:INT_FAST64_MIN_ (-9223372036854775807LL -1)
605 // PPC:INT_FAST64_MAX_ 9223372036854775807LL
606 // PPC:UINT_FAST64_MAX_ 18446744073709551615ULL
607 //
608 // PPC:INTPTR_MIN_ (-2147483647 -1)
609 // PPC:INTPTR_MAX_ 2147483647
610 // PPC:UINTPTR_MAX_ 4294967295U
611 // PPC:PTRDIFF_MIN_ (-2147483647 -1)
612 // PPC:PTRDIFF_MAX_ 2147483647
613 // PPC:SIZE_MAX_ 4294967295U
614 //
615 // PPC:INTMAX_MIN_ (-9223372036854775807LL -1)
616 // PPC:INTMAX_MAX_ 9223372036854775807LL
617 // PPC:UINTMAX_MAX_ 18446744073709551615ULL
618 //
619 // PPC:SIG_ATOMIC_MIN_ (-2147483647 -1)
620 // PPC:SIG_ATOMIC_MAX_ 2147483647
621 // PPC:WINT_MIN_ (-2147483647 -1)
622 // PPC:WINT_MAX_ 2147483647
623 //
624 // PPC:WCHAR_MAX_ 2147483647
625 // PPC:WCHAR_MIN_ (-2147483647 -1)
626 //
627 // PPC:INT8_C_(0) 0
628 // PPC:UINT8_C_(0) 0U
629 // PPC:INT16_C_(0) 0
630 // PPC:UINT16_C_(0) 0U
631 // PPC:INT32_C_(0) 0
632 // PPC:UINT32_C_(0) 0U
633 // PPC:INT64_C_(0) 0LL
634 // PPC:UINT64_C_(0) 0ULL
635 //
636 // PPC:INTMAX_C_(0) 0LL
637 // PPC:UINTMAX_C_(0) 0ULL
638 //
639 // RUN: %clang_cc1 -E -ffreestanding -triple=s390x-none-none %s | FileCheck -check-prefix S390X %s
640 //
641 // S390X:typedef signed long long int int64_t;
642 // S390X:typedef unsigned long long int uint64_t;
643 // S390X:typedef int64_t int_least64_t;
644 // S390X:typedef uint64_t uint_least64_t;
645 // S390X:typedef int64_t int_fast64_t;
646 // S390X:typedef uint64_t uint_fast64_t;
647 //
648 // S390X:typedef signed int int32_t;
649 // S390X:typedef unsigned int uint32_t;
650 // S390X:typedef int32_t int_least32_t;
651 // S390X:typedef uint32_t uint_least32_t;
652 // S390X:typedef int32_t int_fast32_t;
653 // S390X:typedef uint32_t uint_fast32_t;
654 //
655 // S390X:typedef signed short int16_t;
656 // S390X:typedef unsigned short uint16_t;
657 // S390X:typedef int16_t int_least16_t;
658 // S390X:typedef uint16_t uint_least16_t;
659 // S390X:typedef int16_t int_fast16_t;
660 // S390X:typedef uint16_t uint_fast16_t;
661 //
662 // S390X:typedef signed char int8_t;
663 // S390X:typedef unsigned char uint8_t;
664 // S390X:typedef int8_t int_least8_t;
665 // S390X:typedef uint8_t uint_least8_t;
666 // S390X:typedef int8_t int_fast8_t;
667 // S390X:typedef uint8_t uint_fast8_t;
668 //
669 // S390X:typedef int64_t intptr_t;
670 // S390X:typedef uint64_t uintptr_t;
671 //
672 // S390X:typedef long long int intmax_t;
673 // S390X:typedef long long unsigned int uintmax_t;
674 //
675 // S390X:INT8_MAX_ 127
676 // S390X:INT8_MIN_ (-127 -1)
677 // S390X:UINT8_MAX_ 255
678 // S390X:INT_LEAST8_MIN_ (-127 -1)
679 // S390X:INT_LEAST8_MAX_ 127
680 // S390X:UINT_LEAST8_MAX_ 255
681 // S390X:INT_FAST8_MIN_ (-127 -1)
682 // S390X:INT_FAST8_MAX_ 127
683 // S390X:UINT_FAST8_MAX_ 255
684 //
685 // S390X:INT16_MAX_ 32767
686 // S390X:INT16_MIN_ (-32767 -1)
687 // S390X:UINT16_MAX_ 65535
688 // S390X:INT_LEAST16_MIN_ (-32767 -1)
689 // S390X:INT_LEAST16_MAX_ 32767
690 // S390X:UINT_LEAST16_MAX_ 65535
691 // S390X:INT_FAST16_MIN_ (-32767 -1)
692 // S390X:INT_FAST16_MAX_ 32767
693 // S390X:UINT_FAST16_MAX_ 65535
694 //
695 // S390X:INT32_MAX_ 2147483647
696 // S390X:INT32_MIN_ (-2147483647 -1)
697 // S390X:UINT32_MAX_ 4294967295U
698 // S390X:INT_LEAST32_MIN_ (-2147483647 -1)
699 // S390X:INT_LEAST32_MAX_ 2147483647
700 // S390X:UINT_LEAST32_MAX_ 4294967295U
701 // S390X:INT_FAST32_MIN_ (-2147483647 -1)
702 // S390X:INT_FAST32_MAX_ 2147483647
703 // S390X:UINT_FAST32_MAX_ 4294967295U
704 //
705 // S390X:INT64_MAX_ 9223372036854775807L
706 // S390X:INT64_MIN_ (-9223372036854775807LL -1)
707 // S390X:UINT64_MAX_ 18446744073709551615UL
708 // S390X:INT_LEAST64_MIN_ (-9223372036854775807LL -1)
709 // S390X:INT_LEAST64_MAX_ 9223372036854775807L
710 // S390X:UINT_LEAST64_MAX_ 18446744073709551615UL
711 // S390X:INT_FAST64_MIN_ (-9223372036854775807LL -1)
712 // S390X:INT_FAST64_MAX_ 9223372036854775807L
713 // S390X:UINT_FAST64_MAX_ 18446744073709551615UL
714 //
715 // S390X:INTPTR_MIN_ (-9223372036854775807LL -1)
716 // S390X:INTPTR_MAX_ 9223372036854775807L
717 // S390X:UINTPTR_MAX_ 18446744073709551615UL
718 // S390X:PTRDIFF_MIN_ (-9223372036854775807LL -1)
719 // S390X:PTRDIFF_MAX_ 9223372036854775807L
720 // S390X:SIZE_MAX_ 18446744073709551615UL
721 //
722 // S390X:INTMAX_MIN_ (-9223372036854775807LL -1)
723 // S390X:INTMAX_MAX_ 9223372036854775807L
724 // S390X:UINTMAX_MAX_ 18446744073709551615UL
725 //
726 // S390X:SIG_ATOMIC_MIN_ (-2147483647 -1)
727 // S390X:SIG_ATOMIC_MAX_ 2147483647
728 // S390X:WINT_MIN_ (-2147483647 -1)
729 // S390X:WINT_MAX_ 2147483647
730 //
731 // S390X:WCHAR_MAX_ 2147483647
732 // S390X:WCHAR_MIN_ (-2147483647 -1)
733 //
734 // S390X:INT8_C_(0) 0
735 // S390X:UINT8_C_(0) 0U
736 // S390X:INT16_C_(0) 0
737 // S390X:UINT16_C_(0) 0U
738 // S390X:INT32_C_(0) 0
739 // S390X:UINT32_C_(0) 0U
740 // S390X:INT64_C_(0) 0L
741 // S390X:UINT64_C_(0) 0UL
742 //
743 // S390X:INTMAX_C_(0) 0L
744 // S390X:UINTMAX_C_(0) 0UL
745 //
746 // RUN: %clang_cc1 -E -ffreestanding -triple=sparc-none-none %s | FileCheck -check-prefix SPARC %s
747 //
748 // SPARC:typedef signed long long int int64_t;
749 // SPARC:typedef unsigned long long int uint64_t;
750 // SPARC:typedef int64_t int_least64_t;
751 // SPARC:typedef uint64_t uint_least64_t;
752 // SPARC:typedef int64_t int_fast64_t;
753 // SPARC:typedef uint64_t uint_fast64_t;
754 //
755 // SPARC:typedef signed int int32_t;
756 // SPARC:typedef unsigned int uint32_t;
757 // SPARC:typedef int32_t int_least32_t;
758 // SPARC:typedef uint32_t uint_least32_t;
759 // SPARC:typedef int32_t int_fast32_t;
760 // SPARC:typedef uint32_t uint_fast32_t;
761 //
762 // SPARC:typedef signed short int16_t;
763 // SPARC:typedef unsigned short uint16_t;
764 // SPARC:typedef int16_t int_least16_t;
765 // SPARC:typedef uint16_t uint_least16_t;
766 // SPARC:typedef int16_t int_fast16_t;
767 // SPARC:typedef uint16_t uint_fast16_t;
768 //
769 // SPARC:typedef signed char int8_t;
770 // SPARC:typedef unsigned char uint8_t;
771 // SPARC:typedef int8_t int_least8_t;
772 // SPARC:typedef uint8_t uint_least8_t;
773 // SPARC:typedef int8_t int_fast8_t;
774 // SPARC:typedef uint8_t uint_fast8_t;
775 //
776 // SPARC:typedef int32_t intptr_t;
777 // SPARC:typedef uint32_t uintptr_t;
778 //
779 // SPARC:typedef long long int intmax_t;
780 // SPARC:typedef long long unsigned int uintmax_t;
781 //
782 // SPARC:INT8_MAX_ 127
783 // SPARC:INT8_MIN_ (-127 -1)
784 // SPARC:UINT8_MAX_ 255
785 // SPARC:INT_LEAST8_MIN_ (-127 -1)
786 // SPARC:INT_LEAST8_MAX_ 127
787 // SPARC:UINT_LEAST8_MAX_ 255
788 // SPARC:INT_FAST8_MIN_ (-127 -1)
789 // SPARC:INT_FAST8_MAX_ 127
790 // SPARC:UINT_FAST8_MAX_ 255
791 //
792 // SPARC:INT16_MAX_ 32767
793 // SPARC:INT16_MIN_ (-32767 -1)
794 // SPARC:UINT16_MAX_ 65535
795 // SPARC:INT_LEAST16_MIN_ (-32767 -1)
796 // SPARC:INT_LEAST16_MAX_ 32767
797 // SPARC:UINT_LEAST16_MAX_ 65535
798 // SPARC:INT_FAST16_MIN_ (-32767 -1)
799 // SPARC:INT_FAST16_MAX_ 32767
800 // SPARC:UINT_FAST16_MAX_ 65535
801 //
802 // SPARC:INT32_MAX_ 2147483647
803 // SPARC:INT32_MIN_ (-2147483647 -1)
804 // SPARC:UINT32_MAX_ 4294967295U
805 // SPARC:INT_LEAST32_MIN_ (-2147483647 -1)
806 // SPARC:INT_LEAST32_MAX_ 2147483647
807 // SPARC:UINT_LEAST32_MAX_ 4294967295U
808 // SPARC:INT_FAST32_MIN_ (-2147483647 -1)
809 // SPARC:INT_FAST32_MAX_ 2147483647
810 // SPARC:UINT_FAST32_MAX_ 4294967295U
811 //
812 // SPARC:INT64_MAX_ 9223372036854775807LL
813 // SPARC:INT64_MIN_ (-9223372036854775807LL -1)
814 // SPARC:UINT64_MAX_ 18446744073709551615ULL
815 // SPARC:INT_LEAST64_MIN_ (-9223372036854775807LL -1)
816 // SPARC:INT_LEAST64_MAX_ 9223372036854775807LL
817 // SPARC:UINT_LEAST64_MAX_ 18446744073709551615ULL
818 // SPARC:INT_FAST64_MIN_ (-9223372036854775807LL -1)
819 // SPARC:INT_FAST64_MAX_ 9223372036854775807LL
820 // SPARC:UINT_FAST64_MAX_ 18446744073709551615ULL
821 //
822 // SPARC:INTPTR_MIN_ (-2147483647 -1)
823 // SPARC:INTPTR_MAX_ 2147483647
824 // SPARC:UINTPTR_MAX_ 4294967295U
825 // SPARC:PTRDIFF_MIN_ (-2147483647 -1)
826 // SPARC:PTRDIFF_MAX_ 2147483647
827 // SPARC:SIZE_MAX_ 4294967295U
828 //
829 // SPARC:INTMAX_MIN_ (-9223372036854775807LL -1)
830 // SPARC:INTMAX_MAX_ 9223372036854775807LL
831 // SPARC:UINTMAX_MAX_ 18446744073709551615ULL
832 //
833 // SPARC:SIG_ATOMIC_MIN_ (-2147483647 -1)
834 // SPARC:SIG_ATOMIC_MAX_ 2147483647
835 // SPARC:WINT_MIN_ (-2147483647 -1)
836 // SPARC:WINT_MAX_ 2147483647
837 //
838 // SPARC:WCHAR_MAX_ 2147483647
839 // SPARC:WCHAR_MIN_ (-2147483647 -1)
840 //
841 // SPARC:INT8_C_(0) 0
842 // SPARC:UINT8_C_(0) 0U
843 // SPARC:INT16_C_(0) 0
844 // SPARC:UINT16_C_(0) 0U
845 // SPARC:INT32_C_(0) 0
846 // SPARC:UINT32_C_(0) 0U
847 // SPARC:INT64_C_(0) 0LL
848 // SPARC:UINT64_C_(0) 0ULL
849 //
850 // SPARC:INTMAX_C_(0) 0LL
851 // SPARC:UINTMAX_C_(0) 0ULL
852 //
853 // RUN: %clang_cc1 -E -ffreestanding -triple=tce-none-none %s | FileCheck -check-prefix TCE %s
854 //
855 // TCE:typedef signed int int32_t;
856 // TCE:typedef unsigned int uint32_t;
857 // TCE:typedef int32_t int_least32_t;
858 // TCE:typedef uint32_t uint_least32_t;
859 // TCE:typedef int32_t int_fast32_t;
860 // TCE:typedef uint32_t uint_fast32_t;
861 //
862 // TCE:typedef signed short int16_t;
863 // TCE:typedef unsigned short uint16_t;
864 // TCE:typedef int16_t int_least16_t;
865 // TCE:typedef uint16_t uint_least16_t;
866 // TCE:typedef int16_t int_fast16_t;
867 // TCE:typedef uint16_t uint_fast16_t;
868 //
869 // TCE:typedef signed char int8_t;
870 // TCE:typedef unsigned char uint8_t;
871 // TCE:typedef int8_t int_least8_t;
872 // TCE:typedef uint8_t uint_least8_t;
873 // TCE:typedef int8_t int_fast8_t;
874 // TCE:typedef uint8_t uint_fast8_t;
875 //
876 // TCE:typedef int32_t intptr_t;
877 // TCE:typedef uint32_t uintptr_t;
878 //
879 // TCE:typedef long int intmax_t;
880 // TCE:typedef long unsigned int uintmax_t;
881 //
882 // TCE:INT8_MAX_ 127
883 // TCE:INT8_MIN_ (-127 -1)
884 // TCE:UINT8_MAX_ 255
885 // TCE:INT_LEAST8_MIN_ (-127 -1)
886 // TCE:INT_LEAST8_MAX_ 127
887 // TCE:UINT_LEAST8_MAX_ 255
888 // TCE:INT_FAST8_MIN_ (-127 -1)
889 // TCE:INT_FAST8_MAX_ 127
890 // TCE:UINT_FAST8_MAX_ 255
891 //
892 // TCE:INT16_MAX_ 32767
893 // TCE:INT16_MIN_ (-32767 -1)
894 // TCE:UINT16_MAX_ 65535
895 // TCE:INT_LEAST16_MIN_ (-32767 -1)
896 // TCE:INT_LEAST16_MAX_ 32767
897 // TCE:UINT_LEAST16_MAX_ 65535
898 // TCE:INT_FAST16_MIN_ (-32767 -1)
899 // TCE:INT_FAST16_MAX_ 32767
900 // TCE:UINT_FAST16_MAX_ 65535
901 //
902 // TCE:INT32_MAX_ 2147483647
903 // TCE:INT32_MIN_ (-2147483647 -1)
904 // TCE:UINT32_MAX_ 4294967295U
905 // TCE:INT_LEAST32_MIN_ (-2147483647 -1)
906 // TCE:INT_LEAST32_MAX_ 2147483647
907 // TCE:UINT_LEAST32_MAX_ 4294967295U
908 // TCE:INT_FAST32_MIN_ (-2147483647 -1)
909 // TCE:INT_FAST32_MAX_ 2147483647
910 // TCE:UINT_FAST32_MAX_ 4294967295U
911 //
912 // TCE:INT64_MAX_ INT64_MAX
913 // TCE:INT64_MIN_ INT64_MIN
914 // TCE:UINT64_MAX_ UINT64_MAX
915 // TCE:INT_LEAST64_MIN_ INT_LEAST64_MIN
916 // TCE:INT_LEAST64_MAX_ INT_LEAST64_MAX
917 // TCE:UINT_LEAST64_MAX_ UINT_LEAST64_MAX
918 // TCE:INT_FAST64_MIN_ INT_FAST64_MIN
919 // TCE:INT_FAST64_MAX_ INT_FAST64_MAX
920 // TCE:UINT_FAST64_MAX_ UINT_FAST64_MAX
921 //
922 // TCE:INTPTR_MIN_ (-2147483647 -1)
923 // TCE:INTPTR_MAX_ 2147483647
924 // TCE:UINTPTR_MAX_ 4294967295U
925 // TCE:PTRDIFF_MIN_ (-2147483647 -1)
926 // TCE:PTRDIFF_MAX_ 2147483647
927 // TCE:SIZE_MAX_ 4294967295U
928 //
929 // TCE:INTMAX_MIN_ (-2147483647 -1)
930 // TCE:INTMAX_MAX_ 2147483647
931 // TCE:UINTMAX_MAX_ 4294967295U
932 //
933 // TCE:SIG_ATOMIC_MIN_ (-2147483647 -1)
934 // TCE:SIG_ATOMIC_MAX_ 2147483647
935 // TCE:WINT_MIN_ (-2147483647 -1)
936 // TCE:WINT_MAX_ 2147483647
937 //
938 // TCE:WCHAR_MAX_ 2147483647
939 // TCE:WCHAR_MIN_ (-2147483647 -1)
940 //
941 // TCE:INT8_C_(0) 0
942 // TCE:UINT8_C_(0) 0U
943 // TCE:INT16_C_(0) 0
944 // TCE:UINT16_C_(0) 0U
945 // TCE:INT32_C_(0) 0
946 // TCE:UINT32_C_(0) 0U
947 // TCE:INT64_C_(0) INT64_C(0)
948 // TCE:UINT64_C_(0) UINT64_C(0)
949 //
950 // TCE:INTMAX_C_(0) 0
951 // TCE:UINTMAX_C_(0) 0U
952 //
953 // RUN: %clang_cc1 -E -ffreestanding -triple=x86_64-none-none %s | FileCheck -check-prefix X86_64 %s
954 //
955 //
956 // X86_64:typedef signed long int int64_t;
957 // X86_64:typedef unsigned long int uint64_t;
958 // X86_64:typedef int64_t int_least64_t;
959 // X86_64:typedef uint64_t uint_least64_t;
960 // X86_64:typedef int64_t int_fast64_t;
961 // X86_64:typedef uint64_t uint_fast64_t;
962 //
963 // X86_64:typedef signed int int32_t;
964 // X86_64:typedef unsigned int uint32_t;
965 // X86_64:typedef int32_t int_least32_t;
966 // X86_64:typedef uint32_t uint_least32_t;
967 // X86_64:typedef int32_t int_fast32_t;
968 // X86_64:typedef uint32_t uint_fast32_t;
969 //
970 // X86_64:typedef signed short int16_t;
971 // X86_64:typedef unsigned short uint16_t;
972 // X86_64:typedef int16_t int_least16_t;
973 // X86_64:typedef uint16_t uint_least16_t;
974 // X86_64:typedef int16_t int_fast16_t;
975 // X86_64:typedef uint16_t uint_fast16_t;
976 //
977 // X86_64:typedef signed char int8_t;
978 // X86_64:typedef unsigned char uint8_t;
979 // X86_64:typedef int8_t int_least8_t;
980 // X86_64:typedef uint8_t uint_least8_t;
981 // X86_64:typedef int8_t int_fast8_t;
982 // X86_64:typedef uint8_t uint_fast8_t;
983 //
984 // X86_64:typedef int64_t intptr_t;
985 // X86_64:typedef uint64_t uintptr_t;
986 //
987 // X86_64:typedef long int intmax_t;
988 // X86_64:typedef long unsigned int uintmax_t;
989 //
990 // X86_64:INT8_MAX_ 127
991 // X86_64:INT8_MIN_ (-127 -1)
992 // X86_64:UINT8_MAX_ 255
993 // X86_64:INT_LEAST8_MIN_ (-127 -1)
994 // X86_64:INT_LEAST8_MAX_ 127
995 // X86_64:UINT_LEAST8_MAX_ 255
996 // X86_64:INT_FAST8_MIN_ (-127 -1)
997 // X86_64:INT_FAST8_MAX_ 127
998 // X86_64:UINT_FAST8_MAX_ 255
999 //
1000 // X86_64:INT16_MAX_ 32767
1001 // X86_64:INT16_MIN_ (-32767 -1)
1002 // X86_64:UINT16_MAX_ 65535
1003 // X86_64:INT_LEAST16_MIN_ (-32767 -1)
1004 // X86_64:INT_LEAST16_MAX_ 32767
1005 // X86_64:UINT_LEAST16_MAX_ 65535
1006 // X86_64:INT_FAST16_MIN_ (-32767 -1)
1007 // X86_64:INT_FAST16_MAX_ 32767
1008 // X86_64:UINT_FAST16_MAX_ 65535
1009 //
1010 // X86_64:INT32_MAX_ 2147483647
1011 // X86_64:INT32_MIN_ (-2147483647 -1)
1012 // X86_64:UINT32_MAX_ 4294967295U
1013 // X86_64:INT_LEAST32_MIN_ (-2147483647 -1)
1014 // X86_64:INT_LEAST32_MAX_ 2147483647
1015 // X86_64:UINT_LEAST32_MAX_ 4294967295U
1016 // X86_64:INT_FAST32_MIN_ (-2147483647 -1)
1017 // X86_64:INT_FAST32_MAX_ 2147483647
1018 // X86_64:UINT_FAST32_MAX_ 4294967295U
1019 //
1020 // X86_64:INT64_MAX_ 9223372036854775807L
1021 // X86_64:INT64_MIN_ (-9223372036854775807L -1)
1022 // X86_64:UINT64_MAX_ 18446744073709551615UL
1023 // X86_64:INT_LEAST64_MIN_ (-9223372036854775807L -1)
1024 // X86_64:INT_LEAST64_MAX_ 9223372036854775807L
1025 // X86_64:UINT_LEAST64_MAX_ 18446744073709551615UL
1026 // X86_64:INT_FAST64_MIN_ (-9223372036854775807L -1)
1027 // X86_64:INT_FAST64_MAX_ 9223372036854775807L
1028 // X86_64:UINT_FAST64_MAX_ 18446744073709551615UL
1029 //
1030 // X86_64:INTPTR_MIN_ (-9223372036854775807L -1)
1031 // X86_64:INTPTR_MAX_ 9223372036854775807L
1032 // X86_64:UINTPTR_MAX_ 18446744073709551615UL
1033 // X86_64:PTRDIFF_MIN_ (-9223372036854775807L -1)
1034 // X86_64:PTRDIFF_MAX_ 9223372036854775807L
1035 // X86_64:SIZE_MAX_ 18446744073709551615UL
1036 //
1037 // X86_64:INTMAX_MIN_ (-9223372036854775807L -1)
1038 // X86_64:INTMAX_MAX_ 9223372036854775807L
1039 // X86_64:UINTMAX_MAX_ 18446744073709551615UL
1040 //
1041 // X86_64:SIG_ATOMIC_MIN_ (-2147483647 -1)
1042 // X86_64:SIG_ATOMIC_MAX_ 2147483647
1043 // X86_64:WINT_MIN_ (-2147483647 -1)
1044 // X86_64:WINT_MAX_ 2147483647
1045 //
1046 // X86_64:WCHAR_MAX_ 2147483647
1047 // X86_64:WCHAR_MIN_ (-2147483647 -1)
1048 //
1049 // X86_64:INT8_C_(0) 0
1050 // X86_64:UINT8_C_(0) 0U
1051 // X86_64:INT16_C_(0) 0
1052 // X86_64:UINT16_C_(0) 0U
1053 // X86_64:INT32_C_(0) 0
1054 // X86_64:UINT32_C_(0) 0U
1055 // X86_64:INT64_C_(0) 0L
1056 // X86_64:UINT64_C_(0) 0UL
1057 //
1058 // X86_64:INTMAX_C_(0) 0L
1059 // X86_64:UINTMAX_C_(0) 0UL
1060 //
1061 //
1062 // RUN: %clang_cc1 -E -ffreestanding -triple=x86_64-pc-linux-gnu %s | FileCheck -check-prefix X86_64_LINUX %s
1063 //
1064 // X86_64_LINUX:WINT_MIN_ 0U
1065 // X86_64_LINUX:WINT_MAX_ 4294967295U
1066 //
1067 //
1068 // RUN: %clang_cc1 -E -ffreestanding -triple=i386-mingw32 %s | FileCheck -check-prefix I386_MINGW32 %s
1069 //
1070 // I386_MINGW32:WCHAR_MAX_ 65535U
1071 // I386_MINGW32:WCHAR_MIN_ 0U
1072 //
1073 //
1074 // stdint.h forms several macro definitions by pasting together identifiers
1075 // to form names (eg. int32_t is formed from int ## 32 ## _t). The following
1076 // case tests that these joining operations are performed correctly even if
1077 // the identifiers used in the operations (int, uint, _t, INT, UINT, _MIN,
1078 // _MAX, and _C(v)) are themselves macros.
1079 //
1080 // RUN: %clang_cc1 -E -ffreestanding -U__UINTMAX_TYPE__ -U__INTMAX_TYPE__ -Dint=a -Duint=b -D_t=c -DINT=d -DUINT=e -D_MIN=f -D_MAX=g '-D_C(v)=h' -triple=i386-none-none %s | FileCheck -check-prefix JOIN %s
1081 // JOIN:typedef int32_t intptr_t;
1082 // JOIN:typedef uint32_t uintptr_t;
1083 // JOIN:typedef __INTMAX_TYPE__ intmax_t;
1084 // JOIN:typedef __UINTMAX_TYPE__ uintmax_t;
1085 // JOIN:INTPTR_MIN_ (-2147483647 -1)
1086 // JOIN:INTPTR_MAX_ 2147483647
1087 // JOIN:UINTPTR_MAX_ 4294967295U
1088 // JOIN:PTRDIFF_MIN_ (-2147483647 -1)
1089 // JOIN:PTRDIFF_MAX_ 2147483647
1090 // JOIN:SIZE_MAX_ 4294967295U
1091 // JOIN:INTMAX_MIN_ (-9223372036854775807LL -1)
1092 // JOIN:INTMAX_MAX_ 9223372036854775807LL
1093 // JOIN:UINTMAX_MAX_ 18446744073709551615ULL
1094 // JOIN:SIG_ATOMIC_MIN_ (-2147483647 -1)
1095 // JOIN:SIG_ATOMIC_MAX_ 2147483647
1096 // JOIN:WINT_MIN_ (-2147483647 -1)
1097 // JOIN:WINT_MAX_ 2147483647
1098 // JOIN:WCHAR_MAX_ 2147483647
1099 // JOIN:WCHAR_MIN_ (-2147483647 -1)
1100 // JOIN:INTMAX_C_(0) 0LL
1101 // JOIN:UINTMAX_C_(0) 0ULL
1102 
1103 #include <stdint.h>
1104 
1105 INT8_MAX_ INT8_MAX
1106 INT8_MIN_ INT8_MIN
1107 UINT8_MAX_ UINT8_MAX
1108 INT_LEAST8_MIN_ INT_LEAST8_MIN
1109 INT_LEAST8_MAX_ INT_LEAST8_MAX
1110 UINT_LEAST8_MAX_ UINT_LEAST8_MAX
1111 INT_FAST8_MIN_ INT_FAST8_MIN
1112 INT_FAST8_MAX_ INT_FAST8_MAX
1113 UINT_FAST8_MAX_ UINT_FAST8_MAX
1114 
1115 INT16_MAX_ INT16_MAX
1116 INT16_MIN_ INT16_MIN
1117 UINT16_MAX_ UINT16_MAX
1118 INT_LEAST16_MIN_ INT_LEAST16_MIN
1119 INT_LEAST16_MAX_ INT_LEAST16_MAX
1120 UINT_LEAST16_MAX_ UINT_LEAST16_MAX
1121 INT_FAST16_MIN_ INT_FAST16_MIN
1122 INT_FAST16_MAX_ INT_FAST16_MAX
1123 UINT_FAST16_MAX_ UINT_FAST16_MAX
1124 
1125 INT32_MAX_ INT32_MAX
1126 INT32_MIN_ INT32_MIN
1127 UINT32_MAX_ UINT32_MAX
1128 INT_LEAST32_MIN_ INT_LEAST32_MIN
1129 INT_LEAST32_MAX_ INT_LEAST32_MAX
1130 UINT_LEAST32_MAX_ UINT_LEAST32_MAX
1131 INT_FAST32_MIN_ INT_FAST32_MIN
1132 INT_FAST32_MAX_ INT_FAST32_MAX
1133 UINT_FAST32_MAX_ UINT_FAST32_MAX
1134 
1135 INT64_MAX_ INT64_MAX
1136 INT64_MIN_ INT64_MIN
1137 UINT64_MAX_ UINT64_MAX
1138 INT_LEAST64_MIN_ INT_LEAST64_MIN
1139 INT_LEAST64_MAX_ INT_LEAST64_MAX
1140 UINT_LEAST64_MAX_ UINT_LEAST64_MAX
1141 INT_FAST64_MIN_ INT_FAST64_MIN
1142 INT_FAST64_MAX_ INT_FAST64_MAX
1143 UINT_FAST64_MAX_ UINT_FAST64_MAX
1144 
1145 INTPTR_MIN_ INTPTR_MIN
1146 INTPTR_MAX_ INTPTR_MAX
1147 UINTPTR_MAX_ UINTPTR_MAX
1148 PTRDIFF_MIN_ PTRDIFF_MIN
1149 PTRDIFF_MAX_ PTRDIFF_MAX
1150 SIZE_MAX_ SIZE_MAX
1151 
1152 INTMAX_MIN_ INTMAX_MIN
1153 INTMAX_MAX_ INTMAX_MAX
1154 UINTMAX_MAX_ UINTMAX_MAX
1155 
1156 SIG_ATOMIC_MIN_ SIG_ATOMIC_MIN
1157 SIG_ATOMIC_MAX_ SIG_ATOMIC_MAX
1158 WINT_MIN_ WINT_MIN
1159 WINT_MAX_ WINT_MAX
1160 
1161 WCHAR_MAX_ WCHAR_MAX
1162 WCHAR_MIN_ WCHAR_MIN
1163 
1164 INT8_C_(0) INT8_C(0)
1165 UINT8_C_(0) UINT8_C(0)
1166 INT16_C_(0) INT16_C(0)
1167 UINT16_C_(0) UINT16_C(0)
1168 INT32_C_(0) INT32_C(0)
1169 UINT32_C_(0) UINT32_C(0)
1170 INT64_C_(0) INT64_C(0)
1171 UINT64_C_(0) UINT64_C(0)
1172 
1173 INTMAX_C_(0) INTMAX_C(0)
1174 UINTMAX_C_(0) UINTMAX_C(0)
1175