blob: d890d4af9303543dfcf7246ab49dc57b50d5b96e [file] [log] [blame]
Daniel Dunbara5728872009-12-15 20:14:24 +00001// RUN: %clang_cc1 -E -dM -x assembler-with-cpp < /dev/null | FileCheck -check-prefix ASM %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00002//
3// ASM:#define __ASSEMBLER__ 1
4//
5//
Daniel Dunbara5728872009-12-15 20:14:24 +00006// RUN: %clang_cc1 -fblocks -E -dM < /dev/null | FileCheck -check-prefix BLOCKS %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00007//
8// BLOCKS:#define __BLOCKS__ 1
9// BLOCKS:#define __block __attribute__((__blocks__(byref)))
10//
11//
Richard Smith762bb9d2011-10-13 22:29:44 +000012// RUN: %clang_cc1 -x c++ -std=c++11 -E -dM < /dev/null | FileCheck -check-prefix CXX0X %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000013//
Chris Lattnerbceaf862009-10-29 04:55:36 +000014// CXX0X:#define __GNUG__
15// CXX0X:#define __GXX_EXPERIMENTAL_CXX0X__ 1
Dan Gohmancfeac342010-05-28 00:27:15 +000016// CXX0X:#define __GXX_RTTI 1
Chris Lattnerbceaf862009-10-29 04:55:36 +000017// CXX0X:#define __GXX_WEAK__ 1
Douglas Gregor06788992011-06-20 15:00:58 +000018// CXX0X:#define __cplusplus 201103L
Chris Lattnerbceaf862009-10-29 04:55:36 +000019// CXX0X:#define __private_extern__ extern
20//
21//
Daniel Dunbara5728872009-12-15 20:14:24 +000022// RUN: %clang_cc1 -x c++ -std=c++98 -E -dM < /dev/null | FileCheck -check-prefix CXX98 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000023//
Chris Lattnerbceaf862009-10-29 04:55:36 +000024// CXX98:#define __GNUG__
Dan Gohmancfeac342010-05-28 00:27:15 +000025// CXX98:#define __GXX_RTTI 1
Chris Lattnerbceaf862009-10-29 04:55:36 +000026// CXX98:#define __GXX_WEAK__ 1
27// CXX98:#define __cplusplus 199711L
28// CXX98:#define __private_extern__ extern
29//
30//
Chandler Carruthf8c247d2011-04-23 19:48:40 +000031// RUN: %clang_cc1 -fdeprecated-macro -E -dM < /dev/null | FileCheck -check-prefix DEPRECATED %s
32//
33// DEPRECATED:#define __DEPRECATED 1
34//
35//
Daniel Dunbara5728872009-12-15 20:14:24 +000036// RUN: %clang_cc1 -std=c99 -E -dM < /dev/null | FileCheck -check-prefix C99 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000037//
38// C99:#define __STDC_VERSION__ 199901L
39// C99:#define __STRICT_ANSI__ 1
40//
41//
Daniel Dunbara5728872009-12-15 20:14:24 +000042// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix COMMON %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000043//
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
Daniel Dunbarc4b8e922010-06-25 23:34:47 +000056// COMMON:#define __clang_major__ {{[0-9]+}}
57// COMMON:#define __clang_minor__ {{[0-9]+}}
58// COMMON:#define __clang_patchlevel__ {{[0-9]+}}
Douglas Gregorcf00ac82010-04-30 03:07:23 +000059// COMMON:#define __clang_version__
Chris Lattnerbceaf862009-10-29 04:55:36 +000060// COMMON:#define __llvm__ 1
61//
62//
Daniel Dunbara5728872009-12-15 20:14:24 +000063// RUN: %clang_cc1 -ffreestanding -E -dM < /dev/null | FileCheck -check-prefix FREESTANDING %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000064// FREESTANDING:#define __STDC_HOSTED__ 0
65//
Daniel Dunbara5728872009-12-15 20:14:24 +000066// RUN: %clang_cc1 -x c++ -std=gnu++98 -E -dM < /dev/null | FileCheck -check-prefix GXX98 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000067//
Chris Lattnerbceaf862009-10-29 04:55:36 +000068// GXX98:#define __GNUG__
69// GXX98:#define __GXX_WEAK__ 1
70// GXX98:#define __cplusplus 1
71// GXX98:#define __private_extern__ extern
72//
73//
Daniel Dunbara5728872009-12-15 20:14:24 +000074// RUN: %clang_cc1 -std=iso9899:199409 -E -dM < /dev/null | FileCheck -check-prefix C94 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000075//
76// C94:#define __STDC_VERSION__ 199409L
77//
78//
John McCalld1e40d52011-10-02 01:16:38 +000079// RUN: %clang_cc1 -fms-extensions -triple i686-pc-win32 -fobjc-fragile-abi -E -dM < /dev/null | FileCheck -check-prefix MSEXT %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000080//
81// MSEXT-NOT:#define __STDC__
Douglas Gregor72283802010-08-06 12:37:52 +000082// MSEXT:#define _INTEGRAL_MAX_BITS 64
Chris Lattnerbceaf862009-10-29 04:55:36 +000083//
84//
Daniel Dunbara5728872009-12-15 20:14:24 +000085// RUN: %clang_cc1 -x objective-c -E -dM < /dev/null | FileCheck -check-prefix OBJC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000086//
87// OBJC:#define OBJC_NEW_PROPERTIES 1
Daniel Dunbarc5a97ec2009-11-17 07:07:28 +000088// OBJC:#define __NEXT_RUNTIME__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +000089// OBJC:#define __OBJC__ 1
90//
Daniel Dunbarc5a97ec2009-11-17 07:07:28 +000091//
Daniel Dunbara5728872009-12-15 20:14:24 +000092// RUN: %clang_cc1 -x objective-c -fobjc-gc -E -dM < /dev/null | FileCheck -check-prefix OBJCGC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000093//
94// OBJCGC:#define __OBJC_GC__ 1
95//
96//
John McCalld1e40d52011-10-02 01:16:38 +000097// RUN: %clang_cc1 -x objective-c -fobjc-exceptions -E -dM < /dev/null | FileCheck -check-prefix NONFRAGILE %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000098//
99// NONFRAGILE:#define OBJC_ZEROCOST_EXCEPTIONS 1
100// NONFRAGILE:#define __OBJC2__ 1
101//
102//
Daniel Dunbara5728872009-12-15 20:14:24 +0000103// RUN: %clang_cc1 -O1 -E -dM < /dev/null | FileCheck -check-prefix O1 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000104//
105// O1:#define __OPTIMIZE__ 1
106//
107//
Daniel Dunbara5728872009-12-15 20:14:24 +0000108// RUN: %clang_cc1 -fpascal-strings -E -dM < /dev/null | FileCheck -check-prefix PASCAL %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000109//
110// PASCAL:#define __PASCAL_STRINGS__ 1
111//
112//
Daniel Dunbara5728872009-12-15 20:14:24 +0000113// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix SCHAR %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000114//
115// SCHAR:#define __STDC__ 1
116// SCHAR-NOT:#define __UNSIGNED_CHAR__
117// SCHAR:#define __clang__ 1
118//
Eli Friedman1d832432010-08-03 17:34:19 +0000119// 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//
Daniel Dunbara5728872009-12-15 20:14:24 +0000126// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000127//
128// ARM:#define __APCS_32__ 1
129// ARM:#define __ARMEL__ 1
Daniel Dunbareac7c532009-12-18 18:42:37 +0000130// ARM:#define __ARM_ARCH_6J__ 1
Dan Gohmancfeac342010-05-28 00:27:15 +0000131// ARM:#define __CHAR16_TYPE__ unsigned short
132// ARM:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000133// 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
Ken Dyckeef22ef2009-11-16 16:36:33 +0000165// ARM:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000166// ARM:#define __INT64_TYPE__ long long int
167// ARM:#define __INT8_TYPE__ char
168// ARM:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +0000169// ARM:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +0000170// ARM:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000171// ARM:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000172// ARM:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000173// 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
Ken Dyck8241d732009-11-19 13:18:59 +0000192// ARM:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +0000193// ARM:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbareac7c532009-12-18 18:42:37 +0000194// ARM:#define __REGISTER_PREFIX__
Chris Lattnerbceaf862009-10-29 04:55:36 +0000195// ARM:#define __SCHAR_MAX__ 127
196// ARM:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000197// ARM:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000198// 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
Chris Lattnerbceaf862009-10-29 04:55:36 +0000210// ARM:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000211// ARM:#define __SIZE_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000212// ARM:#define __THUMB_INTERWORK__ 1
Ken Dyck8241d732009-11-19 13:18:59 +0000213// ARM:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000214// ARM:#define __USER_LABEL_PREFIX__ _
James Molloya6d81f92011-11-23 13:35:08 +0000215// ARM:#define __WCHAR_MAX__ 4294967295U
216// ARM:#define __WCHAR_TYPE__ unsigned int
Ken Dyck63e65612009-11-19 15:47:58 +0000217// ARM:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000218// ARM:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000219// ARM:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000220// ARM:#define __arm 1
221// ARM:#define __arm__ 1
222//
Daniel Dunbara5728872009-12-15 20:14:24 +0000223// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000224//
Dan Gohmancfeac342010-05-28 00:27:15 +0000225// I386:#define __CHAR16_TYPE__ unsigned short
226// I386:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000227// I386:#define __CHAR_BIT__ 8
228// I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
229// I386:#define __DBL_DIG__ 15
230// I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
231// I386:#define __DBL_HAS_DENORM__ 1
232// I386:#define __DBL_HAS_INFINITY__ 1
233// I386:#define __DBL_HAS_QUIET_NAN__ 1
234// I386:#define __DBL_MANT_DIG__ 53
235// I386:#define __DBL_MAX_10_EXP__ 308
236// I386:#define __DBL_MAX_EXP__ 1024
237// I386:#define __DBL_MAX__ 1.7976931348623157e+308
238// I386:#define __DBL_MIN_10_EXP__ (-307)
239// I386:#define __DBL_MIN_EXP__ (-1021)
240// I386:#define __DBL_MIN__ 2.2250738585072014e-308
241// I386:#define __DECIMAL_DIG__ 21
242// I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
243// I386:#define __FLT_DIG__ 6
244// I386:#define __FLT_EPSILON__ 1.19209290e-7F
Benjamin Kramerb4066692011-12-28 15:47:06 +0000245// I386:#define __FLT_EVAL_METHOD__ 2
Chris Lattnerbceaf862009-10-29 04:55:36 +0000246// I386:#define __FLT_HAS_DENORM__ 1
247// I386:#define __FLT_HAS_INFINITY__ 1
248// I386:#define __FLT_HAS_QUIET_NAN__ 1
249// I386:#define __FLT_MANT_DIG__ 24
250// I386:#define __FLT_MAX_10_EXP__ 38
251// I386:#define __FLT_MAX_EXP__ 128
252// I386:#define __FLT_MAX__ 3.40282347e+38F
253// I386:#define __FLT_MIN_10_EXP__ (-37)
254// I386:#define __FLT_MIN_EXP__ (-125)
255// I386:#define __FLT_MIN__ 1.17549435e-38F
256// I386:#define __FLT_RADIX__ 2
257// I386:#define __INT16_TYPE__ short
258// I386:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000259// I386:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000260// I386:#define __INT64_TYPE__ long long int
261// I386:#define __INT8_TYPE__ char
262// I386:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +0000263// I386:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +0000264// I386:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000265// I386:#define __INTPTR_TYPE__ int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000266// I386:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000267// I386:#define __INT_MAX__ 2147483647
268// I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
269// I386:#define __LDBL_DIG__ 18
270// I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
271// I386:#define __LDBL_HAS_DENORM__ 1
272// I386:#define __LDBL_HAS_INFINITY__ 1
273// I386:#define __LDBL_HAS_QUIET_NAN__ 1
274// I386:#define __LDBL_MANT_DIG__ 64
275// I386:#define __LDBL_MAX_10_EXP__ 4932
276// I386:#define __LDBL_MAX_EXP__ 16384
277// I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
278// I386:#define __LDBL_MIN_10_EXP__ (-4931)
279// I386:#define __LDBL_MIN_EXP__ (-16381)
280// I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
281// I386:#define __LITTLE_ENDIAN__ 1
282// I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
283// I386:#define __LONG_MAX__ 2147483647L
284// I386:#define __NO_INLINE__ 1
285// I386:#define __NO_MATH_INLINES 1
286// I386:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000287// I386:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +0000288// I386:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000289// I386:#define __REGISTER_PREFIX__
290// I386:#define __SCHAR_MAX__ 127
291// I386:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000292// I386:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000293// I386:#define __SIZEOF_DOUBLE__ 8
294// I386:#define __SIZEOF_FLOAT__ 4
295// I386:#define __SIZEOF_INT__ 4
296// I386:#define __SIZEOF_LONG_DOUBLE__ 12
297// I386:#define __SIZEOF_LONG_LONG__ 8
298// I386:#define __SIZEOF_LONG__ 4
299// I386:#define __SIZEOF_POINTER__ 4
300// I386:#define __SIZEOF_PTRDIFF_T__ 4
301// I386:#define __SIZEOF_SHORT__ 2
302// I386:#define __SIZEOF_SIZE_T__ 4
303// I386:#define __SIZEOF_WCHAR_T__ 4
304// I386:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +0000305// I386:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000306// I386:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000307// I386:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000308// I386:#define __USER_LABEL_PREFIX__ _
309// I386:#define __WCHAR_MAX__ 2147483647
310// I386:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +0000311// I386:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000312// I386:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000313// I386:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000314// I386:#define __i386 1
315// I386:#define __i386__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +0000316// I386:#define i386 1
317//
Benjamin Kramerb4066692011-12-28 15:47:06 +0000318// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-pc-linux-gnu -target-cpu pentium4 < /dev/null | FileCheck -check-prefix I386-LINUX %s
Douglas Gregor12e84642011-01-12 21:19:25 +0000319//
320// I386-LINUX:#define __CHAR16_TYPE__ unsigned short
321// I386-LINUX:#define __CHAR32_TYPE__ unsigned int
322// I386-LINUX:#define __CHAR_BIT__ 8
323// I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
324// I386-LINUX:#define __DBL_DIG__ 15
325// I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
326// I386-LINUX:#define __DBL_HAS_DENORM__ 1
327// I386-LINUX:#define __DBL_HAS_INFINITY__ 1
328// I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
329// I386-LINUX:#define __DBL_MANT_DIG__ 53
330// I386-LINUX:#define __DBL_MAX_10_EXP__ 308
331// I386-LINUX:#define __DBL_MAX_EXP__ 1024
332// I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
333// I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
334// I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
335// I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
336// I386-LINUX:#define __DECIMAL_DIG__ 21
337// I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
338// I386-LINUX:#define __FLT_DIG__ 6
339// I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
340// I386-LINUX:#define __FLT_EVAL_METHOD__ 0
341// I386-LINUX:#define __FLT_HAS_DENORM__ 1
342// I386-LINUX:#define __FLT_HAS_INFINITY__ 1
343// I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
344// I386-LINUX:#define __FLT_MANT_DIG__ 24
345// I386-LINUX:#define __FLT_MAX_10_EXP__ 38
346// I386-LINUX:#define __FLT_MAX_EXP__ 128
347// I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
348// I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
349// I386-LINUX:#define __FLT_MIN_EXP__ (-125)
350// I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
351// I386-LINUX:#define __FLT_RADIX__ 2
352// I386-LINUX:#define __INT16_TYPE__ short
353// I386-LINUX:#define __INT32_TYPE__ int
354// I386-LINUX:#define __INT64_C_SUFFIX__ LL
355// I386-LINUX:#define __INT64_TYPE__ long long int
356// I386-LINUX:#define __INT8_TYPE__ char
357// I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
358// I386-LINUX:#define __INTMAX_TYPE__ long long int
359// I386-LINUX:#define __INTMAX_WIDTH__ 64
360// I386-LINUX:#define __INTPTR_TYPE__ int
361// I386-LINUX:#define __INTPTR_WIDTH__ 32
362// I386-LINUX:#define __INT_MAX__ 2147483647
363// I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
364// I386-LINUX:#define __LDBL_DIG__ 18
365// I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
366// I386-LINUX:#define __LDBL_HAS_DENORM__ 1
367// I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
368// I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
369// I386-LINUX:#define __LDBL_MANT_DIG__ 64
370// I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
371// I386-LINUX:#define __LDBL_MAX_EXP__ 16384
372// I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
373// I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
374// I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
375// I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
376// I386-LINUX:#define __LITTLE_ENDIAN__ 1
377// I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
378// I386-LINUX:#define __LONG_MAX__ 2147483647L
379// I386-LINUX:#define __NO_INLINE__ 1
380// I386-LINUX:#define __NO_MATH_INLINES 1
381// I386-LINUX:#define __POINTER_WIDTH__ 32
382// I386-LINUX:#define __PTRDIFF_TYPE__ int
383// I386-LINUX:#define __PTRDIFF_WIDTH__ 32
384// I386-LINUX:#define __REGISTER_PREFIX__
385// I386-LINUX:#define __SCHAR_MAX__ 127
386// I386-LINUX:#define __SHRT_MAX__ 32767
387// I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
388// I386-LINUX:#define __SIZEOF_DOUBLE__ 8
389// I386-LINUX:#define __SIZEOF_FLOAT__ 4
390// I386-LINUX:#define __SIZEOF_INT__ 4
391// I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
392// I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
393// I386-LINUX:#define __SIZEOF_LONG__ 4
394// I386-LINUX:#define __SIZEOF_POINTER__ 4
395// I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
396// I386-LINUX:#define __SIZEOF_SHORT__ 2
397// I386-LINUX:#define __SIZEOF_SIZE_T__ 4
398// I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
399// I386-LINUX:#define __SIZEOF_WINT_T__ 4
400// I386-LINUX:#define __SIZE_TYPE__ unsigned int
401// I386-LINUX:#define __SIZE_WIDTH__ 32
402// I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
403// I386-LINUX:#define __USER_LABEL_PREFIX__
404// I386-LINUX:#define __WCHAR_MAX__ 2147483647
405// I386-LINUX:#define __WCHAR_TYPE__ int
406// I386-LINUX:#define __WCHAR_WIDTH__ 32
407// I386-LINUX:#define __WINT_TYPE__ unsigned int
408// I386-LINUX:#define __WINT_WIDTH__ 32
409// I386-LINUX:#define __i386 1
410// I386-LINUX:#define __i386__ 1
Douglas Gregor12e84642011-01-12 21:19:25 +0000411// I386-LINUX:#define i386 1
412//
Daniel Dunbara5728872009-12-15 20:14:24 +0000413// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000414//
415// MSP430:#define MSP430 1
Dan Gohmancfeac342010-05-28 00:27:15 +0000416// MSP430:#define __CHAR16_TYPE__ unsigned short
417// MSP430:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000418// MSP430:#define __CHAR_BIT__ 8
419// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
420// MSP430:#define __DBL_DIG__ 15
421// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
422// MSP430:#define __DBL_HAS_DENORM__ 1
423// MSP430:#define __DBL_HAS_INFINITY__ 1
424// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
425// MSP430:#define __DBL_MANT_DIG__ 53
426// MSP430:#define __DBL_MAX_10_EXP__ 308
427// MSP430:#define __DBL_MAX_EXP__ 1024
428// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
429// MSP430:#define __DBL_MIN_10_EXP__ (-307)
430// MSP430:#define __DBL_MIN_EXP__ (-1021)
431// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
432// MSP430:#define __DECIMAL_DIG__ 17
433// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
434// MSP430:#define __FLT_DIG__ 6
435// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
436// MSP430:#define __FLT_EVAL_METHOD__ 0
437// MSP430:#define __FLT_HAS_DENORM__ 1
438// MSP430:#define __FLT_HAS_INFINITY__ 1
439// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
440// MSP430:#define __FLT_MANT_DIG__ 24
441// MSP430:#define __FLT_MAX_10_EXP__ 38
442// MSP430:#define __FLT_MAX_EXP__ 128
443// MSP430:#define __FLT_MAX__ 3.40282347e+38F
444// MSP430:#define __FLT_MIN_10_EXP__ (-37)
445// MSP430:#define __FLT_MIN_EXP__ (-125)
446// MSP430:#define __FLT_MIN__ 1.17549435e-38F
447// MSP430:#define __FLT_RADIX__ 2
448// MSP430:#define __INT16_TYPE__ short
Ken Dyckeef22ef2009-11-16 16:36:33 +0000449// MSP430:#define __INT32_C_SUFFIX__ L
Chris Lattnerdcdd2a02009-11-12 08:08:27 +0000450// MSP430:#define __INT32_TYPE__ long int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000451// MSP430:#define __INT8_TYPE__ char
452// MSP430:#define __INTMAX_MAX__ 2147483647L
Ken Dyck8241d732009-11-19 13:18:59 +0000453// MSP430:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +0000454// MSP430:#define __INTMAX_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000455// MSP430:#define __INTPTR_TYPE__ short
Ken Dyckd896e1a2009-11-18 20:05:48 +0000456// MSP430:#define __INTPTR_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +0000457// MSP430:#define __INT_MAX__ 32767
458// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
459// MSP430:#define __LDBL_DIG__ 15
460// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16
461// MSP430:#define __LDBL_HAS_DENORM__ 1
462// MSP430:#define __LDBL_HAS_INFINITY__ 1
463// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
464// MSP430:#define __LDBL_MANT_DIG__ 53
465// MSP430:#define __LDBL_MAX_10_EXP__ 308
466// MSP430:#define __LDBL_MAX_EXP__ 1024
467// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308
468// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
469// MSP430:#define __LDBL_MIN_EXP__ (-1021)
470// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308
Anton Korobeynikov79bff432010-01-14 21:36:52 +0000471// MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000472// MSP430:#define __LONG_MAX__ 2147483647L
473// MSP430:#define __MSP430__ 1
474// MSP430:#define __NO_INLINE__ 1
475// MSP430:#define __POINTER_WIDTH__ 16
Ken Dyck8241d732009-11-19 13:18:59 +0000476// MSP430:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +0000477// MSP430:#define __PTRDIFF_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +0000478// MSP430:#define __SCHAR_MAX__ 127
479// MSP430:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000480// MSP430:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000481// MSP430:#define __SIZEOF_DOUBLE__ 8
482// MSP430:#define __SIZEOF_FLOAT__ 4
483// MSP430:#define __SIZEOF_INT__ 2
484// MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
485// MSP430:#define __SIZEOF_LONG_LONG__ 8
486// MSP430:#define __SIZEOF_LONG__ 4
487// MSP430:#define __SIZEOF_POINTER__ 2
488// MSP430:#define __SIZEOF_PTRDIFF_T__ 2
489// MSP430:#define __SIZEOF_SHORT__ 2
490// MSP430:#define __SIZEOF_SIZE_T__ 2
491// MSP430:#define __SIZEOF_WCHAR_T__ 2
492// MSP430:#define __SIZEOF_WINT_T__ 2
Chris Lattnerbceaf862009-10-29 04:55:36 +0000493// MSP430:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000494// MSP430:#define __SIZE_WIDTH__ 16
Ken Dyck8241d732009-11-19 13:18:59 +0000495// MSP430:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000496// MSP430:#define __USER_LABEL_PREFIX__ _
Chris Lattner91846462009-11-12 08:04:33 +0000497// MSP430:#define __WCHAR_MAX__ 32767
Chris Lattnerbceaf862009-10-29 04:55:36 +0000498// MSP430:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +0000499// MSP430:#define __WCHAR_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +0000500// MSP430:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000501// MSP430:#define __WINT_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +0000502// MSP430:#define __clang__ 1
503//
Daniel Dunbara5728872009-12-15 20:14:24 +0000504// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000505//
506// PPC64:#define _ARCH_PPC 1
507// PPC64:#define _ARCH_PPC64 1
508// PPC64:#define _BIG_ENDIAN 1
509// PPC64:#define _LP64 1
510// PPC64:#define __BIG_ENDIAN__ 1
Dan Gohmancfeac342010-05-28 00:27:15 +0000511// PPC64:#define __CHAR16_TYPE__ unsigned short
512// PPC64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000513// PPC64:#define __CHAR_BIT__ 8
514// PPC64:#define __CHAR_UNSIGNED__ 1
515// PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
516// PPC64:#define __DBL_DIG__ 15
517// PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
518// PPC64:#define __DBL_HAS_DENORM__ 1
519// PPC64:#define __DBL_HAS_INFINITY__ 1
520// PPC64:#define __DBL_HAS_QUIET_NAN__ 1
521// PPC64:#define __DBL_MANT_DIG__ 53
522// PPC64:#define __DBL_MAX_10_EXP__ 308
523// PPC64:#define __DBL_MAX_EXP__ 1024
524// PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
525// PPC64:#define __DBL_MIN_10_EXP__ (-307)
526// PPC64:#define __DBL_MIN_EXP__ (-1021)
527// PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
528// PPC64:#define __DECIMAL_DIG__ 17
529// PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
530// PPC64:#define __FLT_DIG__ 6
531// PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
532// PPC64:#define __FLT_EVAL_METHOD__ 0
533// PPC64:#define __FLT_HAS_DENORM__ 1
534// PPC64:#define __FLT_HAS_INFINITY__ 1
535// PPC64:#define __FLT_HAS_QUIET_NAN__ 1
536// PPC64:#define __FLT_MANT_DIG__ 24
537// PPC64:#define __FLT_MAX_10_EXP__ 38
538// PPC64:#define __FLT_MAX_EXP__ 128
539// PPC64:#define __FLT_MAX__ 3.40282347e+38F
540// PPC64:#define __FLT_MIN_10_EXP__ (-37)
541// PPC64:#define __FLT_MIN_EXP__ (-125)
542// PPC64:#define __FLT_MIN__ 1.17549435e-38F
543// PPC64:#define __FLT_RADIX__ 2
544// PPC64:#define __INT16_TYPE__ short
545// PPC64:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000546// PPC64:#define __INT64_C_SUFFIX__ L
Chris Lattnerbceaf862009-10-29 04:55:36 +0000547// PPC64:#define __INT64_TYPE__ long int
548// PPC64:#define __INT8_TYPE__ char
549// PPC64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck8241d732009-11-19 13:18:59 +0000550// PPC64:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +0000551// PPC64:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000552// PPC64:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000553// PPC64:#define __INTPTR_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +0000554// PPC64:#define __INT_MAX__ 2147483647
555// PPC64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
556// PPC64:#define __LDBL_DIG__ 15
557// PPC64:#define __LDBL_EPSILON__ 2.2204460492503131e-16
558// PPC64:#define __LDBL_HAS_DENORM__ 1
559// PPC64:#define __LDBL_HAS_INFINITY__ 1
560// PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
561// PPC64:#define __LDBL_MANT_DIG__ 53
562// PPC64:#define __LDBL_MAX_10_EXP__ 308
563// PPC64:#define __LDBL_MAX_EXP__ 1024
564// PPC64:#define __LDBL_MAX__ 1.7976931348623157e+308
565// PPC64:#define __LDBL_MIN_10_EXP__ (-307)
566// PPC64:#define __LDBL_MIN_EXP__ (-1021)
567// PPC64:#define __LDBL_MIN__ 2.2250738585072014e-308
568// PPC64:#define __LONG_DOUBLE_128__ 1
569// PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
570// PPC64:#define __LONG_MAX__ 9223372036854775807L
571// PPC64:#define __LP64__ 1
572// PPC64:#define __NATURAL_ALIGNMENT__ 1
573// PPC64:#define __NO_INLINE__ 1
574// PPC64:#define __POINTER_WIDTH__ 64
575// PPC64:#define __POWERPC__ 1
Ken Dyck8241d732009-11-19 13:18:59 +0000576// PPC64:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +0000577// PPC64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +0000578// PPC64:#define __REGISTER_PREFIX__
579// PPC64:#define __SCHAR_MAX__ 127
580// PPC64:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000581// PPC64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000582// PPC64:#define __SIZEOF_DOUBLE__ 8
583// PPC64:#define __SIZEOF_FLOAT__ 4
584// PPC64:#define __SIZEOF_INT__ 4
585// PPC64:#define __SIZEOF_LONG_DOUBLE__ 8
586// PPC64:#define __SIZEOF_LONG_LONG__ 8
587// PPC64:#define __SIZEOF_LONG__ 8
588// PPC64:#define __SIZEOF_POINTER__ 8
589// PPC64:#define __SIZEOF_PTRDIFF_T__ 8
590// PPC64:#define __SIZEOF_SHORT__ 2
591// PPC64:#define __SIZEOF_SIZE_T__ 8
592// PPC64:#define __SIZEOF_WCHAR_T__ 4
593// PPC64:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +0000594// PPC64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000595// PPC64:#define __SIZE_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000596// PPC64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000597// PPC64:#define __USER_LABEL_PREFIX__ _
598// PPC64:#define __WCHAR_MAX__ 2147483647
599// PPC64:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +0000600// PPC64:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000601// PPC64:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000602// PPC64:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000603// PPC64:#define __ppc64__ 1
604// PPC64:#define __ppc__ 1
605//
Daniel Dunbara5728872009-12-15 20:14:24 +0000606// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix PPC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000607//
608// PPC:#define _ARCH_PPC 1
609// PPC:#define _BIG_ENDIAN 1
610// PPC:#define __BIG_ENDIAN__ 1
Dan Gohmancfeac342010-05-28 00:27:15 +0000611// PPC:#define __CHAR16_TYPE__ unsigned short
612// PPC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000613// PPC:#define __CHAR_BIT__ 8
614// PPC:#define __CHAR_UNSIGNED__ 1
615// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
616// PPC:#define __DBL_DIG__ 15
617// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
618// PPC:#define __DBL_HAS_DENORM__ 1
619// PPC:#define __DBL_HAS_INFINITY__ 1
620// PPC:#define __DBL_HAS_QUIET_NAN__ 1
621// PPC:#define __DBL_MANT_DIG__ 53
622// PPC:#define __DBL_MAX_10_EXP__ 308
623// PPC:#define __DBL_MAX_EXP__ 1024
624// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
625// PPC:#define __DBL_MIN_10_EXP__ (-307)
626// PPC:#define __DBL_MIN_EXP__ (-1021)
627// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
628// PPC:#define __DECIMAL_DIG__ 17
629// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
630// PPC:#define __FLT_DIG__ 6
631// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
632// PPC:#define __FLT_EVAL_METHOD__ 0
633// PPC:#define __FLT_HAS_DENORM__ 1
634// PPC:#define __FLT_HAS_INFINITY__ 1
635// PPC:#define __FLT_HAS_QUIET_NAN__ 1
636// PPC:#define __FLT_MANT_DIG__ 24
637// PPC:#define __FLT_MAX_10_EXP__ 38
638// PPC:#define __FLT_MAX_EXP__ 128
639// PPC:#define __FLT_MAX__ 3.40282347e+38F
640// PPC:#define __FLT_MIN_10_EXP__ (-37)
641// PPC:#define __FLT_MIN_EXP__ (-125)
642// PPC:#define __FLT_MIN__ 1.17549435e-38F
643// PPC:#define __FLT_RADIX__ 2
644// PPC:#define __INT16_TYPE__ short
645// PPC:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000646// PPC:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000647// PPC:#define __INT64_TYPE__ long long int
648// PPC:#define __INT8_TYPE__ char
649// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +0000650// PPC:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +0000651// PPC:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000652// PPC:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000653// PPC:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000654// PPC:#define __INT_MAX__ 2147483647
655// PPC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
656// PPC:#define __LDBL_DIG__ 15
657// PPC:#define __LDBL_EPSILON__ 2.2204460492503131e-16
658// PPC:#define __LDBL_HAS_DENORM__ 1
659// PPC:#define __LDBL_HAS_INFINITY__ 1
660// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
661// PPC:#define __LDBL_MANT_DIG__ 53
662// PPC:#define __LDBL_MAX_10_EXP__ 308
663// PPC:#define __LDBL_MAX_EXP__ 1024
664// PPC:#define __LDBL_MAX__ 1.7976931348623157e+308
665// PPC:#define __LDBL_MIN_10_EXP__ (-307)
666// PPC:#define __LDBL_MIN_EXP__ (-1021)
667// PPC:#define __LDBL_MIN__ 2.2250738585072014e-308
668// PPC:#define __LONG_DOUBLE_128__ 1
669// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
670// PPC:#define __LONG_MAX__ 2147483647L
671// PPC:#define __NATURAL_ALIGNMENT__ 1
672// PPC:#define __NO_INLINE__ 1
673// PPC:#define __POINTER_WIDTH__ 32
674// PPC:#define __POWERPC__ 1
Ken Dyck8241d732009-11-19 13:18:59 +0000675// PPC:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +0000676// PPC:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000677// PPC:#define __REGISTER_PREFIX__
678// PPC:#define __SCHAR_MAX__ 127
679// PPC:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000680// PPC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000681// PPC:#define __SIZEOF_DOUBLE__ 8
682// PPC:#define __SIZEOF_FLOAT__ 4
683// PPC:#define __SIZEOF_INT__ 4
684// PPC:#define __SIZEOF_LONG_DOUBLE__ 8
685// PPC:#define __SIZEOF_LONG_LONG__ 8
686// PPC:#define __SIZEOF_LONG__ 4
687// PPC:#define __SIZEOF_POINTER__ 4
688// PPC:#define __SIZEOF_PTRDIFF_T__ 4
689// PPC:#define __SIZEOF_SHORT__ 2
690// PPC:#define __SIZEOF_SIZE_T__ 4
691// PPC:#define __SIZEOF_WCHAR_T__ 4
692// PPC:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +0000693// PPC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000694// PPC:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000695// PPC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000696// PPC:#define __USER_LABEL_PREFIX__ _
697// PPC:#define __WCHAR_MAX__ 2147483647
698// PPC:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +0000699// PPC:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000700// PPC:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000701// PPC:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000702// PPC:#define __ppc__ 1
703//
Daniel Dunbara5728872009-12-15 20:14:24 +0000704// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000705//
Dan Gohmancfeac342010-05-28 00:27:15 +0000706// SPARC:#define __CHAR16_TYPE__ unsigned short
707// SPARC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000708// SPARC:#define __CHAR_BIT__ 8
709// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
710// SPARC:#define __DBL_DIG__ 15
711// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
712// SPARC:#define __DBL_HAS_DENORM__ 1
713// SPARC:#define __DBL_HAS_INFINITY__ 1
714// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
715// SPARC:#define __DBL_MANT_DIG__ 53
716// SPARC:#define __DBL_MAX_10_EXP__ 308
717// SPARC:#define __DBL_MAX_EXP__ 1024
718// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
719// SPARC:#define __DBL_MIN_10_EXP__ (-307)
720// SPARC:#define __DBL_MIN_EXP__ (-1021)
721// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
722// SPARC:#define __DECIMAL_DIG__ 17
723// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
724// SPARC:#define __FLT_DIG__ 6
725// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
726// SPARC:#define __FLT_EVAL_METHOD__ 0
727// SPARC:#define __FLT_HAS_DENORM__ 1
728// SPARC:#define __FLT_HAS_INFINITY__ 1
729// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
730// SPARC:#define __FLT_MANT_DIG__ 24
731// SPARC:#define __FLT_MAX_10_EXP__ 38
732// SPARC:#define __FLT_MAX_EXP__ 128
733// SPARC:#define __FLT_MAX__ 3.40282347e+38F
734// SPARC:#define __FLT_MIN_10_EXP__ (-37)
735// SPARC:#define __FLT_MIN_EXP__ (-125)
736// SPARC:#define __FLT_MIN__ 1.17549435e-38F
737// SPARC:#define __FLT_RADIX__ 2
738// SPARC:#define __INT16_TYPE__ short
739// SPARC:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000740// SPARC:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000741// SPARC:#define __INT64_TYPE__ long long int
742// SPARC:#define __INT8_TYPE__ char
743// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +0000744// SPARC:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +0000745// SPARC:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000746// SPARC:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000747// SPARC:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000748// SPARC:#define __INT_MAX__ 2147483647
749// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
750// SPARC:#define __LDBL_DIG__ 15
751// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16
752// SPARC:#define __LDBL_HAS_DENORM__ 1
753// SPARC:#define __LDBL_HAS_INFINITY__ 1
754// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
755// SPARC:#define __LDBL_MANT_DIG__ 53
756// SPARC:#define __LDBL_MAX_10_EXP__ 308
757// SPARC:#define __LDBL_MAX_EXP__ 1024
758// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308
759// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
760// SPARC:#define __LDBL_MIN_EXP__ (-1021)
761// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308
762// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
763// SPARC:#define __LONG_MAX__ 2147483647L
764// SPARC:#define __NO_INLINE__ 1
765// SPARC:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000766// SPARC:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +0000767// SPARC:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbareac7c532009-12-18 18:42:37 +0000768// SPARC:#define __REGISTER_PREFIX__
Chris Lattnerbceaf862009-10-29 04:55:36 +0000769// SPARC:#define __SCHAR_MAX__ 127
770// SPARC:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000771// SPARC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000772// SPARC:#define __SIZEOF_DOUBLE__ 8
773// SPARC:#define __SIZEOF_FLOAT__ 4
774// SPARC:#define __SIZEOF_INT__ 4
775// SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
776// SPARC:#define __SIZEOF_LONG_LONG__ 8
777// SPARC:#define __SIZEOF_LONG__ 4
778// SPARC:#define __SIZEOF_POINTER__ 4
779// SPARC:#define __SIZEOF_PTRDIFF_T__ 4
780// SPARC:#define __SIZEOF_SHORT__ 2
781// SPARC:#define __SIZEOF_SIZE_T__ 4
782// SPARC:#define __SIZEOF_WCHAR_T__ 4
783// SPARC:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +0000784// SPARC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000785// SPARC:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000786// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000787// SPARC:#define __USER_LABEL_PREFIX__ _
Daniel Dunbarad1a4c62011-03-31 00:53:51 +0000788// SPARC:#define __VERSION__ "4.2.1 Compatible
Chris Lattnerbceaf862009-10-29 04:55:36 +0000789// SPARC:#define __WCHAR_MAX__ 2147483647
790// SPARC:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +0000791// SPARC:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000792// SPARC:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000793// SPARC:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000794// SPARC:#define __sparc 1
795// SPARC:#define __sparc__ 1
796// SPARC:#define __sparcv8 1
797// SPARC:#define sparc 1
798//
Daniel Dunbara5728872009-12-15 20:14:24 +0000799// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000800//
Dan Gohmancfeac342010-05-28 00:27:15 +0000801// TCE:#define __CHAR16_TYPE__ unsigned short
802// TCE:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000803// TCE:#define __CHAR_BIT__ 8
804// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45F
805// TCE:#define __DBL_DIG__ 6
806// TCE:#define __DBL_EPSILON__ 1.19209290e-7F
807// TCE:#define __DBL_HAS_DENORM__ 1
808// TCE:#define __DBL_HAS_INFINITY__ 1
809// TCE:#define __DBL_HAS_QUIET_NAN__ 1
810// TCE:#define __DBL_MANT_DIG__ 24
811// TCE:#define __DBL_MAX_10_EXP__ 38
812// TCE:#define __DBL_MAX_EXP__ 128
813// TCE:#define __DBL_MAX__ 3.40282347e+38F
814// TCE:#define __DBL_MIN_10_EXP__ (-37)
815// TCE:#define __DBL_MIN_EXP__ (-125)
816// TCE:#define __DBL_MIN__ 1.17549435e-38F
817// TCE:#define __DECIMAL_DIG__ -1
818// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
819// TCE:#define __FLT_DIG__ 6
820// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
821// TCE:#define __FLT_EVAL_METHOD__ 0
822// TCE:#define __FLT_HAS_DENORM__ 1
823// TCE:#define __FLT_HAS_INFINITY__ 1
824// TCE:#define __FLT_HAS_QUIET_NAN__ 1
825// TCE:#define __FLT_MANT_DIG__ 24
826// TCE:#define __FLT_MAX_10_EXP__ 38
827// TCE:#define __FLT_MAX_EXP__ 128
828// TCE:#define __FLT_MAX__ 3.40282347e+38F
829// TCE:#define __FLT_MIN_10_EXP__ (-37)
830// TCE:#define __FLT_MIN_EXP__ (-125)
831// TCE:#define __FLT_MIN__ 1.17549435e-38F
832// TCE:#define __FLT_RADIX__ 2
833// TCE:#define __INT16_TYPE__ short
834// TCE:#define __INT32_TYPE__ int
835// TCE:#define __INT8_TYPE__ char
836// TCE:#define __INTMAX_MAX__ 2147483647L
Ken Dyck8241d732009-11-19 13:18:59 +0000837// TCE:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +0000838// TCE:#define __INTMAX_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000839// TCE:#define __INTPTR_TYPE__ int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000840// TCE:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000841// TCE:#define __INT_MAX__ 2147483647
842// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45F
843// TCE:#define __LDBL_DIG__ 6
844// TCE:#define __LDBL_EPSILON__ 1.19209290e-7F
845// TCE:#define __LDBL_HAS_DENORM__ 1
846// TCE:#define __LDBL_HAS_INFINITY__ 1
847// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
848// TCE:#define __LDBL_MANT_DIG__ 24
849// TCE:#define __LDBL_MAX_10_EXP__ 38
850// TCE:#define __LDBL_MAX_EXP__ 128
851// TCE:#define __LDBL_MAX__ 3.40282347e+38F
852// TCE:#define __LDBL_MIN_10_EXP__ (-37)
853// TCE:#define __LDBL_MIN_EXP__ (-125)
854// TCE:#define __LDBL_MIN__ 1.17549435e-38F
855// TCE:#define __LONG_LONG_MAX__ 2147483647LL
856// TCE:#define __LONG_MAX__ 2147483647L
857// TCE:#define __NO_INLINE__ 1
858// TCE:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000859// TCE:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +0000860// TCE:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000861// TCE:#define __SCHAR_MAX__ 127
862// TCE:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000863// TCE:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000864// TCE:#define __SIZEOF_DOUBLE__ 4
865// TCE:#define __SIZEOF_FLOAT__ 4
866// TCE:#define __SIZEOF_INT__ 4
867// TCE:#define __SIZEOF_LONG_DOUBLE__ 4
868// TCE:#define __SIZEOF_LONG_LONG__ 4
869// TCE:#define __SIZEOF_LONG__ 4
870// TCE:#define __SIZEOF_POINTER__ 4
871// TCE:#define __SIZEOF_PTRDIFF_T__ 4
872// TCE:#define __SIZEOF_SHORT__ 2
873// TCE:#define __SIZEOF_SIZE_T__ 4
874// TCE:#define __SIZEOF_WCHAR_T__ 4
875// TCE:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +0000876// TCE:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000877// TCE:#define __SIZE_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000878// TCE:#define __TCE_V1__ 1
879// TCE:#define __TCE__ 1
Ken Dyck8241d732009-11-19 13:18:59 +0000880// TCE:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000881// TCE:#define __USER_LABEL_PREFIX__ _
882// TCE:#define __WCHAR_MAX__ 2147483647
883// TCE:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +0000884// TCE:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000885// TCE:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000886// TCE:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000887// TCE:#define __tce 1
888// TCE:#define __tce__ 1
889// TCE:#define tce 1
890//
Daniel Dunbara5728872009-12-15 20:14:24 +0000891// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-none-none < /dev/null | FileCheck -check-prefix X86_64 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000892//
893// X86_64:#define _LP64 1
Dan Gohmancfeac342010-05-28 00:27:15 +0000894// X86_64:#define __CHAR16_TYPE__ unsigned short
895// X86_64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000896// X86_64:#define __CHAR_BIT__ 8
897// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
898// X86_64:#define __DBL_DIG__ 15
899// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
900// X86_64:#define __DBL_HAS_DENORM__ 1
901// X86_64:#define __DBL_HAS_INFINITY__ 1
902// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
903// X86_64:#define __DBL_MANT_DIG__ 53
904// X86_64:#define __DBL_MAX_10_EXP__ 308
905// X86_64:#define __DBL_MAX_EXP__ 1024
906// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
907// X86_64:#define __DBL_MIN_10_EXP__ (-307)
908// X86_64:#define __DBL_MIN_EXP__ (-1021)
909// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
910// X86_64:#define __DECIMAL_DIG__ 21
911// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
912// X86_64:#define __FLT_DIG__ 6
913// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
914// X86_64:#define __FLT_EVAL_METHOD__ 0
915// X86_64:#define __FLT_HAS_DENORM__ 1
916// X86_64:#define __FLT_HAS_INFINITY__ 1
917// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
918// X86_64:#define __FLT_MANT_DIG__ 24
919// X86_64:#define __FLT_MAX_10_EXP__ 38
920// X86_64:#define __FLT_MAX_EXP__ 128
921// X86_64:#define __FLT_MAX__ 3.40282347e+38F
922// X86_64:#define __FLT_MIN_10_EXP__ (-37)
923// X86_64:#define __FLT_MIN_EXP__ (-125)
924// X86_64:#define __FLT_MIN__ 1.17549435e-38F
925// X86_64:#define __FLT_RADIX__ 2
926// X86_64:#define __INT16_TYPE__ short
927// X86_64:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000928// X86_64:#define __INT64_C_SUFFIX__ L
Chris Lattnerbceaf862009-10-29 04:55:36 +0000929// X86_64:#define __INT64_TYPE__ long int
930// X86_64:#define __INT8_TYPE__ char
931// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck8241d732009-11-19 13:18:59 +0000932// X86_64:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +0000933// X86_64:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000934// X86_64:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000935// X86_64:#define __INTPTR_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +0000936// X86_64:#define __INT_MAX__ 2147483647
937// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
938// X86_64:#define __LDBL_DIG__ 18
939// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
940// X86_64:#define __LDBL_HAS_DENORM__ 1
941// X86_64:#define __LDBL_HAS_INFINITY__ 1
942// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
943// X86_64:#define __LDBL_MANT_DIG__ 64
944// X86_64:#define __LDBL_MAX_10_EXP__ 4932
945// X86_64:#define __LDBL_MAX_EXP__ 16384
946// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
947// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
948// X86_64:#define __LDBL_MIN_EXP__ (-16381)
949// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
950// X86_64:#define __LITTLE_ENDIAN__ 1
951// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
952// X86_64:#define __LONG_MAX__ 9223372036854775807L
953// X86_64:#define __LP64__ 1
954// X86_64:#define __MMX__ 1
955// X86_64:#define __NO_INLINE__ 1
956// X86_64:#define __NO_MATH_INLINES 1
957// X86_64:#define __POINTER_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000958// X86_64:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +0000959// X86_64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +0000960// X86_64:#define __REGISTER_PREFIX__
961// X86_64:#define __SCHAR_MAX__ 127
962// X86_64:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000963// X86_64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000964// X86_64:#define __SIZEOF_DOUBLE__ 8
965// X86_64:#define __SIZEOF_FLOAT__ 4
966// X86_64:#define __SIZEOF_INT__ 4
967// X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
968// X86_64:#define __SIZEOF_LONG_LONG__ 8
969// X86_64:#define __SIZEOF_LONG__ 8
970// X86_64:#define __SIZEOF_POINTER__ 8
971// X86_64:#define __SIZEOF_PTRDIFF_T__ 8
972// X86_64:#define __SIZEOF_SHORT__ 2
973// X86_64:#define __SIZEOF_SIZE_T__ 8
974// X86_64:#define __SIZEOF_WCHAR_T__ 4
975// X86_64:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +0000976// X86_64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000977// X86_64:#define __SIZE_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +0000978// X86_64:#define __SSE2_MATH__ 1
979// X86_64:#define __SSE2__ 1
980// X86_64:#define __SSE_MATH__ 1
981// X86_64:#define __SSE__ 1
Ken Dyck8241d732009-11-19 13:18:59 +0000982// X86_64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000983// X86_64:#define __USER_LABEL_PREFIX__ _
984// X86_64:#define __WCHAR_MAX__ 2147483647
985// X86_64:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +0000986// X86_64:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000987// X86_64:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000988// X86_64:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000989// X86_64:#define __amd64 1
990// X86_64:#define __amd64__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +0000991// X86_64:#define __x86_64 1
992// X86_64:#define __x86_64__ 1
993//
Douglas Gregor12e84642011-01-12 21:19:25 +0000994// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
995//
996// X86_64-LINUX:#define _LP64 1
997// X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
998// X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
999// X86_64-LINUX:#define __CHAR_BIT__ 8
1000// X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1001// X86_64-LINUX:#define __DBL_DIG__ 15
1002// X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
1003// X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
1004// X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
1005// X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
1006// X86_64-LINUX:#define __DBL_MANT_DIG__ 53
1007// X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
1008// X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
1009// X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
1010// X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
1011// X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
1012// X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
1013// X86_64-LINUX:#define __DECIMAL_DIG__ 21
1014// X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1015// X86_64-LINUX:#define __FLT_DIG__ 6
1016// X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
1017// X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
1018// X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
1019// X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
1020// X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
1021// X86_64-LINUX:#define __FLT_MANT_DIG__ 24
1022// X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
1023// X86_64-LINUX:#define __FLT_MAX_EXP__ 128
1024// X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
1025// X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
1026// X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
1027// X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
1028// X86_64-LINUX:#define __FLT_RADIX__ 2
1029// X86_64-LINUX:#define __INT16_TYPE__ short
1030// X86_64-LINUX:#define __INT32_TYPE__ int
1031// X86_64-LINUX:#define __INT64_C_SUFFIX__ L
1032// X86_64-LINUX:#define __INT64_TYPE__ long int
1033// X86_64-LINUX:#define __INT8_TYPE__ char
1034// X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
1035// X86_64-LINUX:#define __INTMAX_TYPE__ long int
1036// X86_64-LINUX:#define __INTMAX_WIDTH__ 64
1037// X86_64-LINUX:#define __INTPTR_TYPE__ long int
1038// X86_64-LINUX:#define __INTPTR_WIDTH__ 64
1039// X86_64-LINUX:#define __INT_MAX__ 2147483647
1040// X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1041// X86_64-LINUX:#define __LDBL_DIG__ 18
1042// X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1043// X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
1044// X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
1045// X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
1046// X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
1047// X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
1048// X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
1049// X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1050// X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
1051// X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
1052// X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1053// X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
1054// X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
1055// X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
1056// X86_64-LINUX:#define __LP64__ 1
1057// X86_64-LINUX:#define __MMX__ 1
1058// X86_64-LINUX:#define __NO_INLINE__ 1
1059// X86_64-LINUX:#define __NO_MATH_INLINES 1
1060// X86_64-LINUX:#define __POINTER_WIDTH__ 64
1061// X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
1062// X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
1063// X86_64-LINUX:#define __REGISTER_PREFIX__
1064// X86_64-LINUX:#define __SCHAR_MAX__ 127
1065// X86_64-LINUX:#define __SHRT_MAX__ 32767
1066// X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
1067// X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
1068// X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
1069// X86_64-LINUX:#define __SIZEOF_INT__ 4
1070// X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
1071// X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
1072// X86_64-LINUX:#define __SIZEOF_LONG__ 8
1073// X86_64-LINUX:#define __SIZEOF_POINTER__ 8
1074// X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
1075// X86_64-LINUX:#define __SIZEOF_SHORT__ 2
1076// X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
1077// X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
1078// X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
1079// X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
1080// X86_64-LINUX:#define __SIZE_WIDTH__ 64
1081// X86_64-LINUX:#define __SSE2_MATH__ 1
1082// X86_64-LINUX:#define __SSE2__ 1
1083// X86_64-LINUX:#define __SSE_MATH__ 1
1084// X86_64-LINUX:#define __SSE__ 1
1085// X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
1086// X86_64-LINUX:#define __USER_LABEL_PREFIX__
1087// X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
1088// X86_64-LINUX:#define __WCHAR_TYPE__ int
1089// X86_64-LINUX:#define __WCHAR_WIDTH__ 32
1090// X86_64-LINUX:#define __WINT_TYPE__ unsigned int
1091// X86_64-LINUX:#define __WINT_WIDTH__ 32
1092// X86_64-LINUX:#define __amd64 1
1093// X86_64-LINUX:#define __amd64__ 1
Douglas Gregor12e84642011-01-12 21:19:25 +00001094// X86_64-LINUX:#define __x86_64 1
1095// X86_64-LINUX:#define __x86_64__ 1
1096//
John McCalld1e40d52011-10-02 01:16:38 +00001097// RUN: %clang_cc1 -x c++ -triple i686-pc-linux-gnu -fobjc-fragile-abi -E -dM < /dev/null | FileCheck -check-prefix GNUSOURCE %s
Douglas Gregor66791df2010-04-16 06:31:05 +00001098// GNUSOURCE:#define _GNU_SOURCE 1
1099//
Dan Gohmancfeac342010-05-28 00:27:15 +00001100// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
1101// NORTTI: __GXX_ABI_VERSION
1102// NORTTI-NOT:#define __GXX_RTTI
1103// NORTTI: __STDC__