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++11 -E -dM < /dev/null | FileCheck -check-prefix CXX0X %s
13//
14// CXX0X:#define __GNUG__
15// CXX0X:#define __GXX_EXPERIMENTAL_CXX0X__ 1
16// CXX0X:#define __GXX_RTTI 1
17// CXX0X:#define __GXX_WEAK__ 1
18// CXX0X:#define __cplusplus 201103L
19// CXX0X:#define __private_extern__ extern
20//
21//
22// RUN: %clang_cc1 -x c++ -std=c++98 -E -dM < /dev/null | FileCheck -check-prefix CXX98 %s
23//
24// CXX98:#define __GNUG__
25// CXX98:#define __GXX_RTTI 1
26// CXX98:#define __GXX_WEAK__ 1
27// CXX98:#define __cplusplus 199711L
28// CXX98:#define __private_extern__ extern
29//
30//
31// RUN: %clang_cc1 -fdeprecated-macro -E -dM < /dev/null | FileCheck -check-prefix DEPRECATED %s
32//
33// DEPRECATED:#define __DEPRECATED 1
34//
35//
36// RUN: %clang_cc1 -std=c99 -E -dM < /dev/null | FileCheck -check-prefix C99 %s
37//
38// C99:#define __STDC_VERSION__ 199901L
39// C99:#define __STRICT_ANSI__ 1
40//
41//
42// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix COMMON %s
43//
44// COMMON:#define __CONSTANT_CFSTRINGS__ 1
45// COMMON:#define __FINITE_MATH_ONLY__ 0
46// COMMON:#define __GNUC_MINOR__
47// COMMON:#define __GNUC_PATCHLEVEL__
48// COMMON:#define __GNUC_STDC_INLINE__ 1
49// COMMON:#define __GNUC__
50// COMMON:#define __GXX_ABI_VERSION
51// COMMON:#define __ORDER_BIG_ENDIAN__ 4321
52// COMMON:#define __ORDER_LITTLE_ENDIAN__ 1234
53// COMMON:#define __ORDER_PDP_ENDIAN__ 3412
54// COMMON:#define __STDC_HOSTED__ 1
55// COMMON:#define __STDC_VERSION__
56// COMMON:#define __STDC__ 1
57// COMMON:#define __VERSION__
58// COMMON:#define __clang__ 1
59// COMMON:#define __clang_major__ {{[0-9]+}}
60// COMMON:#define __clang_minor__ {{[0-9]+}}
61// COMMON:#define __clang_patchlevel__ {{[0-9]+}}
62// COMMON:#define __clang_version__
63// COMMON:#define __llvm__ 1
64//
65//
66// RUN: %clang_cc1 -ffreestanding -E -dM < /dev/null | FileCheck -check-prefix FREESTANDING %s
67// FREESTANDING:#define __STDC_HOSTED__ 0
68//
69//
70// RUN: %clang_cc1 -x c++ -std=gnu++11 -E -dM < /dev/null | FileCheck -check-prefix GXX11 %s
71//
72// GXX11:#define __GNUG__
73// GXX11:#define __GXX_WEAK__ 1
74// GXX11:#define __cplusplus 201103L
75// GXX11:#define __private_extern__ extern
76//
77//
78// RUN: %clang_cc1 -x c++ -std=gnu++98 -E -dM < /dev/null | FileCheck -check-prefix GXX98 %s
79//
80// GXX98:#define __GNUG__
81// GXX98:#define __GXX_WEAK__ 1
82// GXX98:#define __cplusplus 199711L
83// GXX98:#define __private_extern__ extern
84//
85//
86// RUN: %clang_cc1 -std=iso9899:199409 -E -dM < /dev/null | FileCheck -check-prefix C94 %s
87//
88// C94:#define __STDC_VERSION__ 199409L
89//
90//
91// RUN: %clang_cc1 -fms-extensions -triple i686-pc-win32 -fobjc-runtime=gcc -E -dM < /dev/null | FileCheck -check-prefix MSEXT %s
92//
93// MSEXT-NOT:#define __STDC__
94// MSEXT:#define _INTEGRAL_MAX_BITS 64
95//
96//
97// RUN: %clang_cc1 -x objective-c -E -dM < /dev/null | FileCheck -check-prefix OBJC %s
98//
99// OBJC:#define OBJC_NEW_PROPERTIES 1
100// OBJC:#define __NEXT_RUNTIME__ 1
101// OBJC:#define __OBJC__ 1
102//
103//
104// RUN: %clang_cc1 -x objective-c -fobjc-gc -E -dM < /dev/null | FileCheck -check-prefix OBJCGC %s
105//
106// OBJCGC:#define __OBJC_GC__ 1
107//
108//
109// RUN: %clang_cc1 -x objective-c -fobjc-exceptions -E -dM < /dev/null | FileCheck -check-prefix NONFRAGILE %s
110//
111// NONFRAGILE:#define OBJC_ZEROCOST_EXCEPTIONS 1
112// NONFRAGILE:#define __OBJC2__ 1
113//
114//
115// RUN: %clang_cc1 -O0 -E -dM < /dev/null | FileCheck -check-prefix O0 %s
116//
117// O0:#define __NO_INLINE__ 1
118// O0-NOT:#define __OPTIMIZE_SIZE__
119// O0-NOT:#define __OPTIMIZE__
120//
121//
122// RUN: %clang_cc1 -fno-inline -O3 -E -dM < /dev/null | FileCheck -check-prefix NO_INLINE %s
123//
124// NO_INLINE:#define __NO_INLINE__ 1
125// NO_INLINE-NOT:#define __OPTIMIZE_SIZE__
126// NO_INLINE:#define __OPTIMIZE__
127//
128//
129// RUN: %clang_cc1 -O1 -E -dM < /dev/null | FileCheck -check-prefix O1 %s
130//
131// O1-NOT:#define __OPTIMIZE_SIZE__
132// O1:#define __OPTIMIZE__ 1
133//
134//
135// RUN: %clang_cc1 -Os -E -dM < /dev/null | FileCheck -check-prefix Os %s
136//
137// Os:#define __OPTIMIZE_SIZE__ 1
138// Os:#define __OPTIMIZE__ 1
139//
140//
141// RUN: %clang_cc1 -Oz -E -dM < /dev/null | FileCheck -check-prefix Oz %s
142//
143// Oz:#define __OPTIMIZE_SIZE__ 1
144// Oz:#define __OPTIMIZE__ 1
145//
146//
147// RUN: %clang_cc1 -fpascal-strings -E -dM < /dev/null | FileCheck -check-prefix PASCAL %s
148//
149// PASCAL:#define __PASCAL_STRINGS__ 1
150//
151//
152// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix SCHAR %s
153//
154// SCHAR:#define __STDC__ 1
155// SCHAR-NOT:#define __UNSIGNED_CHAR__
156// SCHAR:#define __clang__ 1
157//
158// RUN: %clang_cc1 -E -dM -fshort-wchar < /dev/null | FileCheck -check-prefix SHORTWCHAR %s
159//
160// SHORTWCHAR: #define __SIZEOF_WCHAR_T__ 2
161// SHORTWCHAR: #define __WCHAR_MAX__ 65535U
162// SHORTWCHAR: #define __WCHAR_TYPE__ unsigned short
163// SHORTWCHAR: #define __WCHAR_WIDTH__ 16
164//
165// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s
166//
167// ARM-NOT:#define _LP64
168// ARM:#define __APCS_32__ 1
169// ARM:#define __ARMEL__ 1
170// ARM:#define __ARM_ARCH_6J__ 1
171// ARM:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
172// ARM:#define __CHAR16_TYPE__ unsigned short
173// ARM:#define __CHAR32_TYPE__ unsigned int
174// ARM:#define __CHAR_BIT__ 8
175// ARM:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
176// ARM:#define __DBL_DIG__ 15
177// ARM:#define __DBL_EPSILON__ 2.2204460492503131e-16
178// ARM:#define __DBL_HAS_DENORM__ 1
179// ARM:#define __DBL_HAS_INFINITY__ 1
180// ARM:#define __DBL_HAS_QUIET_NAN__ 1
181// ARM:#define __DBL_MANT_DIG__ 53
182// ARM:#define __DBL_MAX_10_EXP__ 308
183// ARM:#define __DBL_MAX_EXP__ 1024
184// ARM:#define __DBL_MAX__ 1.7976931348623157e+308
185// ARM:#define __DBL_MIN_10_EXP__ (-307)
186// ARM:#define __DBL_MIN_EXP__ (-1021)
187// ARM:#define __DBL_MIN__ 2.2250738585072014e-308
188// ARM:#define __DECIMAL_DIG__ 17
189// ARM:#define __FLT_DENORM_MIN__ 1.40129846e-45F
190// ARM:#define __FLT_DIG__ 6
191// ARM:#define __FLT_EPSILON__ 1.19209290e-7F
192// ARM:#define __FLT_EVAL_METHOD__ 0
193// ARM:#define __FLT_HAS_DENORM__ 1
194// ARM:#define __FLT_HAS_INFINITY__ 1
195// ARM:#define __FLT_HAS_QUIET_NAN__ 1
196// ARM:#define __FLT_MANT_DIG__ 24
197// ARM:#define __FLT_MAX_10_EXP__ 38
198// ARM:#define __FLT_MAX_EXP__ 128
199// ARM:#define __FLT_MAX__ 3.40282347e+38F
200// ARM:#define __FLT_MIN_10_EXP__ (-37)
201// ARM:#define __FLT_MIN_EXP__ (-125)
202// ARM:#define __FLT_MIN__ 1.17549435e-38F
203// ARM:#define __FLT_RADIX__ 2
204// ARM:#define __INT16_TYPE__ short
205// ARM:#define __INT32_TYPE__ int
206// ARM:#define __INT64_C_SUFFIX__ LL
207// ARM:#define __INT64_TYPE__ long long int
208// ARM:#define __INT8_TYPE__ char
209// ARM:#define __INTMAX_MAX__ 9223372036854775807LL
210// ARM:#define __INTMAX_TYPE__ long long int
211// ARM:#define __INTMAX_WIDTH__ 64
212// ARM:#define __INTPTR_TYPE__ long int
213// ARM:#define __INTPTR_WIDTH__ 32
214// ARM:#define __INT_MAX__ 2147483647
215// ARM:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
216// ARM:#define __LDBL_DIG__ 15
217// ARM:#define __LDBL_EPSILON__ 2.2204460492503131e-16
218// ARM:#define __LDBL_HAS_DENORM__ 1
219// ARM:#define __LDBL_HAS_INFINITY__ 1
220// ARM:#define __LDBL_HAS_QUIET_NAN__ 1
221// ARM:#define __LDBL_MANT_DIG__ 53
222// ARM:#define __LDBL_MAX_10_EXP__ 308
223// ARM:#define __LDBL_MAX_EXP__ 1024
224// ARM:#define __LDBL_MAX__ 1.7976931348623157e+308
225// ARM:#define __LDBL_MIN_10_EXP__ (-307)
226// ARM:#define __LDBL_MIN_EXP__ (-1021)
227// ARM:#define __LDBL_MIN__ 2.2250738585072014e-308
228// ARM:#define __LITTLE_ENDIAN__ 1
229// ARM:#define __LONG_LONG_MAX__ 9223372036854775807LL
230// ARM:#define __LONG_MAX__ 2147483647L
231// ARM-NOT:#define __LP64__
232// ARM:#define __POINTER_WIDTH__ 32
233// ARM:#define __PTRDIFF_TYPE__ int
234// ARM:#define __PTRDIFF_WIDTH__ 32
235// ARM:#define __REGISTER_PREFIX__
236// ARM:#define __SCHAR_MAX__ 127
237// ARM:#define __SHRT_MAX__ 32767
238// ARM:#define __SIG_ATOMIC_WIDTH__ 32
239// ARM:#define __SIZEOF_DOUBLE__ 8
240// ARM:#define __SIZEOF_FLOAT__ 4
241// ARM:#define __SIZEOF_INT__ 4
242// ARM:#define __SIZEOF_LONG_DOUBLE__ 8
243// ARM:#define __SIZEOF_LONG_LONG__ 8
244// ARM:#define __SIZEOF_LONG__ 4
245// ARM:#define __SIZEOF_POINTER__ 4
246// ARM:#define __SIZEOF_PTRDIFF_T__ 4
247// ARM:#define __SIZEOF_SHORT__ 2
248// ARM:#define __SIZEOF_SIZE_T__ 4
249// ARM:#define __SIZEOF_WCHAR_T__ 4
250// ARM:#define __SIZEOF_WINT_T__ 4
251// ARM:#define __SIZE_TYPE__ unsigned int
252// ARM:#define __SIZE_WIDTH__ 32
253// ARM:#define __THUMB_INTERWORK__ 1
254// ARM:#define __UINTMAX_TYPE__ long long unsigned int
255// ARM:#define __USER_LABEL_PREFIX__ _
256// ARM:#define __WCHAR_MAX__ 4294967295U
257// ARM:#define __WCHAR_TYPE__ unsigned int
258// ARM:#define __WCHAR_WIDTH__ 32
259// ARM:#define __WINT_TYPE__ int
260// ARM:#define __WINT_WIDTH__ 32
261// ARM:#define __arm 1
262// ARM:#define __arm__ 1
263
264// 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
265//
266// ARM-NOT:#define _LP64
267// ARMEABISOFTFP:#define __APCS_32__ 1
268// ARMEABISOFTFP:#define __ARMEL__ 1
269// ARMEABISOFTFP:#define __ARM_ARCH 6
270// ARMEABISOFTFP:#define __ARM_ARCH_6J__ 1
271// ARMEABISOFTFP:#define __ARM_EABI__ 1
272// ARMEABISOFTFP:#define __ARM_PCS 1
273// ARMEABISOFTFP-NOT:#define __ARM_PCS_VFP 1
274// ARMEABISOFTFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
275// ARMEABISOFTFP:#define __CHAR16_TYPE__ unsigned short
276// ARMEABISOFTFP:#define __CHAR32_TYPE__ unsigned int
277// ARMEABISOFTFP:#define __CHAR_BIT__ 8
278// ARMEABISOFTFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
279// ARMEABISOFTFP:#define __DBL_DIG__ 15
280// ARMEABISOFTFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
281// ARMEABISOFTFP:#define __DBL_HAS_DENORM__ 1
282// ARMEABISOFTFP:#define __DBL_HAS_INFINITY__ 1
283// ARMEABISOFTFP:#define __DBL_HAS_QUIET_NAN__ 1
284// ARMEABISOFTFP:#define __DBL_MANT_DIG__ 53
285// ARMEABISOFTFP:#define __DBL_MAX_10_EXP__ 308
286// ARMEABISOFTFP:#define __DBL_MAX_EXP__ 1024
287// ARMEABISOFTFP:#define __DBL_MAX__ 1.7976931348623157e+308
288// ARMEABISOFTFP:#define __DBL_MIN_10_EXP__ (-307)
289// ARMEABISOFTFP:#define __DBL_MIN_EXP__ (-1021)
290// ARMEABISOFTFP:#define __DBL_MIN__ 2.2250738585072014e-308
291// ARMEABISOFTFP:#define __DECIMAL_DIG__ 17
292// ARMEABISOFTFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
293// ARMEABISOFTFP:#define __FLT_DIG__ 6
294// ARMEABISOFTFP:#define __FLT_EPSILON__ 1.19209290e-7F
295// ARMEABISOFTFP:#define __FLT_EVAL_METHOD__ 0
296// ARMEABISOFTFP:#define __FLT_HAS_DENORM__ 1
297// ARMEABISOFTFP:#define __FLT_HAS_INFINITY__ 1
298// ARMEABISOFTFP:#define __FLT_HAS_QUIET_NAN__ 1
299// ARMEABISOFTFP:#define __FLT_MANT_DIG__ 24
300// ARMEABISOFTFP:#define __FLT_MAX_10_EXP__ 38
301// ARMEABISOFTFP:#define __FLT_MAX_EXP__ 128
302// ARMEABISOFTFP:#define __FLT_MAX__ 3.40282347e+38F
303// ARMEABISOFTFP:#define __FLT_MIN_10_EXP__ (-37)
304// ARMEABISOFTFP:#define __FLT_MIN_EXP__ (-125)
305// ARMEABISOFTFP:#define __FLT_MIN__ 1.17549435e-38F
306// ARMEABISOFTFP:#define __FLT_RADIX__ 2
307// ARMEABISOFTFP:#define __INT16_TYPE__ short
308// ARMEABISOFTFP:#define __INT32_TYPE__ int
309// ARMEABISOFTFP:#define __INT64_C_SUFFIX__ LL
310// ARMEABISOFTFP:#define __INT64_TYPE__ long long int
311// ARMEABISOFTFP:#define __INT8_TYPE__ char
312// ARMEABISOFTFP:#define __INTMAX_MAX__ 9223372036854775807LL
313// ARMEABISOFTFP:#define __INTMAX_TYPE__ long long int
314// ARMEABISOFTFP:#define __INTMAX_WIDTH__ 64
315// ARMEABISOFTFP:#define __INTPTR_TYPE__ long int
316// ARMEABISOFTFP:#define __INTPTR_WIDTH__ 32
317// ARMEABISOFTFP:#define __INT_MAX__ 2147483647
318// ARMEABISOFTFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
319// ARMEABISOFTFP:#define __LDBL_DIG__ 15
320// ARMEABISOFTFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16
321// ARMEABISOFTFP:#define __LDBL_HAS_DENORM__ 1
322// ARMEABISOFTFP:#define __LDBL_HAS_INFINITY__ 1
323// ARMEABISOFTFP:#define __LDBL_HAS_QUIET_NAN__ 1
324// ARMEABISOFTFP:#define __LDBL_MANT_DIG__ 53
325// ARMEABISOFTFP:#define __LDBL_MAX_10_EXP__ 308
326// ARMEABISOFTFP:#define __LDBL_MAX_EXP__ 1024
327// ARMEABISOFTFP:#define __LDBL_MAX__ 1.7976931348623157e+308
328// ARMEABISOFTFP:#define __LDBL_MIN_10_EXP__ (-307)
329// ARMEABISOFTFP:#define __LDBL_MIN_EXP__ (-1021)
330// ARMEABISOFTFP:#define __LDBL_MIN__ 2.2250738585072014e-308
331// ARMEABISOFTFP:#define __LITTLE_ENDIAN__ 1
332// ARMEABISOFTFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
333// ARMEABISOFTFP:#define __LONG_MAX__ 2147483647L
334// ARMEABISOFTFP-NOT:#define __LP64__
335// ARMEABISOFTFP:#define __POINTER_WIDTH__ 32
336// ARMEABISOFTFP:#define __PTRDIFF_TYPE__ int
337// ARMEABISOFTFP:#define __PTRDIFF_WIDTH__ 32
338// ARMEABISOFTFP:#define __REGISTER_PREFIX__
339// ARMEABISOFTFP:#define __SCHAR_MAX__ 127
340// ARMEABISOFTFP:#define __SHRT_MAX__ 32767
341// ARMEABISOFTFP:#define __SIG_ATOMIC_WIDTH__ 32
342// ARMEABISOFTFP:#define __SIZEOF_DOUBLE__ 8
343// ARMEABISOFTFP:#define __SIZEOF_FLOAT__ 4
344// ARMEABISOFTFP:#define __SIZEOF_INT__ 4
345// ARMEABISOFTFP:#define __SIZEOF_LONG_DOUBLE__ 8
346// ARMEABISOFTFP:#define __SIZEOF_LONG_LONG__ 8
347// ARMEABISOFTFP:#define __SIZEOF_LONG__ 4
348// ARMEABISOFTFP:#define __SIZEOF_POINTER__ 4
349// ARMEABISOFTFP:#define __SIZEOF_PTRDIFF_T__ 4
350// ARMEABISOFTFP:#define __SIZEOF_SHORT__ 2
351// ARMEABISOFTFP:#define __SIZEOF_SIZE_T__ 4
352// ARMEABISOFTFP:#define __SIZEOF_WCHAR_T__ 4
353// ARMEABISOFTFP:#define __SIZEOF_WINT_T__ 4
354// ARMEABISOFTFP:#define __SIZE_TYPE__ unsigned int
355// ARMEABISOFTFP:#define __SIZE_WIDTH__ 32
356// ARMEABISOFTFP:#define __SOFTFP__ 1
357// ARMEABISOFTFP:#define __THUMB_INTERWORK__ 1
358// ARMEABISOFTFP:#define __UINTMAX_TYPE__ long long unsigned int
359// ARMEABISOFTFP:#define __USER_LABEL_PREFIX__
360// ARMEABISOFTFP:#define __WCHAR_MAX__ 4294967295U
361// ARMEABISOFTFP:#define __WCHAR_TYPE__ unsigned int
362// ARMEABISOFTFP:#define __WCHAR_WIDTH__ 32
363// ARMEABISOFTFP:#define __WINT_TYPE__ unsigned int
364// ARMEABISOFTFP:#define __WINT_WIDTH__ 32
365// ARMEABISOFTFP:#define __arm 1
366// ARMEABISOFTFP:#define __arm__ 1
367
368// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-linux-gnueabi < /dev/null | FileCheck -check-prefix ARMEABIHARDFP %s
369//
370// ARM-NOT:#define _LP64
371// ARMEABIHARDFP:#define __APCS_32__ 1
372// ARMEABIHARDFP:#define __ARMEL__ 1
373// ARMEABIHARDFP:#define __ARM_ARCH 6
374// ARMEABIHARDFP:#define __ARM_ARCH_6J__ 1
375// ARMEABIHARDFP:#define __ARM_EABI__ 1
376// ARMEABIHARDFP:#define __ARM_PCS 1
377// ARMEABIHARDFP:#define __ARM_PCS_VFP 1
378// ARMEABIHARDFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
379// ARMEABIHARDFP:#define __CHAR16_TYPE__ unsigned short
380// ARMEABIHARDFP:#define __CHAR32_TYPE__ unsigned int
381// ARMEABIHARDFP:#define __CHAR_BIT__ 8
382// ARMEABIHARDFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
383// ARMEABIHARDFP:#define __DBL_DIG__ 15
384// ARMEABIHARDFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
385// ARMEABIHARDFP:#define __DBL_HAS_DENORM__ 1
386// ARMEABIHARDFP:#define __DBL_HAS_INFINITY__ 1
387// ARMEABIHARDFP:#define __DBL_HAS_QUIET_NAN__ 1
388// ARMEABIHARDFP:#define __DBL_MANT_DIG__ 53
389// ARMEABIHARDFP:#define __DBL_MAX_10_EXP__ 308
390// ARMEABIHARDFP:#define __DBL_MAX_EXP__ 1024
391// ARMEABIHARDFP:#define __DBL_MAX__ 1.7976931348623157e+308
392// ARMEABIHARDFP:#define __DBL_MIN_10_EXP__ (-307)
393// ARMEABIHARDFP:#define __DBL_MIN_EXP__ (-1021)
394// ARMEABIHARDFP:#define __DBL_MIN__ 2.2250738585072014e-308
395// ARMEABIHARDFP:#define __DECIMAL_DIG__ 17
396// ARMEABIHARDFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
397// ARMEABIHARDFP:#define __FLT_DIG__ 6
398// ARMEABIHARDFP:#define __FLT_EPSILON__ 1.19209290e-7F
399// ARMEABIHARDFP:#define __FLT_EVAL_METHOD__ 0
400// ARMEABIHARDFP:#define __FLT_HAS_DENORM__ 1
401// ARMEABIHARDFP:#define __FLT_HAS_INFINITY__ 1
402// ARMEABIHARDFP:#define __FLT_HAS_QUIET_NAN__ 1
403// ARMEABIHARDFP:#define __FLT_MANT_DIG__ 24
404// ARMEABIHARDFP:#define __FLT_MAX_10_EXP__ 38
405// ARMEABIHARDFP:#define __FLT_MAX_EXP__ 128
406// ARMEABIHARDFP:#define __FLT_MAX__ 3.40282347e+38F
407// ARMEABIHARDFP:#define __FLT_MIN_10_EXP__ (-37)
408// ARMEABIHARDFP:#define __FLT_MIN_EXP__ (-125)
409// ARMEABIHARDFP:#define __FLT_MIN__ 1.17549435e-38F
410// ARMEABIHARDFP:#define __FLT_RADIX__ 2
411// ARMEABIHARDFP:#define __INT16_TYPE__ short
412// ARMEABIHARDFP:#define __INT32_TYPE__ int
413// ARMEABIHARDFP:#define __INT64_C_SUFFIX__ LL
414// ARMEABIHARDFP:#define __INT64_TYPE__ long long int
415// ARMEABIHARDFP:#define __INT8_TYPE__ char
416// ARMEABIHARDFP:#define __INTMAX_MAX__ 9223372036854775807LL
417// ARMEABIHARDFP:#define __INTMAX_TYPE__ long long int
418// ARMEABIHARDFP:#define __INTMAX_WIDTH__ 64
419// ARMEABIHARDFP:#define __INTPTR_TYPE__ long int
420// ARMEABIHARDFP:#define __INTPTR_WIDTH__ 32
421// ARMEABIHARDFP:#define __INT_MAX__ 2147483647
422// ARMEABIHARDFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
423// ARMEABIHARDFP:#define __LDBL_DIG__ 15
424// ARMEABIHARDFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16
425// ARMEABIHARDFP:#define __LDBL_HAS_DENORM__ 1
426// ARMEABIHARDFP:#define __LDBL_HAS_INFINITY__ 1
427// ARMEABIHARDFP:#define __LDBL_HAS_QUIET_NAN__ 1
428// ARMEABIHARDFP:#define __LDBL_MANT_DIG__ 53
429// ARMEABIHARDFP:#define __LDBL_MAX_10_EXP__ 308
430// ARMEABIHARDFP:#define __LDBL_MAX_EXP__ 1024
431// ARMEABIHARDFP:#define __LDBL_MAX__ 1.7976931348623157e+308
432// ARMEABIHARDFP:#define __LDBL_MIN_10_EXP__ (-307)
433// ARMEABIHARDFP:#define __LDBL_MIN_EXP__ (-1021)
434// ARMEABIHARDFP:#define __LDBL_MIN__ 2.2250738585072014e-308
435// ARMEABIHARDFP:#define __LITTLE_ENDIAN__ 1
436// ARMEABIHARDFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
437// ARMEABIHARDFP:#define __LONG_MAX__ 2147483647L
438// ARMEABIHARDFP-NOT:#define __LP64__
439// ARMEABIHARDFP:#define __POINTER_WIDTH__ 32
440// ARMEABIHARDFP:#define __PTRDIFF_TYPE__ int
441// ARMEABIHARDFP:#define __PTRDIFF_WIDTH__ 32
442// ARMEABIHARDFP:#define __REGISTER_PREFIX__
443// ARMEABIHARDFP:#define __SCHAR_MAX__ 127
444// ARMEABIHARDFP:#define __SHRT_MAX__ 32767
445// ARMEABIHARDFP:#define __SIG_ATOMIC_WIDTH__ 32
446// ARMEABIHARDFP:#define __SIZEOF_DOUBLE__ 8
447// ARMEABIHARDFP:#define __SIZEOF_FLOAT__ 4
448// ARMEABIHARDFP:#define __SIZEOF_INT__ 4
449// ARMEABIHARDFP:#define __SIZEOF_LONG_DOUBLE__ 8
450// ARMEABIHARDFP:#define __SIZEOF_LONG_LONG__ 8
451// ARMEABIHARDFP:#define __SIZEOF_LONG__ 4
452// ARMEABIHARDFP:#define __SIZEOF_POINTER__ 4
453// ARMEABIHARDFP:#define __SIZEOF_PTRDIFF_T__ 4
454// ARMEABIHARDFP:#define __SIZEOF_SHORT__ 2
455// ARMEABIHARDFP:#define __SIZEOF_SIZE_T__ 4
456// ARMEABIHARDFP:#define __SIZEOF_WCHAR_T__ 4
457// ARMEABIHARDFP:#define __SIZEOF_WINT_T__ 4
458// ARMEABIHARDFP:#define __SIZE_TYPE__ unsigned int
459// ARMEABIHARDFP:#define __SIZE_WIDTH__ 32
460// ARMEABIHARDFP-NOT:#define __SOFTFP__ 1
461// ARMEABIHARDFP:#define __THUMB_INTERWORK__ 1
462// ARMEABIHARDFP:#define __UINTMAX_TYPE__ long long unsigned int
463// ARMEABIHARDFP:#define __USER_LABEL_PREFIX__
464// ARMEABIHARDFP:#define __WCHAR_MAX__ 4294967295U
465// ARMEABIHARDFP:#define __WCHAR_TYPE__ unsigned int
466// ARMEABIHARDFP:#define __WCHAR_WIDTH__ 32
467// ARMEABIHARDFP:#define __WINT_TYPE__ unsigned int
468// ARMEABIHARDFP:#define __WINT_WIDTH__ 32
469// ARMEABIHARDFP:#define __arm 1
470// ARMEABIHARDFP:#define __arm__ 1
471
472//
473// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
474//
475// I386-NOT:#define _LP64
476// I386:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
477// I386:#define __CHAR16_TYPE__ unsigned short
478// I386:#define __CHAR32_TYPE__ unsigned int
479// I386:#define __CHAR_BIT__ 8
480// I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
481// I386:#define __DBL_DIG__ 15
482// I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
483// I386:#define __DBL_HAS_DENORM__ 1
484// I386:#define __DBL_HAS_INFINITY__ 1
485// I386:#define __DBL_HAS_QUIET_NAN__ 1
486// I386:#define __DBL_MANT_DIG__ 53
487// I386:#define __DBL_MAX_10_EXP__ 308
488// I386:#define __DBL_MAX_EXP__ 1024
489// I386:#define __DBL_MAX__ 1.7976931348623157e+308
490// I386:#define __DBL_MIN_10_EXP__ (-307)
491// I386:#define __DBL_MIN_EXP__ (-1021)
492// I386:#define __DBL_MIN__ 2.2250738585072014e-308
493// I386:#define __DECIMAL_DIG__ 21
494// I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
495// I386:#define __FLT_DIG__ 6
496// I386:#define __FLT_EPSILON__ 1.19209290e-7F
497// I386:#define __FLT_EVAL_METHOD__ 2
498// I386:#define __FLT_HAS_DENORM__ 1
499// I386:#define __FLT_HAS_INFINITY__ 1
500// I386:#define __FLT_HAS_QUIET_NAN__ 1
501// I386:#define __FLT_MANT_DIG__ 24
502// I386:#define __FLT_MAX_10_EXP__ 38
503// I386:#define __FLT_MAX_EXP__ 128
504// I386:#define __FLT_MAX__ 3.40282347e+38F
505// I386:#define __FLT_MIN_10_EXP__ (-37)
506// I386:#define __FLT_MIN_EXP__ (-125)
507// I386:#define __FLT_MIN__ 1.17549435e-38F
508// I386:#define __FLT_RADIX__ 2
509// I386:#define __INT16_TYPE__ short
510// I386:#define __INT32_TYPE__ int
511// I386:#define __INT64_C_SUFFIX__ LL
512// I386:#define __INT64_TYPE__ long long int
513// I386:#define __INT8_TYPE__ char
514// I386:#define __INTMAX_MAX__ 9223372036854775807LL
515// I386:#define __INTMAX_TYPE__ long long int
516// I386:#define __INTMAX_WIDTH__ 64
517// I386:#define __INTPTR_TYPE__ int
518// I386:#define __INTPTR_WIDTH__ 32
519// I386:#define __INT_MAX__ 2147483647
520// I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
521// I386:#define __LDBL_DIG__ 18
522// I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
523// I386:#define __LDBL_HAS_DENORM__ 1
524// I386:#define __LDBL_HAS_INFINITY__ 1
525// I386:#define __LDBL_HAS_QUIET_NAN__ 1
526// I386:#define __LDBL_MANT_DIG__ 64
527// I386:#define __LDBL_MAX_10_EXP__ 4932
528// I386:#define __LDBL_MAX_EXP__ 16384
529// I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
530// I386:#define __LDBL_MIN_10_EXP__ (-4931)
531// I386:#define __LDBL_MIN_EXP__ (-16381)
532// I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
533// I386:#define __LITTLE_ENDIAN__ 1
534// I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
535// I386:#define __LONG_MAX__ 2147483647L
536// I386-NOT:#define __LP64__
537// I386:#define __NO_MATH_INLINES 1
538// I386:#define __POINTER_WIDTH__ 32
539// I386:#define __PTRDIFF_TYPE__ int
540// I386:#define __PTRDIFF_WIDTH__ 32
541// I386:#define __REGISTER_PREFIX__
542// I386:#define __SCHAR_MAX__ 127
543// I386:#define __SHRT_MAX__ 32767
544// I386:#define __SIG_ATOMIC_WIDTH__ 32
545// I386:#define __SIZEOF_DOUBLE__ 8
546// I386:#define __SIZEOF_FLOAT__ 4
547// I386:#define __SIZEOF_INT__ 4
548// I386:#define __SIZEOF_LONG_DOUBLE__ 12
549// I386:#define __SIZEOF_LONG_LONG__ 8
550// I386:#define __SIZEOF_LONG__ 4
551// I386:#define __SIZEOF_POINTER__ 4
552// I386:#define __SIZEOF_PTRDIFF_T__ 4
553// I386:#define __SIZEOF_SHORT__ 2
554// I386:#define __SIZEOF_SIZE_T__ 4
555// I386:#define __SIZEOF_WCHAR_T__ 4
556// I386:#define __SIZEOF_WINT_T__ 4
557// I386:#define __SIZE_TYPE__ unsigned int
558// I386:#define __SIZE_WIDTH__ 32
559// I386:#define __UINTMAX_TYPE__ long long unsigned int
560// I386:#define __USER_LABEL_PREFIX__ _
561// I386:#define __WCHAR_MAX__ 2147483647
562// I386:#define __WCHAR_TYPE__ int
563// I386:#define __WCHAR_WIDTH__ 32
564// I386:#define __WINT_TYPE__ int
565// I386:#define __WINT_WIDTH__ 32
566// I386:#define __i386 1
567// I386:#define __i386__ 1
568// I386:#define i386 1
569//
570// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-pc-linux-gnu -target-cpu pentium4 < /dev/null | FileCheck -check-prefix I386-LINUX %s
571//
572// I386-LINUX-NOT:#define _LP64
573// I386-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
574// I386-LINUX:#define __CHAR16_TYPE__ unsigned short
575// I386-LINUX:#define __CHAR32_TYPE__ unsigned int
576// I386-LINUX:#define __CHAR_BIT__ 8
577// I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
578// I386-LINUX:#define __DBL_DIG__ 15
579// I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
580// I386-LINUX:#define __DBL_HAS_DENORM__ 1
581// I386-LINUX:#define __DBL_HAS_INFINITY__ 1
582// I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
583// I386-LINUX:#define __DBL_MANT_DIG__ 53
584// I386-LINUX:#define __DBL_MAX_10_EXP__ 308
585// I386-LINUX:#define __DBL_MAX_EXP__ 1024
586// I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
587// I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
588// I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
589// I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
590// I386-LINUX:#define __DECIMAL_DIG__ 21
591// I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
592// I386-LINUX:#define __FLT_DIG__ 6
593// I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
594// I386-LINUX:#define __FLT_EVAL_METHOD__ 0
595// I386-LINUX:#define __FLT_HAS_DENORM__ 1
596// I386-LINUX:#define __FLT_HAS_INFINITY__ 1
597// I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
598// I386-LINUX:#define __FLT_MANT_DIG__ 24
599// I386-LINUX:#define __FLT_MAX_10_EXP__ 38
600// I386-LINUX:#define __FLT_MAX_EXP__ 128
601// I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
602// I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
603// I386-LINUX:#define __FLT_MIN_EXP__ (-125)
604// I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
605// I386-LINUX:#define __FLT_RADIX__ 2
606// I386-LINUX:#define __INT16_TYPE__ short
607// I386-LINUX:#define __INT32_TYPE__ int
608// I386-LINUX:#define __INT64_C_SUFFIX__ LL
609// I386-LINUX:#define __INT64_TYPE__ long long int
610// I386-LINUX:#define __INT8_TYPE__ char
611// I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
612// I386-LINUX:#define __INTMAX_TYPE__ long long int
613// I386-LINUX:#define __INTMAX_WIDTH__ 64
614// I386-LINUX:#define __INTPTR_TYPE__ int
615// I386-LINUX:#define __INTPTR_WIDTH__ 32
616// I386-LINUX:#define __INT_MAX__ 2147483647
617// I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
618// I386-LINUX:#define __LDBL_DIG__ 18
619// I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
620// I386-LINUX:#define __LDBL_HAS_DENORM__ 1
621// I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
622// I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
623// I386-LINUX:#define __LDBL_MANT_DIG__ 64
624// I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
625// I386-LINUX:#define __LDBL_MAX_EXP__ 16384
626// I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
627// I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
628// I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
629// I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
630// I386-LINUX:#define __LITTLE_ENDIAN__ 1
631// I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
632// I386-LINUX:#define __LONG_MAX__ 2147483647L
633// I386-LINUX-NOT:#define __LP64__
634// I386-LINUX:#define __NO_MATH_INLINES 1
635// I386-LINUX:#define __POINTER_WIDTH__ 32
636// I386-LINUX:#define __PTRDIFF_TYPE__ int
637// I386-LINUX:#define __PTRDIFF_WIDTH__ 32
638// I386-LINUX:#define __REGISTER_PREFIX__
639// I386-LINUX:#define __SCHAR_MAX__ 127
640// I386-LINUX:#define __SHRT_MAX__ 32767
641// I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
642// I386-LINUX:#define __SIZEOF_DOUBLE__ 8
643// I386-LINUX:#define __SIZEOF_FLOAT__ 4
644// I386-LINUX:#define __SIZEOF_INT__ 4
645// I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
646// I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
647// I386-LINUX:#define __SIZEOF_LONG__ 4
648// I386-LINUX:#define __SIZEOF_POINTER__ 4
649// I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
650// I386-LINUX:#define __SIZEOF_SHORT__ 2
651// I386-LINUX:#define __SIZEOF_SIZE_T__ 4
652// I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
653// I386-LINUX:#define __SIZEOF_WINT_T__ 4
654// I386-LINUX:#define __SIZE_TYPE__ unsigned int
655// I386-LINUX:#define __SIZE_WIDTH__ 32
656// I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
657// I386-LINUX:#define __USER_LABEL_PREFIX__
658// I386-LINUX:#define __WCHAR_MAX__ 2147483647
659// I386-LINUX:#define __WCHAR_TYPE__ int
660// I386-LINUX:#define __WCHAR_WIDTH__ 32
661// I386-LINUX:#define __WINT_TYPE__ unsigned int
662// I386-LINUX:#define __WINT_WIDTH__ 32
663// I386-LINUX:#define __i386 1
664// I386-LINUX:#define __i386__ 1
665// I386-LINUX:#define i386 1
666//
667// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none < /dev/null | FileCheck -check-prefix MIPS32BE %s
668//
669// MIPS32BE:#define MIPSEB 1
670// MIPS32BE:#define _ABIO32 1
671// MIPS32BE-NOT:#define _LP64
672// MIPS32BE:#define _MIPSEB 1
673// MIPS32BE:#define _MIPS_ARCH "mips32"
674// MIPS32BE:#define _MIPS_ARCH_MIPS32 1
675// MIPS32BE:#define _MIPS_SIM _ABIO32
676// MIPS32BE:#define _MIPS_SZINT 32
677// MIPS32BE:#define _MIPS_SZLONG 32
678// MIPS32BE:#define _MIPS_SZPTR 32
679// MIPS32BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
680// MIPS32BE:#define __CHAR16_TYPE__ unsigned short
681// MIPS32BE:#define __CHAR32_TYPE__ unsigned int
682// MIPS32BE:#define __CHAR_BIT__ 8
683// MIPS32BE:#define __CONSTANT_CFSTRINGS__ 1
684// MIPS32BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
685// MIPS32BE:#define __DBL_DIG__ 15
686// MIPS32BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
687// MIPS32BE:#define __DBL_HAS_DENORM__ 1
688// MIPS32BE:#define __DBL_HAS_INFINITY__ 1
689// MIPS32BE:#define __DBL_HAS_QUIET_NAN__ 1
690// MIPS32BE:#define __DBL_MANT_DIG__ 53
691// MIPS32BE:#define __DBL_MAX_10_EXP__ 308
692// MIPS32BE:#define __DBL_MAX_EXP__ 1024
693// MIPS32BE:#define __DBL_MAX__ 1.7976931348623157e+308
694// MIPS32BE:#define __DBL_MIN_10_EXP__ (-307)
695// MIPS32BE:#define __DBL_MIN_EXP__ (-1021)
696// MIPS32BE:#define __DBL_MIN__ 2.2250738585072014e-308
697// MIPS32BE:#define __DECIMAL_DIG__ 17
698// MIPS32BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
699// MIPS32BE:#define __FLT_DIG__ 6
700// MIPS32BE:#define __FLT_EPSILON__ 1.19209290e-7F
701// MIPS32BE:#define __FLT_EVAL_METHOD__ 0
702// MIPS32BE:#define __FLT_HAS_DENORM__ 1
703// MIPS32BE:#define __FLT_HAS_INFINITY__ 1
704// MIPS32BE:#define __FLT_HAS_QUIET_NAN__ 1
705// MIPS32BE:#define __FLT_MANT_DIG__ 24
706// MIPS32BE:#define __FLT_MAX_10_EXP__ 38
707// MIPS32BE:#define __FLT_MAX_EXP__ 128
708// MIPS32BE:#define __FLT_MAX__ 3.40282347e+38F
709// MIPS32BE:#define __FLT_MIN_10_EXP__ (-37)
710// MIPS32BE:#define __FLT_MIN_EXP__ (-125)
711// MIPS32BE:#define __FLT_MIN__ 1.17549435e-38F
712// MIPS32BE:#define __FLT_RADIX__ 2
713// MIPS32BE:#define __INT16_TYPE__ short
714// MIPS32BE:#define __INT32_TYPE__ int
715// MIPS32BE:#define __INT64_C_SUFFIX__ LL
716// MIPS32BE:#define __INT64_TYPE__ long long int
717// MIPS32BE:#define __INT8_TYPE__ char
718// MIPS32BE:#define __INTMAX_MAX__ 9223372036854775807LL
719// MIPS32BE:#define __INTMAX_TYPE__ long long int
720// MIPS32BE:#define __INTMAX_WIDTH__ 64
721// MIPS32BE:#define __INTPTR_TYPE__ long int
722// MIPS32BE:#define __INTPTR_WIDTH__ 32
723// MIPS32BE:#define __INT_MAX__ 2147483647
724// MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
725// MIPS32BE:#define __LDBL_DIG__ 15
726// MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16
727// MIPS32BE:#define __LDBL_HAS_DENORM__ 1
728// MIPS32BE:#define __LDBL_HAS_INFINITY__ 1
729// MIPS32BE:#define __LDBL_HAS_QUIET_NAN__ 1
730// MIPS32BE:#define __LDBL_MANT_DIG__ 53
731// MIPS32BE:#define __LDBL_MAX_10_EXP__ 308
732// MIPS32BE:#define __LDBL_MAX_EXP__ 1024
733// MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308
734// MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307)
735// MIPS32BE:#define __LDBL_MIN_EXP__ (-1021)
736// MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308
737// MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
738// MIPS32BE:#define __LONG_MAX__ 2147483647L
739// MIPS32BE-NOT:#define __LP64__
740// MIPS32BE:#define __MIPSEB 1
741// MIPS32BE:#define __MIPSEB__ 1
742// MIPS32BE:#define __POINTER_WIDTH__ 32
743// MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1
744// MIPS32BE:#define __PTRDIFF_TYPE__ int
745// MIPS32BE:#define __PTRDIFF_WIDTH__ 32
746// MIPS32BE:#define __REGISTER_PREFIX__
747// MIPS32BE:#define __SCHAR_MAX__ 127
748// MIPS32BE:#define __SHRT_MAX__ 32767
749// MIPS32BE:#define __SIG_ATOMIC_WIDTH__ 32
750// MIPS32BE:#define __SIZEOF_DOUBLE__ 8
751// MIPS32BE:#define __SIZEOF_FLOAT__ 4
752// MIPS32BE:#define __SIZEOF_INT__ 4
753// MIPS32BE:#define __SIZEOF_LONG_DOUBLE__ 8
754// MIPS32BE:#define __SIZEOF_LONG_LONG__ 8
755// MIPS32BE:#define __SIZEOF_LONG__ 4
756// MIPS32BE:#define __SIZEOF_POINTER__ 4
757// MIPS32BE:#define __SIZEOF_PTRDIFF_T__ 4
758// MIPS32BE:#define __SIZEOF_SHORT__ 2
759// MIPS32BE:#define __SIZEOF_SIZE_T__ 4
760// MIPS32BE:#define __SIZEOF_WCHAR_T__ 4
761// MIPS32BE:#define __SIZEOF_WINT_T__ 4
762// MIPS32BE:#define __SIZE_TYPE__ unsigned int
763// MIPS32BE:#define __SIZE_WIDTH__ 32
764// MIPS32BE:#define __STDC_HOSTED__ 0
765// MIPS32BE:#define __STDC_VERSION__ 199901L
766// MIPS32BE:#define __STDC__ 1
767// MIPS32BE:#define __UINTMAX_TYPE__ long long unsigned int
768// MIPS32BE:#define __USER_LABEL_PREFIX__ _
769// MIPS32BE:#define __WCHAR_MAX__ 2147483647
770// MIPS32BE:#define __WCHAR_TYPE__ int
771// MIPS32BE:#define __WCHAR_WIDTH__ 32
772// MIPS32BE:#define __WINT_TYPE__ int
773// MIPS32BE:#define __WINT_WIDTH__ 32
774// MIPS32BE:#define __clang__ 1
775// MIPS32BE:#define __llvm__ 1
776// MIPS32BE:#define __mips 1
777// MIPS32BE:#define __mips__ 1
778// MIPS32BE:#define __mips_hard_float 1
779// MIPS32BE:#define __mips_o32 1
780// MIPS32BE:#define _mips 1
781// MIPS32BE:#define mips 1
782//
783// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -check-prefix MIPS32EL %s
784//
785// MIPS32EL:#define MIPSEL 1
786// MIPS32EL:#define _ABIO32 1
787// MIPS32EL-NOT:#define _LP64
788// MIPS32EL:#define _MIPSEL 1
789// MIPS32EL:#define _MIPS_ARCH "mips32"
790// MIPS32EL:#define _MIPS_ARCH_MIPS32 1
791// MIPS32EL:#define _MIPS_SIM _ABIO32
792// MIPS32EL:#define _MIPS_SZINT 32
793// MIPS32EL:#define _MIPS_SZLONG 32
794// MIPS32EL:#define _MIPS_SZPTR 32
795// MIPS32EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
796// MIPS32EL:#define __CHAR16_TYPE__ unsigned short
797// MIPS32EL:#define __CHAR32_TYPE__ unsigned int
798// MIPS32EL:#define __CHAR_BIT__ 8
799// MIPS32EL:#define __CONSTANT_CFSTRINGS__ 1
800// MIPS32EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
801// MIPS32EL:#define __DBL_DIG__ 15
802// MIPS32EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
803// MIPS32EL:#define __DBL_HAS_DENORM__ 1
804// MIPS32EL:#define __DBL_HAS_INFINITY__ 1
805// MIPS32EL:#define __DBL_HAS_QUIET_NAN__ 1
806// MIPS32EL:#define __DBL_MANT_DIG__ 53
807// MIPS32EL:#define __DBL_MAX_10_EXP__ 308
808// MIPS32EL:#define __DBL_MAX_EXP__ 1024
809// MIPS32EL:#define __DBL_MAX__ 1.7976931348623157e+308
810// MIPS32EL:#define __DBL_MIN_10_EXP__ (-307)
811// MIPS32EL:#define __DBL_MIN_EXP__ (-1021)
812// MIPS32EL:#define __DBL_MIN__ 2.2250738585072014e-308
813// MIPS32EL:#define __DECIMAL_DIG__ 17
814// MIPS32EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
815// MIPS32EL:#define __FLT_DIG__ 6
816// MIPS32EL:#define __FLT_EPSILON__ 1.19209290e-7F
817// MIPS32EL:#define __FLT_EVAL_METHOD__ 0
818// MIPS32EL:#define __FLT_HAS_DENORM__ 1
819// MIPS32EL:#define __FLT_HAS_INFINITY__ 1
820// MIPS32EL:#define __FLT_HAS_QUIET_NAN__ 1
821// MIPS32EL:#define __FLT_MANT_DIG__ 24
822// MIPS32EL:#define __FLT_MAX_10_EXP__ 38
823// MIPS32EL:#define __FLT_MAX_EXP__ 128
824// MIPS32EL:#define __FLT_MAX__ 3.40282347e+38F
825// MIPS32EL:#define __FLT_MIN_10_EXP__ (-37)
826// MIPS32EL:#define __FLT_MIN_EXP__ (-125)
827// MIPS32EL:#define __FLT_MIN__ 1.17549435e-38F
828// MIPS32EL:#define __FLT_RADIX__ 2
829// MIPS32EL:#define __INT16_TYPE__ short
830// MIPS32EL:#define __INT32_TYPE__ int
831// MIPS32EL:#define __INT64_C_SUFFIX__ LL
832// MIPS32EL:#define __INT64_TYPE__ long long int
833// MIPS32EL:#define __INT8_TYPE__ char
834// MIPS32EL:#define __INTMAX_MAX__ 9223372036854775807LL
835// MIPS32EL:#define __INTMAX_TYPE__ long long int
836// MIPS32EL:#define __INTMAX_WIDTH__ 64
837// MIPS32EL:#define __INTPTR_TYPE__ long int
838// MIPS32EL:#define __INTPTR_WIDTH__ 32
839// MIPS32EL:#define __INT_MAX__ 2147483647
840// MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
841// MIPS32EL:#define __LDBL_DIG__ 15
842// MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16
843// MIPS32EL:#define __LDBL_HAS_DENORM__ 1
844// MIPS32EL:#define __LDBL_HAS_INFINITY__ 1
845// MIPS32EL:#define __LDBL_HAS_QUIET_NAN__ 1
846// MIPS32EL:#define __LDBL_MANT_DIG__ 53
847// MIPS32EL:#define __LDBL_MAX_10_EXP__ 308
848// MIPS32EL:#define __LDBL_MAX_EXP__ 1024
849// MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308
850// MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307)
851// MIPS32EL:#define __LDBL_MIN_EXP__ (-1021)
852// MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308
853// MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
854// MIPS32EL:#define __LONG_MAX__ 2147483647L
855// MIPS32EL-NOT:#define __LP64__
856// MIPS32EL:#define __MIPSEL 1
857// MIPS32EL:#define __MIPSEL__ 1
858// MIPS32EL:#define __POINTER_WIDTH__ 32
859// MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1
860// MIPS32EL:#define __PTRDIFF_TYPE__ int
861// MIPS32EL:#define __PTRDIFF_WIDTH__ 32
862// MIPS32EL:#define __REGISTER_PREFIX__
863// MIPS32EL:#define __SCHAR_MAX__ 127
864// MIPS32EL:#define __SHRT_MAX__ 32767
865// MIPS32EL:#define __SIG_ATOMIC_WIDTH__ 32
866// MIPS32EL:#define __SIZEOF_DOUBLE__ 8
867// MIPS32EL:#define __SIZEOF_FLOAT__ 4
868// MIPS32EL:#define __SIZEOF_INT__ 4
869// MIPS32EL:#define __SIZEOF_LONG_DOUBLE__ 8
870// MIPS32EL:#define __SIZEOF_LONG_LONG__ 8
871// MIPS32EL:#define __SIZEOF_LONG__ 4
872// MIPS32EL:#define __SIZEOF_POINTER__ 4
873// MIPS32EL:#define __SIZEOF_PTRDIFF_T__ 4
874// MIPS32EL:#define __SIZEOF_SHORT__ 2
875// MIPS32EL:#define __SIZEOF_SIZE_T__ 4
876// MIPS32EL:#define __SIZEOF_WCHAR_T__ 4
877// MIPS32EL:#define __SIZEOF_WINT_T__ 4
878// MIPS32EL:#define __SIZE_TYPE__ unsigned int
879// MIPS32EL:#define __SIZE_WIDTH__ 32
880// MIPS32EL:#define __UINTMAX_TYPE__ long long unsigned int
881// MIPS32EL:#define __USER_LABEL_PREFIX__ _
882// MIPS32EL:#define __WCHAR_MAX__ 2147483647
883// MIPS32EL:#define __WCHAR_TYPE__ int
884// MIPS32EL:#define __WCHAR_WIDTH__ 32
885// MIPS32EL:#define __WINT_TYPE__ int
886// MIPS32EL:#define __WINT_WIDTH__ 32
887// MIPS32EL:#define __clang__ 1
888// MIPS32EL:#define __llvm__ 1
889// MIPS32EL:#define __mips 1
890// MIPS32EL:#define __mips__ 1
891// MIPS32EL:#define __mips_hard_float 1
892// MIPS32EL:#define __mips_o32 1
893// MIPS32EL:#define _mips 1
894// MIPS32EL:#define mips 1
895//
896// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -check-prefix MIPS64BE %s
897//
898// MIPS64BE:#define MIPSEB 1
899// MIPS64BE:#define _ABI64 3
900// MIPS64BE:#define _LP64 1
901// MIPS64BE:#define _MIPSEB 1
902// MIPS64BE:#define _MIPS_ARCH "mips64"
903// MIPS64BE:#define _MIPS_ARCH_MIPS64 1
904// MIPS64BE:#define _MIPS_SIM _ABI64
905// MIPS64BE:#define _MIPS_SZINT 32
906// MIPS64BE:#define _MIPS_SZLONG 64
907// MIPS64BE:#define _MIPS_SZPTR 64
908// MIPS64BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
909// MIPS64BE:#define __CHAR16_TYPE__ unsigned short
910// MIPS64BE:#define __CHAR32_TYPE__ unsigned int
911// MIPS64BE:#define __CHAR_BIT__ 8
912// MIPS64BE:#define __CONSTANT_CFSTRINGS__ 1
913// MIPS64BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
914// MIPS64BE:#define __DBL_DIG__ 15
915// MIPS64BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
916// MIPS64BE:#define __DBL_HAS_DENORM__ 1
917// MIPS64BE:#define __DBL_HAS_INFINITY__ 1
918// MIPS64BE:#define __DBL_HAS_QUIET_NAN__ 1
919// MIPS64BE:#define __DBL_MANT_DIG__ 53
920// MIPS64BE:#define __DBL_MAX_10_EXP__ 308
921// MIPS64BE:#define __DBL_MAX_EXP__ 1024
922// MIPS64BE:#define __DBL_MAX__ 1.7976931348623157e+308
923// MIPS64BE:#define __DBL_MIN_10_EXP__ (-307)
924// MIPS64BE:#define __DBL_MIN_EXP__ (-1021)
925// MIPS64BE:#define __DBL_MIN__ 2.2250738585072014e-308
926// MIPS64BE:#define __DECIMAL_DIG__ 36
927// MIPS64BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
928// MIPS64BE:#define __FLT_DIG__ 6
929// MIPS64BE:#define __FLT_EPSILON__ 1.19209290e-7F
930// MIPS64BE:#define __FLT_EVAL_METHOD__ 0
931// MIPS64BE:#define __FLT_HAS_DENORM__ 1
932// MIPS64BE:#define __FLT_HAS_INFINITY__ 1
933// MIPS64BE:#define __FLT_HAS_QUIET_NAN__ 1
934// MIPS64BE:#define __FLT_MANT_DIG__ 24
935// MIPS64BE:#define __FLT_MAX_10_EXP__ 38
936// MIPS64BE:#define __FLT_MAX_EXP__ 128
937// MIPS64BE:#define __FLT_MAX__ 3.40282347e+38F
938// MIPS64BE:#define __FLT_MIN_10_EXP__ (-37)
939// MIPS64BE:#define __FLT_MIN_EXP__ (-125)
940// MIPS64BE:#define __FLT_MIN__ 1.17549435e-38F
941// MIPS64BE:#define __FLT_RADIX__ 2
942// MIPS64BE:#define __INT16_TYPE__ short
943// MIPS64BE:#define __INT32_TYPE__ int
944// MIPS64BE:#define __INT64_C_SUFFIX__ LL
945// MIPS64BE:#define __INT64_TYPE__ long long int
946// MIPS64BE:#define __INT8_TYPE__ char
947// MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807LL
948// MIPS64BE:#define __INTMAX_TYPE__ long long int
949// MIPS64BE:#define __INTMAX_WIDTH__ 64
950// MIPS64BE:#define __INTPTR_TYPE__ long int
951// MIPS64BE:#define __INTPTR_WIDTH__ 64
952// MIPS64BE:#define __INT_MAX__ 2147483647
953// MIPS64BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
954// MIPS64BE:#define __LDBL_DIG__ 33
955// MIPS64BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
956// MIPS64BE:#define __LDBL_HAS_DENORM__ 1
957// MIPS64BE:#define __LDBL_HAS_INFINITY__ 1
958// MIPS64BE:#define __LDBL_HAS_QUIET_NAN__ 1
959// MIPS64BE:#define __LDBL_MANT_DIG__ 113
960// MIPS64BE:#define __LDBL_MAX_10_EXP__ 4932
961// MIPS64BE:#define __LDBL_MAX_EXP__ 16384
962// MIPS64BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
963// MIPS64BE:#define __LDBL_MIN_10_EXP__ (-4931)
964// MIPS64BE:#define __LDBL_MIN_EXP__ (-16381)
965// MIPS64BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
966// MIPS64BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
967// MIPS64BE:#define __LONG_MAX__ 9223372036854775807L
968// MIPS64BE:#define __LP64__ 1
969// MIPS64BE:#define __MIPSEB 1
970// MIPS64BE:#define __MIPSEB__ 1
971// MIPS64BE:#define __POINTER_WIDTH__ 64
972// MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1
973// MIPS64BE:#define __PTRDIFF_TYPE__ long int
974// MIPS64BE:#define __PTRDIFF_WIDTH__ 64
975// MIPS64BE:#define __REGISTER_PREFIX__
976// MIPS64BE:#define __SCHAR_MAX__ 127
977// MIPS64BE:#define __SHRT_MAX__ 32767
978// MIPS64BE:#define __SIG_ATOMIC_WIDTH__ 32
979// MIPS64BE:#define __SIZEOF_DOUBLE__ 8
980// MIPS64BE:#define __SIZEOF_FLOAT__ 4
981// MIPS64BE:#define __SIZEOF_INT__ 4
982// MIPS64BE:#define __SIZEOF_LONG_DOUBLE__ 16
983// MIPS64BE:#define __SIZEOF_LONG_LONG__ 8
984// MIPS64BE:#define __SIZEOF_LONG__ 8
985// MIPS64BE:#define __SIZEOF_POINTER__ 8
986// MIPS64BE:#define __SIZEOF_PTRDIFF_T__ 8
987// MIPS64BE:#define __SIZEOF_SHORT__ 2
988// MIPS64BE:#define __SIZEOF_SIZE_T__ 8
989// MIPS64BE:#define __SIZEOF_WCHAR_T__ 4
990// MIPS64BE:#define __SIZEOF_WINT_T__ 4
991// MIPS64BE:#define __SIZE_TYPE__ long unsigned int
992// MIPS64BE:#define __SIZE_WIDTH__ 64
993// MIPS64BE:#define __UINTMAX_TYPE__ long long unsigned int
994// MIPS64BE:#define __USER_LABEL_PREFIX__ _
995// MIPS64BE:#define __WCHAR_MAX__ 2147483647
996// MIPS64BE:#define __WCHAR_TYPE__ int
997// MIPS64BE:#define __WCHAR_WIDTH__ 32
998// MIPS64BE:#define __WINT_TYPE__ int
999// MIPS64BE:#define __WINT_WIDTH__ 32
1000// MIPS64BE:#define __clang__ 1
1001// MIPS64BE:#define __llvm__ 1
1002// MIPS64BE:#define __mips 1
1003// MIPS64BE:#define __mips64 1
1004// MIPS64BE:#define __mips64__ 1
1005// MIPS64BE:#define __mips__ 1
1006// MIPS64BE:#define __mips_hard_float 1
1007// MIPS64BE:#define __mips_n64 1
1008// MIPS64BE:#define _mips 1
1009// MIPS64BE:#define mips 1
1010//
1011// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -check-prefix MIPS64EL %s
1012//
1013// MIPS64EL:#define MIPSEL 1
1014// MIPS64EL:#define _ABI64 3
1015// MIPS64EL:#define _LP64 1
1016// MIPS64EL:#define _MIPSEL 1
1017// MIPS64EL:#define _MIPS_ARCH "mips64"
1018// MIPS64EL:#define _MIPS_ARCH_MIPS64 1
1019// MIPS64EL:#define _MIPS_SIM _ABI64
1020// MIPS64EL:#define _MIPS_SZINT 32
1021// MIPS64EL:#define _MIPS_SZLONG 64
1022// MIPS64EL:#define _MIPS_SZPTR 64
1023// MIPS64EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1024// MIPS64EL:#define __CHAR16_TYPE__ unsigned short
1025// MIPS64EL:#define __CHAR32_TYPE__ unsigned int
1026// MIPS64EL:#define __CHAR_BIT__ 8
1027// MIPS64EL:#define __CONSTANT_CFSTRINGS__ 1
1028// MIPS64EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1029// MIPS64EL:#define __DBL_DIG__ 15
1030// MIPS64EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1031// MIPS64EL:#define __DBL_HAS_DENORM__ 1
1032// MIPS64EL:#define __DBL_HAS_INFINITY__ 1
1033// MIPS64EL:#define __DBL_HAS_QUIET_NAN__ 1
1034// MIPS64EL:#define __DBL_MANT_DIG__ 53
1035// MIPS64EL:#define __DBL_MAX_10_EXP__ 308
1036// MIPS64EL:#define __DBL_MAX_EXP__ 1024
1037// MIPS64EL:#define __DBL_MAX__ 1.7976931348623157e+308
1038// MIPS64EL:#define __DBL_MIN_10_EXP__ (-307)
1039// MIPS64EL:#define __DBL_MIN_EXP__ (-1021)
1040// MIPS64EL:#define __DBL_MIN__ 2.2250738585072014e-308
1041// MIPS64EL:#define __DECIMAL_DIG__ 36
1042// MIPS64EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1043// MIPS64EL:#define __FLT_DIG__ 6
1044// MIPS64EL:#define __FLT_EPSILON__ 1.19209290e-7F
1045// MIPS64EL:#define __FLT_EVAL_METHOD__ 0
1046// MIPS64EL:#define __FLT_HAS_DENORM__ 1
1047// MIPS64EL:#define __FLT_HAS_INFINITY__ 1
1048// MIPS64EL:#define __FLT_HAS_QUIET_NAN__ 1
1049// MIPS64EL:#define __FLT_MANT_DIG__ 24
1050// MIPS64EL:#define __FLT_MAX_10_EXP__ 38
1051// MIPS64EL:#define __FLT_MAX_EXP__ 128
1052// MIPS64EL:#define __FLT_MAX__ 3.40282347e+38F
1053// MIPS64EL:#define __FLT_MIN_10_EXP__ (-37)
1054// MIPS64EL:#define __FLT_MIN_EXP__ (-125)
1055// MIPS64EL:#define __FLT_MIN__ 1.17549435e-38F
1056// MIPS64EL:#define __FLT_RADIX__ 2
1057// MIPS64EL:#define __INT16_TYPE__ short
1058// MIPS64EL:#define __INT32_TYPE__ int
1059// MIPS64EL:#define __INT64_C_SUFFIX__ LL
1060// MIPS64EL:#define __INT64_TYPE__ long long int
1061// MIPS64EL:#define __INT8_TYPE__ char
1062// MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807LL
1063// MIPS64EL:#define __INTMAX_TYPE__ long long int
1064// MIPS64EL:#define __INTMAX_WIDTH__ 64
1065// MIPS64EL:#define __INTPTR_TYPE__ long int
1066// MIPS64EL:#define __INTPTR_WIDTH__ 64
1067// MIPS64EL:#define __INT_MAX__ 2147483647
1068// MIPS64EL:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1069// MIPS64EL:#define __LDBL_DIG__ 33
1070// MIPS64EL:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1071// MIPS64EL:#define __LDBL_HAS_DENORM__ 1
1072// MIPS64EL:#define __LDBL_HAS_INFINITY__ 1
1073// MIPS64EL:#define __LDBL_HAS_QUIET_NAN__ 1
1074// MIPS64EL:#define __LDBL_MANT_DIG__ 113
1075// MIPS64EL:#define __LDBL_MAX_10_EXP__ 4932
1076// MIPS64EL:#define __LDBL_MAX_EXP__ 16384
1077// MIPS64EL:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1078// MIPS64EL:#define __LDBL_MIN_10_EXP__ (-4931)
1079// MIPS64EL:#define __LDBL_MIN_EXP__ (-16381)
1080// MIPS64EL:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1081// MIPS64EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1082// MIPS64EL:#define __LONG_MAX__ 9223372036854775807L
1083// MIPS64EL:#define __LP64__ 1
1084// MIPS64EL:#define __MIPSEL 1
1085// MIPS64EL:#define __MIPSEL__ 1
1086// MIPS64EL:#define __POINTER_WIDTH__ 64
1087// MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1088// MIPS64EL:#define __PTRDIFF_TYPE__ long int
1089// MIPS64EL:#define __PTRDIFF_WIDTH__ 64
1090// MIPS64EL:#define __REGISTER_PREFIX__
1091// MIPS64EL:#define __SCHAR_MAX__ 127
1092// MIPS64EL:#define __SHRT_MAX__ 32767
1093// MIPS64EL:#define __SIG_ATOMIC_WIDTH__ 32
1094// MIPS64EL:#define __SIZEOF_DOUBLE__ 8
1095// MIPS64EL:#define __SIZEOF_FLOAT__ 4
1096// MIPS64EL:#define __SIZEOF_INT__ 4
1097// MIPS64EL:#define __SIZEOF_LONG_DOUBLE__ 16
1098// MIPS64EL:#define __SIZEOF_LONG_LONG__ 8
1099// MIPS64EL:#define __SIZEOF_LONG__ 8
1100// MIPS64EL:#define __SIZEOF_POINTER__ 8
1101// MIPS64EL:#define __SIZEOF_PTRDIFF_T__ 8
1102// MIPS64EL:#define __SIZEOF_SHORT__ 2
1103// MIPS64EL:#define __SIZEOF_SIZE_T__ 8
1104// MIPS64EL:#define __SIZEOF_WCHAR_T__ 4
1105// MIPS64EL:#define __SIZEOF_WINT_T__ 4
1106// MIPS64EL:#define __SIZE_TYPE__ long unsigned int
1107// MIPS64EL:#define __SIZE_WIDTH__ 64
1108// MIPS64EL:#define __UINTMAX_TYPE__ long long unsigned int
1109// MIPS64EL:#define __USER_LABEL_PREFIX__ _
1110// MIPS64EL:#define __WCHAR_MAX__ 2147483647
1111// MIPS64EL:#define __WCHAR_TYPE__ int
1112// MIPS64EL:#define __WCHAR_WIDTH__ 32
1113// MIPS64EL:#define __WINT_TYPE__ int
1114// MIPS64EL:#define __WINT_WIDTH__ 32
1115// MIPS64EL:#define __clang__ 1
1116// MIPS64EL:#define __llvm__ 1
1117// MIPS64EL:#define __mips 1
1118// MIPS64EL:#define __mips64 1
1119// MIPS64EL:#define __mips64__ 1
1120// MIPS64EL:#define __mips__ 1
1121// MIPS64EL:#define __mips_hard_float 1
1122// MIPS64EL:#define __mips_n64 1
1123// MIPS64EL:#define _mips 1
1124// MIPS64EL:#define mips 1
1125//
1126// Check MIPS float ABI macros
1127//
1128// RUN: %clang_cc1 -E -dM -ffreestanding \
1129// RUN:   -triple=mips-none-none < /dev/null \
1130// RUN:   | FileCheck -check-prefix MIPS-FABI-HARD %s
1131// MIPS-FABI-HARD:#define __mips_hard_float 1
1132//
1133// RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \
1134// RUN:   -triple=mips-none-none < /dev/null \
1135// RUN:   | FileCheck -check-prefix MIPS-FABI-SOFT %s
1136// MIPS-FABI-SOFT:#define __mips_soft_float 1
1137//
1138// RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \
1139// RUN:   -triple=mips-none-none < /dev/null \
1140// RUN:   | FileCheck -check-prefix MIPS-FABI-SINGLE %s
1141// MIPS-FABI-SINGLE:#define __mips_hard_float 1
1142// MIPS-FABI-SINGLE:#define __mips_single_float 1
1143//
1144// Check MIPS features macros
1145//
1146// RUN: %clang_cc1 -target-feature +mips16 \
1147// RUN:   -E -dM -triple=mips-none-none < /dev/null \
1148// RUN:   | FileCheck -check-prefix MIPS16 %s
1149// MIPS16:#define __mips16 1
1150//
1151// RUN: %clang_cc1 -target-feature -mips16 \
1152// RUN:   -E -dM -triple=mips-none-none < /dev/null \
1153// RUN:   | FileCheck -check-prefix NOMIPS16 %s
1154// NOMIPS16-NOT:#define __mips16 1
1155//
1156// RUN: %clang_cc1 -target-feature +dsp \
1157// RUN:   -E -dM -triple=mips-none-none < /dev/null \
1158// RUN:   | FileCheck -check-prefix MIPS-DSP %s
1159// MIPS-DSP:#define __mips_dsp 1
1160// MIPS-DSP:#define __mips_dsp_rev 1
1161// MIPS-DSP-NOT:#define __mips_dspr2 1
1162//
1163// RUN: %clang_cc1 -target-feature +dspr2 \
1164// RUN:   -E -dM -triple=mips-none-none < /dev/null \
1165// RUN:   | FileCheck -check-prefix MIPS-DSPR2 %s
1166// MIPS-DSPR2:#define __mips_dsp 1
1167// MIPS-DSPR2:#define __mips_dsp_rev 2
1168// MIPS-DSPR2:#define __mips_dspr2 1
1169//
1170// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
1171//
1172// MSP430:#define MSP430 1
1173// MSP430-NOT:#define _LP64
1174// MSP430:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1175// MSP430:#define __CHAR16_TYPE__ unsigned short
1176// MSP430:#define __CHAR32_TYPE__ unsigned int
1177// MSP430:#define __CHAR_BIT__ 8
1178// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1179// MSP430:#define __DBL_DIG__ 15
1180// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
1181// MSP430:#define __DBL_HAS_DENORM__ 1
1182// MSP430:#define __DBL_HAS_INFINITY__ 1
1183// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
1184// MSP430:#define __DBL_MANT_DIG__ 53
1185// MSP430:#define __DBL_MAX_10_EXP__ 308
1186// MSP430:#define __DBL_MAX_EXP__ 1024
1187// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
1188// MSP430:#define __DBL_MIN_10_EXP__ (-307)
1189// MSP430:#define __DBL_MIN_EXP__ (-1021)
1190// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
1191// MSP430:#define __DECIMAL_DIG__ 17
1192// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1193// MSP430:#define __FLT_DIG__ 6
1194// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
1195// MSP430:#define __FLT_EVAL_METHOD__ 0
1196// MSP430:#define __FLT_HAS_DENORM__ 1
1197// MSP430:#define __FLT_HAS_INFINITY__ 1
1198// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
1199// MSP430:#define __FLT_MANT_DIG__ 24
1200// MSP430:#define __FLT_MAX_10_EXP__ 38
1201// MSP430:#define __FLT_MAX_EXP__ 128
1202// MSP430:#define __FLT_MAX__ 3.40282347e+38F
1203// MSP430:#define __FLT_MIN_10_EXP__ (-37)
1204// MSP430:#define __FLT_MIN_EXP__ (-125)
1205// MSP430:#define __FLT_MIN__ 1.17549435e-38F
1206// MSP430:#define __FLT_RADIX__ 2
1207// MSP430:#define __INT16_TYPE__ short
1208// MSP430:#define __INT32_C_SUFFIX__ L
1209// MSP430:#define __INT32_TYPE__ long int
1210// MSP430:#define __INT8_TYPE__ char
1211// MSP430:#define __INTMAX_MAX__ 2147483647L
1212// MSP430:#define __INTMAX_TYPE__ long int
1213// MSP430:#define __INTMAX_WIDTH__ 32
1214// MSP430:#define __INTPTR_TYPE__ short
1215// MSP430:#define __INTPTR_WIDTH__ 16
1216// MSP430:#define __INT_MAX__ 32767
1217// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
1218// MSP430:#define __LDBL_DIG__ 15
1219// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16
1220// MSP430:#define __LDBL_HAS_DENORM__ 1
1221// MSP430:#define __LDBL_HAS_INFINITY__ 1
1222// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
1223// MSP430:#define __LDBL_MANT_DIG__ 53
1224// MSP430:#define __LDBL_MAX_10_EXP__ 308
1225// MSP430:#define __LDBL_MAX_EXP__ 1024
1226// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308
1227// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
1228// MSP430:#define __LDBL_MIN_EXP__ (-1021)
1229// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308
1230// MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
1231// MSP430:#define __LONG_MAX__ 2147483647L
1232// MSP430-NOT:#define __LP64__
1233// MSP430:#define __MSP430__ 1
1234// MSP430:#define __POINTER_WIDTH__ 16
1235// MSP430:#define __PTRDIFF_TYPE__ int
1236// MSP430:#define __PTRDIFF_WIDTH__ 16
1237// MSP430:#define __SCHAR_MAX__ 127
1238// MSP430:#define __SHRT_MAX__ 32767
1239// MSP430:#define __SIG_ATOMIC_WIDTH__ 32
1240// MSP430:#define __SIZEOF_DOUBLE__ 8
1241// MSP430:#define __SIZEOF_FLOAT__ 4
1242// MSP430:#define __SIZEOF_INT__ 2
1243// MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
1244// MSP430:#define __SIZEOF_LONG_LONG__ 8
1245// MSP430:#define __SIZEOF_LONG__ 4
1246// MSP430:#define __SIZEOF_POINTER__ 2
1247// MSP430:#define __SIZEOF_PTRDIFF_T__ 2
1248// MSP430:#define __SIZEOF_SHORT__ 2
1249// MSP430:#define __SIZEOF_SIZE_T__ 2
1250// MSP430:#define __SIZEOF_WCHAR_T__ 2
1251// MSP430:#define __SIZEOF_WINT_T__ 2
1252// MSP430:#define __SIZE_TYPE__ unsigned int
1253// MSP430:#define __SIZE_WIDTH__ 16
1254// MSP430:#define __UINTMAX_TYPE__ long unsigned int
1255// MSP430:#define __USER_LABEL_PREFIX__ _
1256// MSP430:#define __WCHAR_MAX__ 32767
1257// MSP430:#define __WCHAR_TYPE__ int
1258// MSP430:#define __WCHAR_WIDTH__ 16
1259// MSP430:#define __WINT_TYPE__ int
1260// MSP430:#define __WINT_WIDTH__ 16
1261// MSP430:#define __clang__ 1
1262//
1263// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s
1264//
1265// NVPTX32-NOT:#define _LP64
1266// NVPTX32:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1267// NVPTX32:#define __CHAR16_TYPE__ unsigned short
1268// NVPTX32:#define __CHAR32_TYPE__ unsigned int
1269// NVPTX32:#define __CHAR_BIT__ 8
1270// NVPTX32:#define __CONSTANT_CFSTRINGS__ 1
1271// NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1272// NVPTX32:#define __DBL_DIG__ 15
1273// NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16
1274// NVPTX32:#define __DBL_HAS_DENORM__ 1
1275// NVPTX32:#define __DBL_HAS_INFINITY__ 1
1276// NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1
1277// NVPTX32:#define __DBL_MANT_DIG__ 53
1278// NVPTX32:#define __DBL_MAX_10_EXP__ 308
1279// NVPTX32:#define __DBL_MAX_EXP__ 1024
1280// NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308
1281// NVPTX32:#define __DBL_MIN_10_EXP__ (-307)
1282// NVPTX32:#define __DBL_MIN_EXP__ (-1021)
1283// NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308
1284// NVPTX32:#define __DECIMAL_DIG__ 17
1285// NVPTX32:#define __FINITE_MATH_ONLY__ 0
1286// NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1287// NVPTX32:#define __FLT_DIG__ 6
1288// NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F
1289// NVPTX32:#define __FLT_EVAL_METHOD__ 0
1290// NVPTX32:#define __FLT_HAS_DENORM__ 1
1291// NVPTX32:#define __FLT_HAS_INFINITY__ 1
1292// NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1
1293// NVPTX32:#define __FLT_MANT_DIG__ 24
1294// NVPTX32:#define __FLT_MAX_10_EXP__ 38
1295// NVPTX32:#define __FLT_MAX_EXP__ 128
1296// NVPTX32:#define __FLT_MAX__ 3.40282347e+38F
1297// NVPTX32:#define __FLT_MIN_10_EXP__ (-37)
1298// NVPTX32:#define __FLT_MIN_EXP__ (-125)
1299// NVPTX32:#define __FLT_MIN__ 1.17549435e-38F
1300// NVPTX32:#define __FLT_RADIX__ 2
1301// NVPTX32:#define __INT16_TYPE__ short
1302// NVPTX32:#define __INT32_TYPE__ int
1303// NVPTX32:#define __INT64_C_SUFFIX__ LL
1304// NVPTX32:#define __INT64_TYPE__ long long int
1305// NVPTX32:#define __INT8_TYPE__ char
1306// NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL
1307// NVPTX32:#define __INTMAX_TYPE__ long long int
1308// NVPTX32:#define __INTMAX_WIDTH__ 64
1309// NVPTX32:#define __INTPTR_TYPE__ unsigned int
1310// NVPTX32:#define __INTPTR_WIDTH__ 32
1311// NVPTX32:#define __INT_MAX__ 2147483647
1312// NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
1313// NVPTX32:#define __LDBL_DIG__ 15
1314// NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16
1315// NVPTX32:#define __LDBL_HAS_DENORM__ 1
1316// NVPTX32:#define __LDBL_HAS_INFINITY__ 1
1317// NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1
1318// NVPTX32:#define __LDBL_MANT_DIG__ 53
1319// NVPTX32:#define __LDBL_MAX_10_EXP__ 308
1320// NVPTX32:#define __LDBL_MAX_EXP__ 1024
1321// NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308
1322// NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
1323// NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
1324// NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308
1325// NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL
1326// NVPTX32:#define __LONG_MAX__ 9223372036854775807L
1327// NVPTX32-NOT:#define __LP64__
1328// NVPTX32:#define __NVPTX__ 1
1329// NVPTX32:#define __POINTER_WIDTH__ 32
1330// NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1
1331// NVPTX32:#define __PTRDIFF_TYPE__ unsigned int
1332// NVPTX32:#define __PTRDIFF_WIDTH__ 32
1333// NVPTX32:#define __PTX__ 1
1334// NVPTX32:#define __SCHAR_MAX__ 127
1335// NVPTX32:#define __SHRT_MAX__ 32767
1336// NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32
1337// NVPTX32:#define __SIZEOF_DOUBLE__ 8
1338// NVPTX32:#define __SIZEOF_FLOAT__ 4
1339// NVPTX32:#define __SIZEOF_INT__ 4
1340// NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8
1341// NVPTX32:#define __SIZEOF_LONG_LONG__ 8
1342// NVPTX32:#define __SIZEOF_LONG__ 8
1343// NVPTX32:#define __SIZEOF_POINTER__ 4
1344// NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4
1345// NVPTX32:#define __SIZEOF_SHORT__ 2
1346// NVPTX32:#define __SIZEOF_SIZE_T__ 4
1347// NVPTX32:#define __SIZEOF_WCHAR_T__ 4
1348// NVPTX32:#define __SIZEOF_WINT_T__ 4
1349// NVPTX32:#define __SIZE_TYPE__ unsigned int
1350// NVPTX32:#define __SIZE_WIDTH__ 32
1351// NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int
1352// NVPTX32:#define __USER_LABEL_PREFIX__ _
1353// NVPTX32:#define __WCHAR_MAX__ 2147483647
1354// NVPTX32:#define __WCHAR_TYPE__ int
1355// NVPTX32:#define __WCHAR_WIDTH__ 32
1356// NVPTX32:#define __WINT_TYPE__ int
1357// NVPTX32:#define __WINT_WIDTH__ 32
1358//
1359// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -check-prefix NVPTX64 %s
1360//
1361// NVPTX64:#define _LP64 1
1362// NVPTX64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1363// NVPTX64:#define __CHAR16_TYPE__ unsigned short
1364// NVPTX64:#define __CHAR32_TYPE__ unsigned int
1365// NVPTX64:#define __CHAR_BIT__ 8
1366// NVPTX64:#define __CONSTANT_CFSTRINGS__ 1
1367// NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1368// NVPTX64:#define __DBL_DIG__ 15
1369// NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1370// NVPTX64:#define __DBL_HAS_DENORM__ 1
1371// NVPTX64:#define __DBL_HAS_INFINITY__ 1
1372// NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1
1373// NVPTX64:#define __DBL_MANT_DIG__ 53
1374// NVPTX64:#define __DBL_MAX_10_EXP__ 308
1375// NVPTX64:#define __DBL_MAX_EXP__ 1024
1376// NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308
1377// NVPTX64:#define __DBL_MIN_10_EXP__ (-307)
1378// NVPTX64:#define __DBL_MIN_EXP__ (-1021)
1379// NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308
1380// NVPTX64:#define __DECIMAL_DIG__ 17
1381// NVPTX64:#define __FINITE_MATH_ONLY__ 0
1382// NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1383// NVPTX64:#define __FLT_DIG__ 6
1384// NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F
1385// NVPTX64:#define __FLT_EVAL_METHOD__ 0
1386// NVPTX64:#define __FLT_HAS_DENORM__ 1
1387// NVPTX64:#define __FLT_HAS_INFINITY__ 1
1388// NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1
1389// NVPTX64:#define __FLT_MANT_DIG__ 24
1390// NVPTX64:#define __FLT_MAX_10_EXP__ 38
1391// NVPTX64:#define __FLT_MAX_EXP__ 128
1392// NVPTX64:#define __FLT_MAX__ 3.40282347e+38F
1393// NVPTX64:#define __FLT_MIN_10_EXP__ (-37)
1394// NVPTX64:#define __FLT_MIN_EXP__ (-125)
1395// NVPTX64:#define __FLT_MIN__ 1.17549435e-38F
1396// NVPTX64:#define __FLT_RADIX__ 2
1397// NVPTX64:#define __INT16_TYPE__ short
1398// NVPTX64:#define __INT32_TYPE__ int
1399// NVPTX64:#define __INT64_C_SUFFIX__ LL
1400// NVPTX64:#define __INT64_TYPE__ long long int
1401// NVPTX64:#define __INT8_TYPE__ char
1402// NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL
1403// NVPTX64:#define __INTMAX_TYPE__ long long int
1404// NVPTX64:#define __INTMAX_WIDTH__ 64
1405// NVPTX64:#define __INTPTR_TYPE__ long long unsigned int
1406// NVPTX64:#define __INTPTR_WIDTH__ 64
1407// NVPTX64:#define __INT_MAX__ 2147483647
1408// NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
1409// NVPTX64:#define __LDBL_DIG__ 15
1410// NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16
1411// NVPTX64:#define __LDBL_HAS_DENORM__ 1
1412// NVPTX64:#define __LDBL_HAS_INFINITY__ 1
1413// NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1
1414// NVPTX64:#define __LDBL_MANT_DIG__ 53
1415// NVPTX64:#define __LDBL_MAX_10_EXP__ 308
1416// NVPTX64:#define __LDBL_MAX_EXP__ 1024
1417// NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308
1418// NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
1419// NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
1420// NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308
1421// NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1422// NVPTX64:#define __LONG_MAX__ 9223372036854775807L
1423// NVPTX64:#define __LP64__ 1
1424// NVPTX64:#define __NVPTX__ 1
1425// NVPTX64:#define __POINTER_WIDTH__ 64
1426// NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1
1427// NVPTX64:#define __PTRDIFF_TYPE__ long long unsigned int
1428// NVPTX64:#define __PTRDIFF_WIDTH__ 64
1429// NVPTX64:#define __PTX__ 1
1430// NVPTX64:#define __SCHAR_MAX__ 127
1431// NVPTX64:#define __SHRT_MAX__ 32767
1432// NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32
1433// NVPTX64:#define __SIZEOF_DOUBLE__ 8
1434// NVPTX64:#define __SIZEOF_FLOAT__ 4
1435// NVPTX64:#define __SIZEOF_INT__ 4
1436// NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8
1437// NVPTX64:#define __SIZEOF_LONG_LONG__ 8
1438// NVPTX64:#define __SIZEOF_LONG__ 8
1439// NVPTX64:#define __SIZEOF_POINTER__ 8
1440// NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8
1441// NVPTX64:#define __SIZEOF_SHORT__ 2
1442// NVPTX64:#define __SIZEOF_SIZE_T__ 8
1443// NVPTX64:#define __SIZEOF_WCHAR_T__ 4
1444// NVPTX64:#define __SIZEOF_WINT_T__ 4
1445// NVPTX64:#define __SIZE_TYPE__ long long unsigned int
1446// NVPTX64:#define __SIZE_WIDTH__ 64
1447// NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int
1448// NVPTX64:#define __USER_LABEL_PREFIX__ _
1449// NVPTX64:#define __WCHAR_MAX__ 2147483647
1450// NVPTX64:#define __WCHAR_TYPE__ int
1451// NVPTX64:#define __WCHAR_WIDTH__ 32
1452// NVPTX64:#define __WINT_TYPE__ int
1453// NVPTX64:#define __WINT_WIDTH__ 32
1454//
1455// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -check-prefix PPC603E %s
1456//
1457// PPC603E:#define _ARCH_603 1
1458// PPC603E:#define _ARCH_603E 1
1459// PPC603E:#define _ARCH_PPC 1
1460// PPC603E:#define _ARCH_PPCGR 1
1461// PPC603E:#define _BIG_ENDIAN 1
1462// PPC603E-NOT:#define _LP64
1463// PPC603E:#define __BIG_ENDIAN__ 1
1464// PPC603E:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
1465// PPC603E:#define __CHAR16_TYPE__ unsigned short
1466// PPC603E:#define __CHAR32_TYPE__ unsigned int
1467// PPC603E:#define __CHAR_BIT__ 8
1468// PPC603E:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1469// PPC603E:#define __DBL_DIG__ 15
1470// PPC603E:#define __DBL_EPSILON__ 2.2204460492503131e-16
1471// PPC603E:#define __DBL_HAS_DENORM__ 1
1472// PPC603E:#define __DBL_HAS_INFINITY__ 1
1473// PPC603E:#define __DBL_HAS_QUIET_NAN__ 1
1474// PPC603E:#define __DBL_MANT_DIG__ 53
1475// PPC603E:#define __DBL_MAX_10_EXP__ 308
1476// PPC603E:#define __DBL_MAX_EXP__ 1024
1477// PPC603E:#define __DBL_MAX__ 1.7976931348623157e+308
1478// PPC603E:#define __DBL_MIN_10_EXP__ (-307)
1479// PPC603E:#define __DBL_MIN_EXP__ (-1021)
1480// PPC603E:#define __DBL_MIN__ 2.2250738585072014e-308
1481// PPC603E:#define __DECIMAL_DIG__ 33
1482// PPC603E:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1483// PPC603E:#define __FLT_DIG__ 6
1484// PPC603E:#define __FLT_EPSILON__ 1.19209290e-7F
1485// PPC603E:#define __FLT_EVAL_METHOD__ 0
1486// PPC603E:#define __FLT_HAS_DENORM__ 1
1487// PPC603E:#define __FLT_HAS_INFINITY__ 1
1488// PPC603E:#define __FLT_HAS_QUIET_NAN__ 1
1489// PPC603E:#define __FLT_MANT_DIG__ 24
1490// PPC603E:#define __FLT_MAX_10_EXP__ 38
1491// PPC603E:#define __FLT_MAX_EXP__ 128
1492// PPC603E:#define __FLT_MAX__ 3.40282347e+38F
1493// PPC603E:#define __FLT_MIN_10_EXP__ (-37)
1494// PPC603E:#define __FLT_MIN_EXP__ (-125)
1495// PPC603E:#define __FLT_MIN__ 1.17549435e-38F
1496// PPC603E:#define __FLT_RADIX__ 2
1497// PPC603E:#define __INT16_TYPE__ short
1498// PPC603E:#define __INT32_TYPE__ int
1499// PPC603E:#define __INT64_C_SUFFIX__ LL
1500// PPC603E:#define __INT64_TYPE__ long long int
1501// PPC603E:#define __INT8_TYPE__ char
1502// PPC603E:#define __INTMAX_MAX__ 9223372036854775807LL
1503// PPC603E:#define __INTMAX_TYPE__ long long int
1504// PPC603E:#define __INTMAX_WIDTH__ 64
1505// PPC603E:#define __INTPTR_TYPE__ long int
1506// PPC603E:#define __INTPTR_WIDTH__ 32
1507// PPC603E:#define __INT_MAX__ 2147483647
1508// PPC603E:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1509// PPC603E:#define __LDBL_DIG__ 31
1510// PPC603E:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1511// PPC603E:#define __LDBL_HAS_DENORM__ 1
1512// PPC603E:#define __LDBL_HAS_INFINITY__ 1
1513// PPC603E:#define __LDBL_HAS_QUIET_NAN__ 1
1514// PPC603E:#define __LDBL_MANT_DIG__ 106
1515// PPC603E:#define __LDBL_MAX_10_EXP__ 308
1516// PPC603E:#define __LDBL_MAX_EXP__ 1024
1517// PPC603E:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1518// PPC603E:#define __LDBL_MIN_10_EXP__ (-291)
1519// PPC603E:#define __LDBL_MIN_EXP__ (-968)
1520// PPC603E:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1521// PPC603E:#define __LONG_DOUBLE_128__ 1
1522// PPC603E:#define __LONG_LONG_MAX__ 9223372036854775807LL
1523// PPC603E:#define __LONG_MAX__ 2147483647L
1524// PPC603E-NOT:#define __LP64__
1525// PPC603E:#define __NATURAL_ALIGNMENT__ 1
1526// PPC603E:#define __POINTER_WIDTH__ 32
1527// PPC603E:#define __POWERPC__ 1
1528// PPC603E:#define __PTRDIFF_TYPE__ long int
1529// PPC603E:#define __PTRDIFF_WIDTH__ 32
1530// PPC603E:#define __REGISTER_PREFIX__
1531// PPC603E:#define __SCHAR_MAX__ 127
1532// PPC603E:#define __SHRT_MAX__ 32767
1533// PPC603E:#define __SIG_ATOMIC_WIDTH__ 32
1534// PPC603E:#define __SIZEOF_DOUBLE__ 8
1535// PPC603E:#define __SIZEOF_FLOAT__ 4
1536// PPC603E:#define __SIZEOF_INT__ 4
1537// PPC603E:#define __SIZEOF_LONG_DOUBLE__ 16
1538// PPC603E:#define __SIZEOF_LONG_LONG__ 8
1539// PPC603E:#define __SIZEOF_LONG__ 4
1540// PPC603E:#define __SIZEOF_POINTER__ 4
1541// PPC603E:#define __SIZEOF_PTRDIFF_T__ 4
1542// PPC603E:#define __SIZEOF_SHORT__ 2
1543// PPC603E:#define __SIZEOF_SIZE_T__ 4
1544// PPC603E:#define __SIZEOF_WCHAR_T__ 4
1545// PPC603E:#define __SIZEOF_WINT_T__ 4
1546// PPC603E:#define __SIZE_TYPE__ long unsigned int
1547// PPC603E:#define __SIZE_WIDTH__ 32
1548// PPC603E:#define __UINTMAX_TYPE__ long long unsigned int
1549// PPC603E:#define __USER_LABEL_PREFIX__ _
1550// PPC603E:#define __WCHAR_MAX__ 2147483647
1551// PPC603E:#define __WCHAR_TYPE__ int
1552// PPC603E:#define __WCHAR_WIDTH__ 32
1553// PPC603E:#define __WINT_TYPE__ int
1554// PPC603E:#define __WINT_WIDTH__ 32
1555// PPC603E:#define __powerpc__ 1
1556// PPC603E:#define __ppc__ 1
1557//
1558// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64 %s
1559//
1560// PPC64:#define _ARCH_PPC 1
1561// PPC64:#define _ARCH_PPC64 1
1562// PPC64:#define _ARCH_PPCGR 1
1563// PPC64:#define _ARCH_PPCSQ 1
1564// PPC64:#define _ARCH_PWR4 1
1565// PPC64:#define _ARCH_PWR5 1
1566// PPC64:#define _ARCH_PWR6 1
1567// PPC64:#define _ARCH_PWR7 1
1568// PPC64:#define _BIG_ENDIAN 1
1569// PPC64:#define _LP64 1
1570// PPC64:#define __BIG_ENDIAN__ 1
1571// PPC64:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
1572// PPC64:#define __CHAR16_TYPE__ unsigned short
1573// PPC64:#define __CHAR32_TYPE__ unsigned int
1574// PPC64:#define __CHAR_BIT__ 8
1575// PPC64:#define __CHAR_UNSIGNED__ 1
1576// PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1577// PPC64:#define __DBL_DIG__ 15
1578// PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1579// PPC64:#define __DBL_HAS_DENORM__ 1
1580// PPC64:#define __DBL_HAS_INFINITY__ 1
1581// PPC64:#define __DBL_HAS_QUIET_NAN__ 1
1582// PPC64:#define __DBL_MANT_DIG__ 53
1583// PPC64:#define __DBL_MAX_10_EXP__ 308
1584// PPC64:#define __DBL_MAX_EXP__ 1024
1585// PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
1586// PPC64:#define __DBL_MIN_10_EXP__ (-307)
1587// PPC64:#define __DBL_MIN_EXP__ (-1021)
1588// PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
1589// PPC64:#define __DECIMAL_DIG__ 33
1590// PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1591// PPC64:#define __FLT_DIG__ 6
1592// PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
1593// PPC64:#define __FLT_EVAL_METHOD__ 0
1594// PPC64:#define __FLT_HAS_DENORM__ 1
1595// PPC64:#define __FLT_HAS_INFINITY__ 1
1596// PPC64:#define __FLT_HAS_QUIET_NAN__ 1
1597// PPC64:#define __FLT_MANT_DIG__ 24
1598// PPC64:#define __FLT_MAX_10_EXP__ 38
1599// PPC64:#define __FLT_MAX_EXP__ 128
1600// PPC64:#define __FLT_MAX__ 3.40282347e+38F
1601// PPC64:#define __FLT_MIN_10_EXP__ (-37)
1602// PPC64:#define __FLT_MIN_EXP__ (-125)
1603// PPC64:#define __FLT_MIN__ 1.17549435e-38F
1604// PPC64:#define __FLT_RADIX__ 2
1605// PPC64:#define __INT16_TYPE__ short
1606// PPC64:#define __INT32_TYPE__ int
1607// PPC64:#define __INT64_C_SUFFIX__ L
1608// PPC64:#define __INT64_TYPE__ long int
1609// PPC64:#define __INT8_TYPE__ char
1610// PPC64:#define __INTMAX_MAX__ 9223372036854775807L
1611// PPC64:#define __INTMAX_TYPE__ long int
1612// PPC64:#define __INTMAX_WIDTH__ 64
1613// PPC64:#define __INTPTR_TYPE__ long int
1614// PPC64:#define __INTPTR_WIDTH__ 64
1615// PPC64:#define __INT_MAX__ 2147483647
1616// PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1617// PPC64:#define __LDBL_DIG__ 31
1618// PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1619// PPC64:#define __LDBL_HAS_DENORM__ 1
1620// PPC64:#define __LDBL_HAS_INFINITY__ 1
1621// PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
1622// PPC64:#define __LDBL_MANT_DIG__ 106
1623// PPC64:#define __LDBL_MAX_10_EXP__ 308
1624// PPC64:#define __LDBL_MAX_EXP__ 1024
1625// PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1626// PPC64:#define __LDBL_MIN_10_EXP__ (-291)
1627// PPC64:#define __LDBL_MIN_EXP__ (-968)
1628// PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1629// PPC64:#define __LONG_DOUBLE_128__ 1
1630// PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1631// PPC64:#define __LONG_MAX__ 9223372036854775807L
1632// PPC64:#define __LP64__ 1
1633// PPC64:#define __NATURAL_ALIGNMENT__ 1
1634// PPC64:#define __POINTER_WIDTH__ 64
1635// PPC64:#define __POWERPC__ 1
1636// PPC64:#define __PTRDIFF_TYPE__ long int
1637// PPC64:#define __PTRDIFF_WIDTH__ 64
1638// PPC64:#define __REGISTER_PREFIX__
1639// PPC64:#define __SCHAR_MAX__ 127
1640// PPC64:#define __SHRT_MAX__ 32767
1641// PPC64:#define __SIG_ATOMIC_WIDTH__ 32
1642// PPC64:#define __SIZEOF_DOUBLE__ 8
1643// PPC64:#define __SIZEOF_FLOAT__ 4
1644// PPC64:#define __SIZEOF_INT__ 4
1645// PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
1646// PPC64:#define __SIZEOF_LONG_LONG__ 8
1647// PPC64:#define __SIZEOF_LONG__ 8
1648// PPC64:#define __SIZEOF_POINTER__ 8
1649// PPC64:#define __SIZEOF_PTRDIFF_T__ 8
1650// PPC64:#define __SIZEOF_SHORT__ 2
1651// PPC64:#define __SIZEOF_SIZE_T__ 8
1652// PPC64:#define __SIZEOF_WCHAR_T__ 4
1653// PPC64:#define __SIZEOF_WINT_T__ 4
1654// PPC64:#define __SIZE_TYPE__ long unsigned int
1655// PPC64:#define __SIZE_WIDTH__ 64
1656// PPC64:#define __UINTMAX_TYPE__ long unsigned int
1657// PPC64:#define __USER_LABEL_PREFIX__ _
1658// PPC64:#define __WCHAR_MAX__ 2147483647
1659// PPC64:#define __WCHAR_TYPE__ int
1660// PPC64:#define __WCHAR_WIDTH__ 32
1661// PPC64:#define __WINT_TYPE__ int
1662// PPC64:#define __WINT_WIDTH__ 32
1663// PPC64:#define __ppc64__ 1
1664// PPC64:#define __ppc__ 1
1665//
1666// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
1667//
1668// PPC64-LINUX:#define _ARCH_PPC 1
1669// PPC64-LINUX:#define _ARCH_PPC64 1
1670// PPC64-LINUX:#define _BIG_ENDIAN 1
1671// PPC64-LINUX:#define _LP64 1
1672// PPC64-LINUX:#define __BIG_ENDIAN__ 1
1673// PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
1674// PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
1675// PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
1676// PPC64-LINUX:#define __CHAR_BIT__ 8
1677// PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
1678// PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1679// PPC64-LINUX:#define __DBL_DIG__ 15
1680// PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
1681// PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
1682// PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
1683// PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
1684// PPC64-LINUX:#define __DBL_MANT_DIG__ 53
1685// PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
1686// PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
1687// PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
1688// PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
1689// PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
1690// PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
1691// PPC64-LINUX:#define __DECIMAL_DIG__ 33
1692// PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1693// PPC64-LINUX:#define __FLT_DIG__ 6
1694// PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
1695// PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
1696// PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
1697// PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
1698// PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
1699// PPC64-LINUX:#define __FLT_MANT_DIG__ 24
1700// PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
1701// PPC64-LINUX:#define __FLT_MAX_EXP__ 128
1702// PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
1703// PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
1704// PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
1705// PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
1706// PPC64-LINUX:#define __FLT_RADIX__ 2
1707// PPC64-LINUX:#define __INT16_TYPE__ short
1708// PPC64-LINUX:#define __INT32_TYPE__ int
1709// PPC64-LINUX:#define __INT64_C_SUFFIX__ L
1710// PPC64-LINUX:#define __INT64_TYPE__ long int
1711// PPC64-LINUX:#define __INT8_TYPE__ char
1712// PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
1713// PPC64-LINUX:#define __INTMAX_TYPE__ long int
1714// PPC64-LINUX:#define __INTMAX_WIDTH__ 64
1715// PPC64-LINUX:#define __INTPTR_TYPE__ long int
1716// PPC64-LINUX:#define __INTPTR_WIDTH__ 64
1717// PPC64-LINUX:#define __INT_MAX__ 2147483647
1718// PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1719// PPC64-LINUX:#define __LDBL_DIG__ 31
1720// PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1721// PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
1722// PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
1723// PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
1724// PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
1725// PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
1726// PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
1727// PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1728// PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
1729// PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
1730// PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1731// PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
1732// PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
1733// PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
1734// PPC64-LINUX:#define __LP64__ 1
1735// PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
1736// PPC64-LINUX:#define __POINTER_WIDTH__ 64
1737// PPC64-LINUX:#define __POWERPC__ 1
1738// PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
1739// PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
1740// PPC64-LINUX:#define __REGISTER_PREFIX__
1741// PPC64-LINUX:#define __SCHAR_MAX__ 127
1742// PPC64-LINUX:#define __SHRT_MAX__ 32767
1743// PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
1744// PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
1745// PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
1746// PPC64-LINUX:#define __SIZEOF_INT__ 4
1747// PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
1748// PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
1749// PPC64-LINUX:#define __SIZEOF_LONG__ 8
1750// PPC64-LINUX:#define __SIZEOF_POINTER__ 8
1751// PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
1752// PPC64-LINUX:#define __SIZEOF_SHORT__ 2
1753// PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
1754// PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
1755// PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
1756// PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
1757// PPC64-LINUX:#define __SIZE_WIDTH__ 64
1758// PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
1759// PPC64-LINUX:#define __USER_LABEL_PREFIX__
1760// PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
1761// PPC64-LINUX:#define __WCHAR_TYPE__ int
1762// PPC64-LINUX:#define __WCHAR_WIDTH__ 32
1763// PPC64-LINUX:#define __WINT_TYPE__ unsigned int
1764// PPC64-LINUX:#define __WINT_UNSIGNED__ 1
1765// PPC64-LINUX:#define __WINT_WIDTH__ 32
1766// PPC64-LINUX:#define __powerpc64__ 1
1767// PPC64-LINUX:#define __powerpc__ 1
1768// PPC64-LINUX:#define __ppc64__ 1
1769// PPC64-LINUX:#define __ppc__ 1
1770//
1771// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix PPC %s
1772//
1773// PPC:#define _ARCH_PPC 1
1774// PPC:#define _BIG_ENDIAN 1
1775// PPC-NOT:#define _LP64
1776// PPC:#define __BIG_ENDIAN__ 1
1777// PPC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
1778// PPC:#define __CHAR16_TYPE__ unsigned short
1779// PPC:#define __CHAR32_TYPE__ unsigned int
1780// PPC:#define __CHAR_BIT__ 8
1781// PPC:#define __CHAR_UNSIGNED__ 1
1782// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1783// PPC:#define __DBL_DIG__ 15
1784// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
1785// PPC:#define __DBL_HAS_DENORM__ 1
1786// PPC:#define __DBL_HAS_INFINITY__ 1
1787// PPC:#define __DBL_HAS_QUIET_NAN__ 1
1788// PPC:#define __DBL_MANT_DIG__ 53
1789// PPC:#define __DBL_MAX_10_EXP__ 308
1790// PPC:#define __DBL_MAX_EXP__ 1024
1791// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
1792// PPC:#define __DBL_MIN_10_EXP__ (-307)
1793// PPC:#define __DBL_MIN_EXP__ (-1021)
1794// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
1795// PPC:#define __DECIMAL_DIG__ 33
1796// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1797// PPC:#define __FLT_DIG__ 6
1798// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
1799// PPC:#define __FLT_EVAL_METHOD__ 0
1800// PPC:#define __FLT_HAS_DENORM__ 1
1801// PPC:#define __FLT_HAS_INFINITY__ 1
1802// PPC:#define __FLT_HAS_QUIET_NAN__ 1
1803// PPC:#define __FLT_MANT_DIG__ 24
1804// PPC:#define __FLT_MAX_10_EXP__ 38
1805// PPC:#define __FLT_MAX_EXP__ 128
1806// PPC:#define __FLT_MAX__ 3.40282347e+38F
1807// PPC:#define __FLT_MIN_10_EXP__ (-37)
1808// PPC:#define __FLT_MIN_EXP__ (-125)
1809// PPC:#define __FLT_MIN__ 1.17549435e-38F
1810// PPC:#define __FLT_RADIX__ 2
1811// PPC:#define __INT16_TYPE__ short
1812// PPC:#define __INT32_TYPE__ int
1813// PPC:#define __INT64_C_SUFFIX__ LL
1814// PPC:#define __INT64_TYPE__ long long int
1815// PPC:#define __INT8_TYPE__ char
1816// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
1817// PPC:#define __INTMAX_TYPE__ long long int
1818// PPC:#define __INTMAX_WIDTH__ 64
1819// PPC:#define __INTPTR_TYPE__ long int
1820// PPC:#define __INTPTR_WIDTH__ 32
1821// PPC:#define __INT_MAX__ 2147483647
1822// PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1823// PPC:#define __LDBL_DIG__ 31
1824// PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1825// PPC:#define __LDBL_HAS_DENORM__ 1
1826// PPC:#define __LDBL_HAS_INFINITY__ 1
1827// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
1828// PPC:#define __LDBL_MANT_DIG__ 106
1829// PPC:#define __LDBL_MAX_10_EXP__ 308
1830// PPC:#define __LDBL_MAX_EXP__ 1024
1831// PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1832// PPC:#define __LDBL_MIN_10_EXP__ (-291)
1833// PPC:#define __LDBL_MIN_EXP__ (-968)
1834// PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1835// PPC:#define __LONG_DOUBLE_128__ 1
1836// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
1837// PPC:#define __LONG_MAX__ 2147483647L
1838// PPC-NOT:#define __LP64__
1839// PPC:#define __NATURAL_ALIGNMENT__ 1
1840// PPC:#define __POINTER_WIDTH__ 32
1841// PPC:#define __POWERPC__ 1
1842// PPC:#define __PTRDIFF_TYPE__ long int
1843// PPC:#define __PTRDIFF_WIDTH__ 32
1844// PPC:#define __REGISTER_PREFIX__
1845// PPC:#define __SCHAR_MAX__ 127
1846// PPC:#define __SHRT_MAX__ 32767
1847// PPC:#define __SIG_ATOMIC_WIDTH__ 32
1848// PPC:#define __SIZEOF_DOUBLE__ 8
1849// PPC:#define __SIZEOF_FLOAT__ 4
1850// PPC:#define __SIZEOF_INT__ 4
1851// PPC:#define __SIZEOF_LONG_DOUBLE__ 16
1852// PPC:#define __SIZEOF_LONG_LONG__ 8
1853// PPC:#define __SIZEOF_LONG__ 4
1854// PPC:#define __SIZEOF_POINTER__ 4
1855// PPC:#define __SIZEOF_PTRDIFF_T__ 4
1856// PPC:#define __SIZEOF_SHORT__ 2
1857// PPC:#define __SIZEOF_SIZE_T__ 4
1858// PPC:#define __SIZEOF_WCHAR_T__ 4
1859// PPC:#define __SIZEOF_WINT_T__ 4
1860// PPC:#define __SIZE_TYPE__ long unsigned int
1861// PPC:#define __SIZE_WIDTH__ 32
1862// PPC:#define __UINTMAX_TYPE__ long long unsigned int
1863// PPC:#define __USER_LABEL_PREFIX__ _
1864// PPC:#define __WCHAR_MAX__ 2147483647
1865// PPC:#define __WCHAR_TYPE__ int
1866// PPC:#define __WCHAR_WIDTH__ 32
1867// PPC:#define __WINT_TYPE__ int
1868// PPC:#define __WINT_WIDTH__ 32
1869// PPC:#define __ppc__ 1
1870//
1871// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
1872//
1873// PPC-LINUX:#define _ARCH_PPC 1
1874// PPC-LINUX:#define _BIG_ENDIAN 1
1875// PPC-LINUX-NOT:#define _LP64
1876// PPC-LINUX:#define __BIG_ENDIAN__ 1
1877// PPC-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
1878// PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
1879// PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
1880// PPC-LINUX:#define __CHAR_BIT__ 8
1881// PPC-LINUX:#define __CHAR_UNSIGNED__ 1
1882// PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1883// PPC-LINUX:#define __DBL_DIG__ 15
1884// PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
1885// PPC-LINUX:#define __DBL_HAS_DENORM__ 1
1886// PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
1887// PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
1888// PPC-LINUX:#define __DBL_MANT_DIG__ 53
1889// PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
1890// PPC-LINUX:#define __DBL_MAX_EXP__ 1024
1891// PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
1892// PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
1893// PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
1894// PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
1895// PPC-LINUX:#define __DECIMAL_DIG__ 33
1896// PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1897// PPC-LINUX:#define __FLT_DIG__ 6
1898// PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
1899// PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
1900// PPC-LINUX:#define __FLT_HAS_DENORM__ 1
1901// PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
1902// PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
1903// PPC-LINUX:#define __FLT_MANT_DIG__ 24
1904// PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
1905// PPC-LINUX:#define __FLT_MAX_EXP__ 128
1906// PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
1907// PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
1908// PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
1909// PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
1910// PPC-LINUX:#define __FLT_RADIX__ 2
1911// PPC-LINUX:#define __INT16_TYPE__ short
1912// PPC-LINUX:#define __INT32_TYPE__ int
1913// PPC-LINUX:#define __INT64_C_SUFFIX__ LL
1914// PPC-LINUX:#define __INT64_TYPE__ long long int
1915// PPC-LINUX:#define __INT8_TYPE__ char
1916// PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
1917// PPC-LINUX:#define __INTMAX_TYPE__ long long int
1918// PPC-LINUX:#define __INTMAX_WIDTH__ 64
1919// PPC-LINUX:#define __INTPTR_TYPE__ int
1920// PPC-LINUX:#define __INTPTR_WIDTH__ 32
1921// PPC-LINUX:#define __INT_MAX__ 2147483647
1922// PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1923// PPC-LINUX:#define __LDBL_DIG__ 31
1924// PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1925// PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
1926// PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
1927// PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
1928// PPC-LINUX:#define __LDBL_MANT_DIG__ 106
1929// PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
1930// PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
1931// PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1932// PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
1933// PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
1934// PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1935// PPC-LINUX:#define __LONG_DOUBLE_128__ 1
1936// PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
1937// PPC-LINUX:#define __LONG_MAX__ 2147483647L
1938// PPC-LINUX-NOT:#define __LP64__
1939// PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
1940// PPC-LINUX:#define __POINTER_WIDTH__ 32
1941// PPC-LINUX:#define __POWERPC__ 1
1942// PPC-LINUX:#define __PTRDIFF_TYPE__ int
1943// PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
1944// PPC-LINUX:#define __REGISTER_PREFIX__
1945// PPC-LINUX:#define __SCHAR_MAX__ 127
1946// PPC-LINUX:#define __SHRT_MAX__ 32767
1947// PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
1948// PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
1949// PPC-LINUX:#define __SIZEOF_FLOAT__ 4
1950// PPC-LINUX:#define __SIZEOF_INT__ 4
1951// PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
1952// PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
1953// PPC-LINUX:#define __SIZEOF_LONG__ 4
1954// PPC-LINUX:#define __SIZEOF_POINTER__ 4
1955// PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
1956// PPC-LINUX:#define __SIZEOF_SHORT__ 2
1957// PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
1958// PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
1959// PPC-LINUX:#define __SIZEOF_WINT_T__ 4
1960// PPC-LINUX:#define __SIZE_TYPE__ unsigned int
1961// PPC-LINUX:#define __SIZE_WIDTH__ 32
1962// PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
1963// PPC-LINUX:#define __USER_LABEL_PREFIX__
1964// PPC-LINUX:#define __WCHAR_MAX__ 2147483647
1965// PPC-LINUX:#define __WCHAR_TYPE__ int
1966// PPC-LINUX:#define __WCHAR_WIDTH__ 32
1967// PPC-LINUX:#define __WINT_TYPE__ unsigned int
1968// PPC-LINUX:#define __WINT_UNSIGNED__ 1
1969// PPC-LINUX:#define __WINT_WIDTH__ 32
1970// PPC-LINUX:#define __powerpc__ 1
1971// PPC-LINUX:#define __ppc__ 1
1972//
1973// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
1974//
1975// SPARC-NOT:#define _LP64
1976// SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
1977// SPARC:#define __CHAR16_TYPE__ unsigned short
1978// SPARC:#define __CHAR32_TYPE__ unsigned int
1979// SPARC:#define __CHAR_BIT__ 8
1980// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1981// SPARC:#define __DBL_DIG__ 15
1982// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
1983// SPARC:#define __DBL_HAS_DENORM__ 1
1984// SPARC:#define __DBL_HAS_INFINITY__ 1
1985// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
1986// SPARC:#define __DBL_MANT_DIG__ 53
1987// SPARC:#define __DBL_MAX_10_EXP__ 308
1988// SPARC:#define __DBL_MAX_EXP__ 1024
1989// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
1990// SPARC:#define __DBL_MIN_10_EXP__ (-307)
1991// SPARC:#define __DBL_MIN_EXP__ (-1021)
1992// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
1993// SPARC:#define __DECIMAL_DIG__ 17
1994// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1995// SPARC:#define __FLT_DIG__ 6
1996// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
1997// SPARC:#define __FLT_EVAL_METHOD__ 0
1998// SPARC:#define __FLT_HAS_DENORM__ 1
1999// SPARC:#define __FLT_HAS_INFINITY__ 1
2000// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
2001// SPARC:#define __FLT_MANT_DIG__ 24
2002// SPARC:#define __FLT_MAX_10_EXP__ 38
2003// SPARC:#define __FLT_MAX_EXP__ 128
2004// SPARC:#define __FLT_MAX__ 3.40282347e+38F
2005// SPARC:#define __FLT_MIN_10_EXP__ (-37)
2006// SPARC:#define __FLT_MIN_EXP__ (-125)
2007// SPARC:#define __FLT_MIN__ 1.17549435e-38F
2008// SPARC:#define __FLT_RADIX__ 2
2009// SPARC:#define __INT16_TYPE__ short
2010// SPARC:#define __INT32_TYPE__ int
2011// SPARC:#define __INT64_C_SUFFIX__ LL
2012// SPARC:#define __INT64_TYPE__ long long int
2013// SPARC:#define __INT8_TYPE__ char
2014// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
2015// SPARC:#define __INTMAX_TYPE__ long long int
2016// SPARC:#define __INTMAX_WIDTH__ 64
2017// SPARC:#define __INTPTR_TYPE__ long int
2018// SPARC:#define __INTPTR_WIDTH__ 32
2019// SPARC:#define __INT_MAX__ 2147483647
2020// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
2021// SPARC:#define __LDBL_DIG__ 15
2022// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16
2023// SPARC:#define __LDBL_HAS_DENORM__ 1
2024// SPARC:#define __LDBL_HAS_INFINITY__ 1
2025// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
2026// SPARC:#define __LDBL_MANT_DIG__ 53
2027// SPARC:#define __LDBL_MAX_10_EXP__ 308
2028// SPARC:#define __LDBL_MAX_EXP__ 1024
2029// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308
2030// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
2031// SPARC:#define __LDBL_MIN_EXP__ (-1021)
2032// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308
2033// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2034// SPARC:#define __LONG_MAX__ 2147483647L
2035// SPARC-NOT:#define __LP64__
2036// SPARC:#define __POINTER_WIDTH__ 32
2037// SPARC:#define __PTRDIFF_TYPE__ long int
2038// SPARC:#define __PTRDIFF_WIDTH__ 32
2039// SPARC:#define __REGISTER_PREFIX__
2040// SPARC:#define __SCHAR_MAX__ 127
2041// SPARC:#define __SHRT_MAX__ 32767
2042// SPARC:#define __SIG_ATOMIC_WIDTH__ 32
2043// SPARC:#define __SIZEOF_DOUBLE__ 8
2044// SPARC:#define __SIZEOF_FLOAT__ 4
2045// SPARC:#define __SIZEOF_INT__ 4
2046// SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
2047// SPARC:#define __SIZEOF_LONG_LONG__ 8
2048// SPARC:#define __SIZEOF_LONG__ 4
2049// SPARC:#define __SIZEOF_POINTER__ 4
2050// SPARC:#define __SIZEOF_PTRDIFF_T__ 4
2051// SPARC:#define __SIZEOF_SHORT__ 2
2052// SPARC:#define __SIZEOF_SIZE_T__ 4
2053// SPARC:#define __SIZEOF_WCHAR_T__ 4
2054// SPARC:#define __SIZEOF_WINT_T__ 4
2055// SPARC:#define __SIZE_TYPE__ long unsigned int
2056// SPARC:#define __SIZE_WIDTH__ 32
2057// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
2058// SPARC:#define __USER_LABEL_PREFIX__ _
2059// SPARC:#define __VERSION__ "4.2.1 Compatible
2060// SPARC:#define __WCHAR_MAX__ 2147483647
2061// SPARC:#define __WCHAR_TYPE__ int
2062// SPARC:#define __WCHAR_WIDTH__ 32
2063// SPARC:#define __WINT_TYPE__ int
2064// SPARC:#define __WINT_WIDTH__ 32
2065// SPARC:#define __sparc 1
2066// SPARC:#define __sparc__ 1
2067// SPARC:#define __sparcv8 1
2068// SPARC:#define sparc 1
2069//
2070// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
2071//
2072// TCE-NOT:#define _LP64
2073// TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2074// TCE:#define __CHAR16_TYPE__ unsigned short
2075// TCE:#define __CHAR32_TYPE__ unsigned int
2076// TCE:#define __CHAR_BIT__ 8
2077// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45F
2078// TCE:#define __DBL_DIG__ 6
2079// TCE:#define __DBL_EPSILON__ 1.19209290e-7F
2080// TCE:#define __DBL_HAS_DENORM__ 1
2081// TCE:#define __DBL_HAS_INFINITY__ 1
2082// TCE:#define __DBL_HAS_QUIET_NAN__ 1
2083// TCE:#define __DBL_MANT_DIG__ 24
2084// TCE:#define __DBL_MAX_10_EXP__ 38
2085// TCE:#define __DBL_MAX_EXP__ 128
2086// TCE:#define __DBL_MAX__ 3.40282347e+38F
2087// TCE:#define __DBL_MIN_10_EXP__ (-37)
2088// TCE:#define __DBL_MIN_EXP__ (-125)
2089// TCE:#define __DBL_MIN__ 1.17549435e-38F
2090// TCE:#define __DECIMAL_DIG__ -1
2091// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2092// TCE:#define __FLT_DIG__ 6
2093// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
2094// TCE:#define __FLT_EVAL_METHOD__ 0
2095// TCE:#define __FLT_HAS_DENORM__ 1
2096// TCE:#define __FLT_HAS_INFINITY__ 1
2097// TCE:#define __FLT_HAS_QUIET_NAN__ 1
2098// TCE:#define __FLT_MANT_DIG__ 24
2099// TCE:#define __FLT_MAX_10_EXP__ 38
2100// TCE:#define __FLT_MAX_EXP__ 128
2101// TCE:#define __FLT_MAX__ 3.40282347e+38F
2102// TCE:#define __FLT_MIN_10_EXP__ (-37)
2103// TCE:#define __FLT_MIN_EXP__ (-125)
2104// TCE:#define __FLT_MIN__ 1.17549435e-38F
2105// TCE:#define __FLT_RADIX__ 2
2106// TCE:#define __INT16_TYPE__ short
2107// TCE:#define __INT32_TYPE__ int
2108// TCE:#define __INT8_TYPE__ char
2109// TCE:#define __INTMAX_MAX__ 2147483647L
2110// TCE:#define __INTMAX_TYPE__ long int
2111// TCE:#define __INTMAX_WIDTH__ 32
2112// TCE:#define __INTPTR_TYPE__ int
2113// TCE:#define __INTPTR_WIDTH__ 32
2114// TCE:#define __INT_MAX__ 2147483647
2115// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45F
2116// TCE:#define __LDBL_DIG__ 6
2117// TCE:#define __LDBL_EPSILON__ 1.19209290e-7F
2118// TCE:#define __LDBL_HAS_DENORM__ 1
2119// TCE:#define __LDBL_HAS_INFINITY__ 1
2120// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
2121// TCE:#define __LDBL_MANT_DIG__ 24
2122// TCE:#define __LDBL_MAX_10_EXP__ 38
2123// TCE:#define __LDBL_MAX_EXP__ 128
2124// TCE:#define __LDBL_MAX__ 3.40282347e+38F
2125// TCE:#define __LDBL_MIN_10_EXP__ (-37)
2126// TCE:#define __LDBL_MIN_EXP__ (-125)
2127// TCE:#define __LDBL_MIN__ 1.17549435e-38F
2128// TCE:#define __LONG_LONG_MAX__ 2147483647LL
2129// TCE:#define __LONG_MAX__ 2147483647L
2130// TCE-NOT:#define __LP64__
2131// TCE:#define __POINTER_WIDTH__ 32
2132// TCE:#define __PTRDIFF_TYPE__ int
2133// TCE:#define __PTRDIFF_WIDTH__ 32
2134// TCE:#define __SCHAR_MAX__ 127
2135// TCE:#define __SHRT_MAX__ 32767
2136// TCE:#define __SIG_ATOMIC_WIDTH__ 32
2137// TCE:#define __SIZEOF_DOUBLE__ 4
2138// TCE:#define __SIZEOF_FLOAT__ 4
2139// TCE:#define __SIZEOF_INT__ 4
2140// TCE:#define __SIZEOF_LONG_DOUBLE__ 4
2141// TCE:#define __SIZEOF_LONG_LONG__ 4
2142// TCE:#define __SIZEOF_LONG__ 4
2143// TCE:#define __SIZEOF_POINTER__ 4
2144// TCE:#define __SIZEOF_PTRDIFF_T__ 4
2145// TCE:#define __SIZEOF_SHORT__ 2
2146// TCE:#define __SIZEOF_SIZE_T__ 4
2147// TCE:#define __SIZEOF_WCHAR_T__ 4
2148// TCE:#define __SIZEOF_WINT_T__ 4
2149// TCE:#define __SIZE_TYPE__ unsigned int
2150// TCE:#define __SIZE_WIDTH__ 32
2151// TCE:#define __TCE_V1__ 1
2152// TCE:#define __TCE__ 1
2153// TCE:#define __UINTMAX_TYPE__ long unsigned int
2154// TCE:#define __USER_LABEL_PREFIX__ _
2155// TCE:#define __WCHAR_MAX__ 2147483647
2156// TCE:#define __WCHAR_TYPE__ int
2157// TCE:#define __WCHAR_WIDTH__ 32
2158// TCE:#define __WINT_TYPE__ int
2159// TCE:#define __WINT_WIDTH__ 32
2160// TCE:#define __tce 1
2161// TCE:#define __tce__ 1
2162// TCE:#define tce 1
2163//
2164// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-none-none < /dev/null | FileCheck -check-prefix X86_64 %s
2165//
2166// X86_64:#define _LP64 1
2167// X86_64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
2168// X86_64:#define __CHAR16_TYPE__ unsigned short
2169// X86_64:#define __CHAR32_TYPE__ unsigned int
2170// X86_64:#define __CHAR_BIT__ 8
2171// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2172// X86_64:#define __DBL_DIG__ 15
2173// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
2174// X86_64:#define __DBL_HAS_DENORM__ 1
2175// X86_64:#define __DBL_HAS_INFINITY__ 1
2176// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
2177// X86_64:#define __DBL_MANT_DIG__ 53
2178// X86_64:#define __DBL_MAX_10_EXP__ 308
2179// X86_64:#define __DBL_MAX_EXP__ 1024
2180// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
2181// X86_64:#define __DBL_MIN_10_EXP__ (-307)
2182// X86_64:#define __DBL_MIN_EXP__ (-1021)
2183// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
2184// X86_64:#define __DECIMAL_DIG__ 21
2185// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2186// X86_64:#define __FLT_DIG__ 6
2187// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
2188// X86_64:#define __FLT_EVAL_METHOD__ 0
2189// X86_64:#define __FLT_HAS_DENORM__ 1
2190// X86_64:#define __FLT_HAS_INFINITY__ 1
2191// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
2192// X86_64:#define __FLT_MANT_DIG__ 24
2193// X86_64:#define __FLT_MAX_10_EXP__ 38
2194// X86_64:#define __FLT_MAX_EXP__ 128
2195// X86_64:#define __FLT_MAX__ 3.40282347e+38F
2196// X86_64:#define __FLT_MIN_10_EXP__ (-37)
2197// X86_64:#define __FLT_MIN_EXP__ (-125)
2198// X86_64:#define __FLT_MIN__ 1.17549435e-38F
2199// X86_64:#define __FLT_RADIX__ 2
2200// X86_64:#define __INT16_TYPE__ short
2201// X86_64:#define __INT32_TYPE__ int
2202// X86_64:#define __INT64_C_SUFFIX__ L
2203// X86_64:#define __INT64_TYPE__ long int
2204// X86_64:#define __INT8_TYPE__ char
2205// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
2206// X86_64:#define __INTMAX_TYPE__ long int
2207// X86_64:#define __INTMAX_WIDTH__ 64
2208// X86_64:#define __INTPTR_TYPE__ long int
2209// X86_64:#define __INTPTR_WIDTH__ 64
2210// X86_64:#define __INT_MAX__ 2147483647
2211// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
2212// X86_64:#define __LDBL_DIG__ 18
2213// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
2214// X86_64:#define __LDBL_HAS_DENORM__ 1
2215// X86_64:#define __LDBL_HAS_INFINITY__ 1
2216// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
2217// X86_64:#define __LDBL_MANT_DIG__ 64
2218// X86_64:#define __LDBL_MAX_10_EXP__ 4932
2219// X86_64:#define __LDBL_MAX_EXP__ 16384
2220// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
2221// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
2222// X86_64:#define __LDBL_MIN_EXP__ (-16381)
2223// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
2224// X86_64:#define __LITTLE_ENDIAN__ 1
2225// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
2226// X86_64:#define __LONG_MAX__ 9223372036854775807L
2227// X86_64:#define __LP64__ 1
2228// X86_64:#define __MMX__ 1
2229// X86_64:#define __NO_MATH_INLINES 1
2230// X86_64:#define __POINTER_WIDTH__ 64
2231// X86_64:#define __PTRDIFF_TYPE__ long int
2232// X86_64:#define __PTRDIFF_WIDTH__ 64
2233// X86_64:#define __REGISTER_PREFIX__
2234// X86_64:#define __SCHAR_MAX__ 127
2235// X86_64:#define __SHRT_MAX__ 32767
2236// X86_64:#define __SIG_ATOMIC_WIDTH__ 32
2237// X86_64:#define __SIZEOF_DOUBLE__ 8
2238// X86_64:#define __SIZEOF_FLOAT__ 4
2239// X86_64:#define __SIZEOF_INT__ 4
2240// X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
2241// X86_64:#define __SIZEOF_LONG_LONG__ 8
2242// X86_64:#define __SIZEOF_LONG__ 8
2243// X86_64:#define __SIZEOF_POINTER__ 8
2244// X86_64:#define __SIZEOF_PTRDIFF_T__ 8
2245// X86_64:#define __SIZEOF_SHORT__ 2
2246// X86_64:#define __SIZEOF_SIZE_T__ 8
2247// X86_64:#define __SIZEOF_WCHAR_T__ 4
2248// X86_64:#define __SIZEOF_WINT_T__ 4
2249// X86_64:#define __SIZE_TYPE__ long unsigned int
2250// X86_64:#define __SIZE_WIDTH__ 64
2251// X86_64:#define __SSE2_MATH__ 1
2252// X86_64:#define __SSE2__ 1
2253// X86_64:#define __SSE_MATH__ 1
2254// X86_64:#define __SSE__ 1
2255// X86_64:#define __UINTMAX_TYPE__ long unsigned int
2256// X86_64:#define __USER_LABEL_PREFIX__ _
2257// X86_64:#define __WCHAR_MAX__ 2147483647
2258// X86_64:#define __WCHAR_TYPE__ int
2259// X86_64:#define __WCHAR_WIDTH__ 32
2260// X86_64:#define __WINT_TYPE__ int
2261// X86_64:#define __WINT_WIDTH__ 32
2262// X86_64:#define __amd64 1
2263// X86_64:#define __amd64__ 1
2264// X86_64:#define __x86_64 1
2265// X86_64:#define __x86_64__ 1
2266//
2267// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
2268//
2269// X86_64-LINUX:#define _LP64 1
2270// X86_64-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
2271// X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
2272// X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
2273// X86_64-LINUX:#define __CHAR_BIT__ 8
2274// X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2275// X86_64-LINUX:#define __DBL_DIG__ 15
2276// X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2277// X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
2278// X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
2279// X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2280// X86_64-LINUX:#define __DBL_MANT_DIG__ 53
2281// X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
2282// X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
2283// X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2284// X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2285// X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2286// X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2287// X86_64-LINUX:#define __DECIMAL_DIG__ 21
2288// X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2289// X86_64-LINUX:#define __FLT_DIG__ 6
2290// X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2291// X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
2292// X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
2293// X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
2294// X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2295// X86_64-LINUX:#define __FLT_MANT_DIG__ 24
2296// X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
2297// X86_64-LINUX:#define __FLT_MAX_EXP__ 128
2298// X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2299// X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2300// X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
2301// X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2302// X86_64-LINUX:#define __FLT_RADIX__ 2
2303// X86_64-LINUX:#define __INT16_TYPE__ short
2304// X86_64-LINUX:#define __INT32_TYPE__ int
2305// X86_64-LINUX:#define __INT64_C_SUFFIX__ L
2306// X86_64-LINUX:#define __INT64_TYPE__ long int
2307// X86_64-LINUX:#define __INT8_TYPE__ char
2308// X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2309// X86_64-LINUX:#define __INTMAX_TYPE__ long int
2310// X86_64-LINUX:#define __INTMAX_WIDTH__ 64
2311// X86_64-LINUX:#define __INTPTR_TYPE__ long int
2312// X86_64-LINUX:#define __INTPTR_WIDTH__ 64
2313// X86_64-LINUX:#define __INT_MAX__ 2147483647
2314// X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
2315// X86_64-LINUX:#define __LDBL_DIG__ 18
2316// X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
2317// X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
2318// X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2319// X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2320// X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
2321// X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
2322// X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
2323// X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
2324// X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
2325// X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
2326// X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
2327// X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
2328// X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2329// X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2330// X86_64-LINUX:#define __LP64__ 1
2331// X86_64-LINUX:#define __MMX__ 1
2332// X86_64-LINUX:#define __NO_MATH_INLINES 1
2333// X86_64-LINUX:#define __POINTER_WIDTH__ 64
2334// X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
2335// X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
2336// X86_64-LINUX:#define __REGISTER_PREFIX__
2337// X86_64-LINUX:#define __SCHAR_MAX__ 127
2338// X86_64-LINUX:#define __SHRT_MAX__ 32767
2339// X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2340// X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
2341// X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
2342// X86_64-LINUX:#define __SIZEOF_INT__ 4
2343// X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2344// X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2345// X86_64-LINUX:#define __SIZEOF_LONG__ 8
2346// X86_64-LINUX:#define __SIZEOF_POINTER__ 8
2347// X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2348// X86_64-LINUX:#define __SIZEOF_SHORT__ 2
2349// X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
2350// X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2351// X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
2352// X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
2353// X86_64-LINUX:#define __SIZE_WIDTH__ 64
2354// X86_64-LINUX:#define __SSE2_MATH__ 1
2355// X86_64-LINUX:#define __SSE2__ 1
2356// X86_64-LINUX:#define __SSE_MATH__ 1
2357// X86_64-LINUX:#define __SSE__ 1
2358// X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2359// X86_64-LINUX:#define __USER_LABEL_PREFIX__
2360// X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
2361// X86_64-LINUX:#define __WCHAR_TYPE__ int
2362// X86_64-LINUX:#define __WCHAR_WIDTH__ 32
2363// X86_64-LINUX:#define __WINT_TYPE__ unsigned int
2364// X86_64-LINUX:#define __WINT_WIDTH__ 32
2365// X86_64-LINUX:#define __amd64 1
2366// X86_64-LINUX:#define __amd64__ 1
2367// X86_64-LINUX:#define __x86_64 1
2368// X86_64-LINUX:#define __x86_64__ 1
2369//
2370// RUN: %clang_cc1 -x c++ -triple i686-pc-linux-gnu -fobjc-runtime=gcc -E -dM < /dev/null | FileCheck -check-prefix GNUSOURCE %s
2371// GNUSOURCE:#define _GNU_SOURCE 1
2372//
2373// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
2374// NORTTI: __GXX_ABI_VERSION
2375// NORTTI-NOT:#define __GXX_RTTI
2376// NORTTI: __STDC__
2377//
2378// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
2379// ANDROID: __ANDROID__ 1
2380