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