blob: 8d776b3561ad444e5b586ef14fa23580429a4f48 [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 Atanasyan5a0642f2012-08-29 15:17:29 +0000871// MIPS32BE:#define _MIPS_ARCH "mips32"
872// MIPS32BE:#define _MIPS_ARCH_MIPS32 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 Atanasyan5a0642f2012-08-29 15:17:29 +0000990// MIPS32EL:#define _MIPS_ARCH "mips32"
991// MIPS32EL:#define _MIPS_ARCH_MIPS32 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 Atanasyan5a0642f2012-08-29 15:17:29 +00001106// MIPS64BE:#define _MIPS_ARCH "mips64"
1107// MIPS64BE:#define _MIPS_ARCH_MIPS64 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 Atanasyan5a0642f2012-08-29 15:17:29 +00001224// MIPS64EL:#define _MIPS_ARCH "mips64"
1225// MIPS64EL:#define _MIPS_ARCH_MIPS64 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 Atanasyan5e21c802012-04-06 17:51:49 +00001336// Check MIPS float ABI macros
1337//
1338// RUN: %clang_cc1 -E -dM -ffreestanding \
1339// RUN: -triple=mips-none-none < /dev/null \
1340// RUN: | FileCheck -check-prefix MIPS-FABI-HARD %s
1341// MIPS-FABI-HARD:#define __mips_hard_float 1
1342//
1343// RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \
1344// RUN: -triple=mips-none-none < /dev/null \
1345// RUN: | FileCheck -check-prefix MIPS-FABI-SOFT %s
1346// MIPS-FABI-SOFT:#define __mips_soft_float 1
1347//
1348// RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \
1349// RUN: -triple=mips-none-none < /dev/null \
1350// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE %s
Simon Atanasyand3d173d2012-06-05 13:06:56 +00001351// MIPS-FABI-SINGLE:#define __mips_hard_float 1
Simon Atanasyan5e21c802012-04-06 17:51:49 +00001352// MIPS-FABI-SINGLE:#define __mips_single_float 1
1353//
Simon Atanasyan16071912013-04-14 14:07:30 +00001354// RUN: %clang_cc1 -target-feature +soft-float -target-feature +single-float \
1355// RUN: -E -dM -ffreestanding -triple=mips-none-none < /dev/null \
1356// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE-SOFT %s
1357// MIPS-FABI-SINGLE-SOFT:#define __mips_single_float 1
1358// MIPS-FABI-SINGLE-SOFT:#define __mips_soft_float 1
1359//
Simon Atanasyan72244b62012-07-05 16:06:06 +00001360// Check MIPS features macros
1361//
1362// RUN: %clang_cc1 -target-feature +mips16 \
1363// RUN: -E -dM -triple=mips-none-none < /dev/null \
1364// RUN: | FileCheck -check-prefix MIPS16 %s
1365// MIPS16:#define __mips16 1
1366//
1367// RUN: %clang_cc1 -target-feature -mips16 \
1368// RUN: -E -dM -triple=mips-none-none < /dev/null \
1369// RUN: | FileCheck -check-prefix NOMIPS16 %s
1370// NOMIPS16-NOT:#define __mips16 1
1371//
Simon Atanasyan60777612013-04-14 14:07:51 +00001372// RUN: %clang_cc1 -target-feature +micromips \
1373// RUN: -E -dM -triple=mips-none-none < /dev/null \
1374// RUN: | FileCheck -check-prefix MICROMIPS %s
1375// MICROMIPS:#define __mips_micromips 1
1376//
1377// RUN: %clang_cc1 -target-feature -micromips \
1378// RUN: -E -dM -triple=mips-none-none < /dev/null \
1379// RUN: | FileCheck -check-prefix NOMICROMIPS %s
1380// NOMICROMIPS-NOT:#define __mips_micromips 1
1381//
Simon Atanasyan9780e4a2012-07-05 20:16:22 +00001382// RUN: %clang_cc1 -target-feature +dsp \
1383// RUN: -E -dM -triple=mips-none-none < /dev/null \
1384// RUN: | FileCheck -check-prefix MIPS-DSP %s
1385// MIPS-DSP:#define __mips_dsp 1
1386// MIPS-DSP:#define __mips_dsp_rev 1
1387// MIPS-DSP-NOT:#define __mips_dspr2 1
1388//
1389// RUN: %clang_cc1 -target-feature +dspr2 \
1390// RUN: -E -dM -triple=mips-none-none < /dev/null \
1391// RUN: | FileCheck -check-prefix MIPS-DSPR2 %s
1392// MIPS-DSPR2:#define __mips_dsp 1
1393// MIPS-DSPR2:#define __mips_dsp_rev 2
1394// MIPS-DSPR2:#define __mips_dspr2 1
1395//
Jack Carter44ff1e52013-08-12 17:20:29 +00001396// RUN: %clang_cc1 -target-feature +msa \
1397// RUN: -E -dM -triple=mips-none-none < /dev/null \
1398// RUN: | FileCheck -check-prefix MIPS-MSA %s
1399// MIPS-MSA:#define __mips_msa 1
1400//
Simon Atanasyan22127ce2013-09-24 09:09:16 +00001401// RUN: %clang_cc1 -target-feature +nan2008 \
1402// RUN: -E -dM -triple=mips-none-none < /dev/null \
1403// RUN: | FileCheck -check-prefix MIPS-NAN2008 %s
1404// MIPS-NAN2008:#define __mips_nan2008 1
1405//
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001406// RUN: %clang_cc1 -target-feature -fp64 \
1407// RUN: -E -dM -triple=mips-none-none < /dev/null \
1408// RUN: | FileCheck -check-prefix MIPS32-MFP32 %s
1409// MIPS32-MFP32:#define _MIPS_FPSET 16
1410// MIPS32-MFP32:#define __mips_fpr 32
1411//
1412// RUN: %clang_cc1 -target-feature +fp64 \
1413// RUN: -E -dM -triple=mips-none-none < /dev/null \
1414// RUN: | FileCheck -check-prefix MIPS32-MFP64 %s
1415// MIPS32-MFP64:#define _MIPS_FPSET 32
1416// MIPS32-MFP64:#define __mips_fpr 64
1417//
1418// RUN: %clang_cc1 -target-feature +single-float \
1419// RUN: -E -dM -triple=mips-none-none < /dev/null \
1420// RUN: | FileCheck -check-prefix MIPS32-MFP32SF %s
1421// MIPS32-MFP32SF:#define _MIPS_FPSET 32
1422// MIPS32-MFP32SF:#define __mips_fpr 32
1423//
1424// RUN: %clang_cc1 -target-feature +fp64 \
1425// RUN: -E -dM -triple=mips64-none-none < /dev/null \
1426// RUN: | FileCheck -check-prefix MIPS64-MFP64 %s
1427// MIPS64-MFP64:#define _MIPS_FPSET 32
1428// MIPS64-MFP64:#define __mips_fpr 64
1429//
1430// RUN: %clang_cc1 -target-feature -fp64 -target-feature +single-float \
1431// RUN: -E -dM -triple=mips64-none-none < /dev/null \
1432// RUN: | FileCheck -check-prefix MIPS64-NOMFP64 %s
1433// MIPS64-NOMFP64:#define _MIPS_FPSET 32
1434// MIPS64-NOMFP64:#define __mips_fpr 32
1435//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00001436// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
Chris Lattnere963d092009-10-29 04:55:36 +00001437//
1438// MSP430:#define MSP430 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001439// MSP430-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001440// MSP430:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00001441// MSP430:#define __CHAR16_TYPE__ unsigned short
1442// MSP430:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001443// MSP430:#define __CHAR_BIT__ 8
1444// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1445// MSP430:#define __DBL_DIG__ 15
1446// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
1447// MSP430:#define __DBL_HAS_DENORM__ 1
1448// MSP430:#define __DBL_HAS_INFINITY__ 1
1449// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
1450// MSP430:#define __DBL_MANT_DIG__ 53
1451// MSP430:#define __DBL_MAX_10_EXP__ 308
1452// MSP430:#define __DBL_MAX_EXP__ 1024
1453// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
1454// MSP430:#define __DBL_MIN_10_EXP__ (-307)
1455// MSP430:#define __DBL_MIN_EXP__ (-1021)
1456// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
1457// MSP430:#define __DECIMAL_DIG__ 17
1458// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1459// MSP430:#define __FLT_DIG__ 6
1460// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
1461// MSP430:#define __FLT_EVAL_METHOD__ 0
1462// MSP430:#define __FLT_HAS_DENORM__ 1
1463// MSP430:#define __FLT_HAS_INFINITY__ 1
1464// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
1465// MSP430:#define __FLT_MANT_DIG__ 24
1466// MSP430:#define __FLT_MAX_10_EXP__ 38
1467// MSP430:#define __FLT_MAX_EXP__ 128
1468// MSP430:#define __FLT_MAX__ 3.40282347e+38F
1469// MSP430:#define __FLT_MIN_10_EXP__ (-37)
1470// MSP430:#define __FLT_MIN_EXP__ (-125)
1471// MSP430:#define __FLT_MIN__ 1.17549435e-38F
1472// MSP430:#define __FLT_RADIX__ 2
1473// MSP430:#define __INT16_TYPE__ short
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00001474// MSP430:#define __INT32_C_SUFFIX__ L
Chris Lattner55c98772009-11-12 08:08:27 +00001475// MSP430:#define __INT32_TYPE__ long int
Chris Lattnere963d092009-10-29 04:55:36 +00001476// MSP430:#define __INT8_TYPE__ char
Anton Korobeynikovef412902013-07-01 19:42:40 +00001477// MSP430:#define __INTMAX_MAX__ 9223372036854775807LL
1478// MSP430:#define __INTMAX_TYPE__ long long int
1479// MSP430:#define __INTMAX_WIDTH__ 64
1480// MSP430:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00001481// MSP430:#define __INTPTR_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001482// MSP430:#define __INT_MAX__ 32767
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001483// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00001484// MSP430:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001485// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +00001486// MSP430:#define __LDBL_HAS_DENORM__ 1
1487// MSP430:#define __LDBL_HAS_INFINITY__ 1
1488// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
1489// MSP430:#define __LDBL_MANT_DIG__ 53
1490// MSP430:#define __LDBL_MAX_10_EXP__ 308
1491// MSP430:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001492// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +00001493// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
1494// MSP430:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001495// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikov485810e2010-01-14 21:36:52 +00001496// MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
Chris Lattnere963d092009-10-29 04:55:36 +00001497// MSP430:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001498// MSP430-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00001499// MSP430:#define __MSP430__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00001500// MSP430:#define __POINTER_WIDTH__ 16
Ken Dyck9b25f782009-11-19 13:18:59 +00001501// MSP430:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00001502// MSP430:#define __PTRDIFF_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001503// MSP430:#define __SCHAR_MAX__ 127
1504// MSP430:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00001505// MSP430:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00001506// MSP430:#define __SIZEOF_DOUBLE__ 8
1507// MSP430:#define __SIZEOF_FLOAT__ 4
1508// MSP430:#define __SIZEOF_INT__ 2
1509// MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
1510// MSP430:#define __SIZEOF_LONG_LONG__ 8
1511// MSP430:#define __SIZEOF_LONG__ 4
1512// MSP430:#define __SIZEOF_POINTER__ 2
1513// MSP430:#define __SIZEOF_PTRDIFF_T__ 2
1514// MSP430:#define __SIZEOF_SHORT__ 2
1515// MSP430:#define __SIZEOF_SIZE_T__ 2
1516// MSP430:#define __SIZEOF_WCHAR_T__ 2
1517// MSP430:#define __SIZEOF_WINT_T__ 2
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001518// MSP430:#define __SIZE_MAX__ 65535U
Chris Lattnere963d092009-10-29 04:55:36 +00001519// MSP430:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00001520// MSP430:#define __SIZE_WIDTH__ 16
Anton Korobeynikovef412902013-07-01 19:42:40 +00001521// MSP430:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001522// MSP430:#define __USER_LABEL_PREFIX__ _
Chris Lattner0fb5bbd2009-11-12 08:04:33 +00001523// MSP430:#define __WCHAR_MAX__ 32767
Chris Lattnere963d092009-10-29 04:55:36 +00001524// MSP430:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00001525// MSP430:#define __WCHAR_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001526// MSP430:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00001527// MSP430:#define __WINT_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001528// MSP430:#define __clang__ 1
1529//
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001530// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s
1531//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001532// NVPTX32-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001533// NVPTX32:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001534// NVPTX32:#define __CHAR16_TYPE__ unsigned short
1535// NVPTX32:#define __CHAR32_TYPE__ unsigned int
1536// NVPTX32:#define __CHAR_BIT__ 8
1537// NVPTX32:#define __CONSTANT_CFSTRINGS__ 1
1538// NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1539// NVPTX32:#define __DBL_DIG__ 15
1540// NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16
1541// NVPTX32:#define __DBL_HAS_DENORM__ 1
1542// NVPTX32:#define __DBL_HAS_INFINITY__ 1
1543// NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1
1544// NVPTX32:#define __DBL_MANT_DIG__ 53
1545// NVPTX32:#define __DBL_MAX_10_EXP__ 308
1546// NVPTX32:#define __DBL_MAX_EXP__ 1024
1547// NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308
1548// NVPTX32:#define __DBL_MIN_10_EXP__ (-307)
1549// NVPTX32:#define __DBL_MIN_EXP__ (-1021)
1550// NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308
1551// NVPTX32:#define __DECIMAL_DIG__ 17
1552// NVPTX32:#define __FINITE_MATH_ONLY__ 0
1553// NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1554// NVPTX32:#define __FLT_DIG__ 6
1555// NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F
1556// NVPTX32:#define __FLT_EVAL_METHOD__ 0
1557// NVPTX32:#define __FLT_HAS_DENORM__ 1
1558// NVPTX32:#define __FLT_HAS_INFINITY__ 1
1559// NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1
1560// NVPTX32:#define __FLT_MANT_DIG__ 24
1561// NVPTX32:#define __FLT_MAX_10_EXP__ 38
1562// NVPTX32:#define __FLT_MAX_EXP__ 128
1563// NVPTX32:#define __FLT_MAX__ 3.40282347e+38F
1564// NVPTX32:#define __FLT_MIN_10_EXP__ (-37)
1565// NVPTX32:#define __FLT_MIN_EXP__ (-125)
1566// NVPTX32:#define __FLT_MIN__ 1.17549435e-38F
1567// NVPTX32:#define __FLT_RADIX__ 2
1568// NVPTX32:#define __INT16_TYPE__ short
1569// NVPTX32:#define __INT32_TYPE__ int
1570// NVPTX32:#define __INT64_C_SUFFIX__ LL
1571// NVPTX32:#define __INT64_TYPE__ long long int
1572// NVPTX32:#define __INT8_TYPE__ char
1573// NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL
1574// NVPTX32:#define __INTMAX_TYPE__ long long int
1575// NVPTX32:#define __INTMAX_WIDTH__ 64
1576// NVPTX32:#define __INTPTR_TYPE__ unsigned int
1577// NVPTX32:#define __INTPTR_WIDTH__ 32
1578// NVPTX32:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001579// NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001580// NVPTX32:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001581// NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001582// NVPTX32:#define __LDBL_HAS_DENORM__ 1
1583// NVPTX32:#define __LDBL_HAS_INFINITY__ 1
1584// NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1
1585// NVPTX32:#define __LDBL_MANT_DIG__ 53
1586// NVPTX32:#define __LDBL_MAX_10_EXP__ 308
1587// NVPTX32:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001588// NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001589// NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
1590// NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001591// NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001592// NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL
1593// NVPTX32:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001594// NVPTX32-NOT:#define __LP64__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001595// NVPTX32:#define __NVPTX__ 1
1596// NVPTX32:#define __POINTER_WIDTH__ 32
1597// NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1
1598// NVPTX32:#define __PTRDIFF_TYPE__ unsigned int
1599// NVPTX32:#define __PTRDIFF_WIDTH__ 32
1600// NVPTX32:#define __PTX__ 1
1601// NVPTX32:#define __SCHAR_MAX__ 127
1602// NVPTX32:#define __SHRT_MAX__ 32767
1603// NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32
1604// NVPTX32:#define __SIZEOF_DOUBLE__ 8
1605// NVPTX32:#define __SIZEOF_FLOAT__ 4
1606// NVPTX32:#define __SIZEOF_INT__ 4
1607// NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8
1608// NVPTX32:#define __SIZEOF_LONG_LONG__ 8
1609// NVPTX32:#define __SIZEOF_LONG__ 8
1610// NVPTX32:#define __SIZEOF_POINTER__ 4
1611// NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4
1612// NVPTX32:#define __SIZEOF_SHORT__ 2
1613// NVPTX32:#define __SIZEOF_SIZE_T__ 4
1614// NVPTX32:#define __SIZEOF_WCHAR_T__ 4
1615// NVPTX32:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001616// NVPTX32:#define __SIZE_MAX__ 4294967295U
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001617// NVPTX32:#define __SIZE_TYPE__ unsigned int
1618// NVPTX32:#define __SIZE_WIDTH__ 32
1619// NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int
1620// NVPTX32:#define __USER_LABEL_PREFIX__ _
1621// NVPTX32:#define __WCHAR_MAX__ 2147483647
1622// NVPTX32:#define __WCHAR_TYPE__ int
1623// NVPTX32:#define __WCHAR_WIDTH__ 32
1624// NVPTX32:#define __WINT_TYPE__ int
1625// NVPTX32:#define __WINT_WIDTH__ 32
1626//
1627// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -check-prefix NVPTX64 %s
1628//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001629// NVPTX64:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001630// NVPTX64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001631// NVPTX64:#define __CHAR16_TYPE__ unsigned short
1632// NVPTX64:#define __CHAR32_TYPE__ unsigned int
1633// NVPTX64:#define __CHAR_BIT__ 8
1634// NVPTX64:#define __CONSTANT_CFSTRINGS__ 1
1635// NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1636// NVPTX64:#define __DBL_DIG__ 15
1637// NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1638// NVPTX64:#define __DBL_HAS_DENORM__ 1
1639// NVPTX64:#define __DBL_HAS_INFINITY__ 1
1640// NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1
1641// NVPTX64:#define __DBL_MANT_DIG__ 53
1642// NVPTX64:#define __DBL_MAX_10_EXP__ 308
1643// NVPTX64:#define __DBL_MAX_EXP__ 1024
1644// NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308
1645// NVPTX64:#define __DBL_MIN_10_EXP__ (-307)
1646// NVPTX64:#define __DBL_MIN_EXP__ (-1021)
1647// NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308
1648// NVPTX64:#define __DECIMAL_DIG__ 17
1649// NVPTX64:#define __FINITE_MATH_ONLY__ 0
1650// NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1651// NVPTX64:#define __FLT_DIG__ 6
1652// NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F
1653// NVPTX64:#define __FLT_EVAL_METHOD__ 0
1654// NVPTX64:#define __FLT_HAS_DENORM__ 1
1655// NVPTX64:#define __FLT_HAS_INFINITY__ 1
1656// NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1
1657// NVPTX64:#define __FLT_MANT_DIG__ 24
1658// NVPTX64:#define __FLT_MAX_10_EXP__ 38
1659// NVPTX64:#define __FLT_MAX_EXP__ 128
1660// NVPTX64:#define __FLT_MAX__ 3.40282347e+38F
1661// NVPTX64:#define __FLT_MIN_10_EXP__ (-37)
1662// NVPTX64:#define __FLT_MIN_EXP__ (-125)
1663// NVPTX64:#define __FLT_MIN__ 1.17549435e-38F
1664// NVPTX64:#define __FLT_RADIX__ 2
1665// NVPTX64:#define __INT16_TYPE__ short
1666// NVPTX64:#define __INT32_TYPE__ int
1667// NVPTX64:#define __INT64_C_SUFFIX__ LL
1668// NVPTX64:#define __INT64_TYPE__ long long int
1669// NVPTX64:#define __INT8_TYPE__ char
1670// NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL
1671// NVPTX64:#define __INTMAX_TYPE__ long long int
1672// NVPTX64:#define __INTMAX_WIDTH__ 64
1673// NVPTX64:#define __INTPTR_TYPE__ long long unsigned int
1674// NVPTX64:#define __INTPTR_WIDTH__ 64
1675// NVPTX64:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001676// NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001677// NVPTX64:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001678// NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001679// NVPTX64:#define __LDBL_HAS_DENORM__ 1
1680// NVPTX64:#define __LDBL_HAS_INFINITY__ 1
1681// NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1
1682// NVPTX64:#define __LDBL_MANT_DIG__ 53
1683// NVPTX64:#define __LDBL_MAX_10_EXP__ 308
1684// NVPTX64:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001685// NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001686// NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
1687// NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001688// NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001689// NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1690// NVPTX64:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001691// NVPTX64:#define __LP64__ 1
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001692// NVPTX64:#define __NVPTX__ 1
1693// NVPTX64:#define __POINTER_WIDTH__ 64
1694// NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1
1695// NVPTX64:#define __PTRDIFF_TYPE__ long long unsigned int
1696// NVPTX64:#define __PTRDIFF_WIDTH__ 64
1697// NVPTX64:#define __PTX__ 1
1698// NVPTX64:#define __SCHAR_MAX__ 127
1699// NVPTX64:#define __SHRT_MAX__ 32767
1700// NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32
1701// NVPTX64:#define __SIZEOF_DOUBLE__ 8
1702// NVPTX64:#define __SIZEOF_FLOAT__ 4
1703// NVPTX64:#define __SIZEOF_INT__ 4
1704// NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8
1705// NVPTX64:#define __SIZEOF_LONG_LONG__ 8
1706// NVPTX64:#define __SIZEOF_LONG__ 8
1707// NVPTX64:#define __SIZEOF_POINTER__ 8
1708// NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8
1709// NVPTX64:#define __SIZEOF_SHORT__ 2
1710// NVPTX64:#define __SIZEOF_SIZE_T__ 8
1711// NVPTX64:#define __SIZEOF_WCHAR_T__ 4
1712// NVPTX64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001713// NVPTX64:#define __SIZE_MAX__ 18446744073709551615UL
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001714// NVPTX64:#define __SIZE_TYPE__ long long unsigned int
1715// NVPTX64:#define __SIZE_WIDTH__ 64
1716// NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int
1717// NVPTX64:#define __USER_LABEL_PREFIX__ _
1718// NVPTX64:#define __WCHAR_MAX__ 2147483647
1719// NVPTX64:#define __WCHAR_TYPE__ int
1720// NVPTX64:#define __WCHAR_WIDTH__ 32
1721// NVPTX64:#define __WINT_TYPE__ int
1722// NVPTX64:#define __WINT_WIDTH__ 32
1723//
Hal Finkel6b984f02012-07-03 16:51:04 +00001724// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -check-prefix PPC603E %s
1725//
1726// PPC603E:#define _ARCH_603 1
1727// PPC603E:#define _ARCH_603E 1
1728// PPC603E:#define _ARCH_PPC 1
1729// PPC603E:#define _ARCH_PPCGR 1
1730// PPC603E:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001731// PPC603E-NOT:#define _LP64
Hal Finkel6b984f02012-07-03 16:51:04 +00001732// PPC603E:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001733// PPC603E:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Hal Finkel6b984f02012-07-03 16:51:04 +00001734// PPC603E:#define __CHAR16_TYPE__ unsigned short
1735// PPC603E:#define __CHAR32_TYPE__ unsigned int
1736// PPC603E:#define __CHAR_BIT__ 8
1737// PPC603E:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1738// PPC603E:#define __DBL_DIG__ 15
1739// PPC603E:#define __DBL_EPSILON__ 2.2204460492503131e-16
1740// PPC603E:#define __DBL_HAS_DENORM__ 1
1741// PPC603E:#define __DBL_HAS_INFINITY__ 1
1742// PPC603E:#define __DBL_HAS_QUIET_NAN__ 1
1743// PPC603E:#define __DBL_MANT_DIG__ 53
1744// PPC603E:#define __DBL_MAX_10_EXP__ 308
1745// PPC603E:#define __DBL_MAX_EXP__ 1024
1746// PPC603E:#define __DBL_MAX__ 1.7976931348623157e+308
1747// PPC603E:#define __DBL_MIN_10_EXP__ (-307)
1748// PPC603E:#define __DBL_MIN_EXP__ (-1021)
1749// PPC603E:#define __DBL_MIN__ 2.2250738585072014e-308
1750// PPC603E:#define __DECIMAL_DIG__ 33
1751// PPC603E:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1752// PPC603E:#define __FLT_DIG__ 6
1753// PPC603E:#define __FLT_EPSILON__ 1.19209290e-7F
1754// PPC603E:#define __FLT_EVAL_METHOD__ 0
1755// PPC603E:#define __FLT_HAS_DENORM__ 1
1756// PPC603E:#define __FLT_HAS_INFINITY__ 1
1757// PPC603E:#define __FLT_HAS_QUIET_NAN__ 1
1758// PPC603E:#define __FLT_MANT_DIG__ 24
1759// PPC603E:#define __FLT_MAX_10_EXP__ 38
1760// PPC603E:#define __FLT_MAX_EXP__ 128
1761// PPC603E:#define __FLT_MAX__ 3.40282347e+38F
1762// PPC603E:#define __FLT_MIN_10_EXP__ (-37)
1763// PPC603E:#define __FLT_MIN_EXP__ (-125)
1764// PPC603E:#define __FLT_MIN__ 1.17549435e-38F
1765// PPC603E:#define __FLT_RADIX__ 2
1766// PPC603E:#define __INT16_TYPE__ short
1767// PPC603E:#define __INT32_TYPE__ int
1768// PPC603E:#define __INT64_C_SUFFIX__ LL
1769// PPC603E:#define __INT64_TYPE__ long long int
1770// PPC603E:#define __INT8_TYPE__ char
1771// PPC603E:#define __INTMAX_MAX__ 9223372036854775807LL
1772// PPC603E:#define __INTMAX_TYPE__ long long int
1773// PPC603E:#define __INTMAX_WIDTH__ 64
1774// PPC603E:#define __INTPTR_TYPE__ long int
1775// PPC603E:#define __INTPTR_WIDTH__ 32
1776// PPC603E:#define __INT_MAX__ 2147483647
1777// PPC603E:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1778// PPC603E:#define __LDBL_DIG__ 31
1779// PPC603E:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1780// PPC603E:#define __LDBL_HAS_DENORM__ 1
1781// PPC603E:#define __LDBL_HAS_INFINITY__ 1
1782// PPC603E:#define __LDBL_HAS_QUIET_NAN__ 1
1783// PPC603E:#define __LDBL_MANT_DIG__ 106
1784// PPC603E:#define __LDBL_MAX_10_EXP__ 308
1785// PPC603E:#define __LDBL_MAX_EXP__ 1024
1786// PPC603E:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1787// PPC603E:#define __LDBL_MIN_10_EXP__ (-291)
1788// PPC603E:#define __LDBL_MIN_EXP__ (-968)
1789// PPC603E:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1790// PPC603E:#define __LONG_DOUBLE_128__ 1
1791// PPC603E:#define __LONG_LONG_MAX__ 9223372036854775807LL
1792// PPC603E:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001793// PPC603E-NOT:#define __LP64__
Hal Finkel6b984f02012-07-03 16:51:04 +00001794// PPC603E:#define __NATURAL_ALIGNMENT__ 1
Hal Finkel6b984f02012-07-03 16:51:04 +00001795// PPC603E:#define __POINTER_WIDTH__ 32
1796// PPC603E:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00001797// PPC603E:#define __PPC__ 1
Hal Finkel6b984f02012-07-03 16:51:04 +00001798// PPC603E:#define __PTRDIFF_TYPE__ long int
1799// PPC603E:#define __PTRDIFF_WIDTH__ 32
1800// PPC603E:#define __REGISTER_PREFIX__
1801// PPC603E:#define __SCHAR_MAX__ 127
1802// PPC603E:#define __SHRT_MAX__ 32767
1803// PPC603E:#define __SIG_ATOMIC_WIDTH__ 32
1804// PPC603E:#define __SIZEOF_DOUBLE__ 8
1805// PPC603E:#define __SIZEOF_FLOAT__ 4
1806// PPC603E:#define __SIZEOF_INT__ 4
1807// PPC603E:#define __SIZEOF_LONG_DOUBLE__ 16
1808// PPC603E:#define __SIZEOF_LONG_LONG__ 8
1809// PPC603E:#define __SIZEOF_LONG__ 4
1810// PPC603E:#define __SIZEOF_POINTER__ 4
1811// PPC603E:#define __SIZEOF_PTRDIFF_T__ 4
1812// PPC603E:#define __SIZEOF_SHORT__ 2
1813// PPC603E:#define __SIZEOF_SIZE_T__ 4
1814// PPC603E:#define __SIZEOF_WCHAR_T__ 4
1815// PPC603E:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001816// PPC603E:#define __SIZE_MAX__ 4294967295U
Hal Finkel6b984f02012-07-03 16:51:04 +00001817// PPC603E:#define __SIZE_TYPE__ long unsigned int
1818// PPC603E:#define __SIZE_WIDTH__ 32
1819// PPC603E:#define __UINTMAX_TYPE__ long long unsigned int
1820// PPC603E:#define __USER_LABEL_PREFIX__ _
1821// PPC603E:#define __WCHAR_MAX__ 2147483647
1822// PPC603E:#define __WCHAR_TYPE__ int
1823// PPC603E:#define __WCHAR_WIDTH__ 32
1824// PPC603E:#define __WINT_TYPE__ int
1825// PPC603E:#define __WINT_WIDTH__ 32
1826// PPC603E:#define __powerpc__ 1
1827// PPC603E:#define __ppc__ 1
1828//
Hal Finkel8eb59282012-06-11 22:35:19 +00001829// 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 +00001830//
1831// PPC64:#define _ARCH_PPC 1
1832// PPC64:#define _ARCH_PPC64 1
Hal Finkel6b984f02012-07-03 16:51:04 +00001833// PPC64:#define _ARCH_PPCGR 1
1834// PPC64:#define _ARCH_PPCSQ 1
1835// PPC64:#define _ARCH_PWR4 1
1836// PPC64:#define _ARCH_PWR5 1
1837// PPC64:#define _ARCH_PWR6 1
Hal Finkel8eb59282012-06-11 22:35:19 +00001838// PPC64:#define _ARCH_PWR7 1
Chris Lattnere963d092009-10-29 04:55:36 +00001839// PPC64:#define _BIG_ENDIAN 1
1840// PPC64:#define _LP64 1
1841// PPC64:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001842// PPC64:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00001843// PPC64:#define __CHAR16_TYPE__ unsigned short
1844// PPC64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001845// PPC64:#define __CHAR_BIT__ 8
1846// PPC64:#define __CHAR_UNSIGNED__ 1
1847// PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1848// PPC64:#define __DBL_DIG__ 15
1849// PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1850// PPC64:#define __DBL_HAS_DENORM__ 1
1851// PPC64:#define __DBL_HAS_INFINITY__ 1
1852// PPC64:#define __DBL_HAS_QUIET_NAN__ 1
1853// PPC64:#define __DBL_MANT_DIG__ 53
1854// PPC64:#define __DBL_MAX_10_EXP__ 308
1855// PPC64:#define __DBL_MAX_EXP__ 1024
1856// PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
1857// PPC64:#define __DBL_MIN_10_EXP__ (-307)
1858// PPC64:#define __DBL_MIN_EXP__ (-1021)
1859// PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber3435ede2012-01-31 02:07:33 +00001860// PPC64:#define __DECIMAL_DIG__ 33
Chris Lattnere963d092009-10-29 04:55:36 +00001861// PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1862// PPC64:#define __FLT_DIG__ 6
1863// PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
1864// PPC64:#define __FLT_EVAL_METHOD__ 0
1865// PPC64:#define __FLT_HAS_DENORM__ 1
1866// PPC64:#define __FLT_HAS_INFINITY__ 1
1867// PPC64:#define __FLT_HAS_QUIET_NAN__ 1
1868// PPC64:#define __FLT_MANT_DIG__ 24
1869// PPC64:#define __FLT_MAX_10_EXP__ 38
1870// PPC64:#define __FLT_MAX_EXP__ 128
1871// PPC64:#define __FLT_MAX__ 3.40282347e+38F
1872// PPC64:#define __FLT_MIN_10_EXP__ (-37)
1873// PPC64:#define __FLT_MIN_EXP__ (-125)
1874// PPC64:#define __FLT_MIN__ 1.17549435e-38F
1875// PPC64:#define __FLT_RADIX__ 2
1876// PPC64:#define __INT16_TYPE__ short
1877// PPC64:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00001878// PPC64:#define __INT64_C_SUFFIX__ L
Chris Lattnere963d092009-10-29 04:55:36 +00001879// PPC64:#define __INT64_TYPE__ long int
1880// PPC64:#define __INT8_TYPE__ char
1881// PPC64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck9b25f782009-11-19 13:18:59 +00001882// PPC64:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00001883// PPC64:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00001884// PPC64:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00001885// PPC64:#define __INTPTR_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00001886// PPC64:#define __INT_MAX__ 2147483647
Nico Weber3435ede2012-01-31 02:07:33 +00001887// PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1888// PPC64:#define __LDBL_DIG__ 31
1889// PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00001890// PPC64:#define __LDBL_HAS_DENORM__ 1
1891// PPC64:#define __LDBL_HAS_INFINITY__ 1
1892// PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00001893// PPC64:#define __LDBL_MANT_DIG__ 106
Chris Lattnere963d092009-10-29 04:55:36 +00001894// PPC64:#define __LDBL_MAX_10_EXP__ 308
1895// PPC64:#define __LDBL_MAX_EXP__ 1024
Nico Weber3435ede2012-01-31 02:07:33 +00001896// PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1897// PPC64:#define __LDBL_MIN_10_EXP__ (-291)
1898// PPC64:#define __LDBL_MIN_EXP__ (-968)
1899// PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnere963d092009-10-29 04:55:36 +00001900// PPC64:#define __LONG_DOUBLE_128__ 1
1901// PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1902// PPC64:#define __LONG_MAX__ 9223372036854775807L
1903// PPC64:#define __LP64__ 1
1904// PPC64:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00001905// PPC64:#define __POINTER_WIDTH__ 64
1906// PPC64:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00001907// PPC64:#define __PPC64__ 1
1908// PPC64:#define __PPC__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00001909// PPC64:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00001910// PPC64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00001911// PPC64:#define __REGISTER_PREFIX__
1912// PPC64:#define __SCHAR_MAX__ 127
1913// PPC64:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00001914// PPC64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00001915// PPC64:#define __SIZEOF_DOUBLE__ 8
1916// PPC64:#define __SIZEOF_FLOAT__ 4
1917// PPC64:#define __SIZEOF_INT__ 4
Nico Weber3435ede2012-01-31 02:07:33 +00001918// PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohman04f87202010-05-28 00:27:15 +00001919// PPC64:#define __SIZEOF_LONG_LONG__ 8
1920// PPC64:#define __SIZEOF_LONG__ 8
1921// PPC64:#define __SIZEOF_POINTER__ 8
1922// PPC64:#define __SIZEOF_PTRDIFF_T__ 8
1923// PPC64:#define __SIZEOF_SHORT__ 2
1924// PPC64:#define __SIZEOF_SIZE_T__ 8
1925// PPC64:#define __SIZEOF_WCHAR_T__ 4
1926// PPC64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001927// PPC64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnere963d092009-10-29 04:55:36 +00001928// PPC64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00001929// PPC64:#define __SIZE_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00001930// PPC64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001931// PPC64:#define __USER_LABEL_PREFIX__ _
1932// PPC64:#define __WCHAR_MAX__ 2147483647
1933// PPC64:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00001934// PPC64:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00001935// PPC64:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00001936// PPC64:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00001937// PPC64:#define __ppc64__ 1
1938// PPC64:#define __ppc__ 1
1939//
Bill Schmidt778d3872013-07-26 01:36:11 +00001940// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64LE %s
1941//
1942// PPC64LE:#define _ARCH_PPC 1
1943// PPC64LE:#define _ARCH_PPC64 1
1944// PPC64LE:#define _ARCH_PPCGR 1
1945// PPC64LE:#define _ARCH_PPCSQ 1
1946// PPC64LE:#define _ARCH_PWR4 1
1947// PPC64LE:#define _ARCH_PWR5 1
1948// PPC64LE:#define _ARCH_PWR5X 1
1949// PPC64LE:#define _ARCH_PWR6 1
1950// PPC64LE:#define _ARCH_PWR6X 1
1951// PPC64LE:#define _ARCH_PWR7 1
1952// PPC64LE:#define _LITTLE_ENDIAN 1
1953// PPC64LE:#define _LP64 1
1954// PPC64LE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1955// PPC64LE:#define __CHAR16_TYPE__ unsigned short
1956// PPC64LE:#define __CHAR32_TYPE__ unsigned int
1957// PPC64LE:#define __CHAR_BIT__ 8
1958// PPC64LE:#define __CHAR_UNSIGNED__ 1
1959// PPC64LE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1960// PPC64LE:#define __DBL_DIG__ 15
1961// PPC64LE:#define __DBL_EPSILON__ 2.2204460492503131e-16
1962// PPC64LE:#define __DBL_HAS_DENORM__ 1
1963// PPC64LE:#define __DBL_HAS_INFINITY__ 1
1964// PPC64LE:#define __DBL_HAS_QUIET_NAN__ 1
1965// PPC64LE:#define __DBL_MANT_DIG__ 53
1966// PPC64LE:#define __DBL_MAX_10_EXP__ 308
1967// PPC64LE:#define __DBL_MAX_EXP__ 1024
1968// PPC64LE:#define __DBL_MAX__ 1.7976931348623157e+308
1969// PPC64LE:#define __DBL_MIN_10_EXP__ (-307)
1970// PPC64LE:#define __DBL_MIN_EXP__ (-1021)
1971// PPC64LE:#define __DBL_MIN__ 2.2250738585072014e-308
1972// PPC64LE:#define __DECIMAL_DIG__ 33
1973// PPC64LE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1974// PPC64LE:#define __FLT_DIG__ 6
1975// PPC64LE:#define __FLT_EPSILON__ 1.19209290e-7F
1976// PPC64LE:#define __FLT_EVAL_METHOD__ 0
1977// PPC64LE:#define __FLT_HAS_DENORM__ 1
1978// PPC64LE:#define __FLT_HAS_INFINITY__ 1
1979// PPC64LE:#define __FLT_HAS_QUIET_NAN__ 1
1980// PPC64LE:#define __FLT_MANT_DIG__ 24
1981// PPC64LE:#define __FLT_MAX_10_EXP__ 38
1982// PPC64LE:#define __FLT_MAX_EXP__ 128
1983// PPC64LE:#define __FLT_MAX__ 3.40282347e+38F
1984// PPC64LE:#define __FLT_MIN_10_EXP__ (-37)
1985// PPC64LE:#define __FLT_MIN_EXP__ (-125)
1986// PPC64LE:#define __FLT_MIN__ 1.17549435e-38F
1987// PPC64LE:#define __FLT_RADIX__ 2
1988// PPC64LE:#define __INT16_TYPE__ short
1989// PPC64LE:#define __INT32_TYPE__ int
1990// PPC64LE:#define __INT64_C_SUFFIX__ L
1991// PPC64LE:#define __INT64_TYPE__ long int
1992// PPC64LE:#define __INT8_TYPE__ char
1993// PPC64LE:#define __INTMAX_MAX__ 9223372036854775807L
1994// PPC64LE:#define __INTMAX_TYPE__ long int
1995// PPC64LE:#define __INTMAX_WIDTH__ 64
1996// PPC64LE:#define __INTPTR_TYPE__ long int
1997// PPC64LE:#define __INTPTR_WIDTH__ 64
1998// PPC64LE:#define __INT_MAX__ 2147483647
1999// PPC64LE:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2000// PPC64LE:#define __LDBL_DIG__ 31
2001// PPC64LE:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2002// PPC64LE:#define __LDBL_HAS_DENORM__ 1
2003// PPC64LE:#define __LDBL_HAS_INFINITY__ 1
2004// PPC64LE:#define __LDBL_HAS_QUIET_NAN__ 1
2005// PPC64LE:#define __LDBL_MANT_DIG__ 106
2006// PPC64LE:#define __LDBL_MAX_10_EXP__ 308
2007// PPC64LE:#define __LDBL_MAX_EXP__ 1024
2008// PPC64LE:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2009// PPC64LE:#define __LDBL_MIN_10_EXP__ (-291)
2010// PPC64LE:#define __LDBL_MIN_EXP__ (-968)
2011// PPC64LE:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2012// PPC64LE:#define __LITTLE_ENDIAN__ 1
2013// PPC64LE:#define __LONG_DOUBLE_128__ 1
2014// PPC64LE:#define __LONG_LONG_MAX__ 9223372036854775807LL
2015// PPC64LE:#define __LONG_MAX__ 9223372036854775807L
2016// PPC64LE:#define __LP64__ 1
2017// PPC64LE:#define __NATURAL_ALIGNMENT__ 1
2018// PPC64LE:#define __POINTER_WIDTH__ 64
2019// PPC64LE:#define __POWERPC__ 1
2020// PPC64LE:#define __PPC64__ 1
2021// PPC64LE:#define __PPC__ 1
2022// PPC64LE:#define __PTRDIFF_TYPE__ long int
2023// PPC64LE:#define __PTRDIFF_WIDTH__ 64
2024// PPC64LE:#define __REGISTER_PREFIX__
2025// PPC64LE:#define __SCHAR_MAX__ 127
2026// PPC64LE:#define __SHRT_MAX__ 32767
2027// PPC64LE:#define __SIG_ATOMIC_WIDTH__ 32
2028// PPC64LE:#define __SIZEOF_DOUBLE__ 8
2029// PPC64LE:#define __SIZEOF_FLOAT__ 4
2030// PPC64LE:#define __SIZEOF_INT__ 4
2031// PPC64LE:#define __SIZEOF_LONG_DOUBLE__ 16
2032// PPC64LE:#define __SIZEOF_LONG_LONG__ 8
2033// PPC64LE:#define __SIZEOF_LONG__ 8
2034// PPC64LE:#define __SIZEOF_POINTER__ 8
2035// PPC64LE:#define __SIZEOF_PTRDIFF_T__ 8
2036// PPC64LE:#define __SIZEOF_SHORT__ 2
2037// PPC64LE:#define __SIZEOF_SIZE_T__ 8
2038// PPC64LE:#define __SIZEOF_WCHAR_T__ 4
2039// PPC64LE:#define __SIZEOF_WINT_T__ 4
2040// PPC64LE:#define __SIZE_MAX__ 18446744073709551615UL
2041// PPC64LE:#define __SIZE_TYPE__ long unsigned int
2042// PPC64LE:#define __SIZE_WIDTH__ 64
2043// PPC64LE:#define __UINTMAX_TYPE__ long unsigned int
2044// PPC64LE:#define __USER_LABEL_PREFIX__ _
2045// PPC64LE:#define __WCHAR_MAX__ 2147483647
2046// PPC64LE:#define __WCHAR_TYPE__ int
2047// PPC64LE:#define __WCHAR_WIDTH__ 32
2048// PPC64LE:#define __WINT_TYPE__ int
2049// PPC64LE:#define __WINT_WIDTH__ 32
2050// PPC64LE:#define __ppc64__ 1
2051// PPC64LE:#define __ppc__ 1
2052//
Hal Finkeldf1e4bf2013-02-01 05:53:33 +00002053// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu a2q -fno-signed-char < /dev/null | FileCheck -check-prefix PPCA2Q %s
2054//
2055// PPCA2Q:#define _ARCH_A2 1
2056// PPCA2Q:#define _ARCH_A2Q 1
2057// PPCA2Q:#define _ARCH_PPC 1
2058// PPCA2Q:#define _ARCH_PPC64 1
2059// PPCA2Q:#define _ARCH_QP 1
2060//
2061// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-bgq-linux -fno-signed-char < /dev/null | FileCheck -check-prefix PPCBGQ %s
2062//
2063// PPCBGQ:#define __THW_BLUEGENE__ 1
2064// PPCBGQ:#define __TOS_BGQ__ 1
2065// PPCBGQ:#define __bg__ 1
2066// PPCBGQ:#define __bgq__ 1
2067//
Bill Schmidt38378a02013-02-01 20:23:10 +00002068// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu 630 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC630 %s
2069//
2070// PPC630:#define _ARCH_630 1
2071// PPC630:#define _ARCH_PPC 1
2072// PPC630:#define _ARCH_PPC64 1
2073// PPC630:#define _ARCH_PPCGR 1
2074//
2075// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR3 %s
2076//
2077// PPCPWR3:#define _ARCH_PPC 1
2078// PPCPWR3:#define _ARCH_PPC64 1
2079// PPCPWR3:#define _ARCH_PPCGR 1
2080//
2081// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER3 %s
2082//
2083// PPCPOWER3:#define _ARCH_PPC 1
2084// PPCPOWER3:#define _ARCH_PPC64 1
2085// PPCPOWER3:#define _ARCH_PPCGR 1
2086//
2087// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR4 %s
2088//
2089// PPCPWR4:#define _ARCH_PPC 1
2090// PPCPWR4:#define _ARCH_PPC64 1
2091// PPCPWR4:#define _ARCH_PPCGR 1
2092// PPCPWR4:#define _ARCH_PPCSQ 1
2093// PPCPWR4:#define _ARCH_PWR4 1
2094//
2095// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER4 %s
2096//
2097// PPCPOWER4:#define _ARCH_PPC 1
2098// PPCPOWER4:#define _ARCH_PPC64 1
2099// PPCPOWER4:#define _ARCH_PPCGR 1
2100// PPCPOWER4:#define _ARCH_PPCSQ 1
2101// PPCPOWER4:#define _ARCH_PWR4 1
2102//
2103// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5 %s
2104//
2105// PPCPWR5:#define _ARCH_PPC 1
2106// PPCPWR5:#define _ARCH_PPC64 1
2107// PPCPWR5:#define _ARCH_PPCGR 1
2108// PPCPWR5:#define _ARCH_PPCSQ 1
2109// PPCPWR5:#define _ARCH_PWR4 1
2110// PPCPWR5:#define _ARCH_PWR5 1
2111//
2112// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5 %s
2113//
2114// PPCPOWER5:#define _ARCH_PPC 1
2115// PPCPOWER5:#define _ARCH_PPC64 1
2116// PPCPOWER5:#define _ARCH_PPCGR 1
2117// PPCPOWER5:#define _ARCH_PPCSQ 1
2118// PPCPOWER5:#define _ARCH_PWR4 1
2119// PPCPOWER5:#define _ARCH_PWR5 1
2120//
2121// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5X %s
2122//
2123// PPCPWR5X:#define _ARCH_PPC 1
2124// PPCPWR5X:#define _ARCH_PPC64 1
2125// PPCPWR5X:#define _ARCH_PPCGR 1
2126// PPCPWR5X:#define _ARCH_PPCSQ 1
2127// PPCPWR5X:#define _ARCH_PWR4 1
2128// PPCPWR5X:#define _ARCH_PWR5 1
2129// PPCPWR5X:#define _ARCH_PWR5X 1
2130//
2131// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5X %s
2132//
2133// PPCPOWER5X:#define _ARCH_PPC 1
2134// PPCPOWER5X:#define _ARCH_PPC64 1
2135// PPCPOWER5X:#define _ARCH_PPCGR 1
2136// PPCPOWER5X:#define _ARCH_PPCSQ 1
2137// PPCPOWER5X:#define _ARCH_PWR4 1
2138// PPCPOWER5X:#define _ARCH_PWR5 1
2139// PPCPOWER5X:#define _ARCH_PWR5X 1
2140//
2141// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6 %s
2142//
2143// PPCPWR6:#define _ARCH_PPC 1
2144// PPCPWR6:#define _ARCH_PPC64 1
2145// PPCPWR6:#define _ARCH_PPCGR 1
2146// PPCPWR6:#define _ARCH_PPCSQ 1
2147// PPCPWR6:#define _ARCH_PWR4 1
2148// PPCPWR6:#define _ARCH_PWR5 1
2149// PPCPWR6:#define _ARCH_PWR5X 1
2150// PPCPWR6:#define _ARCH_PWR6 1
2151//
2152// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6 %s
2153//
2154// PPCPOWER6:#define _ARCH_PPC 1
2155// PPCPOWER6:#define _ARCH_PPC64 1
2156// PPCPOWER6:#define _ARCH_PPCGR 1
2157// PPCPOWER6:#define _ARCH_PPCSQ 1
2158// PPCPOWER6:#define _ARCH_PWR4 1
2159// PPCPOWER6:#define _ARCH_PWR5 1
2160// PPCPOWER6:#define _ARCH_PWR5X 1
2161// PPCPOWER6:#define _ARCH_PWR6 1
2162//
2163// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6X %s
2164//
2165// PPCPWR6X:#define _ARCH_PPC 1
2166// PPCPWR6X:#define _ARCH_PPC64 1
2167// PPCPWR6X:#define _ARCH_PPCGR 1
2168// PPCPWR6X:#define _ARCH_PPCSQ 1
2169// PPCPWR6X:#define _ARCH_PWR4 1
2170// PPCPWR6X:#define _ARCH_PWR5 1
2171// PPCPWR6X:#define _ARCH_PWR5X 1
2172// PPCPWR6X:#define _ARCH_PWR6 1
2173// PPCPWR6X:#define _ARCH_PWR6X 1
2174//
2175// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6X %s
2176//
2177// PPCPOWER6X:#define _ARCH_PPC 1
2178// PPCPOWER6X:#define _ARCH_PPC64 1
2179// PPCPOWER6X:#define _ARCH_PPCGR 1
2180// PPCPOWER6X:#define _ARCH_PPCSQ 1
2181// PPCPOWER6X:#define _ARCH_PWR4 1
2182// PPCPOWER6X:#define _ARCH_PWR5 1
2183// PPCPOWER6X:#define _ARCH_PWR5X 1
2184// PPCPOWER6X:#define _ARCH_PWR6 1
2185// PPCPOWER6X:#define _ARCH_PWR6X 1
2186//
2187// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR7 %s
2188//
2189// PPCPWR7:#define _ARCH_PPC 1
2190// PPCPWR7:#define _ARCH_PPC64 1
2191// PPCPWR7:#define _ARCH_PPCGR 1
2192// PPCPWR7:#define _ARCH_PPCSQ 1
2193// PPCPWR7:#define _ARCH_PWR4 1
2194// PPCPWR7:#define _ARCH_PWR5 1
2195// PPCPWR7:#define _ARCH_PWR5X 1
2196// PPCPWR7:#define _ARCH_PWR6 1
2197// PPCPWR7:#define _ARCH_PWR6X 1
2198// PPCPWR7:#define _ARCH_PWR7 1
2199//
2200// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER7 %s
2201//
2202// PPCPOWER7:#define _ARCH_PPC 1
2203// PPCPOWER7:#define _ARCH_PPC64 1
2204// PPCPOWER7:#define _ARCH_PPCGR 1
2205// PPCPOWER7:#define _ARCH_PPCSQ 1
2206// PPCPOWER7:#define _ARCH_PWR4 1
2207// PPCPOWER7:#define _ARCH_PWR5 1
2208// PPCPOWER7:#define _ARCH_PWR5X 1
2209// PPCPOWER7:#define _ARCH_PWR6 1
2210// PPCPOWER7:#define _ARCH_PWR6X 1
2211// PPCPOWER7:#define _ARCH_PWR7 1
2212//
Nico Weber3435ede2012-01-31 02:07:33 +00002213// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
2214//
2215// PPC64-LINUX:#define _ARCH_PPC 1
2216// PPC64-LINUX:#define _ARCH_PPC64 1
2217// PPC64-LINUX:#define _BIG_ENDIAN 1
2218// PPC64-LINUX:#define _LP64 1
2219// PPC64-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002220// PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber3435ede2012-01-31 02:07:33 +00002221// PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
2222// PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
2223// PPC64-LINUX:#define __CHAR_BIT__ 8
2224// PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
2225// PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2226// PPC64-LINUX:#define __DBL_DIG__ 15
2227// PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2228// PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
2229// PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
2230// PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2231// PPC64-LINUX:#define __DBL_MANT_DIG__ 53
2232// PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
2233// PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
2234// PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2235// PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2236// PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2237// PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2238// PPC64-LINUX:#define __DECIMAL_DIG__ 33
2239// PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2240// PPC64-LINUX:#define __FLT_DIG__ 6
2241// PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2242// PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
2243// PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
2244// PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
2245// PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2246// PPC64-LINUX:#define __FLT_MANT_DIG__ 24
2247// PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
2248// PPC64-LINUX:#define __FLT_MAX_EXP__ 128
2249// PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2250// PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2251// PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
2252// PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2253// PPC64-LINUX:#define __FLT_RADIX__ 2
2254// PPC64-LINUX:#define __INT16_TYPE__ short
2255// PPC64-LINUX:#define __INT32_TYPE__ int
2256// PPC64-LINUX:#define __INT64_C_SUFFIX__ L
2257// PPC64-LINUX:#define __INT64_TYPE__ long int
2258// PPC64-LINUX:#define __INT8_TYPE__ char
2259// PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2260// PPC64-LINUX:#define __INTMAX_TYPE__ long int
2261// PPC64-LINUX:#define __INTMAX_WIDTH__ 64
2262// PPC64-LINUX:#define __INTPTR_TYPE__ long int
2263// PPC64-LINUX:#define __INTPTR_WIDTH__ 64
2264// PPC64-LINUX:#define __INT_MAX__ 2147483647
2265// PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2266// PPC64-LINUX:#define __LDBL_DIG__ 31
2267// PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2268// PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
2269// PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2270// PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2271// PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
2272// PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
2273// PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
2274// PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2275// PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2276// PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
2277// PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2278// PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
2279// PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2280// PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2281// PPC64-LINUX:#define __LP64__ 1
2282// PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002283// PPC64-LINUX:#define __POINTER_WIDTH__ 64
2284// PPC64-LINUX:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002285// PPC64-LINUX:#define __PPC64__ 1
2286// PPC64-LINUX:#define __PPC__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002287// PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
2288// PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
2289// PPC64-LINUX:#define __REGISTER_PREFIX__
2290// PPC64-LINUX:#define __SCHAR_MAX__ 127
2291// PPC64-LINUX:#define __SHRT_MAX__ 32767
2292// PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2293// PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
2294// PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
2295// PPC64-LINUX:#define __SIZEOF_INT__ 4
2296// PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2297// PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2298// PPC64-LINUX:#define __SIZEOF_LONG__ 8
2299// PPC64-LINUX:#define __SIZEOF_POINTER__ 8
2300// PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2301// PPC64-LINUX:#define __SIZEOF_SHORT__ 2
2302// PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
2303// PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2304// PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002305// PPC64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Nico Weber3435ede2012-01-31 02:07:33 +00002306// PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
2307// PPC64-LINUX:#define __SIZE_WIDTH__ 64
2308// PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2309// PPC64-LINUX:#define __USER_LABEL_PREFIX__
2310// PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
2311// PPC64-LINUX:#define __WCHAR_TYPE__ int
2312// PPC64-LINUX:#define __WCHAR_WIDTH__ 32
2313// PPC64-LINUX:#define __WINT_TYPE__ unsigned int
2314// PPC64-LINUX:#define __WINT_UNSIGNED__ 1
2315// PPC64-LINUX:#define __WINT_WIDTH__ 32
2316// PPC64-LINUX:#define __powerpc64__ 1
2317// PPC64-LINUX:#define __powerpc__ 1
2318// PPC64-LINUX:#define __ppc64__ 1
2319// PPC64-LINUX:#define __ppc__ 1
2320//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002321// 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 +00002322//
2323// PPC:#define _ARCH_PPC 1
2324// PPC:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002325// PPC-NOT:#define _LP64
Chris Lattnere963d092009-10-29 04:55:36 +00002326// PPC:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002327// PPC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002328// PPC:#define __CHAR16_TYPE__ unsigned short
2329// PPC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002330// PPC:#define __CHAR_BIT__ 8
2331// PPC:#define __CHAR_UNSIGNED__ 1
2332// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2333// PPC:#define __DBL_DIG__ 15
2334// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2335// PPC:#define __DBL_HAS_DENORM__ 1
2336// PPC:#define __DBL_HAS_INFINITY__ 1
2337// PPC:#define __DBL_HAS_QUIET_NAN__ 1
2338// PPC:#define __DBL_MANT_DIG__ 53
2339// PPC:#define __DBL_MAX_10_EXP__ 308
2340// PPC:#define __DBL_MAX_EXP__ 1024
2341// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
2342// PPC:#define __DBL_MIN_10_EXP__ (-307)
2343// PPC:#define __DBL_MIN_EXP__ (-1021)
2344// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber3435ede2012-01-31 02:07:33 +00002345// PPC:#define __DECIMAL_DIG__ 33
Chris Lattnere963d092009-10-29 04:55:36 +00002346// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2347// PPC:#define __FLT_DIG__ 6
2348// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
2349// PPC:#define __FLT_EVAL_METHOD__ 0
2350// PPC:#define __FLT_HAS_DENORM__ 1
2351// PPC:#define __FLT_HAS_INFINITY__ 1
2352// PPC:#define __FLT_HAS_QUIET_NAN__ 1
2353// PPC:#define __FLT_MANT_DIG__ 24
2354// PPC:#define __FLT_MAX_10_EXP__ 38
2355// PPC:#define __FLT_MAX_EXP__ 128
2356// PPC:#define __FLT_MAX__ 3.40282347e+38F
2357// PPC:#define __FLT_MIN_10_EXP__ (-37)
2358// PPC:#define __FLT_MIN_EXP__ (-125)
2359// PPC:#define __FLT_MIN__ 1.17549435e-38F
2360// PPC:#define __FLT_RADIX__ 2
2361// PPC:#define __INT16_TYPE__ short
2362// PPC:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002363// PPC:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00002364// PPC:#define __INT64_TYPE__ long long int
2365// PPC:#define __INT8_TYPE__ char
2366// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00002367// PPC:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002368// PPC:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002369// PPC:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002370// PPC:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002371// PPC:#define __INT_MAX__ 2147483647
Nico Weber3435ede2012-01-31 02:07:33 +00002372// PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2373// PPC:#define __LDBL_DIG__ 31
2374// PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002375// PPC:#define __LDBL_HAS_DENORM__ 1
2376// PPC:#define __LDBL_HAS_INFINITY__ 1
2377// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002378// PPC:#define __LDBL_MANT_DIG__ 106
Chris Lattnere963d092009-10-29 04:55:36 +00002379// PPC:#define __LDBL_MAX_10_EXP__ 308
2380// PPC:#define __LDBL_MAX_EXP__ 1024
Nico Weber3435ede2012-01-31 02:07:33 +00002381// PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2382// PPC:#define __LDBL_MIN_10_EXP__ (-291)
2383// PPC:#define __LDBL_MIN_EXP__ (-968)
2384// PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnere963d092009-10-29 04:55:36 +00002385// PPC:#define __LONG_DOUBLE_128__ 1
2386// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2387// PPC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002388// PPC-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00002389// PPC:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002390// PPC:#define __POINTER_WIDTH__ 32
2391// PPC:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002392// PPC:#define __PPC__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002393// PPC:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002394// PPC:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002395// PPC:#define __REGISTER_PREFIX__
2396// PPC:#define __SCHAR_MAX__ 127
2397// PPC:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002398// PPC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002399// PPC:#define __SIZEOF_DOUBLE__ 8
2400// PPC:#define __SIZEOF_FLOAT__ 4
2401// PPC:#define __SIZEOF_INT__ 4
Nico Weber3435ede2012-01-31 02:07:33 +00002402// PPC:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohman04f87202010-05-28 00:27:15 +00002403// PPC:#define __SIZEOF_LONG_LONG__ 8
2404// PPC:#define __SIZEOF_LONG__ 4
2405// PPC:#define __SIZEOF_POINTER__ 4
2406// PPC:#define __SIZEOF_PTRDIFF_T__ 4
2407// PPC:#define __SIZEOF_SHORT__ 2
2408// PPC:#define __SIZEOF_SIZE_T__ 4
2409// PPC:#define __SIZEOF_WCHAR_T__ 4
2410// PPC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002411// PPC:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00002412// PPC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002413// PPC:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002414// PPC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002415// PPC:#define __USER_LABEL_PREFIX__ _
2416// PPC:#define __WCHAR_MAX__ 2147483647
2417// PPC:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002418// PPC:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002419// PPC:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002420// PPC:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002421// PPC:#define __ppc__ 1
2422//
Nico Weber3435ede2012-01-31 02:07:33 +00002423// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
2424//
2425// PPC-LINUX:#define _ARCH_PPC 1
2426// PPC-LINUX:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002427// PPC-LINUX-NOT:#define _LP64
Nico Weber3435ede2012-01-31 02:07:33 +00002428// PPC-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002429// PPC-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber3435ede2012-01-31 02:07:33 +00002430// PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
2431// PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
2432// PPC-LINUX:#define __CHAR_BIT__ 8
2433// PPC-LINUX:#define __CHAR_UNSIGNED__ 1
2434// PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2435// PPC-LINUX:#define __DBL_DIG__ 15
2436// PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2437// PPC-LINUX:#define __DBL_HAS_DENORM__ 1
2438// PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
2439// PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2440// PPC-LINUX:#define __DBL_MANT_DIG__ 53
2441// PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
2442// PPC-LINUX:#define __DBL_MAX_EXP__ 1024
2443// PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2444// PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2445// PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
2446// PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2447// PPC-LINUX:#define __DECIMAL_DIG__ 33
2448// PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2449// PPC-LINUX:#define __FLT_DIG__ 6
2450// PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2451// PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
2452// PPC-LINUX:#define __FLT_HAS_DENORM__ 1
2453// PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
2454// PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2455// PPC-LINUX:#define __FLT_MANT_DIG__ 24
2456// PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
2457// PPC-LINUX:#define __FLT_MAX_EXP__ 128
2458// PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2459// PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2460// PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
2461// PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2462// PPC-LINUX:#define __FLT_RADIX__ 2
2463// PPC-LINUX:#define __INT16_TYPE__ short
2464// PPC-LINUX:#define __INT32_TYPE__ int
2465// PPC-LINUX:#define __INT64_C_SUFFIX__ LL
2466// PPC-LINUX:#define __INT64_TYPE__ long long int
2467// PPC-LINUX:#define __INT8_TYPE__ char
2468// PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
2469// PPC-LINUX:#define __INTMAX_TYPE__ long long int
2470// PPC-LINUX:#define __INTMAX_WIDTH__ 64
Hal Finkel26908382012-03-02 20:54:36 +00002471// PPC-LINUX:#define __INTPTR_TYPE__ int
Nico Weber3435ede2012-01-31 02:07:33 +00002472// PPC-LINUX:#define __INTPTR_WIDTH__ 32
2473// PPC-LINUX:#define __INT_MAX__ 2147483647
2474// PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2475// PPC-LINUX:#define __LDBL_DIG__ 31
2476// PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2477// PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
2478// PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
2479// PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2480// PPC-LINUX:#define __LDBL_MANT_DIG__ 106
2481// PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
2482// PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
2483// PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2484// PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2485// PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
2486// PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2487// PPC-LINUX:#define __LONG_DOUBLE_128__ 1
2488// PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2489// PPC-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002490// PPC-LINUX-NOT:#define __LP64__
Nico Weber3435ede2012-01-31 02:07:33 +00002491// PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002492// PPC-LINUX:#define __POINTER_WIDTH__ 32
2493// PPC-LINUX:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002494// PPC-LINUX:#define __PPC__ 1
Hal Finkel26908382012-03-02 20:54:36 +00002495// PPC-LINUX:#define __PTRDIFF_TYPE__ int
Nico Weber3435ede2012-01-31 02:07:33 +00002496// PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
2497// PPC-LINUX:#define __REGISTER_PREFIX__
2498// PPC-LINUX:#define __SCHAR_MAX__ 127
2499// PPC-LINUX:#define __SHRT_MAX__ 32767
2500// PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2501// PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
2502// PPC-LINUX:#define __SIZEOF_FLOAT__ 4
2503// PPC-LINUX:#define __SIZEOF_INT__ 4
2504// PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2505// PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
2506// PPC-LINUX:#define __SIZEOF_LONG__ 4
2507// PPC-LINUX:#define __SIZEOF_POINTER__ 4
2508// PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
2509// PPC-LINUX:#define __SIZEOF_SHORT__ 2
2510// PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
2511// PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
2512// PPC-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002513// PPC-LINUX:#define __SIZE_MAX__ 4294967295U
Nico Weber3435ede2012-01-31 02:07:33 +00002514// PPC-LINUX:#define __SIZE_TYPE__ unsigned int
2515// PPC-LINUX:#define __SIZE_WIDTH__ 32
2516// PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
2517// PPC-LINUX:#define __USER_LABEL_PREFIX__
2518// PPC-LINUX:#define __WCHAR_MAX__ 2147483647
2519// PPC-LINUX:#define __WCHAR_TYPE__ int
2520// PPC-LINUX:#define __WCHAR_WIDTH__ 32
2521// PPC-LINUX:#define __WINT_TYPE__ unsigned int
2522// PPC-LINUX:#define __WINT_UNSIGNED__ 1
2523// PPC-LINUX:#define __WINT_WIDTH__ 32
2524// PPC-LINUX:#define __powerpc__ 1
2525// PPC-LINUX:#define __ppc__ 1
2526//
David Fang072d47b2013-05-16 17:51:48 +00002527// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-apple-darwin8 < /dev/null | FileCheck -check-prefix PPC-DARWIN %s
2528//
2529// PPC-DARWIN:#define _ARCH_PPC 1
2530// PPC-DARWIN:#define _BIG_ENDIAN 1
2531// PPC-DARWIN:#define __BIG_ENDIAN__ 1
2532// PPC-DARWIN:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2533// PPC-DARWIN:#define __CHAR16_TYPE__ unsigned short
2534// PPC-DARWIN:#define __CHAR32_TYPE__ unsigned int
2535// PPC-DARWIN:#define __CHAR_BIT__ 8
2536// PPC-DARWIN:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2537// PPC-DARWIN:#define __DBL_DIG__ 15
2538// PPC-DARWIN:#define __DBL_EPSILON__ 2.2204460492503131e-16
2539// PPC-DARWIN:#define __DBL_HAS_DENORM__ 1
2540// PPC-DARWIN:#define __DBL_HAS_INFINITY__ 1
2541// PPC-DARWIN:#define __DBL_HAS_QUIET_NAN__ 1
2542// PPC-DARWIN:#define __DBL_MANT_DIG__ 53
2543// PPC-DARWIN:#define __DBL_MAX_10_EXP__ 308
2544// PPC-DARWIN:#define __DBL_MAX_EXP__ 1024
2545// PPC-DARWIN:#define __DBL_MAX__ 1.7976931348623157e+308
2546// PPC-DARWIN:#define __DBL_MIN_10_EXP__ (-307)
2547// PPC-DARWIN:#define __DBL_MIN_EXP__ (-1021)
2548// PPC-DARWIN:#define __DBL_MIN__ 2.2250738585072014e-308
2549// PPC-DARWIN:#define __DECIMAL_DIG__ 33
2550// PPC-DARWIN:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2551// PPC-DARWIN:#define __FLT_DIG__ 6
2552// PPC-DARWIN:#define __FLT_EPSILON__ 1.19209290e-7F
2553// PPC-DARWIN:#define __FLT_EVAL_METHOD__ 0
2554// PPC-DARWIN:#define __FLT_HAS_DENORM__ 1
2555// PPC-DARWIN:#define __FLT_HAS_INFINITY__ 1
2556// PPC-DARWIN:#define __FLT_HAS_QUIET_NAN__ 1
2557// PPC-DARWIN:#define __FLT_MANT_DIG__ 24
2558// PPC-DARWIN:#define __FLT_MAX_10_EXP__ 38
2559// PPC-DARWIN:#define __FLT_MAX_EXP__ 128
2560// PPC-DARWIN:#define __FLT_MAX__ 3.40282347e+38F
2561// PPC-DARWIN:#define __FLT_MIN_10_EXP__ (-37)
2562// PPC-DARWIN:#define __FLT_MIN_EXP__ (-125)
2563// PPC-DARWIN:#define __FLT_MIN__ 1.17549435e-38F
2564// PPC-DARWIN:#define __FLT_RADIX__ 2
2565// PPC-DARWIN:#define __INT16_TYPE__ short
2566// PPC-DARWIN:#define __INT32_TYPE__ int
2567// PPC-DARWIN:#define __INT64_C_SUFFIX__ LL
2568// PPC-DARWIN:#define __INT64_TYPE__ long long int
2569// PPC-DARWIN:#define __INT8_TYPE__ char
2570// PPC-DARWIN:#define __INTMAX_MAX__ 9223372036854775807LL
2571// PPC-DARWIN:#define __INTMAX_TYPE__ long long int
2572// PPC-DARWIN:#define __INTMAX_WIDTH__ 64
2573// PPC-DARWIN:#define __INTPTR_TYPE__ long int
2574// PPC-DARWIN:#define __INTPTR_WIDTH__ 32
2575// PPC-DARWIN:#define __INT_MAX__ 2147483647
2576// PPC-DARWIN:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2577// PPC-DARWIN:#define __LDBL_DIG__ 31
2578// PPC-DARWIN:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2579// PPC-DARWIN:#define __LDBL_HAS_DENORM__ 1
2580// PPC-DARWIN:#define __LDBL_HAS_INFINITY__ 1
2581// PPC-DARWIN:#define __LDBL_HAS_QUIET_NAN__ 1
2582// PPC-DARWIN:#define __LDBL_MANT_DIG__ 106
2583// PPC-DARWIN:#define __LDBL_MAX_10_EXP__ 308
2584// PPC-DARWIN:#define __LDBL_MAX_EXP__ 1024
2585// PPC-DARWIN:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2586// PPC-DARWIN:#define __LDBL_MIN_10_EXP__ (-291)
2587// PPC-DARWIN:#define __LDBL_MIN_EXP__ (-968)
2588// PPC-DARWIN:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2589// PPC-DARWIN:#define __LONG_DOUBLE_128__ 1
2590// PPC-DARWIN:#define __LONG_LONG_MAX__ 9223372036854775807LL
2591// PPC-DARWIN:#define __LONG_MAX__ 2147483647L
2592// PPC-DARWIN:#define __MACH__ 1
2593// PPC-DARWIN:#define __NATURAL_ALIGNMENT__ 1
2594// PPC-DARWIN:#define __ORDER_BIG_ENDIAN__ 4321
2595// PPC-DARWIN:#define __ORDER_LITTLE_ENDIAN__ 1234
2596// PPC-DARWIN:#define __ORDER_PDP_ENDIAN__ 3412
2597// PPC-DARWIN:#define __POINTER_WIDTH__ 32
2598// PPC-DARWIN:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002599// PPC-DARWIN:#define __PPC__ 1
David Fang072d47b2013-05-16 17:51:48 +00002600// PPC-DARWIN:#define __PTRDIFF_TYPE__ int
2601// PPC-DARWIN:#define __PTRDIFF_WIDTH__ 32
2602// PPC-DARWIN:#define __REGISTER_PREFIX__
2603// PPC-DARWIN:#define __SCHAR_MAX__ 127
2604// PPC-DARWIN:#define __SHRT_MAX__ 32767
2605// PPC-DARWIN:#define __SIG_ATOMIC_WIDTH__ 32
2606// PPC-DARWIN:#define __SIZEOF_DOUBLE__ 8
2607// PPC-DARWIN:#define __SIZEOF_FLOAT__ 4
2608// PPC-DARWIN:#define __SIZEOF_INT__ 4
2609// PPC-DARWIN:#define __SIZEOF_LONG_DOUBLE__ 16
2610// PPC-DARWIN:#define __SIZEOF_LONG_LONG__ 8
2611// PPC-DARWIN:#define __SIZEOF_LONG__ 4
2612// PPC-DARWIN:#define __SIZEOF_POINTER__ 4
2613// PPC-DARWIN:#define __SIZEOF_PTRDIFF_T__ 4
2614// PPC-DARWIN:#define __SIZEOF_SHORT__ 2
2615// PPC-DARWIN:#define __SIZEOF_SIZE_T__ 4
2616// PPC-DARWIN:#define __SIZEOF_WCHAR_T__ 4
2617// PPC-DARWIN:#define __SIZEOF_WINT_T__ 4
2618// PPC-DARWIN:#define __SIZE_MAX__ 4294967295UL
2619// PPC-DARWIN:#define __SIZE_TYPE__ long unsigned int
2620// PPC-DARWIN:#define __SIZE_WIDTH__ 32
2621// PPC-DARWIN:#define __STDC_HOSTED__ 0
2622// PPC-DARWIN:#define __STDC_VERSION__ 199901L
2623// PPC-DARWIN:#define __STDC__ 1
2624// PPC-DARWIN:#define __UINTMAX_TYPE__ long long unsigned int
2625// PPC-DARWIN:#define __USER_LABEL_PREFIX__ _
2626// PPC-DARWIN:#define __WCHAR_MAX__ 2147483647
2627// PPC-DARWIN:#define __WCHAR_TYPE__ int
2628// PPC-DARWIN:#define __WCHAR_WIDTH__ 32
2629// PPC-DARWIN:#define __WINT_TYPE__ int
2630// PPC-DARWIN:#define __WINT_WIDTH__ 32
2631// PPC-DARWIN:#define __powerpc__ 1
2632// PPC-DARWIN:#define __ppc__ 1
2633//
Ulrich Weigand47445072013-05-06 16:26:41 +00002634// RUN: %clang_cc1 -E -dM -ffreestanding -triple=s390x-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix S390X %s
2635//
2636// S390X:#define __CHAR16_TYPE__ unsigned short
2637// S390X:#define __CHAR32_TYPE__ unsigned int
2638// S390X:#define __CHAR_BIT__ 8
2639// S390X:#define __CHAR_UNSIGNED__ 1
2640// S390X:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2641// S390X:#define __DBL_DIG__ 15
2642// S390X:#define __DBL_EPSILON__ 2.2204460492503131e-16
2643// S390X:#define __DBL_HAS_DENORM__ 1
2644// S390X:#define __DBL_HAS_INFINITY__ 1
2645// S390X:#define __DBL_HAS_QUIET_NAN__ 1
2646// S390X:#define __DBL_MANT_DIG__ 53
2647// S390X:#define __DBL_MAX_10_EXP__ 308
2648// S390X:#define __DBL_MAX_EXP__ 1024
2649// S390X:#define __DBL_MAX__ 1.7976931348623157e+308
2650// S390X:#define __DBL_MIN_10_EXP__ (-307)
2651// S390X:#define __DBL_MIN_EXP__ (-1021)
2652// S390X:#define __DBL_MIN__ 2.2250738585072014e-308
2653// S390X:#define __DECIMAL_DIG__ 36
2654// S390X:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2655// S390X:#define __FLT_DIG__ 6
2656// S390X:#define __FLT_EPSILON__ 1.19209290e-7F
2657// S390X:#define __FLT_EVAL_METHOD__ 0
2658// S390X:#define __FLT_HAS_DENORM__ 1
2659// S390X:#define __FLT_HAS_INFINITY__ 1
2660// S390X:#define __FLT_HAS_QUIET_NAN__ 1
2661// S390X:#define __FLT_MANT_DIG__ 24
2662// S390X:#define __FLT_MAX_10_EXP__ 38
2663// S390X:#define __FLT_MAX_EXP__ 128
2664// S390X:#define __FLT_MAX__ 3.40282347e+38F
2665// S390X:#define __FLT_MIN_10_EXP__ (-37)
2666// S390X:#define __FLT_MIN_EXP__ (-125)
2667// S390X:#define __FLT_MIN__ 1.17549435e-38F
2668// S390X:#define __FLT_RADIX__ 2
2669// S390X:#define __INT16_TYPE__ short
2670// S390X:#define __INT32_TYPE__ int
2671// S390X:#define __INT64_C_SUFFIX__ L
2672// S390X:#define __INT64_TYPE__ long long int
2673// S390X:#define __INT8_TYPE__ char
2674// S390X:#define __INTMAX_MAX__ 9223372036854775807LL
2675// S390X:#define __INTMAX_TYPE__ long long int
2676// S390X:#define __INTMAX_WIDTH__ 64
2677// S390X:#define __INTPTR_TYPE__ long int
2678// S390X:#define __INTPTR_WIDTH__ 64
2679// S390X:#define __INT_MAX__ 2147483647
2680// S390X:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
2681// S390X:#define __LDBL_DIG__ 33
2682// S390X:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
2683// S390X:#define __LDBL_HAS_DENORM__ 1
2684// S390X:#define __LDBL_HAS_INFINITY__ 1
2685// S390X:#define __LDBL_HAS_QUIET_NAN__ 1
2686// S390X:#define __LDBL_MANT_DIG__ 113
2687// S390X:#define __LDBL_MAX_10_EXP__ 4932
2688// S390X:#define __LDBL_MAX_EXP__ 16384
2689// S390X:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
2690// S390X:#define __LDBL_MIN_10_EXP__ (-4931)
2691// S390X:#define __LDBL_MIN_EXP__ (-16381)
2692// S390X:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
2693// S390X:#define __LONG_LONG_MAX__ 9223372036854775807LL
2694// S390X:#define __LONG_MAX__ 9223372036854775807L
2695// S390X:#define __NO_INLINE__ 1
2696// S390X:#define __POINTER_WIDTH__ 64
2697// S390X:#define __PTRDIFF_TYPE__ long int
2698// S390X:#define __PTRDIFF_WIDTH__ 64
2699// S390X:#define __SCHAR_MAX__ 127
2700// S390X:#define __SHRT_MAX__ 32767
2701// S390X:#define __SIG_ATOMIC_WIDTH__ 32
2702// S390X:#define __SIZEOF_DOUBLE__ 8
2703// S390X:#define __SIZEOF_FLOAT__ 4
2704// S390X:#define __SIZEOF_INT__ 4
2705// S390X:#define __SIZEOF_LONG_DOUBLE__ 16
2706// S390X:#define __SIZEOF_LONG_LONG__ 8
2707// S390X:#define __SIZEOF_LONG__ 8
2708// S390X:#define __SIZEOF_POINTER__ 8
2709// S390X:#define __SIZEOF_PTRDIFF_T__ 8
2710// S390X:#define __SIZEOF_SHORT__ 2
2711// S390X:#define __SIZEOF_SIZE_T__ 8
2712// S390X:#define __SIZEOF_WCHAR_T__ 4
2713// S390X:#define __SIZEOF_WINT_T__ 4
2714// S390X:#define __SIZE_TYPE__ long unsigned int
2715// S390X:#define __SIZE_WIDTH__ 64
2716// S390X:#define __UINTMAX_TYPE__ long long unsigned int
2717// S390X:#define __USER_LABEL_PREFIX__ _
2718// S390X:#define __WCHAR_MAX__ 2147483647
2719// S390X:#define __WCHAR_TYPE__ int
2720// S390X:#define __WCHAR_WIDTH__ 32
2721// S390X:#define __WINT_TYPE__ int
2722// S390X:#define __WINT_WIDTH__ 32
2723// S390X:#define __s390__ 1
2724// S390X:#define __s390x__ 1
2725//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002726// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
Chris Lattnere963d092009-10-29 04:55:36 +00002727//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002728// SPARC-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002729// SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002730// SPARC:#define __CHAR16_TYPE__ unsigned short
2731// SPARC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002732// SPARC:#define __CHAR_BIT__ 8
2733// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2734// SPARC:#define __DBL_DIG__ 15
2735// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2736// SPARC:#define __DBL_HAS_DENORM__ 1
2737// SPARC:#define __DBL_HAS_INFINITY__ 1
2738// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
2739// SPARC:#define __DBL_MANT_DIG__ 53
2740// SPARC:#define __DBL_MAX_10_EXP__ 308
2741// SPARC:#define __DBL_MAX_EXP__ 1024
2742// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
2743// SPARC:#define __DBL_MIN_10_EXP__ (-307)
2744// SPARC:#define __DBL_MIN_EXP__ (-1021)
2745// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
2746// SPARC:#define __DECIMAL_DIG__ 17
2747// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2748// SPARC:#define __FLT_DIG__ 6
2749// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
2750// SPARC:#define __FLT_EVAL_METHOD__ 0
2751// SPARC:#define __FLT_HAS_DENORM__ 1
2752// SPARC:#define __FLT_HAS_INFINITY__ 1
2753// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
2754// SPARC:#define __FLT_MANT_DIG__ 24
2755// SPARC:#define __FLT_MAX_10_EXP__ 38
2756// SPARC:#define __FLT_MAX_EXP__ 128
2757// SPARC:#define __FLT_MAX__ 3.40282347e+38F
2758// SPARC:#define __FLT_MIN_10_EXP__ (-37)
2759// SPARC:#define __FLT_MIN_EXP__ (-125)
2760// SPARC:#define __FLT_MIN__ 1.17549435e-38F
2761// SPARC:#define __FLT_RADIX__ 2
2762// SPARC:#define __INT16_TYPE__ short
2763// SPARC:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002764// SPARC:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00002765// SPARC:#define __INT64_TYPE__ long long int
2766// SPARC:#define __INT8_TYPE__ char
2767// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00002768// SPARC:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002769// SPARC:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002770// SPARC:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002771// SPARC:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002772// SPARC:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002773// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002774// SPARC:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002775// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +00002776// SPARC:#define __LDBL_HAS_DENORM__ 1
2777// SPARC:#define __LDBL_HAS_INFINITY__ 1
2778// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
2779// SPARC:#define __LDBL_MANT_DIG__ 53
2780// SPARC:#define __LDBL_MAX_10_EXP__ 308
2781// SPARC:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002782// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +00002783// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
2784// SPARC:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002785// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnere963d092009-10-29 04:55:36 +00002786// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2787// SPARC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002788// SPARC-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00002789// SPARC:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002790// SPARC:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002791// SPARC:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbaracde99e2009-12-18 18:42:37 +00002792// SPARC:#define __REGISTER_PREFIX__
Chris Lattnere963d092009-10-29 04:55:36 +00002793// SPARC:#define __SCHAR_MAX__ 127
2794// SPARC:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002795// SPARC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002796// SPARC:#define __SIZEOF_DOUBLE__ 8
2797// SPARC:#define __SIZEOF_FLOAT__ 4
2798// SPARC:#define __SIZEOF_INT__ 4
2799// SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
2800// SPARC:#define __SIZEOF_LONG_LONG__ 8
2801// SPARC:#define __SIZEOF_LONG__ 4
2802// SPARC:#define __SIZEOF_POINTER__ 4
2803// SPARC:#define __SIZEOF_PTRDIFF_T__ 4
2804// SPARC:#define __SIZEOF_SHORT__ 2
2805// SPARC:#define __SIZEOF_SIZE_T__ 4
2806// SPARC:#define __SIZEOF_WCHAR_T__ 4
2807// SPARC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002808// SPARC:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00002809// SPARC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002810// SPARC:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002811// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002812// SPARC:#define __USER_LABEL_PREFIX__ _
Daniel Dunbar3b17a862011-03-31 00:53:51 +00002813// SPARC:#define __VERSION__ "4.2.1 Compatible
Chris Lattnere963d092009-10-29 04:55:36 +00002814// SPARC:#define __WCHAR_MAX__ 2147483647
2815// SPARC:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002816// SPARC:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002817// SPARC:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002818// SPARC:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002819// SPARC:#define __sparc 1
2820// SPARC:#define __sparc__ 1
2821// SPARC:#define __sparcv8 1
2822// SPARC:#define sparc 1
2823//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002824// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
Chris Lattnere963d092009-10-29 04:55:36 +00002825//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002826// TCE-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002827// TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002828// TCE:#define __CHAR16_TYPE__ unsigned short
2829// TCE:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002830// TCE:#define __CHAR_BIT__ 8
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002831// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45
Chris Lattnere963d092009-10-29 04:55:36 +00002832// TCE:#define __DBL_DIG__ 6
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002833// TCE:#define __DBL_EPSILON__ 1.19209290e-7
Chris Lattnere963d092009-10-29 04:55:36 +00002834// TCE:#define __DBL_HAS_DENORM__ 1
2835// TCE:#define __DBL_HAS_INFINITY__ 1
2836// TCE:#define __DBL_HAS_QUIET_NAN__ 1
2837// TCE:#define __DBL_MANT_DIG__ 24
2838// TCE:#define __DBL_MAX_10_EXP__ 38
2839// TCE:#define __DBL_MAX_EXP__ 128
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002840// TCE:#define __DBL_MAX__ 3.40282347e+38
Chris Lattnere963d092009-10-29 04:55:36 +00002841// TCE:#define __DBL_MIN_10_EXP__ (-37)
2842// TCE:#define __DBL_MIN_EXP__ (-125)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002843// TCE:#define __DBL_MIN__ 1.17549435e-38
Chris Lattnere963d092009-10-29 04:55:36 +00002844// TCE:#define __DECIMAL_DIG__ -1
2845// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2846// TCE:#define __FLT_DIG__ 6
2847// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
2848// TCE:#define __FLT_EVAL_METHOD__ 0
2849// TCE:#define __FLT_HAS_DENORM__ 1
2850// TCE:#define __FLT_HAS_INFINITY__ 1
2851// TCE:#define __FLT_HAS_QUIET_NAN__ 1
2852// TCE:#define __FLT_MANT_DIG__ 24
2853// TCE:#define __FLT_MAX_10_EXP__ 38
2854// TCE:#define __FLT_MAX_EXP__ 128
2855// TCE:#define __FLT_MAX__ 3.40282347e+38F
2856// TCE:#define __FLT_MIN_10_EXP__ (-37)
2857// TCE:#define __FLT_MIN_EXP__ (-125)
2858// TCE:#define __FLT_MIN__ 1.17549435e-38F
2859// TCE:#define __FLT_RADIX__ 2
2860// TCE:#define __INT16_TYPE__ short
2861// TCE:#define __INT32_TYPE__ int
2862// TCE:#define __INT8_TYPE__ char
2863// TCE:#define __INTMAX_MAX__ 2147483647L
Ken Dyck9b25f782009-11-19 13:18:59 +00002864// TCE:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002865// TCE:#define __INTMAX_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002866// TCE:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002867// TCE:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002868// TCE:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002869// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45L
Chris Lattnere963d092009-10-29 04:55:36 +00002870// TCE:#define __LDBL_DIG__ 6
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002871// TCE:#define __LDBL_EPSILON__ 1.19209290e-7L
Chris Lattnere963d092009-10-29 04:55:36 +00002872// TCE:#define __LDBL_HAS_DENORM__ 1
2873// TCE:#define __LDBL_HAS_INFINITY__ 1
2874// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
2875// TCE:#define __LDBL_MANT_DIG__ 24
2876// TCE:#define __LDBL_MAX_10_EXP__ 38
2877// TCE:#define __LDBL_MAX_EXP__ 128
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002878// TCE:#define __LDBL_MAX__ 3.40282347e+38L
Chris Lattnere963d092009-10-29 04:55:36 +00002879// TCE:#define __LDBL_MIN_10_EXP__ (-37)
2880// TCE:#define __LDBL_MIN_EXP__ (-125)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002881// TCE:#define __LDBL_MIN__ 1.17549435e-38L
Chris Lattnere963d092009-10-29 04:55:36 +00002882// TCE:#define __LONG_LONG_MAX__ 2147483647LL
2883// TCE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002884// TCE-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00002885// TCE:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002886// TCE:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00002887// TCE:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002888// TCE:#define __SCHAR_MAX__ 127
2889// TCE:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002890// TCE:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002891// TCE:#define __SIZEOF_DOUBLE__ 4
2892// TCE:#define __SIZEOF_FLOAT__ 4
2893// TCE:#define __SIZEOF_INT__ 4
2894// TCE:#define __SIZEOF_LONG_DOUBLE__ 4
2895// TCE:#define __SIZEOF_LONG_LONG__ 4
2896// TCE:#define __SIZEOF_LONG__ 4
2897// TCE:#define __SIZEOF_POINTER__ 4
2898// TCE:#define __SIZEOF_PTRDIFF_T__ 4
2899// TCE:#define __SIZEOF_SHORT__ 2
2900// TCE:#define __SIZEOF_SIZE_T__ 4
2901// TCE:#define __SIZEOF_WCHAR_T__ 4
2902// TCE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002903// TCE:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00002904// TCE:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002905// TCE:#define __SIZE_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002906// TCE:#define __TCE_V1__ 1
2907// TCE:#define __TCE__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002908// TCE:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002909// TCE:#define __USER_LABEL_PREFIX__ _
2910// TCE:#define __WCHAR_MAX__ 2147483647
2911// TCE:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002912// TCE:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002913// TCE:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002914// TCE:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002915// TCE:#define __tce 1
2916// TCE:#define __tce__ 1
2917// TCE:#define tce 1
2918//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002919// 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 +00002920//
2921// X86_64:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002922// X86_64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002923// X86_64:#define __CHAR16_TYPE__ unsigned short
2924// X86_64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002925// X86_64:#define __CHAR_BIT__ 8
2926// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2927// X86_64:#define __DBL_DIG__ 15
2928// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
2929// X86_64:#define __DBL_HAS_DENORM__ 1
2930// X86_64:#define __DBL_HAS_INFINITY__ 1
2931// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
2932// X86_64:#define __DBL_MANT_DIG__ 53
2933// X86_64:#define __DBL_MAX_10_EXP__ 308
2934// X86_64:#define __DBL_MAX_EXP__ 1024
2935// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
2936// X86_64:#define __DBL_MIN_10_EXP__ (-307)
2937// X86_64:#define __DBL_MIN_EXP__ (-1021)
2938// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
2939// X86_64:#define __DECIMAL_DIG__ 21
2940// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2941// X86_64:#define __FLT_DIG__ 6
2942// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
2943// X86_64:#define __FLT_EVAL_METHOD__ 0
2944// X86_64:#define __FLT_HAS_DENORM__ 1
2945// X86_64:#define __FLT_HAS_INFINITY__ 1
2946// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
2947// X86_64:#define __FLT_MANT_DIG__ 24
2948// X86_64:#define __FLT_MAX_10_EXP__ 38
2949// X86_64:#define __FLT_MAX_EXP__ 128
2950// X86_64:#define __FLT_MAX__ 3.40282347e+38F
2951// X86_64:#define __FLT_MIN_10_EXP__ (-37)
2952// X86_64:#define __FLT_MIN_EXP__ (-125)
2953// X86_64:#define __FLT_MIN__ 1.17549435e-38F
2954// X86_64:#define __FLT_RADIX__ 2
2955// X86_64:#define __INT16_TYPE__ short
2956// X86_64:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002957// X86_64:#define __INT64_C_SUFFIX__ L
Chris Lattnere963d092009-10-29 04:55:36 +00002958// X86_64:#define __INT64_TYPE__ long int
2959// X86_64:#define __INT8_TYPE__ char
2960// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck9b25f782009-11-19 13:18:59 +00002961// X86_64:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002962// X86_64:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002963// X86_64:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002964// X86_64:#define __INTPTR_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00002965// X86_64:#define __INT_MAX__ 2147483647
2966// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
2967// X86_64:#define __LDBL_DIG__ 18
2968// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
2969// X86_64:#define __LDBL_HAS_DENORM__ 1
2970// X86_64:#define __LDBL_HAS_INFINITY__ 1
2971// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
2972// X86_64:#define __LDBL_MANT_DIG__ 64
2973// X86_64:#define __LDBL_MAX_10_EXP__ 4932
2974// X86_64:#define __LDBL_MAX_EXP__ 16384
2975// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
2976// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
2977// X86_64:#define __LDBL_MIN_EXP__ (-16381)
2978// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
2979// X86_64:#define __LITTLE_ENDIAN__ 1
2980// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
2981// X86_64:#define __LONG_MAX__ 9223372036854775807L
2982// X86_64:#define __LP64__ 1
2983// X86_64:#define __MMX__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002984// X86_64:#define __NO_MATH_INLINES 1
2985// X86_64:#define __POINTER_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002986// X86_64:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002987// X86_64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00002988// X86_64:#define __REGISTER_PREFIX__
2989// X86_64:#define __SCHAR_MAX__ 127
2990// X86_64:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002991// X86_64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002992// X86_64:#define __SIZEOF_DOUBLE__ 8
2993// X86_64:#define __SIZEOF_FLOAT__ 4
2994// X86_64:#define __SIZEOF_INT__ 4
2995// X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
2996// X86_64:#define __SIZEOF_LONG_LONG__ 8
2997// X86_64:#define __SIZEOF_LONG__ 8
2998// X86_64:#define __SIZEOF_POINTER__ 8
2999// X86_64:#define __SIZEOF_PTRDIFF_T__ 8
3000// X86_64:#define __SIZEOF_SHORT__ 2
3001// X86_64:#define __SIZEOF_SIZE_T__ 8
3002// X86_64:#define __SIZEOF_WCHAR_T__ 4
3003// X86_64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003004// X86_64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnere963d092009-10-29 04:55:36 +00003005// X86_64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00003006// X86_64:#define __SIZE_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003007// X86_64:#define __SSE2_MATH__ 1
3008// X86_64:#define __SSE2__ 1
3009// X86_64:#define __SSE_MATH__ 1
3010// X86_64:#define __SSE__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00003011// X86_64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003012// X86_64:#define __USER_LABEL_PREFIX__ _
3013// X86_64:#define __WCHAR_MAX__ 2147483647
3014// X86_64:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00003015// X86_64:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003016// X86_64:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00003017// X86_64:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003018// X86_64:#define __amd64 1
3019// X86_64:#define __amd64__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00003020// X86_64:#define __x86_64 1
3021// X86_64:#define __x86_64__ 1
3022//
Douglas Gregore6d6e512011-01-12 21:19:25 +00003023// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
3024//
3025// X86_64-LINUX:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003026// X86_64-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregore6d6e512011-01-12 21:19:25 +00003027// X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
3028// X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
3029// X86_64-LINUX:#define __CHAR_BIT__ 8
3030// X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3031// X86_64-LINUX:#define __DBL_DIG__ 15
3032// X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
3033// X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
3034// X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
3035// X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
3036// X86_64-LINUX:#define __DBL_MANT_DIG__ 53
3037// X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
3038// X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
3039// X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
3040// X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
3041// X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
3042// X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
3043// X86_64-LINUX:#define __DECIMAL_DIG__ 21
3044// X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3045// X86_64-LINUX:#define __FLT_DIG__ 6
3046// X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
3047// X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
3048// X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
3049// X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
3050// X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
3051// X86_64-LINUX:#define __FLT_MANT_DIG__ 24
3052// X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
3053// X86_64-LINUX:#define __FLT_MAX_EXP__ 128
3054// X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
3055// X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
3056// X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
3057// X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
3058// X86_64-LINUX:#define __FLT_RADIX__ 2
3059// X86_64-LINUX:#define __INT16_TYPE__ short
3060// X86_64-LINUX:#define __INT32_TYPE__ int
3061// X86_64-LINUX:#define __INT64_C_SUFFIX__ L
3062// X86_64-LINUX:#define __INT64_TYPE__ long int
3063// X86_64-LINUX:#define __INT8_TYPE__ char
3064// X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
3065// X86_64-LINUX:#define __INTMAX_TYPE__ long int
3066// X86_64-LINUX:#define __INTMAX_WIDTH__ 64
3067// X86_64-LINUX:#define __INTPTR_TYPE__ long int
3068// X86_64-LINUX:#define __INTPTR_WIDTH__ 64
3069// X86_64-LINUX:#define __INT_MAX__ 2147483647
3070// X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3071// X86_64-LINUX:#define __LDBL_DIG__ 18
3072// X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3073// X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
3074// X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
3075// X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
3076// X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
3077// X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
3078// X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
3079// X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3080// X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
3081// X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
3082// X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3083// X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
3084// X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
3085// X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
3086// X86_64-LINUX:#define __LP64__ 1
3087// X86_64-LINUX:#define __MMX__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00003088// X86_64-LINUX:#define __NO_MATH_INLINES 1
3089// X86_64-LINUX:#define __POINTER_WIDTH__ 64
3090// X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
3091// X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
3092// X86_64-LINUX:#define __REGISTER_PREFIX__
3093// X86_64-LINUX:#define __SCHAR_MAX__ 127
3094// X86_64-LINUX:#define __SHRT_MAX__ 32767
3095// X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
3096// X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
3097// X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
3098// X86_64-LINUX:#define __SIZEOF_INT__ 4
3099// X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
3100// X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
3101// X86_64-LINUX:#define __SIZEOF_LONG__ 8
3102// X86_64-LINUX:#define __SIZEOF_POINTER__ 8
3103// X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
3104// X86_64-LINUX:#define __SIZEOF_SHORT__ 2
3105// X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
3106// X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
3107// X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003108// X86_64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Douglas Gregore6d6e512011-01-12 21:19:25 +00003109// X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
3110// X86_64-LINUX:#define __SIZE_WIDTH__ 64
3111// X86_64-LINUX:#define __SSE2_MATH__ 1
3112// X86_64-LINUX:#define __SSE2__ 1
3113// X86_64-LINUX:#define __SSE_MATH__ 1
3114// X86_64-LINUX:#define __SSE__ 1
3115// X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
3116// X86_64-LINUX:#define __USER_LABEL_PREFIX__
3117// X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
3118// X86_64-LINUX:#define __WCHAR_TYPE__ int
3119// X86_64-LINUX:#define __WCHAR_WIDTH__ 32
3120// X86_64-LINUX:#define __WINT_TYPE__ unsigned int
3121// X86_64-LINUX:#define __WINT_WIDTH__ 32
3122// X86_64-LINUX:#define __amd64 1
3123// X86_64-LINUX:#define __amd64__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00003124// X86_64-LINUX:#define __x86_64 1
3125// X86_64-LINUX:#define __x86_64__ 1
3126//
Ed Schoutend0621462013-09-29 07:54:52 +00003127// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-unknown-freebsd9.1 < /dev/null | FileCheck -check-prefix X86_64-FREEBSD %s
3128//
3129// X86_64-FREEBSD:#define __FreeBSD__ 9
3130// X86_64-FREEBSD:#define __FreeBSD_cc_version 900001
3131// X86_64-FREEBSD:#define __STDC_MB_MIGHT_NEQ_WC__ 1
3132//
Joerg Sonnenberger0e921f22013-11-11 14:00:37 +00003133// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-netbsd < /dev/null | FileCheck -check-prefix X86_64-NETBSD %s
3134//
3135// X86_64-NETBSD:#define _LP64 1
3136// X86_64-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
3137// X86_64-NETBSD:#define __CHAR16_TYPE__ unsigned short
3138// X86_64-NETBSD:#define __CHAR32_TYPE__ unsigned int
3139// X86_64-NETBSD:#define __CHAR_BIT__ 8
3140// X86_64-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3141// X86_64-NETBSD:#define __DBL_DIG__ 15
3142// X86_64-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
3143// X86_64-NETBSD:#define __DBL_HAS_DENORM__ 1
3144// X86_64-NETBSD:#define __DBL_HAS_INFINITY__ 1
3145// X86_64-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
3146// X86_64-NETBSD:#define __DBL_MANT_DIG__ 53
3147// X86_64-NETBSD:#define __DBL_MAX_10_EXP__ 308
3148// X86_64-NETBSD:#define __DBL_MAX_EXP__ 1024
3149// X86_64-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
3150// X86_64-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
3151// X86_64-NETBSD:#define __DBL_MIN_EXP__ (-1021)
3152// X86_64-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
3153// X86_64-NETBSD:#define __DECIMAL_DIG__ 21
3154// X86_64-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3155// X86_64-NETBSD:#define __FLT_DIG__ 6
3156// X86_64-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
3157// X86_64-NETBSD:#define __FLT_EVAL_METHOD__ 0
3158// X86_64-NETBSD:#define __FLT_HAS_DENORM__ 1
3159// X86_64-NETBSD:#define __FLT_HAS_INFINITY__ 1
3160// X86_64-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
3161// X86_64-NETBSD:#define __FLT_MANT_DIG__ 24
3162// X86_64-NETBSD:#define __FLT_MAX_10_EXP__ 38
3163// X86_64-NETBSD:#define __FLT_MAX_EXP__ 128
3164// X86_64-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
3165// X86_64-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
3166// X86_64-NETBSD:#define __FLT_MIN_EXP__ (-125)
3167// X86_64-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
3168// X86_64-NETBSD:#define __FLT_RADIX__ 2
3169// X86_64-NETBSD:#define __INT16_TYPE__ short
3170// X86_64-NETBSD:#define __INT32_TYPE__ int
3171// X86_64-NETBSD:#define __INT64_C_SUFFIX__ L
3172// X86_64-NETBSD:#define __INT64_TYPE__ long int
3173// X86_64-NETBSD:#define __INT8_TYPE__ char
3174// X86_64-NETBSD:#define __INTMAX_MAX__ 9223372036854775807L
3175// X86_64-NETBSD:#define __INTMAX_TYPE__ long int
3176// X86_64-NETBSD:#define __INTMAX_WIDTH__ 64
3177// X86_64-NETBSD:#define __INTPTR_TYPE__ long int
3178// X86_64-NETBSD:#define __INTPTR_WIDTH__ 64
3179// X86_64-NETBSD:#define __INT_MAX__ 2147483647
3180// X86_64-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3181// X86_64-NETBSD:#define __LDBL_DIG__ 18
3182// X86_64-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3183// X86_64-NETBSD:#define __LDBL_HAS_DENORM__ 1
3184// X86_64-NETBSD:#define __LDBL_HAS_INFINITY__ 1
3185// X86_64-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
3186// X86_64-NETBSD:#define __LDBL_MANT_DIG__ 64
3187// X86_64-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
3188// X86_64-NETBSD:#define __LDBL_MAX_EXP__ 16384
3189// X86_64-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3190// X86_64-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
3191// X86_64-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
3192// X86_64-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3193// X86_64-NETBSD:#define __LITTLE_ENDIAN__ 1
3194// X86_64-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
3195// X86_64-NETBSD:#define __LONG_MAX__ 9223372036854775807L
3196// X86_64-NETBSD:#define __LP64__ 1
3197// X86_64-NETBSD:#define __MMX__ 1
3198// X86_64-NETBSD:#define __NO_MATH_INLINES 1
3199// X86_64-NETBSD:#define __POINTER_WIDTH__ 64
3200// X86_64-NETBSD:#define __PTRDIFF_TYPE__ long int
3201// X86_64-NETBSD:#define __PTRDIFF_WIDTH__ 64
3202// X86_64-NETBSD:#define __REGISTER_PREFIX__
3203// X86_64-NETBSD:#define __SCHAR_MAX__ 127
3204// X86_64-NETBSD:#define __SHRT_MAX__ 32767
3205// X86_64-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
3206// X86_64-NETBSD:#define __SIZEOF_DOUBLE__ 8
3207// X86_64-NETBSD:#define __SIZEOF_FLOAT__ 4
3208// X86_64-NETBSD:#define __SIZEOF_INT__ 4
3209// X86_64-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 16
3210// X86_64-NETBSD:#define __SIZEOF_LONG_LONG__ 8
3211// X86_64-NETBSD:#define __SIZEOF_LONG__ 8
3212// X86_64-NETBSD:#define __SIZEOF_POINTER__ 8
3213// X86_64-NETBSD:#define __SIZEOF_PTRDIFF_T__ 8
3214// X86_64-NETBSD:#define __SIZEOF_SHORT__ 2
3215// X86_64-NETBSD:#define __SIZEOF_SIZE_T__ 8
3216// X86_64-NETBSD:#define __SIZEOF_WCHAR_T__ 4
3217// X86_64-NETBSD:#define __SIZEOF_WINT_T__ 4
3218// X86_64-NETBSD:#define __SIZE_MAX__ 18446744073709551615UL
3219// X86_64-NETBSD:#define __SIZE_TYPE__ long unsigned int
3220// X86_64-NETBSD:#define __SIZE_WIDTH__ 64
3221// X86_64-NETBSD:#define __SSE2_MATH__ 1
3222// X86_64-NETBSD:#define __SSE2__ 1
3223// X86_64-NETBSD:#define __SSE_MATH__ 1
3224// X86_64-NETBSD:#define __SSE__ 1
3225// X86_64-NETBSD:#define __UINTMAX_TYPE__ long unsigned int
3226// X86_64-NETBSD:#define __USER_LABEL_PREFIX__
3227// X86_64-NETBSD:#define __WCHAR_MAX__ 2147483647
3228// X86_64-NETBSD:#define __WCHAR_TYPE__ int
3229// X86_64-NETBSD:#define __WCHAR_WIDTH__ 32
3230// X86_64-NETBSD:#define __WINT_TYPE__ int
3231// X86_64-NETBSD:#define __WINT_WIDTH__ 32
3232// X86_64-NETBSD:#define __amd64 1
3233// X86_64-NETBSD:#define __amd64__ 1
3234// X86_64-NETBSD:#define __x86_64 1
3235// X86_64-NETBSD:#define __x86_64__ 1
3236//
Jakob Stoklund Olesen248520b2013-05-15 03:22:33 +00003237// 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 +00003238// SPARCV9:#define __INT64_TYPE__ long int
Jakob Stoklund Olesen248520b2013-05-15 03:22:33 +00003239// SPARCV9:#define __INTMAX_TYPE__ long int
3240// SPARCV9:#define __INTPTR_TYPE__ long int
3241// SPARCV9:#define __LONG_MAX__ 9223372036854775807L
3242// SPARCV9:#define __LP64__ 1
3243// SPARCV9:#define __SIZEOF_LONG__ 8
3244// SPARCV9:#define __SIZEOF_POINTER__ 8
3245//
Jakob Stoklund Olesen826df142013-05-19 17:53:37 +00003246// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-openbsd < /dev/null | FileCheck -check-prefix SPARC64-OBSD %s
3247// SPARC64-OBSD:#define __INT64_TYPE__ long long int
3248// SPARC64-OBSD:#define __INTMAX_TYPE__ long long int
3249// SPARC64-OBSD:#define __UINTMAX_TYPE__ long long unsigned int
3250//
Sylvestre Ledrufd7cd3552013-09-06 14:53:07 +00003251// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSD-DEFINE %s
3252// KFREEBSD-DEFINE:#define __FreeBSD_kernel__ 1
3253// KFREEBSD-DEFINE:#define __GLIBC__ 1
3254//
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003255// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i686-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSDI686-DEFINE %s
3256// KFREEBSDI686-DEFINE:#define __FreeBSD_kernel__ 1
3257// KFREEBSDI686-DEFINE:#define __GLIBC__ 1
3258//
David Chisnallb601c962012-07-03 20:49:52 +00003259// 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 +00003260// GNUSOURCE:#define _GNU_SOURCE 1
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003261//
Dan Gohman04f87202010-05-28 00:27:15 +00003262// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
3263// NORTTI: __GXX_ABI_VERSION
3264// NORTTI-NOT:#define __GXX_RTTI
3265// NORTTI: __STDC__
Evgeniy Stepanov94dc4c92012-04-26 12:08:09 +00003266//
3267// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
3268// ANDROID: __ANDROID__ 1
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003269//
Roman Divacky13b586f2013-07-03 19:45:54 +00003270// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd < /dev/null | FileCheck -check-prefix PPC64-FREEBSD %s
3271// PPC64-FREEBSD-NOT: #define __LONG_DOUBLE_128__ 1
Robert Lytton0e076492013-08-13 09:43:10 +00003272//
3273// RUN: %clang_cc1 -E -dM -ffreestanding -triple=xcore-none-none < /dev/null | FileCheck -check-prefix XCORE %s
3274// XCORE:#define __XS1B__ 1