blob: 70c106bf7974003dc43d42fbcb064a231ce3bdfd [file] [log] [blame]
Daniel Dunbara5728872009-12-15 20:14:24 +00001// RUN: %clang_cc1 -E -ffreestanding -triple=arm-none-none %s | FileCheck -check-prefix ARM %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00002//
Chris Lattnerdcdd2a02009-11-12 08:08:27 +00003// ARM:typedef signed long long int int64_t;
Chris Lattner06dcf6b2009-11-04 23:03:18 +00004// 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;
Chris Lattnerbceaf862009-10-29 04:55:36 +00009//
Chris Lattnerdcdd2a02009-11-12 08:08:27 +000010// ARM:typedef signed int int32_t;
Chris Lattner06dcf6b2009-11-04 23:03:18 +000011// 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//
Chris Lattnerdcdd2a02009-11-12 08:08:27 +000017// ARM:typedef signed short int16_t;
Chris Lattnerbceaf862009-10-29 04:55:36 +000018// 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//
Chris Lattner06dcf6b2009-11-04 23:03:18 +000024// 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;
Chris Lattnerbceaf862009-10-29 04:55:36 +000030//
Ken Dyck08321b42009-11-18 20:24:13 +000031// ARM:typedef int32_t intptr_t;
32// ARM:typedef uint32_t uintptr_t;
Chris Lattnerbceaf862009-10-29 04:55:36 +000033//
Daniel Dunbar96d38c12010-06-30 06:30:50 +000034// ARM:typedef long long int intmax_t;
35// ARM:typedef long long unsigned int uintmax_t;
Chris Lattnerbceaf862009-10-29 04:55:36 +000036//
37// ARM:INT8_MAX_ 127
Ken Dyckb0887562009-11-17 18:29:12 +000038// ARM:INT8_MIN_ (-127 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +000039// ARM:UINT8_MAX_ 255
Ken Dyckb0887562009-11-17 18:29:12 +000040// ARM:INT_LEAST8_MIN_ (-127 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +000041// ARM:INT_LEAST8_MAX_ 127
42// ARM:UINT_LEAST8_MAX_ 255
Ken Dyckb0887562009-11-17 18:29:12 +000043// ARM:INT_FAST8_MIN_ (-127 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +000044// ARM:INT_FAST8_MAX_ 127
45// ARM:UINT_FAST8_MAX_ 255
46//
47// ARM:INT16_MAX_ 32767
Ken Dyckb0887562009-11-17 18:29:12 +000048// ARM:INT16_MIN_ (-32767 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +000049// ARM:UINT16_MAX_ 65535
Ken Dyckb0887562009-11-17 18:29:12 +000050// ARM:INT_LEAST16_MIN_ (-32767 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +000051// ARM:INT_LEAST16_MAX_ 32767
52// ARM:UINT_LEAST16_MAX_ 65535
Ken Dyckb0887562009-11-17 18:29:12 +000053// ARM:INT_FAST16_MIN_ (-32767 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +000054// 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
Ken Dyckdb57ce52009-11-18 19:22:15 +000086// ARM:UINTMAX_MAX_ 18446744073709551615ULL
Chris Lattnerbceaf862009-10-29 04:55:36 +000087//
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//
James Molloya6d81f92011-11-23 13:35:08 +000093// ARM:WCHAR_MAX_ 4294967295U
94// ARM:WCHAR_MIN_ 0U
Chris Lattnerbceaf862009-10-29 04:55:36 +000095//
Ken Dyck6ab25f42009-11-17 13:54:02 +000096// 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
Chris Lattnerbceaf862009-10-29 04:55:36 +0000104//
Ken Dyck6ab25f42009-11-17 13:54:02 +0000105// ARM:INTMAX_C_(0) 0LL
106// ARM:UINTMAX_C_(0) 0ULL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000107//
108//
Daniel Dunbara5728872009-12-15 20:14:24 +0000109// RUN: %clang_cc1 -E -ffreestanding -triple=i386-none-none %s | FileCheck -check-prefix I386 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000110//
Chris Lattnerdcdd2a02009-11-12 08:08:27 +0000111// I386:typedef signed long long int int64_t;
Chris Lattner06dcf6b2009-11-04 23:03:18 +0000112// 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;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000117//
Chris Lattnerdcdd2a02009-11-12 08:08:27 +0000118// I386:typedef signed int int32_t;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000119// 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//
Chris Lattnerdcdd2a02009-11-12 08:08:27 +0000125// I386:typedef signed short int16_t;
Chris Lattner06dcf6b2009-11-04 23:03:18 +0000126// 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;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000138//
Ken Dyck08321b42009-11-18 20:24:13 +0000139// I386:typedef int32_t intptr_t;
140// I386:typedef uint32_t uintptr_t;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000141//
Daniel Dunbar96d38c12010-06-30 06:30:50 +0000142// I386:typedef long long int intmax_t;
143// I386:typedef long long unsigned int uintmax_t;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000144//
145// I386:INT8_MAX_ 127
Ken Dyckb0887562009-11-17 18:29:12 +0000146// I386:INT8_MIN_ (-127 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000147// I386:UINT8_MAX_ 255
Ken Dyckb0887562009-11-17 18:29:12 +0000148// I386:INT_LEAST8_MIN_ (-127 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000149// I386:INT_LEAST8_MAX_ 127
150// I386:UINT_LEAST8_MAX_ 255
Ken Dyckb0887562009-11-17 18:29:12 +0000151// I386:INT_FAST8_MIN_ (-127 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000152// I386:INT_FAST8_MAX_ 127
153// I386:UINT_FAST8_MAX_ 255
154//
155// I386:INT16_MAX_ 32767
Ken Dyckb0887562009-11-17 18:29:12 +0000156// I386:INT16_MIN_ (-32767 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000157// I386:UINT16_MAX_ 65535
Ken Dyckb0887562009-11-17 18:29:12 +0000158// I386:INT_LEAST16_MIN_ (-32767 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000159// I386:INT_LEAST16_MAX_ 32767
160// I386:UINT_LEAST16_MAX_ 65535
Ken Dyckb0887562009-11-17 18:29:12 +0000161// I386:INT_FAST16_MIN_ (-32767 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000162// 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
Ken Dyckdb57ce52009-11-18 19:22:15 +0000194// I386:UINTMAX_MAX_ 18446744073709551615ULL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000195//
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//
Ken Dyck6ab25f42009-11-17 13:54:02 +0000204// 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
Chris Lattnerbceaf862009-10-29 04:55:36 +0000212//
Ken Dyck6ab25f42009-11-17 13:54:02 +0000213// I386:INTMAX_C_(0) 0LL
214// I386:UINTMAX_C_(0) 0ULL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000215//
Daniel Dunbara5728872009-12-15 20:14:24 +0000216// RUN: %clang_cc1 -E -ffreestanding -triple=msp430-none-none %s | FileCheck -check-prefix MSP430 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000217//
Chris Lattnerdcdd2a02009-11-12 08:08:27 +0000218// MSP430:typedef signed long int int32_t;
219// MSP430:typedef unsigned long int uint32_t;
Chris Lattner06dcf6b2009-11-04 23:03:18 +0000220// 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;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000224//
Chris Lattnerdcdd2a02009-11-12 08:08:27 +0000225// MSP430:typedef signed short int16_t;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000226// 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//
Chris Lattner06dcf6b2009-11-04 23:03:18 +0000232// 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;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000238//
Ken Dyck08321b42009-11-18 20:24:13 +0000239// MSP430:typedef int16_t intptr_t;
240// MSP430:typedef uint16_t uintptr_t;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000241//
Daniel Dunbar96d38c12010-06-30 06:30:50 +0000242// MSP430:typedef long int intmax_t;
243// MSP430:typedef long unsigned int uintmax_t;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000244//
245// MSP430:INT8_MAX_ 127
Ken Dyckb0887562009-11-17 18:29:12 +0000246// MSP430:INT8_MIN_ (-127 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000247// MSP430:UINT8_MAX_ 255
Ken Dyckb0887562009-11-17 18:29:12 +0000248// MSP430:INT_LEAST8_MIN_ (-127 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000249// MSP430:INT_LEAST8_MAX_ 127
250// MSP430:UINT_LEAST8_MAX_ 255
Ken Dyckb0887562009-11-17 18:29:12 +0000251// MSP430:INT_FAST8_MIN_ (-127 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000252// MSP430:INT_FAST8_MAX_ 127
253// MSP430:UINT_FAST8_MAX_ 255
254//
255// MSP430:INT16_MAX_ 32767
Ken Dyckb0887562009-11-17 18:29:12 +0000256// MSP430:INT16_MIN_ (-32767 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000257// MSP430:UINT16_MAX_ 65535
Ken Dyckb0887562009-11-17 18:29:12 +0000258// MSP430:INT_LEAST16_MIN_ (-32767 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000259// MSP430:INT_LEAST16_MAX_ 32767
260// MSP430:UINT_LEAST16_MAX_ 65535
Ken Dyckb0887562009-11-17 18:29:12 +0000261// MSP430:INT_FAST16_MIN_ (-32767 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000262// MSP430:INT_FAST16_MAX_ 32767
263// MSP430:UINT_FAST16_MAX_ 65535
264//
Ken Dyck81638412009-11-17 16:26:27 +0000265// 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
Chris Lattnerbceaf862009-10-29 04:55:36 +0000274//
Anton Korobeynikov79bff432010-01-14 21:36:52 +0000275// 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
Chris Lattnerbceaf862009-10-29 04:55:36 +0000284//
Ken Dyckb0887562009-11-17 18:29:12 +0000285// MSP430:INTPTR_MIN_ (-32767 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000286// MSP430:INTPTR_MAX_ 32767
287// MSP430:UINTPTR_MAX_ 65535
Ken Dyckb0887562009-11-17 18:29:12 +0000288// MSP430:PTRDIFF_MIN_ (-32767 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000289// MSP430:PTRDIFF_MAX_ 32767
290// MSP430:SIZE_MAX_ 65535
291//
292// MSP430:INTMAX_MIN_ (-2147483647L -1)
293// MSP430:INTMAX_MAX_ 2147483647L
Ken Dyckdb57ce52009-11-18 19:22:15 +0000294// MSP430:UINTMAX_MAX_ 4294967295UL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000295//
Ken Dyck81638412009-11-17 16:26:27 +0000296// MSP430:SIG_ATOMIC_MIN_ (-2147483647L -1)
297// MSP430:SIG_ATOMIC_MAX_ 2147483647L
Ken Dyckbfec4b02009-11-19 14:35:19 +0000298// MSP430:WINT_MIN_ (-32767 -1)
299// MSP430:WINT_MAX_ 32767
Chris Lattnerbceaf862009-10-29 04:55:36 +0000300//
Chris Lattner91846462009-11-12 08:04:33 +0000301// MSP430:WCHAR_MAX_ 32767
302// MSP430:WCHAR_MIN_ (-32767 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000303//
Ken Dyck6ab25f42009-11-17 13:54:02 +0000304// 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
Anton Korobeynikov79bff432010-01-14 21:36:52 +0000310// MSP430:INT64_C_(0) 0LL
311// MSP430:UINT64_C_(0) 0ULL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000312//
Ken Dyck832b7102009-11-18 19:42:57 +0000313// MSP430:INTMAX_C_(0) 0L
314// MSP430:UINTMAX_C_(0) 0UL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000315//
Daniel Dunbara5728872009-12-15 20:14:24 +0000316// RUN: %clang_cc1 -E -ffreestanding -triple=powerpc64-none-none %s | FileCheck -check-prefix PPC64 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000317//
Chris Lattnerdcdd2a02009-11-12 08:08:27 +0000318// PPC64:typedef signed long int int64_t;
Chris Lattner06dcf6b2009-11-04 23:03:18 +0000319// 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;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000324//
Chris Lattnerdcdd2a02009-11-12 08:08:27 +0000325// PPC64:typedef signed int int32_t;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000326// 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//
Chris Lattnerdcdd2a02009-11-12 08:08:27 +0000332// PPC64:typedef signed short int16_t;
Chris Lattner06dcf6b2009-11-04 23:03:18 +0000333// 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;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000345//
Ken Dyck08321b42009-11-18 20:24:13 +0000346// PPC64:typedef int64_t intptr_t;
347// PPC64:typedef uint64_t uintptr_t;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000348//
Daniel Dunbar96d38c12010-06-30 06:30:50 +0000349// PPC64:typedef long int intmax_t;
350// PPC64:typedef long unsigned int uintmax_t;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000351//
352// PPC64:INT8_MAX_ 127
Ken Dyckb0887562009-11-17 18:29:12 +0000353// PPC64:INT8_MIN_ (-127 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000354// PPC64:UINT8_MAX_ 255
Ken Dyckb0887562009-11-17 18:29:12 +0000355// PPC64:INT_LEAST8_MIN_ (-127 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000356// PPC64:INT_LEAST8_MAX_ 127
357// PPC64:UINT_LEAST8_MAX_ 255
Ken Dyckb0887562009-11-17 18:29:12 +0000358// PPC64:INT_FAST8_MIN_ (-127 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000359// PPC64:INT_FAST8_MAX_ 127
360// PPC64:UINT_FAST8_MAX_ 255
361//
362// PPC64:INT16_MAX_ 32767
Ken Dyckb0887562009-11-17 18:29:12 +0000363// PPC64:INT16_MIN_ (-32767 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000364// PPC64:UINT16_MAX_ 65535
Ken Dyckb0887562009-11-17 18:29:12 +0000365// PPC64:INT_LEAST16_MIN_ (-32767 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000366// PPC64:INT_LEAST16_MAX_ 32767
367// PPC64:UINT_LEAST16_MAX_ 65535
Ken Dyckb0887562009-11-17 18:29:12 +0000368// PPC64:INT_FAST16_MIN_ (-32767 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000369// 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//
Ken Dyck81638412009-11-17 16:26:27 +0000382// 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
Chris Lattnerbceaf862009-10-29 04:55:36 +0000391//
Ken Dyck81638412009-11-17 16:26:27 +0000392// 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
Chris Lattnerbceaf862009-10-29 04:55:36 +0000398//
399// PPC64:INTMAX_MIN_ (-9223372036854775807L -1)
400// PPC64:INTMAX_MAX_ 9223372036854775807L
Ken Dyckdb57ce52009-11-18 19:22:15 +0000401// PPC64:UINTMAX_MAX_ 18446744073709551615UL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000402//
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//
Ken Dyck6ab25f42009-11-17 13:54:02 +0000411// 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
Chris Lattnerbceaf862009-10-29 04:55:36 +0000419//
Ken Dyck832b7102009-11-18 19:42:57 +0000420// PPC64:INTMAX_C_(0) 0L
421// PPC64:UINTMAX_C_(0) 0UL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000422//
Daniel Dunbara5728872009-12-15 20:14:24 +0000423// RUN: %clang_cc1 -E -ffreestanding -triple=powerpc-none-none %s | FileCheck -check-prefix PPC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000424//
Chris Lattner06dcf6b2009-11-04 23:03:18 +0000425//
Chris Lattnerdcdd2a02009-11-12 08:08:27 +0000426// PPC:typedef signed long long int int64_t;
Chris Lattner06dcf6b2009-11-04 23:03:18 +0000427// 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;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000432//
Chris Lattnerdcdd2a02009-11-12 08:08:27 +0000433// PPC:typedef signed int int32_t;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000434// 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//
Chris Lattnerdcdd2a02009-11-12 08:08:27 +0000440// PPC:typedef signed short int16_t;
Chris Lattner06dcf6b2009-11-04 23:03:18 +0000441// 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;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000453//
Ken Dyck08321b42009-11-18 20:24:13 +0000454// PPC:typedef int32_t intptr_t;
455// PPC:typedef uint32_t uintptr_t;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000456//
Daniel Dunbar96d38c12010-06-30 06:30:50 +0000457// PPC:typedef long long int intmax_t;
458// PPC:typedef long long unsigned int uintmax_t;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000459//
460// PPC:INT8_MAX_ 127
Ken Dyckb0887562009-11-17 18:29:12 +0000461// PPC:INT8_MIN_ (-127 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000462// PPC:UINT8_MAX_ 255
Ken Dyckb0887562009-11-17 18:29:12 +0000463// PPC:INT_LEAST8_MIN_ (-127 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000464// PPC:INT_LEAST8_MAX_ 127
465// PPC:UINT_LEAST8_MAX_ 255
Ken Dyckb0887562009-11-17 18:29:12 +0000466// PPC:INT_FAST8_MIN_ (-127 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000467// PPC:INT_FAST8_MAX_ 127
468// PPC:UINT_FAST8_MAX_ 255
469//
470// PPC:INT16_MAX_ 32767
Ken Dyckb0887562009-11-17 18:29:12 +0000471// PPC:INT16_MIN_ (-32767 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000472// PPC:UINT16_MAX_ 65535
Ken Dyckb0887562009-11-17 18:29:12 +0000473// PPC:INT_LEAST16_MIN_ (-32767 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000474// PPC:INT_LEAST16_MAX_ 32767
475// PPC:UINT_LEAST16_MAX_ 65535
Ken Dyckb0887562009-11-17 18:29:12 +0000476// PPC:INT_FAST16_MIN_ (-32767 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000477// 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
Ken Dyckdb57ce52009-11-18 19:22:15 +0000509// PPC:UINTMAX_MAX_ 18446744073709551615ULL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000510//
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//
Ken Dyck6ab25f42009-11-17 13:54:02 +0000519// 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
Chris Lattnerbceaf862009-10-29 04:55:36 +0000527//
Ken Dyck6ab25f42009-11-17 13:54:02 +0000528// PPC:INTMAX_C_(0) 0LL
529// PPC:UINTMAX_C_(0) 0ULL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000530//
Daniel Dunbara5728872009-12-15 20:14:24 +0000531// RUN: %clang_cc1 -E -ffreestanding -triple=sparc-none-none %s | FileCheck -check-prefix SPARC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000532//
Chris Lattnerdcdd2a02009-11-12 08:08:27 +0000533// SPARC:typedef signed long long int int64_t;
Chris Lattner06dcf6b2009-11-04 23:03:18 +0000534// SPARC:typedef unsigned long long int uint64_t;
535// SPARC:typedef int64_t int_least64_t;
536// SPARC:typedef uint64_t uint_least64_t;
537// SPARC:typedef int64_t int_fast64_t;
538// SPARC:typedef uint64_t uint_fast64_t;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000539//
Chris Lattnerdcdd2a02009-11-12 08:08:27 +0000540// SPARC:typedef signed int int32_t;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000541// SPARC:typedef unsigned int uint32_t;
542// SPARC:typedef int32_t int_least32_t;
543// SPARC:typedef uint32_t uint_least32_t;
544// SPARC:typedef int32_t int_fast32_t;
545// SPARC:typedef uint32_t uint_fast32_t;
546//
Chris Lattnerdcdd2a02009-11-12 08:08:27 +0000547// SPARC:typedef signed short int16_t;
Chris Lattner06dcf6b2009-11-04 23:03:18 +0000548// SPARC:typedef unsigned short uint16_t;
549// SPARC:typedef int16_t int_least16_t;
550// SPARC:typedef uint16_t uint_least16_t;
551// SPARC:typedef int16_t int_fast16_t;
552// SPARC:typedef uint16_t uint_fast16_t;
553//
554// SPARC:typedef signed char int8_t;
555// SPARC:typedef unsigned char uint8_t;
556// SPARC:typedef int8_t int_least8_t;
557// SPARC:typedef uint8_t uint_least8_t;
558// SPARC:typedef int8_t int_fast8_t;
559// SPARC:typedef uint8_t uint_fast8_t;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000560//
Ken Dyck08321b42009-11-18 20:24:13 +0000561// SPARC:typedef int32_t intptr_t;
562// SPARC:typedef uint32_t uintptr_t;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000563//
Daniel Dunbar96d38c12010-06-30 06:30:50 +0000564// SPARC:typedef long long int intmax_t;
565// SPARC:typedef long long unsigned int uintmax_t;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000566//
567// SPARC:INT8_MAX_ 127
Ken Dyckb0887562009-11-17 18:29:12 +0000568// SPARC:INT8_MIN_ (-127 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000569// SPARC:UINT8_MAX_ 255
Ken Dyckb0887562009-11-17 18:29:12 +0000570// SPARC:INT_LEAST8_MIN_ (-127 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000571// SPARC:INT_LEAST8_MAX_ 127
572// SPARC:UINT_LEAST8_MAX_ 255
Ken Dyckb0887562009-11-17 18:29:12 +0000573// SPARC:INT_FAST8_MIN_ (-127 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000574// SPARC:INT_FAST8_MAX_ 127
575// SPARC:UINT_FAST8_MAX_ 255
576//
577// SPARC:INT16_MAX_ 32767
Ken Dyckb0887562009-11-17 18:29:12 +0000578// SPARC:INT16_MIN_ (-32767 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000579// SPARC:UINT16_MAX_ 65535
Ken Dyckb0887562009-11-17 18:29:12 +0000580// SPARC:INT_LEAST16_MIN_ (-32767 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000581// SPARC:INT_LEAST16_MAX_ 32767
582// SPARC:UINT_LEAST16_MAX_ 65535
Ken Dyckb0887562009-11-17 18:29:12 +0000583// SPARC:INT_FAST16_MIN_ (-32767 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000584// SPARC:INT_FAST16_MAX_ 32767
585// SPARC:UINT_FAST16_MAX_ 65535
586//
587// SPARC:INT32_MAX_ 2147483647
588// SPARC:INT32_MIN_ (-2147483647 -1)
589// SPARC:UINT32_MAX_ 4294967295U
590// SPARC:INT_LEAST32_MIN_ (-2147483647 -1)
591// SPARC:INT_LEAST32_MAX_ 2147483647
592// SPARC:UINT_LEAST32_MAX_ 4294967295U
593// SPARC:INT_FAST32_MIN_ (-2147483647 -1)
594// SPARC:INT_FAST32_MAX_ 2147483647
595// SPARC:UINT_FAST32_MAX_ 4294967295U
596//
597// SPARC:INT64_MAX_ 9223372036854775807LL
598// SPARC:INT64_MIN_ (-9223372036854775807LL -1)
599// SPARC:UINT64_MAX_ 18446744073709551615ULL
600// SPARC:INT_LEAST64_MIN_ (-9223372036854775807LL -1)
601// SPARC:INT_LEAST64_MAX_ 9223372036854775807LL
602// SPARC:UINT_LEAST64_MAX_ 18446744073709551615ULL
603// SPARC:INT_FAST64_MIN_ (-9223372036854775807LL -1)
604// SPARC:INT_FAST64_MAX_ 9223372036854775807LL
605// SPARC:UINT_FAST64_MAX_ 18446744073709551615ULL
606//
607// SPARC:INTPTR_MIN_ (-2147483647 -1)
608// SPARC:INTPTR_MAX_ 2147483647
609// SPARC:UINTPTR_MAX_ 4294967295U
610// SPARC:PTRDIFF_MIN_ (-2147483647 -1)
611// SPARC:PTRDIFF_MAX_ 2147483647
612// SPARC:SIZE_MAX_ 4294967295U
613//
614// SPARC:INTMAX_MIN_ (-9223372036854775807LL -1)
615// SPARC:INTMAX_MAX_ 9223372036854775807LL
Ken Dyckdb57ce52009-11-18 19:22:15 +0000616// SPARC:UINTMAX_MAX_ 18446744073709551615ULL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000617//
618// SPARC:SIG_ATOMIC_MIN_ (-2147483647 -1)
619// SPARC:SIG_ATOMIC_MAX_ 2147483647
620// SPARC:WINT_MIN_ (-2147483647 -1)
621// SPARC:WINT_MAX_ 2147483647
622//
623// SPARC:WCHAR_MAX_ 2147483647
624// SPARC:WCHAR_MIN_ (-2147483647 -1)
625//
Ken Dyck6ab25f42009-11-17 13:54:02 +0000626// SPARC:INT8_C_(0) 0
627// SPARC:UINT8_C_(0) 0U
628// SPARC:INT16_C_(0) 0
629// SPARC:UINT16_C_(0) 0U
630// SPARC:INT32_C_(0) 0
631// SPARC:UINT32_C_(0) 0U
632// SPARC:INT64_C_(0) 0LL
633// SPARC:UINT64_C_(0) 0ULL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000634//
Ken Dyck6ab25f42009-11-17 13:54:02 +0000635// SPARC:INTMAX_C_(0) 0LL
636// SPARC:UINTMAX_C_(0) 0ULL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000637//
Daniel Dunbara5728872009-12-15 20:14:24 +0000638// RUN: %clang_cc1 -E -ffreestanding -triple=tce-none-none %s | FileCheck -check-prefix TCE %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000639//
Chris Lattnerdcdd2a02009-11-12 08:08:27 +0000640// TCE:typedef signed int int32_t;
Chris Lattner06dcf6b2009-11-04 23:03:18 +0000641// TCE:typedef unsigned int uint32_t;
642// TCE:typedef int32_t int_least32_t;
643// TCE:typedef uint32_t uint_least32_t;
644// TCE:typedef int32_t int_fast32_t;
645// TCE:typedef uint32_t uint_fast32_t;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000646//
Chris Lattnerdcdd2a02009-11-12 08:08:27 +0000647// TCE:typedef signed short int16_t;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000648// TCE:typedef unsigned short uint16_t;
649// TCE:typedef int16_t int_least16_t;
650// TCE:typedef uint16_t uint_least16_t;
651// TCE:typedef int16_t int_fast16_t;
652// TCE:typedef uint16_t uint_fast16_t;
653//
Chris Lattner06dcf6b2009-11-04 23:03:18 +0000654// TCE:typedef signed char int8_t;
655// TCE:typedef unsigned char uint8_t;
656// TCE:typedef int8_t int_least8_t;
657// TCE:typedef uint8_t uint_least8_t;
658// TCE:typedef int8_t int_fast8_t;
659// TCE:typedef uint8_t uint_fast8_t;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000660//
Ken Dyck08321b42009-11-18 20:24:13 +0000661// TCE:typedef int32_t intptr_t;
662// TCE:typedef uint32_t uintptr_t;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000663//
Daniel Dunbar96d38c12010-06-30 06:30:50 +0000664// TCE:typedef long int intmax_t;
665// TCE:typedef long unsigned int uintmax_t;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000666//
667// TCE:INT8_MAX_ 127
Ken Dyckb0887562009-11-17 18:29:12 +0000668// TCE:INT8_MIN_ (-127 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000669// TCE:UINT8_MAX_ 255
Ken Dyckb0887562009-11-17 18:29:12 +0000670// TCE:INT_LEAST8_MIN_ (-127 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000671// TCE:INT_LEAST8_MAX_ 127
672// TCE:UINT_LEAST8_MAX_ 255
Ken Dyckb0887562009-11-17 18:29:12 +0000673// TCE:INT_FAST8_MIN_ (-127 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000674// TCE:INT_FAST8_MAX_ 127
675// TCE:UINT_FAST8_MAX_ 255
676//
677// TCE:INT16_MAX_ 32767
Ken Dyckb0887562009-11-17 18:29:12 +0000678// TCE:INT16_MIN_ (-32767 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000679// TCE:UINT16_MAX_ 65535
Ken Dyckb0887562009-11-17 18:29:12 +0000680// TCE:INT_LEAST16_MIN_ (-32767 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000681// TCE:INT_LEAST16_MAX_ 32767
682// TCE:UINT_LEAST16_MAX_ 65535
Ken Dyckb0887562009-11-17 18:29:12 +0000683// TCE:INT_FAST16_MIN_ (-32767 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000684// TCE:INT_FAST16_MAX_ 32767
685// TCE:UINT_FAST16_MAX_ 65535
686//
687// TCE:INT32_MAX_ 2147483647
688// TCE:INT32_MIN_ (-2147483647 -1)
689// TCE:UINT32_MAX_ 4294967295U
690// TCE:INT_LEAST32_MIN_ (-2147483647 -1)
691// TCE:INT_LEAST32_MAX_ 2147483647
692// TCE:UINT_LEAST32_MAX_ 4294967295U
693// TCE:INT_FAST32_MIN_ (-2147483647 -1)
694// TCE:INT_FAST32_MAX_ 2147483647
695// TCE:UINT_FAST32_MAX_ 4294967295U
696//
697// TCE:INT64_MAX_ INT64_MAX
698// TCE:INT64_MIN_ INT64_MIN
699// TCE:UINT64_MAX_ UINT64_MAX
700// TCE:INT_LEAST64_MIN_ INT_LEAST64_MIN
701// TCE:INT_LEAST64_MAX_ INT_LEAST64_MAX
702// TCE:UINT_LEAST64_MAX_ UINT_LEAST64_MAX
703// TCE:INT_FAST64_MIN_ INT_FAST64_MIN
704// TCE:INT_FAST64_MAX_ INT_FAST64_MAX
705// TCE:UINT_FAST64_MAX_ UINT_FAST64_MAX
706//
707// TCE:INTPTR_MIN_ (-2147483647 -1)
708// TCE:INTPTR_MAX_ 2147483647
709// TCE:UINTPTR_MAX_ 4294967295U
710// TCE:PTRDIFF_MIN_ (-2147483647 -1)
711// TCE:PTRDIFF_MAX_ 2147483647
712// TCE:SIZE_MAX_ 4294967295U
713//
Ken Dyckdb57ce52009-11-18 19:22:15 +0000714// TCE:INTMAX_MIN_ (-2147483647 -1)
715// TCE:INTMAX_MAX_ 2147483647
716// TCE:UINTMAX_MAX_ 4294967295U
Chris Lattnerbceaf862009-10-29 04:55:36 +0000717//
718// TCE:SIG_ATOMIC_MIN_ (-2147483647 -1)
719// TCE:SIG_ATOMIC_MAX_ 2147483647
720// TCE:WINT_MIN_ (-2147483647 -1)
721// TCE:WINT_MAX_ 2147483647
722//
723// TCE:WCHAR_MAX_ 2147483647
724// TCE:WCHAR_MIN_ (-2147483647 -1)
725//
Ken Dyck6ab25f42009-11-17 13:54:02 +0000726// TCE:INT8_C_(0) 0
727// TCE:UINT8_C_(0) 0U
728// TCE:INT16_C_(0) 0
729// TCE:UINT16_C_(0) 0U
730// TCE:INT32_C_(0) 0
731// TCE:UINT32_C_(0) 0U
Chris Lattnerbceaf862009-10-29 04:55:36 +0000732// TCE:INT64_C_(0) INT64_C(0)
733// TCE:UINT64_C_(0) UINT64_C(0)
734//
Ken Dyck832b7102009-11-18 19:42:57 +0000735// TCE:INTMAX_C_(0) 0
736// TCE:UINTMAX_C_(0) 0U
Chris Lattnerbceaf862009-10-29 04:55:36 +0000737//
Daniel Dunbara5728872009-12-15 20:14:24 +0000738// RUN: %clang_cc1 -E -ffreestanding -triple=x86_64-none-none %s | FileCheck -check-prefix X86_64 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000739//
Chris Lattner06dcf6b2009-11-04 23:03:18 +0000740//
Chris Lattnerdcdd2a02009-11-12 08:08:27 +0000741// X86_64:typedef signed long int int64_t;
Chris Lattner06dcf6b2009-11-04 23:03:18 +0000742// X86_64:typedef unsigned long int uint64_t;
743// X86_64:typedef int64_t int_least64_t;
744// X86_64:typedef uint64_t uint_least64_t;
745// X86_64:typedef int64_t int_fast64_t;
746// X86_64:typedef uint64_t uint_fast64_t;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000747//
Chris Lattnerdcdd2a02009-11-12 08:08:27 +0000748// X86_64:typedef signed int int32_t;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000749// X86_64:typedef unsigned int uint32_t;
750// X86_64:typedef int32_t int_least32_t;
751// X86_64:typedef uint32_t uint_least32_t;
752// X86_64:typedef int32_t int_fast32_t;
753// X86_64:typedef uint32_t uint_fast32_t;
754//
Chris Lattnerdcdd2a02009-11-12 08:08:27 +0000755// X86_64:typedef signed short int16_t;
Chris Lattner06dcf6b2009-11-04 23:03:18 +0000756// X86_64:typedef unsigned short uint16_t;
757// X86_64:typedef int16_t int_least16_t;
758// X86_64:typedef uint16_t uint_least16_t;
759// X86_64:typedef int16_t int_fast16_t;
760// X86_64:typedef uint16_t uint_fast16_t;
761//
762// X86_64:typedef signed char int8_t;
763// X86_64:typedef unsigned char uint8_t;
764// X86_64:typedef int8_t int_least8_t;
765// X86_64:typedef uint8_t uint_least8_t;
766// X86_64:typedef int8_t int_fast8_t;
767// X86_64:typedef uint8_t uint_fast8_t;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000768//
Ken Dyck08321b42009-11-18 20:24:13 +0000769// X86_64:typedef int64_t intptr_t;
770// X86_64:typedef uint64_t uintptr_t;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000771//
Daniel Dunbar96d38c12010-06-30 06:30:50 +0000772// X86_64:typedef long int intmax_t;
773// X86_64:typedef long unsigned int uintmax_t;
Chris Lattnerbceaf862009-10-29 04:55:36 +0000774//
775// X86_64:INT8_MAX_ 127
Ken Dyckb0887562009-11-17 18:29:12 +0000776// X86_64:INT8_MIN_ (-127 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000777// X86_64:UINT8_MAX_ 255
Ken Dyckb0887562009-11-17 18:29:12 +0000778// X86_64:INT_LEAST8_MIN_ (-127 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000779// X86_64:INT_LEAST8_MAX_ 127
780// X86_64:UINT_LEAST8_MAX_ 255
Ken Dyckb0887562009-11-17 18:29:12 +0000781// X86_64:INT_FAST8_MIN_ (-127 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000782// X86_64:INT_FAST8_MAX_ 127
783// X86_64:UINT_FAST8_MAX_ 255
784//
785// X86_64:INT16_MAX_ 32767
Ken Dyckb0887562009-11-17 18:29:12 +0000786// X86_64:INT16_MIN_ (-32767 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000787// X86_64:UINT16_MAX_ 65535
Ken Dyckb0887562009-11-17 18:29:12 +0000788// X86_64:INT_LEAST16_MIN_ (-32767 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000789// X86_64:INT_LEAST16_MAX_ 32767
790// X86_64:UINT_LEAST16_MAX_ 65535
Ken Dyckb0887562009-11-17 18:29:12 +0000791// X86_64:INT_FAST16_MIN_ (-32767 -1)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000792// X86_64:INT_FAST16_MAX_ 32767
793// X86_64:UINT_FAST16_MAX_ 65535
794//
795// X86_64:INT32_MAX_ 2147483647
796// X86_64:INT32_MIN_ (-2147483647 -1)
797// X86_64:UINT32_MAX_ 4294967295U
798// X86_64:INT_LEAST32_MIN_ (-2147483647 -1)
799// X86_64:INT_LEAST32_MAX_ 2147483647
800// X86_64:UINT_LEAST32_MAX_ 4294967295U
801// X86_64:INT_FAST32_MIN_ (-2147483647 -1)
802// X86_64:INT_FAST32_MAX_ 2147483647
803// X86_64:UINT_FAST32_MAX_ 4294967295U
804//
Ken Dyck81638412009-11-17 16:26:27 +0000805// X86_64:INT64_MAX_ 9223372036854775807L
806// X86_64:INT64_MIN_ (-9223372036854775807L -1)
807// X86_64:UINT64_MAX_ 18446744073709551615UL
808// X86_64:INT_LEAST64_MIN_ (-9223372036854775807L -1)
809// X86_64:INT_LEAST64_MAX_ 9223372036854775807L
810// X86_64:UINT_LEAST64_MAX_ 18446744073709551615UL
811// X86_64:INT_FAST64_MIN_ (-9223372036854775807L -1)
812// X86_64:INT_FAST64_MAX_ 9223372036854775807L
813// X86_64:UINT_FAST64_MAX_ 18446744073709551615UL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000814//
Ken Dyck81638412009-11-17 16:26:27 +0000815// X86_64:INTPTR_MIN_ (-9223372036854775807L -1)
816// X86_64:INTPTR_MAX_ 9223372036854775807L
817// X86_64:UINTPTR_MAX_ 18446744073709551615UL
818// X86_64:PTRDIFF_MIN_ (-9223372036854775807L -1)
819// X86_64:PTRDIFF_MAX_ 9223372036854775807L
820// X86_64:SIZE_MAX_ 18446744073709551615UL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000821//
822// X86_64:INTMAX_MIN_ (-9223372036854775807L -1)
823// X86_64:INTMAX_MAX_ 9223372036854775807L
Ken Dyckdb57ce52009-11-18 19:22:15 +0000824// X86_64:UINTMAX_MAX_ 18446744073709551615UL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000825//
826// X86_64:SIG_ATOMIC_MIN_ (-2147483647 -1)
827// X86_64:SIG_ATOMIC_MAX_ 2147483647
828// X86_64:WINT_MIN_ (-2147483647 -1)
829// X86_64:WINT_MAX_ 2147483647
830//
831// X86_64:WCHAR_MAX_ 2147483647
832// X86_64:WCHAR_MIN_ (-2147483647 -1)
833//
Ken Dyck6ab25f42009-11-17 13:54:02 +0000834// X86_64:INT8_C_(0) 0
835// X86_64:UINT8_C_(0) 0U
836// X86_64:INT16_C_(0) 0
837// X86_64:UINT16_C_(0) 0U
838// X86_64:INT32_C_(0) 0
839// X86_64:UINT32_C_(0) 0U
840// X86_64:INT64_C_(0) 0L
841// X86_64:UINT64_C_(0) 0UL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000842//
Ken Dyck832b7102009-11-18 19:42:57 +0000843// X86_64:INTMAX_C_(0) 0L
844// X86_64:UINTMAX_C_(0) 0UL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000845//
Ken Dyckaface1b2009-11-20 16:37:35 +0000846//
Eli Friedman1cfeefd2011-04-21 05:45:45 +0000847// RUN: %clang_cc1 -E -ffreestanding -triple=x86_64-pc-linux-gnu %s | FileCheck -check-prefix X86_64_LINUX %s
848//
Eli Friedman277d1e12011-04-30 19:02:59 +0000849// X86_64_LINUX:WINT_MIN_ 0U
Eli Friedman1cfeefd2011-04-21 05:45:45 +0000850// X86_64_LINUX:WINT_MAX_ 4294967295U
851//
852//
Eli Friedman277d1e12011-04-30 19:02:59 +0000853// RUN: %clang_cc1 -E -ffreestanding -triple=i386-mingw32 %s | FileCheck -check-prefix I386_MINGW32 %s
854//
855// I386_MINGW32:WCHAR_MAX_ 65535U
856// I386_MINGW32:WCHAR_MIN_ 0U
857//
858//
Ken Dyckaface1b2009-11-20 16:37:35 +0000859// stdint.h forms several macro definitions by pasting together identifiers
860// to form names (eg. int32_t is formed from int ## 32 ## _t). The following
861// case tests that these joining operations are performed correctly even if
862// the identifiers used in the operations (int, uint, _t, INT, UINT, _MIN,
863// _MAX, and _C(v)) are themselves macros.
864//
Daniel Dunbar96d38c12010-06-30 06:30:50 +0000865// 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
Ken Dyckaface1b2009-11-20 16:37:35 +0000866// JOIN:typedef int32_t intptr_t;
867// JOIN:typedef uint32_t uintptr_t;
Daniel Dunbar96d38c12010-06-30 06:30:50 +0000868// JOIN:typedef __INTMAX_TYPE__ intmax_t;
869// JOIN:typedef __UINTMAX_TYPE__ uintmax_t;
Ken Dycka2e92842009-11-20 16:44:38 +0000870// JOIN:INTPTR_MIN_ (-2147483647 -1)
871// JOIN:INTPTR_MAX_ 2147483647
872// JOIN:UINTPTR_MAX_ 4294967295U
873// JOIN:PTRDIFF_MIN_ (-2147483647 -1)
874// JOIN:PTRDIFF_MAX_ 2147483647
875// JOIN:SIZE_MAX_ 4294967295U
876// JOIN:INTMAX_MIN_ (-9223372036854775807LL -1)
877// JOIN:INTMAX_MAX_ 9223372036854775807LL
878// JOIN:UINTMAX_MAX_ 18446744073709551615ULL
879// JOIN:SIG_ATOMIC_MIN_ (-2147483647 -1)
880// JOIN:SIG_ATOMIC_MAX_ 2147483647
881// JOIN:WINT_MIN_ (-2147483647 -1)
882// JOIN:WINT_MAX_ 2147483647
883// JOIN:WCHAR_MAX_ 2147483647
884// JOIN:WCHAR_MIN_ (-2147483647 -1)
Ken Dyckfdb43242009-11-20 16:49:10 +0000885// JOIN:INTMAX_C_(0) 0LL
886// JOIN:UINTMAX_C_(0) 0ULL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000887
888#include <stdint.h>
889
890INT8_MAX_ INT8_MAX
891INT8_MIN_ INT8_MIN
892UINT8_MAX_ UINT8_MAX
893INT_LEAST8_MIN_ INT_LEAST8_MIN
894INT_LEAST8_MAX_ INT_LEAST8_MAX
895UINT_LEAST8_MAX_ UINT_LEAST8_MAX
896INT_FAST8_MIN_ INT_FAST8_MIN
897INT_FAST8_MAX_ INT_FAST8_MAX
898UINT_FAST8_MAX_ UINT_FAST8_MAX
899
900INT16_MAX_ INT16_MAX
901INT16_MIN_ INT16_MIN
902UINT16_MAX_ UINT16_MAX
903INT_LEAST16_MIN_ INT_LEAST16_MIN
904INT_LEAST16_MAX_ INT_LEAST16_MAX
905UINT_LEAST16_MAX_ UINT_LEAST16_MAX
906INT_FAST16_MIN_ INT_FAST16_MIN
907INT_FAST16_MAX_ INT_FAST16_MAX
908UINT_FAST16_MAX_ UINT_FAST16_MAX
909
910INT32_MAX_ INT32_MAX
911INT32_MIN_ INT32_MIN
912UINT32_MAX_ UINT32_MAX
913INT_LEAST32_MIN_ INT_LEAST32_MIN
914INT_LEAST32_MAX_ INT_LEAST32_MAX
915UINT_LEAST32_MAX_ UINT_LEAST32_MAX
916INT_FAST32_MIN_ INT_FAST32_MIN
917INT_FAST32_MAX_ INT_FAST32_MAX
918UINT_FAST32_MAX_ UINT_FAST32_MAX
919
920INT64_MAX_ INT64_MAX
921INT64_MIN_ INT64_MIN
922UINT64_MAX_ UINT64_MAX
923INT_LEAST64_MIN_ INT_LEAST64_MIN
924INT_LEAST64_MAX_ INT_LEAST64_MAX
925UINT_LEAST64_MAX_ UINT_LEAST64_MAX
926INT_FAST64_MIN_ INT_FAST64_MIN
927INT_FAST64_MAX_ INT_FAST64_MAX
928UINT_FAST64_MAX_ UINT_FAST64_MAX
929
930INTPTR_MIN_ INTPTR_MIN
931INTPTR_MAX_ INTPTR_MAX
932UINTPTR_MAX_ UINTPTR_MAX
933PTRDIFF_MIN_ PTRDIFF_MIN
934PTRDIFF_MAX_ PTRDIFF_MAX
935SIZE_MAX_ SIZE_MAX
936
937INTMAX_MIN_ INTMAX_MIN
938INTMAX_MAX_ INTMAX_MAX
939UINTMAX_MAX_ UINTMAX_MAX
940
941SIG_ATOMIC_MIN_ SIG_ATOMIC_MIN
942SIG_ATOMIC_MAX_ SIG_ATOMIC_MAX
943WINT_MIN_ WINT_MIN
944WINT_MAX_ WINT_MAX
945
946WCHAR_MAX_ WCHAR_MAX
947WCHAR_MIN_ WCHAR_MIN
948
949INT8_C_(0) INT8_C(0)
950UINT8_C_(0) UINT8_C(0)
951INT16_C_(0) INT16_C(0)
952UINT16_C_(0) UINT16_C(0)
953INT32_C_(0) INT32_C(0)
954UINT32_C_(0) UINT32_C(0)
955INT64_C_(0) INT64_C(0)
956UINT64_C_(0) UINT64_C(0)
957
958INTMAX_C_(0) INTMAX_C(0)
959UINTMAX_C_(0) UINTMAX_C(0)