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