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=mips-none-none %s | FileCheck -check-prefix MIPS %s
217//
218// MIPS:typedef signed long long int int64_t;
219// MIPS:typedef unsigned long long int uint64_t;
220// MIPS:typedef int64_t int_least64_t;
221// MIPS:typedef uint64_t uint_least64_t;
222// MIPS:typedef int64_t int_fast64_t;
223// MIPS:typedef uint64_t uint_fast64_t;
224//
225// MIPS:typedef signed int int32_t;
226// MIPS:typedef unsigned int uint32_t;
227// MIPS:typedef int32_t int_least32_t;
228// MIPS:typedef uint32_t uint_least32_t;
229// MIPS:typedef int32_t int_fast32_t;
230// MIPS:typedef uint32_t uint_fast32_t;
231//
232// MIPS:typedef signed short int16_t;
233// MIPS:typedef unsigned short uint16_t;
234// MIPS:typedef int16_t int_least16_t;
235// MIPS:typedef uint16_t uint_least16_t;
236// MIPS:typedef int16_t int_fast16_t;
237// MIPS:typedef uint16_t uint_fast16_t;
238//
239// MIPS:typedef signed char int8_t;
240// MIPS:typedef unsigned char uint8_t;
241// MIPS:typedef int8_t int_least8_t;
242// MIPS:typedef uint8_t uint_least8_t;
243// MIPS:typedef int8_t int_fast8_t;
244// MIPS:typedef uint8_t uint_fast8_t;
245//
246// MIPS:typedef int32_t intptr_t;
247// MIPS:typedef uint32_t uintptr_t;
248//
249// MIPS:typedef long long int intmax_t;
250// MIPS:typedef long long unsigned int uintmax_t;
251//
252// MIPS:INT8_MAX_ 127
253// MIPS:INT8_MIN_ (-127 -1)
254// MIPS:UINT8_MAX_ 255
255// MIPS:INT_LEAST8_MIN_ (-127 -1)
256// MIPS:INT_LEAST8_MAX_ 127
257// MIPS:UINT_LEAST8_MAX_ 255
258// MIPS:INT_FAST8_MIN_ (-127 -1)
259// MIPS:INT_FAST8_MAX_ 127
260// MIPS:UINT_FAST8_MAX_ 255
261//
262// MIPS:INT16_MAX_ 32767
263// MIPS:INT16_MIN_ (-32767 -1)
264// MIPS:UINT16_MAX_ 65535
265// MIPS:INT_LEAST16_MIN_ (-32767 -1)
266// MIPS:INT_LEAST16_MAX_ 32767
267// MIPS:UINT_LEAST16_MAX_ 65535
268// MIPS:INT_FAST16_MIN_ (-32767 -1)
269// MIPS:INT_FAST16_MAX_ 32767
270// MIPS:UINT_FAST16_MAX_ 65535
271//
272// MIPS:INT32_MAX_ 2147483647
273// MIPS:INT32_MIN_ (-2147483647 -1)
274// MIPS:UINT32_MAX_ 4294967295U
275// MIPS:INT_LEAST32_MIN_ (-2147483647 -1)
276// MIPS:INT_LEAST32_MAX_ 2147483647
277// MIPS:UINT_LEAST32_MAX_ 4294967295U
278// MIPS:INT_FAST32_MIN_ (-2147483647 -1)
279// MIPS:INT_FAST32_MAX_ 2147483647
280// MIPS:UINT_FAST32_MAX_ 4294967295U
281//
282// MIPS:INT64_MAX_ 9223372036854775807LL
283// MIPS:INT64_MIN_ (-9223372036854775807LL -1)
284// MIPS:UINT64_MAX_ 18446744073709551615ULL
285// MIPS:INT_LEAST64_MIN_ (-9223372036854775807LL -1)
286// MIPS:INT_LEAST64_MAX_ 9223372036854775807LL
287// MIPS:UINT_LEAST64_MAX_ 18446744073709551615ULL
288// MIPS:INT_FAST64_MIN_ (-9223372036854775807LL -1)
289// MIPS:INT_FAST64_MAX_ 9223372036854775807LL
290// MIPS:UINT_FAST64_MAX_ 18446744073709551615ULL
291//
292// MIPS:INTPTR_MIN_ (-2147483647 -1)
293// MIPS:INTPTR_MAX_ 2147483647
294// MIPS:UINTPTR_MAX_ 4294967295U
295// MIPS:PTRDIFF_MIN_ (-2147483647 -1)
296// MIPS:PTRDIFF_MAX_ 2147483647
297// MIPS:SIZE_MAX_ 4294967295U
298//
299// MIPS:INTMAX_MIN_ (-9223372036854775807LL -1)
300// MIPS:INTMAX_MAX_ 9223372036854775807LL
301// MIPS:UINTMAX_MAX_ 18446744073709551615ULL
302//
303// MIPS:SIG_ATOMIC_MIN_ (-2147483647 -1)
304// MIPS:SIG_ATOMIC_MAX_ 2147483647
305// MIPS:WINT_MIN_ (-2147483647 -1)
306// MIPS:WINT_MAX_ 2147483647
307//
308// MIPS:WCHAR_MAX_ 2147483647
309// MIPS:WCHAR_MIN_ (-2147483647 -1)
310//
311// MIPS:INT8_C_(0) 0
312// MIPS:UINT8_C_(0) 0U
313// MIPS:INT16_C_(0) 0
314// MIPS:UINT16_C_(0) 0U
315// MIPS:INT32_C_(0) 0
316// MIPS:UINT32_C_(0) 0U
317// MIPS:INT64_C_(0) 0LL
318// MIPS:UINT64_C_(0) 0ULL
319//
320// MIPS:INTMAX_C_(0) 0LL
321// MIPS:UINTMAX_C_(0) 0ULL
322//
323// RUN: %clang_cc1 -E -ffreestanding -triple=mips64-none-none %s | FileCheck -check-prefix MIPS64 %s
324//
325// MIPS64:typedef signed long long int int64_t;
326// MIPS64:typedef unsigned long long int uint64_t;
327// MIPS64:typedef int64_t int_least64_t;
328// MIPS64:typedef uint64_t uint_least64_t;
329// MIPS64:typedef int64_t int_fast64_t;
330// MIPS64:typedef uint64_t uint_fast64_t;
331//
332// MIPS64:typedef signed int int32_t;
333// MIPS64:typedef unsigned int uint32_t;
334// MIPS64:typedef int32_t int_least32_t;
335// MIPS64:typedef uint32_t uint_least32_t;
336// MIPS64:typedef int32_t int_fast32_t;
337// MIPS64:typedef uint32_t uint_fast32_t;
338//
339// MIPS64:typedef signed short int16_t;
340// MIPS64:typedef unsigned short uint16_t;
341// MIPS64:typedef int16_t int_least16_t;
342// MIPS64:typedef uint16_t uint_least16_t;
343// MIPS64:typedef int16_t int_fast16_t;
344// MIPS64:typedef uint16_t uint_fast16_t;
345//
346// MIPS64:typedef signed char int8_t;
347// MIPS64:typedef unsigned char uint8_t;
348// MIPS64:typedef int8_t int_least8_t;
349// MIPS64:typedef uint8_t uint_least8_t;
350// MIPS64:typedef int8_t int_fast8_t;
351// MIPS64:typedef uint8_t uint_fast8_t;
352//
353// MIPS64:typedef int64_t intptr_t;
354// MIPS64:typedef uint64_t uintptr_t;
355//
356// MIPS64:typedef long long int intmax_t;
357// MIPS64:typedef long long unsigned int uintmax_t;
358//
359// MIPS64:INT8_MAX_ 127
360// MIPS64:INT8_MIN_ (-127 -1)
361// MIPS64:UINT8_MAX_ 255
362// MIPS64:INT_LEAST8_MIN_ (-127 -1)
363// MIPS64:INT_LEAST8_MAX_ 127
364// MIPS64:UINT_LEAST8_MAX_ 255
365// MIPS64:INT_FAST8_MIN_ (-127 -1)
366// MIPS64:INT_FAST8_MAX_ 127
367// MIPS64:UINT_FAST8_MAX_ 255
368//
369// MIPS64:INT16_MAX_ 32767
370// MIPS64:INT16_MIN_ (-32767 -1)
371// MIPS64:UINT16_MAX_ 65535
372// MIPS64:INT_LEAST16_MIN_ (-32767 -1)
373// MIPS64:INT_LEAST16_MAX_ 32767
374// MIPS64:UINT_LEAST16_MAX_ 65535
375// MIPS64:INT_FAST16_MIN_ (-32767 -1)
376// MIPS64:INT_FAST16_MAX_ 32767
377// MIPS64:UINT_FAST16_MAX_ 65535
378//
379// MIPS64:INT32_MAX_ 2147483647
380// MIPS64:INT32_MIN_ (-2147483647 -1)
381// MIPS64:UINT32_MAX_ 4294967295U
382// MIPS64:INT_LEAST32_MIN_ (-2147483647 -1)
383// MIPS64:INT_LEAST32_MAX_ 2147483647
384// MIPS64:UINT_LEAST32_MAX_ 4294967295U
385// MIPS64:INT_FAST32_MIN_ (-2147483647 -1)
386// MIPS64:INT_FAST32_MAX_ 2147483647
387// MIPS64:UINT_FAST32_MAX_ 4294967295U
388//
389// MIPS64:INT64_MAX_ 9223372036854775807LL
390// MIPS64:INT64_MIN_ (-9223372036854775807LL -1)
391// MIPS64:UINT64_MAX_ 18446744073709551615ULL
392// MIPS64:INT_LEAST64_MIN_ (-9223372036854775807LL -1)
393// MIPS64:INT_LEAST64_MAX_ 9223372036854775807LL
394// MIPS64:UINT_LEAST64_MAX_ 18446744073709551615ULL
395// MIPS64:INT_FAST64_MIN_ (-9223372036854775807LL -1)
396// MIPS64:INT_FAST64_MAX_ 9223372036854775807LL
397// MIPS64:UINT_FAST64_MAX_ 18446744073709551615ULL
398//
399// MIPS64:INTPTR_MIN_ (-9223372036854775807LL -1)
400// MIPS64:INTPTR_MAX_ 9223372036854775807LL
401// MIPS64:UINTPTR_MAX_ 18446744073709551615ULL
402// MIPS64:PTRDIFF_MIN_ (-9223372036854775807LL -1)
403// MIPS64:PTRDIFF_MAX_ 9223372036854775807LL
404// MIPS64:SIZE_MAX_ 18446744073709551615ULL
405//
406// MIPS64:INTMAX_MIN_ (-9223372036854775807LL -1)
407// MIPS64:INTMAX_MAX_ 9223372036854775807LL
408// MIPS64:UINTMAX_MAX_ 18446744073709551615ULL
409//
410// MIPS64:SIG_ATOMIC_MIN_ (-2147483647 -1)
411// MIPS64:SIG_ATOMIC_MAX_ 2147483647
412// MIPS64:WINT_MIN_ (-2147483647 -1)
413// MIPS64:WINT_MAX_ 2147483647
414//
415// MIPS64:WCHAR_MAX_ 2147483647
416// MIPS64:WCHAR_MIN_ (-2147483647 -1)
417//
418// MIPS64:INT8_C_(0) 0
419// MIPS64:UINT8_C_(0) 0U
420// MIPS64:INT16_C_(0) 0
421// MIPS64:UINT16_C_(0) 0U
422// MIPS64:INT32_C_(0) 0
423// MIPS64:UINT32_C_(0) 0U
424// MIPS64:INT64_C_(0) 0LL
425// MIPS64:UINT64_C_(0) 0ULL
426//
427// MIPS64:INTMAX_C_(0) 0LL
428// MIPS64:UINTMAX_C_(0) 0ULL
429//
430// RUN: %clang_cc1 -E -ffreestanding -triple=msp430-none-none %s | FileCheck -check-prefix MSP430 %s
431//
432// MSP430:typedef signed long int int32_t;
433// MSP430:typedef unsigned long int uint32_t;
434// MSP430:typedef int32_t int_least32_t;
435// MSP430:typedef uint32_t uint_least32_t;
436// MSP430:typedef int32_t int_fast32_t;
437// MSP430:typedef uint32_t uint_fast32_t;
438//
439// MSP430:typedef signed short int16_t;
440// MSP430:typedef unsigned short uint16_t;
441// MSP430:typedef int16_t int_least16_t;
442// MSP430:typedef uint16_t uint_least16_t;
443// MSP430:typedef int16_t int_fast16_t;
444// MSP430:typedef uint16_t uint_fast16_t;
445//
446// MSP430:typedef signed char int8_t;
447// MSP430:typedef unsigned char uint8_t;
448// MSP430:typedef int8_t int_least8_t;
449// MSP430:typedef uint8_t uint_least8_t;
450// MSP430:typedef int8_t int_fast8_t;
451// MSP430:typedef uint8_t uint_fast8_t;
452//
453// MSP430:typedef int16_t intptr_t;
454// MSP430:typedef uint16_t uintptr_t;
455//
456// MSP430:typedef long long int intmax_t;
457// MSP430:typedef long long unsigned int uintmax_t;
458//
459// MSP430:INT8_MAX_ 127
460// MSP430:INT8_MIN_ (-127 -1)
461// MSP430:UINT8_MAX_ 255
462// MSP430:INT_LEAST8_MIN_ (-127 -1)
463// MSP430:INT_LEAST8_MAX_ 127
464// MSP430:UINT_LEAST8_MAX_ 255
465// MSP430:INT_FAST8_MIN_ (-127 -1)
466// MSP430:INT_FAST8_MAX_ 127
467// MSP430:UINT_FAST8_MAX_ 255
468//
469// MSP430:INT16_MAX_ 32767
470// MSP430:INT16_MIN_ (-32767 -1)
471// MSP430:UINT16_MAX_ 65535
472// MSP430:INT_LEAST16_MIN_ (-32767 -1)
473// MSP430:INT_LEAST16_MAX_ 32767
474// MSP430:UINT_LEAST16_MAX_ 65535
475// MSP430:INT_FAST16_MIN_ (-32767 -1)
476// MSP430:INT_FAST16_MAX_ 32767
477// MSP430:UINT_FAST16_MAX_ 65535
478//
479// MSP430:INT32_MAX_ 2147483647L
480// MSP430:INT32_MIN_ (-2147483647L -1)
481// MSP430:UINT32_MAX_ 4294967295UL
482// MSP430:INT_LEAST32_MIN_ (-2147483647L -1)
483// MSP430:INT_LEAST32_MAX_ 2147483647L
484// MSP430:UINT_LEAST32_MAX_ 4294967295UL
485// MSP430:INT_FAST32_MIN_ (-2147483647L -1)
486// MSP430:INT_FAST32_MAX_ 2147483647L
487// MSP430:UINT_FAST32_MAX_ 4294967295UL
488//
489// MSP430:INT64_MAX_ 9223372036854775807LL
490// MSP430:INT64_MIN_ (-9223372036854775807LL -1)
491// MSP430:UINT64_MAX_ 18446744073709551615ULL
492// MSP430:INT_LEAST64_MIN_ (-9223372036854775807LL -1)
493// MSP430:INT_LEAST64_MAX_ 9223372036854775807LL
494// MSP430:UINT_LEAST64_MAX_ 18446744073709551615ULL
495// MSP430:INT_FAST64_MIN_ (-9223372036854775807LL -1)
496// MSP430:INT_FAST64_MAX_ 9223372036854775807LL
497// MSP430:UINT_FAST64_MAX_ 18446744073709551615ULL
498//
499// MSP430:INTPTR_MIN_ (-32767 -1)
500// MSP430:INTPTR_MAX_ 32767
501// MSP430:UINTPTR_MAX_ 65535
502// MSP430:PTRDIFF_MIN_ (-32767 -1)
503// MSP430:PTRDIFF_MAX_ 32767
504// MSP430:SIZE_MAX_ 65535
505//
506// MSP430:INTMAX_MIN_ (-9223372036854775807LL -1)
507// MSP430:INTMAX_MAX_ 9223372036854775807LL
508// MSP430:UINTMAX_MAX_ 18446744073709551615ULL
509//
510// MSP430:SIG_ATOMIC_MIN_ (-2147483647L -1)
511// MSP430:SIG_ATOMIC_MAX_ 2147483647L
512// MSP430:WINT_MIN_ (-32767 -1)
513// MSP430:WINT_MAX_ 32767
514//
515// MSP430:WCHAR_MAX_ 32767
516// MSP430:WCHAR_MIN_ (-32767 -1)
517//
518// MSP430:INT8_C_(0) 0
519// MSP430:UINT8_C_(0) 0U
520// MSP430:INT16_C_(0) 0
521// MSP430:UINT16_C_(0) 0U
522// MSP430:INT32_C_(0) 0L
523// MSP430:UINT32_C_(0) 0UL
524// MSP430:INT64_C_(0) 0LL
525// MSP430:UINT64_C_(0) 0ULL
526//
527// MSP430:INTMAX_C_(0) 0L
528// MSP430:UINTMAX_C_(0) 0UL
529//
530// RUN: %clang_cc1 -E -ffreestanding -triple=powerpc64-none-none %s | FileCheck -check-prefix PPC64 %s
531//
532// PPC64:typedef signed long int int64_t;
533// PPC64:typedef unsigned long int uint64_t;
534// PPC64:typedef int64_t int_least64_t;
535// PPC64:typedef uint64_t uint_least64_t;
536// PPC64:typedef int64_t int_fast64_t;
537// PPC64:typedef uint64_t uint_fast64_t;
538//
539// PPC64:typedef signed int int32_t;
540// PPC64:typedef unsigned int uint32_t;
541// PPC64:typedef int32_t int_least32_t;
542// PPC64:typedef uint32_t uint_least32_t;
543// PPC64:typedef int32_t int_fast32_t;
544// PPC64:typedef uint32_t uint_fast32_t;
545//
546// PPC64:typedef signed short int16_t;
547// PPC64:typedef unsigned short uint16_t;
548// PPC64:typedef int16_t int_least16_t;
549// PPC64:typedef uint16_t uint_least16_t;
550// PPC64:typedef int16_t int_fast16_t;
551// PPC64:typedef uint16_t uint_fast16_t;
552//
553// PPC64:typedef signed char int8_t;
554// PPC64:typedef unsigned char uint8_t;
555// PPC64:typedef int8_t int_least8_t;
556// PPC64:typedef uint8_t uint_least8_t;
557// PPC64:typedef int8_t int_fast8_t;
558// PPC64:typedef uint8_t uint_fast8_t;
559//
560// PPC64:typedef int64_t intptr_t;
561// PPC64:typedef uint64_t uintptr_t;
562//
563// PPC64:typedef long int intmax_t;
564// PPC64:typedef long unsigned int uintmax_t;
565//
566// PPC64:INT8_MAX_ 127
567// PPC64:INT8_MIN_ (-127 -1)
568// PPC64:UINT8_MAX_ 255
569// PPC64:INT_LEAST8_MIN_ (-127 -1)
570// PPC64:INT_LEAST8_MAX_ 127
571// PPC64:UINT_LEAST8_MAX_ 255
572// PPC64:INT_FAST8_MIN_ (-127 -1)
573// PPC64:INT_FAST8_MAX_ 127
574// PPC64:UINT_FAST8_MAX_ 255
575//
576// PPC64:INT16_MAX_ 32767
577// PPC64:INT16_MIN_ (-32767 -1)
578// PPC64:UINT16_MAX_ 65535
579// PPC64:INT_LEAST16_MIN_ (-32767 -1)
580// PPC64:INT_LEAST16_MAX_ 32767
581// PPC64:UINT_LEAST16_MAX_ 65535
582// PPC64:INT_FAST16_MIN_ (-32767 -1)
583// PPC64:INT_FAST16_MAX_ 32767
584// PPC64:UINT_FAST16_MAX_ 65535
585//
586// PPC64:INT32_MAX_ 2147483647
587// PPC64:INT32_MIN_ (-2147483647 -1)
588// PPC64:UINT32_MAX_ 4294967295U
589// PPC64:INT_LEAST32_MIN_ (-2147483647 -1)
590// PPC64:INT_LEAST32_MAX_ 2147483647
591// PPC64:UINT_LEAST32_MAX_ 4294967295U
592// PPC64:INT_FAST32_MIN_ (-2147483647 -1)
593// PPC64:INT_FAST32_MAX_ 2147483647
594// PPC64:UINT_FAST32_MAX_ 4294967295U
595//
596// PPC64:INT64_MAX_ 9223372036854775807L
597// PPC64:INT64_MIN_ (-9223372036854775807L -1)
598// PPC64:UINT64_MAX_ 18446744073709551615UL
599// PPC64:INT_LEAST64_MIN_ (-9223372036854775807L -1)
600// PPC64:INT_LEAST64_MAX_ 9223372036854775807L
601// PPC64:UINT_LEAST64_MAX_ 18446744073709551615UL
602// PPC64:INT_FAST64_MIN_ (-9223372036854775807L -1)
603// PPC64:INT_FAST64_MAX_ 9223372036854775807L
604// PPC64:UINT_FAST64_MAX_ 18446744073709551615UL
605//
606// PPC64:INTPTR_MIN_ (-9223372036854775807L -1)
607// PPC64:INTPTR_MAX_ 9223372036854775807L
608// PPC64:UINTPTR_MAX_ 18446744073709551615UL
609// PPC64:PTRDIFF_MIN_ (-9223372036854775807L -1)
610// PPC64:PTRDIFF_MAX_ 9223372036854775807L
611// PPC64:SIZE_MAX_ 18446744073709551615UL
612//
613// PPC64:INTMAX_MIN_ (-9223372036854775807L -1)
614// PPC64:INTMAX_MAX_ 9223372036854775807L
615// PPC64:UINTMAX_MAX_ 18446744073709551615UL
616//
617// PPC64:SIG_ATOMIC_MIN_ (-2147483647 -1)
618// PPC64:SIG_ATOMIC_MAX_ 2147483647
619// PPC64:WINT_MIN_ (-2147483647 -1)
620// PPC64:WINT_MAX_ 2147483647
621//
622// PPC64:WCHAR_MAX_ 2147483647
623// PPC64:WCHAR_MIN_ (-2147483647 -1)
624//
625// PPC64:INT8_C_(0) 0
626// PPC64:UINT8_C_(0) 0U
627// PPC64:INT16_C_(0) 0
628// PPC64:UINT16_C_(0) 0U
629// PPC64:INT32_C_(0) 0
630// PPC64:UINT32_C_(0) 0U
631// PPC64:INT64_C_(0) 0L
632// PPC64:UINT64_C_(0) 0UL
633//
634// PPC64:INTMAX_C_(0) 0L
635// PPC64:UINTMAX_C_(0) 0UL
636//
637// RUN: %clang_cc1 -E -ffreestanding -triple=powerpc-none-none %s | FileCheck -check-prefix PPC %s
638//
639//
640// PPC:typedef signed long long int int64_t;
641// PPC:typedef unsigned long long int uint64_t;
642// PPC:typedef int64_t int_least64_t;
643// PPC:typedef uint64_t uint_least64_t;
644// PPC:typedef int64_t int_fast64_t;
645// PPC:typedef uint64_t uint_fast64_t;
646//
647// PPC:typedef signed int int32_t;
648// PPC:typedef unsigned int uint32_t;
649// PPC:typedef int32_t int_least32_t;
650// PPC:typedef uint32_t uint_least32_t;
651// PPC:typedef int32_t int_fast32_t;
652// PPC:typedef uint32_t uint_fast32_t;
653//
654// PPC:typedef signed short int16_t;
655// PPC:typedef unsigned short uint16_t;
656// PPC:typedef int16_t int_least16_t;
657// PPC:typedef uint16_t uint_least16_t;
658// PPC:typedef int16_t int_fast16_t;
659// PPC:typedef uint16_t uint_fast16_t;
660//
661// PPC:typedef signed char int8_t;
662// PPC:typedef unsigned char uint8_t;
663// PPC:typedef int8_t int_least8_t;
664// PPC:typedef uint8_t uint_least8_t;
665// PPC:typedef int8_t int_fast8_t;
666// PPC:typedef uint8_t uint_fast8_t;
667//
668// PPC:typedef int32_t intptr_t;
669// PPC:typedef uint32_t uintptr_t;
670//
671// PPC:typedef long long int intmax_t;
672// PPC:typedef long long unsigned int uintmax_t;
673//
674// PPC:INT8_MAX_ 127
675// PPC:INT8_MIN_ (-127 -1)
676// PPC:UINT8_MAX_ 255
677// PPC:INT_LEAST8_MIN_ (-127 -1)
678// PPC:INT_LEAST8_MAX_ 127
679// PPC:UINT_LEAST8_MAX_ 255
680// PPC:INT_FAST8_MIN_ (-127 -1)
681// PPC:INT_FAST8_MAX_ 127
682// PPC:UINT_FAST8_MAX_ 255
683//
684// PPC:INT16_MAX_ 32767
685// PPC:INT16_MIN_ (-32767 -1)
686// PPC:UINT16_MAX_ 65535
687// PPC:INT_LEAST16_MIN_ (-32767 -1)
688// PPC:INT_LEAST16_MAX_ 32767
689// PPC:UINT_LEAST16_MAX_ 65535
690// PPC:INT_FAST16_MIN_ (-32767 -1)
691// PPC:INT_FAST16_MAX_ 32767
692// PPC:UINT_FAST16_MAX_ 65535
693//
694// PPC:INT32_MAX_ 2147483647
695// PPC:INT32_MIN_ (-2147483647 -1)
696// PPC:UINT32_MAX_ 4294967295U
697// PPC:INT_LEAST32_MIN_ (-2147483647 -1)
698// PPC:INT_LEAST32_MAX_ 2147483647
699// PPC:UINT_LEAST32_MAX_ 4294967295U
700// PPC:INT_FAST32_MIN_ (-2147483647 -1)
701// PPC:INT_FAST32_MAX_ 2147483647
702// PPC:UINT_FAST32_MAX_ 4294967295U
703//
704// PPC:INT64_MAX_ 9223372036854775807LL
705// PPC:INT64_MIN_ (-9223372036854775807LL -1)
706// PPC:UINT64_MAX_ 18446744073709551615ULL
707// PPC:INT_LEAST64_MIN_ (-9223372036854775807LL -1)
708// PPC:INT_LEAST64_MAX_ 9223372036854775807LL
709// PPC:UINT_LEAST64_MAX_ 18446744073709551615ULL
710// PPC:INT_FAST64_MIN_ (-9223372036854775807LL -1)
711// PPC:INT_FAST64_MAX_ 9223372036854775807LL
712// PPC:UINT_FAST64_MAX_ 18446744073709551615ULL
713//
714// PPC:INTPTR_MIN_ (-2147483647 -1)
715// PPC:INTPTR_MAX_ 2147483647
716// PPC:UINTPTR_MAX_ 4294967295U
717// PPC:PTRDIFF_MIN_ (-2147483647 -1)
718// PPC:PTRDIFF_MAX_ 2147483647
719// PPC:SIZE_MAX_ 4294967295U
720//
721// PPC:INTMAX_MIN_ (-9223372036854775807LL -1)
722// PPC:INTMAX_MAX_ 9223372036854775807LL
723// PPC:UINTMAX_MAX_ 18446744073709551615ULL
724//
725// PPC:SIG_ATOMIC_MIN_ (-2147483647 -1)
726// PPC:SIG_ATOMIC_MAX_ 2147483647
727// PPC:WINT_MIN_ (-2147483647 -1)
728// PPC:WINT_MAX_ 2147483647
729//
730// PPC:WCHAR_MAX_ 2147483647
731// PPC:WCHAR_MIN_ (-2147483647 -1)
732//
733// PPC:INT8_C_(0) 0
734// PPC:UINT8_C_(0) 0U
735// PPC:INT16_C_(0) 0
736// PPC:UINT16_C_(0) 0U
737// PPC:INT32_C_(0) 0
738// PPC:UINT32_C_(0) 0U
739// PPC:INT64_C_(0) 0LL
740// PPC:UINT64_C_(0) 0ULL
741//
742// PPC:INTMAX_C_(0) 0LL
743// PPC:UINTMAX_C_(0) 0ULL
744//
745// RUN: %clang_cc1 -E -ffreestanding -triple=s390x-none-none %s | FileCheck -check-prefix S390X %s
746//
747// S390X:typedef signed long long int int64_t;
748// S390X:typedef unsigned long long int uint64_t;
749// S390X:typedef int64_t int_least64_t;
750// S390X:typedef uint64_t uint_least64_t;
751// S390X:typedef int64_t int_fast64_t;
752// S390X:typedef uint64_t uint_fast64_t;
753//
754// S390X:typedef signed int int32_t;
755// S390X:typedef unsigned int uint32_t;
756// S390X:typedef int32_t int_least32_t;
757// S390X:typedef uint32_t uint_least32_t;
758// S390X:typedef int32_t int_fast32_t;
759// S390X:typedef uint32_t uint_fast32_t;
760//
761// S390X:typedef signed short int16_t;
762// S390X:typedef unsigned short uint16_t;
763// S390X:typedef int16_t int_least16_t;
764// S390X:typedef uint16_t uint_least16_t;
765// S390X:typedef int16_t int_fast16_t;
766// S390X:typedef uint16_t uint_fast16_t;
767//
768// S390X:typedef signed char int8_t;
769// S390X:typedef unsigned char uint8_t;
770// S390X:typedef int8_t int_least8_t;
771// S390X:typedef uint8_t uint_least8_t;
772// S390X:typedef int8_t int_fast8_t;
773// S390X:typedef uint8_t uint_fast8_t;
774//
775// S390X:typedef int64_t intptr_t;
776// S390X:typedef uint64_t uintptr_t;
777//
778// S390X:typedef long long int intmax_t;
779// S390X:typedef long long unsigned int uintmax_t;
780//
781// S390X:INT8_MAX_ 127
782// S390X:INT8_MIN_ (-127 -1)
783// S390X:UINT8_MAX_ 255
784// S390X:INT_LEAST8_MIN_ (-127 -1)
785// S390X:INT_LEAST8_MAX_ 127
786// S390X:UINT_LEAST8_MAX_ 255
787// S390X:INT_FAST8_MIN_ (-127 -1)
788// S390X:INT_FAST8_MAX_ 127
789// S390X:UINT_FAST8_MAX_ 255
790//
791// S390X:INT16_MAX_ 32767
792// S390X:INT16_MIN_ (-32767 -1)
793// S390X:UINT16_MAX_ 65535
794// S390X:INT_LEAST16_MIN_ (-32767 -1)
795// S390X:INT_LEAST16_MAX_ 32767
796// S390X:UINT_LEAST16_MAX_ 65535
797// S390X:INT_FAST16_MIN_ (-32767 -1)
798// S390X:INT_FAST16_MAX_ 32767
799// S390X:UINT_FAST16_MAX_ 65535
800//
801// S390X:INT32_MAX_ 2147483647
802// S390X:INT32_MIN_ (-2147483647 -1)
803// S390X:UINT32_MAX_ 4294967295U
804// S390X:INT_LEAST32_MIN_ (-2147483647 -1)
805// S390X:INT_LEAST32_MAX_ 2147483647
806// S390X:UINT_LEAST32_MAX_ 4294967295U
807// S390X:INT_FAST32_MIN_ (-2147483647 -1)
808// S390X:INT_FAST32_MAX_ 2147483647
809// S390X:UINT_FAST32_MAX_ 4294967295U
810//
811// S390X:INT64_MAX_ 9223372036854775807L
812// S390X:INT64_MIN_ (-9223372036854775807LL -1)
813// S390X:UINT64_MAX_ 18446744073709551615UL
814// S390X:INT_LEAST64_MIN_ (-9223372036854775807LL -1)
815// S390X:INT_LEAST64_MAX_ 9223372036854775807L
816// S390X:UINT_LEAST64_MAX_ 18446744073709551615UL
817// S390X:INT_FAST64_MIN_ (-9223372036854775807LL -1)
818// S390X:INT_FAST64_MAX_ 9223372036854775807L
819// S390X:UINT_FAST64_MAX_ 18446744073709551615UL
820//
821// S390X:INTPTR_MIN_ (-9223372036854775807LL -1)
822// S390X:INTPTR_MAX_ 9223372036854775807L
823// S390X:UINTPTR_MAX_ 18446744073709551615UL
824// S390X:PTRDIFF_MIN_ (-9223372036854775807LL -1)
825// S390X:PTRDIFF_MAX_ 9223372036854775807L
826// S390X:SIZE_MAX_ 18446744073709551615UL
827//
828// S390X:INTMAX_MIN_ (-9223372036854775807LL -1)
829// S390X:INTMAX_MAX_ 9223372036854775807L
830// S390X:UINTMAX_MAX_ 18446744073709551615UL
831//
832// S390X:SIG_ATOMIC_MIN_ (-2147483647 -1)
833// S390X:SIG_ATOMIC_MAX_ 2147483647
834// S390X:WINT_MIN_ (-2147483647 -1)
835// S390X:WINT_MAX_ 2147483647
836//
837// S390X:WCHAR_MAX_ 2147483647
838// S390X:WCHAR_MIN_ (-2147483647 -1)
839//
840// S390X:INT8_C_(0) 0
841// S390X:UINT8_C_(0) 0U
842// S390X:INT16_C_(0) 0
843// S390X:UINT16_C_(0) 0U
844// S390X:INT32_C_(0) 0
845// S390X:UINT32_C_(0) 0U
846// S390X:INT64_C_(0) 0L
847// S390X:UINT64_C_(0) 0UL
848//
849// S390X:INTMAX_C_(0) 0L
850// S390X:UINTMAX_C_(0) 0UL
851//
852// RUN: %clang_cc1 -E -ffreestanding -triple=sparc-none-none %s | FileCheck -check-prefix SPARC %s
853//
854// SPARC:typedef signed long long int int64_t;
855// SPARC:typedef unsigned long long int uint64_t;
856// SPARC:typedef int64_t int_least64_t;
857// SPARC:typedef uint64_t uint_least64_t;
858// SPARC:typedef int64_t int_fast64_t;
859// SPARC:typedef uint64_t uint_fast64_t;
860//
861// SPARC:typedef signed int int32_t;
862// SPARC:typedef unsigned int uint32_t;
863// SPARC:typedef int32_t int_least32_t;
864// SPARC:typedef uint32_t uint_least32_t;
865// SPARC:typedef int32_t int_fast32_t;
866// SPARC:typedef uint32_t uint_fast32_t;
867//
868// SPARC:typedef signed short int16_t;
869// SPARC:typedef unsigned short uint16_t;
870// SPARC:typedef int16_t int_least16_t;
871// SPARC:typedef uint16_t uint_least16_t;
872// SPARC:typedef int16_t int_fast16_t;
873// SPARC:typedef uint16_t uint_fast16_t;
874//
875// SPARC:typedef signed char int8_t;
876// SPARC:typedef unsigned char uint8_t;
877// SPARC:typedef int8_t int_least8_t;
878// SPARC:typedef uint8_t uint_least8_t;
879// SPARC:typedef int8_t int_fast8_t;
880// SPARC:typedef uint8_t uint_fast8_t;
881//
882// SPARC:typedef int32_t intptr_t;
883// SPARC:typedef uint32_t uintptr_t;
884//
885// SPARC:typedef long long int intmax_t;
886// SPARC:typedef long long unsigned int uintmax_t;
887//
888// SPARC:INT8_MAX_ 127
889// SPARC:INT8_MIN_ (-127 -1)
890// SPARC:UINT8_MAX_ 255
891// SPARC:INT_LEAST8_MIN_ (-127 -1)
892// SPARC:INT_LEAST8_MAX_ 127
893// SPARC:UINT_LEAST8_MAX_ 255
894// SPARC:INT_FAST8_MIN_ (-127 -1)
895// SPARC:INT_FAST8_MAX_ 127
896// SPARC:UINT_FAST8_MAX_ 255
897//
898// SPARC:INT16_MAX_ 32767
899// SPARC:INT16_MIN_ (-32767 -1)
900// SPARC:UINT16_MAX_ 65535
901// SPARC:INT_LEAST16_MIN_ (-32767 -1)
902// SPARC:INT_LEAST16_MAX_ 32767
903// SPARC:UINT_LEAST16_MAX_ 65535
904// SPARC:INT_FAST16_MIN_ (-32767 -1)
905// SPARC:INT_FAST16_MAX_ 32767
906// SPARC:UINT_FAST16_MAX_ 65535
907//
908// SPARC:INT32_MAX_ 2147483647
909// SPARC:INT32_MIN_ (-2147483647 -1)
910// SPARC:UINT32_MAX_ 4294967295U
911// SPARC:INT_LEAST32_MIN_ (-2147483647 -1)
912// SPARC:INT_LEAST32_MAX_ 2147483647
913// SPARC:UINT_LEAST32_MAX_ 4294967295U
914// SPARC:INT_FAST32_MIN_ (-2147483647 -1)
915// SPARC:INT_FAST32_MAX_ 2147483647
916// SPARC:UINT_FAST32_MAX_ 4294967295U
917//
918// SPARC:INT64_MAX_ 9223372036854775807LL
919// SPARC:INT64_MIN_ (-9223372036854775807LL -1)
920// SPARC:UINT64_MAX_ 18446744073709551615ULL
921// SPARC:INT_LEAST64_MIN_ (-9223372036854775807LL -1)
922// SPARC:INT_LEAST64_MAX_ 9223372036854775807LL
923// SPARC:UINT_LEAST64_MAX_ 18446744073709551615ULL
924// SPARC:INT_FAST64_MIN_ (-9223372036854775807LL -1)
925// SPARC:INT_FAST64_MAX_ 9223372036854775807LL
926// SPARC:UINT_FAST64_MAX_ 18446744073709551615ULL
927//
928// SPARC:INTPTR_MIN_ (-2147483647 -1)
929// SPARC:INTPTR_MAX_ 2147483647
930// SPARC:UINTPTR_MAX_ 4294967295U
931// SPARC:PTRDIFF_MIN_ (-2147483647 -1)
932// SPARC:PTRDIFF_MAX_ 2147483647
933// SPARC:SIZE_MAX_ 4294967295U
934//
935// SPARC:INTMAX_MIN_ (-9223372036854775807LL -1)
936// SPARC:INTMAX_MAX_ 9223372036854775807LL
937// SPARC:UINTMAX_MAX_ 18446744073709551615ULL
938//
939// SPARC:SIG_ATOMIC_MIN_ (-2147483647 -1)
940// SPARC:SIG_ATOMIC_MAX_ 2147483647
941// SPARC:WINT_MIN_ (-2147483647 -1)
942// SPARC:WINT_MAX_ 2147483647
943//
944// SPARC:WCHAR_MAX_ 2147483647
945// SPARC:WCHAR_MIN_ (-2147483647 -1)
946//
947// SPARC:INT8_C_(0) 0
948// SPARC:UINT8_C_(0) 0U
949// SPARC:INT16_C_(0) 0
950// SPARC:UINT16_C_(0) 0U
951// SPARC:INT32_C_(0) 0
952// SPARC:UINT32_C_(0) 0U
953// SPARC:INT64_C_(0) 0LL
954// SPARC:UINT64_C_(0) 0ULL
955//
956// SPARC:INTMAX_C_(0) 0LL
957// SPARC:UINTMAX_C_(0) 0ULL
958//
959// RUN: %clang_cc1 -E -ffreestanding -triple=tce-none-none %s | FileCheck -check-prefix TCE %s
960//
961// TCE:typedef signed int int32_t;
962// TCE:typedef unsigned int uint32_t;
963// TCE:typedef int32_t int_least32_t;
964// TCE:typedef uint32_t uint_least32_t;
965// TCE:typedef int32_t int_fast32_t;
966// TCE:typedef uint32_t uint_fast32_t;
967//
968// TCE:typedef signed short int16_t;
969// TCE:typedef unsigned short uint16_t;
970// TCE:typedef int16_t int_least16_t;
971// TCE:typedef uint16_t uint_least16_t;
972// TCE:typedef int16_t int_fast16_t;
973// TCE:typedef uint16_t uint_fast16_t;
974//
975// TCE:typedef signed char int8_t;
976// TCE:typedef unsigned char uint8_t;
977// TCE:typedef int8_t int_least8_t;
978// TCE:typedef uint8_t uint_least8_t;
979// TCE:typedef int8_t int_fast8_t;
980// TCE:typedef uint8_t uint_fast8_t;
981//
982// TCE:typedef int32_t intptr_t;
983// TCE:typedef uint32_t uintptr_t;
984//
985// TCE:typedef long int intmax_t;
986// TCE:typedef long unsigned int uintmax_t;
987//
988// TCE:INT8_MAX_ 127
989// TCE:INT8_MIN_ (-127 -1)
990// TCE:UINT8_MAX_ 255
991// TCE:INT_LEAST8_MIN_ (-127 -1)
992// TCE:INT_LEAST8_MAX_ 127
993// TCE:UINT_LEAST8_MAX_ 255
994// TCE:INT_FAST8_MIN_ (-127 -1)
995// TCE:INT_FAST8_MAX_ 127
996// TCE:UINT_FAST8_MAX_ 255
997//
998// TCE:INT16_MAX_ 32767
999// TCE:INT16_MIN_ (-32767 -1)
1000// TCE:UINT16_MAX_ 65535
1001// TCE:INT_LEAST16_MIN_ (-32767 -1)
1002// TCE:INT_LEAST16_MAX_ 32767
1003// TCE:UINT_LEAST16_MAX_ 65535
1004// TCE:INT_FAST16_MIN_ (-32767 -1)
1005// TCE:INT_FAST16_MAX_ 32767
1006// TCE:UINT_FAST16_MAX_ 65535
1007//
1008// TCE:INT32_MAX_ 2147483647
1009// TCE:INT32_MIN_ (-2147483647 -1)
1010// TCE:UINT32_MAX_ 4294967295U
1011// TCE:INT_LEAST32_MIN_ (-2147483647 -1)
1012// TCE:INT_LEAST32_MAX_ 2147483647
1013// TCE:UINT_LEAST32_MAX_ 4294967295U
1014// TCE:INT_FAST32_MIN_ (-2147483647 -1)
1015// TCE:INT_FAST32_MAX_ 2147483647
1016// TCE:UINT_FAST32_MAX_ 4294967295U
1017//
1018// TCE:INT64_MAX_ INT64_MAX
1019// TCE:INT64_MIN_ INT64_MIN
1020// TCE:UINT64_MAX_ UINT64_MAX
1021// TCE:INT_LEAST64_MIN_ INT_LEAST64_MIN
1022// TCE:INT_LEAST64_MAX_ INT_LEAST64_MAX
1023// TCE:UINT_LEAST64_MAX_ UINT_LEAST64_MAX
1024// TCE:INT_FAST64_MIN_ INT_FAST64_MIN
1025// TCE:INT_FAST64_MAX_ INT_FAST64_MAX
1026// TCE:UINT_FAST64_MAX_ UINT_FAST64_MAX
1027//
1028// TCE:INTPTR_MIN_ (-2147483647 -1)
1029// TCE:INTPTR_MAX_ 2147483647
1030// TCE:UINTPTR_MAX_ 4294967295U
1031// TCE:PTRDIFF_MIN_ (-2147483647 -1)
1032// TCE:PTRDIFF_MAX_ 2147483647
1033// TCE:SIZE_MAX_ 4294967295U
1034//
1035// TCE:INTMAX_MIN_ (-2147483647 -1)
1036// TCE:INTMAX_MAX_ 2147483647
1037// TCE:UINTMAX_MAX_ 4294967295U
1038//
1039// TCE:SIG_ATOMIC_MIN_ (-2147483647 -1)
1040// TCE:SIG_ATOMIC_MAX_ 2147483647
1041// TCE:WINT_MIN_ (-2147483647 -1)
1042// TCE:WINT_MAX_ 2147483647
1043//
1044// TCE:WCHAR_MAX_ 2147483647
1045// TCE:WCHAR_MIN_ (-2147483647 -1)
1046//
1047// TCE:INT8_C_(0) 0
1048// TCE:UINT8_C_(0) 0U
1049// TCE:INT16_C_(0) 0
1050// TCE:UINT16_C_(0) 0U
1051// TCE:INT32_C_(0) 0
1052// TCE:UINT32_C_(0) 0U
1053// TCE:INT64_C_(0) INT64_C(0)
1054// TCE:UINT64_C_(0) UINT64_C(0)
1055//
1056// TCE:INTMAX_C_(0) 0
1057// TCE:UINTMAX_C_(0) 0U
1058//
1059// RUN: %clang_cc1 -E -ffreestanding -triple=x86_64-none-none %s | FileCheck -check-prefix X86_64 %s
1060//
1061//
1062// X86_64:typedef signed long int int64_t;
1063// X86_64:typedef unsigned long int uint64_t;
1064// X86_64:typedef int64_t int_least64_t;
1065// X86_64:typedef uint64_t uint_least64_t;
1066// X86_64:typedef int64_t int_fast64_t;
1067// X86_64:typedef uint64_t uint_fast64_t;
1068//
1069// X86_64:typedef signed int int32_t;
1070// X86_64:typedef unsigned int uint32_t;
1071// X86_64:typedef int32_t int_least32_t;
1072// X86_64:typedef uint32_t uint_least32_t;
1073// X86_64:typedef int32_t int_fast32_t;
1074// X86_64:typedef uint32_t uint_fast32_t;
1075//
1076// X86_64:typedef signed short int16_t;
1077// X86_64:typedef unsigned short uint16_t;
1078// X86_64:typedef int16_t int_least16_t;
1079// X86_64:typedef uint16_t uint_least16_t;
1080// X86_64:typedef int16_t int_fast16_t;
1081// X86_64:typedef uint16_t uint_fast16_t;
1082//
1083// X86_64:typedef signed char int8_t;
1084// X86_64:typedef unsigned char uint8_t;
1085// X86_64:typedef int8_t int_least8_t;
1086// X86_64:typedef uint8_t uint_least8_t;
1087// X86_64:typedef int8_t int_fast8_t;
1088// X86_64:typedef uint8_t uint_fast8_t;
1089//
1090// X86_64:typedef int64_t intptr_t;
1091// X86_64:typedef uint64_t uintptr_t;
1092//
1093// X86_64:typedef long int intmax_t;
1094// X86_64:typedef long unsigned int uintmax_t;
1095//
1096// X86_64:INT8_MAX_ 127
1097// X86_64:INT8_MIN_ (-127 -1)
1098// X86_64:UINT8_MAX_ 255
1099// X86_64:INT_LEAST8_MIN_ (-127 -1)
1100// X86_64:INT_LEAST8_MAX_ 127
1101// X86_64:UINT_LEAST8_MAX_ 255
1102// X86_64:INT_FAST8_MIN_ (-127 -1)
1103// X86_64:INT_FAST8_MAX_ 127
1104// X86_64:UINT_FAST8_MAX_ 255
1105//
1106// X86_64:INT16_MAX_ 32767
1107// X86_64:INT16_MIN_ (-32767 -1)
1108// X86_64:UINT16_MAX_ 65535
1109// X86_64:INT_LEAST16_MIN_ (-32767 -1)
1110// X86_64:INT_LEAST16_MAX_ 32767
1111// X86_64:UINT_LEAST16_MAX_ 65535
1112// X86_64:INT_FAST16_MIN_ (-32767 -1)
1113// X86_64:INT_FAST16_MAX_ 32767
1114// X86_64:UINT_FAST16_MAX_ 65535
1115//
1116// X86_64:INT32_MAX_ 2147483647
1117// X86_64:INT32_MIN_ (-2147483647 -1)
1118// X86_64:UINT32_MAX_ 4294967295U
1119// X86_64:INT_LEAST32_MIN_ (-2147483647 -1)
1120// X86_64:INT_LEAST32_MAX_ 2147483647
1121// X86_64:UINT_LEAST32_MAX_ 4294967295U
1122// X86_64:INT_FAST32_MIN_ (-2147483647 -1)
1123// X86_64:INT_FAST32_MAX_ 2147483647
1124// X86_64:UINT_FAST32_MAX_ 4294967295U
1125//
1126// X86_64:INT64_MAX_ 9223372036854775807L
1127// X86_64:INT64_MIN_ (-9223372036854775807L -1)
1128// X86_64:UINT64_MAX_ 18446744073709551615UL
1129// X86_64:INT_LEAST64_MIN_ (-9223372036854775807L -1)
1130// X86_64:INT_LEAST64_MAX_ 9223372036854775807L
1131// X86_64:UINT_LEAST64_MAX_ 18446744073709551615UL
1132// X86_64:INT_FAST64_MIN_ (-9223372036854775807L -1)
1133// X86_64:INT_FAST64_MAX_ 9223372036854775807L
1134// X86_64:UINT_FAST64_MAX_ 18446744073709551615UL
1135//
1136// X86_64:INTPTR_MIN_ (-9223372036854775807L -1)
1137// X86_64:INTPTR_MAX_ 9223372036854775807L
1138// X86_64:UINTPTR_MAX_ 18446744073709551615UL
1139// X86_64:PTRDIFF_MIN_ (-9223372036854775807L -1)
1140// X86_64:PTRDIFF_MAX_ 9223372036854775807L
1141// X86_64:SIZE_MAX_ 18446744073709551615UL
1142//
1143// X86_64:INTMAX_MIN_ (-9223372036854775807L -1)
1144// X86_64:INTMAX_MAX_ 9223372036854775807L
1145// X86_64:UINTMAX_MAX_ 18446744073709551615UL
1146//
1147// X86_64:SIG_ATOMIC_MIN_ (-2147483647 -1)
1148// X86_64:SIG_ATOMIC_MAX_ 2147483647
1149// X86_64:WINT_MIN_ (-2147483647 -1)
1150// X86_64:WINT_MAX_ 2147483647
1151//
1152// X86_64:WCHAR_MAX_ 2147483647
1153// X86_64:WCHAR_MIN_ (-2147483647 -1)
1154//
1155// X86_64:INT8_C_(0) 0
1156// X86_64:UINT8_C_(0) 0U
1157// X86_64:INT16_C_(0) 0
1158// X86_64:UINT16_C_(0) 0U
1159// X86_64:INT32_C_(0) 0
1160// X86_64:UINT32_C_(0) 0U
1161// X86_64:INT64_C_(0) 0L
1162// X86_64:UINT64_C_(0) 0UL
1163//
1164// X86_64:INTMAX_C_(0) 0L
1165// X86_64:UINTMAX_C_(0) 0UL
1166//
1167//
1168// RUN: %clang_cc1 -E -ffreestanding -triple=x86_64-pc-linux-gnu %s | FileCheck -check-prefix X86_64_LINUX %s
1169//
1170// X86_64_LINUX:WINT_MIN_ 0U
1171// X86_64_LINUX:WINT_MAX_ 4294967295U
1172//
1173//
1174// RUN: %clang_cc1 -E -ffreestanding -triple=i386-mingw32 %s | FileCheck -check-prefix I386_MINGW32 %s
1175//
1176// I386_MINGW32:WCHAR_MAX_ 65535U
1177// I386_MINGW32:WCHAR_MIN_ 0U
1178//
1179//
1180// RUN: %clang_cc1 -E -ffreestanding -triple=xcore-none-none %s | FileCheck -check-prefix XCORE %s
1181//
1182// XCORE:typedef signed long long int int64_t;
1183// XCORE:typedef unsigned long long int uint64_t;
1184// XCORE:typedef int64_t int_least64_t;
1185// XCORE:typedef uint64_t uint_least64_t;
1186// XCORE:typedef int64_t int_fast64_t;
1187// XCORE:typedef uint64_t uint_fast64_t;
1188//
1189// XCORE:typedef signed int int32_t;
1190// XCORE:typedef unsigned int uint32_t;
1191// XCORE:typedef int32_t int_least32_t;
1192// XCORE:typedef uint32_t uint_least32_t;
1193// XCORE:typedef int32_t int_fast32_t;
1194// XCORE:typedef uint32_t uint_fast32_t;
1195//
1196// XCORE:typedef signed short int16_t;
1197// XCORE:typedef unsigned short uint16_t;
1198// XCORE:typedef int16_t int_least16_t;
1199// XCORE:typedef uint16_t uint_least16_t;
1200// XCORE:typedef int16_t int_fast16_t;
1201// XCORE:typedef uint16_t uint_fast16_t;
1202//
1203// XCORE:typedef signed char int8_t;
1204// XCORE:typedef unsigned char uint8_t;
1205// XCORE:typedef int8_t int_least8_t;
1206// XCORE:typedef uint8_t uint_least8_t;
1207// XCORE:typedef int8_t int_fast8_t;
1208// XCORE:typedef uint8_t uint_fast8_t;
1209//
1210// XCORE:typedef int32_t intptr_t;
1211// XCORE:typedef uint32_t uintptr_t;
1212//
1213// XCORE:typedef long long int intmax_t;
1214// XCORE:typedef long long unsigned int uintmax_t;
1215//
1216// XCORE:INT8_MAX_ 127
1217// XCORE:INT8_MIN_ (-127 -1)
1218// XCORE:UINT8_MAX_ 255
1219// XCORE:INT_LEAST8_MIN_ (-127 -1)
1220// XCORE:INT_LEAST8_MAX_ 127
1221// XCORE:UINT_LEAST8_MAX_ 255
1222// XCORE:INT_FAST8_MIN_ (-127 -1)
1223// XCORE:INT_FAST8_MAX_ 127
1224// XCORE:UINT_FAST8_MAX_ 255
1225//
1226// XCORE:INT16_MAX_ 32767
1227// XCORE:INT16_MIN_ (-32767 -1)
1228// XCORE:UINT16_MAX_ 65535
1229// XCORE:INT_LEAST16_MIN_ (-32767 -1)
1230// XCORE:INT_LEAST16_MAX_ 32767
1231// XCORE:UINT_LEAST16_MAX_ 65535
1232// XCORE:INT_FAST16_MIN_ (-32767 -1)
1233// XCORE:INT_FAST16_MAX_ 32767
1234// XCORE:UINT_FAST16_MAX_ 65535
1235//
1236// XCORE:INT32_MAX_ 2147483647
1237// XCORE:INT32_MIN_ (-2147483647 -1)
1238// XCORE:UINT32_MAX_ 4294967295U
1239// XCORE:INT_LEAST32_MIN_ (-2147483647 -1)
1240// XCORE:INT_LEAST32_MAX_ 2147483647
1241// XCORE:UINT_LEAST32_MAX_ 4294967295U
1242// XCORE:INT_FAST32_MIN_ (-2147483647 -1)
1243// XCORE:INT_FAST32_MAX_ 2147483647
1244// XCORE:UINT_FAST32_MAX_ 4294967295U
1245//
1246// XCORE:INT64_MAX_ 9223372036854775807LL
1247// XCORE:INT64_MIN_ (-9223372036854775807LL -1)
1248// XCORE:UINT64_MAX_ 18446744073709551615ULL
1249// XCORE:INT_LEAST64_MIN_ (-9223372036854775807LL -1)
1250// XCORE:INT_LEAST64_MAX_ 9223372036854775807LL
1251// XCORE:UINT_LEAST64_MAX_ 18446744073709551615ULL
1252// XCORE:INT_FAST64_MIN_ (-9223372036854775807LL -1)
1253// XCORE:INT_FAST64_MAX_ 9223372036854775807LL
1254// XCORE:UINT_FAST64_MAX_ 18446744073709551615ULL
1255//
1256// XCORE:INTPTR_MIN_ (-2147483647 -1)
1257// XCORE:INTPTR_MAX_ 2147483647
1258// XCORE:UINTPTR_MAX_ 4294967295U
1259// XCORE:PTRDIFF_MIN_ (-2147483647 -1)
1260// XCORE:PTRDIFF_MAX_ 2147483647
1261// XCORE:SIZE_MAX_ 4294967295U
1262//
1263// XCORE:INTMAX_MIN_ (-9223372036854775807LL -1)
1264// XCORE:INTMAX_MAX_ 9223372036854775807LL
1265// XCORE:UINTMAX_MAX_ 18446744073709551615ULL
1266//
1267// XCORE:SIG_ATOMIC_MIN_ (-2147483647 -1)
1268// XCORE:SIG_ATOMIC_MAX_ 2147483647
1269// XCORE:WINT_MIN_ 0U
1270// XCORE:WINT_MAX_ 4294967295U
1271//
1272// XCORE:WCHAR_MAX_ 255U
1273// XCORE:WCHAR_MIN_ 0
1274//
1275// XCORE:INT8_C_(0) 0
1276// XCORE:UINT8_C_(0) 0U
1277// XCORE:INT16_C_(0) 0
1278// XCORE:UINT16_C_(0) 0U
1279// XCORE:INT32_C_(0) 0
1280// XCORE:UINT32_C_(0) 0U
1281// XCORE:INT64_C_(0) 0LL
1282// XCORE:UINT64_C_(0) 0ULL
1283//
1284// XCORE:INTMAX_C_(0) 0LL
1285// XCORE:UINTMAX_C_(0) 0ULL
1286//
1287//
1288// stdint.h forms several macro definitions by pasting together identifiers
1289// to form names (eg. int32_t is formed from int ## 32 ## _t). The following
1290// case tests that these joining operations are performed correctly even if
1291// the identifiers used in the operations (int, uint, _t, INT, UINT, _MIN,
1292// _MAX, and _C(v)) are themselves macros.
1293//
1294// 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
1295// JOIN:typedef int32_t intptr_t;
1296// JOIN:typedef uint32_t uintptr_t;
1297// JOIN:typedef __INTMAX_TYPE__ intmax_t;
1298// JOIN:typedef __UINTMAX_TYPE__ uintmax_t;
1299// JOIN:INTPTR_MIN_ (-2147483647 -1)
1300// JOIN:INTPTR_MAX_ 2147483647
1301// JOIN:UINTPTR_MAX_ 4294967295U
1302// JOIN:PTRDIFF_MIN_ (-2147483647 -1)
1303// JOIN:PTRDIFF_MAX_ 2147483647
1304// JOIN:SIZE_MAX_ 4294967295U
1305// JOIN:INTMAX_MIN_ (-9223372036854775807LL -1)
1306// JOIN:INTMAX_MAX_ 9223372036854775807LL
1307// JOIN:UINTMAX_MAX_ 18446744073709551615ULL
1308// JOIN:SIG_ATOMIC_MIN_ (-2147483647 -1)
1309// JOIN:SIG_ATOMIC_MAX_ 2147483647
1310// JOIN:WINT_MIN_ (-2147483647 -1)
1311// JOIN:WINT_MAX_ 2147483647
1312// JOIN:WCHAR_MAX_ 2147483647
1313// JOIN:WCHAR_MIN_ (-2147483647 -1)
1314// JOIN:INTMAX_C_(0) 0LL
1315// JOIN:UINTMAX_C_(0) 0ULL
1316
1317#include <stdint.h>
1318
1319INT8_MAX_ INT8_MAX
1320INT8_MIN_ INT8_MIN
1321UINT8_MAX_ UINT8_MAX
1322INT_LEAST8_MIN_ INT_LEAST8_MIN
1323INT_LEAST8_MAX_ INT_LEAST8_MAX
1324UINT_LEAST8_MAX_ UINT_LEAST8_MAX
1325INT_FAST8_MIN_ INT_FAST8_MIN
1326INT_FAST8_MAX_ INT_FAST8_MAX
1327UINT_FAST8_MAX_ UINT_FAST8_MAX
1328
1329INT16_MAX_ INT16_MAX
1330INT16_MIN_ INT16_MIN
1331UINT16_MAX_ UINT16_MAX
1332INT_LEAST16_MIN_ INT_LEAST16_MIN
1333INT_LEAST16_MAX_ INT_LEAST16_MAX
1334UINT_LEAST16_MAX_ UINT_LEAST16_MAX
1335INT_FAST16_MIN_ INT_FAST16_MIN
1336INT_FAST16_MAX_ INT_FAST16_MAX
1337UINT_FAST16_MAX_ UINT_FAST16_MAX
1338
1339INT32_MAX_ INT32_MAX
1340INT32_MIN_ INT32_MIN
1341UINT32_MAX_ UINT32_MAX
1342INT_LEAST32_MIN_ INT_LEAST32_MIN
1343INT_LEAST32_MAX_ INT_LEAST32_MAX
1344UINT_LEAST32_MAX_ UINT_LEAST32_MAX
1345INT_FAST32_MIN_ INT_FAST32_MIN
1346INT_FAST32_MAX_ INT_FAST32_MAX
1347UINT_FAST32_MAX_ UINT_FAST32_MAX
1348
1349INT64_MAX_ INT64_MAX
1350INT64_MIN_ INT64_MIN
1351UINT64_MAX_ UINT64_MAX
1352INT_LEAST64_MIN_ INT_LEAST64_MIN
1353INT_LEAST64_MAX_ INT_LEAST64_MAX
1354UINT_LEAST64_MAX_ UINT_LEAST64_MAX
1355INT_FAST64_MIN_ INT_FAST64_MIN
1356INT_FAST64_MAX_ INT_FAST64_MAX
1357UINT_FAST64_MAX_ UINT_FAST64_MAX
1358
1359INTPTR_MIN_ INTPTR_MIN
1360INTPTR_MAX_ INTPTR_MAX
1361UINTPTR_MAX_ UINTPTR_MAX
1362PTRDIFF_MIN_ PTRDIFF_MIN
1363PTRDIFF_MAX_ PTRDIFF_MAX
1364SIZE_MAX_ SIZE_MAX
1365
1366INTMAX_MIN_ INTMAX_MIN
1367INTMAX_MAX_ INTMAX_MAX
1368UINTMAX_MAX_ UINTMAX_MAX
1369
1370SIG_ATOMIC_MIN_ SIG_ATOMIC_MIN
1371SIG_ATOMIC_MAX_ SIG_ATOMIC_MAX
1372WINT_MIN_ WINT_MIN
1373WINT_MAX_ WINT_MAX
1374
1375WCHAR_MAX_ WCHAR_MAX
1376WCHAR_MIN_ WCHAR_MIN
1377
1378INT8_C_(0) INT8_C(0)
1379UINT8_C_(0) UINT8_C(0)
1380INT16_C_(0) INT16_C(0)
1381UINT16_C_(0) UINT16_C(0)
1382INT32_C_(0) INT32_C(0)
1383UINT32_C_(0) UINT32_C(0)
1384INT64_C_(0) INT64_C(0)
1385UINT64_C_(0) UINT64_C(0)
1386
1387INTMAX_C_(0) INTMAX_C(0)
1388UINTMAX_C_(0) UINTMAX_C(0)
1389