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
1105INT8_MAX_ INT8_MAX
1106INT8_MIN_ INT8_MIN
1107UINT8_MAX_ UINT8_MAX
1108INT_LEAST8_MIN_ INT_LEAST8_MIN
1109INT_LEAST8_MAX_ INT_LEAST8_MAX
1110UINT_LEAST8_MAX_ UINT_LEAST8_MAX
1111INT_FAST8_MIN_ INT_FAST8_MIN
1112INT_FAST8_MAX_ INT_FAST8_MAX
1113UINT_FAST8_MAX_ UINT_FAST8_MAX
1114
1115INT16_MAX_ INT16_MAX
1116INT16_MIN_ INT16_MIN
1117UINT16_MAX_ UINT16_MAX
1118INT_LEAST16_MIN_ INT_LEAST16_MIN
1119INT_LEAST16_MAX_ INT_LEAST16_MAX
1120UINT_LEAST16_MAX_ UINT_LEAST16_MAX
1121INT_FAST16_MIN_ INT_FAST16_MIN
1122INT_FAST16_MAX_ INT_FAST16_MAX
1123UINT_FAST16_MAX_ UINT_FAST16_MAX
1124
1125INT32_MAX_ INT32_MAX
1126INT32_MIN_ INT32_MIN
1127UINT32_MAX_ UINT32_MAX
1128INT_LEAST32_MIN_ INT_LEAST32_MIN
1129INT_LEAST32_MAX_ INT_LEAST32_MAX
1130UINT_LEAST32_MAX_ UINT_LEAST32_MAX
1131INT_FAST32_MIN_ INT_FAST32_MIN
1132INT_FAST32_MAX_ INT_FAST32_MAX
1133UINT_FAST32_MAX_ UINT_FAST32_MAX
1134
1135INT64_MAX_ INT64_MAX
1136INT64_MIN_ INT64_MIN
1137UINT64_MAX_ UINT64_MAX
1138INT_LEAST64_MIN_ INT_LEAST64_MIN
1139INT_LEAST64_MAX_ INT_LEAST64_MAX
1140UINT_LEAST64_MAX_ UINT_LEAST64_MAX
1141INT_FAST64_MIN_ INT_FAST64_MIN
1142INT_FAST64_MAX_ INT_FAST64_MAX
1143UINT_FAST64_MAX_ UINT_FAST64_MAX
1144
1145INTPTR_MIN_ INTPTR_MIN
1146INTPTR_MAX_ INTPTR_MAX
1147UINTPTR_MAX_ UINTPTR_MAX
1148PTRDIFF_MIN_ PTRDIFF_MIN
1149PTRDIFF_MAX_ PTRDIFF_MAX
1150SIZE_MAX_ SIZE_MAX
1151
1152INTMAX_MIN_ INTMAX_MIN
1153INTMAX_MAX_ INTMAX_MAX
1154UINTMAX_MAX_ UINTMAX_MAX
1155
1156SIG_ATOMIC_MIN_ SIG_ATOMIC_MIN
1157SIG_ATOMIC_MAX_ SIG_ATOMIC_MAX
1158WINT_MIN_ WINT_MIN
1159WINT_MAX_ WINT_MAX
1160
1161WCHAR_MAX_ WCHAR_MAX
1162WCHAR_MIN_ WCHAR_MIN
1163
1164INT8_C_(0) INT8_C(0)
1165UINT8_C_(0) UINT8_C(0)
1166INT16_C_(0) INT16_C(0)
1167UINT16_C_(0) UINT16_C(0)
1168INT32_C_(0) INT32_C(0)
1169UINT32_C_(0) UINT32_C(0)
1170INT64_C_(0) INT64_C(0)
1171UINT64_C_(0) UINT64_C(0)
1172
1173INTMAX_C_(0) INTMAX_C(0)
1174UINTMAX_C_(0) UINTMAX_C(0)
1175