1// RUN: %clang_cc1 -E -dM -x assembler-with-cpp < /dev/null | FileCheck -check-prefix ASM %s
2//
3// ASM:#define __ASSEMBLER__ 1
4//
5//
6// RUN: %clang_cc1 -fblocks -E -dM < /dev/null | FileCheck -check-prefix BLOCKS %s
7//
8// BLOCKS:#define __BLOCKS__ 1
9// BLOCKS:#define __block __attribute__((__blocks__(byref)))
10//
11//
12// RUN: %clang_cc1 -x c++ -std=c++1z -E -dM < /dev/null | FileCheck -check-prefix CXX1Z %s
13//
14// CXX1Z:#define __GNUG__
15// CXX1Z:#define __GXX_EXPERIMENTAL_CXX0X__ 1
16// CXX1Z:#define __GXX_RTTI 1
17// CXX1Z:#define __GXX_WEAK__ 1
18// CXX1Z:#define __cplusplus 201406L
19// CXX1Z:#define __private_extern__ extern
20//
21//
22// RUN: %clang_cc1 -x c++ -std=c++1y -E -dM < /dev/null | FileCheck -check-prefix CXX1Y %s
23//
24// CXX1Y:#define __GNUG__
25// CXX1Y:#define __GXX_EXPERIMENTAL_CXX0X__ 1
26// CXX1Y:#define __GXX_RTTI 1
27// CXX1Y:#define __GXX_WEAK__ 1
28// CXX1Y:#define __cplusplus 201402L
29// CXX1Y:#define __private_extern__ extern
30//
31//
32// RUN: %clang_cc1 -x c++ -std=c++11 -E -dM < /dev/null | FileCheck -check-prefix CXX11 %s
33//
34// CXX11:#define __GNUG__
35// CXX11:#define __GXX_EXPERIMENTAL_CXX0X__ 1
36// CXX11:#define __GXX_RTTI 1
37// CXX11:#define __GXX_WEAK__ 1
38// CXX11:#define __cplusplus 201103L
39// CXX11:#define __private_extern__ extern
40//
41//
42// RUN: %clang_cc1 -x c++ -std=c++98 -E -dM < /dev/null | FileCheck -check-prefix CXX98 %s
43//
44// CXX98:#define __GNUG__
45// CXX98:#define __GXX_RTTI 1
46// CXX98:#define __GXX_WEAK__ 1
47// CXX98:#define __cplusplus 199711L
48// CXX98:#define __private_extern__ extern
49//
50//
51// RUN: %clang_cc1 -fdeprecated-macro -E -dM < /dev/null | FileCheck -check-prefix DEPRECATED %s
52//
53// DEPRECATED:#define __DEPRECATED 1
54//
55//
56// RUN: %clang_cc1 -std=c99 -E -dM < /dev/null | FileCheck -check-prefix C99 %s
57//
58// C99:#define __STDC_VERSION__ 199901L
59// C99:#define __STRICT_ANSI__ 1
60//
61//
62// RUN: %clang_cc1 -std=c11 -E -dM < /dev/null | FileCheck -check-prefix C11 %s
63//
64// C11:#define __STDC_UTF_16__ 1
65// C11:#define __STDC_UTF_32__ 1
66// C11:#define __STDC_VERSION__ 201112L
67// C11:#define __STRICT_ANSI__ 1
68//
69//
70// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix COMMON %s
71//
72// COMMON:#define __CONSTANT_CFSTRINGS__ 1
73// COMMON:#define __FINITE_MATH_ONLY__ 0
74// COMMON:#define __GNUC_MINOR__
75// COMMON:#define __GNUC_PATCHLEVEL__
76// COMMON:#define __GNUC_STDC_INLINE__ 1
77// COMMON:#define __GNUC__
78// COMMON:#define __GXX_ABI_VERSION
79// COMMON:#define __ORDER_BIG_ENDIAN__ 4321
80// COMMON:#define __ORDER_LITTLE_ENDIAN__ 1234
81// COMMON:#define __ORDER_PDP_ENDIAN__ 3412
82// COMMON:#define __STDC_HOSTED__ 1
83// COMMON:#define __STDC_VERSION__
84// COMMON:#define __STDC__ 1
85// COMMON:#define __VERSION__
86// COMMON:#define __clang__ 1
87// COMMON:#define __clang_major__ {{[0-9]+}}
88// COMMON:#define __clang_minor__ {{[0-9]+}}
89// COMMON:#define __clang_patchlevel__ {{[0-9]+}}
90// COMMON:#define __clang_version__
91// COMMON:#define __llvm__ 1
92//
93//
94// RUN: %clang_cc1 -ffreestanding -E -dM < /dev/null | FileCheck -check-prefix FREESTANDING %s
95// FREESTANDING:#define __STDC_HOSTED__ 0
96//
97//
98// RUN: %clang_cc1 -x c++ -std=gnu++1z -E -dM < /dev/null | FileCheck -check-prefix GXX1Z %s
99//
100// GXX1Z:#define __GNUG__
101// GXX1Z:#define __GXX_WEAK__ 1
102// GXX1Z:#define __cplusplus 201406L
103// GXX1Z:#define __private_extern__ extern
104//
105//
106// RUN: %clang_cc1 -x c++ -std=gnu++1y -E -dM < /dev/null | FileCheck -check-prefix GXX1Y %s
107//
108// GXX1Y:#define __GNUG__
109// GXX1Y:#define __GXX_WEAK__ 1
110// GXX1Y:#define __cplusplus 201402L
111// GXX1Y:#define __private_extern__ extern
112//
113//
114// RUN: %clang_cc1 -x c++ -std=gnu++11 -E -dM < /dev/null | FileCheck -check-prefix GXX11 %s
115//
116// GXX11:#define __GNUG__
117// GXX11:#define __GXX_WEAK__ 1
118// GXX11:#define __cplusplus 201103L
119// GXX11:#define __private_extern__ extern
120//
121//
122// RUN: %clang_cc1 -x c++ -std=gnu++98 -E -dM < /dev/null | FileCheck -check-prefix GXX98 %s
123//
124// GXX98:#define __GNUG__
125// GXX98:#define __GXX_WEAK__ 1
126// GXX98:#define __cplusplus 199711L
127// GXX98:#define __private_extern__ extern
128//
129//
130// RUN: %clang_cc1 -std=iso9899:199409 -E -dM < /dev/null | FileCheck -check-prefix C94 %s
131//
132// C94:#define __STDC_VERSION__ 199409L
133//
134//
135// RUN: %clang_cc1 -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT %s
136//
137// MSEXT-NOT:#define __STDC__
138// MSEXT:#define _INTEGRAL_MAX_BITS 64
139// MSEXT-NOT:#define _NATIVE_WCHAR_T_DEFINED 1
140// MSEXT-NOT:#define _WCHAR_T_DEFINED 1
141//
142//
143// RUN: %clang_cc1 -x c++ -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT-CXX %s
144//
145// MSEXT-CXX:#define _NATIVE_WCHAR_T_DEFINED 1
146// MSEXT-CXX:#define _WCHAR_T_DEFINED 1
147//
148//
149// RUN: %clang_cc1 -x c++ -fno-wchar -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT-CXX-NOWCHAR %s
150//
151// MSEXT-CXX-NOWCHAR-NOT:#define _NATIVE_WCHAR_T_DEFINED 1
152// MSEXT-CXX-NOWCHAR-NOT:#define _WCHAR_T_DEFINED 1
153//
154//
155// RUN: %clang_cc1 -x objective-c -E -dM < /dev/null | FileCheck -check-prefix OBJC %s
156//
157// OBJC:#define OBJC_NEW_PROPERTIES 1
158// OBJC:#define __NEXT_RUNTIME__ 1
159// OBJC:#define __OBJC__ 1
160//
161//
162// RUN: %clang_cc1 -x objective-c -fobjc-gc -E -dM < /dev/null | FileCheck -check-prefix OBJCGC %s
163//
164// OBJCGC:#define __OBJC_GC__ 1
165//
166//
167// RUN: %clang_cc1 -x objective-c -fobjc-exceptions -E -dM < /dev/null | FileCheck -check-prefix NONFRAGILE %s
168//
169// NONFRAGILE:#define OBJC_ZEROCOST_EXCEPTIONS 1
170// NONFRAGILE:#define __OBJC2__ 1
171//
172//
173// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix O0 %s
174//
175// O0:#define __NO_INLINE__ 1
176// O0-NOT:#define __OPTIMIZE_SIZE__
177// O0-NOT:#define __OPTIMIZE__
178//
179//
180// RUN: %clang_cc1 -fno-inline -O3 -E -dM < /dev/null | FileCheck -check-prefix NO_INLINE %s
181//
182// NO_INLINE:#define __NO_INLINE__ 1
183// NO_INLINE-NOT:#define __OPTIMIZE_SIZE__
184// NO_INLINE:#define __OPTIMIZE__
185//
186//
187// RUN: %clang_cc1 -O1 -E -dM < /dev/null | FileCheck -check-prefix O1 %s
188//
189// O1-NOT:#define __OPTIMIZE_SIZE__
190// O1:#define __OPTIMIZE__ 1
191//
192//
193// RUN: %clang_cc1 -Os -E -dM < /dev/null | FileCheck -check-prefix Os %s
194//
195// Os:#define __OPTIMIZE_SIZE__ 1
196// Os:#define __OPTIMIZE__ 1
197//
198//
199// RUN: %clang_cc1 -Oz -E -dM < /dev/null | FileCheck -check-prefix Oz %s
200//
201// Oz:#define __OPTIMIZE_SIZE__ 1
202// Oz:#define __OPTIMIZE__ 1
203//
204//
205// RUN: %clang_cc1 -fpascal-strings -E -dM < /dev/null | FileCheck -check-prefix PASCAL %s
206//
207// PASCAL:#define __PASCAL_STRINGS__ 1
208//
209//
210// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix SCHAR %s
211//
212// SCHAR:#define __STDC__ 1
213// SCHAR-NOT:#define __UNSIGNED_CHAR__
214// SCHAR:#define __clang__ 1
215//
216// RUN: %clang_cc1 -E -dM -fshort-wchar < /dev/null | FileCheck -check-prefix SHORTWCHAR %s
217// wchar_t is u16 for targeting Win32.
218// FIXME: Implement and check x86_64-cygwin.
219// RUN: %clang_cc1 -E -dM -fno-short-wchar -triple=x86_64-w64-mingw32 < /dev/null | FileCheck -check-prefix SHORTWCHAR %s
220//
221// SHORTWCHAR: #define __SIZEOF_WCHAR_T__ 2
222// SHORTWCHAR: #define __WCHAR_MAX__ 65535U
223// SHORTWCHAR: #define __WCHAR_TYPE__ unsigned short
224// SHORTWCHAR: #define __WCHAR_WIDTH__ 16
225//
226// RUN: %clang_cc1 -E -dM -fno-short-wchar -triple=i686-unknown-unknown < /dev/null | FileCheck -check-prefix SHORTWCHAR2 %s
227// RUN: %clang_cc1 -E -dM -fno-short-wchar -triple=x86_64-unknown-unknown < /dev/null | FileCheck -check-prefix SHORTWCHAR2 %s
228//
229// SHORTWCHAR2: #define __SIZEOF_WCHAR_T__ 4
230// SHORTWCHAR2: #define __WCHAR_WIDTH__ 32
231// Other definitions vary from platform to platform
232
233// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-none-none < /dev/null | FileCheck -check-prefix AARCH64 %s
234// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm64-none-none < /dev/null | FileCheck -check-prefix AARCH64 %s
235//
236// AARCH64:#define _LP64 1
237// AARCH64-NOT:#define __AARCH64EB__ 1
238// AARCH64:#define __AARCH64EL__ 1
239// AARCH64-NOT:#define __AARCH_BIG_ENDIAN 1
240// AARCH64:#define __ARM_64BIT_STATE 1
241// AARCH64:#define __ARM_ARCH 8
242// AARCH64:#define __ARM_ARCH_ISA_A64 1
243// AARCH64-NOT:#define __ARM_BIG_ENDIAN 1
244// AARCH64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
245// AARCH64:#define __CHAR16_TYPE__ unsigned short
246// AARCH64:#define __CHAR32_TYPE__ unsigned int
247// AARCH64:#define __CHAR_BIT__ 8
248// AARCH64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
249// AARCH64:#define __DBL_DIG__ 15
250// AARCH64:#define __DBL_EPSILON__ 2.2204460492503131e-16
251// AARCH64:#define __DBL_HAS_DENORM__ 1
252// AARCH64:#define __DBL_HAS_INFINITY__ 1
253// AARCH64:#define __DBL_HAS_QUIET_NAN__ 1
254// AARCH64:#define __DBL_MANT_DIG__ 53
255// AARCH64:#define __DBL_MAX_10_EXP__ 308
256// AARCH64:#define __DBL_MAX_EXP__ 1024
257// AARCH64:#define __DBL_MAX__ 1.7976931348623157e+308
258// AARCH64:#define __DBL_MIN_10_EXP__ (-307)
259// AARCH64:#define __DBL_MIN_EXP__ (-1021)
260// AARCH64:#define __DBL_MIN__ 2.2250738585072014e-308
261// AARCH64:#define __DECIMAL_DIG__ 36
262// AARCH64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
263// AARCH64:#define __FLT_DIG__ 6
264// AARCH64:#define __FLT_EPSILON__ 1.19209290e-7F
265// AARCH64:#define __FLT_EVAL_METHOD__ 0
266// AARCH64:#define __FLT_HAS_DENORM__ 1
267// AARCH64:#define __FLT_HAS_INFINITY__ 1
268// AARCH64:#define __FLT_HAS_QUIET_NAN__ 1
269// AARCH64:#define __FLT_MANT_DIG__ 24
270// AARCH64:#define __FLT_MAX_10_EXP__ 38
271// AARCH64:#define __FLT_MAX_EXP__ 128
272// AARCH64:#define __FLT_MAX__ 3.40282347e+38F
273// AARCH64:#define __FLT_MIN_10_EXP__ (-37)
274// AARCH64:#define __FLT_MIN_EXP__ (-125)
275// AARCH64:#define __FLT_MIN__ 1.17549435e-38F
276// AARCH64:#define __FLT_RADIX__ 2
277// AARCH64:#define __INT16_MAX__ 32767
278// AARCH64:#define __INT16_TYPE__ short
279// AARCH64:#define __INT32_MAX__ 2147483647
280// AARCH64:#define __INT32_TYPE__ int
281// AARCH64:#define __INT64_C_SUFFIX__ L
282// AARCH64:#define __INT64_MAX__ 9223372036854775807L
283// AARCH64:#define __INT64_TYPE__ long int
284// AARCH64:#define __INT8_MAX__ 127
285// AARCH64:#define __INT8_TYPE__ char
286// AARCH64:#define __INTMAX_MAX__ 9223372036854775807L
287// AARCH64:#define __INTMAX_TYPE__ long int
288// AARCH64:#define __INTMAX_WIDTH__ 64
289// AARCH64:#define __INTPTR_MAX__ 9223372036854775807L
290// AARCH64:#define __INTPTR_TYPE__ long int
291// AARCH64:#define __INTPTR_WIDTH__ 64
292// AARCH64:#define __INT_FAST16_MAX__ 32767
293// AARCH64:#define __INT_FAST16_TYPE__ short
294// AARCH64:#define __INT_FAST32_MAX__ 2147483647
295// AARCH64:#define __INT_FAST32_TYPE__ int
296// AARCH64:#define __INT_FAST64_MAX__ 9223372036854775807L
297// AARCH64:#define __INT_FAST64_TYPE__ long int
298// AARCH64:#define __INT_FAST8_MAX__ 127
299// AARCH64:#define __INT_FAST8_TYPE__ char
300// AARCH64:#define __INT_LEAST16_MAX__ 32767
301// AARCH64:#define __INT_LEAST16_TYPE__ short
302// AARCH64:#define __INT_LEAST32_MAX__ 2147483647
303// AARCH64:#define __INT_LEAST32_TYPE__ int
304// AARCH64:#define __INT_LEAST64_MAX__ 9223372036854775807L
305// AARCH64:#define __INT_LEAST64_TYPE__ long int
306// AARCH64:#define __INT_LEAST8_MAX__ 127
307// AARCH64:#define __INT_LEAST8_TYPE__ char
308// AARCH64:#define __INT_MAX__ 2147483647
309// AARCH64:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
310// AARCH64:#define __LDBL_DIG__ 33
311// AARCH64:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
312// AARCH64:#define __LDBL_HAS_DENORM__ 1
313// AARCH64:#define __LDBL_HAS_INFINITY__ 1
314// AARCH64:#define __LDBL_HAS_QUIET_NAN__ 1
315// AARCH64:#define __LDBL_MANT_DIG__ 113
316// AARCH64:#define __LDBL_MAX_10_EXP__ 4932
317// AARCH64:#define __LDBL_MAX_EXP__ 16384
318// AARCH64:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
319// AARCH64:#define __LDBL_MIN_10_EXP__ (-4931)
320// AARCH64:#define __LDBL_MIN_EXP__ (-16381)
321// AARCH64:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
322// AARCH64:#define __LONG_LONG_MAX__ 9223372036854775807LL
323// AARCH64:#define __LONG_MAX__ 9223372036854775807L
324// AARCH64:#define __LP64__ 1
325// AARCH64:#define __POINTER_WIDTH__ 64
326// AARCH64:#define __PTRDIFF_TYPE__ long int
327// AARCH64:#define __PTRDIFF_WIDTH__ 64
328// AARCH64:#define __SCHAR_MAX__ 127
329// AARCH64:#define __SHRT_MAX__ 32767
330// AARCH64:#define __SIG_ATOMIC_WIDTH__ 32
331// AARCH64:#define __SIZEOF_DOUBLE__ 8
332// AARCH64:#define __SIZEOF_FLOAT__ 4
333// AARCH64:#define __SIZEOF_INT128__ 16
334// AARCH64:#define __SIZEOF_INT__ 4
335// AARCH64:#define __SIZEOF_LONG_DOUBLE__ 16
336// AARCH64:#define __SIZEOF_LONG_LONG__ 8
337// AARCH64:#define __SIZEOF_LONG__ 8
338// AARCH64:#define __SIZEOF_POINTER__ 8
339// AARCH64:#define __SIZEOF_PTRDIFF_T__ 8
340// AARCH64:#define __SIZEOF_SHORT__ 2
341// AARCH64:#define __SIZEOF_SIZE_T__ 8
342// AARCH64:#define __SIZEOF_WCHAR_T__ 4
343// AARCH64:#define __SIZEOF_WINT_T__ 4
344// AARCH64:#define __SIZE_MAX__ 18446744073709551615UL
345// AARCH64:#define __SIZE_TYPE__ long unsigned int
346// AARCH64:#define __SIZE_WIDTH__ 64
347// AARCH64:#define __UINT16_C_SUFFIX__ U
348// AARCH64:#define __UINT16_MAX__ 65535U
349// AARCH64:#define __UINT16_TYPE__ unsigned short
350// AARCH64:#define __UINT32_C_SUFFIX__ U
351// AARCH64:#define __UINT32_MAX__ 4294967295U
352// AARCH64:#define __UINT32_TYPE__ unsigned int
353// AARCH64:#define __UINT64_C_SUFFIX__ UL
354// AARCH64:#define __UINT64_MAX__ 18446744073709551615UL
355// AARCH64:#define __UINT64_TYPE__ long unsigned int
356// AARCH64:#define __UINT8_C_SUFFIX__ U
357// AARCH64:#define __UINT8_MAX__ 255U
358// AARCH64:#define __UINT8_TYPE__ unsigned char
359// AARCH64:#define __UINTMAX_MAX__ 18446744073709551615UL
360// AARCH64:#define __UINTMAX_TYPE__ long unsigned int
361// AARCH64:#define __UINTMAX_WIDTH__ 64
362// AARCH64:#define __UINTPTR_MAX__ 18446744073709551615UL
363// AARCH64:#define __UINTPTR_TYPE__ long unsigned int
364// AARCH64:#define __UINTPTR_WIDTH__ 64
365// AARCH64:#define __UINT_FAST16_MAX__ 65535U
366// AARCH64:#define __UINT_FAST16_TYPE__ unsigned short
367// AARCH64:#define __UINT_FAST32_MAX__ 4294967295U
368// AARCH64:#define __UINT_FAST32_TYPE__ unsigned int
369// AARCH64:#define __UINT_FAST64_MAX__ 18446744073709551615UL
370// AARCH64:#define __UINT_FAST64_TYPE__ long unsigned int
371// AARCH64:#define __UINT_FAST8_MAX__ 255U
372// AARCH64:#define __UINT_FAST8_TYPE__ unsigned char
373// AARCH64:#define __UINT_LEAST16_MAX__ 65535U
374// AARCH64:#define __UINT_LEAST16_TYPE__ unsigned short
375// AARCH64:#define __UINT_LEAST32_MAX__ 4294967295U
376// AARCH64:#define __UINT_LEAST32_TYPE__ unsigned int
377// AARCH64:#define __UINT_LEAST64_MAX__ 18446744073709551615UL
378// AARCH64:#define __UINT_LEAST64_TYPE__ long unsigned int
379// AARCH64:#define __UINT_LEAST8_MAX__ 255U
380// AARCH64:#define __UINT_LEAST8_TYPE__ unsigned char
381// AARCH64:#define __USER_LABEL_PREFIX__ _
382// AARCH64:#define __WCHAR_MAX__ 4294967295U
383// AARCH64:#define __WCHAR_TYPE__ unsigned int
384// AARCH64:#define __WCHAR_UNSIGNED__ 1
385// AARCH64:#define __WCHAR_WIDTH__ 32
386// AARCH64:#define __WINT_TYPE__ int
387// AARCH64:#define __WINT_WIDTH__ 32
388// AARCH64:#define __aarch64__ 1
389//
390// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64_be-none-none < /dev/null | FileCheck -check-prefix AARCH64-BE %s
391// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm64_be-none-none < /dev/null | FileCheck -check-prefix AARCH64-BE %s
392//
393// AARCH64-BE:#define _LP64 1
394// AARCH64-BE:#define __AARCH64EB__ 1
395// AARCH64-BE-NOT:#define __AARCH64EL__ 1
396// AARCH64-BE:#define __AARCH_BIG_ENDIAN 1
397// AARCH64-BE:#define __ARM_64BIT_STATE 1
398// AARCH64-BE:#define __ARM_ARCH 8
399// AARCH64-BE:#define __ARM_ARCH_ISA_A64 1
400// AARCH64-BE:#define __ARM_BIG_ENDIAN 1
401// AARCH64-BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
402// AARCH64-BE:#define __CHAR16_TYPE__ unsigned short
403// AARCH64-BE:#define __CHAR32_TYPE__ unsigned int
404// AARCH64-BE:#define __CHAR_BIT__ 8
405// AARCH64-BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
406// AARCH64-BE:#define __DBL_DIG__ 15
407// AARCH64-BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
408// AARCH64-BE:#define __DBL_HAS_DENORM__ 1
409// AARCH64-BE:#define __DBL_HAS_INFINITY__ 1
410// AARCH64-BE:#define __DBL_HAS_QUIET_NAN__ 1
411// AARCH64-BE:#define __DBL_MANT_DIG__ 53
412// AARCH64-BE:#define __DBL_MAX_10_EXP__ 308
413// AARCH64-BE:#define __DBL_MAX_EXP__ 1024
414// AARCH64-BE:#define __DBL_MAX__ 1.7976931348623157e+308
415// AARCH64-BE:#define __DBL_MIN_10_EXP__ (-307)
416// AARCH64-BE:#define __DBL_MIN_EXP__ (-1021)
417// AARCH64-BE:#define __DBL_MIN__ 2.2250738585072014e-308
418// AARCH64-BE:#define __DECIMAL_DIG__ 36
419// AARCH64-BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
420// AARCH64-BE:#define __FLT_DIG__ 6
421// AARCH64-BE:#define __FLT_EPSILON__ 1.19209290e-7F
422// AARCH64-BE:#define __FLT_EVAL_METHOD__ 0
423// AARCH64-BE:#define __FLT_HAS_DENORM__ 1
424// AARCH64-BE:#define __FLT_HAS_INFINITY__ 1
425// AARCH64-BE:#define __FLT_HAS_QUIET_NAN__ 1
426// AARCH64-BE:#define __FLT_MANT_DIG__ 24
427// AARCH64-BE:#define __FLT_MAX_10_EXP__ 38
428// AARCH64-BE:#define __FLT_MAX_EXP__ 128
429// AARCH64-BE:#define __FLT_MAX__ 3.40282347e+38F
430// AARCH64-BE:#define __FLT_MIN_10_EXP__ (-37)
431// AARCH64-BE:#define __FLT_MIN_EXP__ (-125)
432// AARCH64-BE:#define __FLT_MIN__ 1.17549435e-38F
433// AARCH64-BE:#define __FLT_RADIX__ 2
434// AARCH64-BE:#define __INT16_MAX__ 32767
435// AARCH64-BE:#define __INT16_TYPE__ short
436// AARCH64-BE:#define __INT32_MAX__ 2147483647
437// AARCH64-BE:#define __INT32_TYPE__ int
438// AARCH64-BE:#define __INT64_C_SUFFIX__ L
439// AARCH64-BE:#define __INT64_MAX__ 9223372036854775807L
440// AARCH64-BE:#define __INT64_TYPE__ long int
441// AARCH64-BE:#define __INT8_MAX__ 127
442// AARCH64-BE:#define __INT8_TYPE__ char
443// AARCH64-BE:#define __INTMAX_MAX__ 9223372036854775807L
444// AARCH64-BE:#define __INTMAX_TYPE__ long int
445// AARCH64-BE:#define __INTMAX_WIDTH__ 64
446// AARCH64-BE:#define __INTPTR_MAX__ 9223372036854775807L
447// AARCH64-BE:#define __INTPTR_TYPE__ long int
448// AARCH64-BE:#define __INTPTR_WIDTH__ 64
449// AARCH64-BE:#define __INT_FAST16_MAX__ 32767
450// AARCH64-BE:#define __INT_FAST16_TYPE__ short
451// AARCH64-BE:#define __INT_FAST32_MAX__ 2147483647
452// AARCH64-BE:#define __INT_FAST32_TYPE__ int
453// AARCH64-BE:#define __INT_FAST64_MAX__ 9223372036854775807L
454// AARCH64-BE:#define __INT_FAST64_TYPE__ long int
455// AARCH64-BE:#define __INT_FAST8_MAX__ 127
456// AARCH64-BE:#define __INT_FAST8_TYPE__ char
457// AARCH64-BE:#define __INT_LEAST16_MAX__ 32767
458// AARCH64-BE:#define __INT_LEAST16_TYPE__ short
459// AARCH64-BE:#define __INT_LEAST32_MAX__ 2147483647
460// AARCH64-BE:#define __INT_LEAST32_TYPE__ int
461// AARCH64-BE:#define __INT_LEAST64_MAX__ 9223372036854775807L
462// AARCH64-BE:#define __INT_LEAST64_TYPE__ long int
463// AARCH64-BE:#define __INT_LEAST8_MAX__ 127
464// AARCH64-BE:#define __INT_LEAST8_TYPE__ char
465// AARCH64-BE:#define __INT_MAX__ 2147483647
466// AARCH64-BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
467// AARCH64-BE:#define __LDBL_DIG__ 33
468// AARCH64-BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
469// AARCH64-BE:#define __LDBL_HAS_DENORM__ 1
470// AARCH64-BE:#define __LDBL_HAS_INFINITY__ 1
471// AARCH64-BE:#define __LDBL_HAS_QUIET_NAN__ 1
472// AARCH64-BE:#define __LDBL_MANT_DIG__ 113
473// AARCH64-BE:#define __LDBL_MAX_10_EXP__ 4932
474// AARCH64-BE:#define __LDBL_MAX_EXP__ 16384
475// AARCH64-BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
476// AARCH64-BE:#define __LDBL_MIN_10_EXP__ (-4931)
477// AARCH64-BE:#define __LDBL_MIN_EXP__ (-16381)
478// AARCH64-BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
479// AARCH64-BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
480// AARCH64-BE:#define __LONG_MAX__ 9223372036854775807L
481// AARCH64-BE:#define __LP64__ 1
482// AARCH64-BE:#define __POINTER_WIDTH__ 64
483// AARCH64-BE:#define __PTRDIFF_TYPE__ long int
484// AARCH64-BE:#define __PTRDIFF_WIDTH__ 64
485// AARCH64-BE:#define __SCHAR_MAX__ 127
486// AARCH64-BE:#define __SHRT_MAX__ 32767
487// AARCH64-BE:#define __SIG_ATOMIC_WIDTH__ 32
488// AARCH64-BE:#define __SIZEOF_DOUBLE__ 8
489// AARCH64-BE:#define __SIZEOF_FLOAT__ 4
490// AARCH64-BE:#define __SIZEOF_INT128__ 16
491// AARCH64-BE:#define __SIZEOF_INT__ 4
492// AARCH64-BE:#define __SIZEOF_LONG_DOUBLE__ 16
493// AARCH64-BE:#define __SIZEOF_LONG_LONG__ 8
494// AARCH64-BE:#define __SIZEOF_LONG__ 8
495// AARCH64-BE:#define __SIZEOF_POINTER__ 8
496// AARCH64-BE:#define __SIZEOF_PTRDIFF_T__ 8
497// AARCH64-BE:#define __SIZEOF_SHORT__ 2
498// AARCH64-BE:#define __SIZEOF_SIZE_T__ 8
499// AARCH64-BE:#define __SIZEOF_WCHAR_T__ 4
500// AARCH64-BE:#define __SIZEOF_WINT_T__ 4
501// AARCH64-BE:#define __SIZE_MAX__ 18446744073709551615UL
502// AARCH64-BE:#define __SIZE_TYPE__ long unsigned int
503// AARCH64-BE:#define __SIZE_WIDTH__ 64
504// AARCH64-BE:#define __UINT16_C_SUFFIX__ U
505// AARCH64-BE:#define __UINT16_MAX__ 65535U
506// AARCH64-BE:#define __UINT16_TYPE__ unsigned short
507// AARCH64-BE:#define __UINT32_C_SUFFIX__ U
508// AARCH64-BE:#define __UINT32_MAX__ 4294967295U
509// AARCH64-BE:#define __UINT32_TYPE__ unsigned int
510// AARCH64-BE:#define __UINT64_C_SUFFIX__ UL
511// AARCH64-BE:#define __UINT64_MAX__ 18446744073709551615UL
512// AARCH64-BE:#define __UINT64_TYPE__ long unsigned int
513// AARCH64-BE:#define __UINT8_C_SUFFIX__ U
514// AARCH64-BE:#define __UINT8_MAX__ 255U
515// AARCH64-BE:#define __UINT8_TYPE__ unsigned char
516// AARCH64-BE:#define __UINTMAX_MAX__ 18446744073709551615UL
517// AARCH64-BE:#define __UINTMAX_TYPE__ long unsigned int
518// AARCH64-BE:#define __UINTMAX_WIDTH__ 64
519// AARCH64-BE:#define __UINTPTR_MAX__ 18446744073709551615UL
520// AARCH64-BE:#define __UINTPTR_TYPE__ long unsigned int
521// AARCH64-BE:#define __UINTPTR_WIDTH__ 64
522// AARCH64-BE:#define __UINT_FAST16_MAX__ 65535U
523// AARCH64-BE:#define __UINT_FAST16_TYPE__ unsigned short
524// AARCH64-BE:#define __UINT_FAST32_MAX__ 4294967295U
525// AARCH64-BE:#define __UINT_FAST32_TYPE__ unsigned int
526// AARCH64-BE:#define __UINT_FAST64_MAX__ 18446744073709551615UL
527// AARCH64-BE:#define __UINT_FAST64_TYPE__ long unsigned int
528// AARCH64-BE:#define __UINT_FAST8_MAX__ 255U
529// AARCH64-BE:#define __UINT_FAST8_TYPE__ unsigned char
530// AARCH64-BE:#define __UINT_LEAST16_MAX__ 65535U
531// AARCH64-BE:#define __UINT_LEAST16_TYPE__ unsigned short
532// AARCH64-BE:#define __UINT_LEAST32_MAX__ 4294967295U
533// AARCH64-BE:#define __UINT_LEAST32_TYPE__ unsigned int
534// AARCH64-BE:#define __UINT_LEAST64_MAX__ 18446744073709551615UL
535// AARCH64-BE:#define __UINT_LEAST64_TYPE__ long unsigned int
536// AARCH64-BE:#define __UINT_LEAST8_MAX__ 255U
537// AARCH64-BE:#define __UINT_LEAST8_TYPE__ unsigned char
538// AARCH64-BE:#define __USER_LABEL_PREFIX__ _
539// AARCH64-BE:#define __WCHAR_MAX__ 4294967295U
540// AARCH64-BE:#define __WCHAR_TYPE__ unsigned int
541// AARCH64-BE:#define __WCHAR_UNSIGNED__ 1
542// AARCH64-BE:#define __WCHAR_WIDTH__ 32
543// AARCH64-BE:#define __WINT_TYPE__ int
544// AARCH64-BE:#define __WINT_WIDTH__ 32
545// AARCH64-BE:#define __aarch64__ 1
546//
547// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-netbsd < /dev/null | FileCheck -check-prefix AARCH64-NETBSD %s
548//
549// AARCH64-NETBSD:#define _LP64 1
550// AARCH64-NETBSD-NOT:#define __AARCH64EB__ 1
551// AARCH64-NETBSD:#define __AARCH64EL__ 1
552// AARCH64-NETBSD-NOT:#define __AARCH_BIG_ENDIAN 1
553// AARCH64-NETBSD:#define __ARM_64BIT_STATE 1
554// AARCH64-NETBSD:#define __ARM_ARCH 8
555// AARCH64-NETBSD:#define __ARM_ARCH_ISA_A64 1
556// AARCH64-NETBSD-NOT:#define __ARM_BIG_ENDIAN 1
557// AARCH64-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
558// AARCH64-NETBSD:#define __CHAR16_TYPE__ unsigned short
559// AARCH64-NETBSD:#define __CHAR32_TYPE__ unsigned int
560// AARCH64-NETBSD:#define __CHAR_BIT__ 8
561// AARCH64-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
562// AARCH64-NETBSD:#define __DBL_DIG__ 15
563// AARCH64-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
564// AARCH64-NETBSD:#define __DBL_HAS_DENORM__ 1
565// AARCH64-NETBSD:#define __DBL_HAS_INFINITY__ 1
566// AARCH64-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
567// AARCH64-NETBSD:#define __DBL_MANT_DIG__ 53
568// AARCH64-NETBSD:#define __DBL_MAX_10_EXP__ 308
569// AARCH64-NETBSD:#define __DBL_MAX_EXP__ 1024
570// AARCH64-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
571// AARCH64-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
572// AARCH64-NETBSD:#define __DBL_MIN_EXP__ (-1021)
573// AARCH64-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
574// AARCH64-NETBSD:#define __DECIMAL_DIG__ 36
575// AARCH64-NETBSD:#define __ELF__ 1
576// AARCH64-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
577// AARCH64-NETBSD:#define __FLT_DIG__ 6
578// AARCH64-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
579// AARCH64-NETBSD:#define __FLT_EVAL_METHOD__ 0
580// AARCH64-NETBSD:#define __FLT_HAS_DENORM__ 1
581// AARCH64-NETBSD:#define __FLT_HAS_INFINITY__ 1
582// AARCH64-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
583// AARCH64-NETBSD:#define __FLT_MANT_DIG__ 24
584// AARCH64-NETBSD:#define __FLT_MAX_10_EXP__ 38
585// AARCH64-NETBSD:#define __FLT_MAX_EXP__ 128
586// AARCH64-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
587// AARCH64-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
588// AARCH64-NETBSD:#define __FLT_MIN_EXP__ (-125)
589// AARCH64-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
590// AARCH64-NETBSD:#define __FLT_RADIX__ 2
591// AARCH64-NETBSD:#define __INT16_MAX__ 32767
592// AARCH64-NETBSD:#define __INT16_TYPE__ short
593// AARCH64-NETBSD:#define __INT32_MAX__ 2147483647
594// AARCH64-NETBSD:#define __INT32_TYPE__ int
595// AARCH64-NETBSD:#define __INT64_C_SUFFIX__ LL
596// AARCH64-NETBSD:#define __INT64_MAX__ 9223372036854775807L
597// AARCH64-NETBSD:#define __INT64_TYPE__ long long int
598// AARCH64-NETBSD:#define __INT8_MAX__ 127
599// AARCH64-NETBSD:#define __INT8_TYPE__ char
600// AARCH64-NETBSD:#define __INTMAX_MAX__ 9223372036854775807LL
601// AARCH64-NETBSD:#define __INTMAX_TYPE__ long long int
602// AARCH64-NETBSD:#define __INTMAX_WIDTH__ 64
603// AARCH64-NETBSD:#define __INTPTR_MAX__ 9223372036854775807L
604// AARCH64-NETBSD:#define __INTPTR_TYPE__ long int
605// AARCH64-NETBSD:#define __INTPTR_WIDTH__ 64
606// AARCH64-NETBSD:#define __INT_FAST16_MAX__ 32767
607// AARCH64-NETBSD:#define __INT_FAST16_TYPE__ short
608// AARCH64-NETBSD:#define __INT_FAST32_MAX__ 2147483647
609// AARCH64-NETBSD:#define __INT_FAST32_TYPE__ int
610// AARCH64-NETBSD:#define __INT_FAST64_MAX__ 9223372036854775807L
611// AARCH64-NETBSD:#define __INT_FAST64_TYPE__ long int
612// AARCH64-NETBSD:#define __INT_FAST8_MAX__ 127
613// AARCH64-NETBSD:#define __INT_FAST8_TYPE__ char
614// AARCH64-NETBSD:#define __INT_LEAST16_MAX__ 32767
615// AARCH64-NETBSD:#define __INT_LEAST16_TYPE__ short
616// AARCH64-NETBSD:#define __INT_LEAST32_MAX__ 2147483647
617// AARCH64-NETBSD:#define __INT_LEAST32_TYPE__ int
618// AARCH64-NETBSD:#define __INT_LEAST64_MAX__ 9223372036854775807L
619// AARCH64-NETBSD:#define __INT_LEAST64_TYPE__ long int
620// AARCH64-NETBSD:#define __INT_LEAST8_MAX__ 127
621// AARCH64-NETBSD:#define __INT_LEAST8_TYPE__ char
622// AARCH64-NETBSD:#define __INT_MAX__ 2147483647
623// AARCH64-NETBSD:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
624// AARCH64-NETBSD:#define __LDBL_DIG__ 33
625// AARCH64-NETBSD:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
626// AARCH64-NETBSD:#define __LDBL_HAS_DENORM__ 1
627// AARCH64-NETBSD:#define __LDBL_HAS_INFINITY__ 1
628// AARCH64-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
629// AARCH64-NETBSD:#define __LDBL_MANT_DIG__ 113
630// AARCH64-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
631// AARCH64-NETBSD:#define __LDBL_MAX_EXP__ 16384
632// AARCH64-NETBSD:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
633// AARCH64-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
634// AARCH64-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
635// AARCH64-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
636// AARCH64-NETBSD:#define __LITTLE_ENDIAN__ 1
637// AARCH64-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
638// AARCH64-NETBSD:#define __LONG_MAX__ 9223372036854775807L
639// AARCH64-NETBSD:#define __LP64__ 1
640// AARCH64-NETBSD:#define __NetBSD__ 1
641// AARCH64-NETBSD:#define __POINTER_WIDTH__ 64
642// AARCH64-NETBSD:#define __PTRDIFF_TYPE__ long int
643// AARCH64-NETBSD:#define __PTRDIFF_WIDTH__ 64
644// AARCH64-NETBSD:#define __SCHAR_MAX__ 127
645// AARCH64-NETBSD:#define __SHRT_MAX__ 32767
646// AARCH64-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
647// AARCH64-NETBSD:#define __SIZEOF_DOUBLE__ 8
648// AARCH64-NETBSD:#define __SIZEOF_FLOAT__ 4
649// AARCH64-NETBSD:#define __SIZEOF_INT__ 4
650// AARCH64-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 16
651// AARCH64-NETBSD:#define __SIZEOF_LONG_LONG__ 8
652// AARCH64-NETBSD:#define __SIZEOF_LONG__ 8
653// AARCH64-NETBSD:#define __SIZEOF_POINTER__ 8
654// AARCH64-NETBSD:#define __SIZEOF_PTRDIFF_T__ 8
655// AARCH64-NETBSD:#define __SIZEOF_SHORT__ 2
656// AARCH64-NETBSD:#define __SIZEOF_SIZE_T__ 8
657// AARCH64-NETBSD:#define __SIZEOF_WCHAR_T__ 4
658// AARCH64-NETBSD:#define __SIZEOF_WINT_T__ 4
659// AARCH64-NETBSD:#define __SIZE_MAX__ 18446744073709551615UL
660// AARCH64-NETBSD:#define __SIZE_TYPE__ long unsigned int
661// AARCH64-NETBSD:#define __SIZE_WIDTH__ 64
662// AARCH64-NETBSD:#define __UINT16_C_SUFFIX__ U
663// AARCH64-NETBSD:#define __UINT16_MAX__ 65535U
664// AARCH64-NETBSD:#define __UINT16_TYPE__ unsigned short
665// AARCH64-NETBSD:#define __UINT32_C_SUFFIX__ U
666// AARCH64-NETBSD:#define __UINT32_MAX__ 4294967295U
667// AARCH64-NETBSD:#define __UINT32_TYPE__ unsigned int
668// AARCH64-NETBSD:#define __UINT64_C_SUFFIX__ UL
669// AARCH64-NETBSD:#define __UINT64_MAX__ 18446744073709551615UL
670// AARCH64-NETBSD:#define __UINT64_TYPE__ long unsigned int
671// AARCH64-NETBSD:#define __UINT8_C_SUFFIX__ U
672// AARCH64-NETBSD:#define __UINT8_MAX__ 255U
673// AARCH64-NETBSD:#define __UINT8_TYPE__ unsigned char
674// AARCH64-NETBSD:#define __UINTMAX_MAX__ 18446744073709551615ULL
675// AARCH64-NETBSD:#define __UINTMAX_TYPE__ long long unsigned int
676// AARCH64-NETBSD:#define __UINTMAX_WIDTH__ 64
677// AARCH64-NETBSD:#define __UINTPTR_MAX__ 18446744073709551615UL
678// AARCH64-NETBSD:#define __UINTPTR_TYPE__ long unsigned int
679// AARCH64-NETBSD:#define __UINTPTR_WIDTH__ 64
680// AARCH64-NETBSD:#define __UINT_FAST16_MAX__ 65535U
681// AARCH64-NETBSD:#define __UINT_FAST16_TYPE__ unsigned short
682// AARCH64-NETBSD:#define __UINT_FAST32_MAX__ 4294967295U
683// AARCH64-NETBSD:#define __UINT_FAST32_TYPE__ unsigned int
684// AARCH64-NETBSD:#define __UINT_FAST64_MAX__ 18446744073709551615UL
685// AARCH64-NETBSD:#define __UINT_FAST64_TYPE__ long unsigned int
686// AARCH64-NETBSD:#define __UINT_FAST8_MAX__ 255U
687// AARCH64-NETBSD:#define __UINT_FAST8_TYPE__ unsigned char
688// AARCH64-NETBSD:#define __UINT_LEAST16_MAX__ 65535U
689// AARCH64-NETBSD:#define __UINT_LEAST16_TYPE__ unsigned short
690// AARCH64-NETBSD:#define __UINT_LEAST32_MAX__ 4294967295U
691// AARCH64-NETBSD:#define __UINT_LEAST32_TYPE__ unsigned int
692// AARCH64-NETBSD:#define __UINT_LEAST64_MAX__ 18446744073709551615UL
693// AARCH64-NETBSD:#define __UINT_LEAST64_TYPE__ long unsigned int
694// AARCH64-NETBSD:#define __UINT_LEAST8_MAX__ 255U
695// AARCH64-NETBSD:#define __UINT_LEAST8_TYPE__ unsigned char
696// AARCH64-NETBSD:#define __USER_LABEL_PREFIX__
697// AARCH64-NETBSD:#define __WCHAR_MAX__ 2147483647
698// AARCH64-NETBSD:#define __WCHAR_TYPE__ int
699// AARCH64-NETBSD:#define __WCHAR_WIDTH__ 32
700// AARCH64-NETBSD:#define __WINT_TYPE__ int
701// AARCH64-NETBSD:#define __WINT_WIDTH__ 32
702// AARCH64-NETBSD:#define __aarch64__ 1
703
704// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s
705//
706// ARM-NOT:#define _LP64
707// ARM:#define __APCS_32__ 1
708// ARM-NOT:#define __ARMEB__ 1
709// ARM:#define __ARMEL__ 1
710// ARM:#define __ARM_ARCH_6J__ 1
711// ARM-NOT:#define __ARM_BIG_ENDIAN 1
712// ARM:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
713// ARM:#define __CHAR16_TYPE__ unsigned short
714// ARM:#define __CHAR32_TYPE__ unsigned int
715// ARM:#define __CHAR_BIT__ 8
716// ARM:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
717// ARM:#define __DBL_DIG__ 15
718// ARM:#define __DBL_EPSILON__ 2.2204460492503131e-16
719// ARM:#define __DBL_HAS_DENORM__ 1
720// ARM:#define __DBL_HAS_INFINITY__ 1
721// ARM:#define __DBL_HAS_QUIET_NAN__ 1
722// ARM:#define __DBL_MANT_DIG__ 53
723// ARM:#define __DBL_MAX_10_EXP__ 308
724// ARM:#define __DBL_MAX_EXP__ 1024
725// ARM:#define __DBL_MAX__ 1.7976931348623157e+308
726// ARM:#define __DBL_MIN_10_EXP__ (-307)
727// ARM:#define __DBL_MIN_EXP__ (-1021)
728// ARM:#define __DBL_MIN__ 2.2250738585072014e-308
729// ARM:#define __DECIMAL_DIG__ 17
730// ARM:#define __FLT_DENORM_MIN__ 1.40129846e-45F
731// ARM:#define __FLT_DIG__ 6
732// ARM:#define __FLT_EPSILON__ 1.19209290e-7F
733// ARM:#define __FLT_EVAL_METHOD__ 0
734// ARM:#define __FLT_HAS_DENORM__ 1
735// ARM:#define __FLT_HAS_INFINITY__ 1
736// ARM:#define __FLT_HAS_QUIET_NAN__ 1
737// ARM:#define __FLT_MANT_DIG__ 24
738// ARM:#define __FLT_MAX_10_EXP__ 38
739// ARM:#define __FLT_MAX_EXP__ 128
740// ARM:#define __FLT_MAX__ 3.40282347e+38F
741// ARM:#define __FLT_MIN_10_EXP__ (-37)
742// ARM:#define __FLT_MIN_EXP__ (-125)
743// ARM:#define __FLT_MIN__ 1.17549435e-38F
744// ARM:#define __FLT_RADIX__ 2
745// ARM:#define __INT16_MAX__ 32767
746// ARM:#define __INT16_TYPE__ short
747// ARM:#define __INT32_MAX__ 2147483647
748// ARM:#define __INT32_TYPE__ int
749// ARM:#define __INT64_C_SUFFIX__ LL
750// ARM:#define __INT64_MAX__ 9223372036854775807LL
751// ARM:#define __INT64_TYPE__ long long int
752// ARM:#define __INT8_MAX__ 127
753// ARM:#define __INT8_TYPE__ char
754// ARM:#define __INTMAX_MAX__ 9223372036854775807LL
755// ARM:#define __INTMAX_TYPE__ long long int
756// ARM:#define __INTMAX_WIDTH__ 64
757// ARM:#define __INTPTR_MAX__ 2147483647L
758// ARM:#define __INTPTR_TYPE__ long int
759// ARM:#define __INTPTR_WIDTH__ 32
760// ARM:#define __INT_FAST16_MAX__ 32767
761// ARM:#define __INT_FAST16_TYPE__ short
762// ARM:#define __INT_FAST32_MAX__ 2147483647
763// ARM:#define __INT_FAST32_TYPE__ int
764// ARM:#define __INT_FAST64_MAX__ 9223372036854775807LL
765// ARM:#define __INT_FAST64_TYPE__ long long int
766// ARM:#define __INT_FAST8_MAX__ 127
767// ARM:#define __INT_FAST8_TYPE__ char
768// ARM:#define __INT_LEAST16_MAX__ 32767
769// ARM:#define __INT_LEAST16_TYPE__ short
770// ARM:#define __INT_LEAST32_MAX__ 2147483647
771// ARM:#define __INT_LEAST32_TYPE__ int
772// ARM:#define __INT_LEAST64_MAX__ 9223372036854775807LL
773// ARM:#define __INT_LEAST64_TYPE__ long long int
774// ARM:#define __INT_LEAST8_MAX__ 127
775// ARM:#define __INT_LEAST8_TYPE__ char
776// ARM:#define __INT_MAX__ 2147483647
777// ARM:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
778// ARM:#define __LDBL_DIG__ 15
779// ARM:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
780// ARM:#define __LDBL_HAS_DENORM__ 1
781// ARM:#define __LDBL_HAS_INFINITY__ 1
782// ARM:#define __LDBL_HAS_QUIET_NAN__ 1
783// ARM:#define __LDBL_MANT_DIG__ 53
784// ARM:#define __LDBL_MAX_10_EXP__ 308
785// ARM:#define __LDBL_MAX_EXP__ 1024
786// ARM:#define __LDBL_MAX__ 1.7976931348623157e+308L
787// ARM:#define __LDBL_MIN_10_EXP__ (-307)
788// ARM:#define __LDBL_MIN_EXP__ (-1021)
789// ARM:#define __LDBL_MIN__ 2.2250738585072014e-308L
790// ARM:#define __LITTLE_ENDIAN__ 1
791// ARM:#define __LONG_LONG_MAX__ 9223372036854775807LL
792// ARM:#define __LONG_MAX__ 2147483647L
793// ARM-NOT:#define __LP64__
794// ARM:#define __POINTER_WIDTH__ 32
795// ARM:#define __PTRDIFF_TYPE__ int
796// ARM:#define __PTRDIFF_WIDTH__ 32
797// ARM:#define __REGISTER_PREFIX__
798// ARM:#define __SCHAR_MAX__ 127
799// ARM:#define __SHRT_MAX__ 32767
800// ARM:#define __SIG_ATOMIC_WIDTH__ 32
801// ARM:#define __SIZEOF_DOUBLE__ 8
802// ARM:#define __SIZEOF_FLOAT__ 4
803// ARM:#define __SIZEOF_INT__ 4
804// ARM:#define __SIZEOF_LONG_DOUBLE__ 8
805// ARM:#define __SIZEOF_LONG_LONG__ 8
806// ARM:#define __SIZEOF_LONG__ 4
807// ARM:#define __SIZEOF_POINTER__ 4
808// ARM:#define __SIZEOF_PTRDIFF_T__ 4
809// ARM:#define __SIZEOF_SHORT__ 2
810// ARM:#define __SIZEOF_SIZE_T__ 4
811// ARM:#define __SIZEOF_WCHAR_T__ 4
812// ARM:#define __SIZEOF_WINT_T__ 4
813// ARM:#define __SIZE_MAX__ 4294967295U
814// ARM:#define __SIZE_TYPE__ unsigned int
815// ARM:#define __SIZE_WIDTH__ 32
816// ARM:#define __THUMB_INTERWORK__ 1
817// ARM:#define __UINT16_C_SUFFIX__ U
818// ARM:#define __UINT16_MAX__ 65535U
819// ARM:#define __UINT16_TYPE__ unsigned short
820// ARM:#define __UINT32_C_SUFFIX__ U
821// ARM:#define __UINT32_MAX__ 4294967295U
822// ARM:#define __UINT32_TYPE__ unsigned int
823// ARM:#define __UINT64_C_SUFFIX__ ULL
824// ARM:#define __UINT64_MAX__ 18446744073709551615ULL
825// ARM:#define __UINT64_TYPE__ long long unsigned int
826// ARM:#define __UINT8_C_SUFFIX__ U
827// ARM:#define __UINT8_MAX__ 255U
828// ARM:#define __UINT8_TYPE__ unsigned char
829// ARM:#define __UINTMAX_MAX__ 18446744073709551615ULL
830// ARM:#define __UINTMAX_TYPE__ long long unsigned int
831// ARM:#define __UINTMAX_WIDTH__ 64
832// ARM:#define __UINTPTR_MAX__ 4294967295U
833// ARM:#define __UINTPTR_TYPE__ unsigned int
834// ARM:#define __UINTPTR_WIDTH__ 32
835// ARM:#define __UINT_FAST16_MAX__ 65535U
836// ARM:#define __UINT_FAST16_TYPE__ unsigned short
837// ARM:#define __UINT_FAST32_MAX__ 4294967295U
838// ARM:#define __UINT_FAST32_TYPE__ unsigned int
839// ARM:#define __UINT_FAST64_MAX__ 18446744073709551615ULL
840// ARM:#define __UINT_FAST64_TYPE__ long long unsigned int
841// ARM:#define __UINT_FAST8_MAX__ 255U
842// ARM:#define __UINT_FAST8_TYPE__ unsigned char
843// ARM:#define __UINT_LEAST16_MAX__ 65535U
844// ARM:#define __UINT_LEAST16_TYPE__ unsigned short
845// ARM:#define __UINT_LEAST32_MAX__ 4294967295U
846// ARM:#define __UINT_LEAST32_TYPE__ unsigned int
847// ARM:#define __UINT_LEAST64_MAX__ 18446744073709551615ULL
848// ARM:#define __UINT_LEAST64_TYPE__ long long unsigned int
849// ARM:#define __UINT_LEAST8_MAX__ 255U
850// ARM:#define __UINT_LEAST8_TYPE__ unsigned char
851// ARM:#define __USER_LABEL_PREFIX__ _
852// ARM:#define __WCHAR_MAX__ 4294967295U
853// ARM:#define __WCHAR_TYPE__ unsigned int
854// ARM:#define __WCHAR_WIDTH__ 32
855// ARM:#define __WINT_TYPE__ int
856// ARM:#define __WINT_WIDTH__ 32
857// ARM:#define __arm 1
858// ARM:#define __arm__ 1
859
860// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armeb-none-none < /dev/null | FileCheck -check-prefix ARM-BE %s
861//
862// ARM-BE-NOT:#define _LP64
863// ARM-BE:#define __APCS_32__ 1
864// ARM-BE:#define __ARMEB__ 1
865// ARM-BE-NOT:#define __ARMEL__ 1
866// ARM-BE:#define __ARM_ARCH_6J__ 1
867// ARM-BE:#define __ARM_BIG_ENDIAN 1
868// ARM-BE:#define __BIG_ENDIAN__ 1
869// ARM-BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
870// ARM-BE:#define __CHAR16_TYPE__ unsigned short
871// ARM-BE:#define __CHAR32_TYPE__ unsigned int
872// ARM-BE:#define __CHAR_BIT__ 8
873// ARM-BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
874// ARM-BE:#define __DBL_DIG__ 15
875// ARM-BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
876// ARM-BE:#define __DBL_HAS_DENORM__ 1
877// ARM-BE:#define __DBL_HAS_INFINITY__ 1
878// ARM-BE:#define __DBL_HAS_QUIET_NAN__ 1
879// ARM-BE:#define __DBL_MANT_DIG__ 53
880// ARM-BE:#define __DBL_MAX_10_EXP__ 308
881// ARM-BE:#define __DBL_MAX_EXP__ 1024
882// ARM-BE:#define __DBL_MAX__ 1.7976931348623157e+308
883// ARM-BE:#define __DBL_MIN_10_EXP__ (-307)
884// ARM-BE:#define __DBL_MIN_EXP__ (-1021)
885// ARM-BE:#define __DBL_MIN__ 2.2250738585072014e-308
886// ARM-BE:#define __DECIMAL_DIG__ 17
887// ARM-BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
888// ARM-BE:#define __FLT_DIG__ 6
889// ARM-BE:#define __FLT_EPSILON__ 1.19209290e-7F
890// ARM-BE:#define __FLT_EVAL_METHOD__ 0
891// ARM-BE:#define __FLT_HAS_DENORM__ 1
892// ARM-BE:#define __FLT_HAS_INFINITY__ 1
893// ARM-BE:#define __FLT_HAS_QUIET_NAN__ 1
894// ARM-BE:#define __FLT_MANT_DIG__ 24
895// ARM-BE:#define __FLT_MAX_10_EXP__ 38
896// ARM-BE:#define __FLT_MAX_EXP__ 128
897// ARM-BE:#define __FLT_MAX__ 3.40282347e+38F
898// ARM-BE:#define __FLT_MIN_10_EXP__ (-37)
899// ARM-BE:#define __FLT_MIN_EXP__ (-125)
900// ARM-BE:#define __FLT_MIN__ 1.17549435e-38F
901// ARM-BE:#define __FLT_RADIX__ 2
902// ARM-BE:#define __INT16_MAX__ 32767
903// ARM-BE:#define __INT16_TYPE__ short
904// ARM-BE:#define __INT32_MAX__ 2147483647
905// ARM-BE:#define __INT32_TYPE__ int
906// ARM-BE:#define __INT64_C_SUFFIX__ LL
907// ARM-BE:#define __INT64_MAX__ 9223372036854775807LL
908// ARM-BE:#define __INT64_TYPE__ long long int
909// ARM-BE:#define __INT8_MAX__ 127
910// ARM-BE:#define __INT8_TYPE__ char
911// ARM-BE:#define __INTMAX_MAX__ 9223372036854775807LL
912// ARM-BE:#define __INTMAX_TYPE__ long long int
913// ARM-BE:#define __INTMAX_WIDTH__ 64
914// ARM-BE:#define __INTPTR_MAX__ 2147483647L
915// ARM-BE:#define __INTPTR_TYPE__ long int
916// ARM-BE:#define __INTPTR_WIDTH__ 32
917// ARM-BE:#define __INT_FAST16_MAX__ 32767
918// ARM-BE:#define __INT_FAST16_TYPE__ short
919// ARM-BE:#define __INT_FAST32_MAX__ 2147483647
920// ARM-BE:#define __INT_FAST32_TYPE__ int
921// ARM-BE:#define __INT_FAST64_MAX__ 9223372036854775807LL
922// ARM-BE:#define __INT_FAST64_TYPE__ long long int
923// ARM-BE:#define __INT_FAST8_MAX__ 127
924// ARM-BE:#define __INT_FAST8_TYPE__ char
925// ARM-BE:#define __INT_LEAST16_MAX__ 32767
926// ARM-BE:#define __INT_LEAST16_TYPE__ short
927// ARM-BE:#define __INT_LEAST32_MAX__ 2147483647
928// ARM-BE:#define __INT_LEAST32_TYPE__ int
929// ARM-BE:#define __INT_LEAST64_MAX__ 9223372036854775807LL
930// ARM-BE:#define __INT_LEAST64_TYPE__ long long int
931// ARM-BE:#define __INT_LEAST8_MAX__ 127
932// ARM-BE:#define __INT_LEAST8_TYPE__ char
933// ARM-BE:#define __INT_MAX__ 2147483647
934// ARM-BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
935// ARM-BE:#define __LDBL_DIG__ 15
936// ARM-BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
937// ARM-BE:#define __LDBL_HAS_DENORM__ 1
938// ARM-BE:#define __LDBL_HAS_INFINITY__ 1
939// ARM-BE:#define __LDBL_HAS_QUIET_NAN__ 1
940// ARM-BE:#define __LDBL_MANT_DIG__ 53
941// ARM-BE:#define __LDBL_MAX_10_EXP__ 308
942// ARM-BE:#define __LDBL_MAX_EXP__ 1024
943// ARM-BE:#define __LDBL_MAX__ 1.7976931348623157e+308L
944// ARM-BE:#define __LDBL_MIN_10_EXP__ (-307)
945// ARM-BE:#define __LDBL_MIN_EXP__ (-1021)
946// ARM-BE:#define __LDBL_MIN__ 2.2250738585072014e-308L
947// ARM-BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
948// ARM-BE:#define __LONG_MAX__ 2147483647L
949// ARM-BE-NOT:#define __LP64__
950// ARM-BE:#define __POINTER_WIDTH__ 32
951// ARM-BE:#define __PTRDIFF_TYPE__ int
952// ARM-BE:#define __PTRDIFF_WIDTH__ 32
953// ARM-BE:#define __REGISTER_PREFIX__
954// ARM-BE:#define __SCHAR_MAX__ 127
955// ARM-BE:#define __SHRT_MAX__ 32767
956// ARM-BE:#define __SIG_ATOMIC_WIDTH__ 32
957// ARM-BE:#define __SIZEOF_DOUBLE__ 8
958// ARM-BE:#define __SIZEOF_FLOAT__ 4
959// ARM-BE:#define __SIZEOF_INT__ 4
960// ARM-BE:#define __SIZEOF_LONG_DOUBLE__ 8
961// ARM-BE:#define __SIZEOF_LONG_LONG__ 8
962// ARM-BE:#define __SIZEOF_LONG__ 4
963// ARM-BE:#define __SIZEOF_POINTER__ 4
964// ARM-BE:#define __SIZEOF_PTRDIFF_T__ 4
965// ARM-BE:#define __SIZEOF_SHORT__ 2
966// ARM-BE:#define __SIZEOF_SIZE_T__ 4
967// ARM-BE:#define __SIZEOF_WCHAR_T__ 4
968// ARM-BE:#define __SIZEOF_WINT_T__ 4
969// ARM-BE:#define __SIZE_MAX__ 4294967295U
970// ARM-BE:#define __SIZE_TYPE__ unsigned int
971// ARM-BE:#define __SIZE_WIDTH__ 32
972// ARM-BE:#define __THUMB_INTERWORK__ 1
973// ARM-BE:#define __UINT16_C_SUFFIX__ U
974// ARM-BE:#define __UINT16_MAX__ 65535U
975// ARM-BE:#define __UINT16_TYPE__ unsigned short
976// ARM-BE:#define __UINT32_C_SUFFIX__ U
977// ARM-BE:#define __UINT32_MAX__ 4294967295U
978// ARM-BE:#define __UINT32_TYPE__ unsigned int
979// ARM-BE:#define __UINT64_C_SUFFIX__ ULL
980// ARM-BE:#define __UINT64_MAX__ 18446744073709551615ULL
981// ARM-BE:#define __UINT64_TYPE__ long long unsigned int
982// ARM-BE:#define __UINT8_C_SUFFIX__ U
983// ARM-BE:#define __UINT8_MAX__ 255U
984// ARM-BE:#define __UINT8_TYPE__ unsigned char
985// ARM-BE:#define __UINTMAX_MAX__ 18446744073709551615ULL
986// ARM-BE:#define __UINTMAX_TYPE__ long long unsigned int
987// ARM-BE:#define __UINTMAX_WIDTH__ 64
988// ARM-BE:#define __UINTPTR_MAX__ 4294967295U
989// ARM-BE:#define __UINTPTR_TYPE__ unsigned int
990// ARM-BE:#define __UINTPTR_WIDTH__ 32
991// ARM-BE:#define __UINT_FAST16_MAX__ 65535U
992// ARM-BE:#define __UINT_FAST16_TYPE__ unsigned short
993// ARM-BE:#define __UINT_FAST32_MAX__ 4294967295U
994// ARM-BE:#define __UINT_FAST32_TYPE__ unsigned int
995// ARM-BE:#define __UINT_FAST64_MAX__ 18446744073709551615ULL
996// ARM-BE:#define __UINT_FAST64_TYPE__ long long unsigned int
997// ARM-BE:#define __UINT_FAST8_MAX__ 255U
998// ARM-BE:#define __UINT_FAST8_TYPE__ unsigned char
999// ARM-BE:#define __UINT_LEAST16_MAX__ 65535U
1000// ARM-BE:#define __UINT_LEAST16_TYPE__ unsigned short
1001// ARM-BE:#define __UINT_LEAST32_MAX__ 4294967295U
1002// ARM-BE:#define __UINT_LEAST32_TYPE__ unsigned int
1003// ARM-BE:#define __UINT_LEAST64_MAX__ 18446744073709551615ULL
1004// ARM-BE:#define __UINT_LEAST64_TYPE__ long long unsigned int
1005// ARM-BE:#define __UINT_LEAST8_MAX__ 255U
1006// ARM-BE:#define __UINT_LEAST8_TYPE__ unsigned char
1007// ARM-BE:#define __USER_LABEL_PREFIX__ _
1008// ARM-BE:#define __WCHAR_MAX__ 4294967295U
1009// ARM-BE:#define __WCHAR_TYPE__ unsigned int
1010// ARM-BE:#define __WCHAR_WIDTH__ 32
1011// ARM-BE:#define __WINT_TYPE__ int
1012// ARM-BE:#define __WINT_WIDTH__ 32
1013// ARM-BE:#define __arm 1
1014// ARM-BE:#define __arm__ 1
1015
1016// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-linux-gnueabi -target-feature +soft-float -target-feature +soft-float-abi < /dev/null | FileCheck -check-prefix ARMEABISOFTFP %s
1017//
1018// ARMEABISOFTFP-NOT:#define _LP64
1019// ARMEABISOFTFP:#define __APCS_32__ 1
1020// ARMEABISOFTFP-NOT:#define __ARMEB__ 1
1021// ARMEABISOFTFP:#define __ARMEL__ 1
1022// ARMEABISOFTFP:#define __ARM_ARCH 6
1023// ARMEABISOFTFP:#define __ARM_ARCH_6J__ 1
1024// ARMEABISOFTFP-NOT:#define __ARM_BIG_ENDIAN 1
1025// ARMEABISOFTFP:#define __ARM_EABI__ 1
1026// ARMEABISOFTFP:#define __ARM_PCS 1
1027// ARMEABISOFTFP-NOT:#define __ARM_PCS_VFP 1
1028// ARMEABISOFTFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1029// ARMEABISOFTFP:#define __CHAR16_TYPE__ unsigned short
1030// ARMEABISOFTFP:#define __CHAR32_TYPE__ unsigned int
1031// ARMEABISOFTFP:#define __CHAR_BIT__ 8
1032// ARMEABISOFTFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1033// ARMEABISOFTFP:#define __DBL_DIG__ 15
1034// ARMEABISOFTFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
1035// ARMEABISOFTFP:#define __DBL_HAS_DENORM__ 1
1036// ARMEABISOFTFP:#define __DBL_HAS_INFINITY__ 1
1037// ARMEABISOFTFP:#define __DBL_HAS_QUIET_NAN__ 1
1038// ARMEABISOFTFP:#define __DBL_MANT_DIG__ 53
1039// ARMEABISOFTFP:#define __DBL_MAX_10_EXP__ 308
1040// ARMEABISOFTFP:#define __DBL_MAX_EXP__ 1024
1041// ARMEABISOFTFP:#define __DBL_MAX__ 1.7976931348623157e+308
1042// ARMEABISOFTFP:#define __DBL_MIN_10_EXP__ (-307)
1043// ARMEABISOFTFP:#define __DBL_MIN_EXP__ (-1021)
1044// ARMEABISOFTFP:#define __DBL_MIN__ 2.2250738585072014e-308
1045// ARMEABISOFTFP:#define __DECIMAL_DIG__ 17
1046// ARMEABISOFTFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1047// ARMEABISOFTFP:#define __FLT_DIG__ 6
1048// ARMEABISOFTFP:#define __FLT_EPSILON__ 1.19209290e-7F
1049// ARMEABISOFTFP:#define __FLT_EVAL_METHOD__ 0
1050// ARMEABISOFTFP:#define __FLT_HAS_DENORM__ 1
1051// ARMEABISOFTFP:#define __FLT_HAS_INFINITY__ 1
1052// ARMEABISOFTFP:#define __FLT_HAS_QUIET_NAN__ 1
1053// ARMEABISOFTFP:#define __FLT_MANT_DIG__ 24
1054// ARMEABISOFTFP:#define __FLT_MAX_10_EXP__ 38
1055// ARMEABISOFTFP:#define __FLT_MAX_EXP__ 128
1056// ARMEABISOFTFP:#define __FLT_MAX__ 3.40282347e+38F
1057// ARMEABISOFTFP:#define __FLT_MIN_10_EXP__ (-37)
1058// ARMEABISOFTFP:#define __FLT_MIN_EXP__ (-125)
1059// ARMEABISOFTFP:#define __FLT_MIN__ 1.17549435e-38F
1060// ARMEABISOFTFP:#define __FLT_RADIX__ 2
1061// ARMEABISOFTFP:#define __INT16_MAX__ 32767
1062// ARMEABISOFTFP:#define __INT16_TYPE__ short
1063// ARMEABISOFTFP:#define __INT32_MAX__ 2147483647
1064// ARMEABISOFTFP:#define __INT32_TYPE__ int
1065// ARMEABISOFTFP:#define __INT64_C_SUFFIX__ LL
1066// ARMEABISOFTFP:#define __INT64_MAX__ 9223372036854775807LL
1067// ARMEABISOFTFP:#define __INT64_TYPE__ long long int
1068// ARMEABISOFTFP:#define __INT8_MAX__ 127
1069// ARMEABISOFTFP:#define __INT8_TYPE__ char
1070// ARMEABISOFTFP:#define __INTMAX_MAX__ 9223372036854775807LL
1071// ARMEABISOFTFP:#define __INTMAX_TYPE__ long long int
1072// ARMEABISOFTFP:#define __INTMAX_WIDTH__ 64
1073// ARMEABISOFTFP:#define __INTPTR_MAX__ 2147483647L
1074// ARMEABISOFTFP:#define __INTPTR_TYPE__ long int
1075// ARMEABISOFTFP:#define __INTPTR_WIDTH__ 32
1076// ARMEABISOFTFP:#define __INT_FAST16_MAX__ 32767
1077// ARMEABISOFTFP:#define __INT_FAST16_TYPE__ short
1078// ARMEABISOFTFP:#define __INT_FAST32_MAX__ 2147483647
1079// ARMEABISOFTFP:#define __INT_FAST32_TYPE__ int
1080// ARMEABISOFTFP:#define __INT_FAST64_MAX__ 9223372036854775807LL
1081// ARMEABISOFTFP:#define __INT_FAST64_TYPE__ long long int
1082// ARMEABISOFTFP:#define __INT_FAST8_MAX__ 127
1083// ARMEABISOFTFP:#define __INT_FAST8_TYPE__ char
1084// ARMEABISOFTFP:#define __INT_LEAST16_MAX__ 32767
1085// ARMEABISOFTFP:#define __INT_LEAST16_TYPE__ short
1086// ARMEABISOFTFP:#define __INT_LEAST32_MAX__ 2147483647
1087// ARMEABISOFTFP:#define __INT_LEAST32_TYPE__ int
1088// ARMEABISOFTFP:#define __INT_LEAST64_MAX__ 9223372036854775807LL
1089// ARMEABISOFTFP:#define __INT_LEAST64_TYPE__ long long int
1090// ARMEABISOFTFP:#define __INT_LEAST8_MAX__ 127
1091// ARMEABISOFTFP:#define __INT_LEAST8_TYPE__ char
1092// ARMEABISOFTFP:#define __INT_MAX__ 2147483647
1093// ARMEABISOFTFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
1094// ARMEABISOFTFP:#define __LDBL_DIG__ 15
1095// ARMEABISOFTFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
1096// ARMEABISOFTFP:#define __LDBL_HAS_DENORM__ 1
1097// ARMEABISOFTFP:#define __LDBL_HAS_INFINITY__ 1
1098// ARMEABISOFTFP:#define __LDBL_HAS_QUIET_NAN__ 1
1099// ARMEABISOFTFP:#define __LDBL_MANT_DIG__ 53
1100// ARMEABISOFTFP:#define __LDBL_MAX_10_EXP__ 308
1101// ARMEABISOFTFP:#define __LDBL_MAX_EXP__ 1024
1102// ARMEABISOFTFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
1103// ARMEABISOFTFP:#define __LDBL_MIN_10_EXP__ (-307)
1104// ARMEABISOFTFP:#define __LDBL_MIN_EXP__ (-1021)
1105// ARMEABISOFTFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
1106// ARMEABISOFTFP:#define __LITTLE_ENDIAN__ 1
1107// ARMEABISOFTFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
1108// ARMEABISOFTFP:#define __LONG_MAX__ 2147483647L
1109// ARMEABISOFTFP-NOT:#define __LP64__
1110// ARMEABISOFTFP:#define __POINTER_WIDTH__ 32
1111// ARMEABISOFTFP:#define __PTRDIFF_TYPE__ int
1112// ARMEABISOFTFP:#define __PTRDIFF_WIDTH__ 32
1113// ARMEABISOFTFP:#define __REGISTER_PREFIX__
1114// ARMEABISOFTFP:#define __SCHAR_MAX__ 127
1115// ARMEABISOFTFP:#define __SHRT_MAX__ 32767
1116// ARMEABISOFTFP:#define __SIG_ATOMIC_WIDTH__ 32
1117// ARMEABISOFTFP:#define __SIZEOF_DOUBLE__ 8
1118// ARMEABISOFTFP:#define __SIZEOF_FLOAT__ 4
1119// ARMEABISOFTFP:#define __SIZEOF_INT__ 4
1120// ARMEABISOFTFP:#define __SIZEOF_LONG_DOUBLE__ 8
1121// ARMEABISOFTFP:#define __SIZEOF_LONG_LONG__ 8
1122// ARMEABISOFTFP:#define __SIZEOF_LONG__ 4
1123// ARMEABISOFTFP:#define __SIZEOF_POINTER__ 4
1124// ARMEABISOFTFP:#define __SIZEOF_PTRDIFF_T__ 4
1125// ARMEABISOFTFP:#define __SIZEOF_SHORT__ 2
1126// ARMEABISOFTFP:#define __SIZEOF_SIZE_T__ 4
1127// ARMEABISOFTFP:#define __SIZEOF_WCHAR_T__ 4
1128// ARMEABISOFTFP:#define __SIZEOF_WINT_T__ 4
1129// ARMEABISOFTFP:#define __SIZE_MAX__ 4294967295U
1130// ARMEABISOFTFP:#define __SIZE_TYPE__ unsigned int
1131// ARMEABISOFTFP:#define __SIZE_WIDTH__ 32
1132// ARMEABISOFTFP:#define __SOFTFP__ 1
1133// ARMEABISOFTFP:#define __THUMB_INTERWORK__ 1
1134// ARMEABISOFTFP:#define __UINT16_C_SUFFIX__ U
1135// ARMEABISOFTFP:#define __UINT16_MAX__ 65535U
1136// ARMEABISOFTFP:#define __UINT16_TYPE__ unsigned short
1137// ARMEABISOFTFP:#define __UINT32_C_SUFFIX__ U
1138// ARMEABISOFTFP:#define __UINT32_MAX__ 4294967295U
1139// ARMEABISOFTFP:#define __UINT32_TYPE__ unsigned int
1140// ARMEABISOFTFP:#define __UINT64_C_SUFFIX__ ULL
1141// ARMEABISOFTFP:#define __UINT64_MAX__ 18446744073709551615ULL
1142// ARMEABISOFTFP:#define __UINT64_TYPE__ long long unsigned int
1143// ARMEABISOFTFP:#define __UINT8_C_SUFFIX__ U
1144// ARMEABISOFTFP:#define __UINT8_MAX__ 255U
1145// ARMEABISOFTFP:#define __UINT8_TYPE__ unsigned char
1146// ARMEABISOFTFP:#define __UINTMAX_MAX__ 18446744073709551615ULL
1147// ARMEABISOFTFP:#define __UINTMAX_TYPE__ long long unsigned int
1148// ARMEABISOFTFP:#define __UINTMAX_WIDTH__ 64
1149// ARMEABISOFTFP:#define __UINTPTR_MAX__ 4294967295U
1150// ARMEABISOFTFP:#define __UINTPTR_TYPE__ unsigned int
1151// ARMEABISOFTFP:#define __UINTPTR_WIDTH__ 32
1152// ARMEABISOFTFP:#define __UINT_FAST16_MAX__ 65535U
1153// ARMEABISOFTFP:#define __UINT_FAST16_TYPE__ unsigned short
1154// ARMEABISOFTFP:#define __UINT_FAST32_MAX__ 4294967295U
1155// ARMEABISOFTFP:#define __UINT_FAST32_TYPE__ unsigned int
1156// ARMEABISOFTFP:#define __UINT_FAST64_MAX__ 18446744073709551615ULL
1157// ARMEABISOFTFP:#define __UINT_FAST64_TYPE__ long long unsigned int
1158// ARMEABISOFTFP:#define __UINT_FAST8_MAX__ 255U
1159// ARMEABISOFTFP:#define __UINT_FAST8_TYPE__ unsigned char
1160// ARMEABISOFTFP:#define __UINT_LEAST16_MAX__ 65535U
1161// ARMEABISOFTFP:#define __UINT_LEAST16_TYPE__ unsigned short
1162// ARMEABISOFTFP:#define __UINT_LEAST32_MAX__ 4294967295U
1163// ARMEABISOFTFP:#define __UINT_LEAST32_TYPE__ unsigned int
1164// ARMEABISOFTFP:#define __UINT_LEAST64_MAX__ 18446744073709551615ULL
1165// ARMEABISOFTFP:#define __UINT_LEAST64_TYPE__ long long unsigned int
1166// ARMEABISOFTFP:#define __UINT_LEAST8_MAX__ 255U
1167// ARMEABISOFTFP:#define __UINT_LEAST8_TYPE__ unsigned char
1168// ARMEABISOFTFP:#define __USER_LABEL_PREFIX__
1169// ARMEABISOFTFP:#define __WCHAR_MAX__ 4294967295U
1170// ARMEABISOFTFP:#define __WCHAR_TYPE__ unsigned int
1171// ARMEABISOFTFP:#define __WCHAR_WIDTH__ 32
1172// ARMEABISOFTFP:#define __WINT_TYPE__ unsigned int
1173// ARMEABISOFTFP:#define __WINT_WIDTH__ 32
1174// ARMEABISOFTFP:#define __arm 1
1175// ARMEABISOFTFP:#define __arm__ 1
1176
1177// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-linux-gnueabi < /dev/null | FileCheck -check-prefix ARMEABIHARDFP %s
1178//
1179// ARMEABIHARDFP-NOT:#define _LP64
1180// ARMEABIHARDFP:#define __APCS_32__ 1
1181// ARMEABIHARDFP-NOT:#define __ARMEB__ 1
1182// ARMEABIHARDFP:#define __ARMEL__ 1
1183// ARMEABIHARDFP:#define __ARM_ARCH 6
1184// ARMEABIHARDFP:#define __ARM_ARCH_6J__ 1
1185// ARMEABIHARDFP-NOT:#define __ARM_BIG_ENDIAN 1
1186// ARMEABIHARDFP:#define __ARM_EABI__ 1
1187// ARMEABIHARDFP:#define __ARM_PCS 1
1188// ARMEABIHARDFP:#define __ARM_PCS_VFP 1
1189// ARMEABIHARDFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1190// ARMEABIHARDFP:#define __CHAR16_TYPE__ unsigned short
1191// ARMEABIHARDFP:#define __CHAR32_TYPE__ unsigned int
1192// ARMEABIHARDFP:#define __CHAR_BIT__ 8
1193// ARMEABIHARDFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1194// ARMEABIHARDFP:#define __DBL_DIG__ 15
1195// ARMEABIHARDFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
1196// ARMEABIHARDFP:#define __DBL_HAS_DENORM__ 1
1197// ARMEABIHARDFP:#define __DBL_HAS_INFINITY__ 1
1198// ARMEABIHARDFP:#define __DBL_HAS_QUIET_NAN__ 1
1199// ARMEABIHARDFP:#define __DBL_MANT_DIG__ 53
1200// ARMEABIHARDFP:#define __DBL_MAX_10_EXP__ 308
1201// ARMEABIHARDFP:#define __DBL_MAX_EXP__ 1024
1202// ARMEABIHARDFP:#define __DBL_MAX__ 1.7976931348623157e+308
1203// ARMEABIHARDFP:#define __DBL_MIN_10_EXP__ (-307)
1204// ARMEABIHARDFP:#define __DBL_MIN_EXP__ (-1021)
1205// ARMEABIHARDFP:#define __DBL_MIN__ 2.2250738585072014e-308
1206// ARMEABIHARDFP:#define __DECIMAL_DIG__ 17
1207// ARMEABIHARDFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1208// ARMEABIHARDFP:#define __FLT_DIG__ 6
1209// ARMEABIHARDFP:#define __FLT_EPSILON__ 1.19209290e-7F
1210// ARMEABIHARDFP:#define __FLT_EVAL_METHOD__ 0
1211// ARMEABIHARDFP:#define __FLT_HAS_DENORM__ 1
1212// ARMEABIHARDFP:#define __FLT_HAS_INFINITY__ 1
1213// ARMEABIHARDFP:#define __FLT_HAS_QUIET_NAN__ 1
1214// ARMEABIHARDFP:#define __FLT_MANT_DIG__ 24
1215// ARMEABIHARDFP:#define __FLT_MAX_10_EXP__ 38
1216// ARMEABIHARDFP:#define __FLT_MAX_EXP__ 128
1217// ARMEABIHARDFP:#define __FLT_MAX__ 3.40282347e+38F
1218// ARMEABIHARDFP:#define __FLT_MIN_10_EXP__ (-37)
1219// ARMEABIHARDFP:#define __FLT_MIN_EXP__ (-125)
1220// ARMEABIHARDFP:#define __FLT_MIN__ 1.17549435e-38F
1221// ARMEABIHARDFP:#define __FLT_RADIX__ 2
1222// ARMEABIHARDFP:#define __INT16_MAX__ 32767
1223// ARMEABIHARDFP:#define __INT16_TYPE__ short
1224// ARMEABIHARDFP:#define __INT32_MAX__ 2147483647
1225// ARMEABIHARDFP:#define __INT32_TYPE__ int
1226// ARMEABIHARDFP:#define __INT64_C_SUFFIX__ LL
1227// ARMEABIHARDFP:#define __INT64_MAX__ 9223372036854775807LL
1228// ARMEABIHARDFP:#define __INT64_TYPE__ long long int
1229// ARMEABIHARDFP:#define __INT8_MAX__ 127
1230// ARMEABIHARDFP:#define __INT8_TYPE__ char
1231// ARMEABIHARDFP:#define __INTMAX_MAX__ 9223372036854775807LL
1232// ARMEABIHARDFP:#define __INTMAX_TYPE__ long long int
1233// ARMEABIHARDFP:#define __INTMAX_WIDTH__ 64
1234// ARMEABIHARDFP:#define __INTPTR_MAX__ 2147483647L
1235// ARMEABIHARDFP:#define __INTPTR_TYPE__ long int
1236// ARMEABIHARDFP:#define __INTPTR_WIDTH__ 32
1237// ARMEABIHARDFP:#define __INT_FAST16_MAX__ 32767
1238// ARMEABIHARDFP:#define __INT_FAST16_TYPE__ short
1239// ARMEABIHARDFP:#define __INT_FAST32_MAX__ 2147483647
1240// ARMEABIHARDFP:#define __INT_FAST32_TYPE__ int
1241// ARMEABIHARDFP:#define __INT_FAST64_MAX__ 9223372036854775807LL
1242// ARMEABIHARDFP:#define __INT_FAST64_TYPE__ long long int
1243// ARMEABIHARDFP:#define __INT_FAST8_MAX__ 127
1244// ARMEABIHARDFP:#define __INT_FAST8_TYPE__ char
1245// ARMEABIHARDFP:#define __INT_LEAST16_MAX__ 32767
1246// ARMEABIHARDFP:#define __INT_LEAST16_TYPE__ short
1247// ARMEABIHARDFP:#define __INT_LEAST32_MAX__ 2147483647
1248// ARMEABIHARDFP:#define __INT_LEAST32_TYPE__ int
1249// ARMEABIHARDFP:#define __INT_LEAST64_MAX__ 9223372036854775807LL
1250// ARMEABIHARDFP:#define __INT_LEAST64_TYPE__ long long int
1251// ARMEABIHARDFP:#define __INT_LEAST8_MAX__ 127
1252// ARMEABIHARDFP:#define __INT_LEAST8_TYPE__ char
1253// ARMEABIHARDFP:#define __INT_MAX__ 2147483647
1254// ARMEABIHARDFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
1255// ARMEABIHARDFP:#define __LDBL_DIG__ 15
1256// ARMEABIHARDFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
1257// ARMEABIHARDFP:#define __LDBL_HAS_DENORM__ 1
1258// ARMEABIHARDFP:#define __LDBL_HAS_INFINITY__ 1
1259// ARMEABIHARDFP:#define __LDBL_HAS_QUIET_NAN__ 1
1260// ARMEABIHARDFP:#define __LDBL_MANT_DIG__ 53
1261// ARMEABIHARDFP:#define __LDBL_MAX_10_EXP__ 308
1262// ARMEABIHARDFP:#define __LDBL_MAX_EXP__ 1024
1263// ARMEABIHARDFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
1264// ARMEABIHARDFP:#define __LDBL_MIN_10_EXP__ (-307)
1265// ARMEABIHARDFP:#define __LDBL_MIN_EXP__ (-1021)
1266// ARMEABIHARDFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
1267// ARMEABIHARDFP:#define __LITTLE_ENDIAN__ 1
1268// ARMEABIHARDFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
1269// ARMEABIHARDFP:#define __LONG_MAX__ 2147483647L
1270// ARMEABIHARDFP-NOT:#define __LP64__
1271// ARMEABIHARDFP:#define __POINTER_WIDTH__ 32
1272// ARMEABIHARDFP:#define __PTRDIFF_TYPE__ int
1273// ARMEABIHARDFP:#define __PTRDIFF_WIDTH__ 32
1274// ARMEABIHARDFP:#define __REGISTER_PREFIX__
1275// ARMEABIHARDFP:#define __SCHAR_MAX__ 127
1276// ARMEABIHARDFP:#define __SHRT_MAX__ 32767
1277// ARMEABIHARDFP:#define __SIG_ATOMIC_WIDTH__ 32
1278// ARMEABIHARDFP:#define __SIZEOF_DOUBLE__ 8
1279// ARMEABIHARDFP:#define __SIZEOF_FLOAT__ 4
1280// ARMEABIHARDFP:#define __SIZEOF_INT__ 4
1281// ARMEABIHARDFP:#define __SIZEOF_LONG_DOUBLE__ 8
1282// ARMEABIHARDFP:#define __SIZEOF_LONG_LONG__ 8
1283// ARMEABIHARDFP:#define __SIZEOF_LONG__ 4
1284// ARMEABIHARDFP:#define __SIZEOF_POINTER__ 4
1285// ARMEABIHARDFP:#define __SIZEOF_PTRDIFF_T__ 4
1286// ARMEABIHARDFP:#define __SIZEOF_SHORT__ 2
1287// ARMEABIHARDFP:#define __SIZEOF_SIZE_T__ 4
1288// ARMEABIHARDFP:#define __SIZEOF_WCHAR_T__ 4
1289// ARMEABIHARDFP:#define __SIZEOF_WINT_T__ 4
1290// ARMEABIHARDFP:#define __SIZE_MAX__ 4294967295U
1291// ARMEABIHARDFP:#define __SIZE_TYPE__ unsigned int
1292// ARMEABIHARDFP:#define __SIZE_WIDTH__ 32
1293// ARMEABIHARDFP-NOT:#define __SOFTFP__ 1
1294// ARMEABIHARDFP:#define __THUMB_INTERWORK__ 1
1295// ARMEABIHARDFP:#define __UINT16_C_SUFFIX__ U
1296// ARMEABIHARDFP:#define __UINT16_MAX__ 65535U
1297// ARMEABIHARDFP:#define __UINT16_TYPE__ unsigned short
1298// ARMEABIHARDFP:#define __UINT32_C_SUFFIX__ U
1299// ARMEABIHARDFP:#define __UINT32_MAX__ 4294967295U
1300// ARMEABIHARDFP:#define __UINT32_TYPE__ unsigned int
1301// ARMEABIHARDFP:#define __UINT64_C_SUFFIX__ ULL
1302// ARMEABIHARDFP:#define __UINT64_MAX__ 18446744073709551615ULL
1303// ARMEABIHARDFP:#define __UINT64_TYPE__ long long unsigned int
1304// ARMEABIHARDFP:#define __UINT8_C_SUFFIX__ U
1305// ARMEABIHARDFP:#define __UINT8_MAX__ 255U
1306// ARMEABIHARDFP:#define __UINT8_TYPE__ unsigned char
1307// ARMEABIHARDFP:#define __UINTMAX_MAX__ 18446744073709551615ULL
1308// ARMEABIHARDFP:#define __UINTMAX_TYPE__ long long unsigned int
1309// ARMEABIHARDFP:#define __UINTMAX_WIDTH__ 64
1310// ARMEABIHARDFP:#define __UINTPTR_MAX__ 4294967295U
1311// ARMEABIHARDFP:#define __UINTPTR_TYPE__ unsigned int
1312// ARMEABIHARDFP:#define __UINTPTR_WIDTH__ 32
1313// ARMEABIHARDFP:#define __UINT_FAST16_MAX__ 65535U
1314// ARMEABIHARDFP:#define __UINT_FAST16_TYPE__ unsigned short
1315// ARMEABIHARDFP:#define __UINT_FAST32_MAX__ 4294967295U
1316// ARMEABIHARDFP:#define __UINT_FAST32_TYPE__ unsigned int
1317// ARMEABIHARDFP:#define __UINT_FAST64_MAX__ 18446744073709551615ULL
1318// ARMEABIHARDFP:#define __UINT_FAST64_TYPE__ long long unsigned int
1319// ARMEABIHARDFP:#define __UINT_FAST8_MAX__ 255U
1320// ARMEABIHARDFP:#define __UINT_FAST8_TYPE__ unsigned char
1321// ARMEABIHARDFP:#define __UINT_LEAST16_MAX__ 65535U
1322// ARMEABIHARDFP:#define __UINT_LEAST16_TYPE__ unsigned short
1323// ARMEABIHARDFP:#define __UINT_LEAST32_MAX__ 4294967295U
1324// ARMEABIHARDFP:#define __UINT_LEAST32_TYPE__ unsigned int
1325// ARMEABIHARDFP:#define __UINT_LEAST64_MAX__ 18446744073709551615ULL
1326// ARMEABIHARDFP:#define __UINT_LEAST64_TYPE__ long long unsigned int
1327// ARMEABIHARDFP:#define __UINT_LEAST8_MAX__ 255U
1328// ARMEABIHARDFP:#define __UINT_LEAST8_TYPE__ unsigned char
1329// ARMEABIHARDFP:#define __USER_LABEL_PREFIX__
1330// ARMEABIHARDFP:#define __WCHAR_MAX__ 4294967295U
1331// ARMEABIHARDFP:#define __WCHAR_TYPE__ unsigned int
1332// ARMEABIHARDFP:#define __WCHAR_WIDTH__ 32
1333// ARMEABIHARDFP:#define __WINT_TYPE__ unsigned int
1334// ARMEABIHARDFP:#define __WINT_WIDTH__ 32
1335// ARMEABIHARDFP:#define __arm 1
1336// ARMEABIHARDFP:#define __arm__ 1
1337
1338// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-netbsd-eabi < /dev/null | FileCheck -check-prefix ARM-NETBSD %s
1339//
1340// ARM-NETBSD-NOT:#define _LP64
1341// ARM-NETBSD:#define __APCS_32__ 1
1342// ARM-NETBSD-NOT:#define __ARMEB__ 1
1343// ARM-NETBSD:#define __ARMEL__ 1
1344// ARM-NETBSD:#define __ARM_ARCH_6J__ 1
1345// ARM-NETBSD:#define __ARM_DWARF_EH__ 1
1346// ARM-NETBSD:#define __ARM_EABI__ 1
1347// ARM-NETBSD-NOT:#define __ARM_BIG_ENDIAN 1
1348// ARM-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1349// ARM-NETBSD:#define __CHAR16_TYPE__ unsigned short
1350// ARM-NETBSD:#define __CHAR32_TYPE__ unsigned int
1351// ARM-NETBSD:#define __CHAR_BIT__ 8
1352// ARM-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1353// ARM-NETBSD:#define __DBL_DIG__ 15
1354// ARM-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
1355// ARM-NETBSD:#define __DBL_HAS_DENORM__ 1
1356// ARM-NETBSD:#define __DBL_HAS_INFINITY__ 1
1357// ARM-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
1358// ARM-NETBSD:#define __DBL_MANT_DIG__ 53
1359// ARM-NETBSD:#define __DBL_MAX_10_EXP__ 308
1360// ARM-NETBSD:#define __DBL_MAX_EXP__ 1024
1361// ARM-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
1362// ARM-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
1363// ARM-NETBSD:#define __DBL_MIN_EXP__ (-1021)
1364// ARM-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
1365// ARM-NETBSD:#define __DECIMAL_DIG__ 17
1366// ARM-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1367// ARM-NETBSD:#define __FLT_DIG__ 6
1368// ARM-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
1369// ARM-NETBSD:#define __FLT_EVAL_METHOD__ 0
1370// ARM-NETBSD:#define __FLT_HAS_DENORM__ 1
1371// ARM-NETBSD:#define __FLT_HAS_INFINITY__ 1
1372// ARM-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
1373// ARM-NETBSD:#define __FLT_MANT_DIG__ 24
1374// ARM-NETBSD:#define __FLT_MAX_10_EXP__ 38
1375// ARM-NETBSD:#define __FLT_MAX_EXP__ 128
1376// ARM-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
1377// ARM-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
1378// ARM-NETBSD:#define __FLT_MIN_EXP__ (-125)
1379// ARM-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
1380// ARM-NETBSD:#define __FLT_RADIX__ 2
1381// ARM-NETBSD:#define __INT16_MAX__ 32767
1382// ARM-NETBSD:#define __INT16_TYPE__ short
1383// ARM-NETBSD:#define __INT32_MAX__ 2147483647
1384// ARM-NETBSD:#define __INT32_TYPE__ int
1385// ARM-NETBSD:#define __INT64_C_SUFFIX__ LL
1386// ARM-NETBSD:#define __INT64_MAX__ 9223372036854775807LL
1387// ARM-NETBSD:#define __INT64_TYPE__ long long int
1388// ARM-NETBSD:#define __INT8_MAX__ 127
1389// ARM-NETBSD:#define __INT8_TYPE__ char
1390// ARM-NETBSD:#define __INTMAX_MAX__ 9223372036854775807LL
1391// ARM-NETBSD:#define __INTMAX_TYPE__ long long int
1392// ARM-NETBSD:#define __INTMAX_WIDTH__ 64
1393// ARM-NETBSD:#define __INTPTR_MAX__ 2147483647L
1394// ARM-NETBSD:#define __INTPTR_TYPE__ long int
1395// ARM-NETBSD:#define __INTPTR_WIDTH__ 32
1396// ARM-NETBSD:#define __INT_FAST16_MAX__ 32767
1397// ARM-NETBSD:#define __INT_FAST16_TYPE__ short
1398// ARM-NETBSD:#define __INT_FAST32_MAX__ 2147483647
1399// ARM-NETBSD:#define __INT_FAST32_TYPE__ int
1400// ARM-NETBSD:#define __INT_FAST64_MAX__ 9223372036854775807LL
1401// ARM-NETBSD:#define __INT_FAST64_TYPE__ long long int
1402// ARM-NETBSD:#define __INT_FAST8_MAX__ 127
1403// ARM-NETBSD:#define __INT_FAST8_TYPE__ char
1404// ARM-NETBSD:#define __INT_LEAST16_MAX__ 32767
1405// ARM-NETBSD:#define __INT_LEAST16_TYPE__ short
1406// ARM-NETBSD:#define __INT_LEAST32_MAX__ 2147483647
1407// ARM-NETBSD:#define __INT_LEAST32_TYPE__ int
1408// ARM-NETBSD:#define __INT_LEAST64_MAX__ 9223372036854775807LL
1409// ARM-NETBSD:#define __INT_LEAST64_TYPE__ long long int
1410// ARM-NETBSD:#define __INT_LEAST8_MAX__ 127
1411// ARM-NETBSD:#define __INT_LEAST8_TYPE__ char
1412// ARM-NETBSD:#define __INT_MAX__ 2147483647
1413// ARM-NETBSD:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
1414// ARM-NETBSD:#define __LDBL_DIG__ 15
1415// ARM-NETBSD:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
1416// ARM-NETBSD:#define __LDBL_HAS_DENORM__ 1
1417// ARM-NETBSD:#define __LDBL_HAS_INFINITY__ 1
1418// ARM-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
1419// ARM-NETBSD:#define __LDBL_MANT_DIG__ 53
1420// ARM-NETBSD:#define __LDBL_MAX_10_EXP__ 308
1421// ARM-NETBSD:#define __LDBL_MAX_EXP__ 1024
1422// ARM-NETBSD:#define __LDBL_MAX__ 1.7976931348623157e+308L
1423// ARM-NETBSD:#define __LDBL_MIN_10_EXP__ (-307)
1424// ARM-NETBSD:#define __LDBL_MIN_EXP__ (-1021)
1425// ARM-NETBSD:#define __LDBL_MIN__ 2.2250738585072014e-308L
1426// ARM-NETBSD:#define __LITTLE_ENDIAN__ 1
1427// ARM-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
1428// ARM-NETBSD:#define __LONG_MAX__ 2147483647L
1429// ARM-NETBSD-NOT:#define __LP64__
1430// ARM-NETBSD:#define __POINTER_WIDTH__ 32
1431// ARM-NETBSD:#define __PTRDIFF_TYPE__ long int
1432// ARM-NETBSD:#define __PTRDIFF_WIDTH__ 32
1433// ARM-NETBSD:#define __REGISTER_PREFIX__
1434// ARM-NETBSD:#define __SCHAR_MAX__ 127
1435// ARM-NETBSD:#define __SHRT_MAX__ 32767
1436// ARM-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
1437// ARM-NETBSD:#define __SIZEOF_DOUBLE__ 8
1438// ARM-NETBSD:#define __SIZEOF_FLOAT__ 4
1439// ARM-NETBSD:#define __SIZEOF_INT__ 4
1440// ARM-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 8
1441// ARM-NETBSD:#define __SIZEOF_LONG_LONG__ 8
1442// ARM-NETBSD:#define __SIZEOF_LONG__ 4
1443// ARM-NETBSD:#define __SIZEOF_POINTER__ 4
1444// ARM-NETBSD:#define __SIZEOF_PTRDIFF_T__ 4
1445// ARM-NETBSD:#define __SIZEOF_SHORT__ 2
1446// ARM-NETBSD:#define __SIZEOF_SIZE_T__ 4
1447// ARM-NETBSD:#define __SIZEOF_WCHAR_T__ 4
1448// ARM-NETBSD:#define __SIZEOF_WINT_T__ 4
1449// ARM-NETBSD:#define __SIZE_MAX__ 4294967295U
1450// ARM-NETBSD:#define __SIZE_TYPE__ long unsigned int
1451// ARM-NETBSD:#define __SIZE_WIDTH__ 32
1452// ARM-NETBSD:#define __THUMB_INTERWORK__ 1
1453// ARM-NETBSD:#define __UINT16_C_SUFFIX__ U
1454// ARM-NETBSD:#define __UINT16_MAX__ 65535U
1455// ARM-NETBSD:#define __UINT16_TYPE__ unsigned short
1456// ARM-NETBSD:#define __UINT32_C_SUFFIX__ U
1457// ARM-NETBSD:#define __UINT32_MAX__ 4294967295U
1458// ARM-NETBSD:#define __UINT32_TYPE__ unsigned int
1459// ARM-NETBSD:#define __UINT64_C_SUFFIX__ ULL
1460// ARM-NETBSD:#define __UINT64_MAX__ 18446744073709551615ULL
1461// ARM-NETBSD:#define __UINT64_TYPE__ long long unsigned int
1462// ARM-NETBSD:#define __UINT8_C_SUFFIX__ U
1463// ARM-NETBSD:#define __UINT8_MAX__ 255U
1464// ARM-NETBSD:#define __UINT8_TYPE__ unsigned char
1465// ARM-NETBSD:#define __UINTMAX_MAX__ 18446744073709551615ULL
1466// ARM-NETBSD:#define __UINTMAX_TYPE__ long long unsigned int
1467// ARM-NETBSD:#define __UINTMAX_WIDTH__ 64
1468// ARM-NETBSD:#define __UINTPTR_MAX__ 4294967295U
1469// ARM-NETBSD:#define __UINTPTR_TYPE__ unsigned int
1470// ARM-NETBSD:#define __UINTPTR_WIDTH__ 32
1471// ARM-NETBSD:#define __UINT_FAST16_MAX__ 65535U
1472// ARM-NETBSD:#define __UINT_FAST16_TYPE__ unsigned short
1473// ARM-NETBSD:#define __UINT_FAST32_MAX__ 4294967295U
1474// ARM-NETBSD:#define __UINT_FAST32_TYPE__ unsigned int
1475// ARM-NETBSD:#define __UINT_FAST64_MAX__ 18446744073709551615ULL
1476// ARM-NETBSD:#define __UINT_FAST64_TYPE__ long long unsigned int
1477// ARM-NETBSD:#define __UINT_FAST8_MAX__ 255U
1478// ARM-NETBSD:#define __UINT_FAST8_TYPE__ unsigned char
1479// ARM-NETBSD:#define __UINT_LEAST16_MAX__ 65535U
1480// ARM-NETBSD:#define __UINT_LEAST16_TYPE__ unsigned short
1481// ARM-NETBSD:#define __UINT_LEAST32_MAX__ 4294967295U
1482// ARM-NETBSD:#define __UINT_LEAST32_TYPE__ unsigned int
1483// ARM-NETBSD:#define __UINT_LEAST64_MAX__ 18446744073709551615ULL
1484// ARM-NETBSD:#define __UINT_LEAST64_TYPE__ long long unsigned int
1485// ARM-NETBSD:#define __UINT_LEAST8_MAX__ 255U
1486// ARM-NETBSD:#define __UINT_LEAST8_TYPE__ unsigned char
1487// ARM-NETBSD:#define __USER_LABEL_PREFIX__
1488// ARM-NETBSD:#define __WCHAR_MAX__ 2147483647
1489// ARM-NETBSD:#define __WCHAR_TYPE__ int
1490// ARM-NETBSD:#define __WCHAR_WIDTH__ 32
1491// ARM-NETBSD:#define __WINT_TYPE__ int
1492// ARM-NETBSD:#define __WINT_WIDTH__ 32
1493// ARM-NETBSD:#define __arm 1
1494// ARM-NETBSD:#define __arm__ 1
1495
1496// RUN: %clang -target arm -arch armv7s -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
1497// RUN: %clang -target arm -arch armv6m -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
1498// RUN: %clang -target arm -arch armv7m -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
1499// RUN: %clang -target arm -arch armv7em -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
1500// RUN: %clang -target thumbv7-apple-darwin-eabi -arch armv7 -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
1501// ARM-DARWIN-NO-EABI-NOT: #define __ARM_EABI__ 1
1502
1503// Check that -mhwdiv works properly for targets which don't have the hwdiv feature enabled by default.
1504
1505// RUN: %clang -target arm -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-ARM %s
1506// ARMHWDIV-ARM:#define __ARM_ARCH_EXT_IDIV__ 1
1507
1508// RUN: %clang -target arm -mthumb -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-THUMB %s
1509// THUMBHWDIV-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1
1510
1511// RUN: %clang -target arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-FALSE %s
1512// ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
1513
1514// RUN: %clang -target arm -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMB-FALSE %s
1515// THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
1516
1517// RUN: %clang -target arm -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-ARM-FALSE %s
1518// THUMBHWDIV-ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
1519
1520// RUN: %clang -target arm -mthumb -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-THUMB-FALSE %s
1521// ARMHWDIV-THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
1522
1523// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armv8-none-none < /dev/null | FileCheck -check-prefix ARMv8 %s
1524// ARMv8: #define __THUMB_INTERWORK__ 1
1525// ARMv8-NOT: #define __thumb2__
1526
1527// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armebv8-none-none < /dev/null | FileCheck -check-prefix ARMebv8 %s
1528// ARMebv8: #define __THUMB_INTERWORK__ 1
1529// ARMebv8-NOT: #define __thumb2__
1530
1531// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv8 < /dev/null | FileCheck -check-prefix Thumbv8 %s
1532// Thumbv8: #define __THUMB_INTERWORK__ 1
1533// Thumbv8: #define __thumb2__
1534
1535// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbebv8 < /dev/null | FileCheck -check-prefix Thumbebv8 %s
1536// Thumbebv8: #define __THUMB_INTERWORK__ 1
1537// Thumbebv8: #define __thumb2__
1538
1539// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv5 < /dev/null | FileCheck -check-prefix Thumbv5 %s
1540// Thumbv5: #define __THUMB_INTERWORK__ 1
1541// Thumbv5-NOT: #define __thumb2__
1542
1543// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv6t2 < /dev/null | FileCheck -check-prefix Thumbv6t2 %s
1544// Thumbv6t2: #define __THUMB_INTERWORK__ 1
1545// Thumbv6t2: #define __thumb2__
1546
1547// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv7 < /dev/null | FileCheck -check-prefix Thumbv7 %s
1548// Thumbv7: #define __THUMB_INTERWORK__ 1
1549// Thumbv7: #define __thumb2__
1550
1551// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbebv7 < /dev/null | FileCheck -check-prefix Thumbebv7 %s
1552// Thumbebv7: #define __THUMB_INTERWORK__ 1
1553// Thumbebv7: #define __thumb2__
1554
1555//
1556// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
1557//
1558// I386-NOT:#define _LP64
1559// I386:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1560// I386:#define __CHAR16_TYPE__ unsigned short
1561// I386:#define __CHAR32_TYPE__ unsigned int
1562// I386:#define __CHAR_BIT__ 8
1563// I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1564// I386:#define __DBL_DIG__ 15
1565// I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
1566// I386:#define __DBL_HAS_DENORM__ 1
1567// I386:#define __DBL_HAS_INFINITY__ 1
1568// I386:#define __DBL_HAS_QUIET_NAN__ 1
1569// I386:#define __DBL_MANT_DIG__ 53
1570// I386:#define __DBL_MAX_10_EXP__ 308
1571// I386:#define __DBL_MAX_EXP__ 1024
1572// I386:#define __DBL_MAX__ 1.7976931348623157e+308
1573// I386:#define __DBL_MIN_10_EXP__ (-307)
1574// I386:#define __DBL_MIN_EXP__ (-1021)
1575// I386:#define __DBL_MIN__ 2.2250738585072014e-308
1576// I386:#define __DECIMAL_DIG__ 21
1577// I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1578// I386:#define __FLT_DIG__ 6
1579// I386:#define __FLT_EPSILON__ 1.19209290e-7F
1580// I386:#define __FLT_EVAL_METHOD__ 2
1581// I386:#define __FLT_HAS_DENORM__ 1
1582// I386:#define __FLT_HAS_INFINITY__ 1
1583// I386:#define __FLT_HAS_QUIET_NAN__ 1
1584// I386:#define __FLT_MANT_DIG__ 24
1585// I386:#define __FLT_MAX_10_EXP__ 38
1586// I386:#define __FLT_MAX_EXP__ 128
1587// I386:#define __FLT_MAX__ 3.40282347e+38F
1588// I386:#define __FLT_MIN_10_EXP__ (-37)
1589// I386:#define __FLT_MIN_EXP__ (-125)
1590// I386:#define __FLT_MIN__ 1.17549435e-38F
1591// I386:#define __FLT_RADIX__ 2
1592// I386:#define __INT16_MAX__ 32767
1593// I386:#define __INT16_TYPE__ short
1594// I386:#define __INT32_MAX__ 2147483647
1595// I386:#define __INT32_TYPE__ int
1596// I386:#define __INT64_C_SUFFIX__ LL
1597// I386:#define __INT64_MAX__ 9223372036854775807LL
1598// I386:#define __INT64_TYPE__ long long int
1599// I386:#define __INT8_MAX__ 127
1600// I386:#define __INT8_TYPE__ char
1601// I386:#define __INTMAX_MAX__ 9223372036854775807LL
1602// I386:#define __INTMAX_TYPE__ long long int
1603// I386:#define __INTMAX_WIDTH__ 64
1604// I386:#define __INTPTR_MAX__ 2147483647
1605// I386:#define __INTPTR_TYPE__ int
1606// I386:#define __INTPTR_WIDTH__ 32
1607// I386:#define __INT_FAST16_MAX__ 32767
1608// I386:#define __INT_FAST16_TYPE__ short
1609// I386:#define __INT_FAST32_MAX__ 2147483647
1610// I386:#define __INT_FAST32_TYPE__ int
1611// I386:#define __INT_FAST64_MAX__ 9223372036854775807LL
1612// I386:#define __INT_FAST64_TYPE__ long long int
1613// I386:#define __INT_FAST8_MAX__ 127
1614// I386:#define __INT_FAST8_TYPE__ char
1615// I386:#define __INT_LEAST16_MAX__ 32767
1616// I386:#define __INT_LEAST16_TYPE__ short
1617// I386:#define __INT_LEAST32_MAX__ 2147483647
1618// I386:#define __INT_LEAST32_TYPE__ int
1619// I386:#define __INT_LEAST64_MAX__ 9223372036854775807LL
1620// I386:#define __INT_LEAST64_TYPE__ long long int
1621// I386:#define __INT_LEAST8_MAX__ 127
1622// I386:#define __INT_LEAST8_TYPE__ char
1623// I386:#define __INT_MAX__ 2147483647
1624// I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1625// I386:#define __LDBL_DIG__ 18
1626// I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1627// I386:#define __LDBL_HAS_DENORM__ 1
1628// I386:#define __LDBL_HAS_INFINITY__ 1
1629// I386:#define __LDBL_HAS_QUIET_NAN__ 1
1630// I386:#define __LDBL_MANT_DIG__ 64
1631// I386:#define __LDBL_MAX_10_EXP__ 4932
1632// I386:#define __LDBL_MAX_EXP__ 16384
1633// I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1634// I386:#define __LDBL_MIN_10_EXP__ (-4931)
1635// I386:#define __LDBL_MIN_EXP__ (-16381)
1636// I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1637// I386:#define __LITTLE_ENDIAN__ 1
1638// I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
1639// I386:#define __LONG_MAX__ 2147483647L
1640// I386-NOT:#define __LP64__
1641// I386:#define __NO_MATH_INLINES 1
1642// I386:#define __POINTER_WIDTH__ 32
1643// I386:#define __PTRDIFF_TYPE__ int
1644// I386:#define __PTRDIFF_WIDTH__ 32
1645// I386:#define __REGISTER_PREFIX__
1646// I386:#define __SCHAR_MAX__ 127
1647// I386:#define __SHRT_MAX__ 32767
1648// I386:#define __SIG_ATOMIC_WIDTH__ 32
1649// I386:#define __SIZEOF_DOUBLE__ 8
1650// I386:#define __SIZEOF_FLOAT__ 4
1651// I386:#define __SIZEOF_INT__ 4
1652// I386:#define __SIZEOF_LONG_DOUBLE__ 12
1653// I386:#define __SIZEOF_LONG_LONG__ 8
1654// I386:#define __SIZEOF_LONG__ 4
1655// I386:#define __SIZEOF_POINTER__ 4
1656// I386:#define __SIZEOF_PTRDIFF_T__ 4
1657// I386:#define __SIZEOF_SHORT__ 2
1658// I386:#define __SIZEOF_SIZE_T__ 4
1659// I386:#define __SIZEOF_WCHAR_T__ 4
1660// I386:#define __SIZEOF_WINT_T__ 4
1661// I386:#define __SIZE_MAX__ 4294967295U
1662// I386:#define __SIZE_TYPE__ unsigned int
1663// I386:#define __SIZE_WIDTH__ 32
1664// I386:#define __UINT16_C_SUFFIX__ U
1665// I386:#define __UINT16_MAX__ 65535U
1666// I386:#define __UINT16_TYPE__ unsigned short
1667// I386:#define __UINT32_C_SUFFIX__ U
1668// I386:#define __UINT32_MAX__ 4294967295U
1669// I386:#define __UINT32_TYPE__ unsigned int
1670// I386:#define __UINT64_C_SUFFIX__ ULL
1671// I386:#define __UINT64_MAX__ 18446744073709551615ULL
1672// I386:#define __UINT64_TYPE__ long long unsigned int
1673// I386:#define __UINT8_C_SUFFIX__ U
1674// I386:#define __UINT8_MAX__ 255U
1675// I386:#define __UINT8_TYPE__ unsigned char
1676// I386:#define __UINTMAX_MAX__ 18446744073709551615ULL
1677// I386:#define __UINTMAX_TYPE__ long long unsigned int
1678// I386:#define __UINTMAX_WIDTH__ 64
1679// I386:#define __UINTPTR_MAX__ 4294967295U
1680// I386:#define __UINTPTR_TYPE__ unsigned int
1681// I386:#define __UINTPTR_WIDTH__ 32
1682// I386:#define __UINT_FAST16_MAX__ 65535U
1683// I386:#define __UINT_FAST16_TYPE__ unsigned short
1684// I386:#define __UINT_FAST32_MAX__ 4294967295U
1685// I386:#define __UINT_FAST32_TYPE__ unsigned int
1686// I386:#define __UINT_FAST64_MAX__ 18446744073709551615ULL
1687// I386:#define __UINT_FAST64_TYPE__ long long unsigned int
1688// I386:#define __UINT_FAST8_MAX__ 255U
1689// I386:#define __UINT_FAST8_TYPE__ unsigned char
1690// I386:#define __UINT_LEAST16_MAX__ 65535U
1691// I386:#define __UINT_LEAST16_TYPE__ unsigned short
1692// I386:#define __UINT_LEAST32_MAX__ 4294967295U
1693// I386:#define __UINT_LEAST32_TYPE__ unsigned int
1694// I386:#define __UINT_LEAST64_MAX__ 18446744073709551615ULL
1695// I386:#define __UINT_LEAST64_TYPE__ long long unsigned int
1696// I386:#define __UINT_LEAST8_MAX__ 255U
1697// I386:#define __UINT_LEAST8_TYPE__ unsigned char
1698// I386:#define __USER_LABEL_PREFIX__ _
1699// I386:#define __WCHAR_MAX__ 2147483647
1700// I386:#define __WCHAR_TYPE__ int
1701// I386:#define __WCHAR_WIDTH__ 32
1702// I386:#define __WINT_TYPE__ int
1703// I386:#define __WINT_WIDTH__ 32
1704// I386:#define __i386 1
1705// I386:#define __i386__ 1
1706// I386:#define i386 1
1707//
1708// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-pc-linux-gnu -target-cpu pentium4 < /dev/null | FileCheck -check-prefix I386-LINUX %s
1709//
1710// I386-LINUX-NOT:#define _LP64
1711// I386-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1712// I386-LINUX:#define __CHAR16_TYPE__ unsigned short
1713// I386-LINUX:#define __CHAR32_TYPE__ unsigned int
1714// I386-LINUX:#define __CHAR_BIT__ 8
1715// I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1716// I386-LINUX:#define __DBL_DIG__ 15
1717// I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
1718// I386-LINUX:#define __DBL_HAS_DENORM__ 1
1719// I386-LINUX:#define __DBL_HAS_INFINITY__ 1
1720// I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
1721// I386-LINUX:#define __DBL_MANT_DIG__ 53
1722// I386-LINUX:#define __DBL_MAX_10_EXP__ 308
1723// I386-LINUX:#define __DBL_MAX_EXP__ 1024
1724// I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
1725// I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
1726// I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
1727// I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
1728// I386-LINUX:#define __DECIMAL_DIG__ 21
1729// I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1730// I386-LINUX:#define __FLT_DIG__ 6
1731// I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
1732// I386-LINUX:#define __FLT_EVAL_METHOD__ 0
1733// I386-LINUX:#define __FLT_HAS_DENORM__ 1
1734// I386-LINUX:#define __FLT_HAS_INFINITY__ 1
1735// I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
1736// I386-LINUX:#define __FLT_MANT_DIG__ 24
1737// I386-LINUX:#define __FLT_MAX_10_EXP__ 38
1738// I386-LINUX:#define __FLT_MAX_EXP__ 128
1739// I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
1740// I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
1741// I386-LINUX:#define __FLT_MIN_EXP__ (-125)
1742// I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
1743// I386-LINUX:#define __FLT_RADIX__ 2
1744// I386-LINUX:#define __INT16_MAX__ 32767
1745// I386-LINUX:#define __INT16_TYPE__ short
1746// I386-LINUX:#define __INT32_MAX__ 2147483647
1747// I386-LINUX:#define __INT32_TYPE__ int
1748// I386-LINUX:#define __INT64_C_SUFFIX__ LL
1749// I386-LINUX:#define __INT64_MAX__ 9223372036854775807LL
1750// I386-LINUX:#define __INT64_TYPE__ long long int
1751// I386-LINUX:#define __INT8_MAX__ 127
1752// I386-LINUX:#define __INT8_TYPE__ char
1753// I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
1754// I386-LINUX:#define __INTMAX_TYPE__ long long int
1755// I386-LINUX:#define __INTMAX_WIDTH__ 64
1756// I386-LINUX:#define __INTPTR_MAX__ 2147483647
1757// I386-LINUX:#define __INTPTR_TYPE__ int
1758// I386-LINUX:#define __INTPTR_WIDTH__ 32
1759// I386-LINUX:#define __INT_FAST16_MAX__ 32767
1760// I386-LINUX:#define __INT_FAST16_TYPE__ short
1761// I386-LINUX:#define __INT_FAST32_MAX__ 2147483647
1762// I386-LINUX:#define __INT_FAST32_TYPE__ int
1763// I386-LINUX:#define __INT_FAST64_MAX__ 9223372036854775807LL
1764// I386-LINUX:#define __INT_FAST64_TYPE__ long long int
1765// I386-LINUX:#define __INT_FAST8_MAX__ 127
1766// I386-LINUX:#define __INT_FAST8_TYPE__ char
1767// I386-LINUX:#define __INT_LEAST16_MAX__ 32767
1768// I386-LINUX:#define __INT_LEAST16_TYPE__ short
1769// I386-LINUX:#define __INT_LEAST32_MAX__ 2147483647
1770// I386-LINUX:#define __INT_LEAST32_TYPE__ int
1771// I386-LINUX:#define __INT_LEAST64_MAX__ 9223372036854775807LL
1772// I386-LINUX:#define __INT_LEAST64_TYPE__ long long int
1773// I386-LINUX:#define __INT_LEAST8_MAX__ 127
1774// I386-LINUX:#define __INT_LEAST8_TYPE__ char
1775// I386-LINUX:#define __INT_MAX__ 2147483647
1776// I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1777// I386-LINUX:#define __LDBL_DIG__ 18
1778// I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1779// I386-LINUX:#define __LDBL_HAS_DENORM__ 1
1780// I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
1781// I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
1782// I386-LINUX:#define __LDBL_MANT_DIG__ 64
1783// I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
1784// I386-LINUX:#define __LDBL_MAX_EXP__ 16384
1785// I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1786// I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
1787// I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
1788// I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1789// I386-LINUX:#define __LITTLE_ENDIAN__ 1
1790// I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
1791// I386-LINUX:#define __LONG_MAX__ 2147483647L
1792// I386-LINUX-NOT:#define __LP64__
1793// I386-LINUX:#define __NO_MATH_INLINES 1
1794// I386-LINUX:#define __POINTER_WIDTH__ 32
1795// I386-LINUX:#define __PTRDIFF_TYPE__ int
1796// I386-LINUX:#define __PTRDIFF_WIDTH__ 32
1797// I386-LINUX:#define __REGISTER_PREFIX__
1798// I386-LINUX:#define __SCHAR_MAX__ 127
1799// I386-LINUX:#define __SHRT_MAX__ 32767
1800// I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
1801// I386-LINUX:#define __SIZEOF_DOUBLE__ 8
1802// I386-LINUX:#define __SIZEOF_FLOAT__ 4
1803// I386-LINUX:#define __SIZEOF_INT__ 4
1804// I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
1805// I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
1806// I386-LINUX:#define __SIZEOF_LONG__ 4
1807// I386-LINUX:#define __SIZEOF_POINTER__ 4
1808// I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
1809// I386-LINUX:#define __SIZEOF_SHORT__ 2
1810// I386-LINUX:#define __SIZEOF_SIZE_T__ 4
1811// I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
1812// I386-LINUX:#define __SIZEOF_WINT_T__ 4
1813// I386-LINUX:#define __SIZE_MAX__ 4294967295U
1814// I386-LINUX:#define __SIZE_TYPE__ unsigned int
1815// I386-LINUX:#define __SIZE_WIDTH__ 32
1816// I386-LINUX:#define __UINT16_C_SUFFIX__ U
1817// I386-LINUX:#define __UINT16_MAX__ 65535U
1818// I386-LINUX:#define __UINT16_TYPE__ unsigned short
1819// I386-LINUX:#define __UINT32_C_SUFFIX__ U
1820// I386-LINUX:#define __UINT32_MAX__ 4294967295U
1821// I386-LINUX:#define __UINT32_TYPE__ unsigned int
1822// I386-LINUX:#define __UINT64_C_SUFFIX__ ULL
1823// I386-LINUX:#define __UINT64_MAX__ 18446744073709551615ULL
1824// I386-LINUX:#define __UINT64_TYPE__ long long unsigned int
1825// I386-LINUX:#define __UINT8_C_SUFFIX__ U
1826// I386-LINUX:#define __UINT8_MAX__ 255U
1827// I386-LINUX:#define __UINT8_TYPE__ unsigned char
1828// I386-LINUX:#define __UINTMAX_MAX__ 18446744073709551615ULL
1829// I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
1830// I386-LINUX:#define __UINTMAX_WIDTH__ 64
1831// I386-LINUX:#define __UINTPTR_MAX__ 4294967295U
1832// I386-LINUX:#define __UINTPTR_TYPE__ unsigned int
1833// I386-LINUX:#define __UINTPTR_WIDTH__ 32
1834// I386-LINUX:#define __UINT_FAST16_MAX__ 65535U
1835// I386-LINUX:#define __UINT_FAST16_TYPE__ unsigned short
1836// I386-LINUX:#define __UINT_FAST32_MAX__ 4294967295U
1837// I386-LINUX:#define __UINT_FAST32_TYPE__ unsigned int
1838// I386-LINUX:#define __UINT_FAST64_MAX__ 18446744073709551615ULL
1839// I386-LINUX:#define __UINT_FAST64_TYPE__ long long unsigned int
1840// I386-LINUX:#define __UINT_FAST8_MAX__ 255U
1841// I386-LINUX:#define __UINT_FAST8_TYPE__ unsigned char
1842// I386-LINUX:#define __UINT_LEAST16_MAX__ 65535U
1843// I386-LINUX:#define __UINT_LEAST16_TYPE__ unsigned short
1844// I386-LINUX:#define __UINT_LEAST32_MAX__ 4294967295U
1845// I386-LINUX:#define __UINT_LEAST32_TYPE__ unsigned int
1846// I386-LINUX:#define __UINT_LEAST64_MAX__ 18446744073709551615ULL
1847// I386-LINUX:#define __UINT_LEAST64_TYPE__ long long unsigned int
1848// I386-LINUX:#define __UINT_LEAST8_MAX__ 255U
1849// I386-LINUX:#define __UINT_LEAST8_TYPE__ unsigned char
1850// I386-LINUX:#define __USER_LABEL_PREFIX__
1851// I386-LINUX:#define __WCHAR_MAX__ 2147483647
1852// I386-LINUX:#define __WCHAR_TYPE__ int
1853// I386-LINUX:#define __WCHAR_WIDTH__ 32
1854// I386-LINUX:#define __WINT_TYPE__ unsigned int
1855// I386-LINUX:#define __WINT_WIDTH__ 32
1856// I386-LINUX:#define __i386 1
1857// I386-LINUX:#define __i386__ 1
1858// I386-LINUX:#define i386 1
1859//
1860// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd < /dev/null | FileCheck -check-prefix I386-NETBSD %s
1861//
1862// I386-NETBSD-NOT:#define _LP64
1863// I386-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1864// I386-NETBSD:#define __CHAR16_TYPE__ unsigned short
1865// I386-NETBSD:#define __CHAR32_TYPE__ unsigned int
1866// I386-NETBSD:#define __CHAR_BIT__ 8
1867// I386-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1868// I386-NETBSD:#define __DBL_DIG__ 15
1869// I386-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
1870// I386-NETBSD:#define __DBL_HAS_DENORM__ 1
1871// I386-NETBSD:#define __DBL_HAS_INFINITY__ 1
1872// I386-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
1873// I386-NETBSD:#define __DBL_MANT_DIG__ 53
1874// I386-NETBSD:#define __DBL_MAX_10_EXP__ 308
1875// I386-NETBSD:#define __DBL_MAX_EXP__ 1024
1876// I386-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
1877// I386-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
1878// I386-NETBSD:#define __DBL_MIN_EXP__ (-1021)
1879// I386-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
1880// I386-NETBSD:#define __DECIMAL_DIG__ 21
1881// I386-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1882// I386-NETBSD:#define __FLT_DIG__ 6
1883// I386-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
1884// I386-NETBSD:#define __FLT_EVAL_METHOD__ 2
1885// I386-NETBSD:#define __FLT_HAS_DENORM__ 1
1886// I386-NETBSD:#define __FLT_HAS_INFINITY__ 1
1887// I386-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
1888// I386-NETBSD:#define __FLT_MANT_DIG__ 24
1889// I386-NETBSD:#define __FLT_MAX_10_EXP__ 38
1890// I386-NETBSD:#define __FLT_MAX_EXP__ 128
1891// I386-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
1892// I386-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
1893// I386-NETBSD:#define __FLT_MIN_EXP__ (-125)
1894// I386-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
1895// I386-NETBSD:#define __FLT_RADIX__ 2
1896// I386-NETBSD:#define __INT16_MAX__ 32767
1897// I386-NETBSD:#define __INT16_TYPE__ short
1898// I386-NETBSD:#define __INT32_MAX__ 2147483647
1899// I386-NETBSD:#define __INT32_TYPE__ int
1900// I386-NETBSD:#define __INT64_C_SUFFIX__ LL
1901// I386-NETBSD:#define __INT64_MAX__ 9223372036854775807LL
1902// I386-NETBSD:#define __INT64_TYPE__ long long int
1903// I386-NETBSD:#define __INT8_MAX__ 127
1904// I386-NETBSD:#define __INT8_TYPE__ char
1905// I386-NETBSD:#define __INTMAX_MAX__ 9223372036854775807LL
1906// I386-NETBSD:#define __INTMAX_TYPE__ long long int
1907// I386-NETBSD:#define __INTMAX_WIDTH__ 64
1908// I386-NETBSD:#define __INTPTR_MAX__ 2147483647
1909// I386-NETBSD:#define __INTPTR_TYPE__ int
1910// I386-NETBSD:#define __INTPTR_WIDTH__ 32
1911// I386-NETBSD:#define __INT_FAST16_MAX__ 32767
1912// I386-NETBSD:#define __INT_FAST16_TYPE__ short
1913// I386-NETBSD:#define __INT_FAST32_MAX__ 2147483647
1914// I386-NETBSD:#define __INT_FAST32_TYPE__ int
1915// I386-NETBSD:#define __INT_FAST64_MAX__ 9223372036854775807LL
1916// I386-NETBSD:#define __INT_FAST64_TYPE__ long long int
1917// I386-NETBSD:#define __INT_FAST8_MAX__ 127
1918// I386-NETBSD:#define __INT_FAST8_TYPE__ char
1919// I386-NETBSD:#define __INT_LEAST16_MAX__ 32767
1920// I386-NETBSD:#define __INT_LEAST16_TYPE__ short
1921// I386-NETBSD:#define __INT_LEAST32_MAX__ 2147483647
1922// I386-NETBSD:#define __INT_LEAST32_TYPE__ int
1923// I386-NETBSD:#define __INT_LEAST64_MAX__ 9223372036854775807LL
1924// I386-NETBSD:#define __INT_LEAST64_TYPE__ long long int
1925// I386-NETBSD:#define __INT_LEAST8_MAX__ 127
1926// I386-NETBSD:#define __INT_LEAST8_TYPE__ char
1927// I386-NETBSD:#define __INT_MAX__ 2147483647
1928// I386-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1929// I386-NETBSD:#define __LDBL_DIG__ 18
1930// I386-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1931// I386-NETBSD:#define __LDBL_HAS_DENORM__ 1
1932// I386-NETBSD:#define __LDBL_HAS_INFINITY__ 1
1933// I386-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
1934// I386-NETBSD:#define __LDBL_MANT_DIG__ 64
1935// I386-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
1936// I386-NETBSD:#define __LDBL_MAX_EXP__ 16384
1937// I386-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1938// I386-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
1939// I386-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
1940// I386-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1941// I386-NETBSD:#define __LITTLE_ENDIAN__ 1
1942// I386-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
1943// I386-NETBSD:#define __LONG_MAX__ 2147483647L
1944// I386-NETBSD-NOT:#define __LP64__
1945// I386-NETBSD:#define __NO_MATH_INLINES 1
1946// I386-NETBSD:#define __POINTER_WIDTH__ 32
1947// I386-NETBSD:#define __PTRDIFF_TYPE__ int
1948// I386-NETBSD:#define __PTRDIFF_WIDTH__ 32
1949// I386-NETBSD:#define __REGISTER_PREFIX__
1950// I386-NETBSD:#define __SCHAR_MAX__ 127
1951// I386-NETBSD:#define __SHRT_MAX__ 32767
1952// I386-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
1953// I386-NETBSD:#define __SIZEOF_DOUBLE__ 8
1954// I386-NETBSD:#define __SIZEOF_FLOAT__ 4
1955// I386-NETBSD:#define __SIZEOF_INT__ 4
1956// I386-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 12
1957// I386-NETBSD:#define __SIZEOF_LONG_LONG__ 8
1958// I386-NETBSD:#define __SIZEOF_LONG__ 4
1959// I386-NETBSD:#define __SIZEOF_POINTER__ 4
1960// I386-NETBSD:#define __SIZEOF_PTRDIFF_T__ 4
1961// I386-NETBSD:#define __SIZEOF_SHORT__ 2
1962// I386-NETBSD:#define __SIZEOF_SIZE_T__ 4
1963// I386-NETBSD:#define __SIZEOF_WCHAR_T__ 4
1964// I386-NETBSD:#define __SIZEOF_WINT_T__ 4
1965// I386-NETBSD:#define __SIZE_MAX__ 4294967295U
1966// I386-NETBSD:#define __SIZE_TYPE__ unsigned int
1967// I386-NETBSD:#define __SIZE_WIDTH__ 32
1968// I386-NETBSD:#define __UINT16_C_SUFFIX__ U
1969// I386-NETBSD:#define __UINT16_MAX__ 65535U
1970// I386-NETBSD:#define __UINT16_TYPE__ unsigned short
1971// I386-NETBSD:#define __UINT32_C_SUFFIX__ U
1972// I386-NETBSD:#define __UINT32_MAX__ 4294967295U
1973// I386-NETBSD:#define __UINT32_TYPE__ unsigned int
1974// I386-NETBSD:#define __UINT64_C_SUFFIX__ ULL
1975// I386-NETBSD:#define __UINT64_MAX__ 18446744073709551615ULL
1976// I386-NETBSD:#define __UINT64_TYPE__ long long unsigned int
1977// I386-NETBSD:#define __UINT8_C_SUFFIX__ U
1978// I386-NETBSD:#define __UINT8_MAX__ 255U
1979// I386-NETBSD:#define __UINT8_TYPE__ unsigned char
1980// I386-NETBSD:#define __UINTMAX_MAX__ 18446744073709551615ULL
1981// I386-NETBSD:#define __UINTMAX_TYPE__ long long unsigned int
1982// I386-NETBSD:#define __UINTMAX_WIDTH__ 64
1983// I386-NETBSD:#define __UINTPTR_MAX__ 4294967295U
1984// I386-NETBSD:#define __UINTPTR_TYPE__ unsigned int
1985// I386-NETBSD:#define __UINTPTR_WIDTH__ 32
1986// I386-NETBSD:#define __UINT_FAST16_MAX__ 65535U
1987// I386-NETBSD:#define __UINT_FAST16_TYPE__ unsigned short
1988// I386-NETBSD:#define __UINT_FAST32_MAX__ 4294967295U
1989// I386-NETBSD:#define __UINT_FAST32_TYPE__ unsigned int
1990// I386-NETBSD:#define __UINT_FAST64_MAX__ 18446744073709551615ULL
1991// I386-NETBSD:#define __UINT_FAST64_TYPE__ long long unsigned int
1992// I386-NETBSD:#define __UINT_FAST8_MAX__ 255U
1993// I386-NETBSD:#define __UINT_FAST8_TYPE__ unsigned char
1994// I386-NETBSD:#define __UINT_LEAST16_MAX__ 65535U
1995// I386-NETBSD:#define __UINT_LEAST16_TYPE__ unsigned short
1996// I386-NETBSD:#define __UINT_LEAST32_MAX__ 4294967295U
1997// I386-NETBSD:#define __UINT_LEAST32_TYPE__ unsigned int
1998// I386-NETBSD:#define __UINT_LEAST64_MAX__ 18446744073709551615ULL
1999// I386-NETBSD:#define __UINT_LEAST64_TYPE__ long long unsigned int
2000// I386-NETBSD:#define __UINT_LEAST8_MAX__ 255U
2001// I386-NETBSD:#define __UINT_LEAST8_TYPE__ unsigned char
2002// I386-NETBSD:#define __USER_LABEL_PREFIX__
2003// I386-NETBSD:#define __WCHAR_MAX__ 2147483647
2004// I386-NETBSD:#define __WCHAR_TYPE__ int
2005// I386-NETBSD:#define __WCHAR_WIDTH__ 32
2006// I386-NETBSD:#define __WINT_TYPE__ int
2007// I386-NETBSD:#define __WINT_WIDTH__ 32
2008// I386-NETBSD:#define __i386 1
2009// I386-NETBSD:#define __i386__ 1
2010// I386-NETBSD:#define i386 1
2011//
2012// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD-SSE %s
2013// I386-NETBSD-SSE:#define __FLT_EVAL_METHOD__ 0
2014// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6  < /dev/null | FileCheck -check-prefix I386-NETBSD6 %s
2015// I386-NETBSD6:#define __FLT_EVAL_METHOD__ 1
2016// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD6-SSE %s
2017// I386-NETBSD6-SSE:#define __FLT_EVAL_METHOD__ 1
2018
2019//
2020// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none < /dev/null | FileCheck -check-prefix MIPS32BE %s
2021//
2022// MIPS32BE:#define MIPSEB 1
2023// MIPS32BE:#define _ABIO32 1
2024// MIPS32BE-NOT:#define _LP64
2025// MIPS32BE:#define _MIPSEB 1
2026// MIPS32BE:#define _MIPS_ARCH "mips32r2"
2027// MIPS32BE:#define _MIPS_ARCH_MIPS32R2 1
2028// MIPS32BE:#define _MIPS_FPSET 16
2029// MIPS32BE:#define _MIPS_SIM _ABIO32
2030// MIPS32BE:#define _MIPS_SZINT 32
2031// MIPS32BE:#define _MIPS_SZLONG 32
2032// MIPS32BE:#define _MIPS_SZPTR 32
2033// MIPS32BE:#define __BIG_ENDIAN__ 1
2034// MIPS32BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2035// MIPS32BE:#define __CHAR16_TYPE__ unsigned short
2036// MIPS32BE:#define __CHAR32_TYPE__ unsigned int
2037// MIPS32BE:#define __CHAR_BIT__ 8
2038// MIPS32BE:#define __CONSTANT_CFSTRINGS__ 1
2039// MIPS32BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2040// MIPS32BE:#define __DBL_DIG__ 15
2041// MIPS32BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
2042// MIPS32BE:#define __DBL_HAS_DENORM__ 1
2043// MIPS32BE:#define __DBL_HAS_INFINITY__ 1
2044// MIPS32BE:#define __DBL_HAS_QUIET_NAN__ 1
2045// MIPS32BE:#define __DBL_MANT_DIG__ 53
2046// MIPS32BE:#define __DBL_MAX_10_EXP__ 308
2047// MIPS32BE:#define __DBL_MAX_EXP__ 1024
2048// MIPS32BE:#define __DBL_MAX__ 1.7976931348623157e+308
2049// MIPS32BE:#define __DBL_MIN_10_EXP__ (-307)
2050// MIPS32BE:#define __DBL_MIN_EXP__ (-1021)
2051// MIPS32BE:#define __DBL_MIN__ 2.2250738585072014e-308
2052// MIPS32BE:#define __DECIMAL_DIG__ 17
2053// MIPS32BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2054// MIPS32BE:#define __FLT_DIG__ 6
2055// MIPS32BE:#define __FLT_EPSILON__ 1.19209290e-7F
2056// MIPS32BE:#define __FLT_EVAL_METHOD__ 0
2057// MIPS32BE:#define __FLT_HAS_DENORM__ 1
2058// MIPS32BE:#define __FLT_HAS_INFINITY__ 1
2059// MIPS32BE:#define __FLT_HAS_QUIET_NAN__ 1
2060// MIPS32BE:#define __FLT_MANT_DIG__ 24
2061// MIPS32BE:#define __FLT_MAX_10_EXP__ 38
2062// MIPS32BE:#define __FLT_MAX_EXP__ 128
2063// MIPS32BE:#define __FLT_MAX__ 3.40282347e+38F
2064// MIPS32BE:#define __FLT_MIN_10_EXP__ (-37)
2065// MIPS32BE:#define __FLT_MIN_EXP__ (-125)
2066// MIPS32BE:#define __FLT_MIN__ 1.17549435e-38F
2067// MIPS32BE:#define __FLT_RADIX__ 2
2068// MIPS32BE:#define __INT16_MAX__ 32767
2069// MIPS32BE:#define __INT16_TYPE__ short
2070// MIPS32BE:#define __INT32_MAX__ 2147483647
2071// MIPS32BE:#define __INT32_TYPE__ int
2072// MIPS32BE:#define __INT64_C_SUFFIX__ LL
2073// MIPS32BE:#define __INT64_MAX__ 9223372036854775807LL
2074// MIPS32BE:#define __INT64_TYPE__ long long int
2075// MIPS32BE:#define __INT8_MAX__ 127
2076// MIPS32BE:#define __INT8_TYPE__ char
2077// MIPS32BE:#define __INTMAX_MAX__ 9223372036854775807LL
2078// MIPS32BE:#define __INTMAX_TYPE__ long long int
2079// MIPS32BE:#define __INTMAX_WIDTH__ 64
2080// MIPS32BE:#define __INTPTR_MAX__ 2147483647L
2081// MIPS32BE:#define __INTPTR_TYPE__ long int
2082// MIPS32BE:#define __INTPTR_WIDTH__ 32
2083// MIPS32BE:#define __INT_FAST16_MAX__ 32767
2084// MIPS32BE:#define __INT_FAST16_TYPE__ short
2085// MIPS32BE:#define __INT_FAST32_MAX__ 2147483647
2086// MIPS32BE:#define __INT_FAST32_TYPE__ int
2087// MIPS32BE:#define __INT_FAST64_MAX__ 9223372036854775807LL
2088// MIPS32BE:#define __INT_FAST64_TYPE__ long long int
2089// MIPS32BE:#define __INT_FAST8_MAX__ 127
2090// MIPS32BE:#define __INT_FAST8_TYPE__ char
2091// MIPS32BE:#define __INT_LEAST16_MAX__ 32767
2092// MIPS32BE:#define __INT_LEAST16_TYPE__ short
2093// MIPS32BE:#define __INT_LEAST32_MAX__ 2147483647
2094// MIPS32BE:#define __INT_LEAST32_TYPE__ int
2095// MIPS32BE:#define __INT_LEAST64_MAX__ 9223372036854775807LL
2096// MIPS32BE:#define __INT_LEAST64_TYPE__ long long int
2097// MIPS32BE:#define __INT_LEAST8_MAX__ 127
2098// MIPS32BE:#define __INT_LEAST8_TYPE__ char
2099// MIPS32BE:#define __INT_MAX__ 2147483647
2100// MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
2101// MIPS32BE:#define __LDBL_DIG__ 15
2102// MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
2103// MIPS32BE:#define __LDBL_HAS_DENORM__ 1
2104// MIPS32BE:#define __LDBL_HAS_INFINITY__ 1
2105// MIPS32BE:#define __LDBL_HAS_QUIET_NAN__ 1
2106// MIPS32BE:#define __LDBL_MANT_DIG__ 53
2107// MIPS32BE:#define __LDBL_MAX_10_EXP__ 308
2108// MIPS32BE:#define __LDBL_MAX_EXP__ 1024
2109// MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308L
2110// MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307)
2111// MIPS32BE:#define __LDBL_MIN_EXP__ (-1021)
2112// MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308L
2113// MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
2114// MIPS32BE:#define __LONG_MAX__ 2147483647L
2115// MIPS32BE-NOT:#define __LP64__
2116// MIPS32BE:#define __MIPSEB 1
2117// MIPS32BE:#define __MIPSEB__ 1
2118// MIPS32BE:#define __POINTER_WIDTH__ 32
2119// MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1
2120// MIPS32BE:#define __PTRDIFF_TYPE__ int
2121// MIPS32BE:#define __PTRDIFF_WIDTH__ 32
2122// MIPS32BE:#define __REGISTER_PREFIX__
2123// MIPS32BE:#define __SCHAR_MAX__ 127
2124// MIPS32BE:#define __SHRT_MAX__ 32767
2125// MIPS32BE:#define __SIG_ATOMIC_WIDTH__ 32
2126// MIPS32BE:#define __SIZEOF_DOUBLE__ 8
2127// MIPS32BE:#define __SIZEOF_FLOAT__ 4
2128// MIPS32BE:#define __SIZEOF_INT__ 4
2129// MIPS32BE:#define __SIZEOF_LONG_DOUBLE__ 8
2130// MIPS32BE:#define __SIZEOF_LONG_LONG__ 8
2131// MIPS32BE:#define __SIZEOF_LONG__ 4
2132// MIPS32BE:#define __SIZEOF_POINTER__ 4
2133// MIPS32BE:#define __SIZEOF_PTRDIFF_T__ 4
2134// MIPS32BE:#define __SIZEOF_SHORT__ 2
2135// MIPS32BE:#define __SIZEOF_SIZE_T__ 4
2136// MIPS32BE:#define __SIZEOF_WCHAR_T__ 4
2137// MIPS32BE:#define __SIZEOF_WINT_T__ 4
2138// MIPS32BE:#define __SIZE_MAX__ 4294967295U
2139// MIPS32BE:#define __SIZE_TYPE__ unsigned int
2140// MIPS32BE:#define __SIZE_WIDTH__ 32
2141// MIPS32BE:#define __STDC_HOSTED__ 0
2142// MIPS32BE:#define __STDC_VERSION__ 199901L
2143// MIPS32BE:#define __STDC__ 1
2144// MIPS32BE:#define __UINT16_C_SUFFIX__ U
2145// MIPS32BE:#define __UINT16_MAX__ 65535U
2146// MIPS32BE:#define __UINT16_TYPE__ unsigned short
2147// MIPS32BE:#define __UINT32_C_SUFFIX__ U
2148// MIPS32BE:#define __UINT32_MAX__ 4294967295U
2149// MIPS32BE:#define __UINT32_TYPE__ unsigned int
2150// MIPS32BE:#define __UINT64_C_SUFFIX__ ULL
2151// MIPS32BE:#define __UINT64_MAX__ 18446744073709551615ULL
2152// MIPS32BE:#define __UINT64_TYPE__ long long unsigned int
2153// MIPS32BE:#define __UINT8_C_SUFFIX__ U
2154// MIPS32BE:#define __UINT8_MAX__ 255U
2155// MIPS32BE:#define __UINT8_TYPE__ unsigned char
2156// MIPS32BE:#define __UINTMAX_MAX__ 18446744073709551615ULL
2157// MIPS32BE:#define __UINTMAX_TYPE__ long long unsigned int
2158// MIPS32BE:#define __UINTMAX_WIDTH__ 64
2159// MIPS32BE:#define __UINTPTR_MAX__ 4294967295U
2160// MIPS32BE:#define __UINTPTR_TYPE__ unsigned int
2161// MIPS32BE:#define __UINTPTR_WIDTH__ 32
2162// MIPS32BE:#define __UINT_FAST16_MAX__ 65535U
2163// MIPS32BE:#define __UINT_FAST16_TYPE__ unsigned short
2164// MIPS32BE:#define __UINT_FAST32_MAX__ 4294967295U
2165// MIPS32BE:#define __UINT_FAST32_TYPE__ unsigned int
2166// MIPS32BE:#define __UINT_FAST64_MAX__ 18446744073709551615ULL
2167// MIPS32BE:#define __UINT_FAST64_TYPE__ long long unsigned int
2168// MIPS32BE:#define __UINT_FAST8_MAX__ 255U
2169// MIPS32BE:#define __UINT_FAST8_TYPE__ unsigned char
2170// MIPS32BE:#define __UINT_LEAST16_MAX__ 65535U
2171// MIPS32BE:#define __UINT_LEAST16_TYPE__ unsigned short
2172// MIPS32BE:#define __UINT_LEAST32_MAX__ 4294967295U
2173// MIPS32BE:#define __UINT_LEAST32_TYPE__ unsigned int
2174// MIPS32BE:#define __UINT_LEAST64_MAX__ 18446744073709551615ULL
2175// MIPS32BE:#define __UINT_LEAST64_TYPE__ long long unsigned int
2176// MIPS32BE:#define __UINT_LEAST8_MAX__ 255U
2177// MIPS32BE:#define __UINT_LEAST8_TYPE__ unsigned char
2178// MIPS32BE:#define __USER_LABEL_PREFIX__ _
2179// MIPS32BE:#define __WCHAR_MAX__ 2147483647
2180// MIPS32BE:#define __WCHAR_TYPE__ int
2181// MIPS32BE:#define __WCHAR_WIDTH__ 32
2182// MIPS32BE:#define __WINT_TYPE__ int
2183// MIPS32BE:#define __WINT_WIDTH__ 32
2184// MIPS32BE:#define __clang__ 1
2185// MIPS32BE:#define __llvm__ 1
2186// MIPS32BE:#define __mips 32
2187// MIPS32BE:#define __mips__ 1
2188// MIPS32BE:#define __mips_fpr 32
2189// MIPS32BE:#define __mips_hard_float 1
2190// MIPS32BE:#define __mips_o32 1
2191// MIPS32BE:#define _mips 1
2192// MIPS32BE:#define mips 1
2193//
2194// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -check-prefix MIPS32EL %s
2195//
2196// MIPS32EL:#define MIPSEL 1
2197// MIPS32EL:#define _ABIO32 1
2198// MIPS32EL-NOT:#define _LP64
2199// MIPS32EL:#define _MIPSEL 1
2200// MIPS32EL:#define _MIPS_ARCH "mips32r2"
2201// MIPS32EL:#define _MIPS_ARCH_MIPS32R2 1
2202// MIPS32EL:#define _MIPS_FPSET 16
2203// MIPS32EL:#define _MIPS_SIM _ABIO32
2204// MIPS32EL:#define _MIPS_SZINT 32
2205// MIPS32EL:#define _MIPS_SZLONG 32
2206// MIPS32EL:#define _MIPS_SZPTR 32
2207// MIPS32EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
2208// MIPS32EL:#define __CHAR16_TYPE__ unsigned short
2209// MIPS32EL:#define __CHAR32_TYPE__ unsigned int
2210// MIPS32EL:#define __CHAR_BIT__ 8
2211// MIPS32EL:#define __CONSTANT_CFSTRINGS__ 1
2212// MIPS32EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2213// MIPS32EL:#define __DBL_DIG__ 15
2214// MIPS32EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
2215// MIPS32EL:#define __DBL_HAS_DENORM__ 1
2216// MIPS32EL:#define __DBL_HAS_INFINITY__ 1
2217// MIPS32EL:#define __DBL_HAS_QUIET_NAN__ 1
2218// MIPS32EL:#define __DBL_MANT_DIG__ 53
2219// MIPS32EL:#define __DBL_MAX_10_EXP__ 308
2220// MIPS32EL:#define __DBL_MAX_EXP__ 1024
2221// MIPS32EL:#define __DBL_MAX__ 1.7976931348623157e+308
2222// MIPS32EL:#define __DBL_MIN_10_EXP__ (-307)
2223// MIPS32EL:#define __DBL_MIN_EXP__ (-1021)
2224// MIPS32EL:#define __DBL_MIN__ 2.2250738585072014e-308
2225// MIPS32EL:#define __DECIMAL_DIG__ 17
2226// MIPS32EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2227// MIPS32EL:#define __FLT_DIG__ 6
2228// MIPS32EL:#define __FLT_EPSILON__ 1.19209290e-7F
2229// MIPS32EL:#define __FLT_EVAL_METHOD__ 0
2230// MIPS32EL:#define __FLT_HAS_DENORM__ 1
2231// MIPS32EL:#define __FLT_HAS_INFINITY__ 1
2232// MIPS32EL:#define __FLT_HAS_QUIET_NAN__ 1
2233// MIPS32EL:#define __FLT_MANT_DIG__ 24
2234// MIPS32EL:#define __FLT_MAX_10_EXP__ 38
2235// MIPS32EL:#define __FLT_MAX_EXP__ 128
2236// MIPS32EL:#define __FLT_MAX__ 3.40282347e+38F
2237// MIPS32EL:#define __FLT_MIN_10_EXP__ (-37)
2238// MIPS32EL:#define __FLT_MIN_EXP__ (-125)
2239// MIPS32EL:#define __FLT_MIN__ 1.17549435e-38F
2240// MIPS32EL:#define __FLT_RADIX__ 2
2241// MIPS32EL:#define __INT16_MAX__ 32767
2242// MIPS32EL:#define __INT16_TYPE__ short
2243// MIPS32EL:#define __INT32_MAX__ 2147483647
2244// MIPS32EL:#define __INT32_TYPE__ int
2245// MIPS32EL:#define __INT64_C_SUFFIX__ LL
2246// MIPS32EL:#define __INT64_MAX__ 9223372036854775807LL
2247// MIPS32EL:#define __INT64_TYPE__ long long int
2248// MIPS32EL:#define __INT8_MAX__ 127
2249// MIPS32EL:#define __INT8_TYPE__ char
2250// MIPS32EL:#define __INTMAX_MAX__ 9223372036854775807LL
2251// MIPS32EL:#define __INTMAX_TYPE__ long long int
2252// MIPS32EL:#define __INTMAX_WIDTH__ 64
2253// MIPS32EL:#define __INTPTR_MAX__ 2147483647L
2254// MIPS32EL:#define __INTPTR_TYPE__ long int
2255// MIPS32EL:#define __INTPTR_WIDTH__ 32
2256// MIPS32EL:#define __INT_FAST16_MAX__ 32767
2257// MIPS32EL:#define __INT_FAST16_TYPE__ short
2258// MIPS32EL:#define __INT_FAST32_MAX__ 2147483647
2259// MIPS32EL:#define __INT_FAST32_TYPE__ int
2260// MIPS32EL:#define __INT_FAST64_MAX__ 9223372036854775807LL
2261// MIPS32EL:#define __INT_FAST64_TYPE__ long long int
2262// MIPS32EL:#define __INT_FAST8_MAX__ 127
2263// MIPS32EL:#define __INT_FAST8_TYPE__ char
2264// MIPS32EL:#define __INT_LEAST16_MAX__ 32767
2265// MIPS32EL:#define __INT_LEAST16_TYPE__ short
2266// MIPS32EL:#define __INT_LEAST32_MAX__ 2147483647
2267// MIPS32EL:#define __INT_LEAST32_TYPE__ int
2268// MIPS32EL:#define __INT_LEAST64_MAX__ 9223372036854775807LL
2269// MIPS32EL:#define __INT_LEAST64_TYPE__ long long int
2270// MIPS32EL:#define __INT_LEAST8_MAX__ 127
2271// MIPS32EL:#define __INT_LEAST8_TYPE__ char
2272// MIPS32EL:#define __INT_MAX__ 2147483647
2273// MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
2274// MIPS32EL:#define __LDBL_DIG__ 15
2275// MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
2276// MIPS32EL:#define __LDBL_HAS_DENORM__ 1
2277// MIPS32EL:#define __LDBL_HAS_INFINITY__ 1
2278// MIPS32EL:#define __LDBL_HAS_QUIET_NAN__ 1
2279// MIPS32EL:#define __LDBL_MANT_DIG__ 53
2280// MIPS32EL:#define __LDBL_MAX_10_EXP__ 308
2281// MIPS32EL:#define __LDBL_MAX_EXP__ 1024
2282// MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308L
2283// MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307)
2284// MIPS32EL:#define __LDBL_MIN_EXP__ (-1021)
2285// MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308L
2286// MIPS32EL:#define __LITTLE_ENDIAN__ 1
2287// MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
2288// MIPS32EL:#define __LONG_MAX__ 2147483647L
2289// MIPS32EL-NOT:#define __LP64__
2290// MIPS32EL:#define __MIPSEL 1
2291// MIPS32EL:#define __MIPSEL__ 1
2292// MIPS32EL:#define __POINTER_WIDTH__ 32
2293// MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1
2294// MIPS32EL:#define __PTRDIFF_TYPE__ int
2295// MIPS32EL:#define __PTRDIFF_WIDTH__ 32
2296// MIPS32EL:#define __REGISTER_PREFIX__
2297// MIPS32EL:#define __SCHAR_MAX__ 127
2298// MIPS32EL:#define __SHRT_MAX__ 32767
2299// MIPS32EL:#define __SIG_ATOMIC_WIDTH__ 32
2300// MIPS32EL:#define __SIZEOF_DOUBLE__ 8
2301// MIPS32EL:#define __SIZEOF_FLOAT__ 4
2302// MIPS32EL:#define __SIZEOF_INT__ 4
2303// MIPS32EL:#define __SIZEOF_LONG_DOUBLE__ 8
2304// MIPS32EL:#define __SIZEOF_LONG_LONG__ 8
2305// MIPS32EL:#define __SIZEOF_LONG__ 4
2306// MIPS32EL:#define __SIZEOF_POINTER__ 4
2307// MIPS32EL:#define __SIZEOF_PTRDIFF_T__ 4
2308// MIPS32EL:#define __SIZEOF_SHORT__ 2
2309// MIPS32EL:#define __SIZEOF_SIZE_T__ 4
2310// MIPS32EL:#define __SIZEOF_WCHAR_T__ 4
2311// MIPS32EL:#define __SIZEOF_WINT_T__ 4
2312// MIPS32EL:#define __SIZE_MAX__ 4294967295U
2313// MIPS32EL:#define __SIZE_TYPE__ unsigned int
2314// MIPS32EL:#define __SIZE_WIDTH__ 32
2315// MIPS32EL:#define __UINT16_C_SUFFIX__ U
2316// MIPS32EL:#define __UINT16_MAX__ 65535U
2317// MIPS32EL:#define __UINT16_TYPE__ unsigned short
2318// MIPS32EL:#define __UINT32_C_SUFFIX__ U
2319// MIPS32EL:#define __UINT32_MAX__ 4294967295U
2320// MIPS32EL:#define __UINT32_TYPE__ unsigned int
2321// MIPS32EL:#define __UINT64_C_SUFFIX__ ULL
2322// MIPS32EL:#define __UINT64_MAX__ 18446744073709551615ULL
2323// MIPS32EL:#define __UINT64_TYPE__ long long unsigned int
2324// MIPS32EL:#define __UINT8_C_SUFFIX__ U
2325// MIPS32EL:#define __UINT8_MAX__ 255U
2326// MIPS32EL:#define __UINT8_TYPE__ unsigned char
2327// MIPS32EL:#define __UINTMAX_MAX__ 18446744073709551615ULL
2328// MIPS32EL:#define __UINTMAX_TYPE__ long long unsigned int
2329// MIPS32EL:#define __UINTMAX_WIDTH__ 64
2330// MIPS32EL:#define __UINTPTR_MAX__ 4294967295U
2331// MIPS32EL:#define __UINTPTR_TYPE__ unsigned int
2332// MIPS32EL:#define __UINTPTR_WIDTH__ 32
2333// MIPS32EL:#define __UINT_FAST16_MAX__ 65535U
2334// MIPS32EL:#define __UINT_FAST16_TYPE__ unsigned short
2335// MIPS32EL:#define __UINT_FAST32_MAX__ 4294967295U
2336// MIPS32EL:#define __UINT_FAST32_TYPE__ unsigned int
2337// MIPS32EL:#define __UINT_FAST64_MAX__ 18446744073709551615ULL
2338// MIPS32EL:#define __UINT_FAST64_TYPE__ long long unsigned int
2339// MIPS32EL:#define __UINT_FAST8_MAX__ 255U
2340// MIPS32EL:#define __UINT_FAST8_TYPE__ unsigned char
2341// MIPS32EL:#define __UINT_LEAST16_MAX__ 65535U
2342// MIPS32EL:#define __UINT_LEAST16_TYPE__ unsigned short
2343// MIPS32EL:#define __UINT_LEAST32_MAX__ 4294967295U
2344// MIPS32EL:#define __UINT_LEAST32_TYPE__ unsigned int
2345// MIPS32EL:#define __UINT_LEAST64_MAX__ 18446744073709551615ULL
2346// MIPS32EL:#define __UINT_LEAST64_TYPE__ long long unsigned int
2347// MIPS32EL:#define __UINT_LEAST8_MAX__ 255U
2348// MIPS32EL:#define __UINT_LEAST8_TYPE__ unsigned char
2349// MIPS32EL:#define __USER_LABEL_PREFIX__ _
2350// MIPS32EL:#define __WCHAR_MAX__ 2147483647
2351// MIPS32EL:#define __WCHAR_TYPE__ int
2352// MIPS32EL:#define __WCHAR_WIDTH__ 32
2353// MIPS32EL:#define __WINT_TYPE__ int
2354// MIPS32EL:#define __WINT_WIDTH__ 32
2355// MIPS32EL:#define __clang__ 1
2356// MIPS32EL:#define __llvm__ 1
2357// MIPS32EL:#define __mips 32
2358// MIPS32EL:#define __mips__ 1
2359// MIPS32EL:#define __mips_fpr 32
2360// MIPS32EL:#define __mips_hard_float 1
2361// MIPS32EL:#define __mips_o32 1
2362// MIPS32EL:#define _mips 1
2363// MIPS32EL:#define mips 1
2364//
2365// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -check-prefix MIPS64BE %s
2366//
2367// MIPS64BE:#define MIPSEB 1
2368// MIPS64BE:#define _ABI64 3
2369// MIPS64BE:#define _LP64 1
2370// MIPS64BE:#define _MIPSEB 1
2371// MIPS64BE:#define _MIPS_ARCH "mips64r2"
2372// MIPS64BE:#define _MIPS_ARCH_MIPS64R2 1
2373// MIPS64BE:#define _MIPS_FPSET 32
2374// MIPS64BE:#define _MIPS_SIM _ABI64
2375// MIPS64BE:#define _MIPS_SZINT 32
2376// MIPS64BE:#define _MIPS_SZLONG 64
2377// MIPS64BE:#define _MIPS_SZPTR 64
2378// MIPS64BE:#define __BIG_ENDIAN__ 1
2379// MIPS64BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2380// MIPS64BE:#define __CHAR16_TYPE__ unsigned short
2381// MIPS64BE:#define __CHAR32_TYPE__ unsigned int
2382// MIPS64BE:#define __CHAR_BIT__ 8
2383// MIPS64BE:#define __CONSTANT_CFSTRINGS__ 1
2384// MIPS64BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2385// MIPS64BE:#define __DBL_DIG__ 15
2386// MIPS64BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
2387// MIPS64BE:#define __DBL_HAS_DENORM__ 1
2388// MIPS64BE:#define __DBL_HAS_INFINITY__ 1
2389// MIPS64BE:#define __DBL_HAS_QUIET_NAN__ 1
2390// MIPS64BE:#define __DBL_MANT_DIG__ 53
2391// MIPS64BE:#define __DBL_MAX_10_EXP__ 308
2392// MIPS64BE:#define __DBL_MAX_EXP__ 1024
2393// MIPS64BE:#define __DBL_MAX__ 1.7976931348623157e+308
2394// MIPS64BE:#define __DBL_MIN_10_EXP__ (-307)
2395// MIPS64BE:#define __DBL_MIN_EXP__ (-1021)
2396// MIPS64BE:#define __DBL_MIN__ 2.2250738585072014e-308
2397// MIPS64BE:#define __DECIMAL_DIG__ 36
2398// MIPS64BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2399// MIPS64BE:#define __FLT_DIG__ 6
2400// MIPS64BE:#define __FLT_EPSILON__ 1.19209290e-7F
2401// MIPS64BE:#define __FLT_EVAL_METHOD__ 0
2402// MIPS64BE:#define __FLT_HAS_DENORM__ 1
2403// MIPS64BE:#define __FLT_HAS_INFINITY__ 1
2404// MIPS64BE:#define __FLT_HAS_QUIET_NAN__ 1
2405// MIPS64BE:#define __FLT_MANT_DIG__ 24
2406// MIPS64BE:#define __FLT_MAX_10_EXP__ 38
2407// MIPS64BE:#define __FLT_MAX_EXP__ 128
2408// MIPS64BE:#define __FLT_MAX__ 3.40282347e+38F
2409// MIPS64BE:#define __FLT_MIN_10_EXP__ (-37)
2410// MIPS64BE:#define __FLT_MIN_EXP__ (-125)
2411// MIPS64BE:#define __FLT_MIN__ 1.17549435e-38F
2412// MIPS64BE:#define __FLT_RADIX__ 2
2413// MIPS64BE:#define __INT16_MAX__ 32767
2414// MIPS64BE:#define __INT16_TYPE__ short
2415// MIPS64BE:#define __INT32_MAX__ 2147483647
2416// MIPS64BE:#define __INT32_TYPE__ int
2417// MIPS64BE:#define __INT64_C_SUFFIX__ LL
2418// MIPS64BE:#define __INT64_MAX__ 9223372036854775807L
2419// MIPS64BE:#define __INT64_TYPE__ long long int
2420// MIPS64BE:#define __INT8_MAX__ 127
2421// MIPS64BE:#define __INT8_TYPE__ char
2422// MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807LL
2423// MIPS64BE:#define __INTMAX_TYPE__ long long int
2424// MIPS64BE:#define __INTMAX_WIDTH__ 64
2425// MIPS64BE:#define __INTPTR_MAX__ 9223372036854775807L
2426// MIPS64BE:#define __INTPTR_TYPE__ long int
2427// MIPS64BE:#define __INTPTR_WIDTH__ 64
2428// MIPS64BE:#define __INT_FAST16_MAX__ 32767
2429// MIPS64BE:#define __INT_FAST16_TYPE__ short
2430// MIPS64BE:#define __INT_FAST32_MAX__ 2147483647
2431// MIPS64BE:#define __INT_FAST32_TYPE__ int
2432// MIPS64BE:#define __INT_FAST64_MAX__ 9223372036854775807L
2433// MIPS64BE:#define __INT_FAST64_TYPE__ long int
2434// MIPS64BE:#define __INT_FAST8_MAX__ 127
2435// MIPS64BE:#define __INT_FAST8_TYPE__ char
2436// MIPS64BE:#define __INT_LEAST16_MAX__ 32767
2437// MIPS64BE:#define __INT_LEAST16_TYPE__ short
2438// MIPS64BE:#define __INT_LEAST32_MAX__ 2147483647
2439// MIPS64BE:#define __INT_LEAST32_TYPE__ int
2440// MIPS64BE:#define __INT_LEAST64_MAX__ 9223372036854775807L
2441// MIPS64BE:#define __INT_LEAST64_TYPE__ long int
2442// MIPS64BE:#define __INT_LEAST8_MAX__ 127
2443// MIPS64BE:#define __INT_LEAST8_TYPE__ char
2444// MIPS64BE:#define __INT_MAX__ 2147483647
2445// MIPS64BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
2446// MIPS64BE:#define __LDBL_DIG__ 33
2447// MIPS64BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
2448// MIPS64BE:#define __LDBL_HAS_DENORM__ 1
2449// MIPS64BE:#define __LDBL_HAS_INFINITY__ 1
2450// MIPS64BE:#define __LDBL_HAS_QUIET_NAN__ 1
2451// MIPS64BE:#define __LDBL_MANT_DIG__ 113
2452// MIPS64BE:#define __LDBL_MAX_10_EXP__ 4932
2453// MIPS64BE:#define __LDBL_MAX_EXP__ 16384
2454// MIPS64BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
2455// MIPS64BE:#define __LDBL_MIN_10_EXP__ (-4931)
2456// MIPS64BE:#define __LDBL_MIN_EXP__ (-16381)
2457// MIPS64BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
2458// MIPS64BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
2459// MIPS64BE:#define __LONG_MAX__ 9223372036854775807L
2460// MIPS64BE:#define __LP64__ 1
2461// MIPS64BE:#define __MIPSEB 1
2462// MIPS64BE:#define __MIPSEB__ 1
2463// MIPS64BE:#define __POINTER_WIDTH__ 64
2464// MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1
2465// MIPS64BE:#define __PTRDIFF_TYPE__ long int
2466// MIPS64BE:#define __PTRDIFF_WIDTH__ 64
2467// MIPS64BE:#define __REGISTER_PREFIX__
2468// MIPS64BE:#define __SCHAR_MAX__ 127
2469// MIPS64BE:#define __SHRT_MAX__ 32767
2470// MIPS64BE:#define __SIG_ATOMIC_WIDTH__ 32
2471// MIPS64BE:#define __SIZEOF_DOUBLE__ 8
2472// MIPS64BE:#define __SIZEOF_FLOAT__ 4
2473// MIPS64BE:#define __SIZEOF_INT__ 4
2474// MIPS64BE:#define __SIZEOF_LONG_DOUBLE__ 16
2475// MIPS64BE:#define __SIZEOF_LONG_LONG__ 8
2476// MIPS64BE:#define __SIZEOF_LONG__ 8
2477// MIPS64BE:#define __SIZEOF_POINTER__ 8
2478// MIPS64BE:#define __SIZEOF_PTRDIFF_T__ 8
2479// MIPS64BE:#define __SIZEOF_SHORT__ 2
2480// MIPS64BE:#define __SIZEOF_SIZE_T__ 8
2481// MIPS64BE:#define __SIZEOF_WCHAR_T__ 4
2482// MIPS64BE:#define __SIZEOF_WINT_T__ 4
2483// MIPS64BE:#define __SIZE_MAX__ 18446744073709551615UL
2484// MIPS64BE:#define __SIZE_TYPE__ long unsigned int
2485// MIPS64BE:#define __SIZE_WIDTH__ 64
2486// MIPS64BE:#define __UINT16_C_SUFFIX__ U
2487// MIPS64BE:#define __UINT16_MAX__ 65535U
2488// MIPS64BE:#define __UINT16_TYPE__ unsigned short
2489// MIPS64BE:#define __UINT32_C_SUFFIX__ U
2490// MIPS64BE:#define __UINT32_MAX__ 4294967295U
2491// MIPS64BE:#define __UINT32_TYPE__ unsigned int
2492// MIPS64BE:#define __UINT64_C_SUFFIX__ UL
2493// MIPS64BE:#define __UINT64_MAX__ 18446744073709551615UL
2494// MIPS64BE:#define __UINT64_TYPE__ long unsigned int
2495// MIPS64BE:#define __UINT8_C_SUFFIX__ U
2496// MIPS64BE:#define __UINT8_MAX__ 255U
2497// MIPS64BE:#define __UINT8_TYPE__ unsigned char
2498// MIPS64BE:#define __UINTMAX_MAX__ 18446744073709551615ULL
2499// MIPS64BE:#define __UINTMAX_TYPE__ long long unsigned int
2500// MIPS64BE:#define __UINTMAX_WIDTH__ 64
2501// MIPS64BE:#define __UINTPTR_MAX__ 18446744073709551615UL
2502// MIPS64BE:#define __UINTPTR_TYPE__ long unsigned int
2503// MIPS64BE:#define __UINTPTR_WIDTH__ 64
2504// MIPS64BE:#define __UINT_FAST16_MAX__ 65535U
2505// MIPS64BE:#define __UINT_FAST16_TYPE__ unsigned short
2506// MIPS64BE:#define __UINT_FAST32_MAX__ 4294967295U
2507// MIPS64BE:#define __UINT_FAST32_TYPE__ unsigned int
2508// MIPS64BE:#define __UINT_FAST64_MAX__ 18446744073709551615UL
2509// MIPS64BE:#define __UINT_FAST64_TYPE__ long unsigned int
2510// MIPS64BE:#define __UINT_FAST8_MAX__ 255U
2511// MIPS64BE:#define __UINT_FAST8_TYPE__ unsigned char
2512// MIPS64BE:#define __UINT_LEAST16_MAX__ 65535U
2513// MIPS64BE:#define __UINT_LEAST16_TYPE__ unsigned short
2514// MIPS64BE:#define __UINT_LEAST32_MAX__ 4294967295U
2515// MIPS64BE:#define __UINT_LEAST32_TYPE__ unsigned int
2516// MIPS64BE:#define __UINT_LEAST64_MAX__ 18446744073709551615UL
2517// MIPS64BE:#define __UINT_LEAST64_TYPE__ long unsigned int
2518// MIPS64BE:#define __UINT_LEAST8_MAX__ 255U
2519// MIPS64BE:#define __UINT_LEAST8_TYPE__ unsigned char
2520// MIPS64BE:#define __USER_LABEL_PREFIX__ _
2521// MIPS64BE:#define __WCHAR_MAX__ 2147483647
2522// MIPS64BE:#define __WCHAR_TYPE__ int
2523// MIPS64BE:#define __WCHAR_WIDTH__ 32
2524// MIPS64BE:#define __WINT_TYPE__ int
2525// MIPS64BE:#define __WINT_WIDTH__ 32
2526// MIPS64BE:#define __clang__ 1
2527// MIPS64BE:#define __llvm__ 1
2528// MIPS64BE:#define __mips 64
2529// MIPS64BE:#define __mips64 1
2530// MIPS64BE:#define __mips64__ 1
2531// MIPS64BE:#define __mips__ 1
2532// MIPS64BE:#define __mips_fpr 64
2533// MIPS64BE:#define __mips_hard_float 1
2534// MIPS64BE:#define __mips_n64 1
2535// MIPS64BE:#define _mips 1
2536// MIPS64BE:#define mips 1
2537//
2538// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -check-prefix MIPS64EL %s
2539//
2540// MIPS64EL:#define MIPSEL 1
2541// MIPS64EL:#define _ABI64 3
2542// MIPS64EL:#define _LP64 1
2543// MIPS64EL:#define _MIPSEL 1
2544// MIPS64EL:#define _MIPS_ARCH "mips64r2"
2545// MIPS64EL:#define _MIPS_ARCH_MIPS64R2 1
2546// MIPS64EL:#define _MIPS_FPSET 32
2547// MIPS64EL:#define _MIPS_SIM _ABI64
2548// MIPS64EL:#define _MIPS_SZINT 32
2549// MIPS64EL:#define _MIPS_SZLONG 64
2550// MIPS64EL:#define _MIPS_SZPTR 64
2551// MIPS64EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
2552// MIPS64EL:#define __CHAR16_TYPE__ unsigned short
2553// MIPS64EL:#define __CHAR32_TYPE__ unsigned int
2554// MIPS64EL:#define __CHAR_BIT__ 8
2555// MIPS64EL:#define __CONSTANT_CFSTRINGS__ 1
2556// MIPS64EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2557// MIPS64EL:#define __DBL_DIG__ 15
2558// MIPS64EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
2559// MIPS64EL:#define __DBL_HAS_DENORM__ 1
2560// MIPS64EL:#define __DBL_HAS_INFINITY__ 1
2561// MIPS64EL:#define __DBL_HAS_QUIET_NAN__ 1
2562// MIPS64EL:#define __DBL_MANT_DIG__ 53
2563// MIPS64EL:#define __DBL_MAX_10_EXP__ 308
2564// MIPS64EL:#define __DBL_MAX_EXP__ 1024
2565// MIPS64EL:#define __DBL_MAX__ 1.7976931348623157e+308
2566// MIPS64EL:#define __DBL_MIN_10_EXP__ (-307)
2567// MIPS64EL:#define __DBL_MIN_EXP__ (-1021)
2568// MIPS64EL:#define __DBL_MIN__ 2.2250738585072014e-308
2569// MIPS64EL:#define __DECIMAL_DIG__ 36
2570// MIPS64EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2571// MIPS64EL:#define __FLT_DIG__ 6
2572// MIPS64EL:#define __FLT_EPSILON__ 1.19209290e-7F
2573// MIPS64EL:#define __FLT_EVAL_METHOD__ 0
2574// MIPS64EL:#define __FLT_HAS_DENORM__ 1
2575// MIPS64EL:#define __FLT_HAS_INFINITY__ 1
2576// MIPS64EL:#define __FLT_HAS_QUIET_NAN__ 1
2577// MIPS64EL:#define __FLT_MANT_DIG__ 24
2578// MIPS64EL:#define __FLT_MAX_10_EXP__ 38
2579// MIPS64EL:#define __FLT_MAX_EXP__ 128
2580// MIPS64EL:#define __FLT_MAX__ 3.40282347e+38F
2581// MIPS64EL:#define __FLT_MIN_10_EXP__ (-37)
2582// MIPS64EL:#define __FLT_MIN_EXP__ (-125)
2583// MIPS64EL:#define __FLT_MIN__ 1.17549435e-38F
2584// MIPS64EL:#define __FLT_RADIX__ 2
2585// MIPS64EL:#define __INT16_MAX__ 32767
2586// MIPS64EL:#define __INT16_TYPE__ short
2587// MIPS64EL:#define __INT32_MAX__ 2147483647
2588// MIPS64EL:#define __INT32_TYPE__ int
2589// MIPS64EL:#define __INT64_C_SUFFIX__ LL
2590// MIPS64EL:#define __INT64_MAX__ 9223372036854775807L
2591// MIPS64EL:#define __INT64_TYPE__ long long int
2592// MIPS64EL:#define __INT8_MAX__ 127
2593// MIPS64EL:#define __INT8_TYPE__ char
2594// MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807LL
2595// MIPS64EL:#define __INTMAX_TYPE__ long long int
2596// MIPS64EL:#define __INTMAX_WIDTH__ 64
2597// MIPS64EL:#define __INTPTR_MAX__ 9223372036854775807L
2598// MIPS64EL:#define __INTPTR_TYPE__ long int
2599// MIPS64EL:#define __INTPTR_WIDTH__ 64
2600// MIPS64EL:#define __INT_FAST16_MAX__ 32767
2601// MIPS64EL:#define __INT_FAST16_TYPE__ short
2602// MIPS64EL:#define __INT_FAST32_MAX__ 2147483647
2603// MIPS64EL:#define __INT_FAST32_TYPE__ int
2604// MIPS64EL:#define __INT_FAST64_MAX__ 9223372036854775807L
2605// MIPS64EL:#define __INT_FAST64_TYPE__ long int
2606// MIPS64EL:#define __INT_FAST8_MAX__ 127
2607// MIPS64EL:#define __INT_FAST8_TYPE__ char
2608// MIPS64EL:#define __INT_LEAST16_MAX__ 32767
2609// MIPS64EL:#define __INT_LEAST16_TYPE__ short
2610// MIPS64EL:#define __INT_LEAST32_MAX__ 2147483647
2611// MIPS64EL:#define __INT_LEAST32_TYPE__ int
2612// MIPS64EL:#define __INT_LEAST64_MAX__ 9223372036854775807L
2613// MIPS64EL:#define __INT_LEAST64_TYPE__ long int
2614// MIPS64EL:#define __INT_LEAST8_MAX__ 127
2615// MIPS64EL:#define __INT_LEAST8_TYPE__ char
2616// MIPS64EL:#define __INT_MAX__ 2147483647
2617// MIPS64EL:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
2618// MIPS64EL:#define __LDBL_DIG__ 33
2619// MIPS64EL:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
2620// MIPS64EL:#define __LDBL_HAS_DENORM__ 1
2621// MIPS64EL:#define __LDBL_HAS_INFINITY__ 1
2622// MIPS64EL:#define __LDBL_HAS_QUIET_NAN__ 1
2623// MIPS64EL:#define __LDBL_MANT_DIG__ 113
2624// MIPS64EL:#define __LDBL_MAX_10_EXP__ 4932
2625// MIPS64EL:#define __LDBL_MAX_EXP__ 16384
2626// MIPS64EL:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
2627// MIPS64EL:#define __LDBL_MIN_10_EXP__ (-4931)
2628// MIPS64EL:#define __LDBL_MIN_EXP__ (-16381)
2629// MIPS64EL:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
2630// MIPS64EL:#define __LITTLE_ENDIAN__ 1
2631// MIPS64EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
2632// MIPS64EL:#define __LONG_MAX__ 9223372036854775807L
2633// MIPS64EL:#define __LP64__ 1
2634// MIPS64EL:#define __MIPSEL 1
2635// MIPS64EL:#define __MIPSEL__ 1
2636// MIPS64EL:#define __POINTER_WIDTH__ 64
2637// MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1
2638// MIPS64EL:#define __PTRDIFF_TYPE__ long int
2639// MIPS64EL:#define __PTRDIFF_WIDTH__ 64
2640// MIPS64EL:#define __REGISTER_PREFIX__
2641// MIPS64EL:#define __SCHAR_MAX__ 127
2642// MIPS64EL:#define __SHRT_MAX__ 32767
2643// MIPS64EL:#define __SIG_ATOMIC_WIDTH__ 32
2644// MIPS64EL:#define __SIZEOF_DOUBLE__ 8
2645// MIPS64EL:#define __SIZEOF_FLOAT__ 4
2646// MIPS64EL:#define __SIZEOF_INT__ 4
2647// MIPS64EL:#define __SIZEOF_LONG_DOUBLE__ 16
2648// MIPS64EL:#define __SIZEOF_LONG_LONG__ 8
2649// MIPS64EL:#define __SIZEOF_LONG__ 8
2650// MIPS64EL:#define __SIZEOF_POINTER__ 8
2651// MIPS64EL:#define __SIZEOF_PTRDIFF_T__ 8
2652// MIPS64EL:#define __SIZEOF_SHORT__ 2
2653// MIPS64EL:#define __SIZEOF_SIZE_T__ 8
2654// MIPS64EL:#define __SIZEOF_WCHAR_T__ 4
2655// MIPS64EL:#define __SIZEOF_WINT_T__ 4
2656// MIPS64EL:#define __SIZE_MAX__ 18446744073709551615UL
2657// MIPS64EL:#define __SIZE_TYPE__ long unsigned int
2658// MIPS64EL:#define __SIZE_WIDTH__ 64
2659// MIPS64EL:#define __UINT16_C_SUFFIX__ U
2660// MIPS64EL:#define __UINT16_MAX__ 65535U
2661// MIPS64EL:#define __UINT16_TYPE__ unsigned short
2662// MIPS64EL:#define __UINT32_C_SUFFIX__ U
2663// MIPS64EL:#define __UINT32_MAX__ 4294967295U
2664// MIPS64EL:#define __UINT32_TYPE__ unsigned int
2665// MIPS64EL:#define __UINT64_C_SUFFIX__ UL
2666// MIPS64EL:#define __UINT64_MAX__ 18446744073709551615UL
2667// MIPS64EL:#define __UINT64_TYPE__ long unsigned int
2668// MIPS64EL:#define __UINT8_C_SUFFIX__ U
2669// MIPS64EL:#define __UINT8_MAX__ 255U
2670// MIPS64EL:#define __UINT8_TYPE__ unsigned char
2671// MIPS64EL:#define __UINTMAX_MAX__ 18446744073709551615ULL
2672// MIPS64EL:#define __UINTMAX_TYPE__ long long unsigned int
2673// MIPS64EL:#define __UINTMAX_WIDTH__ 64
2674// MIPS64EL:#define __UINTPTR_MAX__ 18446744073709551615UL
2675// MIPS64EL:#define __UINTPTR_TYPE__ long unsigned int
2676// MIPS64EL:#define __UINTPTR_WIDTH__ 64
2677// MIPS64EL:#define __UINT_FAST16_MAX__ 65535U
2678// MIPS64EL:#define __UINT_FAST16_TYPE__ unsigned short
2679// MIPS64EL:#define __UINT_FAST32_MAX__ 4294967295U
2680// MIPS64EL:#define __UINT_FAST32_TYPE__ unsigned int
2681// MIPS64EL:#define __UINT_FAST64_MAX__ 18446744073709551615UL
2682// MIPS64EL:#define __UINT_FAST64_TYPE__ long unsigned int
2683// MIPS64EL:#define __UINT_FAST8_MAX__ 255U
2684// MIPS64EL:#define __UINT_FAST8_TYPE__ unsigned char
2685// MIPS64EL:#define __UINT_LEAST16_MAX__ 65535U
2686// MIPS64EL:#define __UINT_LEAST16_TYPE__ unsigned short
2687// MIPS64EL:#define __UINT_LEAST32_MAX__ 4294967295U
2688// MIPS64EL:#define __UINT_LEAST32_TYPE__ unsigned int
2689// MIPS64EL:#define __UINT_LEAST64_MAX__ 18446744073709551615UL
2690// MIPS64EL:#define __UINT_LEAST64_TYPE__ long unsigned int
2691// MIPS64EL:#define __UINT_LEAST8_MAX__ 255U
2692// MIPS64EL:#define __UINT_LEAST8_TYPE__ unsigned char
2693// MIPS64EL:#define __USER_LABEL_PREFIX__ _
2694// MIPS64EL:#define __WCHAR_MAX__ 2147483647
2695// MIPS64EL:#define __WCHAR_TYPE__ int
2696// MIPS64EL:#define __WCHAR_WIDTH__ 32
2697// MIPS64EL:#define __WINT_TYPE__ int
2698// MIPS64EL:#define __WINT_WIDTH__ 32
2699// MIPS64EL:#define __clang__ 1
2700// MIPS64EL:#define __llvm__ 1
2701// MIPS64EL:#define __mips 64
2702// MIPS64EL:#define __mips64 1
2703// MIPS64EL:#define __mips64__ 1
2704// MIPS64EL:#define __mips__ 1
2705// MIPS64EL:#define __mips_fpr 64
2706// MIPS64EL:#define __mips_hard_float 1
2707// MIPS64EL:#define __mips_n64 1
2708// MIPS64EL:#define _mips 1
2709// MIPS64EL:#define mips 1
2710//
2711// Check MIPS arch and isa macros
2712//
2713// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
2714// RUN:            < /dev/null \
2715// RUN:   | FileCheck -check-prefix MIPS-ARCH-DEF32 %s
2716//
2717// MIPS-ARCH-DEF32:#define _MIPS_ARCH "mips32r2"
2718// MIPS-ARCH-DEF32:#define _MIPS_ARCH_MIPS32R2 1
2719// MIPS-ARCH-DEF32:#define _MIPS_ISA _MIPS_ISA_MIPS32
2720// MIPS-ARCH-DEF32:#define __mips_isa_rev 2
2721//
2722// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-nones \
2723// RUN:            -target-cpu mips32 < /dev/null \
2724// RUN:   | FileCheck -check-prefix MIPS-ARCH-32 %s
2725//
2726// MIPS-ARCH-32:#define _MIPS_ARCH "mips32"
2727// MIPS-ARCH-32:#define _MIPS_ARCH_MIPS32 1
2728// MIPS-ARCH-32:#define _MIPS_ISA _MIPS_ISA_MIPS32
2729// MIPS-ARCH-32:#define __mips_isa_rev 1
2730//
2731// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
2732// RUN:            -target-cpu mips32r2 < /dev/null \
2733// RUN:   | FileCheck -check-prefix MIPS-ARCH-32R2 %s
2734//
2735// MIPS-ARCH-32R2:#define _MIPS_ARCH "mips32r2"
2736// MIPS-ARCH-32R2:#define _MIPS_ARCH_MIPS32R2 1
2737// MIPS-ARCH-32R2:#define _MIPS_ISA _MIPS_ISA_MIPS32
2738// MIPS-ARCH-32R2:#define __mips_isa_rev 2
2739//
2740// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
2741// RUN:            < /dev/null \
2742// RUN:   | FileCheck -check-prefix MIPS-ARCH-DEF64 %s
2743//
2744// MIPS-ARCH-DEF64:#define _MIPS_ARCH "mips64r2"
2745// MIPS-ARCH-DEF64:#define _MIPS_ARCH_MIPS64R2 1
2746// MIPS-ARCH-DEF64:#define _MIPS_ISA _MIPS_ISA_MIPS64
2747// MIPS-ARCH-DEF64:#define __mips_isa_rev 2
2748//
2749// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
2750// RUN:            -target-cpu mips64 < /dev/null \
2751// RUN:   | FileCheck -check-prefix MIPS-ARCH-64 %s
2752//
2753// MIPS-ARCH-64:#define _MIPS_ARCH "mips64"
2754// MIPS-ARCH-64:#define _MIPS_ARCH_MIPS64 1
2755// MIPS-ARCH-64:#define _MIPS_ISA _MIPS_ISA_MIPS64
2756// MIPS-ARCH-64:#define __mips_isa_rev 1
2757//
2758// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
2759// RUN:            -target-cpu mips64r2 < /dev/null \
2760// RUN:   | FileCheck -check-prefix MIPS-ARCH-64R2 %s
2761//
2762// MIPS-ARCH-64R2:#define _MIPS_ARCH "mips64r2"
2763// MIPS-ARCH-64R2:#define _MIPS_ARCH_MIPS64R2 1
2764// MIPS-ARCH-64R2:#define _MIPS_ISA _MIPS_ISA_MIPS64
2765// MIPS-ARCH-64R2:#define __mips_isa_rev 2
2766//
2767// Check MIPS float ABI macros
2768//
2769// RUN: %clang_cc1 -E -dM -ffreestanding \
2770// RUN:   -triple=mips-none-none < /dev/null \
2771// RUN:   | FileCheck -check-prefix MIPS-FABI-HARD %s
2772// MIPS-FABI-HARD:#define __mips_hard_float 1
2773//
2774// RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \
2775// RUN:   -triple=mips-none-none < /dev/null \
2776// RUN:   | FileCheck -check-prefix MIPS-FABI-SOFT %s
2777// MIPS-FABI-SOFT:#define __mips_soft_float 1
2778//
2779// RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \
2780// RUN:   -triple=mips-none-none < /dev/null \
2781// RUN:   | FileCheck -check-prefix MIPS-FABI-SINGLE %s
2782// MIPS-FABI-SINGLE:#define __mips_hard_float 1
2783// MIPS-FABI-SINGLE:#define __mips_single_float 1
2784//
2785// RUN: %clang_cc1 -target-feature +soft-float -target-feature +single-float \
2786// RUN:   -E -dM -ffreestanding -triple=mips-none-none < /dev/null \
2787// RUN:   | FileCheck -check-prefix MIPS-FABI-SINGLE-SOFT %s
2788// MIPS-FABI-SINGLE-SOFT:#define __mips_single_float 1
2789// MIPS-FABI-SINGLE-SOFT:#define __mips_soft_float 1
2790//
2791// Check MIPS features macros
2792//
2793// RUN: %clang_cc1 -target-feature +mips16 \
2794// RUN:   -E -dM -triple=mips-none-none < /dev/null \
2795// RUN:   | FileCheck -check-prefix MIPS16 %s
2796// MIPS16:#define __mips16 1
2797//
2798// RUN: %clang_cc1 -target-feature -mips16 \
2799// RUN:   -E -dM -triple=mips-none-none < /dev/null \
2800// RUN:   | FileCheck -check-prefix NOMIPS16 %s
2801// NOMIPS16-NOT:#define __mips16 1
2802//
2803// RUN: %clang_cc1 -target-feature +micromips \
2804// RUN:   -E -dM -triple=mips-none-none < /dev/null \
2805// RUN:   | FileCheck -check-prefix MICROMIPS %s
2806// MICROMIPS:#define __mips_micromips 1
2807//
2808// RUN: %clang_cc1 -target-feature -micromips \
2809// RUN:   -E -dM -triple=mips-none-none < /dev/null \
2810// RUN:   | FileCheck -check-prefix NOMICROMIPS %s
2811// NOMICROMIPS-NOT:#define __mips_micromips 1
2812//
2813// RUN: %clang_cc1 -target-feature +dsp \
2814// RUN:   -E -dM -triple=mips-none-none < /dev/null \
2815// RUN:   | FileCheck -check-prefix MIPS-DSP %s
2816// MIPS-DSP:#define __mips_dsp 1
2817// MIPS-DSP:#define __mips_dsp_rev 1
2818// MIPS-DSP-NOT:#define __mips_dspr2 1
2819//
2820// RUN: %clang_cc1 -target-feature +dspr2 \
2821// RUN:   -E -dM -triple=mips-none-none < /dev/null \
2822// RUN:   | FileCheck -check-prefix MIPS-DSPR2 %s
2823// MIPS-DSPR2:#define __mips_dsp 1
2824// MIPS-DSPR2:#define __mips_dsp_rev 2
2825// MIPS-DSPR2:#define __mips_dspr2 1
2826//
2827// RUN: %clang_cc1 -target-feature +msa \
2828// RUN:   -E -dM -triple=mips-none-none < /dev/null \
2829// RUN:   | FileCheck -check-prefix MIPS-MSA %s
2830// MIPS-MSA:#define __mips_msa 1
2831//
2832// RUN: %clang_cc1 -target-feature +nan2008 \
2833// RUN:   -E -dM -triple=mips-none-none < /dev/null \
2834// RUN:   | FileCheck -check-prefix MIPS-NAN2008 %s
2835// MIPS-NAN2008:#define __mips_nan2008 1
2836//
2837// RUN: %clang_cc1 -target-feature -fp64 \
2838// RUN:   -E -dM -triple=mips-none-none < /dev/null \
2839// RUN:   | FileCheck -check-prefix MIPS32-MFP32 %s
2840// MIPS32-MFP32:#define _MIPS_FPSET 16
2841// MIPS32-MFP32:#define __mips_fpr 32
2842//
2843// RUN: %clang_cc1 -target-feature +fp64 \
2844// RUN:   -E -dM -triple=mips-none-none < /dev/null \
2845// RUN:   | FileCheck -check-prefix MIPS32-MFP64 %s
2846// MIPS32-MFP64:#define _MIPS_FPSET 32
2847// MIPS32-MFP64:#define __mips_fpr 64
2848//
2849// RUN: %clang_cc1 -target-feature +single-float \
2850// RUN:   -E -dM -triple=mips-none-none < /dev/null \
2851// RUN:   | FileCheck -check-prefix MIPS32-MFP32SF %s
2852// MIPS32-MFP32SF:#define _MIPS_FPSET 32
2853// MIPS32-MFP32SF:#define __mips_fpr 32
2854//
2855// RUN: %clang_cc1 -target-feature +fp64 \
2856// RUN:   -E -dM -triple=mips64-none-none < /dev/null \
2857// RUN:   | FileCheck -check-prefix MIPS64-MFP64 %s
2858// MIPS64-MFP64:#define _MIPS_FPSET 32
2859// MIPS64-MFP64:#define __mips_fpr 64
2860//
2861// RUN: %clang_cc1 -target-feature -fp64 -target-feature +single-float \
2862// RUN:   -E -dM -triple=mips64-none-none < /dev/null \
2863// RUN:   | FileCheck -check-prefix MIPS64-NOMFP64 %s
2864// MIPS64-NOMFP64:#define _MIPS_FPSET 32
2865// MIPS64-NOMFP64:#define __mips_fpr 32
2866//
2867// RUN: %clang_cc1 -target-cpu mips32r6 \
2868// RUN:   -E -dM -triple=mips-none-none < /dev/null \
2869// RUN:   | FileCheck -check-prefix MIPS-XXR6 %s
2870// RUN: %clang_cc1 -target-cpu mips64r6 \
2871// RUN:   -E -dM -triple=mips64-none-none < /dev/null \
2872// RUN:   | FileCheck -check-prefix MIPS-XXR6 %s
2873// MIPS-XXR6:#define _MIPS_FPSET 32
2874// MIPS-XXR6:#define __mips_fpr 64
2875// MIPS-XXR6:#define __mips_nan2008 1
2876//
2877// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
2878//
2879// MSP430:#define MSP430 1
2880// MSP430-NOT:#define _LP64
2881// MSP430:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
2882// MSP430:#define __CHAR16_TYPE__ unsigned short
2883// MSP430:#define __CHAR32_TYPE__ unsigned int
2884// MSP430:#define __CHAR_BIT__ 8
2885// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2886// MSP430:#define __DBL_DIG__ 15
2887// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
2888// MSP430:#define __DBL_HAS_DENORM__ 1
2889// MSP430:#define __DBL_HAS_INFINITY__ 1
2890// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
2891// MSP430:#define __DBL_MANT_DIG__ 53
2892// MSP430:#define __DBL_MAX_10_EXP__ 308
2893// MSP430:#define __DBL_MAX_EXP__ 1024
2894// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
2895// MSP430:#define __DBL_MIN_10_EXP__ (-307)
2896// MSP430:#define __DBL_MIN_EXP__ (-1021)
2897// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
2898// MSP430:#define __DECIMAL_DIG__ 17
2899// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2900// MSP430:#define __FLT_DIG__ 6
2901// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
2902// MSP430:#define __FLT_EVAL_METHOD__ 0
2903// MSP430:#define __FLT_HAS_DENORM__ 1
2904// MSP430:#define __FLT_HAS_INFINITY__ 1
2905// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
2906// MSP430:#define __FLT_MANT_DIG__ 24
2907// MSP430:#define __FLT_MAX_10_EXP__ 38
2908// MSP430:#define __FLT_MAX_EXP__ 128
2909// MSP430:#define __FLT_MAX__ 3.40282347e+38F
2910// MSP430:#define __FLT_MIN_10_EXP__ (-37)
2911// MSP430:#define __FLT_MIN_EXP__ (-125)
2912// MSP430:#define __FLT_MIN__ 1.17549435e-38F
2913// MSP430:#define __FLT_RADIX__ 2
2914// MSP430:#define __INT16_MAX__ 32767
2915// MSP430:#define __INT16_TYPE__ short
2916// MSP430:#define __INT32_C_SUFFIX__ L
2917// MSP430:#define __INT32_MAX__ 2147483647L
2918// MSP430:#define __INT32_TYPE__ long int
2919// MSP430:#define __INT64_C_SUFFIX__ LL
2920// MSP430:#define __INT64_MAX__ 9223372036854775807LL
2921// MSP430:#define __INT64_TYPE__ long long int
2922// MSP430:#define __INT8_MAX__ 127
2923// MSP430:#define __INT8_TYPE__ char
2924// MSP430:#define __INTMAX_MAX__ 9223372036854775807LL
2925// MSP430:#define __INTMAX_TYPE__ long long int
2926// MSP430:#define __INTMAX_WIDTH__ 64
2927// MSP430:#define __INTPTR_MAX__ 32767
2928// MSP430:#define __INTPTR_TYPE__ int
2929// MSP430:#define __INTPTR_WIDTH__ 16
2930// MSP430:#define __INT_FAST16_MAX__ 32767
2931// MSP430:#define __INT_FAST16_TYPE__ short
2932// MSP430:#define __INT_FAST32_MAX__ 2147483647L
2933// MSP430:#define __INT_FAST32_TYPE__ long int
2934// MSP430:#define __INT_FAST64_MAX__ 9223372036854775807LL
2935// MSP430:#define __INT_FAST64_TYPE__ long long int
2936// MSP430:#define __INT_FAST8_MAX__ 127
2937// MSP430:#define __INT_FAST8_TYPE__ char
2938// MSP430:#define __INT_LEAST16_MAX__ 32767
2939// MSP430:#define __INT_LEAST16_TYPE__ short
2940// MSP430:#define __INT_LEAST32_MAX__ 2147483647L
2941// MSP430:#define __INT_LEAST32_TYPE__ long int
2942// MSP430:#define __INT_LEAST64_MAX__ 9223372036854775807LL
2943// MSP430:#define __INT_LEAST64_TYPE__ long long int
2944// MSP430:#define __INT_LEAST8_MAX__ 127
2945// MSP430:#define __INT_LEAST8_TYPE__ char
2946// MSP430:#define __INT_MAX__ 32767
2947// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
2948// MSP430:#define __LDBL_DIG__ 15
2949// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
2950// MSP430:#define __LDBL_HAS_DENORM__ 1
2951// MSP430:#define __LDBL_HAS_INFINITY__ 1
2952// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
2953// MSP430:#define __LDBL_MANT_DIG__ 53
2954// MSP430:#define __LDBL_MAX_10_EXP__ 308
2955// MSP430:#define __LDBL_MAX_EXP__ 1024
2956// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308L
2957// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
2958// MSP430:#define __LDBL_MIN_EXP__ (-1021)
2959// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308L
2960// MSP430:#define __LITTLE_ENDIAN__ 1
2961// MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
2962// MSP430:#define __LONG_MAX__ 2147483647L
2963// MSP430-NOT:#define __LP64__
2964// MSP430:#define __MSP430__ 1
2965// MSP430:#define __POINTER_WIDTH__ 16
2966// MSP430:#define __PTRDIFF_TYPE__ int
2967// MSP430:#define __PTRDIFF_WIDTH__ 16
2968// MSP430:#define __SCHAR_MAX__ 127
2969// MSP430:#define __SHRT_MAX__ 32767
2970// MSP430:#define __SIG_ATOMIC_WIDTH__ 32
2971// MSP430:#define __SIZEOF_DOUBLE__ 8
2972// MSP430:#define __SIZEOF_FLOAT__ 4
2973// MSP430:#define __SIZEOF_INT__ 2
2974// MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
2975// MSP430:#define __SIZEOF_LONG_LONG__ 8
2976// MSP430:#define __SIZEOF_LONG__ 4
2977// MSP430:#define __SIZEOF_POINTER__ 2
2978// MSP430:#define __SIZEOF_PTRDIFF_T__ 2
2979// MSP430:#define __SIZEOF_SHORT__ 2
2980// MSP430:#define __SIZEOF_SIZE_T__ 2
2981// MSP430:#define __SIZEOF_WCHAR_T__ 2
2982// MSP430:#define __SIZEOF_WINT_T__ 2
2983// MSP430:#define __SIZE_MAX__ 65535U
2984// MSP430:#define __SIZE_TYPE__ unsigned int
2985// MSP430:#define __SIZE_WIDTH__ 16
2986// MSP430:#define __UINT16_C_SUFFIX__ U
2987// MSP430:#define __UINT16_MAX__ 65535U
2988// MSP430:#define __UINT16_TYPE__ unsigned short
2989// MSP430:#define __UINT32_C_SUFFIX__ UL
2990// MSP430:#define __UINT32_MAX__ 4294967295UL
2991// MSP430:#define __UINT32_TYPE__ long unsigned int
2992// MSP430:#define __UINT64_C_SUFFIX__ ULL
2993// MSP430:#define __UINT64_MAX__ 18446744073709551615ULL
2994// MSP430:#define __UINT64_TYPE__ long long unsigned int
2995// MSP430:#define __UINT8_C_SUFFIX__ U
2996// MSP430:#define __UINT8_MAX__ 255U
2997// MSP430:#define __UINT8_TYPE__ unsigned char
2998// MSP430:#define __UINTMAX_MAX__ 18446744073709551615ULL
2999// MSP430:#define __UINTMAX_TYPE__ long long unsigned int
3000// MSP430:#define __UINTMAX_WIDTH__ 64
3001// MSP430:#define __UINTPTR_MAX__ 65535U
3002// MSP430:#define __UINTPTR_TYPE__ unsigned short
3003// MSP430:#define __UINTPTR_WIDTH__ 16
3004// MSP430:#define __UINT_FAST16_MAX__ 65535U
3005// MSP430:#define __UINT_FAST16_TYPE__ unsigned short
3006// MSP430:#define __UINT_FAST32_MAX__ 4294967295UL
3007// MSP430:#define __UINT_FAST32_TYPE__ long unsigned int
3008// MSP430:#define __UINT_FAST64_MAX__ 18446744073709551615ULL
3009// MSP430:#define __UINT_FAST64_TYPE__ long long unsigned int
3010// MSP430:#define __UINT_FAST8_MAX__ 255U
3011// MSP430:#define __UINT_FAST8_TYPE__ unsigned char
3012// MSP430:#define __UINT_LEAST16_MAX__ 65535U
3013// MSP430:#define __UINT_LEAST16_TYPE__ unsigned short
3014// MSP430:#define __UINT_LEAST32_MAX__ 4294967295UL
3015// MSP430:#define __UINT_LEAST32_TYPE__ long unsigned int
3016// MSP430:#define __UINT_LEAST64_MAX__ 18446744073709551615ULL
3017// MSP430:#define __UINT_LEAST64_TYPE__ long long unsigned int
3018// MSP430:#define __UINT_LEAST8_MAX__ 255U
3019// MSP430:#define __UINT_LEAST8_TYPE__ unsigned char
3020// MSP430:#define __USER_LABEL_PREFIX__ _
3021// MSP430:#define __WCHAR_MAX__ 32767
3022// MSP430:#define __WCHAR_TYPE__ int
3023// MSP430:#define __WCHAR_WIDTH__ 16
3024// MSP430:#define __WINT_TYPE__ int
3025// MSP430:#define __WINT_WIDTH__ 16
3026// MSP430:#define __clang__ 1
3027//
3028// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s
3029//
3030// NVPTX32-NOT:#define _LP64
3031// NVPTX32:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
3032// NVPTX32:#define __CHAR16_TYPE__ unsigned short
3033// NVPTX32:#define __CHAR32_TYPE__ unsigned int
3034// NVPTX32:#define __CHAR_BIT__ 8
3035// NVPTX32:#define __CONSTANT_CFSTRINGS__ 1
3036// NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3037// NVPTX32:#define __DBL_DIG__ 15
3038// NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16
3039// NVPTX32:#define __DBL_HAS_DENORM__ 1
3040// NVPTX32:#define __DBL_HAS_INFINITY__ 1
3041// NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1
3042// NVPTX32:#define __DBL_MANT_DIG__ 53
3043// NVPTX32:#define __DBL_MAX_10_EXP__ 308
3044// NVPTX32:#define __DBL_MAX_EXP__ 1024
3045// NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308
3046// NVPTX32:#define __DBL_MIN_10_EXP__ (-307)
3047// NVPTX32:#define __DBL_MIN_EXP__ (-1021)
3048// NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308
3049// NVPTX32:#define __DECIMAL_DIG__ 17
3050// NVPTX32:#define __FINITE_MATH_ONLY__ 0
3051// NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3052// NVPTX32:#define __FLT_DIG__ 6
3053// NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F
3054// NVPTX32:#define __FLT_EVAL_METHOD__ 0
3055// NVPTX32:#define __FLT_HAS_DENORM__ 1
3056// NVPTX32:#define __FLT_HAS_INFINITY__ 1
3057// NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1
3058// NVPTX32:#define __FLT_MANT_DIG__ 24
3059// NVPTX32:#define __FLT_MAX_10_EXP__ 38
3060// NVPTX32:#define __FLT_MAX_EXP__ 128
3061// NVPTX32:#define __FLT_MAX__ 3.40282347e+38F
3062// NVPTX32:#define __FLT_MIN_10_EXP__ (-37)
3063// NVPTX32:#define __FLT_MIN_EXP__ (-125)
3064// NVPTX32:#define __FLT_MIN__ 1.17549435e-38F
3065// NVPTX32:#define __FLT_RADIX__ 2
3066// NVPTX32:#define __INT16_MAX__ 32767
3067// NVPTX32:#define __INT16_TYPE__ short
3068// NVPTX32:#define __INT32_MAX__ 2147483647
3069// NVPTX32:#define __INT32_TYPE__ int
3070// NVPTX32:#define __INT64_C_SUFFIX__ LL
3071// NVPTX32:#define __INT64_MAX__ 9223372036854775807L
3072// NVPTX32:#define __INT64_TYPE__ long long int
3073// NVPTX32:#define __INT8_MAX__ 127
3074// NVPTX32:#define __INT8_TYPE__ char
3075// NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL
3076// NVPTX32:#define __INTMAX_TYPE__ long long int
3077// NVPTX32:#define __INTMAX_WIDTH__ 64
3078// NVPTX32:#define __INTPTR_MAX__ 4294967295U
3079// NVPTX32:#define __INTPTR_TYPE__ unsigned int
3080// NVPTX32:#define __INTPTR_WIDTH__ 32
3081// NVPTX32:#define __INT_FAST16_MAX__ 32767
3082// NVPTX32:#define __INT_FAST16_TYPE__ short
3083// NVPTX32:#define __INT_FAST32_MAX__ 2147483647
3084// NVPTX32:#define __INT_FAST32_TYPE__ int
3085// NVPTX32:#define __INT_FAST64_MAX__ 9223372036854775807L
3086// NVPTX32:#define __INT_FAST64_TYPE__ long int
3087// NVPTX32:#define __INT_FAST8_MAX__ 127
3088// NVPTX32:#define __INT_FAST8_TYPE__ char
3089// NVPTX32:#define __INT_LEAST16_MAX__ 32767
3090// NVPTX32:#define __INT_LEAST16_TYPE__ short
3091// NVPTX32:#define __INT_LEAST32_MAX__ 2147483647
3092// NVPTX32:#define __INT_LEAST32_TYPE__ int
3093// NVPTX32:#define __INT_LEAST64_MAX__ 9223372036854775807L
3094// NVPTX32:#define __INT_LEAST64_TYPE__ long int
3095// NVPTX32:#define __INT_LEAST8_MAX__ 127
3096// NVPTX32:#define __INT_LEAST8_TYPE__ char
3097// NVPTX32:#define __INT_MAX__ 2147483647
3098// NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
3099// NVPTX32:#define __LDBL_DIG__ 15
3100// NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
3101// NVPTX32:#define __LDBL_HAS_DENORM__ 1
3102// NVPTX32:#define __LDBL_HAS_INFINITY__ 1
3103// NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1
3104// NVPTX32:#define __LDBL_MANT_DIG__ 53
3105// NVPTX32:#define __LDBL_MAX_10_EXP__ 308
3106// NVPTX32:#define __LDBL_MAX_EXP__ 1024
3107// NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308L
3108// NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
3109// NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
3110// NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308L
3111// NVPTX32:#define __LITTLE_ENDIAN__ 1
3112// NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL
3113// NVPTX32:#define __LONG_MAX__ 9223372036854775807L
3114// NVPTX32-NOT:#define __LP64__
3115// NVPTX32:#define __NVPTX__ 1
3116// NVPTX32:#define __POINTER_WIDTH__ 32
3117// NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1
3118// NVPTX32:#define __PTRDIFF_TYPE__ unsigned int
3119// NVPTX32:#define __PTRDIFF_WIDTH__ 32
3120// NVPTX32:#define __PTX__ 1
3121// NVPTX32:#define __SCHAR_MAX__ 127
3122// NVPTX32:#define __SHRT_MAX__ 32767
3123// NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32
3124// NVPTX32:#define __SIZEOF_DOUBLE__ 8
3125// NVPTX32:#define __SIZEOF_FLOAT__ 4
3126// NVPTX32:#define __SIZEOF_INT__ 4
3127// NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8
3128// NVPTX32:#define __SIZEOF_LONG_LONG__ 8
3129// NVPTX32:#define __SIZEOF_LONG__ 8
3130// NVPTX32:#define __SIZEOF_POINTER__ 4
3131// NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4
3132// NVPTX32:#define __SIZEOF_SHORT__ 2
3133// NVPTX32:#define __SIZEOF_SIZE_T__ 4
3134// NVPTX32:#define __SIZEOF_WCHAR_T__ 4
3135// NVPTX32:#define __SIZEOF_WINT_T__ 4
3136// NVPTX32:#define __SIZE_MAX__ 4294967295U
3137// NVPTX32:#define __SIZE_TYPE__ unsigned int
3138// NVPTX32:#define __SIZE_WIDTH__ 32
3139// NVPTX32:#define __UINT16_C_SUFFIX__ U
3140// NVPTX32:#define __UINT16_MAX__ 65535U
3141// NVPTX32:#define __UINT16_TYPE__ unsigned short
3142// NVPTX32:#define __UINT32_C_SUFFIX__ U
3143// NVPTX32:#define __UINT32_MAX__ 4294967295U
3144// NVPTX32:#define __UINT32_TYPE__ unsigned int
3145// NVPTX32:#define __UINT64_C_SUFFIX__ UL
3146// NVPTX32:#define __UINT64_MAX__ 18446744073709551615UL
3147// NVPTX32:#define __UINT64_TYPE__ long unsigned int
3148// NVPTX32:#define __UINT8_C_SUFFIX__ U
3149// NVPTX32:#define __UINT8_MAX__ 255U
3150// NVPTX32:#define __UINT8_TYPE__ unsigned char
3151// NVPTX32:#define __UINTMAX_MAX__ 18446744073709551615ULL
3152// NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int
3153// NVPTX32:#define __UINTMAX_WIDTH__ 64
3154// NVPTX32:#define __UINTPTR_MAX__ 4294967295U
3155// NVPTX32:#define __UINTPTR_TYPE__ unsigned int
3156// NVPTX32:#define __UINTPTR_WIDTH__ 32
3157// NVPTX32:#define __UINT_FAST16_MAX__ 65535U
3158// NVPTX32:#define __UINT_FAST16_TYPE__ unsigned short
3159// NVPTX32:#define __UINT_FAST32_MAX__ 4294967295U
3160// NVPTX32:#define __UINT_FAST32_TYPE__ unsigned int
3161// NVPTX32:#define __UINT_FAST64_MAX__ 18446744073709551615UL
3162// NVPTX32:#define __UINT_FAST64_TYPE__ long unsigned int
3163// NVPTX32:#define __UINT_FAST8_MAX__ 255U
3164// NVPTX32:#define __UINT_FAST8_TYPE__ unsigned char
3165// NVPTX32:#define __UINT_LEAST16_MAX__ 65535U
3166// NVPTX32:#define __UINT_LEAST16_TYPE__ unsigned short
3167// NVPTX32:#define __UINT_LEAST32_MAX__ 4294967295U
3168// NVPTX32:#define __UINT_LEAST32_TYPE__ unsigned int
3169// NVPTX32:#define __UINT_LEAST64_MAX__ 18446744073709551615UL
3170// NVPTX32:#define __UINT_LEAST64_TYPE__ long unsigned int
3171// NVPTX32:#define __UINT_LEAST8_MAX__ 255U
3172// NVPTX32:#define __UINT_LEAST8_TYPE__ unsigned char
3173// NVPTX32:#define __USER_LABEL_PREFIX__ _
3174// NVPTX32:#define __WCHAR_MAX__ 2147483647
3175// NVPTX32:#define __WCHAR_TYPE__ int
3176// NVPTX32:#define __WCHAR_WIDTH__ 32
3177// NVPTX32:#define __WINT_TYPE__ int
3178// NVPTX32:#define __WINT_WIDTH__ 32
3179//
3180// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -check-prefix NVPTX64 %s
3181//
3182// NVPTX64:#define _LP64 1
3183// NVPTX64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
3184// NVPTX64:#define __CHAR16_TYPE__ unsigned short
3185// NVPTX64:#define __CHAR32_TYPE__ unsigned int
3186// NVPTX64:#define __CHAR_BIT__ 8
3187// NVPTX64:#define __CONSTANT_CFSTRINGS__ 1
3188// NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3189// NVPTX64:#define __DBL_DIG__ 15
3190// NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16
3191// NVPTX64:#define __DBL_HAS_DENORM__ 1
3192// NVPTX64:#define __DBL_HAS_INFINITY__ 1
3193// NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1
3194// NVPTX64:#define __DBL_MANT_DIG__ 53
3195// NVPTX64:#define __DBL_MAX_10_EXP__ 308
3196// NVPTX64:#define __DBL_MAX_EXP__ 1024
3197// NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308
3198// NVPTX64:#define __DBL_MIN_10_EXP__ (-307)
3199// NVPTX64:#define __DBL_MIN_EXP__ (-1021)
3200// NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308
3201// NVPTX64:#define __DECIMAL_DIG__ 17
3202// NVPTX64:#define __FINITE_MATH_ONLY__ 0
3203// NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3204// NVPTX64:#define __FLT_DIG__ 6
3205// NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F
3206// NVPTX64:#define __FLT_EVAL_METHOD__ 0
3207// NVPTX64:#define __FLT_HAS_DENORM__ 1
3208// NVPTX64:#define __FLT_HAS_INFINITY__ 1
3209// NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1
3210// NVPTX64:#define __FLT_MANT_DIG__ 24
3211// NVPTX64:#define __FLT_MAX_10_EXP__ 38
3212// NVPTX64:#define __FLT_MAX_EXP__ 128
3213// NVPTX64:#define __FLT_MAX__ 3.40282347e+38F
3214// NVPTX64:#define __FLT_MIN_10_EXP__ (-37)
3215// NVPTX64:#define __FLT_MIN_EXP__ (-125)
3216// NVPTX64:#define __FLT_MIN__ 1.17549435e-38F
3217// NVPTX64:#define __FLT_RADIX__ 2
3218// NVPTX64:#define __INT16_MAX__ 32767
3219// NVPTX64:#define __INT16_TYPE__ short
3220// NVPTX64:#define __INT32_MAX__ 2147483647
3221// NVPTX64:#define __INT32_TYPE__ int
3222// NVPTX64:#define __INT64_C_SUFFIX__ LL
3223// NVPTX64:#define __INT64_MAX__ 9223372036854775807L
3224// NVPTX64:#define __INT64_TYPE__ long long int
3225// NVPTX64:#define __INT8_MAX__ 127
3226// NVPTX64:#define __INT8_TYPE__ char
3227// NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL
3228// NVPTX64:#define __INTMAX_TYPE__ long long int
3229// NVPTX64:#define __INTMAX_WIDTH__ 64
3230// NVPTX64:#define __INTPTR_MAX__ 18446744073709551615ULL
3231// NVPTX64:#define __INTPTR_TYPE__ long long unsigned int
3232// NVPTX64:#define __INTPTR_WIDTH__ 64
3233// NVPTX64:#define __INT_FAST16_MAX__ 32767
3234// NVPTX64:#define __INT_FAST16_TYPE__ short
3235// NVPTX64:#define __INT_FAST32_MAX__ 2147483647
3236// NVPTX64:#define __INT_FAST32_TYPE__ int
3237// NVPTX64:#define __INT_FAST64_MAX__ 9223372036854775807L
3238// NVPTX64:#define __INT_FAST64_TYPE__ long int
3239// NVPTX64:#define __INT_FAST8_MAX__ 127
3240// NVPTX64:#define __INT_FAST8_TYPE__ char
3241// NVPTX64:#define __INT_LEAST16_MAX__ 32767
3242// NVPTX64:#define __INT_LEAST16_TYPE__ short
3243// NVPTX64:#define __INT_LEAST32_MAX__ 2147483647
3244// NVPTX64:#define __INT_LEAST32_TYPE__ int
3245// NVPTX64:#define __INT_LEAST64_MAX__ 9223372036854775807L
3246// NVPTX64:#define __INT_LEAST64_TYPE__ long int
3247// NVPTX64:#define __INT_LEAST8_MAX__ 127
3248// NVPTX64:#define __INT_LEAST8_TYPE__ char
3249// NVPTX64:#define __INT_MAX__ 2147483647
3250// NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
3251// NVPTX64:#define __LDBL_DIG__ 15
3252// NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
3253// NVPTX64:#define __LDBL_HAS_DENORM__ 1
3254// NVPTX64:#define __LDBL_HAS_INFINITY__ 1
3255// NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1
3256// NVPTX64:#define __LDBL_MANT_DIG__ 53
3257// NVPTX64:#define __LDBL_MAX_10_EXP__ 308
3258// NVPTX64:#define __LDBL_MAX_EXP__ 1024
3259// NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308L
3260// NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
3261// NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
3262// NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308L
3263// NVPTX64:#define __LITTLE_ENDIAN__ 1
3264// NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL
3265// NVPTX64:#define __LONG_MAX__ 9223372036854775807L
3266// NVPTX64:#define __LP64__ 1
3267// NVPTX64:#define __NVPTX__ 1
3268// NVPTX64:#define __POINTER_WIDTH__ 64
3269// NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1
3270// NVPTX64:#define __PTRDIFF_TYPE__ long long unsigned int
3271// NVPTX64:#define __PTRDIFF_WIDTH__ 64
3272// NVPTX64:#define __PTX__ 1
3273// NVPTX64:#define __SCHAR_MAX__ 127
3274// NVPTX64:#define __SHRT_MAX__ 32767
3275// NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32
3276// NVPTX64:#define __SIZEOF_DOUBLE__ 8
3277// NVPTX64:#define __SIZEOF_FLOAT__ 4
3278// NVPTX64:#define __SIZEOF_INT__ 4
3279// NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8
3280// NVPTX64:#define __SIZEOF_LONG_LONG__ 8
3281// NVPTX64:#define __SIZEOF_LONG__ 8
3282// NVPTX64:#define __SIZEOF_POINTER__ 8
3283// NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8
3284// NVPTX64:#define __SIZEOF_SHORT__ 2
3285// NVPTX64:#define __SIZEOF_SIZE_T__ 8
3286// NVPTX64:#define __SIZEOF_WCHAR_T__ 4
3287// NVPTX64:#define __SIZEOF_WINT_T__ 4
3288// NVPTX64:#define __SIZE_MAX__ 18446744073709551615UL
3289// NVPTX64:#define __SIZE_TYPE__ long long unsigned int
3290// NVPTX64:#define __SIZE_WIDTH__ 64
3291// NVPTX64:#define __UINT16_C_SUFFIX__ U
3292// NVPTX64:#define __UINT16_MAX__ 65535U
3293// NVPTX64:#define __UINT16_TYPE__ unsigned short
3294// NVPTX64:#define __UINT32_C_SUFFIX__ U
3295// NVPTX64:#define __UINT32_MAX__ 4294967295U
3296// NVPTX64:#define __UINT32_TYPE__ unsigned int
3297// NVPTX64:#define __UINT64_C_SUFFIX__ UL
3298// NVPTX64:#define __UINT64_MAX__ 18446744073709551615UL
3299// NVPTX64:#define __UINT64_TYPE__ long unsigned int
3300// NVPTX64:#define __UINT8_C_SUFFIX__ U
3301// NVPTX64:#define __UINT8_MAX__ 255U
3302// NVPTX64:#define __UINT8_TYPE__ unsigned char
3303// NVPTX64:#define __UINTMAX_MAX__ 18446744073709551615ULL
3304// NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int
3305// NVPTX64:#define __UINTMAX_WIDTH__ 64
3306// NVPTX64:#define __UINTPTR_MAX__ 18446744073709551615UL
3307// NVPTX64:#define __UINTPTR_TYPE__ long unsigned int
3308// NVPTX64:#define __UINTPTR_WIDTH__ 64
3309// NVPTX64:#define __UINT_FAST16_MAX__ 65535U
3310// NVPTX64:#define __UINT_FAST16_TYPE__ unsigned short
3311// NVPTX64:#define __UINT_FAST32_MAX__ 4294967295U
3312// NVPTX64:#define __UINT_FAST32_TYPE__ unsigned int
3313// NVPTX64:#define __UINT_FAST64_MAX__ 18446744073709551615UL
3314// NVPTX64:#define __UINT_FAST64_TYPE__ long unsigned int
3315// NVPTX64:#define __UINT_FAST8_MAX__ 255U
3316// NVPTX64:#define __UINT_FAST8_TYPE__ unsigned char
3317// NVPTX64:#define __UINT_LEAST16_MAX__ 65535U
3318// NVPTX64:#define __UINT_LEAST16_TYPE__ unsigned short
3319// NVPTX64:#define __UINT_LEAST32_MAX__ 4294967295U
3320// NVPTX64:#define __UINT_LEAST32_TYPE__ unsigned int
3321// NVPTX64:#define __UINT_LEAST64_MAX__ 18446744073709551615UL
3322// NVPTX64:#define __UINT_LEAST64_TYPE__ long unsigned int
3323// NVPTX64:#define __UINT_LEAST8_MAX__ 255U
3324// NVPTX64:#define __UINT_LEAST8_TYPE__ unsigned char
3325// NVPTX64:#define __USER_LABEL_PREFIX__ _
3326// NVPTX64:#define __WCHAR_MAX__ 2147483647
3327// NVPTX64:#define __WCHAR_TYPE__ int
3328// NVPTX64:#define __WCHAR_WIDTH__ 32
3329// NVPTX64:#define __WINT_TYPE__ int
3330// NVPTX64:#define __WINT_WIDTH__ 32
3331//
3332// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -check-prefix PPC603E %s
3333//
3334// PPC603E:#define _ARCH_603 1
3335// PPC603E:#define _ARCH_603E 1
3336// PPC603E:#define _ARCH_PPC 1
3337// PPC603E:#define _ARCH_PPCGR 1
3338// PPC603E:#define _BIG_ENDIAN 1
3339// PPC603E-NOT:#define _LP64
3340// PPC603E:#define __BIG_ENDIAN__ 1
3341// PPC603E:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
3342// PPC603E:#define __CHAR16_TYPE__ unsigned short
3343// PPC603E:#define __CHAR32_TYPE__ unsigned int
3344// PPC603E:#define __CHAR_BIT__ 8
3345// PPC603E:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3346// PPC603E:#define __DBL_DIG__ 15
3347// PPC603E:#define __DBL_EPSILON__ 2.2204460492503131e-16
3348// PPC603E:#define __DBL_HAS_DENORM__ 1
3349// PPC603E:#define __DBL_HAS_INFINITY__ 1
3350// PPC603E:#define __DBL_HAS_QUIET_NAN__ 1
3351// PPC603E:#define __DBL_MANT_DIG__ 53
3352// PPC603E:#define __DBL_MAX_10_EXP__ 308
3353// PPC603E:#define __DBL_MAX_EXP__ 1024
3354// PPC603E:#define __DBL_MAX__ 1.7976931348623157e+308
3355// PPC603E:#define __DBL_MIN_10_EXP__ (-307)
3356// PPC603E:#define __DBL_MIN_EXP__ (-1021)
3357// PPC603E:#define __DBL_MIN__ 2.2250738585072014e-308
3358// PPC603E:#define __DECIMAL_DIG__ 33
3359// PPC603E:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3360// PPC603E:#define __FLT_DIG__ 6
3361// PPC603E:#define __FLT_EPSILON__ 1.19209290e-7F
3362// PPC603E:#define __FLT_EVAL_METHOD__ 0
3363// PPC603E:#define __FLT_HAS_DENORM__ 1
3364// PPC603E:#define __FLT_HAS_INFINITY__ 1
3365// PPC603E:#define __FLT_HAS_QUIET_NAN__ 1
3366// PPC603E:#define __FLT_MANT_DIG__ 24
3367// PPC603E:#define __FLT_MAX_10_EXP__ 38
3368// PPC603E:#define __FLT_MAX_EXP__ 128
3369// PPC603E:#define __FLT_MAX__ 3.40282347e+38F
3370// PPC603E:#define __FLT_MIN_10_EXP__ (-37)
3371// PPC603E:#define __FLT_MIN_EXP__ (-125)
3372// PPC603E:#define __FLT_MIN__ 1.17549435e-38F
3373// PPC603E:#define __FLT_RADIX__ 2
3374// PPC603E:#define __INT16_MAX__ 32767
3375// PPC603E:#define __INT16_TYPE__ short
3376// PPC603E:#define __INT32_MAX__ 2147483647
3377// PPC603E:#define __INT32_TYPE__ int
3378// PPC603E:#define __INT64_C_SUFFIX__ LL
3379// PPC603E:#define __INT64_MAX__ 9223372036854775807LL
3380// PPC603E:#define __INT64_TYPE__ long long int
3381// PPC603E:#define __INT8_MAX__ 127
3382// PPC603E:#define __INT8_TYPE__ char
3383// PPC603E:#define __INTMAX_MAX__ 9223372036854775807LL
3384// PPC603E:#define __INTMAX_TYPE__ long long int
3385// PPC603E:#define __INTMAX_WIDTH__ 64
3386// PPC603E:#define __INTPTR_MAX__ 2147483647L
3387// PPC603E:#define __INTPTR_TYPE__ long int
3388// PPC603E:#define __INTPTR_WIDTH__ 32
3389// PPC603E:#define __INT_FAST16_MAX__ 32767
3390// PPC603E:#define __INT_FAST16_TYPE__ short
3391// PPC603E:#define __INT_FAST32_MAX__ 2147483647
3392// PPC603E:#define __INT_FAST32_TYPE__ int
3393// PPC603E:#define __INT_FAST64_MAX__ 9223372036854775807LL
3394// PPC603E:#define __INT_FAST64_TYPE__ long long int
3395// PPC603E:#define __INT_FAST8_MAX__ 127
3396// PPC603E:#define __INT_FAST8_TYPE__ char
3397// PPC603E:#define __INT_LEAST16_MAX__ 32767
3398// PPC603E:#define __INT_LEAST16_TYPE__ short
3399// PPC603E:#define __INT_LEAST32_MAX__ 2147483647
3400// PPC603E:#define __INT_LEAST32_TYPE__ int
3401// PPC603E:#define __INT_LEAST64_MAX__ 9223372036854775807LL
3402// PPC603E:#define __INT_LEAST64_TYPE__ long long int
3403// PPC603E:#define __INT_LEAST8_MAX__ 127
3404// PPC603E:#define __INT_LEAST8_TYPE__ char
3405// PPC603E:#define __INT_MAX__ 2147483647
3406// PPC603E:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
3407// PPC603E:#define __LDBL_DIG__ 31
3408// PPC603E:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
3409// PPC603E:#define __LDBL_HAS_DENORM__ 1
3410// PPC603E:#define __LDBL_HAS_INFINITY__ 1
3411// PPC603E:#define __LDBL_HAS_QUIET_NAN__ 1
3412// PPC603E:#define __LDBL_MANT_DIG__ 106
3413// PPC603E:#define __LDBL_MAX_10_EXP__ 308
3414// PPC603E:#define __LDBL_MAX_EXP__ 1024
3415// PPC603E:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
3416// PPC603E:#define __LDBL_MIN_10_EXP__ (-291)
3417// PPC603E:#define __LDBL_MIN_EXP__ (-968)
3418// PPC603E:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
3419// PPC603E:#define __LONG_DOUBLE_128__ 1
3420// PPC603E:#define __LONG_LONG_MAX__ 9223372036854775807LL
3421// PPC603E:#define __LONG_MAX__ 2147483647L
3422// PPC603E-NOT:#define __LP64__
3423// PPC603E:#define __NATURAL_ALIGNMENT__ 1
3424// PPC603E:#define __POINTER_WIDTH__ 32
3425// PPC603E:#define __POWERPC__ 1
3426// PPC603E:#define __PPC__ 1
3427// PPC603E:#define __PTRDIFF_TYPE__ long int
3428// PPC603E:#define __PTRDIFF_WIDTH__ 32
3429// PPC603E:#define __REGISTER_PREFIX__
3430// PPC603E:#define __SCHAR_MAX__ 127
3431// PPC603E:#define __SHRT_MAX__ 32767
3432// PPC603E:#define __SIG_ATOMIC_WIDTH__ 32
3433// PPC603E:#define __SIZEOF_DOUBLE__ 8
3434// PPC603E:#define __SIZEOF_FLOAT__ 4
3435// PPC603E:#define __SIZEOF_INT__ 4
3436// PPC603E:#define __SIZEOF_LONG_DOUBLE__ 16
3437// PPC603E:#define __SIZEOF_LONG_LONG__ 8
3438// PPC603E:#define __SIZEOF_LONG__ 4
3439// PPC603E:#define __SIZEOF_POINTER__ 4
3440// PPC603E:#define __SIZEOF_PTRDIFF_T__ 4
3441// PPC603E:#define __SIZEOF_SHORT__ 2
3442// PPC603E:#define __SIZEOF_SIZE_T__ 4
3443// PPC603E:#define __SIZEOF_WCHAR_T__ 4
3444// PPC603E:#define __SIZEOF_WINT_T__ 4
3445// PPC603E:#define __SIZE_MAX__ 4294967295U
3446// PPC603E:#define __SIZE_TYPE__ long unsigned int
3447// PPC603E:#define __SIZE_WIDTH__ 32
3448// PPC603E:#define __UINT16_C_SUFFIX__ U
3449// PPC603E:#define __UINT16_MAX__ 65535U
3450// PPC603E:#define __UINT16_TYPE__ unsigned short
3451// PPC603E:#define __UINT32_C_SUFFIX__ U
3452// PPC603E:#define __UINT32_MAX__ 4294967295U
3453// PPC603E:#define __UINT32_TYPE__ unsigned int
3454// PPC603E:#define __UINT64_C_SUFFIX__ ULL
3455// PPC603E:#define __UINT64_MAX__ 18446744073709551615ULL
3456// PPC603E:#define __UINT64_TYPE__ long long unsigned int
3457// PPC603E:#define __UINT8_C_SUFFIX__ U
3458// PPC603E:#define __UINT8_MAX__ 255U
3459// PPC603E:#define __UINT8_TYPE__ unsigned char
3460// PPC603E:#define __UINTMAX_MAX__ 18446744073709551615ULL
3461// PPC603E:#define __UINTMAX_TYPE__ long long unsigned int
3462// PPC603E:#define __UINTMAX_WIDTH__ 64
3463// PPC603E:#define __UINTPTR_MAX__ 4294967295U
3464// PPC603E:#define __UINTPTR_TYPE__ unsigned int
3465// PPC603E:#define __UINTPTR_WIDTH__ 32
3466// PPC603E:#define __UINT_FAST16_MAX__ 65535U
3467// PPC603E:#define __UINT_FAST16_TYPE__ unsigned short
3468// PPC603E:#define __UINT_FAST32_MAX__ 4294967295U
3469// PPC603E:#define __UINT_FAST32_TYPE__ unsigned int
3470// PPC603E:#define __UINT_FAST64_MAX__ 18446744073709551615ULL
3471// PPC603E:#define __UINT_FAST64_TYPE__ long long unsigned int
3472// PPC603E:#define __UINT_FAST8_MAX__ 255U
3473// PPC603E:#define __UINT_FAST8_TYPE__ unsigned char
3474// PPC603E:#define __UINT_LEAST16_MAX__ 65535U
3475// PPC603E:#define __UINT_LEAST16_TYPE__ unsigned short
3476// PPC603E:#define __UINT_LEAST32_MAX__ 4294967295U
3477// PPC603E:#define __UINT_LEAST32_TYPE__ unsigned int
3478// PPC603E:#define __UINT_LEAST64_MAX__ 18446744073709551615ULL
3479// PPC603E:#define __UINT_LEAST64_TYPE__ long long unsigned int
3480// PPC603E:#define __UINT_LEAST8_MAX__ 255U
3481// PPC603E:#define __UINT_LEAST8_TYPE__ unsigned char
3482// PPC603E:#define __USER_LABEL_PREFIX__ _
3483// PPC603E:#define __WCHAR_MAX__ 2147483647
3484// PPC603E:#define __WCHAR_TYPE__ int
3485// PPC603E:#define __WCHAR_WIDTH__ 32
3486// PPC603E:#define __WINT_TYPE__ int
3487// PPC603E:#define __WINT_WIDTH__ 32
3488// PPC603E:#define __powerpc__ 1
3489// PPC603E:#define __ppc__ 1
3490//
3491// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64 %s
3492//
3493// PPC64:#define _ARCH_PPC 1
3494// PPC64:#define _ARCH_PPC64 1
3495// PPC64:#define _ARCH_PPCGR 1
3496// PPC64:#define _ARCH_PPCSQ 1
3497// PPC64:#define _ARCH_PWR4 1
3498// PPC64:#define _ARCH_PWR5 1
3499// PPC64:#define _ARCH_PWR6 1
3500// PPC64:#define _ARCH_PWR7 1
3501// PPC64:#define _BIG_ENDIAN 1
3502// PPC64:#define _LP64 1
3503// PPC64:#define __BIG_ENDIAN__ 1
3504// PPC64:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
3505// PPC64:#define __CHAR16_TYPE__ unsigned short
3506// PPC64:#define __CHAR32_TYPE__ unsigned int
3507// PPC64:#define __CHAR_BIT__ 8
3508// PPC64:#define __CHAR_UNSIGNED__ 1
3509// PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3510// PPC64:#define __DBL_DIG__ 15
3511// PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
3512// PPC64:#define __DBL_HAS_DENORM__ 1
3513// PPC64:#define __DBL_HAS_INFINITY__ 1
3514// PPC64:#define __DBL_HAS_QUIET_NAN__ 1
3515// PPC64:#define __DBL_MANT_DIG__ 53
3516// PPC64:#define __DBL_MAX_10_EXP__ 308
3517// PPC64:#define __DBL_MAX_EXP__ 1024
3518// PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
3519// PPC64:#define __DBL_MIN_10_EXP__ (-307)
3520// PPC64:#define __DBL_MIN_EXP__ (-1021)
3521// PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
3522// PPC64:#define __DECIMAL_DIG__ 33
3523// PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3524// PPC64:#define __FLT_DIG__ 6
3525// PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
3526// PPC64:#define __FLT_EVAL_METHOD__ 0
3527// PPC64:#define __FLT_HAS_DENORM__ 1
3528// PPC64:#define __FLT_HAS_INFINITY__ 1
3529// PPC64:#define __FLT_HAS_QUIET_NAN__ 1
3530// PPC64:#define __FLT_MANT_DIG__ 24
3531// PPC64:#define __FLT_MAX_10_EXP__ 38
3532// PPC64:#define __FLT_MAX_EXP__ 128
3533// PPC64:#define __FLT_MAX__ 3.40282347e+38F
3534// PPC64:#define __FLT_MIN_10_EXP__ (-37)
3535// PPC64:#define __FLT_MIN_EXP__ (-125)
3536// PPC64:#define __FLT_MIN__ 1.17549435e-38F
3537// PPC64:#define __FLT_RADIX__ 2
3538// PPC64:#define __INT16_MAX__ 32767
3539// PPC64:#define __INT16_TYPE__ short
3540// PPC64:#define __INT32_MAX__ 2147483647
3541// PPC64:#define __INT32_TYPE__ int
3542// PPC64:#define __INT64_C_SUFFIX__ L
3543// PPC64:#define __INT64_MAX__ 9223372036854775807L
3544// PPC64:#define __INT64_TYPE__ long int
3545// PPC64:#define __INT8_MAX__ 127
3546// PPC64:#define __INT8_TYPE__ char
3547// PPC64:#define __INTMAX_MAX__ 9223372036854775807L
3548// PPC64:#define __INTMAX_TYPE__ long int
3549// PPC64:#define __INTMAX_WIDTH__ 64
3550// PPC64:#define __INTPTR_MAX__ 9223372036854775807L
3551// PPC64:#define __INTPTR_TYPE__ long int
3552// PPC64:#define __INTPTR_WIDTH__ 64
3553// PPC64:#define __INT_FAST16_MAX__ 32767
3554// PPC64:#define __INT_FAST16_TYPE__ short
3555// PPC64:#define __INT_FAST32_MAX__ 2147483647
3556// PPC64:#define __INT_FAST32_TYPE__ int
3557// PPC64:#define __INT_FAST64_MAX__ 9223372036854775807L
3558// PPC64:#define __INT_FAST64_TYPE__ long int
3559// PPC64:#define __INT_FAST8_MAX__ 127
3560// PPC64:#define __INT_FAST8_TYPE__ char
3561// PPC64:#define __INT_LEAST16_MAX__ 32767
3562// PPC64:#define __INT_LEAST16_TYPE__ short
3563// PPC64:#define __INT_LEAST32_MAX__ 2147483647
3564// PPC64:#define __INT_LEAST32_TYPE__ int
3565// PPC64:#define __INT_LEAST64_MAX__ 9223372036854775807L
3566// PPC64:#define __INT_LEAST64_TYPE__ long int
3567// PPC64:#define __INT_LEAST8_MAX__ 127
3568// PPC64:#define __INT_LEAST8_TYPE__ char
3569// PPC64:#define __INT_MAX__ 2147483647
3570// PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
3571// PPC64:#define __LDBL_DIG__ 31
3572// PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
3573// PPC64:#define __LDBL_HAS_DENORM__ 1
3574// PPC64:#define __LDBL_HAS_INFINITY__ 1
3575// PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
3576// PPC64:#define __LDBL_MANT_DIG__ 106
3577// PPC64:#define __LDBL_MAX_10_EXP__ 308
3578// PPC64:#define __LDBL_MAX_EXP__ 1024
3579// PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
3580// PPC64:#define __LDBL_MIN_10_EXP__ (-291)
3581// PPC64:#define __LDBL_MIN_EXP__ (-968)
3582// PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
3583// PPC64:#define __LONG_DOUBLE_128__ 1
3584// PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
3585// PPC64:#define __LONG_MAX__ 9223372036854775807L
3586// PPC64:#define __LP64__ 1
3587// PPC64:#define __NATURAL_ALIGNMENT__ 1
3588// PPC64:#define __POINTER_WIDTH__ 64
3589// PPC64:#define __POWERPC__ 1
3590// PPC64:#define __PPC64__ 1
3591// PPC64:#define __PPC__ 1
3592// PPC64:#define __PTRDIFF_TYPE__ long int
3593// PPC64:#define __PTRDIFF_WIDTH__ 64
3594// PPC64:#define __REGISTER_PREFIX__
3595// PPC64:#define __SCHAR_MAX__ 127
3596// PPC64:#define __SHRT_MAX__ 32767
3597// PPC64:#define __SIG_ATOMIC_WIDTH__ 32
3598// PPC64:#define __SIZEOF_DOUBLE__ 8
3599// PPC64:#define __SIZEOF_FLOAT__ 4
3600// PPC64:#define __SIZEOF_INT__ 4
3601// PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
3602// PPC64:#define __SIZEOF_LONG_LONG__ 8
3603// PPC64:#define __SIZEOF_LONG__ 8
3604// PPC64:#define __SIZEOF_POINTER__ 8
3605// PPC64:#define __SIZEOF_PTRDIFF_T__ 8
3606// PPC64:#define __SIZEOF_SHORT__ 2
3607// PPC64:#define __SIZEOF_SIZE_T__ 8
3608// PPC64:#define __SIZEOF_WCHAR_T__ 4
3609// PPC64:#define __SIZEOF_WINT_T__ 4
3610// PPC64:#define __SIZE_MAX__ 18446744073709551615UL
3611// PPC64:#define __SIZE_TYPE__ long unsigned int
3612// PPC64:#define __SIZE_WIDTH__ 64
3613// PPC64:#define __UINT16_C_SUFFIX__ U
3614// PPC64:#define __UINT16_MAX__ 65535U
3615// PPC64:#define __UINT16_TYPE__ unsigned short
3616// PPC64:#define __UINT32_C_SUFFIX__ U
3617// PPC64:#define __UINT32_MAX__ 4294967295U
3618// PPC64:#define __UINT32_TYPE__ unsigned int
3619// PPC64:#define __UINT64_C_SUFFIX__ UL
3620// PPC64:#define __UINT64_MAX__ 18446744073709551615UL
3621// PPC64:#define __UINT64_TYPE__ long unsigned int
3622// PPC64:#define __UINT8_C_SUFFIX__ U
3623// PPC64:#define __UINT8_MAX__ 255U
3624// PPC64:#define __UINT8_TYPE__ unsigned char
3625// PPC64:#define __UINTMAX_MAX__ 18446744073709551615UL
3626// PPC64:#define __UINTMAX_TYPE__ long unsigned int
3627// PPC64:#define __UINTMAX_WIDTH__ 64
3628// PPC64:#define __UINTPTR_MAX__ 18446744073709551615UL
3629// PPC64:#define __UINTPTR_TYPE__ long unsigned int
3630// PPC64:#define __UINTPTR_WIDTH__ 64
3631// PPC64:#define __UINT_FAST16_MAX__ 65535U
3632// PPC64:#define __UINT_FAST16_TYPE__ unsigned short
3633// PPC64:#define __UINT_FAST32_MAX__ 4294967295U
3634// PPC64:#define __UINT_FAST32_TYPE__ unsigned int
3635// PPC64:#define __UINT_FAST64_MAX__ 18446744073709551615UL
3636// PPC64:#define __UINT_FAST64_TYPE__ long unsigned int
3637// PPC64:#define __UINT_FAST8_MAX__ 255U
3638// PPC64:#define __UINT_FAST8_TYPE__ unsigned char
3639// PPC64:#define __UINT_LEAST16_MAX__ 65535U
3640// PPC64:#define __UINT_LEAST16_TYPE__ unsigned short
3641// PPC64:#define __UINT_LEAST32_MAX__ 4294967295U
3642// PPC64:#define __UINT_LEAST32_TYPE__ unsigned int
3643// PPC64:#define __UINT_LEAST64_MAX__ 18446744073709551615UL
3644// PPC64:#define __UINT_LEAST64_TYPE__ long unsigned int
3645// PPC64:#define __UINT_LEAST8_MAX__ 255U
3646// PPC64:#define __UINT_LEAST8_TYPE__ unsigned char
3647// PPC64:#define __USER_LABEL_PREFIX__ _
3648// PPC64:#define __WCHAR_MAX__ 2147483647
3649// PPC64:#define __WCHAR_TYPE__ int
3650// PPC64:#define __WCHAR_WIDTH__ 32
3651// PPC64:#define __WINT_TYPE__ int
3652// PPC64:#define __WINT_WIDTH__ 32
3653// PPC64:#define __ppc64__ 1
3654// PPC64:#define __ppc__ 1
3655//
3656// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64LE %s
3657//
3658// PPC64LE:#define _ARCH_PPC 1
3659// PPC64LE:#define _ARCH_PPC64 1
3660// PPC64LE:#define _ARCH_PPCGR 1
3661// PPC64LE:#define _ARCH_PPCSQ 1
3662// PPC64LE:#define _ARCH_PWR4 1
3663// PPC64LE:#define _ARCH_PWR5 1
3664// PPC64LE:#define _ARCH_PWR5X 1
3665// PPC64LE:#define _ARCH_PWR6 1
3666// PPC64LE:#define _ARCH_PWR6X 1
3667// PPC64LE:#define _ARCH_PWR7 1
3668// PPC64LE:#define _CALL_ELF 2
3669// PPC64LE:#define _LITTLE_ENDIAN 1
3670// PPC64LE:#define _LP64 1
3671// PPC64LE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
3672// PPC64LE:#define __CHAR16_TYPE__ unsigned short
3673// PPC64LE:#define __CHAR32_TYPE__ unsigned int
3674// PPC64LE:#define __CHAR_BIT__ 8
3675// PPC64LE:#define __CHAR_UNSIGNED__ 1
3676// PPC64LE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3677// PPC64LE:#define __DBL_DIG__ 15
3678// PPC64LE:#define __DBL_EPSILON__ 2.2204460492503131e-16
3679// PPC64LE:#define __DBL_HAS_DENORM__ 1
3680// PPC64LE:#define __DBL_HAS_INFINITY__ 1
3681// PPC64LE:#define __DBL_HAS_QUIET_NAN__ 1
3682// PPC64LE:#define __DBL_MANT_DIG__ 53
3683// PPC64LE:#define __DBL_MAX_10_EXP__ 308
3684// PPC64LE:#define __DBL_MAX_EXP__ 1024
3685// PPC64LE:#define __DBL_MAX__ 1.7976931348623157e+308
3686// PPC64LE:#define __DBL_MIN_10_EXP__ (-307)
3687// PPC64LE:#define __DBL_MIN_EXP__ (-1021)
3688// PPC64LE:#define __DBL_MIN__ 2.2250738585072014e-308
3689// PPC64LE:#define __DECIMAL_DIG__ 33
3690// PPC64LE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3691// PPC64LE:#define __FLT_DIG__ 6
3692// PPC64LE:#define __FLT_EPSILON__ 1.19209290e-7F
3693// PPC64LE:#define __FLT_EVAL_METHOD__ 0
3694// PPC64LE:#define __FLT_HAS_DENORM__ 1
3695// PPC64LE:#define __FLT_HAS_INFINITY__ 1
3696// PPC64LE:#define __FLT_HAS_QUIET_NAN__ 1
3697// PPC64LE:#define __FLT_MANT_DIG__ 24
3698// PPC64LE:#define __FLT_MAX_10_EXP__ 38
3699// PPC64LE:#define __FLT_MAX_EXP__ 128
3700// PPC64LE:#define __FLT_MAX__ 3.40282347e+38F
3701// PPC64LE:#define __FLT_MIN_10_EXP__ (-37)
3702// PPC64LE:#define __FLT_MIN_EXP__ (-125)
3703// PPC64LE:#define __FLT_MIN__ 1.17549435e-38F
3704// PPC64LE:#define __FLT_RADIX__ 2
3705// PPC64LE:#define __INT16_MAX__ 32767
3706// PPC64LE:#define __INT16_TYPE__ short
3707// PPC64LE:#define __INT32_MAX__ 2147483647
3708// PPC64LE:#define __INT32_TYPE__ int
3709// PPC64LE:#define __INT64_C_SUFFIX__ L
3710// PPC64LE:#define __INT64_MAX__ 9223372036854775807L
3711// PPC64LE:#define __INT64_TYPE__ long int
3712// PPC64LE:#define __INT8_MAX__ 127
3713// PPC64LE:#define __INT8_TYPE__ char
3714// PPC64LE:#define __INTMAX_MAX__ 9223372036854775807L
3715// PPC64LE:#define __INTMAX_TYPE__ long int
3716// PPC64LE:#define __INTMAX_WIDTH__ 64
3717// PPC64LE:#define __INTPTR_MAX__ 9223372036854775807L
3718// PPC64LE:#define __INTPTR_TYPE__ long int
3719// PPC64LE:#define __INTPTR_WIDTH__ 64
3720// PPC64LE:#define __INT_FAST16_MAX__ 32767
3721// PPC64LE:#define __INT_FAST16_TYPE__ short
3722// PPC64LE:#define __INT_FAST32_MAX__ 2147483647
3723// PPC64LE:#define __INT_FAST32_TYPE__ int
3724// PPC64LE:#define __INT_FAST64_MAX__ 9223372036854775807L
3725// PPC64LE:#define __INT_FAST64_TYPE__ long int
3726// PPC64LE:#define __INT_FAST8_MAX__ 127
3727// PPC64LE:#define __INT_FAST8_TYPE__ char
3728// PPC64LE:#define __INT_LEAST16_MAX__ 32767
3729// PPC64LE:#define __INT_LEAST16_TYPE__ short
3730// PPC64LE:#define __INT_LEAST32_MAX__ 2147483647
3731// PPC64LE:#define __INT_LEAST32_TYPE__ int
3732// PPC64LE:#define __INT_LEAST64_MAX__ 9223372036854775807L
3733// PPC64LE:#define __INT_LEAST64_TYPE__ long int
3734// PPC64LE:#define __INT_LEAST8_MAX__ 127
3735// PPC64LE:#define __INT_LEAST8_TYPE__ char
3736// PPC64LE:#define __INT_MAX__ 2147483647
3737// PPC64LE:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
3738// PPC64LE:#define __LDBL_DIG__ 31
3739// PPC64LE:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
3740// PPC64LE:#define __LDBL_HAS_DENORM__ 1
3741// PPC64LE:#define __LDBL_HAS_INFINITY__ 1
3742// PPC64LE:#define __LDBL_HAS_QUIET_NAN__ 1
3743// PPC64LE:#define __LDBL_MANT_DIG__ 106
3744// PPC64LE:#define __LDBL_MAX_10_EXP__ 308
3745// PPC64LE:#define __LDBL_MAX_EXP__ 1024
3746// PPC64LE:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
3747// PPC64LE:#define __LDBL_MIN_10_EXP__ (-291)
3748// PPC64LE:#define __LDBL_MIN_EXP__ (-968)
3749// PPC64LE:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
3750// PPC64LE:#define __LITTLE_ENDIAN__ 1
3751// PPC64LE:#define __LONG_DOUBLE_128__ 1
3752// PPC64LE:#define __LONG_LONG_MAX__ 9223372036854775807LL
3753// PPC64LE:#define __LONG_MAX__ 9223372036854775807L
3754// PPC64LE:#define __LP64__ 1
3755// PPC64LE:#define __NATURAL_ALIGNMENT__ 1
3756// PPC64LE:#define __POINTER_WIDTH__ 64
3757// PPC64LE:#define __POWERPC__ 1
3758// PPC64LE:#define __PPC64__ 1
3759// PPC64LE:#define __PPC__ 1
3760// PPC64LE:#define __PTRDIFF_TYPE__ long int
3761// PPC64LE:#define __PTRDIFF_WIDTH__ 64
3762// PPC64LE:#define __REGISTER_PREFIX__
3763// PPC64LE:#define __SCHAR_MAX__ 127
3764// PPC64LE:#define __SHRT_MAX__ 32767
3765// PPC64LE:#define __SIG_ATOMIC_WIDTH__ 32
3766// PPC64LE:#define __SIZEOF_DOUBLE__ 8
3767// PPC64LE:#define __SIZEOF_FLOAT__ 4
3768// PPC64LE:#define __SIZEOF_INT__ 4
3769// PPC64LE:#define __SIZEOF_LONG_DOUBLE__ 16
3770// PPC64LE:#define __SIZEOF_LONG_LONG__ 8
3771// PPC64LE:#define __SIZEOF_LONG__ 8
3772// PPC64LE:#define __SIZEOF_POINTER__ 8
3773// PPC64LE:#define __SIZEOF_PTRDIFF_T__ 8
3774// PPC64LE:#define __SIZEOF_SHORT__ 2
3775// PPC64LE:#define __SIZEOF_SIZE_T__ 8
3776// PPC64LE:#define __SIZEOF_WCHAR_T__ 4
3777// PPC64LE:#define __SIZEOF_WINT_T__ 4
3778// PPC64LE:#define __SIZE_MAX__ 18446744073709551615UL
3779// PPC64LE:#define __SIZE_TYPE__ long unsigned int
3780// PPC64LE:#define __SIZE_WIDTH__ 64
3781// PPC64LE:#define __UINT16_C_SUFFIX__ U
3782// PPC64LE:#define __UINT16_MAX__ 65535U
3783// PPC64LE:#define __UINT16_TYPE__ unsigned short
3784// PPC64LE:#define __UINT32_C_SUFFIX__ U
3785// PPC64LE:#define __UINT32_MAX__ 4294967295U
3786// PPC64LE:#define __UINT32_TYPE__ unsigned int
3787// PPC64LE:#define __UINT64_C_SUFFIX__ UL
3788// PPC64LE:#define __UINT64_MAX__ 18446744073709551615UL
3789// PPC64LE:#define __UINT64_TYPE__ long unsigned int
3790// PPC64LE:#define __UINT8_C_SUFFIX__ U
3791// PPC64LE:#define __UINT8_MAX__ 255U
3792// PPC64LE:#define __UINT8_TYPE__ unsigned char
3793// PPC64LE:#define __UINTMAX_MAX__ 18446744073709551615UL
3794// PPC64LE:#define __UINTMAX_TYPE__ long unsigned int
3795// PPC64LE:#define __UINTMAX_WIDTH__ 64
3796// PPC64LE:#define __UINTPTR_MAX__ 18446744073709551615UL
3797// PPC64LE:#define __UINTPTR_TYPE__ long unsigned int
3798// PPC64LE:#define __UINTPTR_WIDTH__ 64
3799// PPC64LE:#define __UINT_FAST16_MAX__ 65535U
3800// PPC64LE:#define __UINT_FAST16_TYPE__ unsigned short
3801// PPC64LE:#define __UINT_FAST32_MAX__ 4294967295U
3802// PPC64LE:#define __UINT_FAST32_TYPE__ unsigned int
3803// PPC64LE:#define __UINT_FAST64_MAX__ 18446744073709551615UL
3804// PPC64LE:#define __UINT_FAST64_TYPE__ long unsigned int
3805// PPC64LE:#define __UINT_FAST8_MAX__ 255U
3806// PPC64LE:#define __UINT_FAST8_TYPE__ unsigned char
3807// PPC64LE:#define __UINT_LEAST16_MAX__ 65535U
3808// PPC64LE:#define __UINT_LEAST16_TYPE__ unsigned short
3809// PPC64LE:#define __UINT_LEAST32_MAX__ 4294967295U
3810// PPC64LE:#define __UINT_LEAST32_TYPE__ unsigned int
3811// PPC64LE:#define __UINT_LEAST64_MAX__ 18446744073709551615UL
3812// PPC64LE:#define __UINT_LEAST64_TYPE__ long unsigned int
3813// PPC64LE:#define __UINT_LEAST8_MAX__ 255U
3814// PPC64LE:#define __UINT_LEAST8_TYPE__ unsigned char
3815// PPC64LE:#define __USER_LABEL_PREFIX__ _
3816// PPC64LE:#define __WCHAR_MAX__ 2147483647
3817// PPC64LE:#define __WCHAR_TYPE__ int
3818// PPC64LE:#define __WCHAR_WIDTH__ 32
3819// PPC64LE:#define __WINT_TYPE__ int
3820// PPC64LE:#define __WINT_WIDTH__ 32
3821// PPC64LE:#define __ppc64__ 1
3822// PPC64LE:#define __ppc__ 1
3823//
3824// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu a2q -fno-signed-char < /dev/null | FileCheck -check-prefix PPCA2Q %s
3825//
3826// PPCA2Q:#define _ARCH_A2 1
3827// PPCA2Q:#define _ARCH_A2Q 1
3828// PPCA2Q:#define _ARCH_PPC 1
3829// PPCA2Q:#define _ARCH_PPC64 1
3830// PPCA2Q:#define _ARCH_QP 1
3831//
3832// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-bgq-linux -fno-signed-char < /dev/null | FileCheck -check-prefix PPCBGQ %s
3833//
3834// PPCBGQ:#define __THW_BLUEGENE__ 1
3835// PPCBGQ:#define __TOS_BGQ__ 1
3836// PPCBGQ:#define __bg__ 1
3837// PPCBGQ:#define __bgq__ 1
3838//
3839// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu 630 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC630 %s
3840//
3841// PPC630:#define _ARCH_630 1
3842// PPC630:#define _ARCH_PPC 1
3843// PPC630:#define _ARCH_PPC64 1
3844// PPC630:#define _ARCH_PPCGR 1
3845//
3846// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR3 %s
3847//
3848// PPCPWR3:#define _ARCH_PPC 1
3849// PPCPWR3:#define _ARCH_PPC64 1
3850// PPCPWR3:#define _ARCH_PPCGR 1
3851//
3852// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER3 %s
3853//
3854// PPCPOWER3:#define _ARCH_PPC 1
3855// PPCPOWER3:#define _ARCH_PPC64 1
3856// PPCPOWER3:#define _ARCH_PPCGR 1
3857//
3858// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR4 %s
3859//
3860// PPCPWR4:#define _ARCH_PPC 1
3861// PPCPWR4:#define _ARCH_PPC64 1
3862// PPCPWR4:#define _ARCH_PPCGR 1
3863// PPCPWR4:#define _ARCH_PPCSQ 1
3864// PPCPWR4:#define _ARCH_PWR4 1
3865//
3866// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER4 %s
3867//
3868// PPCPOWER4:#define _ARCH_PPC 1
3869// PPCPOWER4:#define _ARCH_PPC64 1
3870// PPCPOWER4:#define _ARCH_PPCGR 1
3871// PPCPOWER4:#define _ARCH_PPCSQ 1
3872// PPCPOWER4:#define _ARCH_PWR4 1
3873//
3874// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5 %s
3875//
3876// PPCPWR5:#define _ARCH_PPC 1
3877// PPCPWR5:#define _ARCH_PPC64 1
3878// PPCPWR5:#define _ARCH_PPCGR 1
3879// PPCPWR5:#define _ARCH_PPCSQ 1
3880// PPCPWR5:#define _ARCH_PWR4 1
3881// PPCPWR5:#define _ARCH_PWR5 1
3882//
3883// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5 %s
3884//
3885// PPCPOWER5:#define _ARCH_PPC 1
3886// PPCPOWER5:#define _ARCH_PPC64 1
3887// PPCPOWER5:#define _ARCH_PPCGR 1
3888// PPCPOWER5:#define _ARCH_PPCSQ 1
3889// PPCPOWER5:#define _ARCH_PWR4 1
3890// PPCPOWER5:#define _ARCH_PWR5 1
3891//
3892// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5X %s
3893//
3894// PPCPWR5X:#define _ARCH_PPC 1
3895// PPCPWR5X:#define _ARCH_PPC64 1
3896// PPCPWR5X:#define _ARCH_PPCGR 1
3897// PPCPWR5X:#define _ARCH_PPCSQ 1
3898// PPCPWR5X:#define _ARCH_PWR4 1
3899// PPCPWR5X:#define _ARCH_PWR5 1
3900// PPCPWR5X:#define _ARCH_PWR5X 1
3901//
3902// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5X %s
3903//
3904// PPCPOWER5X:#define _ARCH_PPC 1
3905// PPCPOWER5X:#define _ARCH_PPC64 1
3906// PPCPOWER5X:#define _ARCH_PPCGR 1
3907// PPCPOWER5X:#define _ARCH_PPCSQ 1
3908// PPCPOWER5X:#define _ARCH_PWR4 1
3909// PPCPOWER5X:#define _ARCH_PWR5 1
3910// PPCPOWER5X:#define _ARCH_PWR5X 1
3911//
3912// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6 %s
3913//
3914// PPCPWR6:#define _ARCH_PPC 1
3915// PPCPWR6:#define _ARCH_PPC64 1
3916// PPCPWR6:#define _ARCH_PPCGR 1
3917// PPCPWR6:#define _ARCH_PPCSQ 1
3918// PPCPWR6:#define _ARCH_PWR4 1
3919// PPCPWR6:#define _ARCH_PWR5 1
3920// PPCPWR6:#define _ARCH_PWR5X 1
3921// PPCPWR6:#define _ARCH_PWR6 1
3922//
3923// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6 %s
3924//
3925// PPCPOWER6:#define _ARCH_PPC 1
3926// PPCPOWER6:#define _ARCH_PPC64 1
3927// PPCPOWER6:#define _ARCH_PPCGR 1
3928// PPCPOWER6:#define _ARCH_PPCSQ 1
3929// PPCPOWER6:#define _ARCH_PWR4 1
3930// PPCPOWER6:#define _ARCH_PWR5 1
3931// PPCPOWER6:#define _ARCH_PWR5X 1
3932// PPCPOWER6:#define _ARCH_PWR6 1
3933//
3934// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6X %s
3935//
3936// PPCPWR6X:#define _ARCH_PPC 1
3937// PPCPWR6X:#define _ARCH_PPC64 1
3938// PPCPWR6X:#define _ARCH_PPCGR 1
3939// PPCPWR6X:#define _ARCH_PPCSQ 1
3940// PPCPWR6X:#define _ARCH_PWR4 1
3941// PPCPWR6X:#define _ARCH_PWR5 1
3942// PPCPWR6X:#define _ARCH_PWR5X 1
3943// PPCPWR6X:#define _ARCH_PWR6 1
3944// PPCPWR6X:#define _ARCH_PWR6X 1
3945//
3946// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6X %s
3947//
3948// PPCPOWER6X:#define _ARCH_PPC 1
3949// PPCPOWER6X:#define _ARCH_PPC64 1
3950// PPCPOWER6X:#define _ARCH_PPCGR 1
3951// PPCPOWER6X:#define _ARCH_PPCSQ 1
3952// PPCPOWER6X:#define _ARCH_PWR4 1
3953// PPCPOWER6X:#define _ARCH_PWR5 1
3954// PPCPOWER6X:#define _ARCH_PWR5X 1
3955// PPCPOWER6X:#define _ARCH_PWR6 1
3956// PPCPOWER6X:#define _ARCH_PWR6X 1
3957//
3958// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR7 %s
3959//
3960// PPCPWR7:#define _ARCH_PPC 1
3961// PPCPWR7:#define _ARCH_PPC64 1
3962// PPCPWR7:#define _ARCH_PPCGR 1
3963// PPCPWR7:#define _ARCH_PPCSQ 1
3964// PPCPWR7:#define _ARCH_PWR4 1
3965// PPCPWR7:#define _ARCH_PWR5 1
3966// PPCPWR7:#define _ARCH_PWR5X 1
3967// PPCPWR7:#define _ARCH_PWR6 1
3968// PPCPWR7:#define _ARCH_PWR6X 1
3969// PPCPWR7:#define _ARCH_PWR7 1
3970//
3971// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER7 %s
3972//
3973// PPCPOWER7:#define _ARCH_PPC 1
3974// PPCPOWER7:#define _ARCH_PPC64 1
3975// PPCPOWER7:#define _ARCH_PPCGR 1
3976// PPCPOWER7:#define _ARCH_PPCSQ 1
3977// PPCPOWER7:#define _ARCH_PWR4 1
3978// PPCPOWER7:#define _ARCH_PWR5 1
3979// PPCPOWER7:#define _ARCH_PWR5X 1
3980// PPCPOWER7:#define _ARCH_PWR6 1
3981// PPCPOWER7:#define _ARCH_PWR6X 1
3982// PPCPOWER7:#define _ARCH_PWR7 1
3983//
3984// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr8 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR8 %s
3985//
3986// PPCPWR8:#define _ARCH_PPC 1
3987// PPCPWR8:#define _ARCH_PPC64 1
3988// PPCPWR8:#define _ARCH_PPCGR 1
3989// PPCPWR8:#define _ARCH_PPCSQ 1
3990// PPCPWR8:#define _ARCH_PWR4 1
3991// PPCPWR8:#define _ARCH_PWR5 1
3992// PPCPWR8:#define _ARCH_PWR5X 1
3993// PPCPWR8:#define _ARCH_PWR6 1
3994// PPCPWR8:#define _ARCH_PWR6X 1
3995// PPCPWR8:#define _ARCH_PWR7 1
3996// PPCPWR8:#define _ARCH_PWR8 1
3997//
3998// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power8 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER8 %s
3999//
4000// PPCPOWER8:#define _ARCH_PPC 1
4001// PPCPOWER8:#define _ARCH_PPC64 1
4002// PPCPOWER8:#define _ARCH_PPCGR 1
4003// PPCPOWER8:#define _ARCH_PPCSQ 1
4004// PPCPOWER8:#define _ARCH_PWR4 1
4005// PPCPOWER8:#define _ARCH_PWR5 1
4006// PPCPOWER8:#define _ARCH_PWR5X 1
4007// PPCPOWER8:#define _ARCH_PWR6 1
4008// PPCPOWER8:#define _ARCH_PWR6X 1
4009// PPCPOWER8:#define _ARCH_PWR7 1
4010// PPCPOWER8:#define _ARCH_PWR8 1
4011//
4012// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
4013//
4014// PPC64-LINUX:#define _ARCH_PPC 1
4015// PPC64-LINUX:#define _ARCH_PPC64 1
4016// PPC64-LINUX:#define _BIG_ENDIAN 1
4017// PPC64-LINUX:#define _LP64 1
4018// PPC64-LINUX:#define __BIG_ENDIAN__ 1
4019// PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
4020// PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
4021// PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
4022// PPC64-LINUX:#define __CHAR_BIT__ 8
4023// PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
4024// PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
4025// PPC64-LINUX:#define __DBL_DIG__ 15
4026// PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
4027// PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
4028// PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
4029// PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
4030// PPC64-LINUX:#define __DBL_MANT_DIG__ 53
4031// PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
4032// PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
4033// PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
4034// PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
4035// PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
4036// PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
4037// PPC64-LINUX:#define __DECIMAL_DIG__ 33
4038// PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
4039// PPC64-LINUX:#define __FLT_DIG__ 6
4040// PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
4041// PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
4042// PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
4043// PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
4044// PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
4045// PPC64-LINUX:#define __FLT_MANT_DIG__ 24
4046// PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
4047// PPC64-LINUX:#define __FLT_MAX_EXP__ 128
4048// PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
4049// PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
4050// PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
4051// PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
4052// PPC64-LINUX:#define __FLT_RADIX__ 2
4053// PPC64-LINUX:#define __INT16_MAX__ 32767
4054// PPC64-LINUX:#define __INT16_TYPE__ short
4055// PPC64-LINUX:#define __INT32_MAX__ 2147483647
4056// PPC64-LINUX:#define __INT32_TYPE__ int
4057// PPC64-LINUX:#define __INT64_C_SUFFIX__ L
4058// PPC64-LINUX:#define __INT64_MAX__ 9223372036854775807L
4059// PPC64-LINUX:#define __INT64_TYPE__ long int
4060// PPC64-LINUX:#define __INT8_MAX__ 127
4061// PPC64-LINUX:#define __INT8_TYPE__ char
4062// PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
4063// PPC64-LINUX:#define __INTMAX_TYPE__ long int
4064// PPC64-LINUX:#define __INTMAX_WIDTH__ 64
4065// PPC64-LINUX:#define __INTPTR_MAX__ 9223372036854775807L
4066// PPC64-LINUX:#define __INTPTR_TYPE__ long int
4067// PPC64-LINUX:#define __INTPTR_WIDTH__ 64
4068// PPC64-LINUX:#define __INT_FAST16_MAX__ 32767
4069// PPC64-LINUX:#define __INT_FAST16_TYPE__ short
4070// PPC64-LINUX:#define __INT_FAST32_MAX__ 2147483647
4071// PPC64-LINUX:#define __INT_FAST32_TYPE__ int
4072// PPC64-LINUX:#define __INT_FAST64_MAX__ 9223372036854775807L
4073// PPC64-LINUX:#define __INT_FAST64_TYPE__ long int
4074// PPC64-LINUX:#define __INT_FAST8_MAX__ 127
4075// PPC64-LINUX:#define __INT_FAST8_TYPE__ char
4076// PPC64-LINUX:#define __INT_LEAST16_MAX__ 32767
4077// PPC64-LINUX:#define __INT_LEAST16_TYPE__ short
4078// PPC64-LINUX:#define __INT_LEAST32_MAX__ 2147483647
4079// PPC64-LINUX:#define __INT_LEAST32_TYPE__ int
4080// PPC64-LINUX:#define __INT_LEAST64_MAX__ 9223372036854775807L
4081// PPC64-LINUX:#define __INT_LEAST64_TYPE__ long int
4082// PPC64-LINUX:#define __INT_LEAST8_MAX__ 127
4083// PPC64-LINUX:#define __INT_LEAST8_TYPE__ char
4084// PPC64-LINUX:#define __INT_MAX__ 2147483647
4085// PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
4086// PPC64-LINUX:#define __LDBL_DIG__ 31
4087// PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
4088// PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
4089// PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
4090// PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
4091// PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
4092// PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
4093// PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
4094// PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
4095// PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
4096// PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
4097// PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
4098// PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
4099// PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
4100// PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
4101// PPC64-LINUX:#define __LP64__ 1
4102// PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
4103// PPC64-LINUX:#define __POINTER_WIDTH__ 64
4104// PPC64-LINUX:#define __POWERPC__ 1
4105// PPC64-LINUX:#define __PPC64__ 1
4106// PPC64-LINUX:#define __PPC__ 1
4107// PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
4108// PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
4109// PPC64-LINUX:#define __REGISTER_PREFIX__
4110// PPC64-LINUX:#define __SCHAR_MAX__ 127
4111// PPC64-LINUX:#define __SHRT_MAX__ 32767
4112// PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
4113// PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
4114// PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
4115// PPC64-LINUX:#define __SIZEOF_INT__ 4
4116// PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
4117// PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
4118// PPC64-LINUX:#define __SIZEOF_LONG__ 8
4119// PPC64-LINUX:#define __SIZEOF_POINTER__ 8
4120// PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
4121// PPC64-LINUX:#define __SIZEOF_SHORT__ 2
4122// PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
4123// PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
4124// PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
4125// PPC64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
4126// PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
4127// PPC64-LINUX:#define __SIZE_WIDTH__ 64
4128// PPC64-LINUX:#define __UINT16_C_SUFFIX__ U
4129// PPC64-LINUX:#define __UINT16_MAX__ 65535U
4130// PPC64-LINUX:#define __UINT16_TYPE__ unsigned short
4131// PPC64-LINUX:#define __UINT32_C_SUFFIX__ U
4132// PPC64-LINUX:#define __UINT32_MAX__ 4294967295U
4133// PPC64-LINUX:#define __UINT32_TYPE__ unsigned int
4134// PPC64-LINUX:#define __UINT64_C_SUFFIX__ UL
4135// PPC64-LINUX:#define __UINT64_MAX__ 18446744073709551615UL
4136// PPC64-LINUX:#define __UINT64_TYPE__ long unsigned int
4137// PPC64-LINUX:#define __UINT8_C_SUFFIX__ U
4138// PPC64-LINUX:#define __UINT8_MAX__ 255U
4139// PPC64-LINUX:#define __UINT8_TYPE__ unsigned char
4140// PPC64-LINUX:#define __UINTMAX_MAX__ 18446744073709551615UL
4141// PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
4142// PPC64-LINUX:#define __UINTMAX_WIDTH__ 64
4143// PPC64-LINUX:#define __UINTPTR_MAX__ 18446744073709551615UL
4144// PPC64-LINUX:#define __UINTPTR_TYPE__ long unsigned int
4145// PPC64-LINUX:#define __UINTPTR_WIDTH__ 64
4146// PPC64-LINUX:#define __UINT_FAST16_MAX__ 65535U
4147// PPC64-LINUX:#define __UINT_FAST16_TYPE__ unsigned short
4148// PPC64-LINUX:#define __UINT_FAST32_MAX__ 4294967295U
4149// PPC64-LINUX:#define __UINT_FAST32_TYPE__ unsigned int
4150// PPC64-LINUX:#define __UINT_FAST64_MAX__ 18446744073709551615UL
4151// PPC64-LINUX:#define __UINT_FAST64_TYPE__ long unsigned int
4152// PPC64-LINUX:#define __UINT_FAST8_MAX__ 255U
4153// PPC64-LINUX:#define __UINT_FAST8_TYPE__ unsigned char
4154// PPC64-LINUX:#define __UINT_LEAST16_MAX__ 65535U
4155// PPC64-LINUX:#define __UINT_LEAST16_TYPE__ unsigned short
4156// PPC64-LINUX:#define __UINT_LEAST32_MAX__ 4294967295U
4157// PPC64-LINUX:#define __UINT_LEAST32_TYPE__ unsigned int
4158// PPC64-LINUX:#define __UINT_LEAST64_MAX__ 18446744073709551615UL
4159// PPC64-LINUX:#define __UINT_LEAST64_TYPE__ long unsigned int
4160// PPC64-LINUX:#define __UINT_LEAST8_MAX__ 255U
4161// PPC64-LINUX:#define __UINT_LEAST8_TYPE__ unsigned char
4162// PPC64-LINUX:#define __USER_LABEL_PREFIX__
4163// PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
4164// PPC64-LINUX:#define __WCHAR_TYPE__ int
4165// PPC64-LINUX:#define __WCHAR_WIDTH__ 32
4166// PPC64-LINUX:#define __WINT_TYPE__ unsigned int
4167// PPC64-LINUX:#define __WINT_UNSIGNED__ 1
4168// PPC64-LINUX:#define __WINT_WIDTH__ 32
4169// PPC64-LINUX:#define __powerpc64__ 1
4170// PPC64-LINUX:#define __powerpc__ 1
4171// PPC64-LINUX:#define __ppc64__ 1
4172// PPC64-LINUX:#define __ppc__ 1
4173//
4174// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix PPC %s
4175//
4176// PPC:#define _ARCH_PPC 1
4177// PPC:#define _BIG_ENDIAN 1
4178// PPC-NOT:#define _LP64
4179// PPC:#define __BIG_ENDIAN__ 1
4180// PPC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
4181// PPC:#define __CHAR16_TYPE__ unsigned short
4182// PPC:#define __CHAR32_TYPE__ unsigned int
4183// PPC:#define __CHAR_BIT__ 8
4184// PPC:#define __CHAR_UNSIGNED__ 1
4185// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
4186// PPC:#define __DBL_DIG__ 15
4187// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
4188// PPC:#define __DBL_HAS_DENORM__ 1
4189// PPC:#define __DBL_HAS_INFINITY__ 1
4190// PPC:#define __DBL_HAS_QUIET_NAN__ 1
4191// PPC:#define __DBL_MANT_DIG__ 53
4192// PPC:#define __DBL_MAX_10_EXP__ 308
4193// PPC:#define __DBL_MAX_EXP__ 1024
4194// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
4195// PPC:#define __DBL_MIN_10_EXP__ (-307)
4196// PPC:#define __DBL_MIN_EXP__ (-1021)
4197// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
4198// PPC:#define __DECIMAL_DIG__ 33
4199// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
4200// PPC:#define __FLT_DIG__ 6
4201// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
4202// PPC:#define __FLT_EVAL_METHOD__ 0
4203// PPC:#define __FLT_HAS_DENORM__ 1
4204// PPC:#define __FLT_HAS_INFINITY__ 1
4205// PPC:#define __FLT_HAS_QUIET_NAN__ 1
4206// PPC:#define __FLT_MANT_DIG__ 24
4207// PPC:#define __FLT_MAX_10_EXP__ 38
4208// PPC:#define __FLT_MAX_EXP__ 128
4209// PPC:#define __FLT_MAX__ 3.40282347e+38F
4210// PPC:#define __FLT_MIN_10_EXP__ (-37)
4211// PPC:#define __FLT_MIN_EXP__ (-125)
4212// PPC:#define __FLT_MIN__ 1.17549435e-38F
4213// PPC:#define __FLT_RADIX__ 2
4214// PPC:#define __INT16_MAX__ 32767
4215// PPC:#define __INT16_TYPE__ short
4216// PPC:#define __INT32_MAX__ 2147483647
4217// PPC:#define __INT32_TYPE__ int
4218// PPC:#define __INT64_C_SUFFIX__ LL
4219// PPC:#define __INT64_MAX__ 9223372036854775807LL
4220// PPC:#define __INT64_TYPE__ long long int
4221// PPC:#define __INT8_MAX__ 127
4222// PPC:#define __INT8_TYPE__ char
4223// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
4224// PPC:#define __INTMAX_TYPE__ long long int
4225// PPC:#define __INTMAX_WIDTH__ 64
4226// PPC:#define __INTPTR_MAX__ 2147483647L
4227// PPC:#define __INTPTR_TYPE__ long int
4228// PPC:#define __INTPTR_WIDTH__ 32
4229// PPC:#define __INT_FAST16_MAX__ 32767
4230// PPC:#define __INT_FAST16_TYPE__ short
4231// PPC:#define __INT_FAST32_MAX__ 2147483647
4232// PPC:#define __INT_FAST32_TYPE__ int
4233// PPC:#define __INT_FAST64_MAX__ 9223372036854775807LL
4234// PPC:#define __INT_FAST64_TYPE__ long long int
4235// PPC:#define __INT_FAST8_MAX__ 127
4236// PPC:#define __INT_FAST8_TYPE__ char
4237// PPC:#define __INT_LEAST16_MAX__ 32767
4238// PPC:#define __INT_LEAST16_TYPE__ short
4239// PPC:#define __INT_LEAST32_MAX__ 2147483647
4240// PPC:#define __INT_LEAST32_TYPE__ int
4241// PPC:#define __INT_LEAST64_MAX__ 9223372036854775807LL
4242// PPC:#define __INT_LEAST64_TYPE__ long long int
4243// PPC:#define __INT_LEAST8_MAX__ 127
4244// PPC:#define __INT_LEAST8_TYPE__ char
4245// PPC:#define __INT_MAX__ 2147483647
4246// PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
4247// PPC:#define __LDBL_DIG__ 31
4248// PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
4249// PPC:#define __LDBL_HAS_DENORM__ 1
4250// PPC:#define __LDBL_HAS_INFINITY__ 1
4251// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
4252// PPC:#define __LDBL_MANT_DIG__ 106
4253// PPC:#define __LDBL_MAX_10_EXP__ 308
4254// PPC:#define __LDBL_MAX_EXP__ 1024
4255// PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
4256// PPC:#define __LDBL_MIN_10_EXP__ (-291)
4257// PPC:#define __LDBL_MIN_EXP__ (-968)
4258// PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
4259// PPC:#define __LONG_DOUBLE_128__ 1
4260// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
4261// PPC:#define __LONG_MAX__ 2147483647L
4262// PPC-NOT:#define __LP64__
4263// PPC:#define __NATURAL_ALIGNMENT__ 1
4264// PPC:#define __POINTER_WIDTH__ 32
4265// PPC:#define __POWERPC__ 1
4266// PPC:#define __PPC__ 1
4267// PPC:#define __PTRDIFF_TYPE__ long int
4268// PPC:#define __PTRDIFF_WIDTH__ 32
4269// PPC:#define __REGISTER_PREFIX__
4270// PPC:#define __SCHAR_MAX__ 127
4271// PPC:#define __SHRT_MAX__ 32767
4272// PPC:#define __SIG_ATOMIC_WIDTH__ 32
4273// PPC:#define __SIZEOF_DOUBLE__ 8
4274// PPC:#define __SIZEOF_FLOAT__ 4
4275// PPC:#define __SIZEOF_INT__ 4
4276// PPC:#define __SIZEOF_LONG_DOUBLE__ 16
4277// PPC:#define __SIZEOF_LONG_LONG__ 8
4278// PPC:#define __SIZEOF_LONG__ 4
4279// PPC:#define __SIZEOF_POINTER__ 4
4280// PPC:#define __SIZEOF_PTRDIFF_T__ 4
4281// PPC:#define __SIZEOF_SHORT__ 2
4282// PPC:#define __SIZEOF_SIZE_T__ 4
4283// PPC:#define __SIZEOF_WCHAR_T__ 4
4284// PPC:#define __SIZEOF_WINT_T__ 4
4285// PPC:#define __SIZE_MAX__ 4294967295U
4286// PPC:#define __SIZE_TYPE__ long unsigned int
4287// PPC:#define __SIZE_WIDTH__ 32
4288// PPC:#define __UINT16_C_SUFFIX__ U
4289// PPC:#define __UINT16_MAX__ 65535U
4290// PPC:#define __UINT16_TYPE__ unsigned short
4291// PPC:#define __UINT32_C_SUFFIX__ U
4292// PPC:#define __UINT32_MAX__ 4294967295U
4293// PPC:#define __UINT32_TYPE__ unsigned int
4294// PPC:#define __UINT64_C_SUFFIX__ ULL
4295// PPC:#define __UINT64_MAX__ 18446744073709551615ULL
4296// PPC:#define __UINT64_TYPE__ long long unsigned int
4297// PPC:#define __UINT8_C_SUFFIX__ U
4298// PPC:#define __UINT8_MAX__ 255U
4299// PPC:#define __UINT8_TYPE__ unsigned char
4300// PPC:#define __UINTMAX_MAX__ 18446744073709551615ULL
4301// PPC:#define __UINTMAX_TYPE__ long long unsigned int
4302// PPC:#define __UINTMAX_WIDTH__ 64
4303// PPC:#define __UINTPTR_MAX__ 4294967295U
4304// PPC:#define __UINTPTR_TYPE__ unsigned int
4305// PPC:#define __UINTPTR_WIDTH__ 32
4306// PPC:#define __UINT_FAST16_MAX__ 65535U
4307// PPC:#define __UINT_FAST16_TYPE__ unsigned short
4308// PPC:#define __UINT_FAST32_MAX__ 4294967295U
4309// PPC:#define __UINT_FAST32_TYPE__ unsigned int
4310// PPC:#define __UINT_FAST64_MAX__ 18446744073709551615ULL
4311// PPC:#define __UINT_FAST64_TYPE__ long long unsigned int
4312// PPC:#define __UINT_FAST8_MAX__ 255U
4313// PPC:#define __UINT_FAST8_TYPE__ unsigned char
4314// PPC:#define __UINT_LEAST16_MAX__ 65535U
4315// PPC:#define __UINT_LEAST16_TYPE__ unsigned short
4316// PPC:#define __UINT_LEAST32_MAX__ 4294967295U
4317// PPC:#define __UINT_LEAST32_TYPE__ unsigned int
4318// PPC:#define __UINT_LEAST64_MAX__ 18446744073709551615ULL
4319// PPC:#define __UINT_LEAST64_TYPE__ long long unsigned int
4320// PPC:#define __UINT_LEAST8_MAX__ 255U
4321// PPC:#define __UINT_LEAST8_TYPE__ unsigned char
4322// PPC:#define __USER_LABEL_PREFIX__ _
4323// PPC:#define __WCHAR_MAX__ 2147483647
4324// PPC:#define __WCHAR_TYPE__ int
4325// PPC:#define __WCHAR_WIDTH__ 32
4326// PPC:#define __WINT_TYPE__ int
4327// PPC:#define __WINT_WIDTH__ 32
4328// PPC:#define __ppc__ 1
4329//
4330// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
4331//
4332// PPC-LINUX:#define _ARCH_PPC 1
4333// PPC-LINUX:#define _BIG_ENDIAN 1
4334// PPC-LINUX-NOT:#define _LP64
4335// PPC-LINUX:#define __BIG_ENDIAN__ 1
4336// PPC-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
4337// PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
4338// PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
4339// PPC-LINUX:#define __CHAR_BIT__ 8
4340// PPC-LINUX:#define __CHAR_UNSIGNED__ 1
4341// PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
4342// PPC-LINUX:#define __DBL_DIG__ 15
4343// PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
4344// PPC-LINUX:#define __DBL_HAS_DENORM__ 1
4345// PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
4346// PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
4347// PPC-LINUX:#define __DBL_MANT_DIG__ 53
4348// PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
4349// PPC-LINUX:#define __DBL_MAX_EXP__ 1024
4350// PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
4351// PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
4352// PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
4353// PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
4354// PPC-LINUX:#define __DECIMAL_DIG__ 33
4355// PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
4356// PPC-LINUX:#define __FLT_DIG__ 6
4357// PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
4358// PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
4359// PPC-LINUX:#define __FLT_HAS_DENORM__ 1
4360// PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
4361// PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
4362// PPC-LINUX:#define __FLT_MANT_DIG__ 24
4363// PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
4364// PPC-LINUX:#define __FLT_MAX_EXP__ 128
4365// PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
4366// PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
4367// PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
4368// PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
4369// PPC-LINUX:#define __FLT_RADIX__ 2
4370// PPC-LINUX:#define __INT16_MAX__ 32767
4371// PPC-LINUX:#define __INT16_TYPE__ short
4372// PPC-LINUX:#define __INT32_MAX__ 2147483647
4373// PPC-LINUX:#define __INT32_TYPE__ int
4374// PPC-LINUX:#define __INT64_C_SUFFIX__ LL
4375// PPC-LINUX:#define __INT64_MAX__ 9223372036854775807LL
4376// PPC-LINUX:#define __INT64_TYPE__ long long int
4377// PPC-LINUX:#define __INT8_MAX__ 127
4378// PPC-LINUX:#define __INT8_TYPE__ char
4379// PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
4380// PPC-LINUX:#define __INTMAX_TYPE__ long long int
4381// PPC-LINUX:#define __INTMAX_WIDTH__ 64
4382// PPC-LINUX:#define __INTPTR_MAX__ 2147483647
4383// PPC-LINUX:#define __INTPTR_TYPE__ int
4384// PPC-LINUX:#define __INTPTR_WIDTH__ 32
4385// PPC-LINUX:#define __INT_FAST16_MAX__ 32767
4386// PPC-LINUX:#define __INT_FAST16_TYPE__ short
4387// PPC-LINUX:#define __INT_FAST32_MAX__ 2147483647
4388// PPC-LINUX:#define __INT_FAST32_TYPE__ int
4389// PPC-LINUX:#define __INT_FAST64_MAX__ 9223372036854775807LL
4390// PPC-LINUX:#define __INT_FAST64_TYPE__ long long int
4391// PPC-LINUX:#define __INT_FAST8_MAX__ 127
4392// PPC-LINUX:#define __INT_FAST8_TYPE__ char
4393// PPC-LINUX:#define __INT_LEAST16_MAX__ 32767
4394// PPC-LINUX:#define __INT_LEAST16_TYPE__ short
4395// PPC-LINUX:#define __INT_LEAST32_MAX__ 2147483647
4396// PPC-LINUX:#define __INT_LEAST32_TYPE__ int
4397// PPC-LINUX:#define __INT_LEAST64_MAX__ 9223372036854775807LL
4398// PPC-LINUX:#define __INT_LEAST64_TYPE__ long long int
4399// PPC-LINUX:#define __INT_LEAST8_MAX__ 127
4400// PPC-LINUX:#define __INT_LEAST8_TYPE__ char
4401// PPC-LINUX:#define __INT_MAX__ 2147483647
4402// PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
4403// PPC-LINUX:#define __LDBL_DIG__ 31
4404// PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
4405// PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
4406// PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
4407// PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
4408// PPC-LINUX:#define __LDBL_MANT_DIG__ 106
4409// PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
4410// PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
4411// PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
4412// PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
4413// PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
4414// PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
4415// PPC-LINUX:#define __LONG_DOUBLE_128__ 1
4416// PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
4417// PPC-LINUX:#define __LONG_MAX__ 2147483647L
4418// PPC-LINUX-NOT:#define __LP64__
4419// PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
4420// PPC-LINUX:#define __POINTER_WIDTH__ 32
4421// PPC-LINUX:#define __POWERPC__ 1
4422// PPC-LINUX:#define __PPC__ 1
4423// PPC-LINUX:#define __PTRDIFF_TYPE__ int
4424// PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
4425// PPC-LINUX:#define __REGISTER_PREFIX__
4426// PPC-LINUX:#define __SCHAR_MAX__ 127
4427// PPC-LINUX:#define __SHRT_MAX__ 32767
4428// PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
4429// PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
4430// PPC-LINUX:#define __SIZEOF_FLOAT__ 4
4431// PPC-LINUX:#define __SIZEOF_INT__ 4
4432// PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
4433// PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
4434// PPC-LINUX:#define __SIZEOF_LONG__ 4
4435// PPC-LINUX:#define __SIZEOF_POINTER__ 4
4436// PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
4437// PPC-LINUX:#define __SIZEOF_SHORT__ 2
4438// PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
4439// PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
4440// PPC-LINUX:#define __SIZEOF_WINT_T__ 4
4441// PPC-LINUX:#define __SIZE_MAX__ 4294967295U
4442// PPC-LINUX:#define __SIZE_TYPE__ unsigned int
4443// PPC-LINUX:#define __SIZE_WIDTH__ 32
4444// PPC-LINUX:#define __UINT16_C_SUFFIX__ U
4445// PPC-LINUX:#define __UINT16_MAX__ 65535U
4446// PPC-LINUX:#define __UINT16_TYPE__ unsigned short
4447// PPC-LINUX:#define __UINT32_C_SUFFIX__ U
4448// PPC-LINUX:#define __UINT32_MAX__ 4294967295U
4449// PPC-LINUX:#define __UINT32_TYPE__ unsigned int
4450// PPC-LINUX:#define __UINT64_C_SUFFIX__ ULL
4451// PPC-LINUX:#define __UINT64_MAX__ 18446744073709551615ULL
4452// PPC-LINUX:#define __UINT64_TYPE__ long long unsigned int
4453// PPC-LINUX:#define __UINT8_C_SUFFIX__ U
4454// PPC-LINUX:#define __UINT8_MAX__ 255U
4455// PPC-LINUX:#define __UINT8_TYPE__ unsigned char
4456// PPC-LINUX:#define __UINTMAX_MAX__ 18446744073709551615ULL
4457// PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
4458// PPC-LINUX:#define __UINTMAX_WIDTH__ 64
4459// PPC-LINUX:#define __UINTPTR_MAX__ 4294967295U
4460// PPC-LINUX:#define __UINTPTR_TYPE__ unsigned int
4461// PPC-LINUX:#define __UINTPTR_WIDTH__ 32
4462// PPC-LINUX:#define __UINT_FAST16_MAX__ 65535U
4463// PPC-LINUX:#define __UINT_FAST16_TYPE__ unsigned short
4464// PPC-LINUX:#define __UINT_FAST32_MAX__ 4294967295U
4465// PPC-LINUX:#define __UINT_FAST32_TYPE__ unsigned int
4466// PPC-LINUX:#define __UINT_FAST64_MAX__ 18446744073709551615ULL
4467// PPC-LINUX:#define __UINT_FAST64_TYPE__ long long unsigned int
4468// PPC-LINUX:#define __UINT_FAST8_MAX__ 255U
4469// PPC-LINUX:#define __UINT_FAST8_TYPE__ unsigned char
4470// PPC-LINUX:#define __UINT_LEAST16_MAX__ 65535U
4471// PPC-LINUX:#define __UINT_LEAST16_TYPE__ unsigned short
4472// PPC-LINUX:#define __UINT_LEAST32_MAX__ 4294967295U
4473// PPC-LINUX:#define __UINT_LEAST32_TYPE__ unsigned int
4474// PPC-LINUX:#define __UINT_LEAST64_MAX__ 18446744073709551615ULL
4475// PPC-LINUX:#define __UINT_LEAST64_TYPE__ long long unsigned int
4476// PPC-LINUX:#define __UINT_LEAST8_MAX__ 255U
4477// PPC-LINUX:#define __UINT_LEAST8_TYPE__ unsigned char
4478// PPC-LINUX:#define __USER_LABEL_PREFIX__
4479// PPC-LINUX:#define __WCHAR_MAX__ 2147483647
4480// PPC-LINUX:#define __WCHAR_TYPE__ int
4481// PPC-LINUX:#define __WCHAR_WIDTH__ 32
4482// PPC-LINUX:#define __WINT_TYPE__ unsigned int
4483// PPC-LINUX:#define __WINT_UNSIGNED__ 1
4484// PPC-LINUX:#define __WINT_WIDTH__ 32
4485// PPC-LINUX:#define __powerpc__ 1
4486// PPC-LINUX:#define __ppc__ 1
4487//
4488// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-apple-darwin8 < /dev/null | FileCheck -check-prefix PPC-DARWIN %s
4489//
4490// PPC-DARWIN:#define _ARCH_PPC 1
4491// PPC-DARWIN:#define _BIG_ENDIAN 1
4492// PPC-DARWIN:#define __BIG_ENDIAN__ 1
4493// PPC-DARWIN:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
4494// PPC-DARWIN:#define __CHAR16_TYPE__ unsigned short
4495// PPC-DARWIN:#define __CHAR32_TYPE__ unsigned int
4496// PPC-DARWIN:#define __CHAR_BIT__ 8
4497// PPC-DARWIN:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
4498// PPC-DARWIN:#define __DBL_DIG__ 15
4499// PPC-DARWIN:#define __DBL_EPSILON__ 2.2204460492503131e-16
4500// PPC-DARWIN:#define __DBL_HAS_DENORM__ 1
4501// PPC-DARWIN:#define __DBL_HAS_INFINITY__ 1
4502// PPC-DARWIN:#define __DBL_HAS_QUIET_NAN__ 1
4503// PPC-DARWIN:#define __DBL_MANT_DIG__ 53
4504// PPC-DARWIN:#define __DBL_MAX_10_EXP__ 308
4505// PPC-DARWIN:#define __DBL_MAX_EXP__ 1024
4506// PPC-DARWIN:#define __DBL_MAX__ 1.7976931348623157e+308
4507// PPC-DARWIN:#define __DBL_MIN_10_EXP__ (-307)
4508// PPC-DARWIN:#define __DBL_MIN_EXP__ (-1021)
4509// PPC-DARWIN:#define __DBL_MIN__ 2.2250738585072014e-308
4510// PPC-DARWIN:#define __DECIMAL_DIG__ 33
4511// PPC-DARWIN:#define __FLT_DENORM_MIN__ 1.40129846e-45F
4512// PPC-DARWIN:#define __FLT_DIG__ 6
4513// PPC-DARWIN:#define __FLT_EPSILON__ 1.19209290e-7F
4514// PPC-DARWIN:#define __FLT_EVAL_METHOD__ 0
4515// PPC-DARWIN:#define __FLT_HAS_DENORM__ 1
4516// PPC-DARWIN:#define __FLT_HAS_INFINITY__ 1
4517// PPC-DARWIN:#define __FLT_HAS_QUIET_NAN__ 1
4518// PPC-DARWIN:#define __FLT_MANT_DIG__ 24
4519// PPC-DARWIN:#define __FLT_MAX_10_EXP__ 38
4520// PPC-DARWIN:#define __FLT_MAX_EXP__ 128
4521// PPC-DARWIN:#define __FLT_MAX__ 3.40282347e+38F
4522// PPC-DARWIN:#define __FLT_MIN_10_EXP__ (-37)
4523// PPC-DARWIN:#define __FLT_MIN_EXP__ (-125)
4524// PPC-DARWIN:#define __FLT_MIN__ 1.17549435e-38F
4525// PPC-DARWIN:#define __FLT_RADIX__ 2
4526// PPC-DARWIN:#define __INT16_MAX__ 32767
4527// PPC-DARWIN:#define __INT16_TYPE__ short
4528// PPC-DARWIN:#define __INT32_MAX__ 2147483647
4529// PPC-DARWIN:#define __INT32_TYPE__ int
4530// PPC-DARWIN:#define __INT64_C_SUFFIX__ LL
4531// PPC-DARWIN:#define __INT64_MAX__ 9223372036854775807LL
4532// PPC-DARWIN:#define __INT64_TYPE__ long long int
4533// PPC-DARWIN:#define __INT8_MAX__ 127
4534// PPC-DARWIN:#define __INT8_TYPE__ char
4535// PPC-DARWIN:#define __INTMAX_MAX__ 9223372036854775807LL
4536// PPC-DARWIN:#define __INTMAX_TYPE__ long long int
4537// PPC-DARWIN:#define __INTMAX_WIDTH__ 64
4538// PPC-DARWIN:#define __INTPTR_MAX__ 2147483647L
4539// PPC-DARWIN:#define __INTPTR_TYPE__ long int
4540// PPC-DARWIN:#define __INTPTR_WIDTH__ 32
4541// PPC-DARWIN:#define __INT_FAST16_MAX__ 32767
4542// PPC-DARWIN:#define __INT_FAST16_TYPE__ short
4543// PPC-DARWIN:#define __INT_FAST32_MAX__ 2147483647
4544// PPC-DARWIN:#define __INT_FAST32_TYPE__ int
4545// PPC-DARWIN:#define __INT_FAST64_MAX__ 9223372036854775807LL
4546// PPC-DARWIN:#define __INT_FAST64_TYPE__ long long int
4547// PPC-DARWIN:#define __INT_FAST8_MAX__ 127
4548// PPC-DARWIN:#define __INT_FAST8_TYPE__ char
4549// PPC-DARWIN:#define __INT_LEAST16_MAX__ 32767
4550// PPC-DARWIN:#define __INT_LEAST16_TYPE__ short
4551// PPC-DARWIN:#define __INT_LEAST32_MAX__ 2147483647
4552// PPC-DARWIN:#define __INT_LEAST32_TYPE__ int
4553// PPC-DARWIN:#define __INT_LEAST64_MAX__ 9223372036854775807LL
4554// PPC-DARWIN:#define __INT_LEAST64_TYPE__ long long int
4555// PPC-DARWIN:#define __INT_LEAST8_MAX__ 127
4556// PPC-DARWIN:#define __INT_LEAST8_TYPE__ char
4557// PPC-DARWIN:#define __INT_MAX__ 2147483647
4558// PPC-DARWIN:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
4559// PPC-DARWIN:#define __LDBL_DIG__ 31
4560// PPC-DARWIN:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
4561// PPC-DARWIN:#define __LDBL_HAS_DENORM__ 1
4562// PPC-DARWIN:#define __LDBL_HAS_INFINITY__ 1
4563// PPC-DARWIN:#define __LDBL_HAS_QUIET_NAN__ 1
4564// PPC-DARWIN:#define __LDBL_MANT_DIG__ 106
4565// PPC-DARWIN:#define __LDBL_MAX_10_EXP__ 308
4566// PPC-DARWIN:#define __LDBL_MAX_EXP__ 1024
4567// PPC-DARWIN:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
4568// PPC-DARWIN:#define __LDBL_MIN_10_EXP__ (-291)
4569// PPC-DARWIN:#define __LDBL_MIN_EXP__ (-968)
4570// PPC-DARWIN:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
4571// PPC-DARWIN:#define __LONG_DOUBLE_128__ 1
4572// PPC-DARWIN:#define __LONG_LONG_MAX__ 9223372036854775807LL
4573// PPC-DARWIN:#define __LONG_MAX__ 2147483647L
4574// PPC-DARWIN:#define __MACH__ 1
4575// PPC-DARWIN:#define __NATURAL_ALIGNMENT__ 1
4576// PPC-DARWIN:#define __ORDER_BIG_ENDIAN__ 4321
4577// PPC-DARWIN:#define __ORDER_LITTLE_ENDIAN__ 1234
4578// PPC-DARWIN:#define __ORDER_PDP_ENDIAN__ 3412
4579// PPC-DARWIN:#define __POINTER_WIDTH__ 32
4580// PPC-DARWIN:#define __POWERPC__ 1
4581// PPC-DARWIN:#define __PPC__ 1
4582// PPC-DARWIN:#define __PTRDIFF_TYPE__ int
4583// PPC-DARWIN:#define __PTRDIFF_WIDTH__ 32
4584// PPC-DARWIN:#define __REGISTER_PREFIX__
4585// PPC-DARWIN:#define __SCHAR_MAX__ 127
4586// PPC-DARWIN:#define __SHRT_MAX__ 32767
4587// PPC-DARWIN:#define __SIG_ATOMIC_WIDTH__ 32
4588// PPC-DARWIN:#define __SIZEOF_DOUBLE__ 8
4589// PPC-DARWIN:#define __SIZEOF_FLOAT__ 4
4590// PPC-DARWIN:#define __SIZEOF_INT__ 4
4591// PPC-DARWIN:#define __SIZEOF_LONG_DOUBLE__ 16
4592// PPC-DARWIN:#define __SIZEOF_LONG_LONG__ 8
4593// PPC-DARWIN:#define __SIZEOF_LONG__ 4
4594// PPC-DARWIN:#define __SIZEOF_POINTER__ 4
4595// PPC-DARWIN:#define __SIZEOF_PTRDIFF_T__ 4
4596// PPC-DARWIN:#define __SIZEOF_SHORT__ 2
4597// PPC-DARWIN:#define __SIZEOF_SIZE_T__ 4
4598// PPC-DARWIN:#define __SIZEOF_WCHAR_T__ 4
4599// PPC-DARWIN:#define __SIZEOF_WINT_T__ 4
4600// PPC-DARWIN:#define __SIZE_MAX__ 4294967295UL
4601// PPC-DARWIN:#define __SIZE_TYPE__ long unsigned int
4602// PPC-DARWIN:#define __SIZE_WIDTH__ 32
4603// PPC-DARWIN:#define __STDC_HOSTED__ 0
4604// PPC-DARWIN:#define __STDC_VERSION__ 199901L
4605// PPC-DARWIN:#define __STDC__ 1
4606// PPC-DARWIN:#define __UINT16_C_SUFFIX__ U
4607// PPC-DARWIN:#define __UINT16_MAX__ 65535U
4608// PPC-DARWIN:#define __UINT16_TYPE__ unsigned short
4609// PPC-DARWIN:#define __UINT32_C_SUFFIX__ U
4610// PPC-DARWIN:#define __UINT32_MAX__ 4294967295U
4611// PPC-DARWIN:#define __UINT32_TYPE__ unsigned int
4612// PPC-DARWIN:#define __UINT64_C_SUFFIX__ ULL
4613// PPC-DARWIN:#define __UINT64_MAX__ 18446744073709551615ULL
4614// PPC-DARWIN:#define __UINT64_TYPE__ long long unsigned int
4615// PPC-DARWIN:#define __UINT8_C_SUFFIX__ U
4616// PPC-DARWIN:#define __UINT8_MAX__ 255U
4617// PPC-DARWIN:#define __UINT8_TYPE__ unsigned char
4618// PPC-DARWIN:#define __UINTMAX_MAX__ 18446744073709551615ULL
4619// PPC-DARWIN:#define __UINTMAX_TYPE__ long long unsigned int
4620// PPC-DARWIN:#define __UINTMAX_WIDTH__ 64
4621// PPC-DARWIN:#define __UINTPTR_MAX__ 4294967295U
4622// PPC-DARWIN:#define __UINTPTR_TYPE__ unsigned int
4623// PPC-DARWIN:#define __UINTPTR_WIDTH__ 32
4624// PPC-DARWIN:#define __UINT_FAST16_MAX__ 65535U
4625// PPC-DARWIN:#define __UINT_FAST16_TYPE__ unsigned short
4626// PPC-DARWIN:#define __UINT_FAST32_MAX__ 4294967295U
4627// PPC-DARWIN:#define __UINT_FAST32_TYPE__ unsigned int
4628// PPC-DARWIN:#define __UINT_FAST64_MAX__ 18446744073709551615ULL
4629// PPC-DARWIN:#define __UINT_FAST64_TYPE__ long long unsigned int
4630// PPC-DARWIN:#define __UINT_FAST8_MAX__ 255U
4631// PPC-DARWIN:#define __UINT_FAST8_TYPE__ unsigned char
4632// PPC-DARWIN:#define __UINT_LEAST16_MAX__ 65535U
4633// PPC-DARWIN:#define __UINT_LEAST16_TYPE__ unsigned short
4634// PPC-DARWIN:#define __UINT_LEAST32_MAX__ 4294967295U
4635// PPC-DARWIN:#define __UINT_LEAST32_TYPE__ unsigned int
4636// PPC-DARWIN:#define __UINT_LEAST64_MAX__ 18446744073709551615ULL
4637// PPC-DARWIN:#define __UINT_LEAST64_TYPE__ long long unsigned int
4638// PPC-DARWIN:#define __UINT_LEAST8_MAX__ 255U
4639// PPC-DARWIN:#define __UINT_LEAST8_TYPE__ unsigned char
4640// PPC-DARWIN:#define __USER_LABEL_PREFIX__ _
4641// PPC-DARWIN:#define __WCHAR_MAX__ 2147483647
4642// PPC-DARWIN:#define __WCHAR_TYPE__ int
4643// PPC-DARWIN:#define __WCHAR_WIDTH__ 32
4644// PPC-DARWIN:#define __WINT_TYPE__ int
4645// PPC-DARWIN:#define __WINT_WIDTH__ 32
4646// PPC-DARWIN:#define __powerpc__ 1
4647// PPC-DARWIN:#define __ppc__ 1
4648//
4649// RUN: %clang_cc1 -E -dM -ffreestanding -triple=s390x-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix S390X %s
4650//
4651// S390X:#define __CHAR16_TYPE__ unsigned short
4652// S390X:#define __CHAR32_TYPE__ unsigned int
4653// S390X:#define __CHAR_BIT__ 8
4654// S390X:#define __CHAR_UNSIGNED__ 1
4655// S390X:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
4656// S390X:#define __DBL_DIG__ 15
4657// S390X:#define __DBL_EPSILON__ 2.2204460492503131e-16
4658// S390X:#define __DBL_HAS_DENORM__ 1
4659// S390X:#define __DBL_HAS_INFINITY__ 1
4660// S390X:#define __DBL_HAS_QUIET_NAN__ 1
4661// S390X:#define __DBL_MANT_DIG__ 53
4662// S390X:#define __DBL_MAX_10_EXP__ 308
4663// S390X:#define __DBL_MAX_EXP__ 1024
4664// S390X:#define __DBL_MAX__ 1.7976931348623157e+308
4665// S390X:#define __DBL_MIN_10_EXP__ (-307)
4666// S390X:#define __DBL_MIN_EXP__ (-1021)
4667// S390X:#define __DBL_MIN__ 2.2250738585072014e-308
4668// S390X:#define __DECIMAL_DIG__ 36
4669// S390X:#define __FLT_DENORM_MIN__ 1.40129846e-45F
4670// S390X:#define __FLT_DIG__ 6
4671// S390X:#define __FLT_EPSILON__ 1.19209290e-7F
4672// S390X:#define __FLT_EVAL_METHOD__ 0
4673// S390X:#define __FLT_HAS_DENORM__ 1
4674// S390X:#define __FLT_HAS_INFINITY__ 1
4675// S390X:#define __FLT_HAS_QUIET_NAN__ 1
4676// S390X:#define __FLT_MANT_DIG__ 24
4677// S390X:#define __FLT_MAX_10_EXP__ 38
4678// S390X:#define __FLT_MAX_EXP__ 128
4679// S390X:#define __FLT_MAX__ 3.40282347e+38F
4680// S390X:#define __FLT_MIN_10_EXP__ (-37)
4681// S390X:#define __FLT_MIN_EXP__ (-125)
4682// S390X:#define __FLT_MIN__ 1.17549435e-38F
4683// S390X:#define __FLT_RADIX__ 2
4684// S390X:#define __INT16_MAX__ 32767
4685// S390X:#define __INT16_TYPE__ short
4686// S390X:#define __INT32_MAX__ 2147483647
4687// S390X:#define __INT32_TYPE__ int
4688// S390X:#define __INT64_C_SUFFIX__ LL
4689// S390X:#define __INT64_MAX__ 9223372036854775807LL
4690// S390X:#define __INT64_TYPE__ long long int
4691// S390X:#define __INT8_MAX__ 127
4692// S390X:#define __INT8_TYPE__ char
4693// S390X:#define __INTMAX_MAX__ 9223372036854775807LL
4694// S390X:#define __INTMAX_TYPE__ long long int
4695// S390X:#define __INTMAX_WIDTH__ 64
4696// S390X:#define __INTPTR_MAX__ 9223372036854775807L
4697// S390X:#define __INTPTR_TYPE__ long int
4698// S390X:#define __INTPTR_WIDTH__ 64
4699// S390X:#define __INT_FAST16_MAX__ 32767
4700// S390X:#define __INT_FAST16_TYPE__ short
4701// S390X:#define __INT_FAST32_MAX__ 2147483647
4702// S390X:#define __INT_FAST32_TYPE__ int
4703// S390X:#define __INT_FAST64_MAX__ 9223372036854775807L
4704// S390X:#define __INT_FAST64_TYPE__ long int
4705// S390X:#define __INT_FAST8_MAX__ 127
4706// S390X:#define __INT_FAST8_TYPE__ char
4707// S390X:#define __INT_LEAST16_MAX__ 32767
4708// S390X:#define __INT_LEAST16_TYPE__ short
4709// S390X:#define __INT_LEAST32_MAX__ 2147483647
4710// S390X:#define __INT_LEAST32_TYPE__ int
4711// S390X:#define __INT_LEAST64_MAX__ 9223372036854775807L
4712// S390X:#define __INT_LEAST64_TYPE__ long int
4713// S390X:#define __INT_LEAST8_MAX__ 127
4714// S390X:#define __INT_LEAST8_TYPE__ char
4715// S390X:#define __INT_MAX__ 2147483647
4716// S390X:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
4717// S390X:#define __LDBL_DIG__ 33
4718// S390X:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
4719// S390X:#define __LDBL_HAS_DENORM__ 1
4720// S390X:#define __LDBL_HAS_INFINITY__ 1
4721// S390X:#define __LDBL_HAS_QUIET_NAN__ 1
4722// S390X:#define __LDBL_MANT_DIG__ 113
4723// S390X:#define __LDBL_MAX_10_EXP__ 4932
4724// S390X:#define __LDBL_MAX_EXP__ 16384
4725// S390X:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
4726// S390X:#define __LDBL_MIN_10_EXP__ (-4931)
4727// S390X:#define __LDBL_MIN_EXP__ (-16381)
4728// S390X:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
4729// S390X:#define __LONG_LONG_MAX__ 9223372036854775807LL
4730// S390X:#define __LONG_MAX__ 9223372036854775807L
4731// S390X:#define __NO_INLINE__ 1
4732// S390X:#define __POINTER_WIDTH__ 64
4733// S390X:#define __PTRDIFF_TYPE__ long int
4734// S390X:#define __PTRDIFF_WIDTH__ 64
4735// S390X:#define __SCHAR_MAX__ 127
4736// S390X:#define __SHRT_MAX__ 32767
4737// S390X:#define __SIG_ATOMIC_WIDTH__ 32
4738// S390X:#define __SIZEOF_DOUBLE__ 8
4739// S390X:#define __SIZEOF_FLOAT__ 4
4740// S390X:#define __SIZEOF_INT__ 4
4741// S390X:#define __SIZEOF_LONG_DOUBLE__ 16
4742// S390X:#define __SIZEOF_LONG_LONG__ 8
4743// S390X:#define __SIZEOF_LONG__ 8
4744// S390X:#define __SIZEOF_POINTER__ 8
4745// S390X:#define __SIZEOF_PTRDIFF_T__ 8
4746// S390X:#define __SIZEOF_SHORT__ 2
4747// S390X:#define __SIZEOF_SIZE_T__ 8
4748// S390X:#define __SIZEOF_WCHAR_T__ 4
4749// S390X:#define __SIZEOF_WINT_T__ 4
4750// S390X:#define __SIZE_TYPE__ long unsigned int
4751// S390X:#define __SIZE_WIDTH__ 64
4752// S390X:#define __UINT16_C_SUFFIX__ U
4753// S390X:#define __UINT16_MAX__ 65535U
4754// S390X:#define __UINT16_TYPE__ unsigned short
4755// S390X:#define __UINT32_C_SUFFIX__ U
4756// S390X:#define __UINT32_MAX__ 4294967295U
4757// S390X:#define __UINT32_TYPE__ unsigned int
4758// S390X:#define __UINT64_C_SUFFIX__ UL
4759// S390X:#define __UINT64_MAX__ 18446744073709551615UL
4760// S390X:#define __UINT64_TYPE__ long unsigned int
4761// S390X:#define __UINT8_C_SUFFIX__ U
4762// S390X:#define __UINT8_MAX__ 255U
4763// S390X:#define __UINT8_TYPE__ unsigned char
4764// S390X:#define __UINTMAX_MAX__ 18446744073709551615ULL
4765// S390X:#define __UINTMAX_TYPE__ long long unsigned int
4766// S390X:#define __UINTMAX_WIDTH__ 64
4767// S390X:#define __UINTPTR_MAX__ 18446744073709551615UL
4768// S390X:#define __UINTPTR_TYPE__ long unsigned int
4769// S390X:#define __UINTPTR_WIDTH__ 64
4770// S390X:#define __UINT_FAST16_MAX__ 65535U
4771// S390X:#define __UINT_FAST16_TYPE__ unsigned short
4772// S390X:#define __UINT_FAST32_MAX__ 4294967295U
4773// S390X:#define __UINT_FAST32_TYPE__ unsigned int
4774// S390X:#define __UINT_FAST64_MAX__ 18446744073709551615UL
4775// S390X:#define __UINT_FAST64_TYPE__ long unsigned int
4776// S390X:#define __UINT_FAST8_MAX__ 255U
4777// S390X:#define __UINT_FAST8_TYPE__ unsigned char
4778// S390X:#define __UINT_LEAST16_MAX__ 65535U
4779// S390X:#define __UINT_LEAST16_TYPE__ unsigned short
4780// S390X:#define __UINT_LEAST32_MAX__ 4294967295U
4781// S390X:#define __UINT_LEAST32_TYPE__ unsigned int
4782// S390X:#define __UINT_LEAST64_MAX__ 18446744073709551615UL
4783// S390X:#define __UINT_LEAST64_TYPE__ long unsigned int
4784// S390X:#define __UINT_LEAST8_MAX__ 255U
4785// S390X:#define __UINT_LEAST8_TYPE__ unsigned char
4786// S390X:#define __USER_LABEL_PREFIX__ _
4787// S390X:#define __WCHAR_MAX__ 2147483647
4788// S390X:#define __WCHAR_TYPE__ int
4789// S390X:#define __WCHAR_WIDTH__ 32
4790// S390X:#define __WINT_TYPE__ int
4791// S390X:#define __WINT_WIDTH__ 32
4792// S390X:#define __s390__ 1
4793// S390X:#define __s390x__ 1
4794//
4795// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
4796//
4797// SPARC-NOT:#define _LP64
4798// SPARC:#define __BIG_ENDIAN__ 1
4799// SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
4800// SPARC:#define __CHAR16_TYPE__ unsigned short
4801// SPARC:#define __CHAR32_TYPE__ unsigned int
4802// SPARC:#define __CHAR_BIT__ 8
4803// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
4804// SPARC:#define __DBL_DIG__ 15
4805// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
4806// SPARC:#define __DBL_HAS_DENORM__ 1
4807// SPARC:#define __DBL_HAS_INFINITY__ 1
4808// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
4809// SPARC:#define __DBL_MANT_DIG__ 53
4810// SPARC:#define __DBL_MAX_10_EXP__ 308
4811// SPARC:#define __DBL_MAX_EXP__ 1024
4812// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
4813// SPARC:#define __DBL_MIN_10_EXP__ (-307)
4814// SPARC:#define __DBL_MIN_EXP__ (-1021)
4815// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
4816// SPARC:#define __DECIMAL_DIG__ 17
4817// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
4818// SPARC:#define __FLT_DIG__ 6
4819// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
4820// SPARC:#define __FLT_EVAL_METHOD__ 0
4821// SPARC:#define __FLT_HAS_DENORM__ 1
4822// SPARC:#define __FLT_HAS_INFINITY__ 1
4823// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
4824// SPARC:#define __FLT_MANT_DIG__ 24
4825// SPARC:#define __FLT_MAX_10_EXP__ 38
4826// SPARC:#define __FLT_MAX_EXP__ 128
4827// SPARC:#define __FLT_MAX__ 3.40282347e+38F
4828// SPARC:#define __FLT_MIN_10_EXP__ (-37)
4829// SPARC:#define __FLT_MIN_EXP__ (-125)
4830// SPARC:#define __FLT_MIN__ 1.17549435e-38F
4831// SPARC:#define __FLT_RADIX__ 2
4832// SPARC:#define __INT16_MAX__ 32767
4833// SPARC:#define __INT16_TYPE__ short
4834// SPARC:#define __INT32_MAX__ 2147483647
4835// SPARC:#define __INT32_TYPE__ int
4836// SPARC:#define __INT64_C_SUFFIX__ LL
4837// SPARC:#define __INT64_MAX__ 9223372036854775807LL
4838// SPARC:#define __INT64_TYPE__ long long int
4839// SPARC:#define __INT8_MAX__ 127
4840// SPARC:#define __INT8_TYPE__ char
4841// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
4842// SPARC:#define __INTMAX_TYPE__ long long int
4843// SPARC:#define __INTMAX_WIDTH__ 64
4844// SPARC:#define __INTPTR_MAX__ 2147483647L
4845// SPARC:#define __INTPTR_TYPE__ long int
4846// SPARC:#define __INTPTR_WIDTH__ 32
4847// SPARC:#define __INT_FAST16_MAX__ 32767
4848// SPARC:#define __INT_FAST16_TYPE__ short
4849// SPARC:#define __INT_FAST32_MAX__ 2147483647
4850// SPARC:#define __INT_FAST32_TYPE__ int
4851// SPARC:#define __INT_FAST64_MAX__ 9223372036854775807LL
4852// SPARC:#define __INT_FAST64_TYPE__ long long int
4853// SPARC:#define __INT_FAST8_MAX__ 127
4854// SPARC:#define __INT_FAST8_TYPE__ char
4855// SPARC:#define __INT_LEAST16_MAX__ 32767
4856// SPARC:#define __INT_LEAST16_TYPE__ short
4857// SPARC:#define __INT_LEAST32_MAX__ 2147483647
4858// SPARC:#define __INT_LEAST32_TYPE__ int
4859// SPARC:#define __INT_LEAST64_MAX__ 9223372036854775807LL
4860// SPARC:#define __INT_LEAST64_TYPE__ long long int
4861// SPARC:#define __INT_LEAST8_MAX__ 127
4862// SPARC:#define __INT_LEAST8_TYPE__ char
4863// SPARC:#define __INT_MAX__ 2147483647
4864// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
4865// SPARC:#define __LDBL_DIG__ 15
4866// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
4867// SPARC:#define __LDBL_HAS_DENORM__ 1
4868// SPARC:#define __LDBL_HAS_INFINITY__ 1
4869// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
4870// SPARC:#define __LDBL_MANT_DIG__ 53
4871// SPARC:#define __LDBL_MAX_10_EXP__ 308
4872// SPARC:#define __LDBL_MAX_EXP__ 1024
4873// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308L
4874// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
4875// SPARC:#define __LDBL_MIN_EXP__ (-1021)
4876// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308L
4877// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
4878// SPARC:#define __LONG_MAX__ 2147483647L
4879// SPARC-NOT:#define __LP64__
4880// SPARC:#define __POINTER_WIDTH__ 32
4881// SPARC:#define __PTRDIFF_TYPE__ long int
4882// SPARC:#define __PTRDIFF_WIDTH__ 32
4883// SPARC:#define __REGISTER_PREFIX__
4884// SPARC:#define __SCHAR_MAX__ 127
4885// SPARC:#define __SHRT_MAX__ 32767
4886// SPARC:#define __SIG_ATOMIC_WIDTH__ 32
4887// SPARC:#define __SIZEOF_DOUBLE__ 8
4888// SPARC:#define __SIZEOF_FLOAT__ 4
4889// SPARC:#define __SIZEOF_INT__ 4
4890// SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
4891// SPARC:#define __SIZEOF_LONG_LONG__ 8
4892// SPARC:#define __SIZEOF_LONG__ 4
4893// SPARC:#define __SIZEOF_POINTER__ 4
4894// SPARC:#define __SIZEOF_PTRDIFF_T__ 4
4895// SPARC:#define __SIZEOF_SHORT__ 2
4896// SPARC:#define __SIZEOF_SIZE_T__ 4
4897// SPARC:#define __SIZEOF_WCHAR_T__ 4
4898// SPARC:#define __SIZEOF_WINT_T__ 4
4899// SPARC:#define __SIZE_MAX__ 4294967295U
4900// SPARC:#define __SIZE_TYPE__ long unsigned int
4901// SPARC:#define __SIZE_WIDTH__ 32
4902// SPARC:#define __UINT16_C_SUFFIX__ U
4903// SPARC:#define __UINT16_MAX__ 65535U
4904// SPARC:#define __UINT16_TYPE__ unsigned short
4905// SPARC:#define __UINT32_C_SUFFIX__ U
4906// SPARC:#define __UINT32_MAX__ 4294967295U
4907// SPARC:#define __UINT32_TYPE__ unsigned int
4908// SPARC:#define __UINT64_C_SUFFIX__ ULL
4909// SPARC:#define __UINT64_MAX__ 18446744073709551615ULL
4910// SPARC:#define __UINT64_TYPE__ long long unsigned int
4911// SPARC:#define __UINT8_C_SUFFIX__ U
4912// SPARC:#define __UINT8_MAX__ 255U
4913// SPARC:#define __UINT8_TYPE__ unsigned char
4914// SPARC:#define __UINTMAX_MAX__ 18446744073709551615ULL
4915// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
4916// SPARC:#define __UINTMAX_WIDTH__ 64
4917// SPARC:#define __UINTPTR_MAX__ 4294967295U
4918// SPARC:#define __UINTPTR_TYPE__ unsigned int
4919// SPARC:#define __UINTPTR_WIDTH__ 32
4920// SPARC:#define __UINT_FAST16_MAX__ 65535U
4921// SPARC:#define __UINT_FAST16_TYPE__ unsigned short
4922// SPARC:#define __UINT_FAST32_MAX__ 4294967295U
4923// SPARC:#define __UINT_FAST32_TYPE__ unsigned int
4924// SPARC:#define __UINT_FAST64_MAX__ 18446744073709551615ULL
4925// SPARC:#define __UINT_FAST64_TYPE__ long long unsigned int
4926// SPARC:#define __UINT_FAST8_MAX__ 255U
4927// SPARC:#define __UINT_FAST8_TYPE__ unsigned char
4928// SPARC:#define __UINT_LEAST16_MAX__ 65535U
4929// SPARC:#define __UINT_LEAST16_TYPE__ unsigned short
4930// SPARC:#define __UINT_LEAST32_MAX__ 4294967295U
4931// SPARC:#define __UINT_LEAST32_TYPE__ unsigned int
4932// SPARC:#define __UINT_LEAST64_MAX__ 18446744073709551615ULL
4933// SPARC:#define __UINT_LEAST64_TYPE__ long long unsigned int
4934// SPARC:#define __UINT_LEAST8_MAX__ 255U
4935// SPARC:#define __UINT_LEAST8_TYPE__ unsigned char
4936// SPARC:#define __USER_LABEL_PREFIX__ _
4937// SPARC:#define __VERSION__ "4.2.1 Compatible
4938// SPARC:#define __WCHAR_MAX__ 2147483647
4939// SPARC:#define __WCHAR_TYPE__ int
4940// SPARC:#define __WCHAR_WIDTH__ 32
4941// SPARC:#define __WINT_TYPE__ int
4942// SPARC:#define __WINT_WIDTH__ 32
4943// SPARC:#define __sparc 1
4944// SPARC:#define __sparc__ 1
4945// SPARC:#define __sparcv8 1
4946// SPARC:#define sparc 1
4947//
4948// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
4949//
4950// TCE-NOT:#define _LP64
4951// TCE:#define __BIG_ENDIAN__ 1
4952// TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
4953// TCE:#define __CHAR16_TYPE__ unsigned short
4954// TCE:#define __CHAR32_TYPE__ unsigned int
4955// TCE:#define __CHAR_BIT__ 8
4956// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45
4957// TCE:#define __DBL_DIG__ 6
4958// TCE:#define __DBL_EPSILON__ 1.19209290e-7
4959// TCE:#define __DBL_HAS_DENORM__ 1
4960// TCE:#define __DBL_HAS_INFINITY__ 1
4961// TCE:#define __DBL_HAS_QUIET_NAN__ 1
4962// TCE:#define __DBL_MANT_DIG__ 24
4963// TCE:#define __DBL_MAX_10_EXP__ 38
4964// TCE:#define __DBL_MAX_EXP__ 128
4965// TCE:#define __DBL_MAX__ 3.40282347e+38
4966// TCE:#define __DBL_MIN_10_EXP__ (-37)
4967// TCE:#define __DBL_MIN_EXP__ (-125)
4968// TCE:#define __DBL_MIN__ 1.17549435e-38
4969// TCE:#define __DECIMAL_DIG__ -1
4970// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
4971// TCE:#define __FLT_DIG__ 6
4972// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
4973// TCE:#define __FLT_EVAL_METHOD__ 0
4974// TCE:#define __FLT_HAS_DENORM__ 1
4975// TCE:#define __FLT_HAS_INFINITY__ 1
4976// TCE:#define __FLT_HAS_QUIET_NAN__ 1
4977// TCE:#define __FLT_MANT_DIG__ 24
4978// TCE:#define __FLT_MAX_10_EXP__ 38
4979// TCE:#define __FLT_MAX_EXP__ 128
4980// TCE:#define __FLT_MAX__ 3.40282347e+38F
4981// TCE:#define __FLT_MIN_10_EXP__ (-37)
4982// TCE:#define __FLT_MIN_EXP__ (-125)
4983// TCE:#define __FLT_MIN__ 1.17549435e-38F
4984// TCE:#define __FLT_RADIX__ 2
4985// TCE:#define __INT16_MAX__ 32767
4986// TCE:#define __INT16_TYPE__ short
4987// TCE:#define __INT32_MAX__ 2147483647
4988// TCE:#define __INT32_TYPE__ int
4989// TCE:#define __INT8_MAX__ 127
4990// TCE:#define __INT8_TYPE__ char
4991// TCE:#define __INTMAX_MAX__ 2147483647L
4992// TCE:#define __INTMAX_TYPE__ long int
4993// TCE:#define __INTMAX_WIDTH__ 32
4994// TCE:#define __INTPTR_MAX__ 2147483647
4995// TCE:#define __INTPTR_TYPE__ int
4996// TCE:#define __INTPTR_WIDTH__ 32
4997// TCE:#define __INT_FAST16_MAX__ 32767
4998// TCE:#define __INT_FAST16_TYPE__ short
4999// TCE:#define __INT_FAST32_MAX__ 2147483647
5000// TCE:#define __INT_FAST32_TYPE__ int
5001// TCE:#define __INT_FAST8_MAX__ 127
5002// TCE:#define __INT_FAST8_TYPE__ char
5003// TCE:#define __INT_LEAST16_MAX__ 32767
5004// TCE:#define __INT_LEAST16_TYPE__ short
5005// TCE:#define __INT_LEAST32_MAX__ 2147483647
5006// TCE:#define __INT_LEAST32_TYPE__ int
5007// TCE:#define __INT_LEAST8_MAX__ 127
5008// TCE:#define __INT_LEAST8_TYPE__ char
5009// TCE:#define __INT_MAX__ 2147483647
5010// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45L
5011// TCE:#define __LDBL_DIG__ 6
5012// TCE:#define __LDBL_EPSILON__ 1.19209290e-7L
5013// TCE:#define __LDBL_HAS_DENORM__ 1
5014// TCE:#define __LDBL_HAS_INFINITY__ 1
5015// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
5016// TCE:#define __LDBL_MANT_DIG__ 24
5017// TCE:#define __LDBL_MAX_10_EXP__ 38
5018// TCE:#define __LDBL_MAX_EXP__ 128
5019// TCE:#define __LDBL_MAX__ 3.40282347e+38L
5020// TCE:#define __LDBL_MIN_10_EXP__ (-37)
5021// TCE:#define __LDBL_MIN_EXP__ (-125)
5022// TCE:#define __LDBL_MIN__ 1.17549435e-38L
5023// TCE:#define __LONG_LONG_MAX__ 2147483647LL
5024// TCE:#define __LONG_MAX__ 2147483647L
5025// TCE-NOT:#define __LP64__
5026// TCE:#define __POINTER_WIDTH__ 32
5027// TCE:#define __PTRDIFF_TYPE__ int
5028// TCE:#define __PTRDIFF_WIDTH__ 32
5029// TCE:#define __SCHAR_MAX__ 127
5030// TCE:#define __SHRT_MAX__ 32767
5031// TCE:#define __SIG_ATOMIC_WIDTH__ 32
5032// TCE:#define __SIZEOF_DOUBLE__ 4
5033// TCE:#define __SIZEOF_FLOAT__ 4
5034// TCE:#define __SIZEOF_INT__ 4
5035// TCE:#define __SIZEOF_LONG_DOUBLE__ 4
5036// TCE:#define __SIZEOF_LONG_LONG__ 4
5037// TCE:#define __SIZEOF_LONG__ 4
5038// TCE:#define __SIZEOF_POINTER__ 4
5039// TCE:#define __SIZEOF_PTRDIFF_T__ 4
5040// TCE:#define __SIZEOF_SHORT__ 2
5041// TCE:#define __SIZEOF_SIZE_T__ 4
5042// TCE:#define __SIZEOF_WCHAR_T__ 4
5043// TCE:#define __SIZEOF_WINT_T__ 4
5044// TCE:#define __SIZE_MAX__ 4294967295U
5045// TCE:#define __SIZE_TYPE__ unsigned int
5046// TCE:#define __SIZE_WIDTH__ 32
5047// TCE:#define __TCE_V1__ 1
5048// TCE:#define __TCE__ 1
5049// TCE:#define __UINT16_C_SUFFIX__ U
5050// TCE:#define __UINT16_MAX__ 65535U
5051// TCE:#define __UINT16_TYPE__ unsigned short
5052// TCE:#define __UINT32_C_SUFFIX__ U
5053// TCE:#define __UINT32_MAX__ 4294967295U
5054// TCE:#define __UINT32_TYPE__ unsigned int
5055// TCE:#define __UINT8_C_SUFFIX__ U
5056// TCE:#define __UINT8_MAX__ 255U
5057// TCE:#define __UINT8_TYPE__ unsigned char
5058// TCE:#define __UINTMAX_MAX__ 4294967295UL
5059// TCE:#define __UINTMAX_TYPE__ long unsigned int
5060// TCE:#define __UINTMAX_WIDTH__ 32
5061// TCE:#define __UINTPTR_MAX__ 4294967295U
5062// TCE:#define __UINTPTR_TYPE__ unsigned int
5063// TCE:#define __UINTPTR_WIDTH__ 32
5064// TCE:#define __UINT_FAST16_MAX__ 65535U
5065// TCE:#define __UINT_FAST16_TYPE__ unsigned short
5066// TCE:#define __UINT_FAST32_MAX__ 4294967295U
5067// TCE:#define __UINT_FAST32_TYPE__ unsigned int
5068// TCE:#define __UINT_FAST8_MAX__ 255U
5069// TCE:#define __UINT_FAST8_TYPE__ unsigned char
5070// TCE:#define __UINT_LEAST16_MAX__ 65535U
5071// TCE:#define __UINT_LEAST16_TYPE__ unsigned short
5072// TCE:#define __UINT_LEAST32_MAX__ 4294967295U
5073// TCE:#define __UINT_LEAST32_TYPE__ unsigned int
5074// TCE:#define __UINT_LEAST8_MAX__ 255U
5075// TCE:#define __UINT_LEAST8_TYPE__ unsigned char
5076// TCE:#define __USER_LABEL_PREFIX__ _
5077// TCE:#define __WCHAR_MAX__ 2147483647
5078// TCE:#define __WCHAR_TYPE__ int
5079// TCE:#define __WCHAR_WIDTH__ 32
5080// TCE:#define __WINT_TYPE__ int
5081// TCE:#define __WINT_WIDTH__ 32
5082// TCE:#define __tce 1
5083// TCE:#define __tce__ 1
5084// TCE:#define tce 1
5085//
5086// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-none-none < /dev/null | FileCheck -check-prefix X86_64 %s
5087//
5088// X86_64:#define _LP64 1
5089// X86_64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
5090// X86_64:#define __CHAR16_TYPE__ unsigned short
5091// X86_64:#define __CHAR32_TYPE__ unsigned int
5092// X86_64:#define __CHAR_BIT__ 8
5093// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
5094// X86_64:#define __DBL_DIG__ 15
5095// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
5096// X86_64:#define __DBL_HAS_DENORM__ 1
5097// X86_64:#define __DBL_HAS_INFINITY__ 1
5098// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
5099// X86_64:#define __DBL_MANT_DIG__ 53
5100// X86_64:#define __DBL_MAX_10_EXP__ 308
5101// X86_64:#define __DBL_MAX_EXP__ 1024
5102// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
5103// X86_64:#define __DBL_MIN_10_EXP__ (-307)
5104// X86_64:#define __DBL_MIN_EXP__ (-1021)
5105// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
5106// X86_64:#define __DECIMAL_DIG__ 21
5107// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
5108// X86_64:#define __FLT_DIG__ 6
5109// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
5110// X86_64:#define __FLT_EVAL_METHOD__ 0
5111// X86_64:#define __FLT_HAS_DENORM__ 1
5112// X86_64:#define __FLT_HAS_INFINITY__ 1
5113// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
5114// X86_64:#define __FLT_MANT_DIG__ 24
5115// X86_64:#define __FLT_MAX_10_EXP__ 38
5116// X86_64:#define __FLT_MAX_EXP__ 128
5117// X86_64:#define __FLT_MAX__ 3.40282347e+38F
5118// X86_64:#define __FLT_MIN_10_EXP__ (-37)
5119// X86_64:#define __FLT_MIN_EXP__ (-125)
5120// X86_64:#define __FLT_MIN__ 1.17549435e-38F
5121// X86_64:#define __FLT_RADIX__ 2
5122// X86_64:#define __INT16_MAX__ 32767
5123// X86_64:#define __INT16_TYPE__ short
5124// X86_64:#define __INT32_MAX__ 2147483647
5125// X86_64:#define __INT32_TYPE__ int
5126// X86_64:#define __INT64_C_SUFFIX__ L
5127// X86_64:#define __INT64_MAX__ 9223372036854775807L
5128// X86_64:#define __INT64_TYPE__ long int
5129// X86_64:#define __INT8_MAX__ 127
5130// X86_64:#define __INT8_TYPE__ char
5131// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
5132// X86_64:#define __INTMAX_TYPE__ long int
5133// X86_64:#define __INTMAX_WIDTH__ 64
5134// X86_64:#define __INTPTR_MAX__ 9223372036854775807L
5135// X86_64:#define __INTPTR_TYPE__ long int
5136// X86_64:#define __INTPTR_WIDTH__ 64
5137// X86_64:#define __INT_FAST16_MAX__ 32767
5138// X86_64:#define __INT_FAST16_TYPE__ short
5139// X86_64:#define __INT_FAST32_MAX__ 2147483647
5140// X86_64:#define __INT_FAST32_TYPE__ int
5141// X86_64:#define __INT_FAST64_MAX__ 9223372036854775807L
5142// X86_64:#define __INT_FAST64_TYPE__ long int
5143// X86_64:#define __INT_FAST8_MAX__ 127
5144// X86_64:#define __INT_FAST8_TYPE__ char
5145// X86_64:#define __INT_LEAST16_MAX__ 32767
5146// X86_64:#define __INT_LEAST16_TYPE__ short
5147// X86_64:#define __INT_LEAST32_MAX__ 2147483647
5148// X86_64:#define __INT_LEAST32_TYPE__ int
5149// X86_64:#define __INT_LEAST64_MAX__ 9223372036854775807L
5150// X86_64:#define __INT_LEAST64_TYPE__ long int
5151// X86_64:#define __INT_LEAST8_MAX__ 127
5152// X86_64:#define __INT_LEAST8_TYPE__ char
5153// X86_64:#define __INT_MAX__ 2147483647
5154// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
5155// X86_64:#define __LDBL_DIG__ 18
5156// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
5157// X86_64:#define __LDBL_HAS_DENORM__ 1
5158// X86_64:#define __LDBL_HAS_INFINITY__ 1
5159// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
5160// X86_64:#define __LDBL_MANT_DIG__ 64
5161// X86_64:#define __LDBL_MAX_10_EXP__ 4932
5162// X86_64:#define __LDBL_MAX_EXP__ 16384
5163// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
5164// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
5165// X86_64:#define __LDBL_MIN_EXP__ (-16381)
5166// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
5167// X86_64:#define __LITTLE_ENDIAN__ 1
5168// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
5169// X86_64:#define __LONG_MAX__ 9223372036854775807L
5170// X86_64:#define __LP64__ 1
5171// X86_64:#define __MMX__ 1
5172// X86_64:#define __NO_MATH_INLINES 1
5173// X86_64:#define __POINTER_WIDTH__ 64
5174// X86_64:#define __PTRDIFF_TYPE__ long int
5175// X86_64:#define __PTRDIFF_WIDTH__ 64
5176// X86_64:#define __REGISTER_PREFIX__
5177// X86_64:#define __SCHAR_MAX__ 127
5178// X86_64:#define __SHRT_MAX__ 32767
5179// X86_64:#define __SIG_ATOMIC_WIDTH__ 32
5180// X86_64:#define __SIZEOF_DOUBLE__ 8
5181// X86_64:#define __SIZEOF_FLOAT__ 4
5182// X86_64:#define __SIZEOF_INT__ 4
5183// X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
5184// X86_64:#define __SIZEOF_LONG_LONG__ 8
5185// X86_64:#define __SIZEOF_LONG__ 8
5186// X86_64:#define __SIZEOF_POINTER__ 8
5187// X86_64:#define __SIZEOF_PTRDIFF_T__ 8
5188// X86_64:#define __SIZEOF_SHORT__ 2
5189// X86_64:#define __SIZEOF_SIZE_T__ 8
5190// X86_64:#define __SIZEOF_WCHAR_T__ 4
5191// X86_64:#define __SIZEOF_WINT_T__ 4
5192// X86_64:#define __SIZE_MAX__ 18446744073709551615UL
5193// X86_64:#define __SIZE_TYPE__ long unsigned int
5194// X86_64:#define __SIZE_WIDTH__ 64
5195// X86_64:#define __SSE2_MATH__ 1
5196// X86_64:#define __SSE2__ 1
5197// X86_64:#define __SSE_MATH__ 1
5198// X86_64:#define __SSE__ 1
5199// X86_64:#define __UINT16_C_SUFFIX__ U
5200// X86_64:#define __UINT16_MAX__ 65535U
5201// X86_64:#define __UINT16_TYPE__ unsigned short
5202// X86_64:#define __UINT32_C_SUFFIX__ U
5203// X86_64:#define __UINT32_MAX__ 4294967295U
5204// X86_64:#define __UINT32_TYPE__ unsigned int
5205// X86_64:#define __UINT64_C_SUFFIX__ UL
5206// X86_64:#define __UINT64_MAX__ 18446744073709551615UL
5207// X86_64:#define __UINT64_TYPE__ long unsigned int
5208// X86_64:#define __UINT8_C_SUFFIX__ U
5209// X86_64:#define __UINT8_MAX__ 255U
5210// X86_64:#define __UINT8_TYPE__ unsigned char
5211// X86_64:#define __UINTMAX_MAX__ 18446744073709551615UL
5212// X86_64:#define __UINTMAX_TYPE__ long unsigned int
5213// X86_64:#define __UINTMAX_WIDTH__ 64
5214// X86_64:#define __UINTPTR_MAX__ 18446744073709551615UL
5215// X86_64:#define __UINTPTR_TYPE__ long unsigned int
5216// X86_64:#define __UINTPTR_WIDTH__ 64
5217// X86_64:#define __UINT_FAST16_MAX__ 65535U
5218// X86_64:#define __UINT_FAST16_TYPE__ unsigned short
5219// X86_64:#define __UINT_FAST32_MAX__ 4294967295U
5220// X86_64:#define __UINT_FAST32_TYPE__ unsigned int
5221// X86_64:#define __UINT_FAST64_MAX__ 18446744073709551615UL
5222// X86_64:#define __UINT_FAST64_TYPE__ long unsigned int
5223// X86_64:#define __UINT_FAST8_MAX__ 255U
5224// X86_64:#define __UINT_FAST8_TYPE__ unsigned char
5225// X86_64:#define __UINT_LEAST16_MAX__ 65535U
5226// X86_64:#define __UINT_LEAST16_TYPE__ unsigned short
5227// X86_64:#define __UINT_LEAST32_MAX__ 4294967295U
5228// X86_64:#define __UINT_LEAST32_TYPE__ unsigned int
5229// X86_64:#define __UINT_LEAST64_MAX__ 18446744073709551615UL
5230// X86_64:#define __UINT_LEAST64_TYPE__ long unsigned int
5231// X86_64:#define __UINT_LEAST8_MAX__ 255U
5232// X86_64:#define __UINT_LEAST8_TYPE__ unsigned char
5233// X86_64:#define __USER_LABEL_PREFIX__ _
5234// X86_64:#define __WCHAR_MAX__ 2147483647
5235// X86_64:#define __WCHAR_TYPE__ int
5236// X86_64:#define __WCHAR_WIDTH__ 32
5237// X86_64:#define __WINT_TYPE__ int
5238// X86_64:#define __WINT_WIDTH__ 32
5239// X86_64:#define __amd64 1
5240// X86_64:#define __amd64__ 1
5241// X86_64:#define __x86_64 1
5242// X86_64:#define __x86_64__ 1
5243//
5244// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
5245//
5246// X86_64-LINUX:#define _LP64 1
5247// X86_64-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
5248// X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
5249// X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
5250// X86_64-LINUX:#define __CHAR_BIT__ 8
5251// X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
5252// X86_64-LINUX:#define __DBL_DIG__ 15
5253// X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
5254// X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
5255// X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
5256// X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
5257// X86_64-LINUX:#define __DBL_MANT_DIG__ 53
5258// X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
5259// X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
5260// X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
5261// X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
5262// X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
5263// X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
5264// X86_64-LINUX:#define __DECIMAL_DIG__ 21
5265// X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
5266// X86_64-LINUX:#define __FLT_DIG__ 6
5267// X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
5268// X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
5269// X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
5270// X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
5271// X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
5272// X86_64-LINUX:#define __FLT_MANT_DIG__ 24
5273// X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
5274// X86_64-LINUX:#define __FLT_MAX_EXP__ 128
5275// X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
5276// X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
5277// X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
5278// X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
5279// X86_64-LINUX:#define __FLT_RADIX__ 2
5280// X86_64-LINUX:#define __INT16_MAX__ 32767
5281// X86_64-LINUX:#define __INT16_TYPE__ short
5282// X86_64-LINUX:#define __INT32_MAX__ 2147483647
5283// X86_64-LINUX:#define __INT32_TYPE__ int
5284// X86_64-LINUX:#define __INT64_C_SUFFIX__ L
5285// X86_64-LINUX:#define __INT64_MAX__ 9223372036854775807L
5286// X86_64-LINUX:#define __INT64_TYPE__ long int
5287// X86_64-LINUX:#define __INT8_MAX__ 127
5288// X86_64-LINUX:#define __INT8_TYPE__ char
5289// X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
5290// X86_64-LINUX:#define __INTMAX_TYPE__ long int
5291// X86_64-LINUX:#define __INTMAX_WIDTH__ 64
5292// X86_64-LINUX:#define __INTPTR_MAX__ 9223372036854775807L
5293// X86_64-LINUX:#define __INTPTR_TYPE__ long int
5294// X86_64-LINUX:#define __INTPTR_WIDTH__ 64
5295// X86_64-LINUX:#define __INT_FAST16_MAX__ 32767
5296// X86_64-LINUX:#define __INT_FAST16_TYPE__ short
5297// X86_64-LINUX:#define __INT_FAST32_MAX__ 2147483647
5298// X86_64-LINUX:#define __INT_FAST32_TYPE__ int
5299// X86_64-LINUX:#define __INT_FAST64_MAX__ 9223372036854775807L
5300// X86_64-LINUX:#define __INT_FAST64_TYPE__ long int
5301// X86_64-LINUX:#define __INT_FAST8_MAX__ 127
5302// X86_64-LINUX:#define __INT_FAST8_TYPE__ char
5303// X86_64-LINUX:#define __INT_LEAST16_MAX__ 32767
5304// X86_64-LINUX:#define __INT_LEAST16_TYPE__ short
5305// X86_64-LINUX:#define __INT_LEAST32_MAX__ 2147483647
5306// X86_64-LINUX:#define __INT_LEAST32_TYPE__ int
5307// X86_64-LINUX:#define __INT_LEAST64_MAX__ 9223372036854775807L
5308// X86_64-LINUX:#define __INT_LEAST64_TYPE__ long int
5309// X86_64-LINUX:#define __INT_LEAST8_MAX__ 127
5310// X86_64-LINUX:#define __INT_LEAST8_TYPE__ char
5311// X86_64-LINUX:#define __INT_MAX__ 2147483647
5312// X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
5313// X86_64-LINUX:#define __LDBL_DIG__ 18
5314// X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
5315// X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
5316// X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
5317// X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
5318// X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
5319// X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
5320// X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
5321// X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
5322// X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
5323// X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
5324// X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
5325// X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
5326// X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
5327// X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
5328// X86_64-LINUX:#define __LP64__ 1
5329// X86_64-LINUX:#define __MMX__ 1
5330// X86_64-LINUX:#define __NO_MATH_INLINES 1
5331// X86_64-LINUX:#define __POINTER_WIDTH__ 64
5332// X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
5333// X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
5334// X86_64-LINUX:#define __REGISTER_PREFIX__
5335// X86_64-LINUX:#define __SCHAR_MAX__ 127
5336// X86_64-LINUX:#define __SHRT_MAX__ 32767
5337// X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
5338// X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
5339// X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
5340// X86_64-LINUX:#define __SIZEOF_INT__ 4
5341// X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
5342// X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
5343// X86_64-LINUX:#define __SIZEOF_LONG__ 8
5344// X86_64-LINUX:#define __SIZEOF_POINTER__ 8
5345// X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
5346// X86_64-LINUX:#define __SIZEOF_SHORT__ 2
5347// X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
5348// X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
5349// X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
5350// X86_64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
5351// X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
5352// X86_64-LINUX:#define __SIZE_WIDTH__ 64
5353// X86_64-LINUX:#define __SSE2_MATH__ 1
5354// X86_64-LINUX:#define __SSE2__ 1
5355// X86_64-LINUX:#define __SSE_MATH__ 1
5356// X86_64-LINUX:#define __SSE__ 1
5357// X86_64-LINUX:#define __UINT16_C_SUFFIX__ U
5358// X86_64-LINUX:#define __UINT16_MAX__ 65535U
5359// X86_64-LINUX:#define __UINT16_TYPE__ unsigned short
5360// X86_64-LINUX:#define __UINT32_C_SUFFIX__ U
5361// X86_64-LINUX:#define __UINT32_MAX__ 4294967295U
5362// X86_64-LINUX:#define __UINT32_TYPE__ unsigned int
5363// X86_64-LINUX:#define __UINT64_C_SUFFIX__ UL
5364// X86_64-LINUX:#define __UINT64_MAX__ 18446744073709551615UL
5365// X86_64-LINUX:#define __UINT64_TYPE__ long unsigned int
5366// X86_64-LINUX:#define __UINT8_C_SUFFIX__ U
5367// X86_64-LINUX:#define __UINT8_MAX__ 255U
5368// X86_64-LINUX:#define __UINT8_TYPE__ unsigned char
5369// X86_64-LINUX:#define __UINTMAX_MAX__ 18446744073709551615UL
5370// X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
5371// X86_64-LINUX:#define __UINTMAX_WIDTH__ 64
5372// X86_64-LINUX:#define __UINTPTR_MAX__ 18446744073709551615UL
5373// X86_64-LINUX:#define __UINTPTR_TYPE__ long unsigned int
5374// X86_64-LINUX:#define __UINTPTR_WIDTH__ 64
5375// X86_64-LINUX:#define __UINT_FAST16_MAX__ 65535U
5376// X86_64-LINUX:#define __UINT_FAST16_TYPE__ unsigned short
5377// X86_64-LINUX:#define __UINT_FAST32_MAX__ 4294967295U
5378// X86_64-LINUX:#define __UINT_FAST32_TYPE__ unsigned int
5379// X86_64-LINUX:#define __UINT_FAST64_MAX__ 18446744073709551615UL
5380// X86_64-LINUX:#define __UINT_FAST64_TYPE__ long unsigned int
5381// X86_64-LINUX:#define __UINT_FAST8_MAX__ 255U
5382// X86_64-LINUX:#define __UINT_FAST8_TYPE__ unsigned char
5383// X86_64-LINUX:#define __UINT_LEAST16_MAX__ 65535U
5384// X86_64-LINUX:#define __UINT_LEAST16_TYPE__ unsigned short
5385// X86_64-LINUX:#define __UINT_LEAST32_MAX__ 4294967295U
5386// X86_64-LINUX:#define __UINT_LEAST32_TYPE__ unsigned int
5387// X86_64-LINUX:#define __UINT_LEAST64_MAX__ 18446744073709551615UL
5388// X86_64-LINUX:#define __UINT_LEAST64_TYPE__ long unsigned int
5389// X86_64-LINUX:#define __UINT_LEAST8_MAX__ 255U
5390// X86_64-LINUX:#define __UINT_LEAST8_TYPE__ unsigned char
5391// X86_64-LINUX:#define __USER_LABEL_PREFIX__
5392// X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
5393// X86_64-LINUX:#define __WCHAR_TYPE__ int
5394// X86_64-LINUX:#define __WCHAR_WIDTH__ 32
5395// X86_64-LINUX:#define __WINT_TYPE__ unsigned int
5396// X86_64-LINUX:#define __WINT_WIDTH__ 32
5397// X86_64-LINUX:#define __amd64 1
5398// X86_64-LINUX:#define __amd64__ 1
5399// X86_64-LINUX:#define __x86_64 1
5400// X86_64-LINUX:#define __x86_64__ 1
5401//
5402// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-unknown-freebsd9.1 < /dev/null | FileCheck -check-prefix X86_64-FREEBSD %s
5403//
5404// X86_64-FREEBSD:#define __FreeBSD__ 9
5405// X86_64-FREEBSD:#define __FreeBSD_cc_version 900001
5406// X86_64-FREEBSD:#define __STDC_MB_MIGHT_NEQ_WC__ 1
5407//
5408// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-netbsd < /dev/null | FileCheck -check-prefix X86_64-NETBSD %s
5409//
5410// X86_64-NETBSD:#define _LP64 1
5411// X86_64-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
5412// X86_64-NETBSD:#define __CHAR16_TYPE__ unsigned short
5413// X86_64-NETBSD:#define __CHAR32_TYPE__ unsigned int
5414// X86_64-NETBSD:#define __CHAR_BIT__ 8
5415// X86_64-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
5416// X86_64-NETBSD:#define __DBL_DIG__ 15
5417// X86_64-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
5418// X86_64-NETBSD:#define __DBL_HAS_DENORM__ 1
5419// X86_64-NETBSD:#define __DBL_HAS_INFINITY__ 1
5420// X86_64-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
5421// X86_64-NETBSD:#define __DBL_MANT_DIG__ 53
5422// X86_64-NETBSD:#define __DBL_MAX_10_EXP__ 308
5423// X86_64-NETBSD:#define __DBL_MAX_EXP__ 1024
5424// X86_64-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
5425// X86_64-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
5426// X86_64-NETBSD:#define __DBL_MIN_EXP__ (-1021)
5427// X86_64-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
5428// X86_64-NETBSD:#define __DECIMAL_DIG__ 21
5429// X86_64-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
5430// X86_64-NETBSD:#define __FLT_DIG__ 6
5431// X86_64-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
5432// X86_64-NETBSD:#define __FLT_EVAL_METHOD__ 0
5433// X86_64-NETBSD:#define __FLT_HAS_DENORM__ 1
5434// X86_64-NETBSD:#define __FLT_HAS_INFINITY__ 1
5435// X86_64-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
5436// X86_64-NETBSD:#define __FLT_MANT_DIG__ 24
5437// X86_64-NETBSD:#define __FLT_MAX_10_EXP__ 38
5438// X86_64-NETBSD:#define __FLT_MAX_EXP__ 128
5439// X86_64-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
5440// X86_64-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
5441// X86_64-NETBSD:#define __FLT_MIN_EXP__ (-125)
5442// X86_64-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
5443// X86_64-NETBSD:#define __FLT_RADIX__ 2
5444// X86_64-NETBSD:#define __INT16_MAX__ 32767
5445// X86_64-NETBSD:#define __INT16_TYPE__ short
5446// X86_64-NETBSD:#define __INT32_MAX__ 2147483647
5447// X86_64-NETBSD:#define __INT32_TYPE__ int
5448// X86_64-NETBSD:#define __INT64_C_SUFFIX__ L
5449// X86_64-NETBSD:#define __INT64_MAX__ 9223372036854775807L
5450// X86_64-NETBSD:#define __INT64_TYPE__ long int
5451// X86_64-NETBSD:#define __INT8_MAX__ 127
5452// X86_64-NETBSD:#define __INT8_TYPE__ char
5453// X86_64-NETBSD:#define __INTMAX_MAX__ 9223372036854775807L
5454// X86_64-NETBSD:#define __INTMAX_TYPE__ long int
5455// X86_64-NETBSD:#define __INTMAX_WIDTH__ 64
5456// X86_64-NETBSD:#define __INTPTR_MAX__ 9223372036854775807L
5457// X86_64-NETBSD:#define __INTPTR_TYPE__ long int
5458// X86_64-NETBSD:#define __INTPTR_WIDTH__ 64
5459// X86_64-NETBSD:#define __INT_FAST16_MAX__ 32767
5460// X86_64-NETBSD:#define __INT_FAST16_TYPE__ short
5461// X86_64-NETBSD:#define __INT_FAST32_MAX__ 2147483647
5462// X86_64-NETBSD:#define __INT_FAST32_TYPE__ int
5463// X86_64-NETBSD:#define __INT_FAST64_MAX__ 9223372036854775807L
5464// X86_64-NETBSD:#define __INT_FAST64_TYPE__ long int
5465// X86_64-NETBSD:#define __INT_FAST8_MAX__ 127
5466// X86_64-NETBSD:#define __INT_FAST8_TYPE__ char
5467// X86_64-NETBSD:#define __INT_LEAST16_MAX__ 32767
5468// X86_64-NETBSD:#define __INT_LEAST16_TYPE__ short
5469// X86_64-NETBSD:#define __INT_LEAST32_MAX__ 2147483647
5470// X86_64-NETBSD:#define __INT_LEAST32_TYPE__ int
5471// X86_64-NETBSD:#define __INT_LEAST64_MAX__ 9223372036854775807L
5472// X86_64-NETBSD:#define __INT_LEAST64_TYPE__ long int
5473// X86_64-NETBSD:#define __INT_LEAST8_MAX__ 127
5474// X86_64-NETBSD:#define __INT_LEAST8_TYPE__ char
5475// X86_64-NETBSD:#define __INT_MAX__ 2147483647
5476// X86_64-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
5477// X86_64-NETBSD:#define __LDBL_DIG__ 18
5478// X86_64-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
5479// X86_64-NETBSD:#define __LDBL_HAS_DENORM__ 1
5480// X86_64-NETBSD:#define __LDBL_HAS_INFINITY__ 1
5481// X86_64-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
5482// X86_64-NETBSD:#define __LDBL_MANT_DIG__ 64
5483// X86_64-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
5484// X86_64-NETBSD:#define __LDBL_MAX_EXP__ 16384
5485// X86_64-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
5486// X86_64-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
5487// X86_64-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
5488// X86_64-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
5489// X86_64-NETBSD:#define __LITTLE_ENDIAN__ 1
5490// X86_64-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
5491// X86_64-NETBSD:#define __LONG_MAX__ 9223372036854775807L
5492// X86_64-NETBSD:#define __LP64__ 1
5493// X86_64-NETBSD:#define __MMX__ 1
5494// X86_64-NETBSD:#define __NO_MATH_INLINES 1
5495// X86_64-NETBSD:#define __POINTER_WIDTH__ 64
5496// X86_64-NETBSD:#define __PTRDIFF_TYPE__ long int
5497// X86_64-NETBSD:#define __PTRDIFF_WIDTH__ 64
5498// X86_64-NETBSD:#define __REGISTER_PREFIX__
5499// X86_64-NETBSD:#define __SCHAR_MAX__ 127
5500// X86_64-NETBSD:#define __SHRT_MAX__ 32767
5501// X86_64-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
5502// X86_64-NETBSD:#define __SIZEOF_DOUBLE__ 8
5503// X86_64-NETBSD:#define __SIZEOF_FLOAT__ 4
5504// X86_64-NETBSD:#define __SIZEOF_INT__ 4
5505// X86_64-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 16
5506// X86_64-NETBSD:#define __SIZEOF_LONG_LONG__ 8
5507// X86_64-NETBSD:#define __SIZEOF_LONG__ 8
5508// X86_64-NETBSD:#define __SIZEOF_POINTER__ 8
5509// X86_64-NETBSD:#define __SIZEOF_PTRDIFF_T__ 8
5510// X86_64-NETBSD:#define __SIZEOF_SHORT__ 2
5511// X86_64-NETBSD:#define __SIZEOF_SIZE_T__ 8
5512// X86_64-NETBSD:#define __SIZEOF_WCHAR_T__ 4
5513// X86_64-NETBSD:#define __SIZEOF_WINT_T__ 4
5514// X86_64-NETBSD:#define __SIZE_MAX__ 18446744073709551615UL
5515// X86_64-NETBSD:#define __SIZE_TYPE__ long unsigned int
5516// X86_64-NETBSD:#define __SIZE_WIDTH__ 64
5517// X86_64-NETBSD:#define __SSE2_MATH__ 1
5518// X86_64-NETBSD:#define __SSE2__ 1
5519// X86_64-NETBSD:#define __SSE_MATH__ 1
5520// X86_64-NETBSD:#define __SSE__ 1
5521// X86_64-NETBSD:#define __UINT16_C_SUFFIX__ U
5522// X86_64-NETBSD:#define __UINT16_MAX__ 65535U
5523// X86_64-NETBSD:#define __UINT16_TYPE__ unsigned short
5524// X86_64-NETBSD:#define __UINT32_C_SUFFIX__ U
5525// X86_64-NETBSD:#define __UINT32_MAX__ 4294967295U
5526// X86_64-NETBSD:#define __UINT32_TYPE__ unsigned int
5527// X86_64-NETBSD:#define __UINT64_C_SUFFIX__ UL
5528// X86_64-NETBSD:#define __UINT64_MAX__ 18446744073709551615UL
5529// X86_64-NETBSD:#define __UINT64_TYPE__ long unsigned int
5530// X86_64-NETBSD:#define __UINT8_C_SUFFIX__ U
5531// X86_64-NETBSD:#define __UINT8_MAX__ 255U
5532// X86_64-NETBSD:#define __UINT8_TYPE__ unsigned char
5533// X86_64-NETBSD:#define __UINTMAX_MAX__ 18446744073709551615UL
5534// X86_64-NETBSD:#define __UINTMAX_TYPE__ long unsigned int
5535// X86_64-NETBSD:#define __UINTMAX_WIDTH__ 64
5536// X86_64-NETBSD:#define __UINTPTR_MAX__ 18446744073709551615UL
5537// X86_64-NETBSD:#define __UINTPTR_TYPE__ long unsigned int
5538// X86_64-NETBSD:#define __UINTPTR_WIDTH__ 64
5539// X86_64-NETBSD:#define __UINT_FAST16_MAX__ 65535U
5540// X86_64-NETBSD:#define __UINT_FAST16_TYPE__ unsigned short
5541// X86_64-NETBSD:#define __UINT_FAST32_MAX__ 4294967295U
5542// X86_64-NETBSD:#define __UINT_FAST32_TYPE__ unsigned int
5543// X86_64-NETBSD:#define __UINT_FAST64_MAX__ 18446744073709551615UL
5544// X86_64-NETBSD:#define __UINT_FAST64_TYPE__ long unsigned int
5545// X86_64-NETBSD:#define __UINT_FAST8_MAX__ 255U
5546// X86_64-NETBSD:#define __UINT_FAST8_TYPE__ unsigned char
5547// X86_64-NETBSD:#define __UINT_LEAST16_MAX__ 65535U
5548// X86_64-NETBSD:#define __UINT_LEAST16_TYPE__ unsigned short
5549// X86_64-NETBSD:#define __UINT_LEAST32_MAX__ 4294967295U
5550// X86_64-NETBSD:#define __UINT_LEAST32_TYPE__ unsigned int
5551// X86_64-NETBSD:#define __UINT_LEAST64_MAX__ 18446744073709551615UL
5552// X86_64-NETBSD:#define __UINT_LEAST64_TYPE__ long unsigned int
5553// X86_64-NETBSD:#define __UINT_LEAST8_MAX__ 255U
5554// X86_64-NETBSD:#define __UINT_LEAST8_TYPE__ unsigned char
5555// X86_64-NETBSD:#define __USER_LABEL_PREFIX__
5556// X86_64-NETBSD:#define __WCHAR_MAX__ 2147483647
5557// X86_64-NETBSD:#define __WCHAR_TYPE__ int
5558// X86_64-NETBSD:#define __WCHAR_WIDTH__ 32
5559// X86_64-NETBSD:#define __WINT_TYPE__ int
5560// X86_64-NETBSD:#define __WINT_WIDTH__ 32
5561// X86_64-NETBSD:#define __amd64 1
5562// X86_64-NETBSD:#define __amd64__ 1
5563// X86_64-NETBSD:#define __x86_64 1
5564// X86_64-NETBSD:#define __x86_64__ 1
5565//
5566// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-none < /dev/null | FileCheck -check-prefix SPARCV9 %s
5567// SPARCV9:#define __INT64_TYPE__ long int
5568// SPARCV9:#define __INTMAX_TYPE__ long int
5569// SPARCV9:#define __INTPTR_TYPE__ long int
5570// SPARCV9:#define __LONG_MAX__ 9223372036854775807L
5571// SPARCV9:#define __LP64__ 1
5572// SPARCV9:#define __SIZEOF_LONG__ 8
5573// SPARCV9:#define __SIZEOF_POINTER__ 8
5574//
5575// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-openbsd < /dev/null | FileCheck -check-prefix SPARC64-OBSD %s
5576// SPARC64-OBSD:#define __INT64_TYPE__ long long int
5577// SPARC64-OBSD:#define __INTMAX_TYPE__ long long int
5578// SPARC64-OBSD:#define __UINTMAX_TYPE__ long long unsigned int
5579//
5580// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSD-DEFINE %s
5581// KFREEBSD-DEFINE:#define __FreeBSD_kernel__ 1
5582// KFREEBSD-DEFINE:#define __GLIBC__ 1
5583//
5584// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i686-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSDI686-DEFINE %s
5585// KFREEBSDI686-DEFINE:#define __FreeBSD_kernel__ 1
5586// KFREEBSDI686-DEFINE:#define __GLIBC__ 1
5587//
5588// RUN: %clang_cc1 -x c++ -triple i686-pc-linux-gnu -fobjc-runtime=gcc -E -dM < /dev/null | FileCheck -check-prefix GNUSOURCE %s
5589// GNUSOURCE:#define _GNU_SOURCE 1
5590//
5591// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
5592// NORTTI: __GXX_ABI_VERSION
5593// NORTTI-NOT:#define __GXX_RTTI
5594// NORTTI: __STDC__
5595//
5596// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
5597// ANDROID: __ANDROID__ 1
5598//
5599// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd < /dev/null | FileCheck -check-prefix PPC64-FREEBSD %s
5600// PPC64-FREEBSD-NOT: #define __LONG_DOUBLE_128__ 1
5601//
5602// RUN: %clang_cc1 -E -dM -ffreestanding -triple=xcore-none-none < /dev/null | FileCheck -check-prefix XCORE %s
5603// XCORE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
5604// XCORE:#define __LITTLE_ENDIAN__ 1
5605// XCORE:#define __XS1B__ 1
5606