init.c revision f8c247d247f9f7ab2bf4965677e6d056711c99d5
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++0x -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 199711L
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 __STDC_HOSTED__ 1
52// COMMON:#define __STDC_VERSION__
53// COMMON:#define __STDC__ 1
54// COMMON:#define __VERSION__
55// COMMON:#define __clang__ 1
56// COMMON:#define __clang_major__ {{[0-9]+}}
57// COMMON:#define __clang_minor__ {{[0-9]+}}
58// COMMON:#define __clang_patchlevel__ {{[0-9]+}}
59// COMMON:#define __clang_version__
60// COMMON:#define __llvm__ 1
61//
62//
63// RUN: %clang_cc1 -ffreestanding -E -dM < /dev/null | FileCheck -check-prefix FREESTANDING %s
64// FREESTANDING:#define __STDC_HOSTED__ 0
65//
66// RUN: %clang_cc1 -x c++ -std=gnu++98 -E -dM < /dev/null | FileCheck -check-prefix GXX98 %s
67//
68// GXX98:#define __GNUG__
69// GXX98:#define __GXX_WEAK__ 1
70// GXX98:#define __cplusplus 1
71// GXX98:#define __private_extern__ extern
72//
73//
74// RUN: %clang_cc1 -std=iso9899:199409 -E -dM < /dev/null | FileCheck -check-prefix C94 %s
75//
76// C94:#define __STDC_VERSION__ 199409L
77//
78//
79// RUN: %clang_cc1 -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT %s
80//
81// MSEXT-NOT:#define __STDC__
82// MSEXT:#define _INTEGRAL_MAX_BITS 64
83// MSEXT:#define __int16 __INT16_TYPE__
84// MSEXT:#define __int32 __INT32_TYPE__
85// MSEXT:#define __int64 __INT64_TYPE__
86// MSEXT:#define __int8 __INT8_TYPE__
87//
88//
89// RUN: %clang_cc1 -x objective-c -E -dM < /dev/null | FileCheck -check-prefix OBJC %s
90//
91// OBJC:#define OBJC_NEW_PROPERTIES 1
92// OBJC:#define __NEXT_RUNTIME__ 1
93// OBJC:#define __OBJC__ 1
94//
95//
96// RUN: %clang_cc1 -x objective-c -fobjc-gc -E -dM < /dev/null | FileCheck -check-prefix OBJCGC %s
97//
98// OBJCGC:#define __OBJC_GC__ 1
99//
100//
101// RUN: %clang_cc1 -x objective-c -fobjc-nonfragile-abi -E -dM < /dev/null | FileCheck -check-prefix NONFRAGILE %s
102//
103// NONFRAGILE:#define OBJC_ZEROCOST_EXCEPTIONS 1
104// NONFRAGILE:#define __OBJC2__ 1
105//
106//
107// RUN: %clang_cc1 -O1 -E -dM < /dev/null | FileCheck -check-prefix O1 %s
108//
109// O1:#define __OPTIMIZE__ 1
110//
111//
112// RUN: %clang_cc1 -fpascal-strings -E -dM < /dev/null | FileCheck -check-prefix PASCAL %s
113//
114// PASCAL:#define __PASCAL_STRINGS__ 1
115//
116//
117// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix SCHAR %s
118//
119// SCHAR:#define __STDC__ 1
120// SCHAR-NOT:#define __UNSIGNED_CHAR__
121// SCHAR:#define __clang__ 1
122//
123// RUN: %clang_cc1 -E -dM -fshort-wchar < /dev/null | FileCheck -check-prefix SHORTWCHAR %s
124//
125// SHORTWCHAR: #define __SIZEOF_WCHAR_T__ 2
126// SHORTWCHAR: #define __WCHAR_MAX__ 65535U
127// SHORTWCHAR: #define __WCHAR_TYPE__ unsigned short
128// SHORTWCHAR: #define __WCHAR_WIDTH__ 16
129//
130// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s
131//
132// ARM:#define __APCS_32__ 1
133// ARM:#define __ARMEL__ 1
134// ARM:#define __ARM_ARCH_6J__ 1
135// ARM:#define __CHAR16_TYPE__ unsigned short
136// ARM:#define __CHAR32_TYPE__ unsigned int
137// ARM:#define __CHAR_BIT__ 8
138// ARM:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
139// ARM:#define __DBL_DIG__ 15
140// ARM:#define __DBL_EPSILON__ 2.2204460492503131e-16
141// ARM:#define __DBL_HAS_DENORM__ 1
142// ARM:#define __DBL_HAS_INFINITY__ 1
143// ARM:#define __DBL_HAS_QUIET_NAN__ 1
144// ARM:#define __DBL_MANT_DIG__ 53
145// ARM:#define __DBL_MAX_10_EXP__ 308
146// ARM:#define __DBL_MAX_EXP__ 1024
147// ARM:#define __DBL_MAX__ 1.7976931348623157e+308
148// ARM:#define __DBL_MIN_10_EXP__ (-307)
149// ARM:#define __DBL_MIN_EXP__ (-1021)
150// ARM:#define __DBL_MIN__ 2.2250738585072014e-308
151// ARM:#define __DECIMAL_DIG__ 17
152// ARM:#define __FLT_DENORM_MIN__ 1.40129846e-45F
153// ARM:#define __FLT_DIG__ 6
154// ARM:#define __FLT_EPSILON__ 1.19209290e-7F
155// ARM:#define __FLT_EVAL_METHOD__ 0
156// ARM:#define __FLT_HAS_DENORM__ 1
157// ARM:#define __FLT_HAS_INFINITY__ 1
158// ARM:#define __FLT_HAS_QUIET_NAN__ 1
159// ARM:#define __FLT_MANT_DIG__ 24
160// ARM:#define __FLT_MAX_10_EXP__ 38
161// ARM:#define __FLT_MAX_EXP__ 128
162// ARM:#define __FLT_MAX__ 3.40282347e+38F
163// ARM:#define __FLT_MIN_10_EXP__ (-37)
164// ARM:#define __FLT_MIN_EXP__ (-125)
165// ARM:#define __FLT_MIN__ 1.17549435e-38F
166// ARM:#define __FLT_RADIX__ 2
167// ARM:#define __INT16_TYPE__ short
168// ARM:#define __INT32_TYPE__ int
169// ARM:#define __INT64_C_SUFFIX__ LL
170// ARM:#define __INT64_TYPE__ long long int
171// ARM:#define __INT8_TYPE__ char
172// ARM:#define __INTMAX_MAX__ 9223372036854775807LL
173// ARM:#define __INTMAX_TYPE__ long long int
174// ARM:#define __INTMAX_WIDTH__ 64
175// ARM:#define __INTPTR_TYPE__ long int
176// ARM:#define __INTPTR_WIDTH__ 32
177// ARM:#define __INT_MAX__ 2147483647
178// ARM:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
179// ARM:#define __LDBL_DIG__ 15
180// ARM:#define __LDBL_EPSILON__ 2.2204460492503131e-16
181// ARM:#define __LDBL_HAS_DENORM__ 1
182// ARM:#define __LDBL_HAS_INFINITY__ 1
183// ARM:#define __LDBL_HAS_QUIET_NAN__ 1
184// ARM:#define __LDBL_MANT_DIG__ 53
185// ARM:#define __LDBL_MAX_10_EXP__ 308
186// ARM:#define __LDBL_MAX_EXP__ 1024
187// ARM:#define __LDBL_MAX__ 1.7976931348623157e+308
188// ARM:#define __LDBL_MIN_10_EXP__ (-307)
189// ARM:#define __LDBL_MIN_EXP__ (-1021)
190// ARM:#define __LDBL_MIN__ 2.2250738585072014e-308
191// ARM:#define __LITTLE_ENDIAN__ 1
192// ARM:#define __LONG_LONG_MAX__ 9223372036854775807LL
193// ARM:#define __LONG_MAX__ 2147483647L
194// ARM:#define __NO_INLINE__ 1
195// ARM:#define __POINTER_WIDTH__ 32
196// ARM:#define __PTRDIFF_TYPE__ int
197// ARM:#define __PTRDIFF_WIDTH__ 32
198// ARM:#define __REGISTER_PREFIX__
199// ARM:#define __SCHAR_MAX__ 127
200// ARM:#define __SHRT_MAX__ 32767
201// ARM:#define __SIG_ATOMIC_WIDTH__ 32
202// ARM:#define __SIZEOF_DOUBLE__ 8
203// ARM:#define __SIZEOF_FLOAT__ 4
204// ARM:#define __SIZEOF_INT__ 4
205// ARM:#define __SIZEOF_LONG_DOUBLE__ 8
206// ARM:#define __SIZEOF_LONG_LONG__ 8
207// ARM:#define __SIZEOF_LONG__ 4
208// ARM:#define __SIZEOF_POINTER__ 4
209// ARM:#define __SIZEOF_PTRDIFF_T__ 4
210// ARM:#define __SIZEOF_SHORT__ 2
211// ARM:#define __SIZEOF_SIZE_T__ 4
212// ARM:#define __SIZEOF_WCHAR_T__ 4
213// ARM:#define __SIZEOF_WINT_T__ 4
214// ARM:#define __SIZE_TYPE__ unsigned int
215// ARM:#define __SIZE_WIDTH__ 32
216// ARM:#define __THUMB_INTERWORK__ 1
217// ARM:#define __UINTMAX_TYPE__ long long unsigned int
218// ARM:#define __USER_LABEL_PREFIX__ _
219// ARM:#define __WCHAR_MAX__ 2147483647
220// ARM:#define __WCHAR_TYPE__ int
221// ARM:#define __WCHAR_WIDTH__ 32
222// ARM:#define __WINT_TYPE__ int
223// ARM:#define __WINT_WIDTH__ 32
224// ARM:#define __arm 1
225// ARM:#define __arm__ 1
226//
227// RUN: %clang_cc1 -E -dM -ffreestanding -triple=bfin-none-none < /dev/null | FileCheck -check-prefix BFIN %s
228//
229// BFIN:#define BFIN 1
230// BFIN:#define __ADSPBLACKFIN__ 1
231// BFIN:#define __ADSPLPBLACKFIN__ 1
232// BFIN:#define __BFIN 1
233// BFIN:#define __BFIN__ 1
234// BFIN:#define __CHAR16_TYPE__ unsigned short
235// BFIN:#define __CHAR32_TYPE__ unsigned int
236// BFIN:#define __CHAR_BIT__ 8
237// BFIN:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
238// BFIN:#define __DBL_DIG__ 15
239// BFIN:#define __DBL_EPSILON__ 2.2204460492503131e-16
240// BFIN:#define __DBL_HAS_DENORM__ 1
241// BFIN:#define __DBL_HAS_INFINITY__ 1
242// BFIN:#define __DBL_HAS_QUIET_NAN__ 1
243// BFIN:#define __DBL_MANT_DIG__ 53
244// BFIN:#define __DBL_MAX_10_EXP__ 308
245// BFIN:#define __DBL_MAX_EXP__ 1024
246// BFIN:#define __DBL_MAX__ 1.7976931348623157e+308
247// BFIN:#define __DBL_MIN_10_EXP__ (-307)
248// BFIN:#define __DBL_MIN_EXP__ (-1021)
249// BFIN:#define __DBL_MIN__ 2.2250738585072014e-308
250// BFIN:#define __DECIMAL_DIG__ 17
251// BFIN:#define __FLT_DENORM_MIN__ 1.40129846e-45F
252// BFIN:#define __FLT_DIG__ 6
253// BFIN:#define __FLT_EPSILON__ 1.19209290e-7F
254// BFIN:#define __FLT_EVAL_METHOD__ 0
255// BFIN:#define __FLT_HAS_DENORM__ 1
256// BFIN:#define __FLT_HAS_INFINITY__ 1
257// BFIN:#define __FLT_HAS_QUIET_NAN__ 1
258// BFIN:#define __FLT_MANT_DIG__ 24
259// BFIN:#define __FLT_MAX_10_EXP__ 38
260// BFIN:#define __FLT_MAX_EXP__ 128
261// BFIN:#define __FLT_MAX__ 3.40282347e+38F
262// BFIN:#define __FLT_MIN_10_EXP__ (-37)
263// BFIN:#define __FLT_MIN_EXP__ (-125)
264// BFIN:#define __FLT_MIN__ 1.17549435e-38F
265// BFIN:#define __FLT_RADIX__ 2
266// BFIN:#define __INT16_TYPE__ short
267// BFIN:#define __INT32_TYPE__ int
268// BFIN:#define __INT64_C_SUFFIX__ LL
269// BFIN:#define __INT64_TYPE__ long long int
270// BFIN:#define __INT8_TYPE__ char
271// BFIN:#define __INTMAX_MAX__ 9223372036854775807LL
272// BFIN:#define __INTMAX_TYPE__ long long int
273// BFIN:#define __INTMAX_WIDTH__ 64
274// BFIN:#define __INTPTR_TYPE__ long int
275// BFIN:#define __INTPTR_WIDTH__ 32
276// BFIN:#define __INT_MAX__ 2147483647
277// BFIN:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
278// BFIN:#define __LDBL_DIG__ 15
279// BFIN:#define __LDBL_EPSILON__ 2.2204460492503131e-16
280// BFIN:#define __LDBL_HAS_DENORM__ 1
281// BFIN:#define __LDBL_HAS_INFINITY__ 1
282// BFIN:#define __LDBL_HAS_QUIET_NAN__ 1
283// BFIN:#define __LDBL_MANT_DIG__ 53
284// BFIN:#define __LDBL_MAX_10_EXP__ 308
285// BFIN:#define __LDBL_MAX_EXP__ 1024
286// BFIN:#define __LDBL_MAX__ 1.7976931348623157e+308
287// BFIN:#define __LDBL_MIN_10_EXP__ (-307)
288// BFIN:#define __LDBL_MIN_EXP__ (-1021)
289// BFIN:#define __LDBL_MIN__ 2.2250738585072014e-308
290// BFIN:#define __LONG_LONG_MAX__ 9223372036854775807LL
291// BFIN:#define __LONG_MAX__ 2147483647L
292// BFIN:#define __NO_INLINE__ 1
293// BFIN:#define __POINTER_WIDTH__ 32
294// BFIN:#define __PTRDIFF_TYPE__ long int
295// BFIN:#define __PTRDIFF_WIDTH__ 32
296// BFIN:#define __SCHAR_MAX__ 127
297// BFIN:#define __SHRT_MAX__ 32767
298// BFIN:#define __SIG_ATOMIC_WIDTH__ 32
299// BFIN:#define __SIZEOF_DOUBLE__ 8
300// BFIN:#define __SIZEOF_FLOAT__ 4
301// BFIN:#define __SIZEOF_INT__ 4
302// BFIN:#define __SIZEOF_LONG_DOUBLE__ 8
303// BFIN:#define __SIZEOF_LONG_LONG__ 8
304// BFIN:#define __SIZEOF_LONG__ 4
305// BFIN:#define __SIZEOF_POINTER__ 4
306// BFIN:#define __SIZEOF_PTRDIFF_T__ 4
307// BFIN:#define __SIZEOF_SHORT__ 2
308// BFIN:#define __SIZEOF_SIZE_T__ 4
309// BFIN:#define __SIZEOF_WCHAR_T__ 4
310// BFIN:#define __SIZEOF_WINT_T__ 4
311// BFIN:#define __SIZE_TYPE__ long unsigned int
312// BFIN:#define __SIZE_WIDTH__ 32
313// BFIN:#define __UINTMAX_TYPE__ long long unsigned int
314// BFIN:#define __USER_LABEL_PREFIX__ _
315// BFIN:#define __WCHAR_MAX__ 2147483647
316// BFIN:#define __WCHAR_TYPE__ int
317// BFIN:#define __WCHAR_WIDTH__ 32
318// BFIN:#define __WINT_TYPE__ int
319// BFIN:#define __WINT_WIDTH__ 32
320// BFIN:#define __bfin 1
321// BFIN:#define __bfin__ 1
322// BFIN:#define bfin 1
323//
324// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
325//
326// I386:#define __CHAR16_TYPE__ unsigned short
327// I386:#define __CHAR32_TYPE__ unsigned int
328// I386:#define __CHAR_BIT__ 8
329// I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
330// I386:#define __DBL_DIG__ 15
331// I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
332// I386:#define __DBL_HAS_DENORM__ 1
333// I386:#define __DBL_HAS_INFINITY__ 1
334// I386:#define __DBL_HAS_QUIET_NAN__ 1
335// I386:#define __DBL_MANT_DIG__ 53
336// I386:#define __DBL_MAX_10_EXP__ 308
337// I386:#define __DBL_MAX_EXP__ 1024
338// I386:#define __DBL_MAX__ 1.7976931348623157e+308
339// I386:#define __DBL_MIN_10_EXP__ (-307)
340// I386:#define __DBL_MIN_EXP__ (-1021)
341// I386:#define __DBL_MIN__ 2.2250738585072014e-308
342// I386:#define __DECIMAL_DIG__ 21
343// I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
344// I386:#define __FLT_DIG__ 6
345// I386:#define __FLT_EPSILON__ 1.19209290e-7F
346// I386:#define __FLT_EVAL_METHOD__ 0
347// I386:#define __FLT_HAS_DENORM__ 1
348// I386:#define __FLT_HAS_INFINITY__ 1
349// I386:#define __FLT_HAS_QUIET_NAN__ 1
350// I386:#define __FLT_MANT_DIG__ 24
351// I386:#define __FLT_MAX_10_EXP__ 38
352// I386:#define __FLT_MAX_EXP__ 128
353// I386:#define __FLT_MAX__ 3.40282347e+38F
354// I386:#define __FLT_MIN_10_EXP__ (-37)
355// I386:#define __FLT_MIN_EXP__ (-125)
356// I386:#define __FLT_MIN__ 1.17549435e-38F
357// I386:#define __FLT_RADIX__ 2
358// I386:#define __INT16_TYPE__ short
359// I386:#define __INT32_TYPE__ int
360// I386:#define __INT64_C_SUFFIX__ LL
361// I386:#define __INT64_TYPE__ long long int
362// I386:#define __INT8_TYPE__ char
363// I386:#define __INTMAX_MAX__ 9223372036854775807LL
364// I386:#define __INTMAX_TYPE__ long long int
365// I386:#define __INTMAX_WIDTH__ 64
366// I386:#define __INTPTR_TYPE__ int
367// I386:#define __INTPTR_WIDTH__ 32
368// I386:#define __INT_MAX__ 2147483647
369// I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
370// I386:#define __LDBL_DIG__ 18
371// I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
372// I386:#define __LDBL_HAS_DENORM__ 1
373// I386:#define __LDBL_HAS_INFINITY__ 1
374// I386:#define __LDBL_HAS_QUIET_NAN__ 1
375// I386:#define __LDBL_MANT_DIG__ 64
376// I386:#define __LDBL_MAX_10_EXP__ 4932
377// I386:#define __LDBL_MAX_EXP__ 16384
378// I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
379// I386:#define __LDBL_MIN_10_EXP__ (-4931)
380// I386:#define __LDBL_MIN_EXP__ (-16381)
381// I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
382// I386:#define __LITTLE_ENDIAN__ 1
383// I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
384// I386:#define __LONG_MAX__ 2147483647L
385// I386:#define __NO_INLINE__ 1
386// I386:#define __NO_MATH_INLINES 1
387// I386:#define __POINTER_WIDTH__ 32
388// I386:#define __PTRDIFF_TYPE__ int
389// I386:#define __PTRDIFF_WIDTH__ 32
390// I386:#define __REGISTER_PREFIX__
391// I386:#define __SCHAR_MAX__ 127
392// I386:#define __SHRT_MAX__ 32767
393// I386:#define __SIG_ATOMIC_WIDTH__ 32
394// I386:#define __SIZEOF_DOUBLE__ 8
395// I386:#define __SIZEOF_FLOAT__ 4
396// I386:#define __SIZEOF_INT__ 4
397// I386:#define __SIZEOF_LONG_DOUBLE__ 12
398// I386:#define __SIZEOF_LONG_LONG__ 8
399// I386:#define __SIZEOF_LONG__ 4
400// I386:#define __SIZEOF_POINTER__ 4
401// I386:#define __SIZEOF_PTRDIFF_T__ 4
402// I386:#define __SIZEOF_SHORT__ 2
403// I386:#define __SIZEOF_SIZE_T__ 4
404// I386:#define __SIZEOF_WCHAR_T__ 4
405// I386:#define __SIZEOF_WINT_T__ 4
406// I386:#define __SIZE_TYPE__ unsigned int
407// I386:#define __SIZE_WIDTH__ 32
408// I386:#define __UINTMAX_TYPE__ long long unsigned int
409// I386:#define __USER_LABEL_PREFIX__ _
410// I386:#define __WCHAR_MAX__ 2147483647
411// I386:#define __WCHAR_TYPE__ int
412// I386:#define __WCHAR_WIDTH__ 32
413// I386:#define __WINT_TYPE__ int
414// I386:#define __WINT_WIDTH__ 32
415// I386:#define __i386 1
416// I386:#define __i386__ 1
417// I386:#define __nocona 1
418// I386:#define __nocona__ 1
419// I386:#define __tune_nocona__ 1
420// I386:#define i386 1
421//
422// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-pc-linux-gnu < /dev/null | FileCheck -check-prefix I386-LINUX %s
423//
424// I386-LINUX:#define __CHAR16_TYPE__ unsigned short
425// I386-LINUX:#define __CHAR32_TYPE__ unsigned int
426// I386-LINUX:#define __CHAR_BIT__ 8
427// I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
428// I386-LINUX:#define __DBL_DIG__ 15
429// I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
430// I386-LINUX:#define __DBL_HAS_DENORM__ 1
431// I386-LINUX:#define __DBL_HAS_INFINITY__ 1
432// I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
433// I386-LINUX:#define __DBL_MANT_DIG__ 53
434// I386-LINUX:#define __DBL_MAX_10_EXP__ 308
435// I386-LINUX:#define __DBL_MAX_EXP__ 1024
436// I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
437// I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
438// I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
439// I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
440// I386-LINUX:#define __DECIMAL_DIG__ 21
441// I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
442// I386-LINUX:#define __FLT_DIG__ 6
443// I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
444// I386-LINUX:#define __FLT_EVAL_METHOD__ 0
445// I386-LINUX:#define __FLT_HAS_DENORM__ 1
446// I386-LINUX:#define __FLT_HAS_INFINITY__ 1
447// I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
448// I386-LINUX:#define __FLT_MANT_DIG__ 24
449// I386-LINUX:#define __FLT_MAX_10_EXP__ 38
450// I386-LINUX:#define __FLT_MAX_EXP__ 128
451// I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
452// I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
453// I386-LINUX:#define __FLT_MIN_EXP__ (-125)
454// I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
455// I386-LINUX:#define __FLT_RADIX__ 2
456// I386-LINUX:#define __INT16_TYPE__ short
457// I386-LINUX:#define __INT32_TYPE__ int
458// I386-LINUX:#define __INT64_C_SUFFIX__ LL
459// I386-LINUX:#define __INT64_TYPE__ long long int
460// I386-LINUX:#define __INT8_TYPE__ char
461// I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
462// I386-LINUX:#define __INTMAX_TYPE__ long long int
463// I386-LINUX:#define __INTMAX_WIDTH__ 64
464// I386-LINUX:#define __INTPTR_TYPE__ int
465// I386-LINUX:#define __INTPTR_WIDTH__ 32
466// I386-LINUX:#define __INT_MAX__ 2147483647
467// I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
468// I386-LINUX:#define __LDBL_DIG__ 18
469// I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
470// I386-LINUX:#define __LDBL_HAS_DENORM__ 1
471// I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
472// I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
473// I386-LINUX:#define __LDBL_MANT_DIG__ 64
474// I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
475// I386-LINUX:#define __LDBL_MAX_EXP__ 16384
476// I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
477// I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
478// I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
479// I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
480// I386-LINUX:#define __LITTLE_ENDIAN__ 1
481// I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
482// I386-LINUX:#define __LONG_MAX__ 2147483647L
483// I386-LINUX:#define __NO_INLINE__ 1
484// I386-LINUX:#define __NO_MATH_INLINES 1
485// I386-LINUX:#define __POINTER_WIDTH__ 32
486// I386-LINUX:#define __PTRDIFF_TYPE__ int
487// I386-LINUX:#define __PTRDIFF_WIDTH__ 32
488// I386-LINUX:#define __REGISTER_PREFIX__
489// I386-LINUX:#define __SCHAR_MAX__ 127
490// I386-LINUX:#define __SHRT_MAX__ 32767
491// I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
492// I386-LINUX:#define __SIZEOF_DOUBLE__ 8
493// I386-LINUX:#define __SIZEOF_FLOAT__ 4
494// I386-LINUX:#define __SIZEOF_INT__ 4
495// I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
496// I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
497// I386-LINUX:#define __SIZEOF_LONG__ 4
498// I386-LINUX:#define __SIZEOF_POINTER__ 4
499// I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
500// I386-LINUX:#define __SIZEOF_SHORT__ 2
501// I386-LINUX:#define __SIZEOF_SIZE_T__ 4
502// I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
503// I386-LINUX:#define __SIZEOF_WINT_T__ 4
504// I386-LINUX:#define __SIZE_TYPE__ unsigned int
505// I386-LINUX:#define __SIZE_WIDTH__ 32
506// I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
507// I386-LINUX:#define __USER_LABEL_PREFIX__
508// I386-LINUX:#define __WCHAR_MAX__ 2147483647
509// I386-LINUX:#define __WCHAR_TYPE__ int
510// I386-LINUX:#define __WCHAR_WIDTH__ 32
511// I386-LINUX:#define __WINT_TYPE__ unsigned int
512// I386-LINUX:#define __WINT_WIDTH__ 32
513// I386-LINUX:#define __i386 1
514// I386-LINUX:#define __i386__ 1
515// I386-LINUX:#define __nocona 1
516// I386-LINUX:#define __nocona__ 1
517// I386-LINUX:#define __tune_nocona__ 1
518// I386-LINUX:#define i386 1
519//
520// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
521//
522// MSP430:#define MSP430 1
523// MSP430:#define __CHAR16_TYPE__ unsigned short
524// MSP430:#define __CHAR32_TYPE__ unsigned int
525// MSP430:#define __CHAR_BIT__ 8
526// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
527// MSP430:#define __DBL_DIG__ 15
528// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
529// MSP430:#define __DBL_HAS_DENORM__ 1
530// MSP430:#define __DBL_HAS_INFINITY__ 1
531// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
532// MSP430:#define __DBL_MANT_DIG__ 53
533// MSP430:#define __DBL_MAX_10_EXP__ 308
534// MSP430:#define __DBL_MAX_EXP__ 1024
535// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
536// MSP430:#define __DBL_MIN_10_EXP__ (-307)
537// MSP430:#define __DBL_MIN_EXP__ (-1021)
538// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
539// MSP430:#define __DECIMAL_DIG__ 17
540// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
541// MSP430:#define __FLT_DIG__ 6
542// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
543// MSP430:#define __FLT_EVAL_METHOD__ 0
544// MSP430:#define __FLT_HAS_DENORM__ 1
545// MSP430:#define __FLT_HAS_INFINITY__ 1
546// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
547// MSP430:#define __FLT_MANT_DIG__ 24
548// MSP430:#define __FLT_MAX_10_EXP__ 38
549// MSP430:#define __FLT_MAX_EXP__ 128
550// MSP430:#define __FLT_MAX__ 3.40282347e+38F
551// MSP430:#define __FLT_MIN_10_EXP__ (-37)
552// MSP430:#define __FLT_MIN_EXP__ (-125)
553// MSP430:#define __FLT_MIN__ 1.17549435e-38F
554// MSP430:#define __FLT_RADIX__ 2
555// MSP430:#define __INT16_TYPE__ short
556// MSP430:#define __INT32_C_SUFFIX__ L
557// MSP430:#define __INT32_TYPE__ long int
558// MSP430:#define __INT8_TYPE__ char
559// MSP430:#define __INTMAX_MAX__ 2147483647L
560// MSP430:#define __INTMAX_TYPE__ long int
561// MSP430:#define __INTMAX_WIDTH__ 32
562// MSP430:#define __INTPTR_TYPE__ short
563// MSP430:#define __INTPTR_WIDTH__ 16
564// MSP430:#define __INT_MAX__ 32767
565// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
566// MSP430:#define __LDBL_DIG__ 15
567// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16
568// MSP430:#define __LDBL_HAS_DENORM__ 1
569// MSP430:#define __LDBL_HAS_INFINITY__ 1
570// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
571// MSP430:#define __LDBL_MANT_DIG__ 53
572// MSP430:#define __LDBL_MAX_10_EXP__ 308
573// MSP430:#define __LDBL_MAX_EXP__ 1024
574// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308
575// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
576// MSP430:#define __LDBL_MIN_EXP__ (-1021)
577// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308
578// MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
579// MSP430:#define __LONG_MAX__ 2147483647L
580// MSP430:#define __MSP430__ 1
581// MSP430:#define __NO_INLINE__ 1
582// MSP430:#define __POINTER_WIDTH__ 16
583// MSP430:#define __PTRDIFF_TYPE__ int
584// MSP430:#define __PTRDIFF_WIDTH__ 16
585// MSP430:#define __SCHAR_MAX__ 127
586// MSP430:#define __SHRT_MAX__ 32767
587// MSP430:#define __SIG_ATOMIC_WIDTH__ 32
588// MSP430:#define __SIZEOF_DOUBLE__ 8
589// MSP430:#define __SIZEOF_FLOAT__ 4
590// MSP430:#define __SIZEOF_INT__ 2
591// MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
592// MSP430:#define __SIZEOF_LONG_LONG__ 8
593// MSP430:#define __SIZEOF_LONG__ 4
594// MSP430:#define __SIZEOF_POINTER__ 2
595// MSP430:#define __SIZEOF_PTRDIFF_T__ 2
596// MSP430:#define __SIZEOF_SHORT__ 2
597// MSP430:#define __SIZEOF_SIZE_T__ 2
598// MSP430:#define __SIZEOF_WCHAR_T__ 2
599// MSP430:#define __SIZEOF_WINT_T__ 2
600// MSP430:#define __SIZE_TYPE__ unsigned int
601// MSP430:#define __SIZE_WIDTH__ 16
602// MSP430:#define __UINTMAX_TYPE__ long unsigned int
603// MSP430:#define __USER_LABEL_PREFIX__ _
604// MSP430:#define __WCHAR_MAX__ 32767
605// MSP430:#define __WCHAR_TYPE__ int
606// MSP430:#define __WCHAR_WIDTH__ 16
607// MSP430:#define __WINT_TYPE__ int
608// MSP430:#define __WINT_WIDTH__ 16
609// MSP430:#define __clang__ 1
610//
611// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64 %s
612//
613// PPC64:#define _ARCH_PPC 1
614// PPC64:#define _ARCH_PPC64 1
615// PPC64:#define _BIG_ENDIAN 1
616// PPC64:#define _LP64 1
617// PPC64:#define __BIG_ENDIAN__ 1
618// PPC64:#define __CHAR16_TYPE__ unsigned short
619// PPC64:#define __CHAR32_TYPE__ unsigned int
620// PPC64:#define __CHAR_BIT__ 8
621// PPC64:#define __CHAR_UNSIGNED__ 1
622// PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
623// PPC64:#define __DBL_DIG__ 15
624// PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
625// PPC64:#define __DBL_HAS_DENORM__ 1
626// PPC64:#define __DBL_HAS_INFINITY__ 1
627// PPC64:#define __DBL_HAS_QUIET_NAN__ 1
628// PPC64:#define __DBL_MANT_DIG__ 53
629// PPC64:#define __DBL_MAX_10_EXP__ 308
630// PPC64:#define __DBL_MAX_EXP__ 1024
631// PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
632// PPC64:#define __DBL_MIN_10_EXP__ (-307)
633// PPC64:#define __DBL_MIN_EXP__ (-1021)
634// PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
635// PPC64:#define __DECIMAL_DIG__ 17
636// PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
637// PPC64:#define __FLT_DIG__ 6
638// PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
639// PPC64:#define __FLT_EVAL_METHOD__ 0
640// PPC64:#define __FLT_HAS_DENORM__ 1
641// PPC64:#define __FLT_HAS_INFINITY__ 1
642// PPC64:#define __FLT_HAS_QUIET_NAN__ 1
643// PPC64:#define __FLT_MANT_DIG__ 24
644// PPC64:#define __FLT_MAX_10_EXP__ 38
645// PPC64:#define __FLT_MAX_EXP__ 128
646// PPC64:#define __FLT_MAX__ 3.40282347e+38F
647// PPC64:#define __FLT_MIN_10_EXP__ (-37)
648// PPC64:#define __FLT_MIN_EXP__ (-125)
649// PPC64:#define __FLT_MIN__ 1.17549435e-38F
650// PPC64:#define __FLT_RADIX__ 2
651// PPC64:#define __INT16_TYPE__ short
652// PPC64:#define __INT32_TYPE__ int
653// PPC64:#define __INT64_C_SUFFIX__ L
654// PPC64:#define __INT64_TYPE__ long int
655// PPC64:#define __INT8_TYPE__ char
656// PPC64:#define __INTMAX_MAX__ 9223372036854775807L
657// PPC64:#define __INTMAX_TYPE__ long int
658// PPC64:#define __INTMAX_WIDTH__ 64
659// PPC64:#define __INTPTR_TYPE__ long int
660// PPC64:#define __INTPTR_WIDTH__ 64
661// PPC64:#define __INT_MAX__ 2147483647
662// PPC64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
663// PPC64:#define __LDBL_DIG__ 15
664// PPC64:#define __LDBL_EPSILON__ 2.2204460492503131e-16
665// PPC64:#define __LDBL_HAS_DENORM__ 1
666// PPC64:#define __LDBL_HAS_INFINITY__ 1
667// PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
668// PPC64:#define __LDBL_MANT_DIG__ 53
669// PPC64:#define __LDBL_MAX_10_EXP__ 308
670// PPC64:#define __LDBL_MAX_EXP__ 1024
671// PPC64:#define __LDBL_MAX__ 1.7976931348623157e+308
672// PPC64:#define __LDBL_MIN_10_EXP__ (-307)
673// PPC64:#define __LDBL_MIN_EXP__ (-1021)
674// PPC64:#define __LDBL_MIN__ 2.2250738585072014e-308
675// PPC64:#define __LONG_DOUBLE_128__ 1
676// PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
677// PPC64:#define __LONG_MAX__ 9223372036854775807L
678// PPC64:#define __LP64__ 1
679// PPC64:#define __NATURAL_ALIGNMENT__ 1
680// PPC64:#define __NO_INLINE__ 1
681// PPC64:#define __POINTER_WIDTH__ 64
682// PPC64:#define __POWERPC__ 1
683// PPC64:#define __PTRDIFF_TYPE__ long int
684// PPC64:#define __PTRDIFF_WIDTH__ 64
685// PPC64:#define __REGISTER_PREFIX__
686// PPC64:#define __SCHAR_MAX__ 127
687// PPC64:#define __SHRT_MAX__ 32767
688// PPC64:#define __SIG_ATOMIC_WIDTH__ 32
689// PPC64:#define __SIZEOF_DOUBLE__ 8
690// PPC64:#define __SIZEOF_FLOAT__ 4
691// PPC64:#define __SIZEOF_INT__ 4
692// PPC64:#define __SIZEOF_LONG_DOUBLE__ 8
693// PPC64:#define __SIZEOF_LONG_LONG__ 8
694// PPC64:#define __SIZEOF_LONG__ 8
695// PPC64:#define __SIZEOF_POINTER__ 8
696// PPC64:#define __SIZEOF_PTRDIFF_T__ 8
697// PPC64:#define __SIZEOF_SHORT__ 2
698// PPC64:#define __SIZEOF_SIZE_T__ 8
699// PPC64:#define __SIZEOF_WCHAR_T__ 4
700// PPC64:#define __SIZEOF_WINT_T__ 4
701// PPC64:#define __SIZE_TYPE__ long unsigned int
702// PPC64:#define __SIZE_WIDTH__ 64
703// PPC64:#define __UINTMAX_TYPE__ long unsigned int
704// PPC64:#define __USER_LABEL_PREFIX__ _
705// PPC64:#define __WCHAR_MAX__ 2147483647
706// PPC64:#define __WCHAR_TYPE__ int
707// PPC64:#define __WCHAR_WIDTH__ 32
708// PPC64:#define __WINT_TYPE__ int
709// PPC64:#define __WINT_WIDTH__ 32
710// PPC64:#define __ppc64__ 1
711// PPC64:#define __ppc__ 1
712//
713// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix PPC %s
714//
715// PPC:#define _ARCH_PPC 1
716// PPC:#define _BIG_ENDIAN 1
717// PPC:#define __BIG_ENDIAN__ 1
718// PPC:#define __CHAR16_TYPE__ unsigned short
719// PPC:#define __CHAR32_TYPE__ unsigned int
720// PPC:#define __CHAR_BIT__ 8
721// PPC:#define __CHAR_UNSIGNED__ 1
722// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
723// PPC:#define __DBL_DIG__ 15
724// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
725// PPC:#define __DBL_HAS_DENORM__ 1
726// PPC:#define __DBL_HAS_INFINITY__ 1
727// PPC:#define __DBL_HAS_QUIET_NAN__ 1
728// PPC:#define __DBL_MANT_DIG__ 53
729// PPC:#define __DBL_MAX_10_EXP__ 308
730// PPC:#define __DBL_MAX_EXP__ 1024
731// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
732// PPC:#define __DBL_MIN_10_EXP__ (-307)
733// PPC:#define __DBL_MIN_EXP__ (-1021)
734// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
735// PPC:#define __DECIMAL_DIG__ 17
736// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
737// PPC:#define __FLT_DIG__ 6
738// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
739// PPC:#define __FLT_EVAL_METHOD__ 0
740// PPC:#define __FLT_HAS_DENORM__ 1
741// PPC:#define __FLT_HAS_INFINITY__ 1
742// PPC:#define __FLT_HAS_QUIET_NAN__ 1
743// PPC:#define __FLT_MANT_DIG__ 24
744// PPC:#define __FLT_MAX_10_EXP__ 38
745// PPC:#define __FLT_MAX_EXP__ 128
746// PPC:#define __FLT_MAX__ 3.40282347e+38F
747// PPC:#define __FLT_MIN_10_EXP__ (-37)
748// PPC:#define __FLT_MIN_EXP__ (-125)
749// PPC:#define __FLT_MIN__ 1.17549435e-38F
750// PPC:#define __FLT_RADIX__ 2
751// PPC:#define __INT16_TYPE__ short
752// PPC:#define __INT32_TYPE__ int
753// PPC:#define __INT64_C_SUFFIX__ LL
754// PPC:#define __INT64_TYPE__ long long int
755// PPC:#define __INT8_TYPE__ char
756// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
757// PPC:#define __INTMAX_TYPE__ long long int
758// PPC:#define __INTMAX_WIDTH__ 64
759// PPC:#define __INTPTR_TYPE__ long int
760// PPC:#define __INTPTR_WIDTH__ 32
761// PPC:#define __INT_MAX__ 2147483647
762// PPC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
763// PPC:#define __LDBL_DIG__ 15
764// PPC:#define __LDBL_EPSILON__ 2.2204460492503131e-16
765// PPC:#define __LDBL_HAS_DENORM__ 1
766// PPC:#define __LDBL_HAS_INFINITY__ 1
767// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
768// PPC:#define __LDBL_MANT_DIG__ 53
769// PPC:#define __LDBL_MAX_10_EXP__ 308
770// PPC:#define __LDBL_MAX_EXP__ 1024
771// PPC:#define __LDBL_MAX__ 1.7976931348623157e+308
772// PPC:#define __LDBL_MIN_10_EXP__ (-307)
773// PPC:#define __LDBL_MIN_EXP__ (-1021)
774// PPC:#define __LDBL_MIN__ 2.2250738585072014e-308
775// PPC:#define __LONG_DOUBLE_128__ 1
776// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
777// PPC:#define __LONG_MAX__ 2147483647L
778// PPC:#define __NATURAL_ALIGNMENT__ 1
779// PPC:#define __NO_INLINE__ 1
780// PPC:#define __POINTER_WIDTH__ 32
781// PPC:#define __POWERPC__ 1
782// PPC:#define __PTRDIFF_TYPE__ long int
783// PPC:#define __PTRDIFF_WIDTH__ 32
784// PPC:#define __REGISTER_PREFIX__
785// PPC:#define __SCHAR_MAX__ 127
786// PPC:#define __SHRT_MAX__ 32767
787// PPC:#define __SIG_ATOMIC_WIDTH__ 32
788// PPC:#define __SIZEOF_DOUBLE__ 8
789// PPC:#define __SIZEOF_FLOAT__ 4
790// PPC:#define __SIZEOF_INT__ 4
791// PPC:#define __SIZEOF_LONG_DOUBLE__ 8
792// PPC:#define __SIZEOF_LONG_LONG__ 8
793// PPC:#define __SIZEOF_LONG__ 4
794// PPC:#define __SIZEOF_POINTER__ 4
795// PPC:#define __SIZEOF_PTRDIFF_T__ 4
796// PPC:#define __SIZEOF_SHORT__ 2
797// PPC:#define __SIZEOF_SIZE_T__ 4
798// PPC:#define __SIZEOF_WCHAR_T__ 4
799// PPC:#define __SIZEOF_WINT_T__ 4
800// PPC:#define __SIZE_TYPE__ long unsigned int
801// PPC:#define __SIZE_WIDTH__ 32
802// PPC:#define __UINTMAX_TYPE__ long long unsigned int
803// PPC:#define __USER_LABEL_PREFIX__ _
804// PPC:#define __WCHAR_MAX__ 2147483647
805// PPC:#define __WCHAR_TYPE__ int
806// PPC:#define __WCHAR_WIDTH__ 32
807// PPC:#define __WINT_TYPE__ int
808// PPC:#define __WINT_WIDTH__ 32
809// PPC:#define __ppc__ 1
810//
811// RUN: %clang_cc1 -E -dM -ffreestanding -triple=s390x-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix S390X %s
812//
813// S390X:#define __CHAR16_TYPE__ unsigned short
814// S390X:#define __CHAR32_TYPE__ unsigned int
815// S390X:#define __CHAR_BIT__ 8
816// S390X:#define __CHAR_UNSIGNED__ 1
817// S390X:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
818// S390X:#define __DBL_DIG__ 15
819// S390X:#define __DBL_EPSILON__ 2.2204460492503131e-16
820// S390X:#define __DBL_HAS_DENORM__ 1
821// S390X:#define __DBL_HAS_INFINITY__ 1
822// S390X:#define __DBL_HAS_QUIET_NAN__ 1
823// S390X:#define __DBL_MANT_DIG__ 53
824// S390X:#define __DBL_MAX_10_EXP__ 308
825// S390X:#define __DBL_MAX_EXP__ 1024
826// S390X:#define __DBL_MAX__ 1.7976931348623157e+308
827// S390X:#define __DBL_MIN_10_EXP__ (-307)
828// S390X:#define __DBL_MIN_EXP__ (-1021)
829// S390X:#define __DBL_MIN__ 2.2250738585072014e-308
830// S390X:#define __DECIMAL_DIG__ 17
831// S390X:#define __FLT_DENORM_MIN__ 1.40129846e-45F
832// S390X:#define __FLT_DIG__ 6
833// S390X:#define __FLT_EPSILON__ 1.19209290e-7F
834// S390X:#define __FLT_EVAL_METHOD__ 0
835// S390X:#define __FLT_HAS_DENORM__ 1
836// S390X:#define __FLT_HAS_INFINITY__ 1
837// S390X:#define __FLT_HAS_QUIET_NAN__ 1
838// S390X:#define __FLT_MANT_DIG__ 24
839// S390X:#define __FLT_MAX_10_EXP__ 38
840// S390X:#define __FLT_MAX_EXP__ 128
841// S390X:#define __FLT_MAX__ 3.40282347e+38F
842// S390X:#define __FLT_MIN_10_EXP__ (-37)
843// S390X:#define __FLT_MIN_EXP__ (-125)
844// S390X:#define __FLT_MIN__ 1.17549435e-38F
845// S390X:#define __FLT_RADIX__ 2
846// S390X:#define __INT16_TYPE__ short
847// S390X:#define __INT32_TYPE__ int
848// S390X:#define __INT64_C_SUFFIX__ L
849// S390X:#define __INT64_TYPE__ long long int
850// S390X:#define __INT8_TYPE__ char
851// S390X:#define __INTMAX_MAX__ 9223372036854775807LL
852// S390X:#define __INTMAX_TYPE__ long long int
853// S390X:#define __INTMAX_WIDTH__ 64
854// S390X:#define __INTPTR_TYPE__ long int
855// S390X:#define __INTPTR_WIDTH__ 64
856// S390X:#define __INT_MAX__ 2147483647
857// S390X:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
858// S390X:#define __LDBL_DIG__ 15
859// S390X:#define __LDBL_EPSILON__ 2.2204460492503131e-16
860// S390X:#define __LDBL_HAS_DENORM__ 1
861// S390X:#define __LDBL_HAS_INFINITY__ 1
862// S390X:#define __LDBL_HAS_QUIET_NAN__ 1
863// S390X:#define __LDBL_MANT_DIG__ 53
864// S390X:#define __LDBL_MAX_10_EXP__ 308
865// S390X:#define __LDBL_MAX_EXP__ 1024
866// S390X:#define __LDBL_MAX__ 1.7976931348623157e+308
867// S390X:#define __LDBL_MIN_10_EXP__ (-307)
868// S390X:#define __LDBL_MIN_EXP__ (-1021)
869// S390X:#define __LDBL_MIN__ 2.2250738585072014e-308
870// S390X:#define __LONG_LONG_MAX__ 9223372036854775807LL
871// S390X:#define __LONG_MAX__ 9223372036854775807L
872// S390X:#define __NO_INLINE__ 1
873// S390X:#define __POINTER_WIDTH__ 64
874// S390X:#define __PTRDIFF_TYPE__ long int
875// S390X:#define __PTRDIFF_WIDTH__ 64
876// S390X:#define __SCHAR_MAX__ 127
877// S390X:#define __SHRT_MAX__ 32767
878// S390X:#define __SIG_ATOMIC_WIDTH__ 32
879// S390X:#define __SIZEOF_DOUBLE__ 8
880// S390X:#define __SIZEOF_FLOAT__ 4
881// S390X:#define __SIZEOF_INT__ 4
882// S390X:#define __SIZEOF_LONG_DOUBLE__ 8
883// S390X:#define __SIZEOF_LONG_LONG__ 8
884// S390X:#define __SIZEOF_LONG__ 8
885// S390X:#define __SIZEOF_POINTER__ 8
886// S390X:#define __SIZEOF_PTRDIFF_T__ 8
887// S390X:#define __SIZEOF_SHORT__ 2
888// S390X:#define __SIZEOF_SIZE_T__ 8
889// S390X:#define __SIZEOF_WCHAR_T__ 4
890// S390X:#define __SIZEOF_WINT_T__ 4
891// S390X:#define __SIZE_TYPE__ long unsigned int
892// S390X:#define __SIZE_WIDTH__ 64
893// S390X:#define __UINTMAX_TYPE__ long long unsigned int
894// S390X:#define __USER_LABEL_PREFIX__ _
895// S390X:#define __WCHAR_MAX__ 2147483647
896// S390X:#define __WCHAR_TYPE__ int
897// S390X:#define __WCHAR_WIDTH__ 32
898// S390X:#define __WINT_TYPE__ int
899// S390X:#define __WINT_WIDTH__ 32
900// S390X:#define __s390__ 1
901// S390X:#define __s390x__ 1
902//
903// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
904//
905// SPARC:#define __CHAR16_TYPE__ unsigned short
906// SPARC:#define __CHAR32_TYPE__ unsigned int
907// SPARC:#define __CHAR_BIT__ 8
908// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
909// SPARC:#define __DBL_DIG__ 15
910// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
911// SPARC:#define __DBL_HAS_DENORM__ 1
912// SPARC:#define __DBL_HAS_INFINITY__ 1
913// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
914// SPARC:#define __DBL_MANT_DIG__ 53
915// SPARC:#define __DBL_MAX_10_EXP__ 308
916// SPARC:#define __DBL_MAX_EXP__ 1024
917// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
918// SPARC:#define __DBL_MIN_10_EXP__ (-307)
919// SPARC:#define __DBL_MIN_EXP__ (-1021)
920// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
921// SPARC:#define __DECIMAL_DIG__ 17
922// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
923// SPARC:#define __FLT_DIG__ 6
924// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
925// SPARC:#define __FLT_EVAL_METHOD__ 0
926// SPARC:#define __FLT_HAS_DENORM__ 1
927// SPARC:#define __FLT_HAS_INFINITY__ 1
928// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
929// SPARC:#define __FLT_MANT_DIG__ 24
930// SPARC:#define __FLT_MAX_10_EXP__ 38
931// SPARC:#define __FLT_MAX_EXP__ 128
932// SPARC:#define __FLT_MAX__ 3.40282347e+38F
933// SPARC:#define __FLT_MIN_10_EXP__ (-37)
934// SPARC:#define __FLT_MIN_EXP__ (-125)
935// SPARC:#define __FLT_MIN__ 1.17549435e-38F
936// SPARC:#define __FLT_RADIX__ 2
937// SPARC:#define __INT16_TYPE__ short
938// SPARC:#define __INT32_TYPE__ int
939// SPARC:#define __INT64_C_SUFFIX__ LL
940// SPARC:#define __INT64_TYPE__ long long int
941// SPARC:#define __INT8_TYPE__ char
942// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
943// SPARC:#define __INTMAX_TYPE__ long long int
944// SPARC:#define __INTMAX_WIDTH__ 64
945// SPARC:#define __INTPTR_TYPE__ long int
946// SPARC:#define __INTPTR_WIDTH__ 32
947// SPARC:#define __INT_MAX__ 2147483647
948// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
949// SPARC:#define __LDBL_DIG__ 15
950// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16
951// SPARC:#define __LDBL_HAS_DENORM__ 1
952// SPARC:#define __LDBL_HAS_INFINITY__ 1
953// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
954// SPARC:#define __LDBL_MANT_DIG__ 53
955// SPARC:#define __LDBL_MAX_10_EXP__ 308
956// SPARC:#define __LDBL_MAX_EXP__ 1024
957// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308
958// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
959// SPARC:#define __LDBL_MIN_EXP__ (-1021)
960// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308
961// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
962// SPARC:#define __LONG_MAX__ 2147483647L
963// SPARC:#define __NO_INLINE__ 1
964// SPARC:#define __POINTER_WIDTH__ 32
965// SPARC:#define __PTRDIFF_TYPE__ long int
966// SPARC:#define __PTRDIFF_WIDTH__ 32
967// SPARC:#define __REGISTER_PREFIX__
968// SPARC:#define __SCHAR_MAX__ 127
969// SPARC:#define __SHRT_MAX__ 32767
970// SPARC:#define __SIG_ATOMIC_WIDTH__ 32
971// SPARC:#define __SIZEOF_DOUBLE__ 8
972// SPARC:#define __SIZEOF_FLOAT__ 4
973// SPARC:#define __SIZEOF_INT__ 4
974// SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
975// SPARC:#define __SIZEOF_LONG_LONG__ 8
976// SPARC:#define __SIZEOF_LONG__ 4
977// SPARC:#define __SIZEOF_POINTER__ 4
978// SPARC:#define __SIZEOF_PTRDIFF_T__ 4
979// SPARC:#define __SIZEOF_SHORT__ 2
980// SPARC:#define __SIZEOF_SIZE_T__ 4
981// SPARC:#define __SIZEOF_WCHAR_T__ 4
982// SPARC:#define __SIZEOF_WINT_T__ 4
983// SPARC:#define __SIZE_TYPE__ long unsigned int
984// SPARC:#define __SIZE_WIDTH__ 32
985// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
986// SPARC:#define __USER_LABEL_PREFIX__ _
987// SPARC:#define __VERSION__ "4.2.1 Compatible
988// SPARC:#define __WCHAR_MAX__ 2147483647
989// SPARC:#define __WCHAR_TYPE__ int
990// SPARC:#define __WCHAR_WIDTH__ 32
991// SPARC:#define __WINT_TYPE__ int
992// SPARC:#define __WINT_WIDTH__ 32
993// SPARC:#define __sparc 1
994// SPARC:#define __sparc__ 1
995// SPARC:#define __sparcv8 1
996// SPARC:#define sparc 1
997//
998// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
999//
1000// TCE:#define __CHAR16_TYPE__ unsigned short
1001// TCE:#define __CHAR32_TYPE__ unsigned int
1002// TCE:#define __CHAR_BIT__ 8
1003// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45F
1004// TCE:#define __DBL_DIG__ 6
1005// TCE:#define __DBL_EPSILON__ 1.19209290e-7F
1006// TCE:#define __DBL_HAS_DENORM__ 1
1007// TCE:#define __DBL_HAS_INFINITY__ 1
1008// TCE:#define __DBL_HAS_QUIET_NAN__ 1
1009// TCE:#define __DBL_MANT_DIG__ 24
1010// TCE:#define __DBL_MAX_10_EXP__ 38
1011// TCE:#define __DBL_MAX_EXP__ 128
1012// TCE:#define __DBL_MAX__ 3.40282347e+38F
1013// TCE:#define __DBL_MIN_10_EXP__ (-37)
1014// TCE:#define __DBL_MIN_EXP__ (-125)
1015// TCE:#define __DBL_MIN__ 1.17549435e-38F
1016// TCE:#define __DECIMAL_DIG__ -1
1017// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1018// TCE:#define __FLT_DIG__ 6
1019// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
1020// TCE:#define __FLT_EVAL_METHOD__ 0
1021// TCE:#define __FLT_HAS_DENORM__ 1
1022// TCE:#define __FLT_HAS_INFINITY__ 1
1023// TCE:#define __FLT_HAS_QUIET_NAN__ 1
1024// TCE:#define __FLT_MANT_DIG__ 24
1025// TCE:#define __FLT_MAX_10_EXP__ 38
1026// TCE:#define __FLT_MAX_EXP__ 128
1027// TCE:#define __FLT_MAX__ 3.40282347e+38F
1028// TCE:#define __FLT_MIN_10_EXP__ (-37)
1029// TCE:#define __FLT_MIN_EXP__ (-125)
1030// TCE:#define __FLT_MIN__ 1.17549435e-38F
1031// TCE:#define __FLT_RADIX__ 2
1032// TCE:#define __INT16_TYPE__ short
1033// TCE:#define __INT32_TYPE__ int
1034// TCE:#define __INT8_TYPE__ char
1035// TCE:#define __INTMAX_MAX__ 2147483647L
1036// TCE:#define __INTMAX_TYPE__ long int
1037// TCE:#define __INTMAX_WIDTH__ 32
1038// TCE:#define __INTPTR_TYPE__ int
1039// TCE:#define __INTPTR_WIDTH__ 32
1040// TCE:#define __INT_MAX__ 2147483647
1041// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45F
1042// TCE:#define __LDBL_DIG__ 6
1043// TCE:#define __LDBL_EPSILON__ 1.19209290e-7F
1044// TCE:#define __LDBL_HAS_DENORM__ 1
1045// TCE:#define __LDBL_HAS_INFINITY__ 1
1046// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
1047// TCE:#define __LDBL_MANT_DIG__ 24
1048// TCE:#define __LDBL_MAX_10_EXP__ 38
1049// TCE:#define __LDBL_MAX_EXP__ 128
1050// TCE:#define __LDBL_MAX__ 3.40282347e+38F
1051// TCE:#define __LDBL_MIN_10_EXP__ (-37)
1052// TCE:#define __LDBL_MIN_EXP__ (-125)
1053// TCE:#define __LDBL_MIN__ 1.17549435e-38F
1054// TCE:#define __LONG_LONG_MAX__ 2147483647LL
1055// TCE:#define __LONG_MAX__ 2147483647L
1056// TCE:#define __NO_INLINE__ 1
1057// TCE:#define __POINTER_WIDTH__ 32
1058// TCE:#define __PTRDIFF_TYPE__ int
1059// TCE:#define __PTRDIFF_WIDTH__ 32
1060// TCE:#define __SCHAR_MAX__ 127
1061// TCE:#define __SHRT_MAX__ 32767
1062// TCE:#define __SIG_ATOMIC_WIDTH__ 32
1063// TCE:#define __SIZEOF_DOUBLE__ 4
1064// TCE:#define __SIZEOF_FLOAT__ 4
1065// TCE:#define __SIZEOF_INT__ 4
1066// TCE:#define __SIZEOF_LONG_DOUBLE__ 4
1067// TCE:#define __SIZEOF_LONG_LONG__ 4
1068// TCE:#define __SIZEOF_LONG__ 4
1069// TCE:#define __SIZEOF_POINTER__ 4
1070// TCE:#define __SIZEOF_PTRDIFF_T__ 4
1071// TCE:#define __SIZEOF_SHORT__ 2
1072// TCE:#define __SIZEOF_SIZE_T__ 4
1073// TCE:#define __SIZEOF_WCHAR_T__ 4
1074// TCE:#define __SIZEOF_WINT_T__ 4
1075// TCE:#define __SIZE_TYPE__ unsigned int
1076// TCE:#define __SIZE_WIDTH__ 32
1077// TCE:#define __TCE_V1__ 1
1078// TCE:#define __TCE__ 1
1079// TCE:#define __UINTMAX_TYPE__ long unsigned int
1080// TCE:#define __USER_LABEL_PREFIX__ _
1081// TCE:#define __WCHAR_MAX__ 2147483647
1082// TCE:#define __WCHAR_TYPE__ int
1083// TCE:#define __WCHAR_WIDTH__ 32
1084// TCE:#define __WINT_TYPE__ int
1085// TCE:#define __WINT_WIDTH__ 32
1086// TCE:#define __tce 1
1087// TCE:#define __tce__ 1
1088// TCE:#define tce 1
1089//
1090// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-none-none < /dev/null | FileCheck -check-prefix X86_64 %s
1091//
1092// X86_64:#define _LP64 1
1093// X86_64:#define __CHAR16_TYPE__ unsigned short
1094// X86_64:#define __CHAR32_TYPE__ unsigned int
1095// X86_64:#define __CHAR_BIT__ 8
1096// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1097// X86_64:#define __DBL_DIG__ 15
1098// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1099// X86_64:#define __DBL_HAS_DENORM__ 1
1100// X86_64:#define __DBL_HAS_INFINITY__ 1
1101// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
1102// X86_64:#define __DBL_MANT_DIG__ 53
1103// X86_64:#define __DBL_MAX_10_EXP__ 308
1104// X86_64:#define __DBL_MAX_EXP__ 1024
1105// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
1106// X86_64:#define __DBL_MIN_10_EXP__ (-307)
1107// X86_64:#define __DBL_MIN_EXP__ (-1021)
1108// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
1109// X86_64:#define __DECIMAL_DIG__ 21
1110// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1111// X86_64:#define __FLT_DIG__ 6
1112// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
1113// X86_64:#define __FLT_EVAL_METHOD__ 0
1114// X86_64:#define __FLT_HAS_DENORM__ 1
1115// X86_64:#define __FLT_HAS_INFINITY__ 1
1116// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
1117// X86_64:#define __FLT_MANT_DIG__ 24
1118// X86_64:#define __FLT_MAX_10_EXP__ 38
1119// X86_64:#define __FLT_MAX_EXP__ 128
1120// X86_64:#define __FLT_MAX__ 3.40282347e+38F
1121// X86_64:#define __FLT_MIN_10_EXP__ (-37)
1122// X86_64:#define __FLT_MIN_EXP__ (-125)
1123// X86_64:#define __FLT_MIN__ 1.17549435e-38F
1124// X86_64:#define __FLT_RADIX__ 2
1125// X86_64:#define __INT16_TYPE__ short
1126// X86_64:#define __INT32_TYPE__ int
1127// X86_64:#define __INT64_C_SUFFIX__ L
1128// X86_64:#define __INT64_TYPE__ long int
1129// X86_64:#define __INT8_TYPE__ char
1130// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
1131// X86_64:#define __INTMAX_TYPE__ long int
1132// X86_64:#define __INTMAX_WIDTH__ 64
1133// X86_64:#define __INTPTR_TYPE__ long int
1134// X86_64:#define __INTPTR_WIDTH__ 64
1135// X86_64:#define __INT_MAX__ 2147483647
1136// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1137// X86_64:#define __LDBL_DIG__ 18
1138// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1139// X86_64:#define __LDBL_HAS_DENORM__ 1
1140// X86_64:#define __LDBL_HAS_INFINITY__ 1
1141// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
1142// X86_64:#define __LDBL_MANT_DIG__ 64
1143// X86_64:#define __LDBL_MAX_10_EXP__ 4932
1144// X86_64:#define __LDBL_MAX_EXP__ 16384
1145// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1146// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
1147// X86_64:#define __LDBL_MIN_EXP__ (-16381)
1148// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1149// X86_64:#define __LITTLE_ENDIAN__ 1
1150// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1151// X86_64:#define __LONG_MAX__ 9223372036854775807L
1152// X86_64:#define __LP64__ 1
1153// X86_64:#define __MMX__ 1
1154// X86_64:#define __NO_INLINE__ 1
1155// X86_64:#define __NO_MATH_INLINES 1
1156// X86_64:#define __POINTER_WIDTH__ 64
1157// X86_64:#define __PTRDIFF_TYPE__ long int
1158// X86_64:#define __PTRDIFF_WIDTH__ 64
1159// X86_64:#define __REGISTER_PREFIX__
1160// X86_64:#define __SCHAR_MAX__ 127
1161// X86_64:#define __SHRT_MAX__ 32767
1162// X86_64:#define __SIG_ATOMIC_WIDTH__ 32
1163// X86_64:#define __SIZEOF_DOUBLE__ 8
1164// X86_64:#define __SIZEOF_FLOAT__ 4
1165// X86_64:#define __SIZEOF_INT__ 4
1166// X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
1167// X86_64:#define __SIZEOF_LONG_LONG__ 8
1168// X86_64:#define __SIZEOF_LONG__ 8
1169// X86_64:#define __SIZEOF_POINTER__ 8
1170// X86_64:#define __SIZEOF_PTRDIFF_T__ 8
1171// X86_64:#define __SIZEOF_SHORT__ 2
1172// X86_64:#define __SIZEOF_SIZE_T__ 8
1173// X86_64:#define __SIZEOF_WCHAR_T__ 4
1174// X86_64:#define __SIZEOF_WINT_T__ 4
1175// X86_64:#define __SIZE_TYPE__ long unsigned int
1176// X86_64:#define __SIZE_WIDTH__ 64
1177// X86_64:#define __SSE2_MATH__ 1
1178// X86_64:#define __SSE2__ 1
1179// X86_64:#define __SSE_MATH__ 1
1180// X86_64:#define __SSE__ 1
1181// X86_64:#define __UINTMAX_TYPE__ long unsigned int
1182// X86_64:#define __USER_LABEL_PREFIX__ _
1183// X86_64:#define __WCHAR_MAX__ 2147483647
1184// X86_64:#define __WCHAR_TYPE__ int
1185// X86_64:#define __WCHAR_WIDTH__ 32
1186// X86_64:#define __WINT_TYPE__ int
1187// X86_64:#define __WINT_WIDTH__ 32
1188// X86_64:#define __amd64 1
1189// X86_64:#define __amd64__ 1
1190// X86_64:#define __nocona 1
1191// X86_64:#define __nocona__ 1
1192// X86_64:#define __tune_nocona__ 1
1193// X86_64:#define __x86_64 1
1194// X86_64:#define __x86_64__ 1
1195//
1196// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
1197//
1198// X86_64-LINUX:#define _LP64 1
1199// X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
1200// X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
1201// X86_64-LINUX:#define __CHAR_BIT__ 8
1202// X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1203// X86_64-LINUX:#define __DBL_DIG__ 15
1204// X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
1205// X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
1206// X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
1207// X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
1208// X86_64-LINUX:#define __DBL_MANT_DIG__ 53
1209// X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
1210// X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
1211// X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
1212// X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
1213// X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
1214// X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
1215// X86_64-LINUX:#define __DECIMAL_DIG__ 21
1216// X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1217// X86_64-LINUX:#define __FLT_DIG__ 6
1218// X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
1219// X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
1220// X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
1221// X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
1222// X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
1223// X86_64-LINUX:#define __FLT_MANT_DIG__ 24
1224// X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
1225// X86_64-LINUX:#define __FLT_MAX_EXP__ 128
1226// X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
1227// X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
1228// X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
1229// X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
1230// X86_64-LINUX:#define __FLT_RADIX__ 2
1231// X86_64-LINUX:#define __INT16_TYPE__ short
1232// X86_64-LINUX:#define __INT32_TYPE__ int
1233// X86_64-LINUX:#define __INT64_C_SUFFIX__ L
1234// X86_64-LINUX:#define __INT64_TYPE__ long int
1235// X86_64-LINUX:#define __INT8_TYPE__ char
1236// X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
1237// X86_64-LINUX:#define __INTMAX_TYPE__ long int
1238// X86_64-LINUX:#define __INTMAX_WIDTH__ 64
1239// X86_64-LINUX:#define __INTPTR_TYPE__ long int
1240// X86_64-LINUX:#define __INTPTR_WIDTH__ 64
1241// X86_64-LINUX:#define __INT_MAX__ 2147483647
1242// X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1243// X86_64-LINUX:#define __LDBL_DIG__ 18
1244// X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1245// X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
1246// X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
1247// X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
1248// X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
1249// X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
1250// X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
1251// X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1252// X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
1253// X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
1254// X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1255// X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
1256// X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
1257// X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
1258// X86_64-LINUX:#define __LP64__ 1
1259// X86_64-LINUX:#define __MMX__ 1
1260// X86_64-LINUX:#define __NO_INLINE__ 1
1261// X86_64-LINUX:#define __NO_MATH_INLINES 1
1262// X86_64-LINUX:#define __POINTER_WIDTH__ 64
1263// X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
1264// X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
1265// X86_64-LINUX:#define __REGISTER_PREFIX__
1266// X86_64-LINUX:#define __SCHAR_MAX__ 127
1267// X86_64-LINUX:#define __SHRT_MAX__ 32767
1268// X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
1269// X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
1270// X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
1271// X86_64-LINUX:#define __SIZEOF_INT__ 4
1272// X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
1273// X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
1274// X86_64-LINUX:#define __SIZEOF_LONG__ 8
1275// X86_64-LINUX:#define __SIZEOF_POINTER__ 8
1276// X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
1277// X86_64-LINUX:#define __SIZEOF_SHORT__ 2
1278// X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
1279// X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
1280// X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
1281// X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
1282// X86_64-LINUX:#define __SIZE_WIDTH__ 64
1283// X86_64-LINUX:#define __SSE2_MATH__ 1
1284// X86_64-LINUX:#define __SSE2__ 1
1285// X86_64-LINUX:#define __SSE_MATH__ 1
1286// X86_64-LINUX:#define __SSE__ 1
1287// X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
1288// X86_64-LINUX:#define __USER_LABEL_PREFIX__
1289// X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
1290// X86_64-LINUX:#define __WCHAR_TYPE__ int
1291// X86_64-LINUX:#define __WCHAR_WIDTH__ 32
1292// X86_64-LINUX:#define __WINT_TYPE__ unsigned int
1293// X86_64-LINUX:#define __WINT_WIDTH__ 32
1294// X86_64-LINUX:#define __amd64 1
1295// X86_64-LINUX:#define __amd64__ 1
1296// X86_64-LINUX:#define __nocona 1
1297// X86_64-LINUX:#define __nocona__ 1
1298// X86_64-LINUX:#define __tune_nocona__ 1
1299// X86_64-LINUX:#define __x86_64 1
1300// X86_64-LINUX:#define __x86_64__ 1
1301//
1302// RUN: %clang_cc1 -x c++ -triple i686-pc-linux-gnu -E -dM < /dev/null | FileCheck -check-prefix GNUSOURCE %s
1303// GNUSOURCE:#define _GNU_SOURCE 1
1304//
1305// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
1306// NORTTI: __GXX_ABI_VERSION
1307// NORTTI-NOT:#define __GXX_RTTI
1308// NORTTI: __STDC__
1309