blob: 83ced6078a4f1132d2805fa4b49ca7390297facc [file] [log] [blame]
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00001// RUN: %clang_cc1 -E -dM -x assembler-with-cpp < /dev/null | FileCheck -check-prefix ASM %s
Chris Lattnere963d092009-10-29 04:55:36 +00002//
3// ASM:#define __ASSEMBLER__ 1
4//
5//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00006// RUN: %clang_cc1 -fblocks -E -dM < /dev/null | FileCheck -check-prefix BLOCKS %s
Chris Lattnere963d092009-10-29 04:55:36 +00007//
8// BLOCKS:#define __BLOCKS__ 1
9// BLOCKS:#define __block __attribute__((__blocks__(byref)))
10//
Richard Smith0a715422013-05-07 19:32:56 +000011//
12// RUN: %clang_cc1 -x c++ -std=c++1y -E -dM < /dev/null | FileCheck -check-prefix CXX1Y %s
13//
14// CXX1Y:#define __GNUG__
15// CXX1Y:#define __GXX_EXPERIMENTAL_CXX0X__ 1
16// CXX1Y:#define __GXX_RTTI 1
17// CXX1Y:#define __GXX_WEAK__ 1
18// CXX1Y:#define __cplusplus 201305L
19// CXX1Y:#define __private_extern__ extern
20//
21//
Richard Smith89645bc2013-01-02 12:01:23 +000022// RUN: %clang_cc1 -x c++ -std=c++11 -E -dM < /dev/null | FileCheck -check-prefix CXX11 %s
Chris Lattnere963d092009-10-29 04:55:36 +000023//
Richard Smith89645bc2013-01-02 12:01:23 +000024// CXX11:#define __GNUG__
25// CXX11:#define __GXX_EXPERIMENTAL_CXX0X__ 1
26// CXX11:#define __GXX_RTTI 1
27// CXX11:#define __GXX_WEAK__ 1
28// CXX11:#define __cplusplus 201103L
29// CXX11:#define __private_extern__ extern
Chris Lattnere963d092009-10-29 04:55:36 +000030//
31//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +000032// RUN: %clang_cc1 -x c++ -std=c++98 -E -dM < /dev/null | FileCheck -check-prefix CXX98 %s
Chris Lattnere963d092009-10-29 04:55:36 +000033//
Chris Lattnere963d092009-10-29 04:55:36 +000034// CXX98:#define __GNUG__
Dan Gohman04f87202010-05-28 00:27:15 +000035// CXX98:#define __GXX_RTTI 1
Chris Lattnere963d092009-10-29 04:55:36 +000036// CXX98:#define __GXX_WEAK__ 1
37// CXX98:#define __cplusplus 199711L
38// CXX98:#define __private_extern__ extern
39//
40//
Chandler Carruth30483fb2011-04-23 19:48:40 +000041// RUN: %clang_cc1 -fdeprecated-macro -E -dM < /dev/null | FileCheck -check-prefix DEPRECATED %s
42//
43// DEPRECATED:#define __DEPRECATED 1
44//
45//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +000046// RUN: %clang_cc1 -std=c99 -E -dM < /dev/null | FileCheck -check-prefix C99 %s
Chris Lattnere963d092009-10-29 04:55:36 +000047//
48// C99:#define __STDC_VERSION__ 199901L
49// C99:#define __STRICT_ANSI__ 1
50//
51//
Ed Schoutend0621462013-09-29 07:54:52 +000052// RUN: %clang_cc1 -std=c11 -E -dM < /dev/null | FileCheck -check-prefix C11 %s
53//
54// C11:#define __STDC_UTF_16__ 1
55// C11:#define __STDC_UTF_32__ 1
56// C11:#define __STDC_VERSION__ 201112L
57// C11:#define __STRICT_ANSI__ 1
58//
59//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +000060// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix COMMON %s
Chris Lattnere963d092009-10-29 04:55:36 +000061//
62// COMMON:#define __CONSTANT_CFSTRINGS__ 1
63// COMMON:#define __FINITE_MATH_ONLY__ 0
64// COMMON:#define __GNUC_MINOR__
65// COMMON:#define __GNUC_PATCHLEVEL__
66// COMMON:#define __GNUC_STDC_INLINE__ 1
67// COMMON:#define __GNUC__
68// COMMON:#define __GXX_ABI_VERSION
Dylan Noblesmith673728f2012-07-27 18:34:31 +000069// COMMON:#define __ORDER_BIG_ENDIAN__ 4321
70// COMMON:#define __ORDER_LITTLE_ENDIAN__ 1234
71// COMMON:#define __ORDER_PDP_ENDIAN__ 3412
Chris Lattnere963d092009-10-29 04:55:36 +000072// COMMON:#define __STDC_HOSTED__ 1
73// COMMON:#define __STDC_VERSION__
74// COMMON:#define __STDC__ 1
75// COMMON:#define __VERSION__
76// COMMON:#define __clang__ 1
Daniel Dunbard7e887f2010-06-25 23:34:47 +000077// COMMON:#define __clang_major__ {{[0-9]+}}
78// COMMON:#define __clang_minor__ {{[0-9]+}}
79// COMMON:#define __clang_patchlevel__ {{[0-9]+}}
Douglas Gregordead00f2010-04-30 03:07:23 +000080// COMMON:#define __clang_version__
Chris Lattnere963d092009-10-29 04:55:36 +000081// COMMON:#define __llvm__ 1
82//
83//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +000084// RUN: %clang_cc1 -ffreestanding -E -dM < /dev/null | FileCheck -check-prefix FREESTANDING %s
Chris Lattnere963d092009-10-29 04:55:36 +000085// FREESTANDING:#define __STDC_HOSTED__ 0
Richard Smithd106a982012-05-03 22:18:20 +000086//
87//
Richard Smith0a715422013-05-07 19:32:56 +000088// RUN: %clang_cc1 -x c++ -std=gnu++1y -E -dM < /dev/null | FileCheck -check-prefix GXX1Y %s
89//
90// GXX1Y:#define __GNUG__
91// GXX1Y:#define __GXX_WEAK__ 1
92// GXX1Y:#define __cplusplus 201305L
93// GXX1Y:#define __private_extern__ extern
94//
95//
Richard Smithd106a982012-05-03 22:18:20 +000096// RUN: %clang_cc1 -x c++ -std=gnu++11 -E -dM < /dev/null | FileCheck -check-prefix GXX11 %s
97//
98// GXX11:#define __GNUG__
99// GXX11:#define __GXX_WEAK__ 1
100// GXX11:#define __cplusplus 201103L
101// GXX11:#define __private_extern__ extern
102//
103//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000104// RUN: %clang_cc1 -x c++ -std=gnu++98 -E -dM < /dev/null | FileCheck -check-prefix GXX98 %s
Chris Lattnere963d092009-10-29 04:55:36 +0000105//
Chris Lattnere963d092009-10-29 04:55:36 +0000106// GXX98:#define __GNUG__
107// GXX98:#define __GXX_WEAK__ 1
Richard Smithd106a982012-05-03 22:18:20 +0000108// GXX98:#define __cplusplus 199711L
Chris Lattnere963d092009-10-29 04:55:36 +0000109// GXX98:#define __private_extern__ extern
110//
111//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000112// RUN: %clang_cc1 -std=iso9899:199409 -E -dM < /dev/null | FileCheck -check-prefix C94 %s
Chris Lattnere963d092009-10-29 04:55:36 +0000113//
114// C94:#define __STDC_VERSION__ 199409L
115//
116//
Hans Wennborg4c02be32013-05-02 13:12:32 +0000117// RUN: %clang_cc1 -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT %s
Chris Lattnere963d092009-10-29 04:55:36 +0000118//
119// MSEXT-NOT:#define __STDC__
Douglas Gregor7617cb82010-08-06 12:37:52 +0000120// MSEXT:#define _INTEGRAL_MAX_BITS 64
Hans Wennborg4c02be32013-05-02 13:12:32 +0000121// MSEXT-NOT:#define _NATIVE_WCHAR_T_DEFINED 1
122// MSEXT-NOT:#define _WCHAR_T_DEFINED 1
123//
124//
125// RUN: %clang_cc1 -x c++ -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT-CXX %s
126//
127// MSEXT-CXX:#define _NATIVE_WCHAR_T_DEFINED 1
128// MSEXT-CXX:#define _WCHAR_T_DEFINED 1
129//
130//
131// RUN: %clang_cc1 -x c++ -fno-wchar -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT-CXX-NOWCHAR %s
132//
133// MSEXT-CXX-NOWCHAR-NOT:#define _NATIVE_WCHAR_T_DEFINED 1
134// MSEXT-CXX-NOWCHAR-NOT:#define _WCHAR_T_DEFINED 1
Chris Lattnere963d092009-10-29 04:55:36 +0000135//
136//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000137// RUN: %clang_cc1 -x objective-c -E -dM < /dev/null | FileCheck -check-prefix OBJC %s
Chris Lattnere963d092009-10-29 04:55:36 +0000138//
139// OBJC:#define OBJC_NEW_PROPERTIES 1
Daniel Dunbar4656c532009-11-17 07:07:28 +0000140// OBJC:#define __NEXT_RUNTIME__ 1
Chris Lattnere963d092009-10-29 04:55:36 +0000141// OBJC:#define __OBJC__ 1
142//
Daniel Dunbar4656c532009-11-17 07:07:28 +0000143//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000144// RUN: %clang_cc1 -x objective-c -fobjc-gc -E -dM < /dev/null | FileCheck -check-prefix OBJCGC %s
Chris Lattnere963d092009-10-29 04:55:36 +0000145//
146// OBJCGC:#define __OBJC_GC__ 1
147//
148//
John McCall9b0a7ce2011-10-02 01:16:38 +0000149// RUN: %clang_cc1 -x objective-c -fobjc-exceptions -E -dM < /dev/null | FileCheck -check-prefix NONFRAGILE %s
Chris Lattnere963d092009-10-29 04:55:36 +0000150//
151// NONFRAGILE:#define OBJC_ZEROCOST_EXCEPTIONS 1
152// NONFRAGILE:#define __OBJC2__ 1
153//
Dylan Noblesmith4c004f32012-08-08 16:09:15 +0000154//
Rafael Espindolaff7cea82013-09-04 04:12:25 +0000155// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix O0 %s
Dylan Noblesmith4c004f32012-08-08 16:09:15 +0000156//
157// O0:#define __NO_INLINE__ 1
158// O0-NOT:#define __OPTIMIZE_SIZE__
159// O0-NOT:#define __OPTIMIZE__
160//
161//
162// RUN: %clang_cc1 -fno-inline -O3 -E -dM < /dev/null | FileCheck -check-prefix NO_INLINE %s
163//
164// NO_INLINE:#define __NO_INLINE__ 1
165// NO_INLINE-NOT:#define __OPTIMIZE_SIZE__
166// NO_INLINE:#define __OPTIMIZE__
167//
168//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000169// RUN: %clang_cc1 -O1 -E -dM < /dev/null | FileCheck -check-prefix O1 %s
Chris Lattnere963d092009-10-29 04:55:36 +0000170//
Dylan Noblesmith4c004f32012-08-08 16:09:15 +0000171// O1-NOT:#define __OPTIMIZE_SIZE__
Chris Lattnere963d092009-10-29 04:55:36 +0000172// O1:#define __OPTIMIZE__ 1
173//
Dylan Noblesmith4c004f32012-08-08 16:09:15 +0000174//
175// RUN: %clang_cc1 -Os -E -dM < /dev/null | FileCheck -check-prefix Os %s
176//
177// Os:#define __OPTIMIZE_SIZE__ 1
178// Os:#define __OPTIMIZE__ 1
179//
180//
181// RUN: %clang_cc1 -Oz -E -dM < /dev/null | FileCheck -check-prefix Oz %s
182//
183// Oz:#define __OPTIMIZE_SIZE__ 1
184// Oz:#define __OPTIMIZE__ 1
185//
186//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000187// RUN: %clang_cc1 -fpascal-strings -E -dM < /dev/null | FileCheck -check-prefix PASCAL %s
Chris Lattnere963d092009-10-29 04:55:36 +0000188//
189// PASCAL:#define __PASCAL_STRINGS__ 1
190//
191//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000192// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix SCHAR %s
Chris Lattnere963d092009-10-29 04:55:36 +0000193//
194// SCHAR:#define __STDC__ 1
195// SCHAR-NOT:#define __UNSIGNED_CHAR__
196// SCHAR:#define __clang__ 1
197//
Eli Friedman865afc92010-08-03 17:34:19 +0000198// RUN: %clang_cc1 -E -dM -fshort-wchar < /dev/null | FileCheck -check-prefix SHORTWCHAR %s
199//
200// SHORTWCHAR: #define __SIZEOF_WCHAR_T__ 2
201// SHORTWCHAR: #define __WCHAR_MAX__ 65535U
202// SHORTWCHAR: #define __WCHAR_TYPE__ unsigned short
203// SHORTWCHAR: #define __WCHAR_WIDTH__ 16
204//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000205// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s
Chris Lattnere963d092009-10-29 04:55:36 +0000206//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000207// ARM-NOT:#define _LP64
Chris Lattnere963d092009-10-29 04:55:36 +0000208// ARM:#define __APCS_32__ 1
209// ARM:#define __ARMEL__ 1
Daniel Dunbaracde99e2009-12-18 18:42:37 +0000210// ARM:#define __ARM_ARCH_6J__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000211// ARM:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +0000212// ARM:#define __CHAR16_TYPE__ unsigned short
213// ARM:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000214// ARM:#define __CHAR_BIT__ 8
215// ARM:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
216// ARM:#define __DBL_DIG__ 15
217// ARM:#define __DBL_EPSILON__ 2.2204460492503131e-16
218// ARM:#define __DBL_HAS_DENORM__ 1
219// ARM:#define __DBL_HAS_INFINITY__ 1
220// ARM:#define __DBL_HAS_QUIET_NAN__ 1
221// ARM:#define __DBL_MANT_DIG__ 53
222// ARM:#define __DBL_MAX_10_EXP__ 308
223// ARM:#define __DBL_MAX_EXP__ 1024
224// ARM:#define __DBL_MAX__ 1.7976931348623157e+308
225// ARM:#define __DBL_MIN_10_EXP__ (-307)
226// ARM:#define __DBL_MIN_EXP__ (-1021)
227// ARM:#define __DBL_MIN__ 2.2250738585072014e-308
228// ARM:#define __DECIMAL_DIG__ 17
229// ARM:#define __FLT_DENORM_MIN__ 1.40129846e-45F
230// ARM:#define __FLT_DIG__ 6
231// ARM:#define __FLT_EPSILON__ 1.19209290e-7F
232// ARM:#define __FLT_EVAL_METHOD__ 0
233// ARM:#define __FLT_HAS_DENORM__ 1
234// ARM:#define __FLT_HAS_INFINITY__ 1
235// ARM:#define __FLT_HAS_QUIET_NAN__ 1
236// ARM:#define __FLT_MANT_DIG__ 24
237// ARM:#define __FLT_MAX_10_EXP__ 38
238// ARM:#define __FLT_MAX_EXP__ 128
239// ARM:#define __FLT_MAX__ 3.40282347e+38F
240// ARM:#define __FLT_MIN_10_EXP__ (-37)
241// ARM:#define __FLT_MIN_EXP__ (-125)
242// ARM:#define __FLT_MIN__ 1.17549435e-38F
243// ARM:#define __FLT_RADIX__ 2
244// ARM:#define __INT16_TYPE__ short
245// ARM:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +0000246// ARM:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +0000247// ARM:#define __INT64_TYPE__ long long int
248// ARM:#define __INT8_TYPE__ char
249// ARM:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +0000250// ARM:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +0000251// ARM:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +0000252// ARM:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +0000253// ARM:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000254// ARM:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000255// ARM:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +0000256// ARM:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000257// ARM:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +0000258// ARM:#define __LDBL_HAS_DENORM__ 1
259// ARM:#define __LDBL_HAS_INFINITY__ 1
260// ARM:#define __LDBL_HAS_QUIET_NAN__ 1
261// ARM:#define __LDBL_MANT_DIG__ 53
262// ARM:#define __LDBL_MAX_10_EXP__ 308
263// ARM:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000264// ARM:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +0000265// ARM:#define __LDBL_MIN_10_EXP__ (-307)
266// ARM:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000267// ARM:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnere963d092009-10-29 04:55:36 +0000268// ARM:#define __LITTLE_ENDIAN__ 1
269// ARM:#define __LONG_LONG_MAX__ 9223372036854775807LL
270// ARM:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000271// ARM-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +0000272// ARM:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000273// ARM:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +0000274// ARM:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbaracde99e2009-12-18 18:42:37 +0000275// ARM:#define __REGISTER_PREFIX__
Chris Lattnere963d092009-10-29 04:55:36 +0000276// ARM:#define __SCHAR_MAX__ 127
277// ARM:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +0000278// ARM:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +0000279// ARM:#define __SIZEOF_DOUBLE__ 8
280// ARM:#define __SIZEOF_FLOAT__ 4
281// ARM:#define __SIZEOF_INT__ 4
282// ARM:#define __SIZEOF_LONG_DOUBLE__ 8
283// ARM:#define __SIZEOF_LONG_LONG__ 8
284// ARM:#define __SIZEOF_LONG__ 4
285// ARM:#define __SIZEOF_POINTER__ 4
286// ARM:#define __SIZEOF_PTRDIFF_T__ 4
287// ARM:#define __SIZEOF_SHORT__ 2
288// ARM:#define __SIZEOF_SIZE_T__ 4
289// ARM:#define __SIZEOF_WCHAR_T__ 4
290// ARM:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000291// ARM:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +0000292// ARM:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +0000293// ARM:#define __SIZE_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000294// ARM:#define __THUMB_INTERWORK__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +0000295// ARM:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000296// ARM:#define __USER_LABEL_PREFIX__ _
James Molloyc445be42011-11-23 13:35:08 +0000297// ARM:#define __WCHAR_MAX__ 4294967295U
298// ARM:#define __WCHAR_TYPE__ unsigned int
Ken Dyck0138b9e2009-11-19 15:47:58 +0000299// ARM:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000300// ARM:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +0000301// ARM:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000302// ARM:#define __arm 1
303// ARM:#define __arm__ 1
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000304
305// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-linux-gnueabi -target-feature +soft-float -target-feature +soft-float-abi < /dev/null | FileCheck -check-prefix ARMEABISOFTFP %s
306//
307// ARM-NOT:#define _LP64
308// ARMEABISOFTFP:#define __APCS_32__ 1
309// ARMEABISOFTFP:#define __ARMEL__ 1
310// ARMEABISOFTFP:#define __ARM_ARCH 6
311// ARMEABISOFTFP:#define __ARM_ARCH_6J__ 1
312// ARMEABISOFTFP:#define __ARM_EABI__ 1
313// ARMEABISOFTFP:#define __ARM_PCS 1
314// ARMEABISOFTFP-NOT:#define __ARM_PCS_VFP 1
315// ARMEABISOFTFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
316// ARMEABISOFTFP:#define __CHAR16_TYPE__ unsigned short
317// ARMEABISOFTFP:#define __CHAR32_TYPE__ unsigned int
318// ARMEABISOFTFP:#define __CHAR_BIT__ 8
319// ARMEABISOFTFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
320// ARMEABISOFTFP:#define __DBL_DIG__ 15
321// ARMEABISOFTFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
322// ARMEABISOFTFP:#define __DBL_HAS_DENORM__ 1
323// ARMEABISOFTFP:#define __DBL_HAS_INFINITY__ 1
324// ARMEABISOFTFP:#define __DBL_HAS_QUIET_NAN__ 1
325// ARMEABISOFTFP:#define __DBL_MANT_DIG__ 53
326// ARMEABISOFTFP:#define __DBL_MAX_10_EXP__ 308
327// ARMEABISOFTFP:#define __DBL_MAX_EXP__ 1024
328// ARMEABISOFTFP:#define __DBL_MAX__ 1.7976931348623157e+308
329// ARMEABISOFTFP:#define __DBL_MIN_10_EXP__ (-307)
330// ARMEABISOFTFP:#define __DBL_MIN_EXP__ (-1021)
331// ARMEABISOFTFP:#define __DBL_MIN__ 2.2250738585072014e-308
332// ARMEABISOFTFP:#define __DECIMAL_DIG__ 17
333// ARMEABISOFTFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
334// ARMEABISOFTFP:#define __FLT_DIG__ 6
335// ARMEABISOFTFP:#define __FLT_EPSILON__ 1.19209290e-7F
336// ARMEABISOFTFP:#define __FLT_EVAL_METHOD__ 0
337// ARMEABISOFTFP:#define __FLT_HAS_DENORM__ 1
338// ARMEABISOFTFP:#define __FLT_HAS_INFINITY__ 1
339// ARMEABISOFTFP:#define __FLT_HAS_QUIET_NAN__ 1
340// ARMEABISOFTFP:#define __FLT_MANT_DIG__ 24
341// ARMEABISOFTFP:#define __FLT_MAX_10_EXP__ 38
342// ARMEABISOFTFP:#define __FLT_MAX_EXP__ 128
343// ARMEABISOFTFP:#define __FLT_MAX__ 3.40282347e+38F
344// ARMEABISOFTFP:#define __FLT_MIN_10_EXP__ (-37)
345// ARMEABISOFTFP:#define __FLT_MIN_EXP__ (-125)
346// ARMEABISOFTFP:#define __FLT_MIN__ 1.17549435e-38F
347// ARMEABISOFTFP:#define __FLT_RADIX__ 2
348// ARMEABISOFTFP:#define __INT16_TYPE__ short
349// ARMEABISOFTFP:#define __INT32_TYPE__ int
350// ARMEABISOFTFP:#define __INT64_C_SUFFIX__ LL
351// ARMEABISOFTFP:#define __INT64_TYPE__ long long int
352// ARMEABISOFTFP:#define __INT8_TYPE__ char
353// ARMEABISOFTFP:#define __INTMAX_MAX__ 9223372036854775807LL
354// ARMEABISOFTFP:#define __INTMAX_TYPE__ long long int
355// ARMEABISOFTFP:#define __INTMAX_WIDTH__ 64
356// ARMEABISOFTFP:#define __INTPTR_TYPE__ long int
357// ARMEABISOFTFP:#define __INTPTR_WIDTH__ 32
358// ARMEABISOFTFP:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000359// ARMEABISOFTFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000360// ARMEABISOFTFP:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000361// ARMEABISOFTFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000362// ARMEABISOFTFP:#define __LDBL_HAS_DENORM__ 1
363// ARMEABISOFTFP:#define __LDBL_HAS_INFINITY__ 1
364// ARMEABISOFTFP:#define __LDBL_HAS_QUIET_NAN__ 1
365// ARMEABISOFTFP:#define __LDBL_MANT_DIG__ 53
366// ARMEABISOFTFP:#define __LDBL_MAX_10_EXP__ 308
367// ARMEABISOFTFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000368// ARMEABISOFTFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000369// ARMEABISOFTFP:#define __LDBL_MIN_10_EXP__ (-307)
370// ARMEABISOFTFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000371// ARMEABISOFTFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000372// ARMEABISOFTFP:#define __LITTLE_ENDIAN__ 1
373// ARMEABISOFTFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
374// ARMEABISOFTFP:#define __LONG_MAX__ 2147483647L
375// ARMEABISOFTFP-NOT:#define __LP64__
376// ARMEABISOFTFP:#define __POINTER_WIDTH__ 32
377// ARMEABISOFTFP:#define __PTRDIFF_TYPE__ int
378// ARMEABISOFTFP:#define __PTRDIFF_WIDTH__ 32
379// ARMEABISOFTFP:#define __REGISTER_PREFIX__
380// ARMEABISOFTFP:#define __SCHAR_MAX__ 127
381// ARMEABISOFTFP:#define __SHRT_MAX__ 32767
382// ARMEABISOFTFP:#define __SIG_ATOMIC_WIDTH__ 32
383// ARMEABISOFTFP:#define __SIZEOF_DOUBLE__ 8
384// ARMEABISOFTFP:#define __SIZEOF_FLOAT__ 4
385// ARMEABISOFTFP:#define __SIZEOF_INT__ 4
386// ARMEABISOFTFP:#define __SIZEOF_LONG_DOUBLE__ 8
387// ARMEABISOFTFP:#define __SIZEOF_LONG_LONG__ 8
388// ARMEABISOFTFP:#define __SIZEOF_LONG__ 4
389// ARMEABISOFTFP:#define __SIZEOF_POINTER__ 4
390// ARMEABISOFTFP:#define __SIZEOF_PTRDIFF_T__ 4
391// ARMEABISOFTFP:#define __SIZEOF_SHORT__ 2
392// ARMEABISOFTFP:#define __SIZEOF_SIZE_T__ 4
393// ARMEABISOFTFP:#define __SIZEOF_WCHAR_T__ 4
394// ARMEABISOFTFP:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000395// ARMEABISOFTFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000396// ARMEABISOFTFP:#define __SIZE_TYPE__ unsigned int
397// ARMEABISOFTFP:#define __SIZE_WIDTH__ 32
398// ARMEABISOFTFP:#define __SOFTFP__ 1
399// ARMEABISOFTFP:#define __THUMB_INTERWORK__ 1
400// ARMEABISOFTFP:#define __UINTMAX_TYPE__ long long unsigned int
401// ARMEABISOFTFP:#define __USER_LABEL_PREFIX__
402// ARMEABISOFTFP:#define __WCHAR_MAX__ 4294967295U
403// ARMEABISOFTFP:#define __WCHAR_TYPE__ unsigned int
404// ARMEABISOFTFP:#define __WCHAR_WIDTH__ 32
405// ARMEABISOFTFP:#define __WINT_TYPE__ unsigned int
406// ARMEABISOFTFP:#define __WINT_WIDTH__ 32
407// ARMEABISOFTFP:#define __arm 1
408// ARMEABISOFTFP:#define __arm__ 1
409
410// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-linux-gnueabi < /dev/null | FileCheck -check-prefix ARMEABIHARDFP %s
411//
412// ARM-NOT:#define _LP64
413// ARMEABIHARDFP:#define __APCS_32__ 1
414// ARMEABIHARDFP:#define __ARMEL__ 1
415// ARMEABIHARDFP:#define __ARM_ARCH 6
416// ARMEABIHARDFP:#define __ARM_ARCH_6J__ 1
417// ARMEABIHARDFP:#define __ARM_EABI__ 1
418// ARMEABIHARDFP:#define __ARM_PCS 1
419// ARMEABIHARDFP:#define __ARM_PCS_VFP 1
420// ARMEABIHARDFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
421// ARMEABIHARDFP:#define __CHAR16_TYPE__ unsigned short
422// ARMEABIHARDFP:#define __CHAR32_TYPE__ unsigned int
423// ARMEABIHARDFP:#define __CHAR_BIT__ 8
424// ARMEABIHARDFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
425// ARMEABIHARDFP:#define __DBL_DIG__ 15
426// ARMEABIHARDFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
427// ARMEABIHARDFP:#define __DBL_HAS_DENORM__ 1
428// ARMEABIHARDFP:#define __DBL_HAS_INFINITY__ 1
429// ARMEABIHARDFP:#define __DBL_HAS_QUIET_NAN__ 1
430// ARMEABIHARDFP:#define __DBL_MANT_DIG__ 53
431// ARMEABIHARDFP:#define __DBL_MAX_10_EXP__ 308
432// ARMEABIHARDFP:#define __DBL_MAX_EXP__ 1024
433// ARMEABIHARDFP:#define __DBL_MAX__ 1.7976931348623157e+308
434// ARMEABIHARDFP:#define __DBL_MIN_10_EXP__ (-307)
435// ARMEABIHARDFP:#define __DBL_MIN_EXP__ (-1021)
436// ARMEABIHARDFP:#define __DBL_MIN__ 2.2250738585072014e-308
437// ARMEABIHARDFP:#define __DECIMAL_DIG__ 17
438// ARMEABIHARDFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
439// ARMEABIHARDFP:#define __FLT_DIG__ 6
440// ARMEABIHARDFP:#define __FLT_EPSILON__ 1.19209290e-7F
441// ARMEABIHARDFP:#define __FLT_EVAL_METHOD__ 0
442// ARMEABIHARDFP:#define __FLT_HAS_DENORM__ 1
443// ARMEABIHARDFP:#define __FLT_HAS_INFINITY__ 1
444// ARMEABIHARDFP:#define __FLT_HAS_QUIET_NAN__ 1
445// ARMEABIHARDFP:#define __FLT_MANT_DIG__ 24
446// ARMEABIHARDFP:#define __FLT_MAX_10_EXP__ 38
447// ARMEABIHARDFP:#define __FLT_MAX_EXP__ 128
448// ARMEABIHARDFP:#define __FLT_MAX__ 3.40282347e+38F
449// ARMEABIHARDFP:#define __FLT_MIN_10_EXP__ (-37)
450// ARMEABIHARDFP:#define __FLT_MIN_EXP__ (-125)
451// ARMEABIHARDFP:#define __FLT_MIN__ 1.17549435e-38F
452// ARMEABIHARDFP:#define __FLT_RADIX__ 2
453// ARMEABIHARDFP:#define __INT16_TYPE__ short
454// ARMEABIHARDFP:#define __INT32_TYPE__ int
455// ARMEABIHARDFP:#define __INT64_C_SUFFIX__ LL
456// ARMEABIHARDFP:#define __INT64_TYPE__ long long int
457// ARMEABIHARDFP:#define __INT8_TYPE__ char
458// ARMEABIHARDFP:#define __INTMAX_MAX__ 9223372036854775807LL
459// ARMEABIHARDFP:#define __INTMAX_TYPE__ long long int
460// ARMEABIHARDFP:#define __INTMAX_WIDTH__ 64
461// ARMEABIHARDFP:#define __INTPTR_TYPE__ long int
462// ARMEABIHARDFP:#define __INTPTR_WIDTH__ 32
463// ARMEABIHARDFP:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000464// ARMEABIHARDFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000465// ARMEABIHARDFP:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000466// ARMEABIHARDFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000467// ARMEABIHARDFP:#define __LDBL_HAS_DENORM__ 1
468// ARMEABIHARDFP:#define __LDBL_HAS_INFINITY__ 1
469// ARMEABIHARDFP:#define __LDBL_HAS_QUIET_NAN__ 1
470// ARMEABIHARDFP:#define __LDBL_MANT_DIG__ 53
471// ARMEABIHARDFP:#define __LDBL_MAX_10_EXP__ 308
472// ARMEABIHARDFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000473// ARMEABIHARDFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000474// ARMEABIHARDFP:#define __LDBL_MIN_10_EXP__ (-307)
475// ARMEABIHARDFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000476// ARMEABIHARDFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000477// ARMEABIHARDFP:#define __LITTLE_ENDIAN__ 1
478// ARMEABIHARDFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
479// ARMEABIHARDFP:#define __LONG_MAX__ 2147483647L
480// ARMEABIHARDFP-NOT:#define __LP64__
481// ARMEABIHARDFP:#define __POINTER_WIDTH__ 32
482// ARMEABIHARDFP:#define __PTRDIFF_TYPE__ int
483// ARMEABIHARDFP:#define __PTRDIFF_WIDTH__ 32
484// ARMEABIHARDFP:#define __REGISTER_PREFIX__
485// ARMEABIHARDFP:#define __SCHAR_MAX__ 127
486// ARMEABIHARDFP:#define __SHRT_MAX__ 32767
487// ARMEABIHARDFP:#define __SIG_ATOMIC_WIDTH__ 32
488// ARMEABIHARDFP:#define __SIZEOF_DOUBLE__ 8
489// ARMEABIHARDFP:#define __SIZEOF_FLOAT__ 4
490// ARMEABIHARDFP:#define __SIZEOF_INT__ 4
491// ARMEABIHARDFP:#define __SIZEOF_LONG_DOUBLE__ 8
492// ARMEABIHARDFP:#define __SIZEOF_LONG_LONG__ 8
493// ARMEABIHARDFP:#define __SIZEOF_LONG__ 4
494// ARMEABIHARDFP:#define __SIZEOF_POINTER__ 4
495// ARMEABIHARDFP:#define __SIZEOF_PTRDIFF_T__ 4
496// ARMEABIHARDFP:#define __SIZEOF_SHORT__ 2
497// ARMEABIHARDFP:#define __SIZEOF_SIZE_T__ 4
498// ARMEABIHARDFP:#define __SIZEOF_WCHAR_T__ 4
499// ARMEABIHARDFP:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000500// ARMEABIHARDFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000501// ARMEABIHARDFP:#define __SIZE_TYPE__ unsigned int
502// ARMEABIHARDFP:#define __SIZE_WIDTH__ 32
503// ARMEABIHARDFP-NOT:#define __SOFTFP__ 1
504// ARMEABIHARDFP:#define __THUMB_INTERWORK__ 1
505// ARMEABIHARDFP:#define __UINTMAX_TYPE__ long long unsigned int
506// ARMEABIHARDFP:#define __USER_LABEL_PREFIX__
507// ARMEABIHARDFP:#define __WCHAR_MAX__ 4294967295U
508// ARMEABIHARDFP:#define __WCHAR_TYPE__ unsigned int
509// ARMEABIHARDFP:#define __WCHAR_WIDTH__ 32
510// ARMEABIHARDFP:#define __WINT_TYPE__ unsigned int
511// ARMEABIHARDFP:#define __WINT_WIDTH__ 32
512// ARMEABIHARDFP:#define __arm 1
513// ARMEABIHARDFP:#define __arm__ 1
514
Tim Northovere77f78c2013-11-11 19:11:22 +0000515// RUN: %clang -target arm -arch armv7s -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
516// RUN: %clang -target arm -arch armv6m -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
517// RUN: %clang -target arm -arch armv7m -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
518// RUN: %clang -target arm -arch armv7em -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
519// RUN: %clang -target thumbv7-apple-darwin-eabi -arch armv7 -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
520// ARM-DARWIN-NO-EABI-NOT: #define __ARM_EABI__ 1
521
Silviu Barangaf9671dd2013-10-21 10:54:53 +0000522// Check that -mhwdiv works properly for targets which don't have the hwdiv feature enabled by default.
523
524// RUN: %clang -target arm -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-ARM %s
525// ARMHWDIV-ARM:#define __ARM_ARCH_EXT_IDIV__ 1
526
527// RUN: %clang -target arm -mthumb -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-THUMB %s
528// THUMBHWDIV-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1
529
530// RUN: %clang -target arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-FALSE %s
531// ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
532
533// RUN: %clang -target arm -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMB-FALSE %s
534// THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
535
536// RUN: %clang -target arm -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-ARM-FALSE %s
537// THUMBHWDIV-ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
538
539// RUN: %clang -target arm -mthumb -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-THUMB-FALSE %s
540// ARMHWDIV-THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
541
Weiming Zhaofb5c21a2014-01-22 18:42:13 +0000542// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armv8-none-none < /dev/null | FileCheck -check-prefix ARMv8 %s
543// ARMv8: #define __THUMB_INTERWORK__ 1
544// ARMv8-NOT: #define __thumb2__
545
546// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv8 < /dev/null | FileCheck -check-prefix Thumbv8 %s
547// Thumbv8: #define __THUMB_INTERWORK__ 1
548// Thumbv8: #define __thumb2__
549
550// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv5 < /dev/null | FileCheck -check-prefix Thumbv5 %s
551// Thumbv5: #define __THUMB_INTERWORK__ 1
552// Thumbv5-NOT: #define __thumb2__
553
554// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv6t2 < /dev/null | FileCheck -check-prefix Thumbv6t2 %s
555// Thumbv6t2: #define __THUMB_INTERWORK__ 1
556// Thumbv6t2: #define __thumb2__
557
558// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv7 < /dev/null | FileCheck -check-prefix Thumbv7 %s
559// Thumbv7: #define __THUMB_INTERWORK__ 1
560// Thumbv7: #define __thumb2__
561
Chris Lattnere963d092009-10-29 04:55:36 +0000562//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000563// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
Chris Lattnere963d092009-10-29 04:55:36 +0000564//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000565// I386-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000566// I386:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +0000567// I386:#define __CHAR16_TYPE__ unsigned short
568// I386:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000569// I386:#define __CHAR_BIT__ 8
570// I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
571// I386:#define __DBL_DIG__ 15
572// I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
573// I386:#define __DBL_HAS_DENORM__ 1
574// I386:#define __DBL_HAS_INFINITY__ 1
575// I386:#define __DBL_HAS_QUIET_NAN__ 1
576// I386:#define __DBL_MANT_DIG__ 53
577// I386:#define __DBL_MAX_10_EXP__ 308
578// I386:#define __DBL_MAX_EXP__ 1024
579// I386:#define __DBL_MAX__ 1.7976931348623157e+308
580// I386:#define __DBL_MIN_10_EXP__ (-307)
581// I386:#define __DBL_MIN_EXP__ (-1021)
582// I386:#define __DBL_MIN__ 2.2250738585072014e-308
583// I386:#define __DECIMAL_DIG__ 21
584// I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
585// I386:#define __FLT_DIG__ 6
586// I386:#define __FLT_EPSILON__ 1.19209290e-7F
Benjamin Kramercf501472011-12-28 15:47:06 +0000587// I386:#define __FLT_EVAL_METHOD__ 2
Chris Lattnere963d092009-10-29 04:55:36 +0000588// I386:#define __FLT_HAS_DENORM__ 1
589// I386:#define __FLT_HAS_INFINITY__ 1
590// I386:#define __FLT_HAS_QUIET_NAN__ 1
591// I386:#define __FLT_MANT_DIG__ 24
592// I386:#define __FLT_MAX_10_EXP__ 38
593// I386:#define __FLT_MAX_EXP__ 128
594// I386:#define __FLT_MAX__ 3.40282347e+38F
595// I386:#define __FLT_MIN_10_EXP__ (-37)
596// I386:#define __FLT_MIN_EXP__ (-125)
597// I386:#define __FLT_MIN__ 1.17549435e-38F
598// I386:#define __FLT_RADIX__ 2
599// I386:#define __INT16_TYPE__ short
600// I386:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +0000601// I386:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +0000602// I386:#define __INT64_TYPE__ long long int
603// I386:#define __INT8_TYPE__ char
604// I386:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +0000605// I386:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +0000606// I386:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +0000607// I386:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +0000608// I386:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000609// I386:#define __INT_MAX__ 2147483647
610// I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
611// I386:#define __LDBL_DIG__ 18
612// I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
613// I386:#define __LDBL_HAS_DENORM__ 1
614// I386:#define __LDBL_HAS_INFINITY__ 1
615// I386:#define __LDBL_HAS_QUIET_NAN__ 1
616// I386:#define __LDBL_MANT_DIG__ 64
617// I386:#define __LDBL_MAX_10_EXP__ 4932
618// I386:#define __LDBL_MAX_EXP__ 16384
619// I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
620// I386:#define __LDBL_MIN_10_EXP__ (-4931)
621// I386:#define __LDBL_MIN_EXP__ (-16381)
622// I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
623// I386:#define __LITTLE_ENDIAN__ 1
624// I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
625// I386:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000626// I386-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +0000627// I386:#define __NO_MATH_INLINES 1
628// I386:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000629// I386:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +0000630// I386:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000631// I386:#define __REGISTER_PREFIX__
632// I386:#define __SCHAR_MAX__ 127
633// I386:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +0000634// I386:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +0000635// I386:#define __SIZEOF_DOUBLE__ 8
636// I386:#define __SIZEOF_FLOAT__ 4
637// I386:#define __SIZEOF_INT__ 4
638// I386:#define __SIZEOF_LONG_DOUBLE__ 12
639// I386:#define __SIZEOF_LONG_LONG__ 8
640// I386:#define __SIZEOF_LONG__ 4
641// I386:#define __SIZEOF_POINTER__ 4
642// I386:#define __SIZEOF_PTRDIFF_T__ 4
643// I386:#define __SIZEOF_SHORT__ 2
644// I386:#define __SIZEOF_SIZE_T__ 4
645// I386:#define __SIZEOF_WCHAR_T__ 4
646// I386:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000647// I386:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +0000648// I386:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +0000649// I386:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000650// I386:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000651// I386:#define __USER_LABEL_PREFIX__ _
652// I386:#define __WCHAR_MAX__ 2147483647
653// I386:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +0000654// I386:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000655// I386:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +0000656// I386:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000657// I386:#define __i386 1
658// I386:#define __i386__ 1
Chris Lattnere963d092009-10-29 04:55:36 +0000659// I386:#define i386 1
660//
Benjamin Kramercf501472011-12-28 15:47:06 +0000661// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-pc-linux-gnu -target-cpu pentium4 < /dev/null | FileCheck -check-prefix I386-LINUX %s
Douglas Gregore6d6e512011-01-12 21:19:25 +0000662//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000663// I386-LINUX-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000664// I386-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregore6d6e512011-01-12 21:19:25 +0000665// I386-LINUX:#define __CHAR16_TYPE__ unsigned short
666// I386-LINUX:#define __CHAR32_TYPE__ unsigned int
667// I386-LINUX:#define __CHAR_BIT__ 8
668// I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
669// I386-LINUX:#define __DBL_DIG__ 15
670// I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
671// I386-LINUX:#define __DBL_HAS_DENORM__ 1
672// I386-LINUX:#define __DBL_HAS_INFINITY__ 1
673// I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
674// I386-LINUX:#define __DBL_MANT_DIG__ 53
675// I386-LINUX:#define __DBL_MAX_10_EXP__ 308
676// I386-LINUX:#define __DBL_MAX_EXP__ 1024
677// I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
678// I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
679// I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
680// I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
681// I386-LINUX:#define __DECIMAL_DIG__ 21
682// I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
683// I386-LINUX:#define __FLT_DIG__ 6
684// I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
685// I386-LINUX:#define __FLT_EVAL_METHOD__ 0
686// I386-LINUX:#define __FLT_HAS_DENORM__ 1
687// I386-LINUX:#define __FLT_HAS_INFINITY__ 1
688// I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
689// I386-LINUX:#define __FLT_MANT_DIG__ 24
690// I386-LINUX:#define __FLT_MAX_10_EXP__ 38
691// I386-LINUX:#define __FLT_MAX_EXP__ 128
692// I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
693// I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
694// I386-LINUX:#define __FLT_MIN_EXP__ (-125)
695// I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
696// I386-LINUX:#define __FLT_RADIX__ 2
697// I386-LINUX:#define __INT16_TYPE__ short
698// I386-LINUX:#define __INT32_TYPE__ int
699// I386-LINUX:#define __INT64_C_SUFFIX__ LL
700// I386-LINUX:#define __INT64_TYPE__ long long int
701// I386-LINUX:#define __INT8_TYPE__ char
702// I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
703// I386-LINUX:#define __INTMAX_TYPE__ long long int
704// I386-LINUX:#define __INTMAX_WIDTH__ 64
705// I386-LINUX:#define __INTPTR_TYPE__ int
706// I386-LINUX:#define __INTPTR_WIDTH__ 32
707// I386-LINUX:#define __INT_MAX__ 2147483647
708// I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
709// I386-LINUX:#define __LDBL_DIG__ 18
710// I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
711// I386-LINUX:#define __LDBL_HAS_DENORM__ 1
712// I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
713// I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
714// I386-LINUX:#define __LDBL_MANT_DIG__ 64
715// I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
716// I386-LINUX:#define __LDBL_MAX_EXP__ 16384
717// I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
718// I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
719// I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
720// I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
721// I386-LINUX:#define __LITTLE_ENDIAN__ 1
722// I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
723// I386-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000724// I386-LINUX-NOT:#define __LP64__
Douglas Gregore6d6e512011-01-12 21:19:25 +0000725// I386-LINUX:#define __NO_MATH_INLINES 1
726// I386-LINUX:#define __POINTER_WIDTH__ 32
727// I386-LINUX:#define __PTRDIFF_TYPE__ int
728// I386-LINUX:#define __PTRDIFF_WIDTH__ 32
729// I386-LINUX:#define __REGISTER_PREFIX__
730// I386-LINUX:#define __SCHAR_MAX__ 127
731// I386-LINUX:#define __SHRT_MAX__ 32767
732// I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
733// I386-LINUX:#define __SIZEOF_DOUBLE__ 8
734// I386-LINUX:#define __SIZEOF_FLOAT__ 4
735// I386-LINUX:#define __SIZEOF_INT__ 4
736// I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
737// I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
738// I386-LINUX:#define __SIZEOF_LONG__ 4
739// I386-LINUX:#define __SIZEOF_POINTER__ 4
740// I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
741// I386-LINUX:#define __SIZEOF_SHORT__ 2
742// I386-LINUX:#define __SIZEOF_SIZE_T__ 4
743// I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
744// I386-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000745// I386-LINUX:#define __SIZE_MAX__ 4294967295U
Douglas Gregore6d6e512011-01-12 21:19:25 +0000746// I386-LINUX:#define __SIZE_TYPE__ unsigned int
747// I386-LINUX:#define __SIZE_WIDTH__ 32
748// I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
749// I386-LINUX:#define __USER_LABEL_PREFIX__
750// I386-LINUX:#define __WCHAR_MAX__ 2147483647
751// I386-LINUX:#define __WCHAR_TYPE__ int
752// I386-LINUX:#define __WCHAR_WIDTH__ 32
753// I386-LINUX:#define __WINT_TYPE__ unsigned int
754// I386-LINUX:#define __WINT_WIDTH__ 32
755// I386-LINUX:#define __i386 1
756// I386-LINUX:#define __i386__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +0000757// I386-LINUX:#define i386 1
758//
Joerg Sonnenberger0e921f22013-11-11 14:00:37 +0000759// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd < /dev/null | FileCheck -check-prefix I386-NETBSD %s
760//
761// I386-NETBSD-NOT:#define _LP64
762// I386-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
763// I386-NETBSD:#define __CHAR16_TYPE__ unsigned short
764// I386-NETBSD:#define __CHAR32_TYPE__ unsigned int
765// I386-NETBSD:#define __CHAR_BIT__ 8
766// I386-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
767// I386-NETBSD:#define __DBL_DIG__ 15
768// I386-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
769// I386-NETBSD:#define __DBL_HAS_DENORM__ 1
770// I386-NETBSD:#define __DBL_HAS_INFINITY__ 1
771// I386-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
772// I386-NETBSD:#define __DBL_MANT_DIG__ 53
773// I386-NETBSD:#define __DBL_MAX_10_EXP__ 308
774// I386-NETBSD:#define __DBL_MAX_EXP__ 1024
775// I386-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
776// I386-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
777// I386-NETBSD:#define __DBL_MIN_EXP__ (-1021)
778// I386-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
779// I386-NETBSD:#define __DECIMAL_DIG__ 21
780// I386-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
781// I386-NETBSD:#define __FLT_DIG__ 6
782// I386-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
783// I386-NETBSD:#define __FLT_EVAL_METHOD__ 2
784// I386-NETBSD:#define __FLT_HAS_DENORM__ 1
785// I386-NETBSD:#define __FLT_HAS_INFINITY__ 1
786// I386-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
787// I386-NETBSD:#define __FLT_MANT_DIG__ 24
788// I386-NETBSD:#define __FLT_MAX_10_EXP__ 38
789// I386-NETBSD:#define __FLT_MAX_EXP__ 128
790// I386-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
791// I386-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
792// I386-NETBSD:#define __FLT_MIN_EXP__ (-125)
793// I386-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
794// I386-NETBSD:#define __FLT_RADIX__ 2
795// I386-NETBSD:#define __INT16_TYPE__ short
796// I386-NETBSD:#define __INT32_TYPE__ int
797// I386-NETBSD:#define __INT64_C_SUFFIX__ LL
798// I386-NETBSD:#define __INT64_TYPE__ long long int
799// I386-NETBSD:#define __INT8_TYPE__ char
800// I386-NETBSD:#define __INTMAX_MAX__ 9223372036854775807LL
801// I386-NETBSD:#define __INTMAX_TYPE__ long long int
802// I386-NETBSD:#define __INTMAX_WIDTH__ 64
803// I386-NETBSD:#define __INTPTR_TYPE__ int
804// I386-NETBSD:#define __INTPTR_WIDTH__ 32
805// I386-NETBSD:#define __INT_MAX__ 2147483647
806// I386-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
807// I386-NETBSD:#define __LDBL_DIG__ 18
808// I386-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
809// I386-NETBSD:#define __LDBL_HAS_DENORM__ 1
810// I386-NETBSD:#define __LDBL_HAS_INFINITY__ 1
811// I386-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
812// I386-NETBSD:#define __LDBL_MANT_DIG__ 64
813// I386-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
814// I386-NETBSD:#define __LDBL_MAX_EXP__ 16384
815// I386-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
816// I386-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
817// I386-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
818// I386-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
819// I386-NETBSD:#define __LITTLE_ENDIAN__ 1
820// I386-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
821// I386-NETBSD:#define __LONG_MAX__ 2147483647L
822// I386-NETBSD-NOT:#define __LP64__
823// I386-NETBSD:#define __NO_MATH_INLINES 1
824// I386-NETBSD:#define __POINTER_WIDTH__ 32
825// I386-NETBSD:#define __PTRDIFF_TYPE__ int
826// I386-NETBSD:#define __PTRDIFF_WIDTH__ 32
827// I386-NETBSD:#define __REGISTER_PREFIX__
828// I386-NETBSD:#define __SCHAR_MAX__ 127
829// I386-NETBSD:#define __SHRT_MAX__ 32767
830// I386-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
831// I386-NETBSD:#define __SIZEOF_DOUBLE__ 8
832// I386-NETBSD:#define __SIZEOF_FLOAT__ 4
833// I386-NETBSD:#define __SIZEOF_INT__ 4
834// I386-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 12
835// I386-NETBSD:#define __SIZEOF_LONG_LONG__ 8
836// I386-NETBSD:#define __SIZEOF_LONG__ 4
837// I386-NETBSD:#define __SIZEOF_POINTER__ 4
838// I386-NETBSD:#define __SIZEOF_PTRDIFF_T__ 4
839// I386-NETBSD:#define __SIZEOF_SHORT__ 2
840// I386-NETBSD:#define __SIZEOF_SIZE_T__ 4
841// I386-NETBSD:#define __SIZEOF_WCHAR_T__ 4
842// I386-NETBSD:#define __SIZEOF_WINT_T__ 4
843// I386-NETBSD:#define __SIZE_MAX__ 4294967295U
844// I386-NETBSD:#define __SIZE_TYPE__ unsigned int
845// I386-NETBSD:#define __SIZE_WIDTH__ 32
846// I386-NETBSD:#define __UINTMAX_TYPE__ long long unsigned int
847// I386-NETBSD:#define __USER_LABEL_PREFIX__
848// I386-NETBSD:#define __WCHAR_MAX__ 2147483647
849// I386-NETBSD:#define __WCHAR_TYPE__ int
850// I386-NETBSD:#define __WCHAR_WIDTH__ 32
851// I386-NETBSD:#define __WINT_TYPE__ int
852// I386-NETBSD:#define __WINT_WIDTH__ 32
853// I386-NETBSD:#define __i386 1
854// I386-NETBSD:#define __i386__ 1
855// I386-NETBSD:#define i386 1
856//
857// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD-SSE %s
858// I386-NETBSD-SSE:#define __FLT_EVAL_METHOD__ 0
859// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 < /dev/null | FileCheck -check-prefix I386-NETBSD6 %s
860// I386-NETBSD6:#define __FLT_EVAL_METHOD__ 1
861// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD6-SSE %s
862// I386-NETBSD6-SSE:#define __FLT_EVAL_METHOD__ 1
863
864//
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000865// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none < /dev/null | FileCheck -check-prefix MIPS32BE %s
866//
867// MIPS32BE:#define MIPSEB 1
868// MIPS32BE:#define _ABIO32 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000869// MIPS32BE-NOT:#define _LP64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000870// MIPS32BE:#define _MIPSEB 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +0000871// MIPS32BE:#define _MIPS_ARCH "mips32r2"
872// MIPS32BE:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +0000873// MIPS32BE:#define _MIPS_FPSET 16
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000874// MIPS32BE:#define _MIPS_SIM _ABIO32
875// MIPS32BE:#define _MIPS_SZINT 32
876// MIPS32BE:#define _MIPS_SZLONG 32
877// MIPS32BE:#define _MIPS_SZPTR 32
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000878// MIPS32BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000879// MIPS32BE:#define __CHAR16_TYPE__ unsigned short
880// MIPS32BE:#define __CHAR32_TYPE__ unsigned int
881// MIPS32BE:#define __CHAR_BIT__ 8
882// MIPS32BE:#define __CONSTANT_CFSTRINGS__ 1
883// MIPS32BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
884// MIPS32BE:#define __DBL_DIG__ 15
885// MIPS32BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
886// MIPS32BE:#define __DBL_HAS_DENORM__ 1
887// MIPS32BE:#define __DBL_HAS_INFINITY__ 1
888// MIPS32BE:#define __DBL_HAS_QUIET_NAN__ 1
889// MIPS32BE:#define __DBL_MANT_DIG__ 53
890// MIPS32BE:#define __DBL_MAX_10_EXP__ 308
891// MIPS32BE:#define __DBL_MAX_EXP__ 1024
892// MIPS32BE:#define __DBL_MAX__ 1.7976931348623157e+308
893// MIPS32BE:#define __DBL_MIN_10_EXP__ (-307)
894// MIPS32BE:#define __DBL_MIN_EXP__ (-1021)
895// MIPS32BE:#define __DBL_MIN__ 2.2250738585072014e-308
896// MIPS32BE:#define __DECIMAL_DIG__ 17
897// MIPS32BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
898// MIPS32BE:#define __FLT_DIG__ 6
899// MIPS32BE:#define __FLT_EPSILON__ 1.19209290e-7F
900// MIPS32BE:#define __FLT_EVAL_METHOD__ 0
901// MIPS32BE:#define __FLT_HAS_DENORM__ 1
902// MIPS32BE:#define __FLT_HAS_INFINITY__ 1
903// MIPS32BE:#define __FLT_HAS_QUIET_NAN__ 1
904// MIPS32BE:#define __FLT_MANT_DIG__ 24
905// MIPS32BE:#define __FLT_MAX_10_EXP__ 38
906// MIPS32BE:#define __FLT_MAX_EXP__ 128
907// MIPS32BE:#define __FLT_MAX__ 3.40282347e+38F
908// MIPS32BE:#define __FLT_MIN_10_EXP__ (-37)
909// MIPS32BE:#define __FLT_MIN_EXP__ (-125)
910// MIPS32BE:#define __FLT_MIN__ 1.17549435e-38F
911// MIPS32BE:#define __FLT_RADIX__ 2
912// MIPS32BE:#define __INT16_TYPE__ short
913// MIPS32BE:#define __INT32_TYPE__ int
914// MIPS32BE:#define __INT64_C_SUFFIX__ LL
915// MIPS32BE:#define __INT64_TYPE__ long long int
916// MIPS32BE:#define __INT8_TYPE__ char
917// MIPS32BE:#define __INTMAX_MAX__ 9223372036854775807LL
918// MIPS32BE:#define __INTMAX_TYPE__ long long int
919// MIPS32BE:#define __INTMAX_WIDTH__ 64
920// MIPS32BE:#define __INTPTR_TYPE__ long int
921// MIPS32BE:#define __INTPTR_WIDTH__ 32
922// MIPS32BE:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000923// MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000924// MIPS32BE:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000925// MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000926// MIPS32BE:#define __LDBL_HAS_DENORM__ 1
927// MIPS32BE:#define __LDBL_HAS_INFINITY__ 1
928// MIPS32BE:#define __LDBL_HAS_QUIET_NAN__ 1
929// MIPS32BE:#define __LDBL_MANT_DIG__ 53
930// MIPS32BE:#define __LDBL_MAX_10_EXP__ 308
931// MIPS32BE:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000932// MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000933// MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307)
934// MIPS32BE:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000935// MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000936// MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
937// MIPS32BE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000938// MIPS32BE-NOT:#define __LP64__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000939// MIPS32BE:#define __MIPSEB 1
940// MIPS32BE:#define __MIPSEB__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000941// MIPS32BE:#define __POINTER_WIDTH__ 32
942// MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1
943// MIPS32BE:#define __PTRDIFF_TYPE__ int
944// MIPS32BE:#define __PTRDIFF_WIDTH__ 32
945// MIPS32BE:#define __REGISTER_PREFIX__
946// MIPS32BE:#define __SCHAR_MAX__ 127
947// MIPS32BE:#define __SHRT_MAX__ 32767
948// MIPS32BE:#define __SIG_ATOMIC_WIDTH__ 32
949// MIPS32BE:#define __SIZEOF_DOUBLE__ 8
950// MIPS32BE:#define __SIZEOF_FLOAT__ 4
951// MIPS32BE:#define __SIZEOF_INT__ 4
952// MIPS32BE:#define __SIZEOF_LONG_DOUBLE__ 8
953// MIPS32BE:#define __SIZEOF_LONG_LONG__ 8
954// MIPS32BE:#define __SIZEOF_LONG__ 4
955// MIPS32BE:#define __SIZEOF_POINTER__ 4
956// MIPS32BE:#define __SIZEOF_PTRDIFF_T__ 4
957// MIPS32BE:#define __SIZEOF_SHORT__ 2
958// MIPS32BE:#define __SIZEOF_SIZE_T__ 4
959// MIPS32BE:#define __SIZEOF_WCHAR_T__ 4
960// MIPS32BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000961// MIPS32BE:#define __SIZE_MAX__ 4294967295U
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000962// MIPS32BE:#define __SIZE_TYPE__ unsigned int
963// MIPS32BE:#define __SIZE_WIDTH__ 32
964// MIPS32BE:#define __STDC_HOSTED__ 0
965// MIPS32BE:#define __STDC_VERSION__ 199901L
966// MIPS32BE:#define __STDC__ 1
967// MIPS32BE:#define __UINTMAX_TYPE__ long long unsigned int
968// MIPS32BE:#define __USER_LABEL_PREFIX__ _
969// MIPS32BE:#define __WCHAR_MAX__ 2147483647
970// MIPS32BE:#define __WCHAR_TYPE__ int
971// MIPS32BE:#define __WCHAR_WIDTH__ 32
972// MIPS32BE:#define __WINT_TYPE__ int
973// MIPS32BE:#define __WINT_WIDTH__ 32
974// MIPS32BE:#define __clang__ 1
975// MIPS32BE:#define __llvm__ 1
976// MIPS32BE:#define __mips 1
977// MIPS32BE:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +0000978// MIPS32BE:#define __mips_fpr 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000979// MIPS32BE:#define __mips_hard_float 1
980// MIPS32BE:#define __mips_o32 1
981// MIPS32BE:#define _mips 1
982// MIPS32BE:#define mips 1
983//
984// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -check-prefix MIPS32EL %s
985//
986// MIPS32EL:#define MIPSEL 1
987// MIPS32EL:#define _ABIO32 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000988// MIPS32EL-NOT:#define _LP64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000989// MIPS32EL:#define _MIPSEL 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +0000990// MIPS32EL:#define _MIPS_ARCH "mips32r2"
991// MIPS32EL:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +0000992// MIPS32EL:#define _MIPS_FPSET 16
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000993// MIPS32EL:#define _MIPS_SIM _ABIO32
994// MIPS32EL:#define _MIPS_SZINT 32
995// MIPS32EL:#define _MIPS_SZLONG 32
996// MIPS32EL:#define _MIPS_SZPTR 32
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000997// MIPS32EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000998// MIPS32EL:#define __CHAR16_TYPE__ unsigned short
999// MIPS32EL:#define __CHAR32_TYPE__ unsigned int
1000// MIPS32EL:#define __CHAR_BIT__ 8
1001// MIPS32EL:#define __CONSTANT_CFSTRINGS__ 1
1002// MIPS32EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1003// MIPS32EL:#define __DBL_DIG__ 15
1004// MIPS32EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1005// MIPS32EL:#define __DBL_HAS_DENORM__ 1
1006// MIPS32EL:#define __DBL_HAS_INFINITY__ 1
1007// MIPS32EL:#define __DBL_HAS_QUIET_NAN__ 1
1008// MIPS32EL:#define __DBL_MANT_DIG__ 53
1009// MIPS32EL:#define __DBL_MAX_10_EXP__ 308
1010// MIPS32EL:#define __DBL_MAX_EXP__ 1024
1011// MIPS32EL:#define __DBL_MAX__ 1.7976931348623157e+308
1012// MIPS32EL:#define __DBL_MIN_10_EXP__ (-307)
1013// MIPS32EL:#define __DBL_MIN_EXP__ (-1021)
1014// MIPS32EL:#define __DBL_MIN__ 2.2250738585072014e-308
1015// MIPS32EL:#define __DECIMAL_DIG__ 17
1016// MIPS32EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1017// MIPS32EL:#define __FLT_DIG__ 6
1018// MIPS32EL:#define __FLT_EPSILON__ 1.19209290e-7F
1019// MIPS32EL:#define __FLT_EVAL_METHOD__ 0
1020// MIPS32EL:#define __FLT_HAS_DENORM__ 1
1021// MIPS32EL:#define __FLT_HAS_INFINITY__ 1
1022// MIPS32EL:#define __FLT_HAS_QUIET_NAN__ 1
1023// MIPS32EL:#define __FLT_MANT_DIG__ 24
1024// MIPS32EL:#define __FLT_MAX_10_EXP__ 38
1025// MIPS32EL:#define __FLT_MAX_EXP__ 128
1026// MIPS32EL:#define __FLT_MAX__ 3.40282347e+38F
1027// MIPS32EL:#define __FLT_MIN_10_EXP__ (-37)
1028// MIPS32EL:#define __FLT_MIN_EXP__ (-125)
1029// MIPS32EL:#define __FLT_MIN__ 1.17549435e-38F
1030// MIPS32EL:#define __FLT_RADIX__ 2
1031// MIPS32EL:#define __INT16_TYPE__ short
1032// MIPS32EL:#define __INT32_TYPE__ int
1033// MIPS32EL:#define __INT64_C_SUFFIX__ LL
1034// MIPS32EL:#define __INT64_TYPE__ long long int
1035// MIPS32EL:#define __INT8_TYPE__ char
1036// MIPS32EL:#define __INTMAX_MAX__ 9223372036854775807LL
1037// MIPS32EL:#define __INTMAX_TYPE__ long long int
1038// MIPS32EL:#define __INTMAX_WIDTH__ 64
1039// MIPS32EL:#define __INTPTR_TYPE__ long int
1040// MIPS32EL:#define __INTPTR_WIDTH__ 32
1041// MIPS32EL:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001042// MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001043// MIPS32EL:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001044// MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001045// MIPS32EL:#define __LDBL_HAS_DENORM__ 1
1046// MIPS32EL:#define __LDBL_HAS_INFINITY__ 1
1047// MIPS32EL:#define __LDBL_HAS_QUIET_NAN__ 1
1048// MIPS32EL:#define __LDBL_MANT_DIG__ 53
1049// MIPS32EL:#define __LDBL_MAX_10_EXP__ 308
1050// MIPS32EL:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001051// MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001052// MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307)
1053// MIPS32EL:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001054// MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001055// MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1056// MIPS32EL:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001057// MIPS32EL-NOT:#define __LP64__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001058// MIPS32EL:#define __MIPSEL 1
1059// MIPS32EL:#define __MIPSEL__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001060// MIPS32EL:#define __POINTER_WIDTH__ 32
1061// MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1062// MIPS32EL:#define __PTRDIFF_TYPE__ int
1063// MIPS32EL:#define __PTRDIFF_WIDTH__ 32
1064// MIPS32EL:#define __REGISTER_PREFIX__
1065// MIPS32EL:#define __SCHAR_MAX__ 127
1066// MIPS32EL:#define __SHRT_MAX__ 32767
1067// MIPS32EL:#define __SIG_ATOMIC_WIDTH__ 32
1068// MIPS32EL:#define __SIZEOF_DOUBLE__ 8
1069// MIPS32EL:#define __SIZEOF_FLOAT__ 4
1070// MIPS32EL:#define __SIZEOF_INT__ 4
1071// MIPS32EL:#define __SIZEOF_LONG_DOUBLE__ 8
1072// MIPS32EL:#define __SIZEOF_LONG_LONG__ 8
1073// MIPS32EL:#define __SIZEOF_LONG__ 4
1074// MIPS32EL:#define __SIZEOF_POINTER__ 4
1075// MIPS32EL:#define __SIZEOF_PTRDIFF_T__ 4
1076// MIPS32EL:#define __SIZEOF_SHORT__ 2
1077// MIPS32EL:#define __SIZEOF_SIZE_T__ 4
1078// MIPS32EL:#define __SIZEOF_WCHAR_T__ 4
1079// MIPS32EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001080// MIPS32EL:#define __SIZE_MAX__ 4294967295U
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001081// MIPS32EL:#define __SIZE_TYPE__ unsigned int
1082// MIPS32EL:#define __SIZE_WIDTH__ 32
1083// MIPS32EL:#define __UINTMAX_TYPE__ long long unsigned int
1084// MIPS32EL:#define __USER_LABEL_PREFIX__ _
1085// MIPS32EL:#define __WCHAR_MAX__ 2147483647
1086// MIPS32EL:#define __WCHAR_TYPE__ int
1087// MIPS32EL:#define __WCHAR_WIDTH__ 32
1088// MIPS32EL:#define __WINT_TYPE__ int
1089// MIPS32EL:#define __WINT_WIDTH__ 32
1090// MIPS32EL:#define __clang__ 1
1091// MIPS32EL:#define __llvm__ 1
1092// MIPS32EL:#define __mips 1
1093// MIPS32EL:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001094// MIPS32EL:#define __mips_fpr 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001095// MIPS32EL:#define __mips_hard_float 1
1096// MIPS32EL:#define __mips_o32 1
1097// MIPS32EL:#define _mips 1
1098// MIPS32EL:#define mips 1
1099//
1100// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -check-prefix MIPS64BE %s
1101//
1102// MIPS64BE:#define MIPSEB 1
1103// MIPS64BE:#define _ABI64 3
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001104// MIPS64BE:#define _LP64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001105// MIPS64BE:#define _MIPSEB 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001106// MIPS64BE:#define _MIPS_ARCH "mips64r2"
1107// MIPS64BE:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001108// MIPS64BE:#define _MIPS_FPSET 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001109// MIPS64BE:#define _MIPS_SIM _ABI64
1110// MIPS64BE:#define _MIPS_SZINT 32
1111// MIPS64BE:#define _MIPS_SZLONG 64
1112// MIPS64BE:#define _MIPS_SZPTR 64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001113// MIPS64BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001114// MIPS64BE:#define __CHAR16_TYPE__ unsigned short
1115// MIPS64BE:#define __CHAR32_TYPE__ unsigned int
1116// MIPS64BE:#define __CHAR_BIT__ 8
1117// MIPS64BE:#define __CONSTANT_CFSTRINGS__ 1
1118// MIPS64BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1119// MIPS64BE:#define __DBL_DIG__ 15
1120// MIPS64BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
1121// MIPS64BE:#define __DBL_HAS_DENORM__ 1
1122// MIPS64BE:#define __DBL_HAS_INFINITY__ 1
1123// MIPS64BE:#define __DBL_HAS_QUIET_NAN__ 1
1124// MIPS64BE:#define __DBL_MANT_DIG__ 53
1125// MIPS64BE:#define __DBL_MAX_10_EXP__ 308
1126// MIPS64BE:#define __DBL_MAX_EXP__ 1024
1127// MIPS64BE:#define __DBL_MAX__ 1.7976931348623157e+308
1128// MIPS64BE:#define __DBL_MIN_10_EXP__ (-307)
1129// MIPS64BE:#define __DBL_MIN_EXP__ (-1021)
1130// MIPS64BE:#define __DBL_MIN__ 2.2250738585072014e-308
1131// MIPS64BE:#define __DECIMAL_DIG__ 36
1132// MIPS64BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1133// MIPS64BE:#define __FLT_DIG__ 6
1134// MIPS64BE:#define __FLT_EPSILON__ 1.19209290e-7F
1135// MIPS64BE:#define __FLT_EVAL_METHOD__ 0
1136// MIPS64BE:#define __FLT_HAS_DENORM__ 1
1137// MIPS64BE:#define __FLT_HAS_INFINITY__ 1
1138// MIPS64BE:#define __FLT_HAS_QUIET_NAN__ 1
1139// MIPS64BE:#define __FLT_MANT_DIG__ 24
1140// MIPS64BE:#define __FLT_MAX_10_EXP__ 38
1141// MIPS64BE:#define __FLT_MAX_EXP__ 128
1142// MIPS64BE:#define __FLT_MAX__ 3.40282347e+38F
1143// MIPS64BE:#define __FLT_MIN_10_EXP__ (-37)
1144// MIPS64BE:#define __FLT_MIN_EXP__ (-125)
1145// MIPS64BE:#define __FLT_MIN__ 1.17549435e-38F
1146// MIPS64BE:#define __FLT_RADIX__ 2
1147// MIPS64BE:#define __INT16_TYPE__ short
1148// MIPS64BE:#define __INT32_TYPE__ int
1149// MIPS64BE:#define __INT64_C_SUFFIX__ LL
1150// MIPS64BE:#define __INT64_TYPE__ long long int
1151// MIPS64BE:#define __INT8_TYPE__ char
1152// MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807LL
1153// MIPS64BE:#define __INTMAX_TYPE__ long long int
1154// MIPS64BE:#define __INTMAX_WIDTH__ 64
1155// MIPS64BE:#define __INTPTR_TYPE__ long int
1156// MIPS64BE:#define __INTPTR_WIDTH__ 64
1157// MIPS64BE:#define __INT_MAX__ 2147483647
1158// MIPS64BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1159// MIPS64BE:#define __LDBL_DIG__ 33
1160// MIPS64BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1161// MIPS64BE:#define __LDBL_HAS_DENORM__ 1
1162// MIPS64BE:#define __LDBL_HAS_INFINITY__ 1
1163// MIPS64BE:#define __LDBL_HAS_QUIET_NAN__ 1
1164// MIPS64BE:#define __LDBL_MANT_DIG__ 113
1165// MIPS64BE:#define __LDBL_MAX_10_EXP__ 4932
1166// MIPS64BE:#define __LDBL_MAX_EXP__ 16384
1167// MIPS64BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1168// MIPS64BE:#define __LDBL_MIN_10_EXP__ (-4931)
1169// MIPS64BE:#define __LDBL_MIN_EXP__ (-16381)
1170// MIPS64BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1171// MIPS64BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1172// MIPS64BE:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001173// MIPS64BE:#define __LP64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001174// MIPS64BE:#define __MIPSEB 1
1175// MIPS64BE:#define __MIPSEB__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001176// MIPS64BE:#define __POINTER_WIDTH__ 64
1177// MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1
1178// MIPS64BE:#define __PTRDIFF_TYPE__ long int
1179// MIPS64BE:#define __PTRDIFF_WIDTH__ 64
1180// MIPS64BE:#define __REGISTER_PREFIX__
1181// MIPS64BE:#define __SCHAR_MAX__ 127
1182// MIPS64BE:#define __SHRT_MAX__ 32767
1183// MIPS64BE:#define __SIG_ATOMIC_WIDTH__ 32
1184// MIPS64BE:#define __SIZEOF_DOUBLE__ 8
1185// MIPS64BE:#define __SIZEOF_FLOAT__ 4
1186// MIPS64BE:#define __SIZEOF_INT__ 4
1187// MIPS64BE:#define __SIZEOF_LONG_DOUBLE__ 16
1188// MIPS64BE:#define __SIZEOF_LONG_LONG__ 8
1189// MIPS64BE:#define __SIZEOF_LONG__ 8
1190// MIPS64BE:#define __SIZEOF_POINTER__ 8
1191// MIPS64BE:#define __SIZEOF_PTRDIFF_T__ 8
1192// MIPS64BE:#define __SIZEOF_SHORT__ 2
1193// MIPS64BE:#define __SIZEOF_SIZE_T__ 8
1194// MIPS64BE:#define __SIZEOF_WCHAR_T__ 4
1195// MIPS64BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001196// MIPS64BE:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001197// MIPS64BE:#define __SIZE_TYPE__ long unsigned int
1198// MIPS64BE:#define __SIZE_WIDTH__ 64
1199// MIPS64BE:#define __UINTMAX_TYPE__ long long unsigned int
1200// MIPS64BE:#define __USER_LABEL_PREFIX__ _
1201// MIPS64BE:#define __WCHAR_MAX__ 2147483647
1202// MIPS64BE:#define __WCHAR_TYPE__ int
1203// MIPS64BE:#define __WCHAR_WIDTH__ 32
1204// MIPS64BE:#define __WINT_TYPE__ int
1205// MIPS64BE:#define __WINT_WIDTH__ 32
1206// MIPS64BE:#define __clang__ 1
1207// MIPS64BE:#define __llvm__ 1
1208// MIPS64BE:#define __mips 1
Simon Atanasyanc6a0be02012-08-29 20:50:11 +00001209// MIPS64BE:#define __mips64 1
1210// MIPS64BE:#define __mips64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001211// MIPS64BE:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001212// MIPS64BE:#define __mips_fpr 64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001213// MIPS64BE:#define __mips_hard_float 1
1214// MIPS64BE:#define __mips_n64 1
1215// MIPS64BE:#define _mips 1
1216// MIPS64BE:#define mips 1
1217//
1218// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -check-prefix MIPS64EL %s
1219//
1220// MIPS64EL:#define MIPSEL 1
1221// MIPS64EL:#define _ABI64 3
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001222// MIPS64EL:#define _LP64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001223// MIPS64EL:#define _MIPSEL 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001224// MIPS64EL:#define _MIPS_ARCH "mips64r2"
1225// MIPS64EL:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001226// MIPS64EL:#define _MIPS_FPSET 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001227// MIPS64EL:#define _MIPS_SIM _ABI64
1228// MIPS64EL:#define _MIPS_SZINT 32
1229// MIPS64EL:#define _MIPS_SZLONG 64
1230// MIPS64EL:#define _MIPS_SZPTR 64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001231// MIPS64EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001232// MIPS64EL:#define __CHAR16_TYPE__ unsigned short
1233// MIPS64EL:#define __CHAR32_TYPE__ unsigned int
1234// MIPS64EL:#define __CHAR_BIT__ 8
1235// MIPS64EL:#define __CONSTANT_CFSTRINGS__ 1
1236// MIPS64EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1237// MIPS64EL:#define __DBL_DIG__ 15
1238// MIPS64EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1239// MIPS64EL:#define __DBL_HAS_DENORM__ 1
1240// MIPS64EL:#define __DBL_HAS_INFINITY__ 1
1241// MIPS64EL:#define __DBL_HAS_QUIET_NAN__ 1
1242// MIPS64EL:#define __DBL_MANT_DIG__ 53
1243// MIPS64EL:#define __DBL_MAX_10_EXP__ 308
1244// MIPS64EL:#define __DBL_MAX_EXP__ 1024
1245// MIPS64EL:#define __DBL_MAX__ 1.7976931348623157e+308
1246// MIPS64EL:#define __DBL_MIN_10_EXP__ (-307)
1247// MIPS64EL:#define __DBL_MIN_EXP__ (-1021)
1248// MIPS64EL:#define __DBL_MIN__ 2.2250738585072014e-308
1249// MIPS64EL:#define __DECIMAL_DIG__ 36
1250// MIPS64EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1251// MIPS64EL:#define __FLT_DIG__ 6
1252// MIPS64EL:#define __FLT_EPSILON__ 1.19209290e-7F
1253// MIPS64EL:#define __FLT_EVAL_METHOD__ 0
1254// MIPS64EL:#define __FLT_HAS_DENORM__ 1
1255// MIPS64EL:#define __FLT_HAS_INFINITY__ 1
1256// MIPS64EL:#define __FLT_HAS_QUIET_NAN__ 1
1257// MIPS64EL:#define __FLT_MANT_DIG__ 24
1258// MIPS64EL:#define __FLT_MAX_10_EXP__ 38
1259// MIPS64EL:#define __FLT_MAX_EXP__ 128
1260// MIPS64EL:#define __FLT_MAX__ 3.40282347e+38F
1261// MIPS64EL:#define __FLT_MIN_10_EXP__ (-37)
1262// MIPS64EL:#define __FLT_MIN_EXP__ (-125)
1263// MIPS64EL:#define __FLT_MIN__ 1.17549435e-38F
1264// MIPS64EL:#define __FLT_RADIX__ 2
1265// MIPS64EL:#define __INT16_TYPE__ short
1266// MIPS64EL:#define __INT32_TYPE__ int
1267// MIPS64EL:#define __INT64_C_SUFFIX__ LL
1268// MIPS64EL:#define __INT64_TYPE__ long long int
1269// MIPS64EL:#define __INT8_TYPE__ char
1270// MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807LL
1271// MIPS64EL:#define __INTMAX_TYPE__ long long int
1272// MIPS64EL:#define __INTMAX_WIDTH__ 64
1273// MIPS64EL:#define __INTPTR_TYPE__ long int
1274// MIPS64EL:#define __INTPTR_WIDTH__ 64
1275// MIPS64EL:#define __INT_MAX__ 2147483647
1276// MIPS64EL:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1277// MIPS64EL:#define __LDBL_DIG__ 33
1278// MIPS64EL:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1279// MIPS64EL:#define __LDBL_HAS_DENORM__ 1
1280// MIPS64EL:#define __LDBL_HAS_INFINITY__ 1
1281// MIPS64EL:#define __LDBL_HAS_QUIET_NAN__ 1
1282// MIPS64EL:#define __LDBL_MANT_DIG__ 113
1283// MIPS64EL:#define __LDBL_MAX_10_EXP__ 4932
1284// MIPS64EL:#define __LDBL_MAX_EXP__ 16384
1285// MIPS64EL:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1286// MIPS64EL:#define __LDBL_MIN_10_EXP__ (-4931)
1287// MIPS64EL:#define __LDBL_MIN_EXP__ (-16381)
1288// MIPS64EL:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1289// MIPS64EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1290// MIPS64EL:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001291// MIPS64EL:#define __LP64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001292// MIPS64EL:#define __MIPSEL 1
1293// MIPS64EL:#define __MIPSEL__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001294// MIPS64EL:#define __POINTER_WIDTH__ 64
1295// MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1296// MIPS64EL:#define __PTRDIFF_TYPE__ long int
1297// MIPS64EL:#define __PTRDIFF_WIDTH__ 64
1298// MIPS64EL:#define __REGISTER_PREFIX__
1299// MIPS64EL:#define __SCHAR_MAX__ 127
1300// MIPS64EL:#define __SHRT_MAX__ 32767
1301// MIPS64EL:#define __SIG_ATOMIC_WIDTH__ 32
1302// MIPS64EL:#define __SIZEOF_DOUBLE__ 8
1303// MIPS64EL:#define __SIZEOF_FLOAT__ 4
1304// MIPS64EL:#define __SIZEOF_INT__ 4
1305// MIPS64EL:#define __SIZEOF_LONG_DOUBLE__ 16
1306// MIPS64EL:#define __SIZEOF_LONG_LONG__ 8
1307// MIPS64EL:#define __SIZEOF_LONG__ 8
1308// MIPS64EL:#define __SIZEOF_POINTER__ 8
1309// MIPS64EL:#define __SIZEOF_PTRDIFF_T__ 8
1310// MIPS64EL:#define __SIZEOF_SHORT__ 2
1311// MIPS64EL:#define __SIZEOF_SIZE_T__ 8
1312// MIPS64EL:#define __SIZEOF_WCHAR_T__ 4
1313// MIPS64EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001314// MIPS64EL:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001315// MIPS64EL:#define __SIZE_TYPE__ long unsigned int
1316// MIPS64EL:#define __SIZE_WIDTH__ 64
1317// MIPS64EL:#define __UINTMAX_TYPE__ long long unsigned int
1318// MIPS64EL:#define __USER_LABEL_PREFIX__ _
1319// MIPS64EL:#define __WCHAR_MAX__ 2147483647
1320// MIPS64EL:#define __WCHAR_TYPE__ int
1321// MIPS64EL:#define __WCHAR_WIDTH__ 32
1322// MIPS64EL:#define __WINT_TYPE__ int
1323// MIPS64EL:#define __WINT_WIDTH__ 32
1324// MIPS64EL:#define __clang__ 1
1325// MIPS64EL:#define __llvm__ 1
1326// MIPS64EL:#define __mips 1
Simon Atanasyanc6a0be02012-08-29 20:50:11 +00001327// MIPS64EL:#define __mips64 1
1328// MIPS64EL:#define __mips64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001329// MIPS64EL:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001330// MIPS64EL:#define __mips_fpr 64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001331// MIPS64EL:#define __mips_hard_float 1
1332// MIPS64EL:#define __mips_n64 1
1333// MIPS64EL:#define _mips 1
1334// MIPS64EL:#define mips 1
1335//
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001336// Check MIPS arch macros
1337//
1338// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
1339// RUN: < /dev/null \
1340// RUN: | FileCheck -check-prefix MIPS-ARCH-DEF32 %s
1341//
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001342// MIPS-ARCH-DEF32:#define _MIPS_ARCH "mips32r2"
1343// MIPS-ARCH-DEF32:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001344//
1345// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-nones \
1346// RUN: -target-cpu mips32 < /dev/null \
1347// RUN: | FileCheck -check-prefix MIPS-ARCH-32 %s
1348//
1349// MIPS-ARCH-32:#define _MIPS_ARCH "mips32"
1350// MIPS-ARCH-32:#define _MIPS_ARCH_MIPS32 1
1351//
1352// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
1353// RUN: -target-cpu mips32r2 < /dev/null \
1354// RUN: | FileCheck -check-prefix MIPS-ARCH-32R2 %s
1355//
1356// MIPS-ARCH-32R2:#define _MIPS_ARCH "mips32r2"
1357// MIPS-ARCH-32R2:#define _MIPS_ARCH_MIPS32R2 1
1358//
1359// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1360// RUN: < /dev/null \
1361// RUN: | FileCheck -check-prefix MIPS-ARCH-DEF64 %s
1362//
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001363// MIPS-ARCH-DEF64:#define _MIPS_ARCH "mips64r2"
1364// MIPS-ARCH-DEF64:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001365//
1366// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1367// RUN: -target-cpu mips64 < /dev/null \
1368// RUN: | FileCheck -check-prefix MIPS-ARCH-64 %s
1369//
1370// MIPS-ARCH-64:#define _MIPS_ARCH "mips64"
1371// MIPS-ARCH-64:#define _MIPS_ARCH_MIPS64 1
1372//
1373// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1374// RUN: -target-cpu mips64r2 < /dev/null \
1375// RUN: | FileCheck -check-prefix MIPS-ARCH-64R2 %s
1376//
1377// MIPS-ARCH-64R2:#define _MIPS_ARCH "mips64r2"
1378// MIPS-ARCH-64R2:#define _MIPS_ARCH_MIPS64R2 1
1379//
Simon Atanasyan5e21c802012-04-06 17:51:49 +00001380// Check MIPS float ABI macros
1381//
1382// RUN: %clang_cc1 -E -dM -ffreestanding \
1383// RUN: -triple=mips-none-none < /dev/null \
1384// RUN: | FileCheck -check-prefix MIPS-FABI-HARD %s
1385// MIPS-FABI-HARD:#define __mips_hard_float 1
1386//
1387// RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \
1388// RUN: -triple=mips-none-none < /dev/null \
1389// RUN: | FileCheck -check-prefix MIPS-FABI-SOFT %s
1390// MIPS-FABI-SOFT:#define __mips_soft_float 1
1391//
1392// RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \
1393// RUN: -triple=mips-none-none < /dev/null \
1394// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE %s
Simon Atanasyand3d173d2012-06-05 13:06:56 +00001395// MIPS-FABI-SINGLE:#define __mips_hard_float 1
Simon Atanasyan5e21c802012-04-06 17:51:49 +00001396// MIPS-FABI-SINGLE:#define __mips_single_float 1
1397//
Simon Atanasyan16071912013-04-14 14:07:30 +00001398// RUN: %clang_cc1 -target-feature +soft-float -target-feature +single-float \
1399// RUN: -E -dM -ffreestanding -triple=mips-none-none < /dev/null \
1400// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE-SOFT %s
1401// MIPS-FABI-SINGLE-SOFT:#define __mips_single_float 1
1402// MIPS-FABI-SINGLE-SOFT:#define __mips_soft_float 1
1403//
Simon Atanasyan72244b62012-07-05 16:06:06 +00001404// Check MIPS features macros
1405//
1406// RUN: %clang_cc1 -target-feature +mips16 \
1407// RUN: -E -dM -triple=mips-none-none < /dev/null \
1408// RUN: | FileCheck -check-prefix MIPS16 %s
1409// MIPS16:#define __mips16 1
1410//
1411// RUN: %clang_cc1 -target-feature -mips16 \
1412// RUN: -E -dM -triple=mips-none-none < /dev/null \
1413// RUN: | FileCheck -check-prefix NOMIPS16 %s
1414// NOMIPS16-NOT:#define __mips16 1
1415//
Simon Atanasyan60777612013-04-14 14:07:51 +00001416// RUN: %clang_cc1 -target-feature +micromips \
1417// RUN: -E -dM -triple=mips-none-none < /dev/null \
1418// RUN: | FileCheck -check-prefix MICROMIPS %s
1419// MICROMIPS:#define __mips_micromips 1
1420//
1421// RUN: %clang_cc1 -target-feature -micromips \
1422// RUN: -E -dM -triple=mips-none-none < /dev/null \
1423// RUN: | FileCheck -check-prefix NOMICROMIPS %s
1424// NOMICROMIPS-NOT:#define __mips_micromips 1
1425//
Simon Atanasyan9780e4a2012-07-05 20:16:22 +00001426// RUN: %clang_cc1 -target-feature +dsp \
1427// RUN: -E -dM -triple=mips-none-none < /dev/null \
1428// RUN: | FileCheck -check-prefix MIPS-DSP %s
1429// MIPS-DSP:#define __mips_dsp 1
1430// MIPS-DSP:#define __mips_dsp_rev 1
1431// MIPS-DSP-NOT:#define __mips_dspr2 1
1432//
1433// RUN: %clang_cc1 -target-feature +dspr2 \
1434// RUN: -E -dM -triple=mips-none-none < /dev/null \
1435// RUN: | FileCheck -check-prefix MIPS-DSPR2 %s
1436// MIPS-DSPR2:#define __mips_dsp 1
1437// MIPS-DSPR2:#define __mips_dsp_rev 2
1438// MIPS-DSPR2:#define __mips_dspr2 1
1439//
Jack Carter44ff1e52013-08-12 17:20:29 +00001440// RUN: %clang_cc1 -target-feature +msa \
1441// RUN: -E -dM -triple=mips-none-none < /dev/null \
1442// RUN: | FileCheck -check-prefix MIPS-MSA %s
1443// MIPS-MSA:#define __mips_msa 1
1444//
Simon Atanasyan22127ce2013-09-24 09:09:16 +00001445// RUN: %clang_cc1 -target-feature +nan2008 \
1446// RUN: -E -dM -triple=mips-none-none < /dev/null \
1447// RUN: | FileCheck -check-prefix MIPS-NAN2008 %s
1448// MIPS-NAN2008:#define __mips_nan2008 1
1449//
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001450// RUN: %clang_cc1 -target-feature -fp64 \
1451// RUN: -E -dM -triple=mips-none-none < /dev/null \
1452// RUN: | FileCheck -check-prefix MIPS32-MFP32 %s
1453// MIPS32-MFP32:#define _MIPS_FPSET 16
1454// MIPS32-MFP32:#define __mips_fpr 32
1455//
1456// RUN: %clang_cc1 -target-feature +fp64 \
1457// RUN: -E -dM -triple=mips-none-none < /dev/null \
1458// RUN: | FileCheck -check-prefix MIPS32-MFP64 %s
1459// MIPS32-MFP64:#define _MIPS_FPSET 32
1460// MIPS32-MFP64:#define __mips_fpr 64
1461//
1462// RUN: %clang_cc1 -target-feature +single-float \
1463// RUN: -E -dM -triple=mips-none-none < /dev/null \
1464// RUN: | FileCheck -check-prefix MIPS32-MFP32SF %s
1465// MIPS32-MFP32SF:#define _MIPS_FPSET 32
1466// MIPS32-MFP32SF:#define __mips_fpr 32
1467//
1468// RUN: %clang_cc1 -target-feature +fp64 \
1469// RUN: -E -dM -triple=mips64-none-none < /dev/null \
1470// RUN: | FileCheck -check-prefix MIPS64-MFP64 %s
1471// MIPS64-MFP64:#define _MIPS_FPSET 32
1472// MIPS64-MFP64:#define __mips_fpr 64
1473//
1474// RUN: %clang_cc1 -target-feature -fp64 -target-feature +single-float \
1475// RUN: -E -dM -triple=mips64-none-none < /dev/null \
1476// RUN: | FileCheck -check-prefix MIPS64-NOMFP64 %s
1477// MIPS64-NOMFP64:#define _MIPS_FPSET 32
1478// MIPS64-NOMFP64:#define __mips_fpr 32
1479//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00001480// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
Chris Lattnere963d092009-10-29 04:55:36 +00001481//
1482// MSP430:#define MSP430 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001483// MSP430-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001484// MSP430:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00001485// MSP430:#define __CHAR16_TYPE__ unsigned short
1486// MSP430:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001487// MSP430:#define __CHAR_BIT__ 8
1488// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1489// MSP430:#define __DBL_DIG__ 15
1490// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
1491// MSP430:#define __DBL_HAS_DENORM__ 1
1492// MSP430:#define __DBL_HAS_INFINITY__ 1
1493// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
1494// MSP430:#define __DBL_MANT_DIG__ 53
1495// MSP430:#define __DBL_MAX_10_EXP__ 308
1496// MSP430:#define __DBL_MAX_EXP__ 1024
1497// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
1498// MSP430:#define __DBL_MIN_10_EXP__ (-307)
1499// MSP430:#define __DBL_MIN_EXP__ (-1021)
1500// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
1501// MSP430:#define __DECIMAL_DIG__ 17
1502// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1503// MSP430:#define __FLT_DIG__ 6
1504// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
1505// MSP430:#define __FLT_EVAL_METHOD__ 0
1506// MSP430:#define __FLT_HAS_DENORM__ 1
1507// MSP430:#define __FLT_HAS_INFINITY__ 1
1508// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
1509// MSP430:#define __FLT_MANT_DIG__ 24
1510// MSP430:#define __FLT_MAX_10_EXP__ 38
1511// MSP430:#define __FLT_MAX_EXP__ 128
1512// MSP430:#define __FLT_MAX__ 3.40282347e+38F
1513// MSP430:#define __FLT_MIN_10_EXP__ (-37)
1514// MSP430:#define __FLT_MIN_EXP__ (-125)
1515// MSP430:#define __FLT_MIN__ 1.17549435e-38F
1516// MSP430:#define __FLT_RADIX__ 2
1517// MSP430:#define __INT16_TYPE__ short
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00001518// MSP430:#define __INT32_C_SUFFIX__ L
Chris Lattner55c98772009-11-12 08:08:27 +00001519// MSP430:#define __INT32_TYPE__ long int
Chris Lattnere963d092009-10-29 04:55:36 +00001520// MSP430:#define __INT8_TYPE__ char
Anton Korobeynikovef412902013-07-01 19:42:40 +00001521// MSP430:#define __INTMAX_MAX__ 9223372036854775807LL
1522// MSP430:#define __INTMAX_TYPE__ long long int
1523// MSP430:#define __INTMAX_WIDTH__ 64
1524// MSP430:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00001525// MSP430:#define __INTPTR_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001526// MSP430:#define __INT_MAX__ 32767
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001527// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00001528// MSP430:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001529// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +00001530// MSP430:#define __LDBL_HAS_DENORM__ 1
1531// MSP430:#define __LDBL_HAS_INFINITY__ 1
1532// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
1533// MSP430:#define __LDBL_MANT_DIG__ 53
1534// MSP430:#define __LDBL_MAX_10_EXP__ 308
1535// MSP430:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001536// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +00001537// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
1538// MSP430:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001539// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikov485810e2010-01-14 21:36:52 +00001540// MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
Chris Lattnere963d092009-10-29 04:55:36 +00001541// MSP430:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001542// MSP430-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00001543// MSP430:#define __MSP430__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00001544// MSP430:#define __POINTER_WIDTH__ 16
Ken Dyck9b25f782009-11-19 13:18:59 +00001545// MSP430:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00001546// MSP430:#define __PTRDIFF_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001547// MSP430:#define __SCHAR_MAX__ 127
1548// MSP430:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00001549// MSP430:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00001550// MSP430:#define __SIZEOF_DOUBLE__ 8
1551// MSP430:#define __SIZEOF_FLOAT__ 4
1552// MSP430:#define __SIZEOF_INT__ 2
1553// MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
1554// MSP430:#define __SIZEOF_LONG_LONG__ 8
1555// MSP430:#define __SIZEOF_LONG__ 4
1556// MSP430:#define __SIZEOF_POINTER__ 2
1557// MSP430:#define __SIZEOF_PTRDIFF_T__ 2
1558// MSP430:#define __SIZEOF_SHORT__ 2
1559// MSP430:#define __SIZEOF_SIZE_T__ 2
1560// MSP430:#define __SIZEOF_WCHAR_T__ 2
1561// MSP430:#define __SIZEOF_WINT_T__ 2
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001562// MSP430:#define __SIZE_MAX__ 65535U
Chris Lattnere963d092009-10-29 04:55:36 +00001563// MSP430:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00001564// MSP430:#define __SIZE_WIDTH__ 16
Anton Korobeynikovef412902013-07-01 19:42:40 +00001565// MSP430:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001566// MSP430:#define __USER_LABEL_PREFIX__ _
Chris Lattner0fb5bbd2009-11-12 08:04:33 +00001567// MSP430:#define __WCHAR_MAX__ 32767
Chris Lattnere963d092009-10-29 04:55:36 +00001568// MSP430:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00001569// MSP430:#define __WCHAR_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001570// MSP430:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00001571// MSP430:#define __WINT_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001572// MSP430:#define __clang__ 1
1573//
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001574// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s
1575//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001576// NVPTX32-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001577// NVPTX32:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001578// NVPTX32:#define __CHAR16_TYPE__ unsigned short
1579// NVPTX32:#define __CHAR32_TYPE__ unsigned int
1580// NVPTX32:#define __CHAR_BIT__ 8
1581// NVPTX32:#define __CONSTANT_CFSTRINGS__ 1
1582// NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1583// NVPTX32:#define __DBL_DIG__ 15
1584// NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16
1585// NVPTX32:#define __DBL_HAS_DENORM__ 1
1586// NVPTX32:#define __DBL_HAS_INFINITY__ 1
1587// NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1
1588// NVPTX32:#define __DBL_MANT_DIG__ 53
1589// NVPTX32:#define __DBL_MAX_10_EXP__ 308
1590// NVPTX32:#define __DBL_MAX_EXP__ 1024
1591// NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308
1592// NVPTX32:#define __DBL_MIN_10_EXP__ (-307)
1593// NVPTX32:#define __DBL_MIN_EXP__ (-1021)
1594// NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308
1595// NVPTX32:#define __DECIMAL_DIG__ 17
1596// NVPTX32:#define __FINITE_MATH_ONLY__ 0
1597// NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1598// NVPTX32:#define __FLT_DIG__ 6
1599// NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F
1600// NVPTX32:#define __FLT_EVAL_METHOD__ 0
1601// NVPTX32:#define __FLT_HAS_DENORM__ 1
1602// NVPTX32:#define __FLT_HAS_INFINITY__ 1
1603// NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1
1604// NVPTX32:#define __FLT_MANT_DIG__ 24
1605// NVPTX32:#define __FLT_MAX_10_EXP__ 38
1606// NVPTX32:#define __FLT_MAX_EXP__ 128
1607// NVPTX32:#define __FLT_MAX__ 3.40282347e+38F
1608// NVPTX32:#define __FLT_MIN_10_EXP__ (-37)
1609// NVPTX32:#define __FLT_MIN_EXP__ (-125)
1610// NVPTX32:#define __FLT_MIN__ 1.17549435e-38F
1611// NVPTX32:#define __FLT_RADIX__ 2
1612// NVPTX32:#define __INT16_TYPE__ short
1613// NVPTX32:#define __INT32_TYPE__ int
1614// NVPTX32:#define __INT64_C_SUFFIX__ LL
1615// NVPTX32:#define __INT64_TYPE__ long long int
1616// NVPTX32:#define __INT8_TYPE__ char
1617// NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL
1618// NVPTX32:#define __INTMAX_TYPE__ long long int
1619// NVPTX32:#define __INTMAX_WIDTH__ 64
1620// NVPTX32:#define __INTPTR_TYPE__ unsigned int
1621// NVPTX32:#define __INTPTR_WIDTH__ 32
1622// NVPTX32:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001623// NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001624// NVPTX32:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001625// NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001626// NVPTX32:#define __LDBL_HAS_DENORM__ 1
1627// NVPTX32:#define __LDBL_HAS_INFINITY__ 1
1628// NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1
1629// NVPTX32:#define __LDBL_MANT_DIG__ 53
1630// NVPTX32:#define __LDBL_MAX_10_EXP__ 308
1631// NVPTX32:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001632// NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001633// NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
1634// NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001635// NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001636// NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL
1637// NVPTX32:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001638// NVPTX32-NOT:#define __LP64__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001639// NVPTX32:#define __NVPTX__ 1
1640// NVPTX32:#define __POINTER_WIDTH__ 32
1641// NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1
1642// NVPTX32:#define __PTRDIFF_TYPE__ unsigned int
1643// NVPTX32:#define __PTRDIFF_WIDTH__ 32
1644// NVPTX32:#define __PTX__ 1
1645// NVPTX32:#define __SCHAR_MAX__ 127
1646// NVPTX32:#define __SHRT_MAX__ 32767
1647// NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32
1648// NVPTX32:#define __SIZEOF_DOUBLE__ 8
1649// NVPTX32:#define __SIZEOF_FLOAT__ 4
1650// NVPTX32:#define __SIZEOF_INT__ 4
1651// NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8
1652// NVPTX32:#define __SIZEOF_LONG_LONG__ 8
1653// NVPTX32:#define __SIZEOF_LONG__ 8
1654// NVPTX32:#define __SIZEOF_POINTER__ 4
1655// NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4
1656// NVPTX32:#define __SIZEOF_SHORT__ 2
1657// NVPTX32:#define __SIZEOF_SIZE_T__ 4
1658// NVPTX32:#define __SIZEOF_WCHAR_T__ 4
1659// NVPTX32:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001660// NVPTX32:#define __SIZE_MAX__ 4294967295U
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001661// NVPTX32:#define __SIZE_TYPE__ unsigned int
1662// NVPTX32:#define __SIZE_WIDTH__ 32
1663// NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int
1664// NVPTX32:#define __USER_LABEL_PREFIX__ _
1665// NVPTX32:#define __WCHAR_MAX__ 2147483647
1666// NVPTX32:#define __WCHAR_TYPE__ int
1667// NVPTX32:#define __WCHAR_WIDTH__ 32
1668// NVPTX32:#define __WINT_TYPE__ int
1669// NVPTX32:#define __WINT_WIDTH__ 32
1670//
1671// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -check-prefix NVPTX64 %s
1672//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001673// NVPTX64:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001674// NVPTX64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001675// NVPTX64:#define __CHAR16_TYPE__ unsigned short
1676// NVPTX64:#define __CHAR32_TYPE__ unsigned int
1677// NVPTX64:#define __CHAR_BIT__ 8
1678// NVPTX64:#define __CONSTANT_CFSTRINGS__ 1
1679// NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1680// NVPTX64:#define __DBL_DIG__ 15
1681// NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1682// NVPTX64:#define __DBL_HAS_DENORM__ 1
1683// NVPTX64:#define __DBL_HAS_INFINITY__ 1
1684// NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1
1685// NVPTX64:#define __DBL_MANT_DIG__ 53
1686// NVPTX64:#define __DBL_MAX_10_EXP__ 308
1687// NVPTX64:#define __DBL_MAX_EXP__ 1024
1688// NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308
1689// NVPTX64:#define __DBL_MIN_10_EXP__ (-307)
1690// NVPTX64:#define __DBL_MIN_EXP__ (-1021)
1691// NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308
1692// NVPTX64:#define __DECIMAL_DIG__ 17
1693// NVPTX64:#define __FINITE_MATH_ONLY__ 0
1694// NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1695// NVPTX64:#define __FLT_DIG__ 6
1696// NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F
1697// NVPTX64:#define __FLT_EVAL_METHOD__ 0
1698// NVPTX64:#define __FLT_HAS_DENORM__ 1
1699// NVPTX64:#define __FLT_HAS_INFINITY__ 1
1700// NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1
1701// NVPTX64:#define __FLT_MANT_DIG__ 24
1702// NVPTX64:#define __FLT_MAX_10_EXP__ 38
1703// NVPTX64:#define __FLT_MAX_EXP__ 128
1704// NVPTX64:#define __FLT_MAX__ 3.40282347e+38F
1705// NVPTX64:#define __FLT_MIN_10_EXP__ (-37)
1706// NVPTX64:#define __FLT_MIN_EXP__ (-125)
1707// NVPTX64:#define __FLT_MIN__ 1.17549435e-38F
1708// NVPTX64:#define __FLT_RADIX__ 2
1709// NVPTX64:#define __INT16_TYPE__ short
1710// NVPTX64:#define __INT32_TYPE__ int
1711// NVPTX64:#define __INT64_C_SUFFIX__ LL
1712// NVPTX64:#define __INT64_TYPE__ long long int
1713// NVPTX64:#define __INT8_TYPE__ char
1714// NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL
1715// NVPTX64:#define __INTMAX_TYPE__ long long int
1716// NVPTX64:#define __INTMAX_WIDTH__ 64
1717// NVPTX64:#define __INTPTR_TYPE__ long long unsigned int
1718// NVPTX64:#define __INTPTR_WIDTH__ 64
1719// NVPTX64:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001720// NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001721// NVPTX64:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001722// NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001723// NVPTX64:#define __LDBL_HAS_DENORM__ 1
1724// NVPTX64:#define __LDBL_HAS_INFINITY__ 1
1725// NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1
1726// NVPTX64:#define __LDBL_MANT_DIG__ 53
1727// NVPTX64:#define __LDBL_MAX_10_EXP__ 308
1728// NVPTX64:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001729// NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001730// NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
1731// NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001732// NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001733// NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1734// NVPTX64:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001735// NVPTX64:#define __LP64__ 1
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001736// NVPTX64:#define __NVPTX__ 1
1737// NVPTX64:#define __POINTER_WIDTH__ 64
1738// NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1
1739// NVPTX64:#define __PTRDIFF_TYPE__ long long unsigned int
1740// NVPTX64:#define __PTRDIFF_WIDTH__ 64
1741// NVPTX64:#define __PTX__ 1
1742// NVPTX64:#define __SCHAR_MAX__ 127
1743// NVPTX64:#define __SHRT_MAX__ 32767
1744// NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32
1745// NVPTX64:#define __SIZEOF_DOUBLE__ 8
1746// NVPTX64:#define __SIZEOF_FLOAT__ 4
1747// NVPTX64:#define __SIZEOF_INT__ 4
1748// NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8
1749// NVPTX64:#define __SIZEOF_LONG_LONG__ 8
1750// NVPTX64:#define __SIZEOF_LONG__ 8
1751// NVPTX64:#define __SIZEOF_POINTER__ 8
1752// NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8
1753// NVPTX64:#define __SIZEOF_SHORT__ 2
1754// NVPTX64:#define __SIZEOF_SIZE_T__ 8
1755// NVPTX64:#define __SIZEOF_WCHAR_T__ 4
1756// NVPTX64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001757// NVPTX64:#define __SIZE_MAX__ 18446744073709551615UL
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001758// NVPTX64:#define __SIZE_TYPE__ long long unsigned int
1759// NVPTX64:#define __SIZE_WIDTH__ 64
1760// NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int
1761// NVPTX64:#define __USER_LABEL_PREFIX__ _
1762// NVPTX64:#define __WCHAR_MAX__ 2147483647
1763// NVPTX64:#define __WCHAR_TYPE__ int
1764// NVPTX64:#define __WCHAR_WIDTH__ 32
1765// NVPTX64:#define __WINT_TYPE__ int
1766// NVPTX64:#define __WINT_WIDTH__ 32
1767//
Hal Finkel6b984f02012-07-03 16:51:04 +00001768// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -check-prefix PPC603E %s
1769//
1770// PPC603E:#define _ARCH_603 1
1771// PPC603E:#define _ARCH_603E 1
1772// PPC603E:#define _ARCH_PPC 1
1773// PPC603E:#define _ARCH_PPCGR 1
1774// PPC603E:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001775// PPC603E-NOT:#define _LP64
Hal Finkel6b984f02012-07-03 16:51:04 +00001776// PPC603E:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001777// PPC603E:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Hal Finkel6b984f02012-07-03 16:51:04 +00001778// PPC603E:#define __CHAR16_TYPE__ unsigned short
1779// PPC603E:#define __CHAR32_TYPE__ unsigned int
1780// PPC603E:#define __CHAR_BIT__ 8
1781// PPC603E:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1782// PPC603E:#define __DBL_DIG__ 15
1783// PPC603E:#define __DBL_EPSILON__ 2.2204460492503131e-16
1784// PPC603E:#define __DBL_HAS_DENORM__ 1
1785// PPC603E:#define __DBL_HAS_INFINITY__ 1
1786// PPC603E:#define __DBL_HAS_QUIET_NAN__ 1
1787// PPC603E:#define __DBL_MANT_DIG__ 53
1788// PPC603E:#define __DBL_MAX_10_EXP__ 308
1789// PPC603E:#define __DBL_MAX_EXP__ 1024
1790// PPC603E:#define __DBL_MAX__ 1.7976931348623157e+308
1791// PPC603E:#define __DBL_MIN_10_EXP__ (-307)
1792// PPC603E:#define __DBL_MIN_EXP__ (-1021)
1793// PPC603E:#define __DBL_MIN__ 2.2250738585072014e-308
1794// PPC603E:#define __DECIMAL_DIG__ 33
1795// PPC603E:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1796// PPC603E:#define __FLT_DIG__ 6
1797// PPC603E:#define __FLT_EPSILON__ 1.19209290e-7F
1798// PPC603E:#define __FLT_EVAL_METHOD__ 0
1799// PPC603E:#define __FLT_HAS_DENORM__ 1
1800// PPC603E:#define __FLT_HAS_INFINITY__ 1
1801// PPC603E:#define __FLT_HAS_QUIET_NAN__ 1
1802// PPC603E:#define __FLT_MANT_DIG__ 24
1803// PPC603E:#define __FLT_MAX_10_EXP__ 38
1804// PPC603E:#define __FLT_MAX_EXP__ 128
1805// PPC603E:#define __FLT_MAX__ 3.40282347e+38F
1806// PPC603E:#define __FLT_MIN_10_EXP__ (-37)
1807// PPC603E:#define __FLT_MIN_EXP__ (-125)
1808// PPC603E:#define __FLT_MIN__ 1.17549435e-38F
1809// PPC603E:#define __FLT_RADIX__ 2
1810// PPC603E:#define __INT16_TYPE__ short
1811// PPC603E:#define __INT32_TYPE__ int
1812// PPC603E:#define __INT64_C_SUFFIX__ LL
1813// PPC603E:#define __INT64_TYPE__ long long int
1814// PPC603E:#define __INT8_TYPE__ char
1815// PPC603E:#define __INTMAX_MAX__ 9223372036854775807LL
1816// PPC603E:#define __INTMAX_TYPE__ long long int
1817// PPC603E:#define __INTMAX_WIDTH__ 64
1818// PPC603E:#define __INTPTR_TYPE__ long int
1819// PPC603E:#define __INTPTR_WIDTH__ 32
1820// PPC603E:#define __INT_MAX__ 2147483647
1821// PPC603E:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1822// PPC603E:#define __LDBL_DIG__ 31
1823// PPC603E:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1824// PPC603E:#define __LDBL_HAS_DENORM__ 1
1825// PPC603E:#define __LDBL_HAS_INFINITY__ 1
1826// PPC603E:#define __LDBL_HAS_QUIET_NAN__ 1
1827// PPC603E:#define __LDBL_MANT_DIG__ 106
1828// PPC603E:#define __LDBL_MAX_10_EXP__ 308
1829// PPC603E:#define __LDBL_MAX_EXP__ 1024
1830// PPC603E:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1831// PPC603E:#define __LDBL_MIN_10_EXP__ (-291)
1832// PPC603E:#define __LDBL_MIN_EXP__ (-968)
1833// PPC603E:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1834// PPC603E:#define __LONG_DOUBLE_128__ 1
1835// PPC603E:#define __LONG_LONG_MAX__ 9223372036854775807LL
1836// PPC603E:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001837// PPC603E-NOT:#define __LP64__
Hal Finkel6b984f02012-07-03 16:51:04 +00001838// PPC603E:#define __NATURAL_ALIGNMENT__ 1
Hal Finkel6b984f02012-07-03 16:51:04 +00001839// PPC603E:#define __POINTER_WIDTH__ 32
1840// PPC603E:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00001841// PPC603E:#define __PPC__ 1
Hal Finkel6b984f02012-07-03 16:51:04 +00001842// PPC603E:#define __PTRDIFF_TYPE__ long int
1843// PPC603E:#define __PTRDIFF_WIDTH__ 32
1844// PPC603E:#define __REGISTER_PREFIX__
1845// PPC603E:#define __SCHAR_MAX__ 127
1846// PPC603E:#define __SHRT_MAX__ 32767
1847// PPC603E:#define __SIG_ATOMIC_WIDTH__ 32
1848// PPC603E:#define __SIZEOF_DOUBLE__ 8
1849// PPC603E:#define __SIZEOF_FLOAT__ 4
1850// PPC603E:#define __SIZEOF_INT__ 4
1851// PPC603E:#define __SIZEOF_LONG_DOUBLE__ 16
1852// PPC603E:#define __SIZEOF_LONG_LONG__ 8
1853// PPC603E:#define __SIZEOF_LONG__ 4
1854// PPC603E:#define __SIZEOF_POINTER__ 4
1855// PPC603E:#define __SIZEOF_PTRDIFF_T__ 4
1856// PPC603E:#define __SIZEOF_SHORT__ 2
1857// PPC603E:#define __SIZEOF_SIZE_T__ 4
1858// PPC603E:#define __SIZEOF_WCHAR_T__ 4
1859// PPC603E:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001860// PPC603E:#define __SIZE_MAX__ 4294967295U
Hal Finkel6b984f02012-07-03 16:51:04 +00001861// PPC603E:#define __SIZE_TYPE__ long unsigned int
1862// PPC603E:#define __SIZE_WIDTH__ 32
1863// PPC603E:#define __UINTMAX_TYPE__ long long unsigned int
1864// PPC603E:#define __USER_LABEL_PREFIX__ _
1865// PPC603E:#define __WCHAR_MAX__ 2147483647
1866// PPC603E:#define __WCHAR_TYPE__ int
1867// PPC603E:#define __WCHAR_WIDTH__ 32
1868// PPC603E:#define __WINT_TYPE__ int
1869// PPC603E:#define __WINT_WIDTH__ 32
1870// PPC603E:#define __powerpc__ 1
1871// PPC603E:#define __ppc__ 1
1872//
Hal Finkel8eb59282012-06-11 22:35:19 +00001873// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64 %s
Chris Lattnere963d092009-10-29 04:55:36 +00001874//
1875// PPC64:#define _ARCH_PPC 1
1876// PPC64:#define _ARCH_PPC64 1
Hal Finkel6b984f02012-07-03 16:51:04 +00001877// PPC64:#define _ARCH_PPCGR 1
1878// PPC64:#define _ARCH_PPCSQ 1
1879// PPC64:#define _ARCH_PWR4 1
1880// PPC64:#define _ARCH_PWR5 1
1881// PPC64:#define _ARCH_PWR6 1
Hal Finkel8eb59282012-06-11 22:35:19 +00001882// PPC64:#define _ARCH_PWR7 1
Chris Lattnere963d092009-10-29 04:55:36 +00001883// PPC64:#define _BIG_ENDIAN 1
1884// PPC64:#define _LP64 1
1885// PPC64:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001886// PPC64:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00001887// PPC64:#define __CHAR16_TYPE__ unsigned short
1888// PPC64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001889// PPC64:#define __CHAR_BIT__ 8
1890// PPC64:#define __CHAR_UNSIGNED__ 1
1891// PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1892// PPC64:#define __DBL_DIG__ 15
1893// PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1894// PPC64:#define __DBL_HAS_DENORM__ 1
1895// PPC64:#define __DBL_HAS_INFINITY__ 1
1896// PPC64:#define __DBL_HAS_QUIET_NAN__ 1
1897// PPC64:#define __DBL_MANT_DIG__ 53
1898// PPC64:#define __DBL_MAX_10_EXP__ 308
1899// PPC64:#define __DBL_MAX_EXP__ 1024
1900// PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
1901// PPC64:#define __DBL_MIN_10_EXP__ (-307)
1902// PPC64:#define __DBL_MIN_EXP__ (-1021)
1903// PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber3435ede2012-01-31 02:07:33 +00001904// PPC64:#define __DECIMAL_DIG__ 33
Chris Lattnere963d092009-10-29 04:55:36 +00001905// PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1906// PPC64:#define __FLT_DIG__ 6
1907// PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
1908// PPC64:#define __FLT_EVAL_METHOD__ 0
1909// PPC64:#define __FLT_HAS_DENORM__ 1
1910// PPC64:#define __FLT_HAS_INFINITY__ 1
1911// PPC64:#define __FLT_HAS_QUIET_NAN__ 1
1912// PPC64:#define __FLT_MANT_DIG__ 24
1913// PPC64:#define __FLT_MAX_10_EXP__ 38
1914// PPC64:#define __FLT_MAX_EXP__ 128
1915// PPC64:#define __FLT_MAX__ 3.40282347e+38F
1916// PPC64:#define __FLT_MIN_10_EXP__ (-37)
1917// PPC64:#define __FLT_MIN_EXP__ (-125)
1918// PPC64:#define __FLT_MIN__ 1.17549435e-38F
1919// PPC64:#define __FLT_RADIX__ 2
1920// PPC64:#define __INT16_TYPE__ short
1921// PPC64:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00001922// PPC64:#define __INT64_C_SUFFIX__ L
Chris Lattnere963d092009-10-29 04:55:36 +00001923// PPC64:#define __INT64_TYPE__ long int
1924// PPC64:#define __INT8_TYPE__ char
1925// PPC64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck9b25f782009-11-19 13:18:59 +00001926// PPC64:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00001927// PPC64:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00001928// PPC64:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00001929// PPC64:#define __INTPTR_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00001930// PPC64:#define __INT_MAX__ 2147483647
Nico Weber3435ede2012-01-31 02:07:33 +00001931// PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1932// PPC64:#define __LDBL_DIG__ 31
1933// PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00001934// PPC64:#define __LDBL_HAS_DENORM__ 1
1935// PPC64:#define __LDBL_HAS_INFINITY__ 1
1936// PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00001937// PPC64:#define __LDBL_MANT_DIG__ 106
Chris Lattnere963d092009-10-29 04:55:36 +00001938// PPC64:#define __LDBL_MAX_10_EXP__ 308
1939// PPC64:#define __LDBL_MAX_EXP__ 1024
Nico Weber3435ede2012-01-31 02:07:33 +00001940// PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1941// PPC64:#define __LDBL_MIN_10_EXP__ (-291)
1942// PPC64:#define __LDBL_MIN_EXP__ (-968)
1943// PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnere963d092009-10-29 04:55:36 +00001944// PPC64:#define __LONG_DOUBLE_128__ 1
1945// PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1946// PPC64:#define __LONG_MAX__ 9223372036854775807L
1947// PPC64:#define __LP64__ 1
1948// PPC64:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00001949// PPC64:#define __POINTER_WIDTH__ 64
1950// PPC64:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00001951// PPC64:#define __PPC64__ 1
1952// PPC64:#define __PPC__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00001953// PPC64:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00001954// PPC64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00001955// PPC64:#define __REGISTER_PREFIX__
1956// PPC64:#define __SCHAR_MAX__ 127
1957// PPC64:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00001958// PPC64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00001959// PPC64:#define __SIZEOF_DOUBLE__ 8
1960// PPC64:#define __SIZEOF_FLOAT__ 4
1961// PPC64:#define __SIZEOF_INT__ 4
Nico Weber3435ede2012-01-31 02:07:33 +00001962// PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohman04f87202010-05-28 00:27:15 +00001963// PPC64:#define __SIZEOF_LONG_LONG__ 8
1964// PPC64:#define __SIZEOF_LONG__ 8
1965// PPC64:#define __SIZEOF_POINTER__ 8
1966// PPC64:#define __SIZEOF_PTRDIFF_T__ 8
1967// PPC64:#define __SIZEOF_SHORT__ 2
1968// PPC64:#define __SIZEOF_SIZE_T__ 8
1969// PPC64:#define __SIZEOF_WCHAR_T__ 4
1970// PPC64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001971// PPC64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnere963d092009-10-29 04:55:36 +00001972// PPC64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00001973// PPC64:#define __SIZE_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00001974// PPC64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001975// PPC64:#define __USER_LABEL_PREFIX__ _
1976// PPC64:#define __WCHAR_MAX__ 2147483647
1977// PPC64:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00001978// PPC64:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00001979// PPC64:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00001980// PPC64:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00001981// PPC64:#define __ppc64__ 1
1982// PPC64:#define __ppc__ 1
1983//
Bill Schmidt778d3872013-07-26 01:36:11 +00001984// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64LE %s
1985//
1986// PPC64LE:#define _ARCH_PPC 1
1987// PPC64LE:#define _ARCH_PPC64 1
1988// PPC64LE:#define _ARCH_PPCGR 1
1989// PPC64LE:#define _ARCH_PPCSQ 1
1990// PPC64LE:#define _ARCH_PWR4 1
1991// PPC64LE:#define _ARCH_PWR5 1
1992// PPC64LE:#define _ARCH_PWR5X 1
1993// PPC64LE:#define _ARCH_PWR6 1
1994// PPC64LE:#define _ARCH_PWR6X 1
1995// PPC64LE:#define _ARCH_PWR7 1
1996// PPC64LE:#define _LITTLE_ENDIAN 1
1997// PPC64LE:#define _LP64 1
1998// PPC64LE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1999// PPC64LE:#define __CHAR16_TYPE__ unsigned short
2000// PPC64LE:#define __CHAR32_TYPE__ unsigned int
2001// PPC64LE:#define __CHAR_BIT__ 8
2002// PPC64LE:#define __CHAR_UNSIGNED__ 1
2003// PPC64LE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2004// PPC64LE:#define __DBL_DIG__ 15
2005// PPC64LE:#define __DBL_EPSILON__ 2.2204460492503131e-16
2006// PPC64LE:#define __DBL_HAS_DENORM__ 1
2007// PPC64LE:#define __DBL_HAS_INFINITY__ 1
2008// PPC64LE:#define __DBL_HAS_QUIET_NAN__ 1
2009// PPC64LE:#define __DBL_MANT_DIG__ 53
2010// PPC64LE:#define __DBL_MAX_10_EXP__ 308
2011// PPC64LE:#define __DBL_MAX_EXP__ 1024
2012// PPC64LE:#define __DBL_MAX__ 1.7976931348623157e+308
2013// PPC64LE:#define __DBL_MIN_10_EXP__ (-307)
2014// PPC64LE:#define __DBL_MIN_EXP__ (-1021)
2015// PPC64LE:#define __DBL_MIN__ 2.2250738585072014e-308
2016// PPC64LE:#define __DECIMAL_DIG__ 33
2017// PPC64LE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2018// PPC64LE:#define __FLT_DIG__ 6
2019// PPC64LE:#define __FLT_EPSILON__ 1.19209290e-7F
2020// PPC64LE:#define __FLT_EVAL_METHOD__ 0
2021// PPC64LE:#define __FLT_HAS_DENORM__ 1
2022// PPC64LE:#define __FLT_HAS_INFINITY__ 1
2023// PPC64LE:#define __FLT_HAS_QUIET_NAN__ 1
2024// PPC64LE:#define __FLT_MANT_DIG__ 24
2025// PPC64LE:#define __FLT_MAX_10_EXP__ 38
2026// PPC64LE:#define __FLT_MAX_EXP__ 128
2027// PPC64LE:#define __FLT_MAX__ 3.40282347e+38F
2028// PPC64LE:#define __FLT_MIN_10_EXP__ (-37)
2029// PPC64LE:#define __FLT_MIN_EXP__ (-125)
2030// PPC64LE:#define __FLT_MIN__ 1.17549435e-38F
2031// PPC64LE:#define __FLT_RADIX__ 2
2032// PPC64LE:#define __INT16_TYPE__ short
2033// PPC64LE:#define __INT32_TYPE__ int
2034// PPC64LE:#define __INT64_C_SUFFIX__ L
2035// PPC64LE:#define __INT64_TYPE__ long int
2036// PPC64LE:#define __INT8_TYPE__ char
2037// PPC64LE:#define __INTMAX_MAX__ 9223372036854775807L
2038// PPC64LE:#define __INTMAX_TYPE__ long int
2039// PPC64LE:#define __INTMAX_WIDTH__ 64
2040// PPC64LE:#define __INTPTR_TYPE__ long int
2041// PPC64LE:#define __INTPTR_WIDTH__ 64
2042// PPC64LE:#define __INT_MAX__ 2147483647
2043// PPC64LE:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2044// PPC64LE:#define __LDBL_DIG__ 31
2045// PPC64LE:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2046// PPC64LE:#define __LDBL_HAS_DENORM__ 1
2047// PPC64LE:#define __LDBL_HAS_INFINITY__ 1
2048// PPC64LE:#define __LDBL_HAS_QUIET_NAN__ 1
2049// PPC64LE:#define __LDBL_MANT_DIG__ 106
2050// PPC64LE:#define __LDBL_MAX_10_EXP__ 308
2051// PPC64LE:#define __LDBL_MAX_EXP__ 1024
2052// PPC64LE:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2053// PPC64LE:#define __LDBL_MIN_10_EXP__ (-291)
2054// PPC64LE:#define __LDBL_MIN_EXP__ (-968)
2055// PPC64LE:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2056// PPC64LE:#define __LITTLE_ENDIAN__ 1
2057// PPC64LE:#define __LONG_DOUBLE_128__ 1
2058// PPC64LE:#define __LONG_LONG_MAX__ 9223372036854775807LL
2059// PPC64LE:#define __LONG_MAX__ 9223372036854775807L
2060// PPC64LE:#define __LP64__ 1
2061// PPC64LE:#define __NATURAL_ALIGNMENT__ 1
2062// PPC64LE:#define __POINTER_WIDTH__ 64
2063// PPC64LE:#define __POWERPC__ 1
2064// PPC64LE:#define __PPC64__ 1
2065// PPC64LE:#define __PPC__ 1
2066// PPC64LE:#define __PTRDIFF_TYPE__ long int
2067// PPC64LE:#define __PTRDIFF_WIDTH__ 64
2068// PPC64LE:#define __REGISTER_PREFIX__
2069// PPC64LE:#define __SCHAR_MAX__ 127
2070// PPC64LE:#define __SHRT_MAX__ 32767
2071// PPC64LE:#define __SIG_ATOMIC_WIDTH__ 32
2072// PPC64LE:#define __SIZEOF_DOUBLE__ 8
2073// PPC64LE:#define __SIZEOF_FLOAT__ 4
2074// PPC64LE:#define __SIZEOF_INT__ 4
2075// PPC64LE:#define __SIZEOF_LONG_DOUBLE__ 16
2076// PPC64LE:#define __SIZEOF_LONG_LONG__ 8
2077// PPC64LE:#define __SIZEOF_LONG__ 8
2078// PPC64LE:#define __SIZEOF_POINTER__ 8
2079// PPC64LE:#define __SIZEOF_PTRDIFF_T__ 8
2080// PPC64LE:#define __SIZEOF_SHORT__ 2
2081// PPC64LE:#define __SIZEOF_SIZE_T__ 8
2082// PPC64LE:#define __SIZEOF_WCHAR_T__ 4
2083// PPC64LE:#define __SIZEOF_WINT_T__ 4
2084// PPC64LE:#define __SIZE_MAX__ 18446744073709551615UL
2085// PPC64LE:#define __SIZE_TYPE__ long unsigned int
2086// PPC64LE:#define __SIZE_WIDTH__ 64
2087// PPC64LE:#define __UINTMAX_TYPE__ long unsigned int
2088// PPC64LE:#define __USER_LABEL_PREFIX__ _
2089// PPC64LE:#define __WCHAR_MAX__ 2147483647
2090// PPC64LE:#define __WCHAR_TYPE__ int
2091// PPC64LE:#define __WCHAR_WIDTH__ 32
2092// PPC64LE:#define __WINT_TYPE__ int
2093// PPC64LE:#define __WINT_WIDTH__ 32
2094// PPC64LE:#define __ppc64__ 1
2095// PPC64LE:#define __ppc__ 1
2096//
Hal Finkeldf1e4bf2013-02-01 05:53:33 +00002097// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu a2q -fno-signed-char < /dev/null | FileCheck -check-prefix PPCA2Q %s
2098//
2099// PPCA2Q:#define _ARCH_A2 1
2100// PPCA2Q:#define _ARCH_A2Q 1
2101// PPCA2Q:#define _ARCH_PPC 1
2102// PPCA2Q:#define _ARCH_PPC64 1
2103// PPCA2Q:#define _ARCH_QP 1
2104//
2105// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-bgq-linux -fno-signed-char < /dev/null | FileCheck -check-prefix PPCBGQ %s
2106//
2107// PPCBGQ:#define __THW_BLUEGENE__ 1
2108// PPCBGQ:#define __TOS_BGQ__ 1
2109// PPCBGQ:#define __bg__ 1
2110// PPCBGQ:#define __bgq__ 1
2111//
Bill Schmidt38378a02013-02-01 20:23:10 +00002112// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu 630 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC630 %s
2113//
2114// PPC630:#define _ARCH_630 1
2115// PPC630:#define _ARCH_PPC 1
2116// PPC630:#define _ARCH_PPC64 1
2117// PPC630:#define _ARCH_PPCGR 1
2118//
2119// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR3 %s
2120//
2121// PPCPWR3:#define _ARCH_PPC 1
2122// PPCPWR3:#define _ARCH_PPC64 1
2123// PPCPWR3:#define _ARCH_PPCGR 1
2124//
2125// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER3 %s
2126//
2127// PPCPOWER3:#define _ARCH_PPC 1
2128// PPCPOWER3:#define _ARCH_PPC64 1
2129// PPCPOWER3:#define _ARCH_PPCGR 1
2130//
2131// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR4 %s
2132//
2133// PPCPWR4:#define _ARCH_PPC 1
2134// PPCPWR4:#define _ARCH_PPC64 1
2135// PPCPWR4:#define _ARCH_PPCGR 1
2136// PPCPWR4:#define _ARCH_PPCSQ 1
2137// PPCPWR4:#define _ARCH_PWR4 1
2138//
2139// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER4 %s
2140//
2141// PPCPOWER4:#define _ARCH_PPC 1
2142// PPCPOWER4:#define _ARCH_PPC64 1
2143// PPCPOWER4:#define _ARCH_PPCGR 1
2144// PPCPOWER4:#define _ARCH_PPCSQ 1
2145// PPCPOWER4:#define _ARCH_PWR4 1
2146//
2147// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5 %s
2148//
2149// PPCPWR5:#define _ARCH_PPC 1
2150// PPCPWR5:#define _ARCH_PPC64 1
2151// PPCPWR5:#define _ARCH_PPCGR 1
2152// PPCPWR5:#define _ARCH_PPCSQ 1
2153// PPCPWR5:#define _ARCH_PWR4 1
2154// PPCPWR5:#define _ARCH_PWR5 1
2155//
2156// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5 %s
2157//
2158// PPCPOWER5:#define _ARCH_PPC 1
2159// PPCPOWER5:#define _ARCH_PPC64 1
2160// PPCPOWER5:#define _ARCH_PPCGR 1
2161// PPCPOWER5:#define _ARCH_PPCSQ 1
2162// PPCPOWER5:#define _ARCH_PWR4 1
2163// PPCPOWER5:#define _ARCH_PWR5 1
2164//
2165// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5X %s
2166//
2167// PPCPWR5X:#define _ARCH_PPC 1
2168// PPCPWR5X:#define _ARCH_PPC64 1
2169// PPCPWR5X:#define _ARCH_PPCGR 1
2170// PPCPWR5X:#define _ARCH_PPCSQ 1
2171// PPCPWR5X:#define _ARCH_PWR4 1
2172// PPCPWR5X:#define _ARCH_PWR5 1
2173// PPCPWR5X:#define _ARCH_PWR5X 1
2174//
2175// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5X %s
2176//
2177// PPCPOWER5X:#define _ARCH_PPC 1
2178// PPCPOWER5X:#define _ARCH_PPC64 1
2179// PPCPOWER5X:#define _ARCH_PPCGR 1
2180// PPCPOWER5X:#define _ARCH_PPCSQ 1
2181// PPCPOWER5X:#define _ARCH_PWR4 1
2182// PPCPOWER5X:#define _ARCH_PWR5 1
2183// PPCPOWER5X:#define _ARCH_PWR5X 1
2184//
2185// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6 %s
2186//
2187// PPCPWR6:#define _ARCH_PPC 1
2188// PPCPWR6:#define _ARCH_PPC64 1
2189// PPCPWR6:#define _ARCH_PPCGR 1
2190// PPCPWR6:#define _ARCH_PPCSQ 1
2191// PPCPWR6:#define _ARCH_PWR4 1
2192// PPCPWR6:#define _ARCH_PWR5 1
2193// PPCPWR6:#define _ARCH_PWR5X 1
2194// PPCPWR6:#define _ARCH_PWR6 1
2195//
2196// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6 %s
2197//
2198// PPCPOWER6:#define _ARCH_PPC 1
2199// PPCPOWER6:#define _ARCH_PPC64 1
2200// PPCPOWER6:#define _ARCH_PPCGR 1
2201// PPCPOWER6:#define _ARCH_PPCSQ 1
2202// PPCPOWER6:#define _ARCH_PWR4 1
2203// PPCPOWER6:#define _ARCH_PWR5 1
2204// PPCPOWER6:#define _ARCH_PWR5X 1
2205// PPCPOWER6:#define _ARCH_PWR6 1
2206//
2207// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6X %s
2208//
2209// PPCPWR6X:#define _ARCH_PPC 1
2210// PPCPWR6X:#define _ARCH_PPC64 1
2211// PPCPWR6X:#define _ARCH_PPCGR 1
2212// PPCPWR6X:#define _ARCH_PPCSQ 1
2213// PPCPWR6X:#define _ARCH_PWR4 1
2214// PPCPWR6X:#define _ARCH_PWR5 1
2215// PPCPWR6X:#define _ARCH_PWR5X 1
2216// PPCPWR6X:#define _ARCH_PWR6 1
2217// PPCPWR6X:#define _ARCH_PWR6X 1
2218//
2219// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6X %s
2220//
2221// PPCPOWER6X:#define _ARCH_PPC 1
2222// PPCPOWER6X:#define _ARCH_PPC64 1
2223// PPCPOWER6X:#define _ARCH_PPCGR 1
2224// PPCPOWER6X:#define _ARCH_PPCSQ 1
2225// PPCPOWER6X:#define _ARCH_PWR4 1
2226// PPCPOWER6X:#define _ARCH_PWR5 1
2227// PPCPOWER6X:#define _ARCH_PWR5X 1
2228// PPCPOWER6X:#define _ARCH_PWR6 1
2229// PPCPOWER6X:#define _ARCH_PWR6X 1
2230//
2231// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR7 %s
2232//
2233// PPCPWR7:#define _ARCH_PPC 1
2234// PPCPWR7:#define _ARCH_PPC64 1
2235// PPCPWR7:#define _ARCH_PPCGR 1
2236// PPCPWR7:#define _ARCH_PPCSQ 1
2237// PPCPWR7:#define _ARCH_PWR4 1
2238// PPCPWR7:#define _ARCH_PWR5 1
2239// PPCPWR7:#define _ARCH_PWR5X 1
2240// PPCPWR7:#define _ARCH_PWR6 1
2241// PPCPWR7:#define _ARCH_PWR6X 1
2242// PPCPWR7:#define _ARCH_PWR7 1
2243//
2244// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER7 %s
2245//
2246// PPCPOWER7:#define _ARCH_PPC 1
2247// PPCPOWER7:#define _ARCH_PPC64 1
2248// PPCPOWER7:#define _ARCH_PPCGR 1
2249// PPCPOWER7:#define _ARCH_PPCSQ 1
2250// PPCPOWER7:#define _ARCH_PWR4 1
2251// PPCPOWER7:#define _ARCH_PWR5 1
2252// PPCPOWER7:#define _ARCH_PWR5X 1
2253// PPCPOWER7:#define _ARCH_PWR6 1
2254// PPCPOWER7:#define _ARCH_PWR6X 1
2255// PPCPOWER7:#define _ARCH_PWR7 1
2256//
Nico Weber3435ede2012-01-31 02:07:33 +00002257// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
2258//
2259// PPC64-LINUX:#define _ARCH_PPC 1
2260// PPC64-LINUX:#define _ARCH_PPC64 1
2261// PPC64-LINUX:#define _BIG_ENDIAN 1
2262// PPC64-LINUX:#define _LP64 1
2263// PPC64-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002264// PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber3435ede2012-01-31 02:07:33 +00002265// PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
2266// PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
2267// PPC64-LINUX:#define __CHAR_BIT__ 8
2268// PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
2269// PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2270// PPC64-LINUX:#define __DBL_DIG__ 15
2271// PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2272// PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
2273// PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
2274// PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2275// PPC64-LINUX:#define __DBL_MANT_DIG__ 53
2276// PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
2277// PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
2278// PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2279// PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2280// PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2281// PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2282// PPC64-LINUX:#define __DECIMAL_DIG__ 33
2283// PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2284// PPC64-LINUX:#define __FLT_DIG__ 6
2285// PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2286// PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
2287// PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
2288// PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
2289// PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2290// PPC64-LINUX:#define __FLT_MANT_DIG__ 24
2291// PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
2292// PPC64-LINUX:#define __FLT_MAX_EXP__ 128
2293// PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2294// PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2295// PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
2296// PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2297// PPC64-LINUX:#define __FLT_RADIX__ 2
2298// PPC64-LINUX:#define __INT16_TYPE__ short
2299// PPC64-LINUX:#define __INT32_TYPE__ int
2300// PPC64-LINUX:#define __INT64_C_SUFFIX__ L
2301// PPC64-LINUX:#define __INT64_TYPE__ long int
2302// PPC64-LINUX:#define __INT8_TYPE__ char
2303// PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2304// PPC64-LINUX:#define __INTMAX_TYPE__ long int
2305// PPC64-LINUX:#define __INTMAX_WIDTH__ 64
2306// PPC64-LINUX:#define __INTPTR_TYPE__ long int
2307// PPC64-LINUX:#define __INTPTR_WIDTH__ 64
2308// PPC64-LINUX:#define __INT_MAX__ 2147483647
2309// PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2310// PPC64-LINUX:#define __LDBL_DIG__ 31
2311// PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2312// PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
2313// PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2314// PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2315// PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
2316// PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
2317// PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
2318// PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2319// PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2320// PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
2321// PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2322// PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
2323// PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2324// PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2325// PPC64-LINUX:#define __LP64__ 1
2326// PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002327// PPC64-LINUX:#define __POINTER_WIDTH__ 64
2328// PPC64-LINUX:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002329// PPC64-LINUX:#define __PPC64__ 1
2330// PPC64-LINUX:#define __PPC__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002331// PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
2332// PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
2333// PPC64-LINUX:#define __REGISTER_PREFIX__
2334// PPC64-LINUX:#define __SCHAR_MAX__ 127
2335// PPC64-LINUX:#define __SHRT_MAX__ 32767
2336// PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2337// PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
2338// PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
2339// PPC64-LINUX:#define __SIZEOF_INT__ 4
2340// PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2341// PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2342// PPC64-LINUX:#define __SIZEOF_LONG__ 8
2343// PPC64-LINUX:#define __SIZEOF_POINTER__ 8
2344// PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2345// PPC64-LINUX:#define __SIZEOF_SHORT__ 2
2346// PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
2347// PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2348// PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002349// PPC64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Nico Weber3435ede2012-01-31 02:07:33 +00002350// PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
2351// PPC64-LINUX:#define __SIZE_WIDTH__ 64
2352// PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2353// PPC64-LINUX:#define __USER_LABEL_PREFIX__
2354// PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
2355// PPC64-LINUX:#define __WCHAR_TYPE__ int
2356// PPC64-LINUX:#define __WCHAR_WIDTH__ 32
2357// PPC64-LINUX:#define __WINT_TYPE__ unsigned int
2358// PPC64-LINUX:#define __WINT_UNSIGNED__ 1
2359// PPC64-LINUX:#define __WINT_WIDTH__ 32
2360// PPC64-LINUX:#define __powerpc64__ 1
2361// PPC64-LINUX:#define __powerpc__ 1
2362// PPC64-LINUX:#define __ppc64__ 1
2363// PPC64-LINUX:#define __ppc__ 1
2364//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002365// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix PPC %s
Chris Lattnere963d092009-10-29 04:55:36 +00002366//
2367// PPC:#define _ARCH_PPC 1
2368// PPC:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002369// PPC-NOT:#define _LP64
Chris Lattnere963d092009-10-29 04:55:36 +00002370// PPC:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002371// PPC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002372// PPC:#define __CHAR16_TYPE__ unsigned short
2373// PPC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002374// PPC:#define __CHAR_BIT__ 8
2375// PPC:#define __CHAR_UNSIGNED__ 1
2376// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2377// PPC:#define __DBL_DIG__ 15
2378// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2379// PPC:#define __DBL_HAS_DENORM__ 1
2380// PPC:#define __DBL_HAS_INFINITY__ 1
2381// PPC:#define __DBL_HAS_QUIET_NAN__ 1
2382// PPC:#define __DBL_MANT_DIG__ 53
2383// PPC:#define __DBL_MAX_10_EXP__ 308
2384// PPC:#define __DBL_MAX_EXP__ 1024
2385// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
2386// PPC:#define __DBL_MIN_10_EXP__ (-307)
2387// PPC:#define __DBL_MIN_EXP__ (-1021)
2388// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber3435ede2012-01-31 02:07:33 +00002389// PPC:#define __DECIMAL_DIG__ 33
Chris Lattnere963d092009-10-29 04:55:36 +00002390// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2391// PPC:#define __FLT_DIG__ 6
2392// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
2393// PPC:#define __FLT_EVAL_METHOD__ 0
2394// PPC:#define __FLT_HAS_DENORM__ 1
2395// PPC:#define __FLT_HAS_INFINITY__ 1
2396// PPC:#define __FLT_HAS_QUIET_NAN__ 1
2397// PPC:#define __FLT_MANT_DIG__ 24
2398// PPC:#define __FLT_MAX_10_EXP__ 38
2399// PPC:#define __FLT_MAX_EXP__ 128
2400// PPC:#define __FLT_MAX__ 3.40282347e+38F
2401// PPC:#define __FLT_MIN_10_EXP__ (-37)
2402// PPC:#define __FLT_MIN_EXP__ (-125)
2403// PPC:#define __FLT_MIN__ 1.17549435e-38F
2404// PPC:#define __FLT_RADIX__ 2
2405// PPC:#define __INT16_TYPE__ short
2406// PPC:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002407// PPC:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00002408// PPC:#define __INT64_TYPE__ long long int
2409// PPC:#define __INT8_TYPE__ char
2410// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00002411// PPC:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002412// PPC:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002413// PPC:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002414// PPC:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002415// PPC:#define __INT_MAX__ 2147483647
Nico Weber3435ede2012-01-31 02:07:33 +00002416// PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2417// PPC:#define __LDBL_DIG__ 31
2418// PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002419// PPC:#define __LDBL_HAS_DENORM__ 1
2420// PPC:#define __LDBL_HAS_INFINITY__ 1
2421// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002422// PPC:#define __LDBL_MANT_DIG__ 106
Chris Lattnere963d092009-10-29 04:55:36 +00002423// PPC:#define __LDBL_MAX_10_EXP__ 308
2424// PPC:#define __LDBL_MAX_EXP__ 1024
Nico Weber3435ede2012-01-31 02:07:33 +00002425// PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2426// PPC:#define __LDBL_MIN_10_EXP__ (-291)
2427// PPC:#define __LDBL_MIN_EXP__ (-968)
2428// PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnere963d092009-10-29 04:55:36 +00002429// PPC:#define __LONG_DOUBLE_128__ 1
2430// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2431// PPC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002432// PPC-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00002433// PPC:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002434// PPC:#define __POINTER_WIDTH__ 32
2435// PPC:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002436// PPC:#define __PPC__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002437// PPC:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002438// PPC:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002439// PPC:#define __REGISTER_PREFIX__
2440// PPC:#define __SCHAR_MAX__ 127
2441// PPC:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002442// PPC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002443// PPC:#define __SIZEOF_DOUBLE__ 8
2444// PPC:#define __SIZEOF_FLOAT__ 4
2445// PPC:#define __SIZEOF_INT__ 4
Nico Weber3435ede2012-01-31 02:07:33 +00002446// PPC:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohman04f87202010-05-28 00:27:15 +00002447// PPC:#define __SIZEOF_LONG_LONG__ 8
2448// PPC:#define __SIZEOF_LONG__ 4
2449// PPC:#define __SIZEOF_POINTER__ 4
2450// PPC:#define __SIZEOF_PTRDIFF_T__ 4
2451// PPC:#define __SIZEOF_SHORT__ 2
2452// PPC:#define __SIZEOF_SIZE_T__ 4
2453// PPC:#define __SIZEOF_WCHAR_T__ 4
2454// PPC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002455// PPC:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00002456// PPC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002457// PPC:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002458// PPC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002459// PPC:#define __USER_LABEL_PREFIX__ _
2460// PPC:#define __WCHAR_MAX__ 2147483647
2461// PPC:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002462// PPC:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002463// PPC:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002464// PPC:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002465// PPC:#define __ppc__ 1
2466//
Nico Weber3435ede2012-01-31 02:07:33 +00002467// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
2468//
2469// PPC-LINUX:#define _ARCH_PPC 1
2470// PPC-LINUX:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002471// PPC-LINUX-NOT:#define _LP64
Nico Weber3435ede2012-01-31 02:07:33 +00002472// PPC-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002473// PPC-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber3435ede2012-01-31 02:07:33 +00002474// PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
2475// PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
2476// PPC-LINUX:#define __CHAR_BIT__ 8
2477// PPC-LINUX:#define __CHAR_UNSIGNED__ 1
2478// PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2479// PPC-LINUX:#define __DBL_DIG__ 15
2480// PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2481// PPC-LINUX:#define __DBL_HAS_DENORM__ 1
2482// PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
2483// PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2484// PPC-LINUX:#define __DBL_MANT_DIG__ 53
2485// PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
2486// PPC-LINUX:#define __DBL_MAX_EXP__ 1024
2487// PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2488// PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2489// PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
2490// PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2491// PPC-LINUX:#define __DECIMAL_DIG__ 33
2492// PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2493// PPC-LINUX:#define __FLT_DIG__ 6
2494// PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2495// PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
2496// PPC-LINUX:#define __FLT_HAS_DENORM__ 1
2497// PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
2498// PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2499// PPC-LINUX:#define __FLT_MANT_DIG__ 24
2500// PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
2501// PPC-LINUX:#define __FLT_MAX_EXP__ 128
2502// PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2503// PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2504// PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
2505// PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2506// PPC-LINUX:#define __FLT_RADIX__ 2
2507// PPC-LINUX:#define __INT16_TYPE__ short
2508// PPC-LINUX:#define __INT32_TYPE__ int
2509// PPC-LINUX:#define __INT64_C_SUFFIX__ LL
2510// PPC-LINUX:#define __INT64_TYPE__ long long int
2511// PPC-LINUX:#define __INT8_TYPE__ char
2512// PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
2513// PPC-LINUX:#define __INTMAX_TYPE__ long long int
2514// PPC-LINUX:#define __INTMAX_WIDTH__ 64
Hal Finkel26908382012-03-02 20:54:36 +00002515// PPC-LINUX:#define __INTPTR_TYPE__ int
Nico Weber3435ede2012-01-31 02:07:33 +00002516// PPC-LINUX:#define __INTPTR_WIDTH__ 32
2517// PPC-LINUX:#define __INT_MAX__ 2147483647
2518// PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2519// PPC-LINUX:#define __LDBL_DIG__ 31
2520// PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2521// PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
2522// PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
2523// PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2524// PPC-LINUX:#define __LDBL_MANT_DIG__ 106
2525// PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
2526// PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
2527// PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2528// PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2529// PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
2530// PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2531// PPC-LINUX:#define __LONG_DOUBLE_128__ 1
2532// PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2533// PPC-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002534// PPC-LINUX-NOT:#define __LP64__
Nico Weber3435ede2012-01-31 02:07:33 +00002535// PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002536// PPC-LINUX:#define __POINTER_WIDTH__ 32
2537// PPC-LINUX:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002538// PPC-LINUX:#define __PPC__ 1
Hal Finkel26908382012-03-02 20:54:36 +00002539// PPC-LINUX:#define __PTRDIFF_TYPE__ int
Nico Weber3435ede2012-01-31 02:07:33 +00002540// PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
2541// PPC-LINUX:#define __REGISTER_PREFIX__
2542// PPC-LINUX:#define __SCHAR_MAX__ 127
2543// PPC-LINUX:#define __SHRT_MAX__ 32767
2544// PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2545// PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
2546// PPC-LINUX:#define __SIZEOF_FLOAT__ 4
2547// PPC-LINUX:#define __SIZEOF_INT__ 4
2548// PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2549// PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
2550// PPC-LINUX:#define __SIZEOF_LONG__ 4
2551// PPC-LINUX:#define __SIZEOF_POINTER__ 4
2552// PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
2553// PPC-LINUX:#define __SIZEOF_SHORT__ 2
2554// PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
2555// PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
2556// PPC-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002557// PPC-LINUX:#define __SIZE_MAX__ 4294967295U
Nico Weber3435ede2012-01-31 02:07:33 +00002558// PPC-LINUX:#define __SIZE_TYPE__ unsigned int
2559// PPC-LINUX:#define __SIZE_WIDTH__ 32
2560// PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
2561// PPC-LINUX:#define __USER_LABEL_PREFIX__
2562// PPC-LINUX:#define __WCHAR_MAX__ 2147483647
2563// PPC-LINUX:#define __WCHAR_TYPE__ int
2564// PPC-LINUX:#define __WCHAR_WIDTH__ 32
2565// PPC-LINUX:#define __WINT_TYPE__ unsigned int
2566// PPC-LINUX:#define __WINT_UNSIGNED__ 1
2567// PPC-LINUX:#define __WINT_WIDTH__ 32
2568// PPC-LINUX:#define __powerpc__ 1
2569// PPC-LINUX:#define __ppc__ 1
2570//
David Fang072d47b2013-05-16 17:51:48 +00002571// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-apple-darwin8 < /dev/null | FileCheck -check-prefix PPC-DARWIN %s
2572//
2573// PPC-DARWIN:#define _ARCH_PPC 1
2574// PPC-DARWIN:#define _BIG_ENDIAN 1
2575// PPC-DARWIN:#define __BIG_ENDIAN__ 1
2576// PPC-DARWIN:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2577// PPC-DARWIN:#define __CHAR16_TYPE__ unsigned short
2578// PPC-DARWIN:#define __CHAR32_TYPE__ unsigned int
2579// PPC-DARWIN:#define __CHAR_BIT__ 8
2580// PPC-DARWIN:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2581// PPC-DARWIN:#define __DBL_DIG__ 15
2582// PPC-DARWIN:#define __DBL_EPSILON__ 2.2204460492503131e-16
2583// PPC-DARWIN:#define __DBL_HAS_DENORM__ 1
2584// PPC-DARWIN:#define __DBL_HAS_INFINITY__ 1
2585// PPC-DARWIN:#define __DBL_HAS_QUIET_NAN__ 1
2586// PPC-DARWIN:#define __DBL_MANT_DIG__ 53
2587// PPC-DARWIN:#define __DBL_MAX_10_EXP__ 308
2588// PPC-DARWIN:#define __DBL_MAX_EXP__ 1024
2589// PPC-DARWIN:#define __DBL_MAX__ 1.7976931348623157e+308
2590// PPC-DARWIN:#define __DBL_MIN_10_EXP__ (-307)
2591// PPC-DARWIN:#define __DBL_MIN_EXP__ (-1021)
2592// PPC-DARWIN:#define __DBL_MIN__ 2.2250738585072014e-308
2593// PPC-DARWIN:#define __DECIMAL_DIG__ 33
2594// PPC-DARWIN:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2595// PPC-DARWIN:#define __FLT_DIG__ 6
2596// PPC-DARWIN:#define __FLT_EPSILON__ 1.19209290e-7F
2597// PPC-DARWIN:#define __FLT_EVAL_METHOD__ 0
2598// PPC-DARWIN:#define __FLT_HAS_DENORM__ 1
2599// PPC-DARWIN:#define __FLT_HAS_INFINITY__ 1
2600// PPC-DARWIN:#define __FLT_HAS_QUIET_NAN__ 1
2601// PPC-DARWIN:#define __FLT_MANT_DIG__ 24
2602// PPC-DARWIN:#define __FLT_MAX_10_EXP__ 38
2603// PPC-DARWIN:#define __FLT_MAX_EXP__ 128
2604// PPC-DARWIN:#define __FLT_MAX__ 3.40282347e+38F
2605// PPC-DARWIN:#define __FLT_MIN_10_EXP__ (-37)
2606// PPC-DARWIN:#define __FLT_MIN_EXP__ (-125)
2607// PPC-DARWIN:#define __FLT_MIN__ 1.17549435e-38F
2608// PPC-DARWIN:#define __FLT_RADIX__ 2
2609// PPC-DARWIN:#define __INT16_TYPE__ short
2610// PPC-DARWIN:#define __INT32_TYPE__ int
2611// PPC-DARWIN:#define __INT64_C_SUFFIX__ LL
2612// PPC-DARWIN:#define __INT64_TYPE__ long long int
2613// PPC-DARWIN:#define __INT8_TYPE__ char
2614// PPC-DARWIN:#define __INTMAX_MAX__ 9223372036854775807LL
2615// PPC-DARWIN:#define __INTMAX_TYPE__ long long int
2616// PPC-DARWIN:#define __INTMAX_WIDTH__ 64
2617// PPC-DARWIN:#define __INTPTR_TYPE__ long int
2618// PPC-DARWIN:#define __INTPTR_WIDTH__ 32
2619// PPC-DARWIN:#define __INT_MAX__ 2147483647
2620// PPC-DARWIN:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2621// PPC-DARWIN:#define __LDBL_DIG__ 31
2622// PPC-DARWIN:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2623// PPC-DARWIN:#define __LDBL_HAS_DENORM__ 1
2624// PPC-DARWIN:#define __LDBL_HAS_INFINITY__ 1
2625// PPC-DARWIN:#define __LDBL_HAS_QUIET_NAN__ 1
2626// PPC-DARWIN:#define __LDBL_MANT_DIG__ 106
2627// PPC-DARWIN:#define __LDBL_MAX_10_EXP__ 308
2628// PPC-DARWIN:#define __LDBL_MAX_EXP__ 1024
2629// PPC-DARWIN:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2630// PPC-DARWIN:#define __LDBL_MIN_10_EXP__ (-291)
2631// PPC-DARWIN:#define __LDBL_MIN_EXP__ (-968)
2632// PPC-DARWIN:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2633// PPC-DARWIN:#define __LONG_DOUBLE_128__ 1
2634// PPC-DARWIN:#define __LONG_LONG_MAX__ 9223372036854775807LL
2635// PPC-DARWIN:#define __LONG_MAX__ 2147483647L
2636// PPC-DARWIN:#define __MACH__ 1
2637// PPC-DARWIN:#define __NATURAL_ALIGNMENT__ 1
2638// PPC-DARWIN:#define __ORDER_BIG_ENDIAN__ 4321
2639// PPC-DARWIN:#define __ORDER_LITTLE_ENDIAN__ 1234
2640// PPC-DARWIN:#define __ORDER_PDP_ENDIAN__ 3412
2641// PPC-DARWIN:#define __POINTER_WIDTH__ 32
2642// PPC-DARWIN:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002643// PPC-DARWIN:#define __PPC__ 1
David Fang072d47b2013-05-16 17:51:48 +00002644// PPC-DARWIN:#define __PTRDIFF_TYPE__ int
2645// PPC-DARWIN:#define __PTRDIFF_WIDTH__ 32
2646// PPC-DARWIN:#define __REGISTER_PREFIX__
2647// PPC-DARWIN:#define __SCHAR_MAX__ 127
2648// PPC-DARWIN:#define __SHRT_MAX__ 32767
2649// PPC-DARWIN:#define __SIG_ATOMIC_WIDTH__ 32
2650// PPC-DARWIN:#define __SIZEOF_DOUBLE__ 8
2651// PPC-DARWIN:#define __SIZEOF_FLOAT__ 4
2652// PPC-DARWIN:#define __SIZEOF_INT__ 4
2653// PPC-DARWIN:#define __SIZEOF_LONG_DOUBLE__ 16
2654// PPC-DARWIN:#define __SIZEOF_LONG_LONG__ 8
2655// PPC-DARWIN:#define __SIZEOF_LONG__ 4
2656// PPC-DARWIN:#define __SIZEOF_POINTER__ 4
2657// PPC-DARWIN:#define __SIZEOF_PTRDIFF_T__ 4
2658// PPC-DARWIN:#define __SIZEOF_SHORT__ 2
2659// PPC-DARWIN:#define __SIZEOF_SIZE_T__ 4
2660// PPC-DARWIN:#define __SIZEOF_WCHAR_T__ 4
2661// PPC-DARWIN:#define __SIZEOF_WINT_T__ 4
2662// PPC-DARWIN:#define __SIZE_MAX__ 4294967295UL
2663// PPC-DARWIN:#define __SIZE_TYPE__ long unsigned int
2664// PPC-DARWIN:#define __SIZE_WIDTH__ 32
2665// PPC-DARWIN:#define __STDC_HOSTED__ 0
2666// PPC-DARWIN:#define __STDC_VERSION__ 199901L
2667// PPC-DARWIN:#define __STDC__ 1
2668// PPC-DARWIN:#define __UINTMAX_TYPE__ long long unsigned int
2669// PPC-DARWIN:#define __USER_LABEL_PREFIX__ _
2670// PPC-DARWIN:#define __WCHAR_MAX__ 2147483647
2671// PPC-DARWIN:#define __WCHAR_TYPE__ int
2672// PPC-DARWIN:#define __WCHAR_WIDTH__ 32
2673// PPC-DARWIN:#define __WINT_TYPE__ int
2674// PPC-DARWIN:#define __WINT_WIDTH__ 32
2675// PPC-DARWIN:#define __powerpc__ 1
2676// PPC-DARWIN:#define __ppc__ 1
2677//
Ulrich Weigand47445072013-05-06 16:26:41 +00002678// RUN: %clang_cc1 -E -dM -ffreestanding -triple=s390x-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix S390X %s
2679//
2680// S390X:#define __CHAR16_TYPE__ unsigned short
2681// S390X:#define __CHAR32_TYPE__ unsigned int
2682// S390X:#define __CHAR_BIT__ 8
2683// S390X:#define __CHAR_UNSIGNED__ 1
2684// S390X:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2685// S390X:#define __DBL_DIG__ 15
2686// S390X:#define __DBL_EPSILON__ 2.2204460492503131e-16
2687// S390X:#define __DBL_HAS_DENORM__ 1
2688// S390X:#define __DBL_HAS_INFINITY__ 1
2689// S390X:#define __DBL_HAS_QUIET_NAN__ 1
2690// S390X:#define __DBL_MANT_DIG__ 53
2691// S390X:#define __DBL_MAX_10_EXP__ 308
2692// S390X:#define __DBL_MAX_EXP__ 1024
2693// S390X:#define __DBL_MAX__ 1.7976931348623157e+308
2694// S390X:#define __DBL_MIN_10_EXP__ (-307)
2695// S390X:#define __DBL_MIN_EXP__ (-1021)
2696// S390X:#define __DBL_MIN__ 2.2250738585072014e-308
2697// S390X:#define __DECIMAL_DIG__ 36
2698// S390X:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2699// S390X:#define __FLT_DIG__ 6
2700// S390X:#define __FLT_EPSILON__ 1.19209290e-7F
2701// S390X:#define __FLT_EVAL_METHOD__ 0
2702// S390X:#define __FLT_HAS_DENORM__ 1
2703// S390X:#define __FLT_HAS_INFINITY__ 1
2704// S390X:#define __FLT_HAS_QUIET_NAN__ 1
2705// S390X:#define __FLT_MANT_DIG__ 24
2706// S390X:#define __FLT_MAX_10_EXP__ 38
2707// S390X:#define __FLT_MAX_EXP__ 128
2708// S390X:#define __FLT_MAX__ 3.40282347e+38F
2709// S390X:#define __FLT_MIN_10_EXP__ (-37)
2710// S390X:#define __FLT_MIN_EXP__ (-125)
2711// S390X:#define __FLT_MIN__ 1.17549435e-38F
2712// S390X:#define __FLT_RADIX__ 2
2713// S390X:#define __INT16_TYPE__ short
2714// S390X:#define __INT32_TYPE__ int
2715// S390X:#define __INT64_C_SUFFIX__ L
2716// S390X:#define __INT64_TYPE__ long long int
2717// S390X:#define __INT8_TYPE__ char
2718// S390X:#define __INTMAX_MAX__ 9223372036854775807LL
2719// S390X:#define __INTMAX_TYPE__ long long int
2720// S390X:#define __INTMAX_WIDTH__ 64
2721// S390X:#define __INTPTR_TYPE__ long int
2722// S390X:#define __INTPTR_WIDTH__ 64
2723// S390X:#define __INT_MAX__ 2147483647
2724// S390X:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
2725// S390X:#define __LDBL_DIG__ 33
2726// S390X:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
2727// S390X:#define __LDBL_HAS_DENORM__ 1
2728// S390X:#define __LDBL_HAS_INFINITY__ 1
2729// S390X:#define __LDBL_HAS_QUIET_NAN__ 1
2730// S390X:#define __LDBL_MANT_DIG__ 113
2731// S390X:#define __LDBL_MAX_10_EXP__ 4932
2732// S390X:#define __LDBL_MAX_EXP__ 16384
2733// S390X:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
2734// S390X:#define __LDBL_MIN_10_EXP__ (-4931)
2735// S390X:#define __LDBL_MIN_EXP__ (-16381)
2736// S390X:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
2737// S390X:#define __LONG_LONG_MAX__ 9223372036854775807LL
2738// S390X:#define __LONG_MAX__ 9223372036854775807L
2739// S390X:#define __NO_INLINE__ 1
2740// S390X:#define __POINTER_WIDTH__ 64
2741// S390X:#define __PTRDIFF_TYPE__ long int
2742// S390X:#define __PTRDIFF_WIDTH__ 64
2743// S390X:#define __SCHAR_MAX__ 127
2744// S390X:#define __SHRT_MAX__ 32767
2745// S390X:#define __SIG_ATOMIC_WIDTH__ 32
2746// S390X:#define __SIZEOF_DOUBLE__ 8
2747// S390X:#define __SIZEOF_FLOAT__ 4
2748// S390X:#define __SIZEOF_INT__ 4
2749// S390X:#define __SIZEOF_LONG_DOUBLE__ 16
2750// S390X:#define __SIZEOF_LONG_LONG__ 8
2751// S390X:#define __SIZEOF_LONG__ 8
2752// S390X:#define __SIZEOF_POINTER__ 8
2753// S390X:#define __SIZEOF_PTRDIFF_T__ 8
2754// S390X:#define __SIZEOF_SHORT__ 2
2755// S390X:#define __SIZEOF_SIZE_T__ 8
2756// S390X:#define __SIZEOF_WCHAR_T__ 4
2757// S390X:#define __SIZEOF_WINT_T__ 4
2758// S390X:#define __SIZE_TYPE__ long unsigned int
2759// S390X:#define __SIZE_WIDTH__ 64
2760// S390X:#define __UINTMAX_TYPE__ long long unsigned int
2761// S390X:#define __USER_LABEL_PREFIX__ _
2762// S390X:#define __WCHAR_MAX__ 2147483647
2763// S390X:#define __WCHAR_TYPE__ int
2764// S390X:#define __WCHAR_WIDTH__ 32
2765// S390X:#define __WINT_TYPE__ int
2766// S390X:#define __WINT_WIDTH__ 32
2767// S390X:#define __s390__ 1
2768// S390X:#define __s390x__ 1
2769//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002770// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
Chris Lattnere963d092009-10-29 04:55:36 +00002771//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002772// SPARC-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002773// SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002774// SPARC:#define __CHAR16_TYPE__ unsigned short
2775// SPARC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002776// SPARC:#define __CHAR_BIT__ 8
2777// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2778// SPARC:#define __DBL_DIG__ 15
2779// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2780// SPARC:#define __DBL_HAS_DENORM__ 1
2781// SPARC:#define __DBL_HAS_INFINITY__ 1
2782// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
2783// SPARC:#define __DBL_MANT_DIG__ 53
2784// SPARC:#define __DBL_MAX_10_EXP__ 308
2785// SPARC:#define __DBL_MAX_EXP__ 1024
2786// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
2787// SPARC:#define __DBL_MIN_10_EXP__ (-307)
2788// SPARC:#define __DBL_MIN_EXP__ (-1021)
2789// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
2790// SPARC:#define __DECIMAL_DIG__ 17
2791// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2792// SPARC:#define __FLT_DIG__ 6
2793// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
2794// SPARC:#define __FLT_EVAL_METHOD__ 0
2795// SPARC:#define __FLT_HAS_DENORM__ 1
2796// SPARC:#define __FLT_HAS_INFINITY__ 1
2797// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
2798// SPARC:#define __FLT_MANT_DIG__ 24
2799// SPARC:#define __FLT_MAX_10_EXP__ 38
2800// SPARC:#define __FLT_MAX_EXP__ 128
2801// SPARC:#define __FLT_MAX__ 3.40282347e+38F
2802// SPARC:#define __FLT_MIN_10_EXP__ (-37)
2803// SPARC:#define __FLT_MIN_EXP__ (-125)
2804// SPARC:#define __FLT_MIN__ 1.17549435e-38F
2805// SPARC:#define __FLT_RADIX__ 2
2806// SPARC:#define __INT16_TYPE__ short
2807// SPARC:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002808// SPARC:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00002809// SPARC:#define __INT64_TYPE__ long long int
2810// SPARC:#define __INT8_TYPE__ char
2811// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00002812// SPARC:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002813// SPARC:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002814// SPARC:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002815// SPARC:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002816// SPARC:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002817// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002818// SPARC:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002819// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +00002820// SPARC:#define __LDBL_HAS_DENORM__ 1
2821// SPARC:#define __LDBL_HAS_INFINITY__ 1
2822// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
2823// SPARC:#define __LDBL_MANT_DIG__ 53
2824// SPARC:#define __LDBL_MAX_10_EXP__ 308
2825// SPARC:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002826// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +00002827// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
2828// SPARC:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002829// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnere963d092009-10-29 04:55:36 +00002830// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2831// SPARC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002832// SPARC-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00002833// SPARC:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002834// SPARC:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002835// SPARC:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbaracde99e2009-12-18 18:42:37 +00002836// SPARC:#define __REGISTER_PREFIX__
Chris Lattnere963d092009-10-29 04:55:36 +00002837// SPARC:#define __SCHAR_MAX__ 127
2838// SPARC:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002839// SPARC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002840// SPARC:#define __SIZEOF_DOUBLE__ 8
2841// SPARC:#define __SIZEOF_FLOAT__ 4
2842// SPARC:#define __SIZEOF_INT__ 4
2843// SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
2844// SPARC:#define __SIZEOF_LONG_LONG__ 8
2845// SPARC:#define __SIZEOF_LONG__ 4
2846// SPARC:#define __SIZEOF_POINTER__ 4
2847// SPARC:#define __SIZEOF_PTRDIFF_T__ 4
2848// SPARC:#define __SIZEOF_SHORT__ 2
2849// SPARC:#define __SIZEOF_SIZE_T__ 4
2850// SPARC:#define __SIZEOF_WCHAR_T__ 4
2851// SPARC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002852// SPARC:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00002853// SPARC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002854// SPARC:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002855// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002856// SPARC:#define __USER_LABEL_PREFIX__ _
Daniel Dunbar3b17a862011-03-31 00:53:51 +00002857// SPARC:#define __VERSION__ "4.2.1 Compatible
Chris Lattnere963d092009-10-29 04:55:36 +00002858// SPARC:#define __WCHAR_MAX__ 2147483647
2859// SPARC:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002860// SPARC:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002861// SPARC:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002862// SPARC:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002863// SPARC:#define __sparc 1
2864// SPARC:#define __sparc__ 1
2865// SPARC:#define __sparcv8 1
2866// SPARC:#define sparc 1
2867//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002868// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
Chris Lattnere963d092009-10-29 04:55:36 +00002869//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002870// TCE-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002871// TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002872// TCE:#define __CHAR16_TYPE__ unsigned short
2873// TCE:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002874// TCE:#define __CHAR_BIT__ 8
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002875// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45
Chris Lattnere963d092009-10-29 04:55:36 +00002876// TCE:#define __DBL_DIG__ 6
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002877// TCE:#define __DBL_EPSILON__ 1.19209290e-7
Chris Lattnere963d092009-10-29 04:55:36 +00002878// TCE:#define __DBL_HAS_DENORM__ 1
2879// TCE:#define __DBL_HAS_INFINITY__ 1
2880// TCE:#define __DBL_HAS_QUIET_NAN__ 1
2881// TCE:#define __DBL_MANT_DIG__ 24
2882// TCE:#define __DBL_MAX_10_EXP__ 38
2883// TCE:#define __DBL_MAX_EXP__ 128
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002884// TCE:#define __DBL_MAX__ 3.40282347e+38
Chris Lattnere963d092009-10-29 04:55:36 +00002885// TCE:#define __DBL_MIN_10_EXP__ (-37)
2886// TCE:#define __DBL_MIN_EXP__ (-125)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002887// TCE:#define __DBL_MIN__ 1.17549435e-38
Chris Lattnere963d092009-10-29 04:55:36 +00002888// TCE:#define __DECIMAL_DIG__ -1
2889// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2890// TCE:#define __FLT_DIG__ 6
2891// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
2892// TCE:#define __FLT_EVAL_METHOD__ 0
2893// TCE:#define __FLT_HAS_DENORM__ 1
2894// TCE:#define __FLT_HAS_INFINITY__ 1
2895// TCE:#define __FLT_HAS_QUIET_NAN__ 1
2896// TCE:#define __FLT_MANT_DIG__ 24
2897// TCE:#define __FLT_MAX_10_EXP__ 38
2898// TCE:#define __FLT_MAX_EXP__ 128
2899// TCE:#define __FLT_MAX__ 3.40282347e+38F
2900// TCE:#define __FLT_MIN_10_EXP__ (-37)
2901// TCE:#define __FLT_MIN_EXP__ (-125)
2902// TCE:#define __FLT_MIN__ 1.17549435e-38F
2903// TCE:#define __FLT_RADIX__ 2
2904// TCE:#define __INT16_TYPE__ short
2905// TCE:#define __INT32_TYPE__ int
2906// TCE:#define __INT8_TYPE__ char
2907// TCE:#define __INTMAX_MAX__ 2147483647L
Ken Dyck9b25f782009-11-19 13:18:59 +00002908// TCE:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002909// TCE:#define __INTMAX_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002910// TCE:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002911// TCE:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002912// TCE:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002913// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45L
Chris Lattnere963d092009-10-29 04:55:36 +00002914// TCE:#define __LDBL_DIG__ 6
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002915// TCE:#define __LDBL_EPSILON__ 1.19209290e-7L
Chris Lattnere963d092009-10-29 04:55:36 +00002916// TCE:#define __LDBL_HAS_DENORM__ 1
2917// TCE:#define __LDBL_HAS_INFINITY__ 1
2918// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
2919// TCE:#define __LDBL_MANT_DIG__ 24
2920// TCE:#define __LDBL_MAX_10_EXP__ 38
2921// TCE:#define __LDBL_MAX_EXP__ 128
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002922// TCE:#define __LDBL_MAX__ 3.40282347e+38L
Chris Lattnere963d092009-10-29 04:55:36 +00002923// TCE:#define __LDBL_MIN_10_EXP__ (-37)
2924// TCE:#define __LDBL_MIN_EXP__ (-125)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002925// TCE:#define __LDBL_MIN__ 1.17549435e-38L
Chris Lattnere963d092009-10-29 04:55:36 +00002926// TCE:#define __LONG_LONG_MAX__ 2147483647LL
2927// TCE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002928// TCE-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00002929// TCE:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002930// TCE:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00002931// TCE:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002932// TCE:#define __SCHAR_MAX__ 127
2933// TCE:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002934// TCE:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002935// TCE:#define __SIZEOF_DOUBLE__ 4
2936// TCE:#define __SIZEOF_FLOAT__ 4
2937// TCE:#define __SIZEOF_INT__ 4
2938// TCE:#define __SIZEOF_LONG_DOUBLE__ 4
2939// TCE:#define __SIZEOF_LONG_LONG__ 4
2940// TCE:#define __SIZEOF_LONG__ 4
2941// TCE:#define __SIZEOF_POINTER__ 4
2942// TCE:#define __SIZEOF_PTRDIFF_T__ 4
2943// TCE:#define __SIZEOF_SHORT__ 2
2944// TCE:#define __SIZEOF_SIZE_T__ 4
2945// TCE:#define __SIZEOF_WCHAR_T__ 4
2946// TCE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002947// TCE:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00002948// TCE:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002949// TCE:#define __SIZE_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002950// TCE:#define __TCE_V1__ 1
2951// TCE:#define __TCE__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002952// TCE:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002953// TCE:#define __USER_LABEL_PREFIX__ _
2954// TCE:#define __WCHAR_MAX__ 2147483647
2955// TCE:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002956// TCE:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002957// TCE:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002958// TCE:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002959// TCE:#define __tce 1
2960// TCE:#define __tce__ 1
2961// TCE:#define tce 1
2962//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002963// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-none-none < /dev/null | FileCheck -check-prefix X86_64 %s
Chris Lattnere963d092009-10-29 04:55:36 +00002964//
2965// X86_64:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002966// X86_64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002967// X86_64:#define __CHAR16_TYPE__ unsigned short
2968// X86_64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002969// X86_64:#define __CHAR_BIT__ 8
2970// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2971// X86_64:#define __DBL_DIG__ 15
2972// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
2973// X86_64:#define __DBL_HAS_DENORM__ 1
2974// X86_64:#define __DBL_HAS_INFINITY__ 1
2975// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
2976// X86_64:#define __DBL_MANT_DIG__ 53
2977// X86_64:#define __DBL_MAX_10_EXP__ 308
2978// X86_64:#define __DBL_MAX_EXP__ 1024
2979// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
2980// X86_64:#define __DBL_MIN_10_EXP__ (-307)
2981// X86_64:#define __DBL_MIN_EXP__ (-1021)
2982// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
2983// X86_64:#define __DECIMAL_DIG__ 21
2984// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2985// X86_64:#define __FLT_DIG__ 6
2986// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
2987// X86_64:#define __FLT_EVAL_METHOD__ 0
2988// X86_64:#define __FLT_HAS_DENORM__ 1
2989// X86_64:#define __FLT_HAS_INFINITY__ 1
2990// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
2991// X86_64:#define __FLT_MANT_DIG__ 24
2992// X86_64:#define __FLT_MAX_10_EXP__ 38
2993// X86_64:#define __FLT_MAX_EXP__ 128
2994// X86_64:#define __FLT_MAX__ 3.40282347e+38F
2995// X86_64:#define __FLT_MIN_10_EXP__ (-37)
2996// X86_64:#define __FLT_MIN_EXP__ (-125)
2997// X86_64:#define __FLT_MIN__ 1.17549435e-38F
2998// X86_64:#define __FLT_RADIX__ 2
2999// X86_64:#define __INT16_TYPE__ short
3000// X86_64:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00003001// X86_64:#define __INT64_C_SUFFIX__ L
Chris Lattnere963d092009-10-29 04:55:36 +00003002// X86_64:#define __INT64_TYPE__ long int
3003// X86_64:#define __INT8_TYPE__ char
3004// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck9b25f782009-11-19 13:18:59 +00003005// X86_64:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00003006// X86_64:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00003007// X86_64:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00003008// X86_64:#define __INTPTR_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003009// X86_64:#define __INT_MAX__ 2147483647
3010// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3011// X86_64:#define __LDBL_DIG__ 18
3012// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3013// X86_64:#define __LDBL_HAS_DENORM__ 1
3014// X86_64:#define __LDBL_HAS_INFINITY__ 1
3015// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
3016// X86_64:#define __LDBL_MANT_DIG__ 64
3017// X86_64:#define __LDBL_MAX_10_EXP__ 4932
3018// X86_64:#define __LDBL_MAX_EXP__ 16384
3019// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3020// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
3021// X86_64:#define __LDBL_MIN_EXP__ (-16381)
3022// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3023// X86_64:#define __LITTLE_ENDIAN__ 1
3024// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
3025// X86_64:#define __LONG_MAX__ 9223372036854775807L
3026// X86_64:#define __LP64__ 1
3027// X86_64:#define __MMX__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00003028// X86_64:#define __NO_MATH_INLINES 1
3029// X86_64:#define __POINTER_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00003030// X86_64:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00003031// X86_64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003032// X86_64:#define __REGISTER_PREFIX__
3033// X86_64:#define __SCHAR_MAX__ 127
3034// X86_64:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00003035// X86_64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00003036// X86_64:#define __SIZEOF_DOUBLE__ 8
3037// X86_64:#define __SIZEOF_FLOAT__ 4
3038// X86_64:#define __SIZEOF_INT__ 4
3039// X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
3040// X86_64:#define __SIZEOF_LONG_LONG__ 8
3041// X86_64:#define __SIZEOF_LONG__ 8
3042// X86_64:#define __SIZEOF_POINTER__ 8
3043// X86_64:#define __SIZEOF_PTRDIFF_T__ 8
3044// X86_64:#define __SIZEOF_SHORT__ 2
3045// X86_64:#define __SIZEOF_SIZE_T__ 8
3046// X86_64:#define __SIZEOF_WCHAR_T__ 4
3047// X86_64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003048// X86_64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnere963d092009-10-29 04:55:36 +00003049// X86_64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00003050// X86_64:#define __SIZE_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003051// X86_64:#define __SSE2_MATH__ 1
3052// X86_64:#define __SSE2__ 1
3053// X86_64:#define __SSE_MATH__ 1
3054// X86_64:#define __SSE__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00003055// X86_64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003056// X86_64:#define __USER_LABEL_PREFIX__ _
3057// X86_64:#define __WCHAR_MAX__ 2147483647
3058// X86_64:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00003059// X86_64:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003060// X86_64:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00003061// X86_64:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003062// X86_64:#define __amd64 1
3063// X86_64:#define __amd64__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00003064// X86_64:#define __x86_64 1
3065// X86_64:#define __x86_64__ 1
3066//
Douglas Gregore6d6e512011-01-12 21:19:25 +00003067// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
3068//
3069// X86_64-LINUX:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003070// X86_64-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregore6d6e512011-01-12 21:19:25 +00003071// X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
3072// X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
3073// X86_64-LINUX:#define __CHAR_BIT__ 8
3074// X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3075// X86_64-LINUX:#define __DBL_DIG__ 15
3076// X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
3077// X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
3078// X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
3079// X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
3080// X86_64-LINUX:#define __DBL_MANT_DIG__ 53
3081// X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
3082// X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
3083// X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
3084// X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
3085// X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
3086// X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
3087// X86_64-LINUX:#define __DECIMAL_DIG__ 21
3088// X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3089// X86_64-LINUX:#define __FLT_DIG__ 6
3090// X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
3091// X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
3092// X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
3093// X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
3094// X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
3095// X86_64-LINUX:#define __FLT_MANT_DIG__ 24
3096// X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
3097// X86_64-LINUX:#define __FLT_MAX_EXP__ 128
3098// X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
3099// X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
3100// X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
3101// X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
3102// X86_64-LINUX:#define __FLT_RADIX__ 2
3103// X86_64-LINUX:#define __INT16_TYPE__ short
3104// X86_64-LINUX:#define __INT32_TYPE__ int
3105// X86_64-LINUX:#define __INT64_C_SUFFIX__ L
3106// X86_64-LINUX:#define __INT64_TYPE__ long int
3107// X86_64-LINUX:#define __INT8_TYPE__ char
3108// X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
3109// X86_64-LINUX:#define __INTMAX_TYPE__ long int
3110// X86_64-LINUX:#define __INTMAX_WIDTH__ 64
3111// X86_64-LINUX:#define __INTPTR_TYPE__ long int
3112// X86_64-LINUX:#define __INTPTR_WIDTH__ 64
3113// X86_64-LINUX:#define __INT_MAX__ 2147483647
3114// X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3115// X86_64-LINUX:#define __LDBL_DIG__ 18
3116// X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3117// X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
3118// X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
3119// X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
3120// X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
3121// X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
3122// X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
3123// X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3124// X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
3125// X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
3126// X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3127// X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
3128// X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
3129// X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
3130// X86_64-LINUX:#define __LP64__ 1
3131// X86_64-LINUX:#define __MMX__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00003132// X86_64-LINUX:#define __NO_MATH_INLINES 1
3133// X86_64-LINUX:#define __POINTER_WIDTH__ 64
3134// X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
3135// X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
3136// X86_64-LINUX:#define __REGISTER_PREFIX__
3137// X86_64-LINUX:#define __SCHAR_MAX__ 127
3138// X86_64-LINUX:#define __SHRT_MAX__ 32767
3139// X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
3140// X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
3141// X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
3142// X86_64-LINUX:#define __SIZEOF_INT__ 4
3143// X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
3144// X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
3145// X86_64-LINUX:#define __SIZEOF_LONG__ 8
3146// X86_64-LINUX:#define __SIZEOF_POINTER__ 8
3147// X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
3148// X86_64-LINUX:#define __SIZEOF_SHORT__ 2
3149// X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
3150// X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
3151// X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003152// X86_64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Douglas Gregore6d6e512011-01-12 21:19:25 +00003153// X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
3154// X86_64-LINUX:#define __SIZE_WIDTH__ 64
3155// X86_64-LINUX:#define __SSE2_MATH__ 1
3156// X86_64-LINUX:#define __SSE2__ 1
3157// X86_64-LINUX:#define __SSE_MATH__ 1
3158// X86_64-LINUX:#define __SSE__ 1
3159// X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
3160// X86_64-LINUX:#define __USER_LABEL_PREFIX__
3161// X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
3162// X86_64-LINUX:#define __WCHAR_TYPE__ int
3163// X86_64-LINUX:#define __WCHAR_WIDTH__ 32
3164// X86_64-LINUX:#define __WINT_TYPE__ unsigned int
3165// X86_64-LINUX:#define __WINT_WIDTH__ 32
3166// X86_64-LINUX:#define __amd64 1
3167// X86_64-LINUX:#define __amd64__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00003168// X86_64-LINUX:#define __x86_64 1
3169// X86_64-LINUX:#define __x86_64__ 1
3170//
Ed Schoutend0621462013-09-29 07:54:52 +00003171// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-unknown-freebsd9.1 < /dev/null | FileCheck -check-prefix X86_64-FREEBSD %s
3172//
3173// X86_64-FREEBSD:#define __FreeBSD__ 9
3174// X86_64-FREEBSD:#define __FreeBSD_cc_version 900001
3175// X86_64-FREEBSD:#define __STDC_MB_MIGHT_NEQ_WC__ 1
3176//
Joerg Sonnenberger0e921f22013-11-11 14:00:37 +00003177// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-netbsd < /dev/null | FileCheck -check-prefix X86_64-NETBSD %s
3178//
3179// X86_64-NETBSD:#define _LP64 1
3180// X86_64-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
3181// X86_64-NETBSD:#define __CHAR16_TYPE__ unsigned short
3182// X86_64-NETBSD:#define __CHAR32_TYPE__ unsigned int
3183// X86_64-NETBSD:#define __CHAR_BIT__ 8
3184// X86_64-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3185// X86_64-NETBSD:#define __DBL_DIG__ 15
3186// X86_64-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
3187// X86_64-NETBSD:#define __DBL_HAS_DENORM__ 1
3188// X86_64-NETBSD:#define __DBL_HAS_INFINITY__ 1
3189// X86_64-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
3190// X86_64-NETBSD:#define __DBL_MANT_DIG__ 53
3191// X86_64-NETBSD:#define __DBL_MAX_10_EXP__ 308
3192// X86_64-NETBSD:#define __DBL_MAX_EXP__ 1024
3193// X86_64-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
3194// X86_64-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
3195// X86_64-NETBSD:#define __DBL_MIN_EXP__ (-1021)
3196// X86_64-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
3197// X86_64-NETBSD:#define __DECIMAL_DIG__ 21
3198// X86_64-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3199// X86_64-NETBSD:#define __FLT_DIG__ 6
3200// X86_64-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
3201// X86_64-NETBSD:#define __FLT_EVAL_METHOD__ 0
3202// X86_64-NETBSD:#define __FLT_HAS_DENORM__ 1
3203// X86_64-NETBSD:#define __FLT_HAS_INFINITY__ 1
3204// X86_64-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
3205// X86_64-NETBSD:#define __FLT_MANT_DIG__ 24
3206// X86_64-NETBSD:#define __FLT_MAX_10_EXP__ 38
3207// X86_64-NETBSD:#define __FLT_MAX_EXP__ 128
3208// X86_64-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
3209// X86_64-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
3210// X86_64-NETBSD:#define __FLT_MIN_EXP__ (-125)
3211// X86_64-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
3212// X86_64-NETBSD:#define __FLT_RADIX__ 2
3213// X86_64-NETBSD:#define __INT16_TYPE__ short
3214// X86_64-NETBSD:#define __INT32_TYPE__ int
3215// X86_64-NETBSD:#define __INT64_C_SUFFIX__ L
3216// X86_64-NETBSD:#define __INT64_TYPE__ long int
3217// X86_64-NETBSD:#define __INT8_TYPE__ char
3218// X86_64-NETBSD:#define __INTMAX_MAX__ 9223372036854775807L
3219// X86_64-NETBSD:#define __INTMAX_TYPE__ long int
3220// X86_64-NETBSD:#define __INTMAX_WIDTH__ 64
3221// X86_64-NETBSD:#define __INTPTR_TYPE__ long int
3222// X86_64-NETBSD:#define __INTPTR_WIDTH__ 64
3223// X86_64-NETBSD:#define __INT_MAX__ 2147483647
3224// X86_64-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3225// X86_64-NETBSD:#define __LDBL_DIG__ 18
3226// X86_64-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3227// X86_64-NETBSD:#define __LDBL_HAS_DENORM__ 1
3228// X86_64-NETBSD:#define __LDBL_HAS_INFINITY__ 1
3229// X86_64-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
3230// X86_64-NETBSD:#define __LDBL_MANT_DIG__ 64
3231// X86_64-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
3232// X86_64-NETBSD:#define __LDBL_MAX_EXP__ 16384
3233// X86_64-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3234// X86_64-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
3235// X86_64-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
3236// X86_64-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3237// X86_64-NETBSD:#define __LITTLE_ENDIAN__ 1
3238// X86_64-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
3239// X86_64-NETBSD:#define __LONG_MAX__ 9223372036854775807L
3240// X86_64-NETBSD:#define __LP64__ 1
3241// X86_64-NETBSD:#define __MMX__ 1
3242// X86_64-NETBSD:#define __NO_MATH_INLINES 1
3243// X86_64-NETBSD:#define __POINTER_WIDTH__ 64
3244// X86_64-NETBSD:#define __PTRDIFF_TYPE__ long int
3245// X86_64-NETBSD:#define __PTRDIFF_WIDTH__ 64
3246// X86_64-NETBSD:#define __REGISTER_PREFIX__
3247// X86_64-NETBSD:#define __SCHAR_MAX__ 127
3248// X86_64-NETBSD:#define __SHRT_MAX__ 32767
3249// X86_64-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
3250// X86_64-NETBSD:#define __SIZEOF_DOUBLE__ 8
3251// X86_64-NETBSD:#define __SIZEOF_FLOAT__ 4
3252// X86_64-NETBSD:#define __SIZEOF_INT__ 4
3253// X86_64-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 16
3254// X86_64-NETBSD:#define __SIZEOF_LONG_LONG__ 8
3255// X86_64-NETBSD:#define __SIZEOF_LONG__ 8
3256// X86_64-NETBSD:#define __SIZEOF_POINTER__ 8
3257// X86_64-NETBSD:#define __SIZEOF_PTRDIFF_T__ 8
3258// X86_64-NETBSD:#define __SIZEOF_SHORT__ 2
3259// X86_64-NETBSD:#define __SIZEOF_SIZE_T__ 8
3260// X86_64-NETBSD:#define __SIZEOF_WCHAR_T__ 4
3261// X86_64-NETBSD:#define __SIZEOF_WINT_T__ 4
3262// X86_64-NETBSD:#define __SIZE_MAX__ 18446744073709551615UL
3263// X86_64-NETBSD:#define __SIZE_TYPE__ long unsigned int
3264// X86_64-NETBSD:#define __SIZE_WIDTH__ 64
3265// X86_64-NETBSD:#define __SSE2_MATH__ 1
3266// X86_64-NETBSD:#define __SSE2__ 1
3267// X86_64-NETBSD:#define __SSE_MATH__ 1
3268// X86_64-NETBSD:#define __SSE__ 1
3269// X86_64-NETBSD:#define __UINTMAX_TYPE__ long unsigned int
3270// X86_64-NETBSD:#define __USER_LABEL_PREFIX__
3271// X86_64-NETBSD:#define __WCHAR_MAX__ 2147483647
3272// X86_64-NETBSD:#define __WCHAR_TYPE__ int
3273// X86_64-NETBSD:#define __WCHAR_WIDTH__ 32
3274// X86_64-NETBSD:#define __WINT_TYPE__ int
3275// X86_64-NETBSD:#define __WINT_WIDTH__ 32
3276// X86_64-NETBSD:#define __amd64 1
3277// X86_64-NETBSD:#define __amd64__ 1
3278// X86_64-NETBSD:#define __x86_64 1
3279// X86_64-NETBSD:#define __x86_64__ 1
3280//
Jakob Stoklund Olesen248520b2013-05-15 03:22:33 +00003281// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-none < /dev/null | FileCheck -check-prefix SPARCV9 %s
Jakob Stoklund Olesen826df142013-05-19 17:53:37 +00003282// SPARCV9:#define __INT64_TYPE__ long int
Jakob Stoklund Olesen248520b2013-05-15 03:22:33 +00003283// SPARCV9:#define __INTMAX_TYPE__ long int
3284// SPARCV9:#define __INTPTR_TYPE__ long int
3285// SPARCV9:#define __LONG_MAX__ 9223372036854775807L
3286// SPARCV9:#define __LP64__ 1
3287// SPARCV9:#define __SIZEOF_LONG__ 8
3288// SPARCV9:#define __SIZEOF_POINTER__ 8
3289//
Jakob Stoklund Olesen826df142013-05-19 17:53:37 +00003290// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-openbsd < /dev/null | FileCheck -check-prefix SPARC64-OBSD %s
3291// SPARC64-OBSD:#define __INT64_TYPE__ long long int
3292// SPARC64-OBSD:#define __INTMAX_TYPE__ long long int
3293// SPARC64-OBSD:#define __UINTMAX_TYPE__ long long unsigned int
3294//
Sylvestre Ledrufd7cd3552013-09-06 14:53:07 +00003295// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSD-DEFINE %s
3296// KFREEBSD-DEFINE:#define __FreeBSD_kernel__ 1
3297// KFREEBSD-DEFINE:#define __GLIBC__ 1
3298//
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003299// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i686-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSDI686-DEFINE %s
3300// KFREEBSDI686-DEFINE:#define __FreeBSD_kernel__ 1
3301// KFREEBSDI686-DEFINE:#define __GLIBC__ 1
3302//
David Chisnallb601c962012-07-03 20:49:52 +00003303// RUN: %clang_cc1 -x c++ -triple i686-pc-linux-gnu -fobjc-runtime=gcc -E -dM < /dev/null | FileCheck -check-prefix GNUSOURCE %s
Douglas Gregord2b896a2010-04-16 06:31:05 +00003304// GNUSOURCE:#define _GNU_SOURCE 1
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003305//
Dan Gohman04f87202010-05-28 00:27:15 +00003306// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
3307// NORTTI: __GXX_ABI_VERSION
3308// NORTTI-NOT:#define __GXX_RTTI
3309// NORTTI: __STDC__
Evgeniy Stepanov94dc4c92012-04-26 12:08:09 +00003310//
3311// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
3312// ANDROID: __ANDROID__ 1
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003313//
Roman Divacky13b586f2013-07-03 19:45:54 +00003314// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd < /dev/null | FileCheck -check-prefix PPC64-FREEBSD %s
3315// PPC64-FREEBSD-NOT: #define __LONG_DOUBLE_128__ 1
Robert Lytton0e076492013-08-13 09:43:10 +00003316//
3317// RUN: %clang_cc1 -E -dM -ffreestanding -triple=xcore-none-none < /dev/null | FileCheck -check-prefix XCORE %s
3318// XCORE:#define __XS1B__ 1