blob: 8486e94b3a73c9a99c8be1eb1661f9015b681bc8 [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
Chris Lattnere963d092009-10-29 04:55:36 +0000542//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000543// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
Chris Lattnere963d092009-10-29 04:55:36 +0000544//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000545// I386-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000546// I386:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +0000547// I386:#define __CHAR16_TYPE__ unsigned short
548// I386:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000549// I386:#define __CHAR_BIT__ 8
550// I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
551// I386:#define __DBL_DIG__ 15
552// I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
553// I386:#define __DBL_HAS_DENORM__ 1
554// I386:#define __DBL_HAS_INFINITY__ 1
555// I386:#define __DBL_HAS_QUIET_NAN__ 1
556// I386:#define __DBL_MANT_DIG__ 53
557// I386:#define __DBL_MAX_10_EXP__ 308
558// I386:#define __DBL_MAX_EXP__ 1024
559// I386:#define __DBL_MAX__ 1.7976931348623157e+308
560// I386:#define __DBL_MIN_10_EXP__ (-307)
561// I386:#define __DBL_MIN_EXP__ (-1021)
562// I386:#define __DBL_MIN__ 2.2250738585072014e-308
563// I386:#define __DECIMAL_DIG__ 21
564// I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
565// I386:#define __FLT_DIG__ 6
566// I386:#define __FLT_EPSILON__ 1.19209290e-7F
Benjamin Kramercf501472011-12-28 15:47:06 +0000567// I386:#define __FLT_EVAL_METHOD__ 2
Chris Lattnere963d092009-10-29 04:55:36 +0000568// I386:#define __FLT_HAS_DENORM__ 1
569// I386:#define __FLT_HAS_INFINITY__ 1
570// I386:#define __FLT_HAS_QUIET_NAN__ 1
571// I386:#define __FLT_MANT_DIG__ 24
572// I386:#define __FLT_MAX_10_EXP__ 38
573// I386:#define __FLT_MAX_EXP__ 128
574// I386:#define __FLT_MAX__ 3.40282347e+38F
575// I386:#define __FLT_MIN_10_EXP__ (-37)
576// I386:#define __FLT_MIN_EXP__ (-125)
577// I386:#define __FLT_MIN__ 1.17549435e-38F
578// I386:#define __FLT_RADIX__ 2
579// I386:#define __INT16_TYPE__ short
580// I386:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +0000581// I386:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +0000582// I386:#define __INT64_TYPE__ long long int
583// I386:#define __INT8_TYPE__ char
584// I386:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +0000585// I386:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +0000586// I386:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +0000587// I386:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +0000588// I386:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000589// I386:#define __INT_MAX__ 2147483647
590// I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
591// I386:#define __LDBL_DIG__ 18
592// I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
593// I386:#define __LDBL_HAS_DENORM__ 1
594// I386:#define __LDBL_HAS_INFINITY__ 1
595// I386:#define __LDBL_HAS_QUIET_NAN__ 1
596// I386:#define __LDBL_MANT_DIG__ 64
597// I386:#define __LDBL_MAX_10_EXP__ 4932
598// I386:#define __LDBL_MAX_EXP__ 16384
599// I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
600// I386:#define __LDBL_MIN_10_EXP__ (-4931)
601// I386:#define __LDBL_MIN_EXP__ (-16381)
602// I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
603// I386:#define __LITTLE_ENDIAN__ 1
604// I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
605// I386:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000606// I386-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +0000607// I386:#define __NO_MATH_INLINES 1
608// I386:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000609// I386:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +0000610// I386:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000611// I386:#define __REGISTER_PREFIX__
612// I386:#define __SCHAR_MAX__ 127
613// I386:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +0000614// I386:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +0000615// I386:#define __SIZEOF_DOUBLE__ 8
616// I386:#define __SIZEOF_FLOAT__ 4
617// I386:#define __SIZEOF_INT__ 4
618// I386:#define __SIZEOF_LONG_DOUBLE__ 12
619// I386:#define __SIZEOF_LONG_LONG__ 8
620// I386:#define __SIZEOF_LONG__ 4
621// I386:#define __SIZEOF_POINTER__ 4
622// I386:#define __SIZEOF_PTRDIFF_T__ 4
623// I386:#define __SIZEOF_SHORT__ 2
624// I386:#define __SIZEOF_SIZE_T__ 4
625// I386:#define __SIZEOF_WCHAR_T__ 4
626// I386:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000627// I386:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +0000628// I386:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +0000629// I386:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000630// I386:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000631// I386:#define __USER_LABEL_PREFIX__ _
632// I386:#define __WCHAR_MAX__ 2147483647
633// I386:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +0000634// I386:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000635// I386:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +0000636// I386:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000637// I386:#define __i386 1
638// I386:#define __i386__ 1
Chris Lattnere963d092009-10-29 04:55:36 +0000639// I386:#define i386 1
640//
Benjamin Kramercf501472011-12-28 15:47:06 +0000641// 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 +0000642//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000643// I386-LINUX-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000644// I386-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregore6d6e512011-01-12 21:19:25 +0000645// I386-LINUX:#define __CHAR16_TYPE__ unsigned short
646// I386-LINUX:#define __CHAR32_TYPE__ unsigned int
647// I386-LINUX:#define __CHAR_BIT__ 8
648// I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
649// I386-LINUX:#define __DBL_DIG__ 15
650// I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
651// I386-LINUX:#define __DBL_HAS_DENORM__ 1
652// I386-LINUX:#define __DBL_HAS_INFINITY__ 1
653// I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
654// I386-LINUX:#define __DBL_MANT_DIG__ 53
655// I386-LINUX:#define __DBL_MAX_10_EXP__ 308
656// I386-LINUX:#define __DBL_MAX_EXP__ 1024
657// I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
658// I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
659// I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
660// I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
661// I386-LINUX:#define __DECIMAL_DIG__ 21
662// I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
663// I386-LINUX:#define __FLT_DIG__ 6
664// I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
665// I386-LINUX:#define __FLT_EVAL_METHOD__ 0
666// I386-LINUX:#define __FLT_HAS_DENORM__ 1
667// I386-LINUX:#define __FLT_HAS_INFINITY__ 1
668// I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
669// I386-LINUX:#define __FLT_MANT_DIG__ 24
670// I386-LINUX:#define __FLT_MAX_10_EXP__ 38
671// I386-LINUX:#define __FLT_MAX_EXP__ 128
672// I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
673// I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
674// I386-LINUX:#define __FLT_MIN_EXP__ (-125)
675// I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
676// I386-LINUX:#define __FLT_RADIX__ 2
677// I386-LINUX:#define __INT16_TYPE__ short
678// I386-LINUX:#define __INT32_TYPE__ int
679// I386-LINUX:#define __INT64_C_SUFFIX__ LL
680// I386-LINUX:#define __INT64_TYPE__ long long int
681// I386-LINUX:#define __INT8_TYPE__ char
682// I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
683// I386-LINUX:#define __INTMAX_TYPE__ long long int
684// I386-LINUX:#define __INTMAX_WIDTH__ 64
685// I386-LINUX:#define __INTPTR_TYPE__ int
686// I386-LINUX:#define __INTPTR_WIDTH__ 32
687// I386-LINUX:#define __INT_MAX__ 2147483647
688// I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
689// I386-LINUX:#define __LDBL_DIG__ 18
690// I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
691// I386-LINUX:#define __LDBL_HAS_DENORM__ 1
692// I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
693// I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
694// I386-LINUX:#define __LDBL_MANT_DIG__ 64
695// I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
696// I386-LINUX:#define __LDBL_MAX_EXP__ 16384
697// I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
698// I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
699// I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
700// I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
701// I386-LINUX:#define __LITTLE_ENDIAN__ 1
702// I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
703// I386-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000704// I386-LINUX-NOT:#define __LP64__
Douglas Gregore6d6e512011-01-12 21:19:25 +0000705// I386-LINUX:#define __NO_MATH_INLINES 1
706// I386-LINUX:#define __POINTER_WIDTH__ 32
707// I386-LINUX:#define __PTRDIFF_TYPE__ int
708// I386-LINUX:#define __PTRDIFF_WIDTH__ 32
709// I386-LINUX:#define __REGISTER_PREFIX__
710// I386-LINUX:#define __SCHAR_MAX__ 127
711// I386-LINUX:#define __SHRT_MAX__ 32767
712// I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
713// I386-LINUX:#define __SIZEOF_DOUBLE__ 8
714// I386-LINUX:#define __SIZEOF_FLOAT__ 4
715// I386-LINUX:#define __SIZEOF_INT__ 4
716// I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
717// I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
718// I386-LINUX:#define __SIZEOF_LONG__ 4
719// I386-LINUX:#define __SIZEOF_POINTER__ 4
720// I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
721// I386-LINUX:#define __SIZEOF_SHORT__ 2
722// I386-LINUX:#define __SIZEOF_SIZE_T__ 4
723// I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
724// I386-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000725// I386-LINUX:#define __SIZE_MAX__ 4294967295U
Douglas Gregore6d6e512011-01-12 21:19:25 +0000726// I386-LINUX:#define __SIZE_TYPE__ unsigned int
727// I386-LINUX:#define __SIZE_WIDTH__ 32
728// I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
729// I386-LINUX:#define __USER_LABEL_PREFIX__
730// I386-LINUX:#define __WCHAR_MAX__ 2147483647
731// I386-LINUX:#define __WCHAR_TYPE__ int
732// I386-LINUX:#define __WCHAR_WIDTH__ 32
733// I386-LINUX:#define __WINT_TYPE__ unsigned int
734// I386-LINUX:#define __WINT_WIDTH__ 32
735// I386-LINUX:#define __i386 1
736// I386-LINUX:#define __i386__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +0000737// I386-LINUX:#define i386 1
738//
Joerg Sonnenberger0e921f22013-11-11 14:00:37 +0000739// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd < /dev/null | FileCheck -check-prefix I386-NETBSD %s
740//
741// I386-NETBSD-NOT:#define _LP64
742// I386-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
743// I386-NETBSD:#define __CHAR16_TYPE__ unsigned short
744// I386-NETBSD:#define __CHAR32_TYPE__ unsigned int
745// I386-NETBSD:#define __CHAR_BIT__ 8
746// I386-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
747// I386-NETBSD:#define __DBL_DIG__ 15
748// I386-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
749// I386-NETBSD:#define __DBL_HAS_DENORM__ 1
750// I386-NETBSD:#define __DBL_HAS_INFINITY__ 1
751// I386-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
752// I386-NETBSD:#define __DBL_MANT_DIG__ 53
753// I386-NETBSD:#define __DBL_MAX_10_EXP__ 308
754// I386-NETBSD:#define __DBL_MAX_EXP__ 1024
755// I386-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
756// I386-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
757// I386-NETBSD:#define __DBL_MIN_EXP__ (-1021)
758// I386-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
759// I386-NETBSD:#define __DECIMAL_DIG__ 21
760// I386-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
761// I386-NETBSD:#define __FLT_DIG__ 6
762// I386-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
763// I386-NETBSD:#define __FLT_EVAL_METHOD__ 2
764// I386-NETBSD:#define __FLT_HAS_DENORM__ 1
765// I386-NETBSD:#define __FLT_HAS_INFINITY__ 1
766// I386-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
767// I386-NETBSD:#define __FLT_MANT_DIG__ 24
768// I386-NETBSD:#define __FLT_MAX_10_EXP__ 38
769// I386-NETBSD:#define __FLT_MAX_EXP__ 128
770// I386-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
771// I386-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
772// I386-NETBSD:#define __FLT_MIN_EXP__ (-125)
773// I386-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
774// I386-NETBSD:#define __FLT_RADIX__ 2
775// I386-NETBSD:#define __INT16_TYPE__ short
776// I386-NETBSD:#define __INT32_TYPE__ int
777// I386-NETBSD:#define __INT64_C_SUFFIX__ LL
778// I386-NETBSD:#define __INT64_TYPE__ long long int
779// I386-NETBSD:#define __INT8_TYPE__ char
780// I386-NETBSD:#define __INTMAX_MAX__ 9223372036854775807LL
781// I386-NETBSD:#define __INTMAX_TYPE__ long long int
782// I386-NETBSD:#define __INTMAX_WIDTH__ 64
783// I386-NETBSD:#define __INTPTR_TYPE__ int
784// I386-NETBSD:#define __INTPTR_WIDTH__ 32
785// I386-NETBSD:#define __INT_MAX__ 2147483647
786// I386-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
787// I386-NETBSD:#define __LDBL_DIG__ 18
788// I386-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
789// I386-NETBSD:#define __LDBL_HAS_DENORM__ 1
790// I386-NETBSD:#define __LDBL_HAS_INFINITY__ 1
791// I386-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
792// I386-NETBSD:#define __LDBL_MANT_DIG__ 64
793// I386-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
794// I386-NETBSD:#define __LDBL_MAX_EXP__ 16384
795// I386-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
796// I386-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
797// I386-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
798// I386-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
799// I386-NETBSD:#define __LITTLE_ENDIAN__ 1
800// I386-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
801// I386-NETBSD:#define __LONG_MAX__ 2147483647L
802// I386-NETBSD-NOT:#define __LP64__
803// I386-NETBSD:#define __NO_MATH_INLINES 1
804// I386-NETBSD:#define __POINTER_WIDTH__ 32
805// I386-NETBSD:#define __PTRDIFF_TYPE__ int
806// I386-NETBSD:#define __PTRDIFF_WIDTH__ 32
807// I386-NETBSD:#define __REGISTER_PREFIX__
808// I386-NETBSD:#define __SCHAR_MAX__ 127
809// I386-NETBSD:#define __SHRT_MAX__ 32767
810// I386-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
811// I386-NETBSD:#define __SIZEOF_DOUBLE__ 8
812// I386-NETBSD:#define __SIZEOF_FLOAT__ 4
813// I386-NETBSD:#define __SIZEOF_INT__ 4
814// I386-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 12
815// I386-NETBSD:#define __SIZEOF_LONG_LONG__ 8
816// I386-NETBSD:#define __SIZEOF_LONG__ 4
817// I386-NETBSD:#define __SIZEOF_POINTER__ 4
818// I386-NETBSD:#define __SIZEOF_PTRDIFF_T__ 4
819// I386-NETBSD:#define __SIZEOF_SHORT__ 2
820// I386-NETBSD:#define __SIZEOF_SIZE_T__ 4
821// I386-NETBSD:#define __SIZEOF_WCHAR_T__ 4
822// I386-NETBSD:#define __SIZEOF_WINT_T__ 4
823// I386-NETBSD:#define __SIZE_MAX__ 4294967295U
824// I386-NETBSD:#define __SIZE_TYPE__ unsigned int
825// I386-NETBSD:#define __SIZE_WIDTH__ 32
826// I386-NETBSD:#define __UINTMAX_TYPE__ long long unsigned int
827// I386-NETBSD:#define __USER_LABEL_PREFIX__
828// I386-NETBSD:#define __WCHAR_MAX__ 2147483647
829// I386-NETBSD:#define __WCHAR_TYPE__ int
830// I386-NETBSD:#define __WCHAR_WIDTH__ 32
831// I386-NETBSD:#define __WINT_TYPE__ int
832// I386-NETBSD:#define __WINT_WIDTH__ 32
833// I386-NETBSD:#define __i386 1
834// I386-NETBSD:#define __i386__ 1
835// I386-NETBSD:#define i386 1
836//
837// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD-SSE %s
838// I386-NETBSD-SSE:#define __FLT_EVAL_METHOD__ 0
839// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 < /dev/null | FileCheck -check-prefix I386-NETBSD6 %s
840// I386-NETBSD6:#define __FLT_EVAL_METHOD__ 1
841// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD6-SSE %s
842// I386-NETBSD6-SSE:#define __FLT_EVAL_METHOD__ 1
843
844//
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000845// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none < /dev/null | FileCheck -check-prefix MIPS32BE %s
846//
847// MIPS32BE:#define MIPSEB 1
848// MIPS32BE:#define _ABIO32 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000849// MIPS32BE-NOT:#define _LP64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000850// MIPS32BE:#define _MIPSEB 1
Simon Atanasyan5a0642f2012-08-29 15:17:29 +0000851// MIPS32BE:#define _MIPS_ARCH "mips32"
852// MIPS32BE:#define _MIPS_ARCH_MIPS32 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +0000853// MIPS32BE:#define _MIPS_FPSET 16
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000854// MIPS32BE:#define _MIPS_SIM _ABIO32
855// MIPS32BE:#define _MIPS_SZINT 32
856// MIPS32BE:#define _MIPS_SZLONG 32
857// MIPS32BE:#define _MIPS_SZPTR 32
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000858// MIPS32BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000859// MIPS32BE:#define __CHAR16_TYPE__ unsigned short
860// MIPS32BE:#define __CHAR32_TYPE__ unsigned int
861// MIPS32BE:#define __CHAR_BIT__ 8
862// MIPS32BE:#define __CONSTANT_CFSTRINGS__ 1
863// MIPS32BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
864// MIPS32BE:#define __DBL_DIG__ 15
865// MIPS32BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
866// MIPS32BE:#define __DBL_HAS_DENORM__ 1
867// MIPS32BE:#define __DBL_HAS_INFINITY__ 1
868// MIPS32BE:#define __DBL_HAS_QUIET_NAN__ 1
869// MIPS32BE:#define __DBL_MANT_DIG__ 53
870// MIPS32BE:#define __DBL_MAX_10_EXP__ 308
871// MIPS32BE:#define __DBL_MAX_EXP__ 1024
872// MIPS32BE:#define __DBL_MAX__ 1.7976931348623157e+308
873// MIPS32BE:#define __DBL_MIN_10_EXP__ (-307)
874// MIPS32BE:#define __DBL_MIN_EXP__ (-1021)
875// MIPS32BE:#define __DBL_MIN__ 2.2250738585072014e-308
876// MIPS32BE:#define __DECIMAL_DIG__ 17
877// MIPS32BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
878// MIPS32BE:#define __FLT_DIG__ 6
879// MIPS32BE:#define __FLT_EPSILON__ 1.19209290e-7F
880// MIPS32BE:#define __FLT_EVAL_METHOD__ 0
881// MIPS32BE:#define __FLT_HAS_DENORM__ 1
882// MIPS32BE:#define __FLT_HAS_INFINITY__ 1
883// MIPS32BE:#define __FLT_HAS_QUIET_NAN__ 1
884// MIPS32BE:#define __FLT_MANT_DIG__ 24
885// MIPS32BE:#define __FLT_MAX_10_EXP__ 38
886// MIPS32BE:#define __FLT_MAX_EXP__ 128
887// MIPS32BE:#define __FLT_MAX__ 3.40282347e+38F
888// MIPS32BE:#define __FLT_MIN_10_EXP__ (-37)
889// MIPS32BE:#define __FLT_MIN_EXP__ (-125)
890// MIPS32BE:#define __FLT_MIN__ 1.17549435e-38F
891// MIPS32BE:#define __FLT_RADIX__ 2
892// MIPS32BE:#define __INT16_TYPE__ short
893// MIPS32BE:#define __INT32_TYPE__ int
894// MIPS32BE:#define __INT64_C_SUFFIX__ LL
895// MIPS32BE:#define __INT64_TYPE__ long long int
896// MIPS32BE:#define __INT8_TYPE__ char
897// MIPS32BE:#define __INTMAX_MAX__ 9223372036854775807LL
898// MIPS32BE:#define __INTMAX_TYPE__ long long int
899// MIPS32BE:#define __INTMAX_WIDTH__ 64
900// MIPS32BE:#define __INTPTR_TYPE__ long int
901// MIPS32BE:#define __INTPTR_WIDTH__ 32
902// MIPS32BE:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000903// MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000904// MIPS32BE:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000905// MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000906// MIPS32BE:#define __LDBL_HAS_DENORM__ 1
907// MIPS32BE:#define __LDBL_HAS_INFINITY__ 1
908// MIPS32BE:#define __LDBL_HAS_QUIET_NAN__ 1
909// MIPS32BE:#define __LDBL_MANT_DIG__ 53
910// MIPS32BE:#define __LDBL_MAX_10_EXP__ 308
911// MIPS32BE:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000912// MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000913// MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307)
914// MIPS32BE:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000915// MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000916// MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
917// MIPS32BE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000918// MIPS32BE-NOT:#define __LP64__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000919// MIPS32BE:#define __MIPSEB 1
920// MIPS32BE:#define __MIPSEB__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000921// MIPS32BE:#define __POINTER_WIDTH__ 32
922// MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1
923// MIPS32BE:#define __PTRDIFF_TYPE__ int
924// MIPS32BE:#define __PTRDIFF_WIDTH__ 32
925// MIPS32BE:#define __REGISTER_PREFIX__
926// MIPS32BE:#define __SCHAR_MAX__ 127
927// MIPS32BE:#define __SHRT_MAX__ 32767
928// MIPS32BE:#define __SIG_ATOMIC_WIDTH__ 32
929// MIPS32BE:#define __SIZEOF_DOUBLE__ 8
930// MIPS32BE:#define __SIZEOF_FLOAT__ 4
931// MIPS32BE:#define __SIZEOF_INT__ 4
932// MIPS32BE:#define __SIZEOF_LONG_DOUBLE__ 8
933// MIPS32BE:#define __SIZEOF_LONG_LONG__ 8
934// MIPS32BE:#define __SIZEOF_LONG__ 4
935// MIPS32BE:#define __SIZEOF_POINTER__ 4
936// MIPS32BE:#define __SIZEOF_PTRDIFF_T__ 4
937// MIPS32BE:#define __SIZEOF_SHORT__ 2
938// MIPS32BE:#define __SIZEOF_SIZE_T__ 4
939// MIPS32BE:#define __SIZEOF_WCHAR_T__ 4
940// MIPS32BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000941// MIPS32BE:#define __SIZE_MAX__ 4294967295U
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000942// MIPS32BE:#define __SIZE_TYPE__ unsigned int
943// MIPS32BE:#define __SIZE_WIDTH__ 32
944// MIPS32BE:#define __STDC_HOSTED__ 0
945// MIPS32BE:#define __STDC_VERSION__ 199901L
946// MIPS32BE:#define __STDC__ 1
947// MIPS32BE:#define __UINTMAX_TYPE__ long long unsigned int
948// MIPS32BE:#define __USER_LABEL_PREFIX__ _
949// MIPS32BE:#define __WCHAR_MAX__ 2147483647
950// MIPS32BE:#define __WCHAR_TYPE__ int
951// MIPS32BE:#define __WCHAR_WIDTH__ 32
952// MIPS32BE:#define __WINT_TYPE__ int
953// MIPS32BE:#define __WINT_WIDTH__ 32
954// MIPS32BE:#define __clang__ 1
955// MIPS32BE:#define __llvm__ 1
956// MIPS32BE:#define __mips 1
957// MIPS32BE:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +0000958// MIPS32BE:#define __mips_fpr 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000959// MIPS32BE:#define __mips_hard_float 1
960// MIPS32BE:#define __mips_o32 1
961// MIPS32BE:#define _mips 1
962// MIPS32BE:#define mips 1
963//
964// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -check-prefix MIPS32EL %s
965//
966// MIPS32EL:#define MIPSEL 1
967// MIPS32EL:#define _ABIO32 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000968// MIPS32EL-NOT:#define _LP64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000969// MIPS32EL:#define _MIPSEL 1
Simon Atanasyan5a0642f2012-08-29 15:17:29 +0000970// MIPS32EL:#define _MIPS_ARCH "mips32"
971// MIPS32EL:#define _MIPS_ARCH_MIPS32 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +0000972// MIPS32EL:#define _MIPS_FPSET 16
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000973// MIPS32EL:#define _MIPS_SIM _ABIO32
974// MIPS32EL:#define _MIPS_SZINT 32
975// MIPS32EL:#define _MIPS_SZLONG 32
976// MIPS32EL:#define _MIPS_SZPTR 32
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000977// MIPS32EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000978// MIPS32EL:#define __CHAR16_TYPE__ unsigned short
979// MIPS32EL:#define __CHAR32_TYPE__ unsigned int
980// MIPS32EL:#define __CHAR_BIT__ 8
981// MIPS32EL:#define __CONSTANT_CFSTRINGS__ 1
982// MIPS32EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
983// MIPS32EL:#define __DBL_DIG__ 15
984// MIPS32EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
985// MIPS32EL:#define __DBL_HAS_DENORM__ 1
986// MIPS32EL:#define __DBL_HAS_INFINITY__ 1
987// MIPS32EL:#define __DBL_HAS_QUIET_NAN__ 1
988// MIPS32EL:#define __DBL_MANT_DIG__ 53
989// MIPS32EL:#define __DBL_MAX_10_EXP__ 308
990// MIPS32EL:#define __DBL_MAX_EXP__ 1024
991// MIPS32EL:#define __DBL_MAX__ 1.7976931348623157e+308
992// MIPS32EL:#define __DBL_MIN_10_EXP__ (-307)
993// MIPS32EL:#define __DBL_MIN_EXP__ (-1021)
994// MIPS32EL:#define __DBL_MIN__ 2.2250738585072014e-308
995// MIPS32EL:#define __DECIMAL_DIG__ 17
996// MIPS32EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
997// MIPS32EL:#define __FLT_DIG__ 6
998// MIPS32EL:#define __FLT_EPSILON__ 1.19209290e-7F
999// MIPS32EL:#define __FLT_EVAL_METHOD__ 0
1000// MIPS32EL:#define __FLT_HAS_DENORM__ 1
1001// MIPS32EL:#define __FLT_HAS_INFINITY__ 1
1002// MIPS32EL:#define __FLT_HAS_QUIET_NAN__ 1
1003// MIPS32EL:#define __FLT_MANT_DIG__ 24
1004// MIPS32EL:#define __FLT_MAX_10_EXP__ 38
1005// MIPS32EL:#define __FLT_MAX_EXP__ 128
1006// MIPS32EL:#define __FLT_MAX__ 3.40282347e+38F
1007// MIPS32EL:#define __FLT_MIN_10_EXP__ (-37)
1008// MIPS32EL:#define __FLT_MIN_EXP__ (-125)
1009// MIPS32EL:#define __FLT_MIN__ 1.17549435e-38F
1010// MIPS32EL:#define __FLT_RADIX__ 2
1011// MIPS32EL:#define __INT16_TYPE__ short
1012// MIPS32EL:#define __INT32_TYPE__ int
1013// MIPS32EL:#define __INT64_C_SUFFIX__ LL
1014// MIPS32EL:#define __INT64_TYPE__ long long int
1015// MIPS32EL:#define __INT8_TYPE__ char
1016// MIPS32EL:#define __INTMAX_MAX__ 9223372036854775807LL
1017// MIPS32EL:#define __INTMAX_TYPE__ long long int
1018// MIPS32EL:#define __INTMAX_WIDTH__ 64
1019// MIPS32EL:#define __INTPTR_TYPE__ long int
1020// MIPS32EL:#define __INTPTR_WIDTH__ 32
1021// MIPS32EL:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001022// MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001023// MIPS32EL:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001024// MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001025// MIPS32EL:#define __LDBL_HAS_DENORM__ 1
1026// MIPS32EL:#define __LDBL_HAS_INFINITY__ 1
1027// MIPS32EL:#define __LDBL_HAS_QUIET_NAN__ 1
1028// MIPS32EL:#define __LDBL_MANT_DIG__ 53
1029// MIPS32EL:#define __LDBL_MAX_10_EXP__ 308
1030// MIPS32EL:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001031// MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001032// MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307)
1033// MIPS32EL:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001034// MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001035// MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1036// MIPS32EL:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001037// MIPS32EL-NOT:#define __LP64__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001038// MIPS32EL:#define __MIPSEL 1
1039// MIPS32EL:#define __MIPSEL__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001040// MIPS32EL:#define __POINTER_WIDTH__ 32
1041// MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1042// MIPS32EL:#define __PTRDIFF_TYPE__ int
1043// MIPS32EL:#define __PTRDIFF_WIDTH__ 32
1044// MIPS32EL:#define __REGISTER_PREFIX__
1045// MIPS32EL:#define __SCHAR_MAX__ 127
1046// MIPS32EL:#define __SHRT_MAX__ 32767
1047// MIPS32EL:#define __SIG_ATOMIC_WIDTH__ 32
1048// MIPS32EL:#define __SIZEOF_DOUBLE__ 8
1049// MIPS32EL:#define __SIZEOF_FLOAT__ 4
1050// MIPS32EL:#define __SIZEOF_INT__ 4
1051// MIPS32EL:#define __SIZEOF_LONG_DOUBLE__ 8
1052// MIPS32EL:#define __SIZEOF_LONG_LONG__ 8
1053// MIPS32EL:#define __SIZEOF_LONG__ 4
1054// MIPS32EL:#define __SIZEOF_POINTER__ 4
1055// MIPS32EL:#define __SIZEOF_PTRDIFF_T__ 4
1056// MIPS32EL:#define __SIZEOF_SHORT__ 2
1057// MIPS32EL:#define __SIZEOF_SIZE_T__ 4
1058// MIPS32EL:#define __SIZEOF_WCHAR_T__ 4
1059// MIPS32EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001060// MIPS32EL:#define __SIZE_MAX__ 4294967295U
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001061// MIPS32EL:#define __SIZE_TYPE__ unsigned int
1062// MIPS32EL:#define __SIZE_WIDTH__ 32
1063// MIPS32EL:#define __UINTMAX_TYPE__ long long unsigned int
1064// MIPS32EL:#define __USER_LABEL_PREFIX__ _
1065// MIPS32EL:#define __WCHAR_MAX__ 2147483647
1066// MIPS32EL:#define __WCHAR_TYPE__ int
1067// MIPS32EL:#define __WCHAR_WIDTH__ 32
1068// MIPS32EL:#define __WINT_TYPE__ int
1069// MIPS32EL:#define __WINT_WIDTH__ 32
1070// MIPS32EL:#define __clang__ 1
1071// MIPS32EL:#define __llvm__ 1
1072// MIPS32EL:#define __mips 1
1073// MIPS32EL:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001074// MIPS32EL:#define __mips_fpr 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001075// MIPS32EL:#define __mips_hard_float 1
1076// MIPS32EL:#define __mips_o32 1
1077// MIPS32EL:#define _mips 1
1078// MIPS32EL:#define mips 1
1079//
1080// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -check-prefix MIPS64BE %s
1081//
1082// MIPS64BE:#define MIPSEB 1
1083// MIPS64BE:#define _ABI64 3
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001084// MIPS64BE:#define _LP64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001085// MIPS64BE:#define _MIPSEB 1
Simon Atanasyan5a0642f2012-08-29 15:17:29 +00001086// MIPS64BE:#define _MIPS_ARCH "mips64"
1087// MIPS64BE:#define _MIPS_ARCH_MIPS64 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001088// MIPS64BE:#define _MIPS_FPSET 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001089// MIPS64BE:#define _MIPS_SIM _ABI64
1090// MIPS64BE:#define _MIPS_SZINT 32
1091// MIPS64BE:#define _MIPS_SZLONG 64
1092// MIPS64BE:#define _MIPS_SZPTR 64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001093// MIPS64BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001094// MIPS64BE:#define __CHAR16_TYPE__ unsigned short
1095// MIPS64BE:#define __CHAR32_TYPE__ unsigned int
1096// MIPS64BE:#define __CHAR_BIT__ 8
1097// MIPS64BE:#define __CONSTANT_CFSTRINGS__ 1
1098// MIPS64BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1099// MIPS64BE:#define __DBL_DIG__ 15
1100// MIPS64BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
1101// MIPS64BE:#define __DBL_HAS_DENORM__ 1
1102// MIPS64BE:#define __DBL_HAS_INFINITY__ 1
1103// MIPS64BE:#define __DBL_HAS_QUIET_NAN__ 1
1104// MIPS64BE:#define __DBL_MANT_DIG__ 53
1105// MIPS64BE:#define __DBL_MAX_10_EXP__ 308
1106// MIPS64BE:#define __DBL_MAX_EXP__ 1024
1107// MIPS64BE:#define __DBL_MAX__ 1.7976931348623157e+308
1108// MIPS64BE:#define __DBL_MIN_10_EXP__ (-307)
1109// MIPS64BE:#define __DBL_MIN_EXP__ (-1021)
1110// MIPS64BE:#define __DBL_MIN__ 2.2250738585072014e-308
1111// MIPS64BE:#define __DECIMAL_DIG__ 36
1112// MIPS64BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1113// MIPS64BE:#define __FLT_DIG__ 6
1114// MIPS64BE:#define __FLT_EPSILON__ 1.19209290e-7F
1115// MIPS64BE:#define __FLT_EVAL_METHOD__ 0
1116// MIPS64BE:#define __FLT_HAS_DENORM__ 1
1117// MIPS64BE:#define __FLT_HAS_INFINITY__ 1
1118// MIPS64BE:#define __FLT_HAS_QUIET_NAN__ 1
1119// MIPS64BE:#define __FLT_MANT_DIG__ 24
1120// MIPS64BE:#define __FLT_MAX_10_EXP__ 38
1121// MIPS64BE:#define __FLT_MAX_EXP__ 128
1122// MIPS64BE:#define __FLT_MAX__ 3.40282347e+38F
1123// MIPS64BE:#define __FLT_MIN_10_EXP__ (-37)
1124// MIPS64BE:#define __FLT_MIN_EXP__ (-125)
1125// MIPS64BE:#define __FLT_MIN__ 1.17549435e-38F
1126// MIPS64BE:#define __FLT_RADIX__ 2
1127// MIPS64BE:#define __INT16_TYPE__ short
1128// MIPS64BE:#define __INT32_TYPE__ int
1129// MIPS64BE:#define __INT64_C_SUFFIX__ LL
1130// MIPS64BE:#define __INT64_TYPE__ long long int
1131// MIPS64BE:#define __INT8_TYPE__ char
1132// MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807LL
1133// MIPS64BE:#define __INTMAX_TYPE__ long long int
1134// MIPS64BE:#define __INTMAX_WIDTH__ 64
1135// MIPS64BE:#define __INTPTR_TYPE__ long int
1136// MIPS64BE:#define __INTPTR_WIDTH__ 64
1137// MIPS64BE:#define __INT_MAX__ 2147483647
1138// MIPS64BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1139// MIPS64BE:#define __LDBL_DIG__ 33
1140// MIPS64BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1141// MIPS64BE:#define __LDBL_HAS_DENORM__ 1
1142// MIPS64BE:#define __LDBL_HAS_INFINITY__ 1
1143// MIPS64BE:#define __LDBL_HAS_QUIET_NAN__ 1
1144// MIPS64BE:#define __LDBL_MANT_DIG__ 113
1145// MIPS64BE:#define __LDBL_MAX_10_EXP__ 4932
1146// MIPS64BE:#define __LDBL_MAX_EXP__ 16384
1147// MIPS64BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1148// MIPS64BE:#define __LDBL_MIN_10_EXP__ (-4931)
1149// MIPS64BE:#define __LDBL_MIN_EXP__ (-16381)
1150// MIPS64BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1151// MIPS64BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1152// MIPS64BE:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001153// MIPS64BE:#define __LP64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001154// MIPS64BE:#define __MIPSEB 1
1155// MIPS64BE:#define __MIPSEB__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001156// MIPS64BE:#define __POINTER_WIDTH__ 64
1157// MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1
1158// MIPS64BE:#define __PTRDIFF_TYPE__ long int
1159// MIPS64BE:#define __PTRDIFF_WIDTH__ 64
1160// MIPS64BE:#define __REGISTER_PREFIX__
1161// MIPS64BE:#define __SCHAR_MAX__ 127
1162// MIPS64BE:#define __SHRT_MAX__ 32767
1163// MIPS64BE:#define __SIG_ATOMIC_WIDTH__ 32
1164// MIPS64BE:#define __SIZEOF_DOUBLE__ 8
1165// MIPS64BE:#define __SIZEOF_FLOAT__ 4
1166// MIPS64BE:#define __SIZEOF_INT__ 4
1167// MIPS64BE:#define __SIZEOF_LONG_DOUBLE__ 16
1168// MIPS64BE:#define __SIZEOF_LONG_LONG__ 8
1169// MIPS64BE:#define __SIZEOF_LONG__ 8
1170// MIPS64BE:#define __SIZEOF_POINTER__ 8
1171// MIPS64BE:#define __SIZEOF_PTRDIFF_T__ 8
1172// MIPS64BE:#define __SIZEOF_SHORT__ 2
1173// MIPS64BE:#define __SIZEOF_SIZE_T__ 8
1174// MIPS64BE:#define __SIZEOF_WCHAR_T__ 4
1175// MIPS64BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001176// MIPS64BE:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001177// MIPS64BE:#define __SIZE_TYPE__ long unsigned int
1178// MIPS64BE:#define __SIZE_WIDTH__ 64
1179// MIPS64BE:#define __UINTMAX_TYPE__ long long unsigned int
1180// MIPS64BE:#define __USER_LABEL_PREFIX__ _
1181// MIPS64BE:#define __WCHAR_MAX__ 2147483647
1182// MIPS64BE:#define __WCHAR_TYPE__ int
1183// MIPS64BE:#define __WCHAR_WIDTH__ 32
1184// MIPS64BE:#define __WINT_TYPE__ int
1185// MIPS64BE:#define __WINT_WIDTH__ 32
1186// MIPS64BE:#define __clang__ 1
1187// MIPS64BE:#define __llvm__ 1
1188// MIPS64BE:#define __mips 1
Simon Atanasyanc6a0be02012-08-29 20:50:11 +00001189// MIPS64BE:#define __mips64 1
1190// MIPS64BE:#define __mips64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001191// MIPS64BE:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001192// MIPS64BE:#define __mips_fpr 64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001193// MIPS64BE:#define __mips_hard_float 1
1194// MIPS64BE:#define __mips_n64 1
1195// MIPS64BE:#define _mips 1
1196// MIPS64BE:#define mips 1
1197//
1198// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -check-prefix MIPS64EL %s
1199//
1200// MIPS64EL:#define MIPSEL 1
1201// MIPS64EL:#define _ABI64 3
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001202// MIPS64EL:#define _LP64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001203// MIPS64EL:#define _MIPSEL 1
Simon Atanasyan5a0642f2012-08-29 15:17:29 +00001204// MIPS64EL:#define _MIPS_ARCH "mips64"
1205// MIPS64EL:#define _MIPS_ARCH_MIPS64 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001206// MIPS64EL:#define _MIPS_FPSET 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001207// MIPS64EL:#define _MIPS_SIM _ABI64
1208// MIPS64EL:#define _MIPS_SZINT 32
1209// MIPS64EL:#define _MIPS_SZLONG 64
1210// MIPS64EL:#define _MIPS_SZPTR 64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001211// MIPS64EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001212// MIPS64EL:#define __CHAR16_TYPE__ unsigned short
1213// MIPS64EL:#define __CHAR32_TYPE__ unsigned int
1214// MIPS64EL:#define __CHAR_BIT__ 8
1215// MIPS64EL:#define __CONSTANT_CFSTRINGS__ 1
1216// MIPS64EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1217// MIPS64EL:#define __DBL_DIG__ 15
1218// MIPS64EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1219// MIPS64EL:#define __DBL_HAS_DENORM__ 1
1220// MIPS64EL:#define __DBL_HAS_INFINITY__ 1
1221// MIPS64EL:#define __DBL_HAS_QUIET_NAN__ 1
1222// MIPS64EL:#define __DBL_MANT_DIG__ 53
1223// MIPS64EL:#define __DBL_MAX_10_EXP__ 308
1224// MIPS64EL:#define __DBL_MAX_EXP__ 1024
1225// MIPS64EL:#define __DBL_MAX__ 1.7976931348623157e+308
1226// MIPS64EL:#define __DBL_MIN_10_EXP__ (-307)
1227// MIPS64EL:#define __DBL_MIN_EXP__ (-1021)
1228// MIPS64EL:#define __DBL_MIN__ 2.2250738585072014e-308
1229// MIPS64EL:#define __DECIMAL_DIG__ 36
1230// MIPS64EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1231// MIPS64EL:#define __FLT_DIG__ 6
1232// MIPS64EL:#define __FLT_EPSILON__ 1.19209290e-7F
1233// MIPS64EL:#define __FLT_EVAL_METHOD__ 0
1234// MIPS64EL:#define __FLT_HAS_DENORM__ 1
1235// MIPS64EL:#define __FLT_HAS_INFINITY__ 1
1236// MIPS64EL:#define __FLT_HAS_QUIET_NAN__ 1
1237// MIPS64EL:#define __FLT_MANT_DIG__ 24
1238// MIPS64EL:#define __FLT_MAX_10_EXP__ 38
1239// MIPS64EL:#define __FLT_MAX_EXP__ 128
1240// MIPS64EL:#define __FLT_MAX__ 3.40282347e+38F
1241// MIPS64EL:#define __FLT_MIN_10_EXP__ (-37)
1242// MIPS64EL:#define __FLT_MIN_EXP__ (-125)
1243// MIPS64EL:#define __FLT_MIN__ 1.17549435e-38F
1244// MIPS64EL:#define __FLT_RADIX__ 2
1245// MIPS64EL:#define __INT16_TYPE__ short
1246// MIPS64EL:#define __INT32_TYPE__ int
1247// MIPS64EL:#define __INT64_C_SUFFIX__ LL
1248// MIPS64EL:#define __INT64_TYPE__ long long int
1249// MIPS64EL:#define __INT8_TYPE__ char
1250// MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807LL
1251// MIPS64EL:#define __INTMAX_TYPE__ long long int
1252// MIPS64EL:#define __INTMAX_WIDTH__ 64
1253// MIPS64EL:#define __INTPTR_TYPE__ long int
1254// MIPS64EL:#define __INTPTR_WIDTH__ 64
1255// MIPS64EL:#define __INT_MAX__ 2147483647
1256// MIPS64EL:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1257// MIPS64EL:#define __LDBL_DIG__ 33
1258// MIPS64EL:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1259// MIPS64EL:#define __LDBL_HAS_DENORM__ 1
1260// MIPS64EL:#define __LDBL_HAS_INFINITY__ 1
1261// MIPS64EL:#define __LDBL_HAS_QUIET_NAN__ 1
1262// MIPS64EL:#define __LDBL_MANT_DIG__ 113
1263// MIPS64EL:#define __LDBL_MAX_10_EXP__ 4932
1264// MIPS64EL:#define __LDBL_MAX_EXP__ 16384
1265// MIPS64EL:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1266// MIPS64EL:#define __LDBL_MIN_10_EXP__ (-4931)
1267// MIPS64EL:#define __LDBL_MIN_EXP__ (-16381)
1268// MIPS64EL:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1269// MIPS64EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1270// MIPS64EL:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001271// MIPS64EL:#define __LP64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001272// MIPS64EL:#define __MIPSEL 1
1273// MIPS64EL:#define __MIPSEL__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001274// MIPS64EL:#define __POINTER_WIDTH__ 64
1275// MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1276// MIPS64EL:#define __PTRDIFF_TYPE__ long int
1277// MIPS64EL:#define __PTRDIFF_WIDTH__ 64
1278// MIPS64EL:#define __REGISTER_PREFIX__
1279// MIPS64EL:#define __SCHAR_MAX__ 127
1280// MIPS64EL:#define __SHRT_MAX__ 32767
1281// MIPS64EL:#define __SIG_ATOMIC_WIDTH__ 32
1282// MIPS64EL:#define __SIZEOF_DOUBLE__ 8
1283// MIPS64EL:#define __SIZEOF_FLOAT__ 4
1284// MIPS64EL:#define __SIZEOF_INT__ 4
1285// MIPS64EL:#define __SIZEOF_LONG_DOUBLE__ 16
1286// MIPS64EL:#define __SIZEOF_LONG_LONG__ 8
1287// MIPS64EL:#define __SIZEOF_LONG__ 8
1288// MIPS64EL:#define __SIZEOF_POINTER__ 8
1289// MIPS64EL:#define __SIZEOF_PTRDIFF_T__ 8
1290// MIPS64EL:#define __SIZEOF_SHORT__ 2
1291// MIPS64EL:#define __SIZEOF_SIZE_T__ 8
1292// MIPS64EL:#define __SIZEOF_WCHAR_T__ 4
1293// MIPS64EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001294// MIPS64EL:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001295// MIPS64EL:#define __SIZE_TYPE__ long unsigned int
1296// MIPS64EL:#define __SIZE_WIDTH__ 64
1297// MIPS64EL:#define __UINTMAX_TYPE__ long long unsigned int
1298// MIPS64EL:#define __USER_LABEL_PREFIX__ _
1299// MIPS64EL:#define __WCHAR_MAX__ 2147483647
1300// MIPS64EL:#define __WCHAR_TYPE__ int
1301// MIPS64EL:#define __WCHAR_WIDTH__ 32
1302// MIPS64EL:#define __WINT_TYPE__ int
1303// MIPS64EL:#define __WINT_WIDTH__ 32
1304// MIPS64EL:#define __clang__ 1
1305// MIPS64EL:#define __llvm__ 1
1306// MIPS64EL:#define __mips 1
Simon Atanasyanc6a0be02012-08-29 20:50:11 +00001307// MIPS64EL:#define __mips64 1
1308// MIPS64EL:#define __mips64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001309// MIPS64EL:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001310// MIPS64EL:#define __mips_fpr 64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001311// MIPS64EL:#define __mips_hard_float 1
1312// MIPS64EL:#define __mips_n64 1
1313// MIPS64EL:#define _mips 1
1314// MIPS64EL:#define mips 1
1315//
Simon Atanasyan5e21c802012-04-06 17:51:49 +00001316// Check MIPS float ABI macros
1317//
1318// RUN: %clang_cc1 -E -dM -ffreestanding \
1319// RUN: -triple=mips-none-none < /dev/null \
1320// RUN: | FileCheck -check-prefix MIPS-FABI-HARD %s
1321// MIPS-FABI-HARD:#define __mips_hard_float 1
1322//
1323// RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \
1324// RUN: -triple=mips-none-none < /dev/null \
1325// RUN: | FileCheck -check-prefix MIPS-FABI-SOFT %s
1326// MIPS-FABI-SOFT:#define __mips_soft_float 1
1327//
1328// RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \
1329// RUN: -triple=mips-none-none < /dev/null \
1330// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE %s
Simon Atanasyand3d173d2012-06-05 13:06:56 +00001331// MIPS-FABI-SINGLE:#define __mips_hard_float 1
Simon Atanasyan5e21c802012-04-06 17:51:49 +00001332// MIPS-FABI-SINGLE:#define __mips_single_float 1
1333//
Simon Atanasyan16071912013-04-14 14:07:30 +00001334// RUN: %clang_cc1 -target-feature +soft-float -target-feature +single-float \
1335// RUN: -E -dM -ffreestanding -triple=mips-none-none < /dev/null \
1336// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE-SOFT %s
1337// MIPS-FABI-SINGLE-SOFT:#define __mips_single_float 1
1338// MIPS-FABI-SINGLE-SOFT:#define __mips_soft_float 1
1339//
Simon Atanasyan72244b62012-07-05 16:06:06 +00001340// Check MIPS features macros
1341//
1342// RUN: %clang_cc1 -target-feature +mips16 \
1343// RUN: -E -dM -triple=mips-none-none < /dev/null \
1344// RUN: | FileCheck -check-prefix MIPS16 %s
1345// MIPS16:#define __mips16 1
1346//
1347// RUN: %clang_cc1 -target-feature -mips16 \
1348// RUN: -E -dM -triple=mips-none-none < /dev/null \
1349// RUN: | FileCheck -check-prefix NOMIPS16 %s
1350// NOMIPS16-NOT:#define __mips16 1
1351//
Simon Atanasyan60777612013-04-14 14:07:51 +00001352// RUN: %clang_cc1 -target-feature +micromips \
1353// RUN: -E -dM -triple=mips-none-none < /dev/null \
1354// RUN: | FileCheck -check-prefix MICROMIPS %s
1355// MICROMIPS:#define __mips_micromips 1
1356//
1357// RUN: %clang_cc1 -target-feature -micromips \
1358// RUN: -E -dM -triple=mips-none-none < /dev/null \
1359// RUN: | FileCheck -check-prefix NOMICROMIPS %s
1360// NOMICROMIPS-NOT:#define __mips_micromips 1
1361//
Simon Atanasyan9780e4a2012-07-05 20:16:22 +00001362// RUN: %clang_cc1 -target-feature +dsp \
1363// RUN: -E -dM -triple=mips-none-none < /dev/null \
1364// RUN: | FileCheck -check-prefix MIPS-DSP %s
1365// MIPS-DSP:#define __mips_dsp 1
1366// MIPS-DSP:#define __mips_dsp_rev 1
1367// MIPS-DSP-NOT:#define __mips_dspr2 1
1368//
1369// RUN: %clang_cc1 -target-feature +dspr2 \
1370// RUN: -E -dM -triple=mips-none-none < /dev/null \
1371// RUN: | FileCheck -check-prefix MIPS-DSPR2 %s
1372// MIPS-DSPR2:#define __mips_dsp 1
1373// MIPS-DSPR2:#define __mips_dsp_rev 2
1374// MIPS-DSPR2:#define __mips_dspr2 1
1375//
Jack Carter44ff1e52013-08-12 17:20:29 +00001376// RUN: %clang_cc1 -target-feature +msa \
1377// RUN: -E -dM -triple=mips-none-none < /dev/null \
1378// RUN: | FileCheck -check-prefix MIPS-MSA %s
1379// MIPS-MSA:#define __mips_msa 1
1380//
Simon Atanasyan22127ce2013-09-24 09:09:16 +00001381// RUN: %clang_cc1 -target-feature +nan2008 \
1382// RUN: -E -dM -triple=mips-none-none < /dev/null \
1383// RUN: | FileCheck -check-prefix MIPS-NAN2008 %s
1384// MIPS-NAN2008:#define __mips_nan2008 1
1385//
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001386// RUN: %clang_cc1 -target-feature -fp64 \
1387// RUN: -E -dM -triple=mips-none-none < /dev/null \
1388// RUN: | FileCheck -check-prefix MIPS32-MFP32 %s
1389// MIPS32-MFP32:#define _MIPS_FPSET 16
1390// MIPS32-MFP32:#define __mips_fpr 32
1391//
1392// RUN: %clang_cc1 -target-feature +fp64 \
1393// RUN: -E -dM -triple=mips-none-none < /dev/null \
1394// RUN: | FileCheck -check-prefix MIPS32-MFP64 %s
1395// MIPS32-MFP64:#define _MIPS_FPSET 32
1396// MIPS32-MFP64:#define __mips_fpr 64
1397//
1398// RUN: %clang_cc1 -target-feature +single-float \
1399// RUN: -E -dM -triple=mips-none-none < /dev/null \
1400// RUN: | FileCheck -check-prefix MIPS32-MFP32SF %s
1401// MIPS32-MFP32SF:#define _MIPS_FPSET 32
1402// MIPS32-MFP32SF:#define __mips_fpr 32
1403//
1404// RUN: %clang_cc1 -target-feature +fp64 \
1405// RUN: -E -dM -triple=mips64-none-none < /dev/null \
1406// RUN: | FileCheck -check-prefix MIPS64-MFP64 %s
1407// MIPS64-MFP64:#define _MIPS_FPSET 32
1408// MIPS64-MFP64:#define __mips_fpr 64
1409//
1410// RUN: %clang_cc1 -target-feature -fp64 -target-feature +single-float \
1411// RUN: -E -dM -triple=mips64-none-none < /dev/null \
1412// RUN: | FileCheck -check-prefix MIPS64-NOMFP64 %s
1413// MIPS64-NOMFP64:#define _MIPS_FPSET 32
1414// MIPS64-NOMFP64:#define __mips_fpr 32
1415//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00001416// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
Chris Lattnere963d092009-10-29 04:55:36 +00001417//
1418// MSP430:#define MSP430 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001419// MSP430-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001420// MSP430:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00001421// MSP430:#define __CHAR16_TYPE__ unsigned short
1422// MSP430:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001423// MSP430:#define __CHAR_BIT__ 8
1424// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1425// MSP430:#define __DBL_DIG__ 15
1426// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
1427// MSP430:#define __DBL_HAS_DENORM__ 1
1428// MSP430:#define __DBL_HAS_INFINITY__ 1
1429// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
1430// MSP430:#define __DBL_MANT_DIG__ 53
1431// MSP430:#define __DBL_MAX_10_EXP__ 308
1432// MSP430:#define __DBL_MAX_EXP__ 1024
1433// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
1434// MSP430:#define __DBL_MIN_10_EXP__ (-307)
1435// MSP430:#define __DBL_MIN_EXP__ (-1021)
1436// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
1437// MSP430:#define __DECIMAL_DIG__ 17
1438// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1439// MSP430:#define __FLT_DIG__ 6
1440// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
1441// MSP430:#define __FLT_EVAL_METHOD__ 0
1442// MSP430:#define __FLT_HAS_DENORM__ 1
1443// MSP430:#define __FLT_HAS_INFINITY__ 1
1444// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
1445// MSP430:#define __FLT_MANT_DIG__ 24
1446// MSP430:#define __FLT_MAX_10_EXP__ 38
1447// MSP430:#define __FLT_MAX_EXP__ 128
1448// MSP430:#define __FLT_MAX__ 3.40282347e+38F
1449// MSP430:#define __FLT_MIN_10_EXP__ (-37)
1450// MSP430:#define __FLT_MIN_EXP__ (-125)
1451// MSP430:#define __FLT_MIN__ 1.17549435e-38F
1452// MSP430:#define __FLT_RADIX__ 2
1453// MSP430:#define __INT16_TYPE__ short
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00001454// MSP430:#define __INT32_C_SUFFIX__ L
Chris Lattner55c98772009-11-12 08:08:27 +00001455// MSP430:#define __INT32_TYPE__ long int
Chris Lattnere963d092009-10-29 04:55:36 +00001456// MSP430:#define __INT8_TYPE__ char
Anton Korobeynikovef412902013-07-01 19:42:40 +00001457// MSP430:#define __INTMAX_MAX__ 9223372036854775807LL
1458// MSP430:#define __INTMAX_TYPE__ long long int
1459// MSP430:#define __INTMAX_WIDTH__ 64
1460// MSP430:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00001461// MSP430:#define __INTPTR_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001462// MSP430:#define __INT_MAX__ 32767
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001463// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00001464// MSP430:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001465// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +00001466// MSP430:#define __LDBL_HAS_DENORM__ 1
1467// MSP430:#define __LDBL_HAS_INFINITY__ 1
1468// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
1469// MSP430:#define __LDBL_MANT_DIG__ 53
1470// MSP430:#define __LDBL_MAX_10_EXP__ 308
1471// MSP430:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001472// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +00001473// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
1474// MSP430:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001475// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikov485810e2010-01-14 21:36:52 +00001476// MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
Chris Lattnere963d092009-10-29 04:55:36 +00001477// MSP430:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001478// MSP430-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00001479// MSP430:#define __MSP430__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00001480// MSP430:#define __POINTER_WIDTH__ 16
Ken Dyck9b25f782009-11-19 13:18:59 +00001481// MSP430:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00001482// MSP430:#define __PTRDIFF_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001483// MSP430:#define __SCHAR_MAX__ 127
1484// MSP430:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00001485// MSP430:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00001486// MSP430:#define __SIZEOF_DOUBLE__ 8
1487// MSP430:#define __SIZEOF_FLOAT__ 4
1488// MSP430:#define __SIZEOF_INT__ 2
1489// MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
1490// MSP430:#define __SIZEOF_LONG_LONG__ 8
1491// MSP430:#define __SIZEOF_LONG__ 4
1492// MSP430:#define __SIZEOF_POINTER__ 2
1493// MSP430:#define __SIZEOF_PTRDIFF_T__ 2
1494// MSP430:#define __SIZEOF_SHORT__ 2
1495// MSP430:#define __SIZEOF_SIZE_T__ 2
1496// MSP430:#define __SIZEOF_WCHAR_T__ 2
1497// MSP430:#define __SIZEOF_WINT_T__ 2
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001498// MSP430:#define __SIZE_MAX__ 65535U
Chris Lattnere963d092009-10-29 04:55:36 +00001499// MSP430:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00001500// MSP430:#define __SIZE_WIDTH__ 16
Anton Korobeynikovef412902013-07-01 19:42:40 +00001501// MSP430:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001502// MSP430:#define __USER_LABEL_PREFIX__ _
Chris Lattner0fb5bbd2009-11-12 08:04:33 +00001503// MSP430:#define __WCHAR_MAX__ 32767
Chris Lattnere963d092009-10-29 04:55:36 +00001504// MSP430:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00001505// MSP430:#define __WCHAR_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001506// MSP430:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00001507// MSP430:#define __WINT_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001508// MSP430:#define __clang__ 1
1509//
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001510// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s
1511//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001512// NVPTX32-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001513// NVPTX32:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001514// NVPTX32:#define __CHAR16_TYPE__ unsigned short
1515// NVPTX32:#define __CHAR32_TYPE__ unsigned int
1516// NVPTX32:#define __CHAR_BIT__ 8
1517// NVPTX32:#define __CONSTANT_CFSTRINGS__ 1
1518// NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1519// NVPTX32:#define __DBL_DIG__ 15
1520// NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16
1521// NVPTX32:#define __DBL_HAS_DENORM__ 1
1522// NVPTX32:#define __DBL_HAS_INFINITY__ 1
1523// NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1
1524// NVPTX32:#define __DBL_MANT_DIG__ 53
1525// NVPTX32:#define __DBL_MAX_10_EXP__ 308
1526// NVPTX32:#define __DBL_MAX_EXP__ 1024
1527// NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308
1528// NVPTX32:#define __DBL_MIN_10_EXP__ (-307)
1529// NVPTX32:#define __DBL_MIN_EXP__ (-1021)
1530// NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308
1531// NVPTX32:#define __DECIMAL_DIG__ 17
1532// NVPTX32:#define __FINITE_MATH_ONLY__ 0
1533// NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1534// NVPTX32:#define __FLT_DIG__ 6
1535// NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F
1536// NVPTX32:#define __FLT_EVAL_METHOD__ 0
1537// NVPTX32:#define __FLT_HAS_DENORM__ 1
1538// NVPTX32:#define __FLT_HAS_INFINITY__ 1
1539// NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1
1540// NVPTX32:#define __FLT_MANT_DIG__ 24
1541// NVPTX32:#define __FLT_MAX_10_EXP__ 38
1542// NVPTX32:#define __FLT_MAX_EXP__ 128
1543// NVPTX32:#define __FLT_MAX__ 3.40282347e+38F
1544// NVPTX32:#define __FLT_MIN_10_EXP__ (-37)
1545// NVPTX32:#define __FLT_MIN_EXP__ (-125)
1546// NVPTX32:#define __FLT_MIN__ 1.17549435e-38F
1547// NVPTX32:#define __FLT_RADIX__ 2
1548// NVPTX32:#define __INT16_TYPE__ short
1549// NVPTX32:#define __INT32_TYPE__ int
1550// NVPTX32:#define __INT64_C_SUFFIX__ LL
1551// NVPTX32:#define __INT64_TYPE__ long long int
1552// NVPTX32:#define __INT8_TYPE__ char
1553// NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL
1554// NVPTX32:#define __INTMAX_TYPE__ long long int
1555// NVPTX32:#define __INTMAX_WIDTH__ 64
1556// NVPTX32:#define __INTPTR_TYPE__ unsigned int
1557// NVPTX32:#define __INTPTR_WIDTH__ 32
1558// NVPTX32:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001559// NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001560// NVPTX32:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001561// NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001562// NVPTX32:#define __LDBL_HAS_DENORM__ 1
1563// NVPTX32:#define __LDBL_HAS_INFINITY__ 1
1564// NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1
1565// NVPTX32:#define __LDBL_MANT_DIG__ 53
1566// NVPTX32:#define __LDBL_MAX_10_EXP__ 308
1567// NVPTX32:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001568// NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001569// NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
1570// NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001571// NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001572// NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL
1573// NVPTX32:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001574// NVPTX32-NOT:#define __LP64__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001575// NVPTX32:#define __NVPTX__ 1
1576// NVPTX32:#define __POINTER_WIDTH__ 32
1577// NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1
1578// NVPTX32:#define __PTRDIFF_TYPE__ unsigned int
1579// NVPTX32:#define __PTRDIFF_WIDTH__ 32
1580// NVPTX32:#define __PTX__ 1
1581// NVPTX32:#define __SCHAR_MAX__ 127
1582// NVPTX32:#define __SHRT_MAX__ 32767
1583// NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32
1584// NVPTX32:#define __SIZEOF_DOUBLE__ 8
1585// NVPTX32:#define __SIZEOF_FLOAT__ 4
1586// NVPTX32:#define __SIZEOF_INT__ 4
1587// NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8
1588// NVPTX32:#define __SIZEOF_LONG_LONG__ 8
1589// NVPTX32:#define __SIZEOF_LONG__ 8
1590// NVPTX32:#define __SIZEOF_POINTER__ 4
1591// NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4
1592// NVPTX32:#define __SIZEOF_SHORT__ 2
1593// NVPTX32:#define __SIZEOF_SIZE_T__ 4
1594// NVPTX32:#define __SIZEOF_WCHAR_T__ 4
1595// NVPTX32:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001596// NVPTX32:#define __SIZE_MAX__ 4294967295U
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001597// NVPTX32:#define __SIZE_TYPE__ unsigned int
1598// NVPTX32:#define __SIZE_WIDTH__ 32
1599// NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int
1600// NVPTX32:#define __USER_LABEL_PREFIX__ _
1601// NVPTX32:#define __WCHAR_MAX__ 2147483647
1602// NVPTX32:#define __WCHAR_TYPE__ int
1603// NVPTX32:#define __WCHAR_WIDTH__ 32
1604// NVPTX32:#define __WINT_TYPE__ int
1605// NVPTX32:#define __WINT_WIDTH__ 32
1606//
1607// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -check-prefix NVPTX64 %s
1608//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001609// NVPTX64:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001610// NVPTX64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001611// NVPTX64:#define __CHAR16_TYPE__ unsigned short
1612// NVPTX64:#define __CHAR32_TYPE__ unsigned int
1613// NVPTX64:#define __CHAR_BIT__ 8
1614// NVPTX64:#define __CONSTANT_CFSTRINGS__ 1
1615// NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1616// NVPTX64:#define __DBL_DIG__ 15
1617// NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1618// NVPTX64:#define __DBL_HAS_DENORM__ 1
1619// NVPTX64:#define __DBL_HAS_INFINITY__ 1
1620// NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1
1621// NVPTX64:#define __DBL_MANT_DIG__ 53
1622// NVPTX64:#define __DBL_MAX_10_EXP__ 308
1623// NVPTX64:#define __DBL_MAX_EXP__ 1024
1624// NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308
1625// NVPTX64:#define __DBL_MIN_10_EXP__ (-307)
1626// NVPTX64:#define __DBL_MIN_EXP__ (-1021)
1627// NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308
1628// NVPTX64:#define __DECIMAL_DIG__ 17
1629// NVPTX64:#define __FINITE_MATH_ONLY__ 0
1630// NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1631// NVPTX64:#define __FLT_DIG__ 6
1632// NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F
1633// NVPTX64:#define __FLT_EVAL_METHOD__ 0
1634// NVPTX64:#define __FLT_HAS_DENORM__ 1
1635// NVPTX64:#define __FLT_HAS_INFINITY__ 1
1636// NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1
1637// NVPTX64:#define __FLT_MANT_DIG__ 24
1638// NVPTX64:#define __FLT_MAX_10_EXP__ 38
1639// NVPTX64:#define __FLT_MAX_EXP__ 128
1640// NVPTX64:#define __FLT_MAX__ 3.40282347e+38F
1641// NVPTX64:#define __FLT_MIN_10_EXP__ (-37)
1642// NVPTX64:#define __FLT_MIN_EXP__ (-125)
1643// NVPTX64:#define __FLT_MIN__ 1.17549435e-38F
1644// NVPTX64:#define __FLT_RADIX__ 2
1645// NVPTX64:#define __INT16_TYPE__ short
1646// NVPTX64:#define __INT32_TYPE__ int
1647// NVPTX64:#define __INT64_C_SUFFIX__ LL
1648// NVPTX64:#define __INT64_TYPE__ long long int
1649// NVPTX64:#define __INT8_TYPE__ char
1650// NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL
1651// NVPTX64:#define __INTMAX_TYPE__ long long int
1652// NVPTX64:#define __INTMAX_WIDTH__ 64
1653// NVPTX64:#define __INTPTR_TYPE__ long long unsigned int
1654// NVPTX64:#define __INTPTR_WIDTH__ 64
1655// NVPTX64:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001656// NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001657// NVPTX64:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001658// NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001659// NVPTX64:#define __LDBL_HAS_DENORM__ 1
1660// NVPTX64:#define __LDBL_HAS_INFINITY__ 1
1661// NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1
1662// NVPTX64:#define __LDBL_MANT_DIG__ 53
1663// NVPTX64:#define __LDBL_MAX_10_EXP__ 308
1664// NVPTX64:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001665// NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001666// NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
1667// NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001668// NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001669// NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1670// NVPTX64:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001671// NVPTX64:#define __LP64__ 1
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001672// NVPTX64:#define __NVPTX__ 1
1673// NVPTX64:#define __POINTER_WIDTH__ 64
1674// NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1
1675// NVPTX64:#define __PTRDIFF_TYPE__ long long unsigned int
1676// NVPTX64:#define __PTRDIFF_WIDTH__ 64
1677// NVPTX64:#define __PTX__ 1
1678// NVPTX64:#define __SCHAR_MAX__ 127
1679// NVPTX64:#define __SHRT_MAX__ 32767
1680// NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32
1681// NVPTX64:#define __SIZEOF_DOUBLE__ 8
1682// NVPTX64:#define __SIZEOF_FLOAT__ 4
1683// NVPTX64:#define __SIZEOF_INT__ 4
1684// NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8
1685// NVPTX64:#define __SIZEOF_LONG_LONG__ 8
1686// NVPTX64:#define __SIZEOF_LONG__ 8
1687// NVPTX64:#define __SIZEOF_POINTER__ 8
1688// NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8
1689// NVPTX64:#define __SIZEOF_SHORT__ 2
1690// NVPTX64:#define __SIZEOF_SIZE_T__ 8
1691// NVPTX64:#define __SIZEOF_WCHAR_T__ 4
1692// NVPTX64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001693// NVPTX64:#define __SIZE_MAX__ 18446744073709551615UL
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001694// NVPTX64:#define __SIZE_TYPE__ long long unsigned int
1695// NVPTX64:#define __SIZE_WIDTH__ 64
1696// NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int
1697// NVPTX64:#define __USER_LABEL_PREFIX__ _
1698// NVPTX64:#define __WCHAR_MAX__ 2147483647
1699// NVPTX64:#define __WCHAR_TYPE__ int
1700// NVPTX64:#define __WCHAR_WIDTH__ 32
1701// NVPTX64:#define __WINT_TYPE__ int
1702// NVPTX64:#define __WINT_WIDTH__ 32
1703//
Hal Finkel6b984f02012-07-03 16:51:04 +00001704// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -check-prefix PPC603E %s
1705//
1706// PPC603E:#define _ARCH_603 1
1707// PPC603E:#define _ARCH_603E 1
1708// PPC603E:#define _ARCH_PPC 1
1709// PPC603E:#define _ARCH_PPCGR 1
1710// PPC603E:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001711// PPC603E-NOT:#define _LP64
Hal Finkel6b984f02012-07-03 16:51:04 +00001712// PPC603E:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001713// PPC603E:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Hal Finkel6b984f02012-07-03 16:51:04 +00001714// PPC603E:#define __CHAR16_TYPE__ unsigned short
1715// PPC603E:#define __CHAR32_TYPE__ unsigned int
1716// PPC603E:#define __CHAR_BIT__ 8
1717// PPC603E:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1718// PPC603E:#define __DBL_DIG__ 15
1719// PPC603E:#define __DBL_EPSILON__ 2.2204460492503131e-16
1720// PPC603E:#define __DBL_HAS_DENORM__ 1
1721// PPC603E:#define __DBL_HAS_INFINITY__ 1
1722// PPC603E:#define __DBL_HAS_QUIET_NAN__ 1
1723// PPC603E:#define __DBL_MANT_DIG__ 53
1724// PPC603E:#define __DBL_MAX_10_EXP__ 308
1725// PPC603E:#define __DBL_MAX_EXP__ 1024
1726// PPC603E:#define __DBL_MAX__ 1.7976931348623157e+308
1727// PPC603E:#define __DBL_MIN_10_EXP__ (-307)
1728// PPC603E:#define __DBL_MIN_EXP__ (-1021)
1729// PPC603E:#define __DBL_MIN__ 2.2250738585072014e-308
1730// PPC603E:#define __DECIMAL_DIG__ 33
1731// PPC603E:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1732// PPC603E:#define __FLT_DIG__ 6
1733// PPC603E:#define __FLT_EPSILON__ 1.19209290e-7F
1734// PPC603E:#define __FLT_EVAL_METHOD__ 0
1735// PPC603E:#define __FLT_HAS_DENORM__ 1
1736// PPC603E:#define __FLT_HAS_INFINITY__ 1
1737// PPC603E:#define __FLT_HAS_QUIET_NAN__ 1
1738// PPC603E:#define __FLT_MANT_DIG__ 24
1739// PPC603E:#define __FLT_MAX_10_EXP__ 38
1740// PPC603E:#define __FLT_MAX_EXP__ 128
1741// PPC603E:#define __FLT_MAX__ 3.40282347e+38F
1742// PPC603E:#define __FLT_MIN_10_EXP__ (-37)
1743// PPC603E:#define __FLT_MIN_EXP__ (-125)
1744// PPC603E:#define __FLT_MIN__ 1.17549435e-38F
1745// PPC603E:#define __FLT_RADIX__ 2
1746// PPC603E:#define __INT16_TYPE__ short
1747// PPC603E:#define __INT32_TYPE__ int
1748// PPC603E:#define __INT64_C_SUFFIX__ LL
1749// PPC603E:#define __INT64_TYPE__ long long int
1750// PPC603E:#define __INT8_TYPE__ char
1751// PPC603E:#define __INTMAX_MAX__ 9223372036854775807LL
1752// PPC603E:#define __INTMAX_TYPE__ long long int
1753// PPC603E:#define __INTMAX_WIDTH__ 64
1754// PPC603E:#define __INTPTR_TYPE__ long int
1755// PPC603E:#define __INTPTR_WIDTH__ 32
1756// PPC603E:#define __INT_MAX__ 2147483647
1757// PPC603E:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1758// PPC603E:#define __LDBL_DIG__ 31
1759// PPC603E:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1760// PPC603E:#define __LDBL_HAS_DENORM__ 1
1761// PPC603E:#define __LDBL_HAS_INFINITY__ 1
1762// PPC603E:#define __LDBL_HAS_QUIET_NAN__ 1
1763// PPC603E:#define __LDBL_MANT_DIG__ 106
1764// PPC603E:#define __LDBL_MAX_10_EXP__ 308
1765// PPC603E:#define __LDBL_MAX_EXP__ 1024
1766// PPC603E:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1767// PPC603E:#define __LDBL_MIN_10_EXP__ (-291)
1768// PPC603E:#define __LDBL_MIN_EXP__ (-968)
1769// PPC603E:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1770// PPC603E:#define __LONG_DOUBLE_128__ 1
1771// PPC603E:#define __LONG_LONG_MAX__ 9223372036854775807LL
1772// PPC603E:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001773// PPC603E-NOT:#define __LP64__
Hal Finkel6b984f02012-07-03 16:51:04 +00001774// PPC603E:#define __NATURAL_ALIGNMENT__ 1
Hal Finkel6b984f02012-07-03 16:51:04 +00001775// PPC603E:#define __POINTER_WIDTH__ 32
1776// PPC603E:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00001777// PPC603E:#define __PPC__ 1
Hal Finkel6b984f02012-07-03 16:51:04 +00001778// PPC603E:#define __PTRDIFF_TYPE__ long int
1779// PPC603E:#define __PTRDIFF_WIDTH__ 32
1780// PPC603E:#define __REGISTER_PREFIX__
1781// PPC603E:#define __SCHAR_MAX__ 127
1782// PPC603E:#define __SHRT_MAX__ 32767
1783// PPC603E:#define __SIG_ATOMIC_WIDTH__ 32
1784// PPC603E:#define __SIZEOF_DOUBLE__ 8
1785// PPC603E:#define __SIZEOF_FLOAT__ 4
1786// PPC603E:#define __SIZEOF_INT__ 4
1787// PPC603E:#define __SIZEOF_LONG_DOUBLE__ 16
1788// PPC603E:#define __SIZEOF_LONG_LONG__ 8
1789// PPC603E:#define __SIZEOF_LONG__ 4
1790// PPC603E:#define __SIZEOF_POINTER__ 4
1791// PPC603E:#define __SIZEOF_PTRDIFF_T__ 4
1792// PPC603E:#define __SIZEOF_SHORT__ 2
1793// PPC603E:#define __SIZEOF_SIZE_T__ 4
1794// PPC603E:#define __SIZEOF_WCHAR_T__ 4
1795// PPC603E:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001796// PPC603E:#define __SIZE_MAX__ 4294967295U
Hal Finkel6b984f02012-07-03 16:51:04 +00001797// PPC603E:#define __SIZE_TYPE__ long unsigned int
1798// PPC603E:#define __SIZE_WIDTH__ 32
1799// PPC603E:#define __UINTMAX_TYPE__ long long unsigned int
1800// PPC603E:#define __USER_LABEL_PREFIX__ _
1801// PPC603E:#define __WCHAR_MAX__ 2147483647
1802// PPC603E:#define __WCHAR_TYPE__ int
1803// PPC603E:#define __WCHAR_WIDTH__ 32
1804// PPC603E:#define __WINT_TYPE__ int
1805// PPC603E:#define __WINT_WIDTH__ 32
1806// PPC603E:#define __powerpc__ 1
1807// PPC603E:#define __ppc__ 1
1808//
Hal Finkel8eb59282012-06-11 22:35:19 +00001809// 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 +00001810//
1811// PPC64:#define _ARCH_PPC 1
1812// PPC64:#define _ARCH_PPC64 1
Hal Finkel6b984f02012-07-03 16:51:04 +00001813// PPC64:#define _ARCH_PPCGR 1
1814// PPC64:#define _ARCH_PPCSQ 1
1815// PPC64:#define _ARCH_PWR4 1
1816// PPC64:#define _ARCH_PWR5 1
1817// PPC64:#define _ARCH_PWR6 1
Hal Finkel8eb59282012-06-11 22:35:19 +00001818// PPC64:#define _ARCH_PWR7 1
Chris Lattnere963d092009-10-29 04:55:36 +00001819// PPC64:#define _BIG_ENDIAN 1
1820// PPC64:#define _LP64 1
1821// PPC64:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001822// PPC64:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00001823// PPC64:#define __CHAR16_TYPE__ unsigned short
1824// PPC64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001825// PPC64:#define __CHAR_BIT__ 8
1826// PPC64:#define __CHAR_UNSIGNED__ 1
1827// PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1828// PPC64:#define __DBL_DIG__ 15
1829// PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1830// PPC64:#define __DBL_HAS_DENORM__ 1
1831// PPC64:#define __DBL_HAS_INFINITY__ 1
1832// PPC64:#define __DBL_HAS_QUIET_NAN__ 1
1833// PPC64:#define __DBL_MANT_DIG__ 53
1834// PPC64:#define __DBL_MAX_10_EXP__ 308
1835// PPC64:#define __DBL_MAX_EXP__ 1024
1836// PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
1837// PPC64:#define __DBL_MIN_10_EXP__ (-307)
1838// PPC64:#define __DBL_MIN_EXP__ (-1021)
1839// PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber3435ede2012-01-31 02:07:33 +00001840// PPC64:#define __DECIMAL_DIG__ 33
Chris Lattnere963d092009-10-29 04:55:36 +00001841// PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1842// PPC64:#define __FLT_DIG__ 6
1843// PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
1844// PPC64:#define __FLT_EVAL_METHOD__ 0
1845// PPC64:#define __FLT_HAS_DENORM__ 1
1846// PPC64:#define __FLT_HAS_INFINITY__ 1
1847// PPC64:#define __FLT_HAS_QUIET_NAN__ 1
1848// PPC64:#define __FLT_MANT_DIG__ 24
1849// PPC64:#define __FLT_MAX_10_EXP__ 38
1850// PPC64:#define __FLT_MAX_EXP__ 128
1851// PPC64:#define __FLT_MAX__ 3.40282347e+38F
1852// PPC64:#define __FLT_MIN_10_EXP__ (-37)
1853// PPC64:#define __FLT_MIN_EXP__ (-125)
1854// PPC64:#define __FLT_MIN__ 1.17549435e-38F
1855// PPC64:#define __FLT_RADIX__ 2
1856// PPC64:#define __INT16_TYPE__ short
1857// PPC64:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00001858// PPC64:#define __INT64_C_SUFFIX__ L
Chris Lattnere963d092009-10-29 04:55:36 +00001859// PPC64:#define __INT64_TYPE__ long int
1860// PPC64:#define __INT8_TYPE__ char
1861// PPC64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck9b25f782009-11-19 13:18:59 +00001862// PPC64:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00001863// PPC64:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00001864// PPC64:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00001865// PPC64:#define __INTPTR_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00001866// PPC64:#define __INT_MAX__ 2147483647
Nico Weber3435ede2012-01-31 02:07:33 +00001867// PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1868// PPC64:#define __LDBL_DIG__ 31
1869// PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00001870// PPC64:#define __LDBL_HAS_DENORM__ 1
1871// PPC64:#define __LDBL_HAS_INFINITY__ 1
1872// PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00001873// PPC64:#define __LDBL_MANT_DIG__ 106
Chris Lattnere963d092009-10-29 04:55:36 +00001874// PPC64:#define __LDBL_MAX_10_EXP__ 308
1875// PPC64:#define __LDBL_MAX_EXP__ 1024
Nico Weber3435ede2012-01-31 02:07:33 +00001876// PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1877// PPC64:#define __LDBL_MIN_10_EXP__ (-291)
1878// PPC64:#define __LDBL_MIN_EXP__ (-968)
1879// PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnere963d092009-10-29 04:55:36 +00001880// PPC64:#define __LONG_DOUBLE_128__ 1
1881// PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1882// PPC64:#define __LONG_MAX__ 9223372036854775807L
1883// PPC64:#define __LP64__ 1
1884// PPC64:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00001885// PPC64:#define __POINTER_WIDTH__ 64
1886// PPC64:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00001887// PPC64:#define __PPC64__ 1
1888// PPC64:#define __PPC__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00001889// PPC64:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00001890// PPC64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00001891// PPC64:#define __REGISTER_PREFIX__
1892// PPC64:#define __SCHAR_MAX__ 127
1893// PPC64:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00001894// PPC64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00001895// PPC64:#define __SIZEOF_DOUBLE__ 8
1896// PPC64:#define __SIZEOF_FLOAT__ 4
1897// PPC64:#define __SIZEOF_INT__ 4
Nico Weber3435ede2012-01-31 02:07:33 +00001898// PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohman04f87202010-05-28 00:27:15 +00001899// PPC64:#define __SIZEOF_LONG_LONG__ 8
1900// PPC64:#define __SIZEOF_LONG__ 8
1901// PPC64:#define __SIZEOF_POINTER__ 8
1902// PPC64:#define __SIZEOF_PTRDIFF_T__ 8
1903// PPC64:#define __SIZEOF_SHORT__ 2
1904// PPC64:#define __SIZEOF_SIZE_T__ 8
1905// PPC64:#define __SIZEOF_WCHAR_T__ 4
1906// PPC64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001907// PPC64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnere963d092009-10-29 04:55:36 +00001908// PPC64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00001909// PPC64:#define __SIZE_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00001910// PPC64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001911// PPC64:#define __USER_LABEL_PREFIX__ _
1912// PPC64:#define __WCHAR_MAX__ 2147483647
1913// PPC64:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00001914// PPC64:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00001915// PPC64:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00001916// PPC64:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00001917// PPC64:#define __ppc64__ 1
1918// PPC64:#define __ppc__ 1
1919//
Bill Schmidt778d3872013-07-26 01:36:11 +00001920// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64LE %s
1921//
1922// PPC64LE:#define _ARCH_PPC 1
1923// PPC64LE:#define _ARCH_PPC64 1
1924// PPC64LE:#define _ARCH_PPCGR 1
1925// PPC64LE:#define _ARCH_PPCSQ 1
1926// PPC64LE:#define _ARCH_PWR4 1
1927// PPC64LE:#define _ARCH_PWR5 1
1928// PPC64LE:#define _ARCH_PWR5X 1
1929// PPC64LE:#define _ARCH_PWR6 1
1930// PPC64LE:#define _ARCH_PWR6X 1
1931// PPC64LE:#define _ARCH_PWR7 1
1932// PPC64LE:#define _LITTLE_ENDIAN 1
1933// PPC64LE:#define _LP64 1
1934// PPC64LE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1935// PPC64LE:#define __CHAR16_TYPE__ unsigned short
1936// PPC64LE:#define __CHAR32_TYPE__ unsigned int
1937// PPC64LE:#define __CHAR_BIT__ 8
1938// PPC64LE:#define __CHAR_UNSIGNED__ 1
1939// PPC64LE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1940// PPC64LE:#define __DBL_DIG__ 15
1941// PPC64LE:#define __DBL_EPSILON__ 2.2204460492503131e-16
1942// PPC64LE:#define __DBL_HAS_DENORM__ 1
1943// PPC64LE:#define __DBL_HAS_INFINITY__ 1
1944// PPC64LE:#define __DBL_HAS_QUIET_NAN__ 1
1945// PPC64LE:#define __DBL_MANT_DIG__ 53
1946// PPC64LE:#define __DBL_MAX_10_EXP__ 308
1947// PPC64LE:#define __DBL_MAX_EXP__ 1024
1948// PPC64LE:#define __DBL_MAX__ 1.7976931348623157e+308
1949// PPC64LE:#define __DBL_MIN_10_EXP__ (-307)
1950// PPC64LE:#define __DBL_MIN_EXP__ (-1021)
1951// PPC64LE:#define __DBL_MIN__ 2.2250738585072014e-308
1952// PPC64LE:#define __DECIMAL_DIG__ 33
1953// PPC64LE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1954// PPC64LE:#define __FLT_DIG__ 6
1955// PPC64LE:#define __FLT_EPSILON__ 1.19209290e-7F
1956// PPC64LE:#define __FLT_EVAL_METHOD__ 0
1957// PPC64LE:#define __FLT_HAS_DENORM__ 1
1958// PPC64LE:#define __FLT_HAS_INFINITY__ 1
1959// PPC64LE:#define __FLT_HAS_QUIET_NAN__ 1
1960// PPC64LE:#define __FLT_MANT_DIG__ 24
1961// PPC64LE:#define __FLT_MAX_10_EXP__ 38
1962// PPC64LE:#define __FLT_MAX_EXP__ 128
1963// PPC64LE:#define __FLT_MAX__ 3.40282347e+38F
1964// PPC64LE:#define __FLT_MIN_10_EXP__ (-37)
1965// PPC64LE:#define __FLT_MIN_EXP__ (-125)
1966// PPC64LE:#define __FLT_MIN__ 1.17549435e-38F
1967// PPC64LE:#define __FLT_RADIX__ 2
1968// PPC64LE:#define __INT16_TYPE__ short
1969// PPC64LE:#define __INT32_TYPE__ int
1970// PPC64LE:#define __INT64_C_SUFFIX__ L
1971// PPC64LE:#define __INT64_TYPE__ long int
1972// PPC64LE:#define __INT8_TYPE__ char
1973// PPC64LE:#define __INTMAX_MAX__ 9223372036854775807L
1974// PPC64LE:#define __INTMAX_TYPE__ long int
1975// PPC64LE:#define __INTMAX_WIDTH__ 64
1976// PPC64LE:#define __INTPTR_TYPE__ long int
1977// PPC64LE:#define __INTPTR_WIDTH__ 64
1978// PPC64LE:#define __INT_MAX__ 2147483647
1979// PPC64LE:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1980// PPC64LE:#define __LDBL_DIG__ 31
1981// PPC64LE:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1982// PPC64LE:#define __LDBL_HAS_DENORM__ 1
1983// PPC64LE:#define __LDBL_HAS_INFINITY__ 1
1984// PPC64LE:#define __LDBL_HAS_QUIET_NAN__ 1
1985// PPC64LE:#define __LDBL_MANT_DIG__ 106
1986// PPC64LE:#define __LDBL_MAX_10_EXP__ 308
1987// PPC64LE:#define __LDBL_MAX_EXP__ 1024
1988// PPC64LE:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1989// PPC64LE:#define __LDBL_MIN_10_EXP__ (-291)
1990// PPC64LE:#define __LDBL_MIN_EXP__ (-968)
1991// PPC64LE:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1992// PPC64LE:#define __LITTLE_ENDIAN__ 1
1993// PPC64LE:#define __LONG_DOUBLE_128__ 1
1994// PPC64LE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1995// PPC64LE:#define __LONG_MAX__ 9223372036854775807L
1996// PPC64LE:#define __LP64__ 1
1997// PPC64LE:#define __NATURAL_ALIGNMENT__ 1
1998// PPC64LE:#define __POINTER_WIDTH__ 64
1999// PPC64LE:#define __POWERPC__ 1
2000// PPC64LE:#define __PPC64__ 1
2001// PPC64LE:#define __PPC__ 1
2002// PPC64LE:#define __PTRDIFF_TYPE__ long int
2003// PPC64LE:#define __PTRDIFF_WIDTH__ 64
2004// PPC64LE:#define __REGISTER_PREFIX__
2005// PPC64LE:#define __SCHAR_MAX__ 127
2006// PPC64LE:#define __SHRT_MAX__ 32767
2007// PPC64LE:#define __SIG_ATOMIC_WIDTH__ 32
2008// PPC64LE:#define __SIZEOF_DOUBLE__ 8
2009// PPC64LE:#define __SIZEOF_FLOAT__ 4
2010// PPC64LE:#define __SIZEOF_INT__ 4
2011// PPC64LE:#define __SIZEOF_LONG_DOUBLE__ 16
2012// PPC64LE:#define __SIZEOF_LONG_LONG__ 8
2013// PPC64LE:#define __SIZEOF_LONG__ 8
2014// PPC64LE:#define __SIZEOF_POINTER__ 8
2015// PPC64LE:#define __SIZEOF_PTRDIFF_T__ 8
2016// PPC64LE:#define __SIZEOF_SHORT__ 2
2017// PPC64LE:#define __SIZEOF_SIZE_T__ 8
2018// PPC64LE:#define __SIZEOF_WCHAR_T__ 4
2019// PPC64LE:#define __SIZEOF_WINT_T__ 4
2020// PPC64LE:#define __SIZE_MAX__ 18446744073709551615UL
2021// PPC64LE:#define __SIZE_TYPE__ long unsigned int
2022// PPC64LE:#define __SIZE_WIDTH__ 64
2023// PPC64LE:#define __UINTMAX_TYPE__ long unsigned int
2024// PPC64LE:#define __USER_LABEL_PREFIX__ _
2025// PPC64LE:#define __WCHAR_MAX__ 2147483647
2026// PPC64LE:#define __WCHAR_TYPE__ int
2027// PPC64LE:#define __WCHAR_WIDTH__ 32
2028// PPC64LE:#define __WINT_TYPE__ int
2029// PPC64LE:#define __WINT_WIDTH__ 32
2030// PPC64LE:#define __ppc64__ 1
2031// PPC64LE:#define __ppc__ 1
2032//
Hal Finkeldf1e4bf2013-02-01 05:53:33 +00002033// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu a2q -fno-signed-char < /dev/null | FileCheck -check-prefix PPCA2Q %s
2034//
2035// PPCA2Q:#define _ARCH_A2 1
2036// PPCA2Q:#define _ARCH_A2Q 1
2037// PPCA2Q:#define _ARCH_PPC 1
2038// PPCA2Q:#define _ARCH_PPC64 1
2039// PPCA2Q:#define _ARCH_QP 1
2040//
2041// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-bgq-linux -fno-signed-char < /dev/null | FileCheck -check-prefix PPCBGQ %s
2042//
2043// PPCBGQ:#define __THW_BLUEGENE__ 1
2044// PPCBGQ:#define __TOS_BGQ__ 1
2045// PPCBGQ:#define __bg__ 1
2046// PPCBGQ:#define __bgq__ 1
2047//
Bill Schmidt38378a02013-02-01 20:23:10 +00002048// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu 630 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC630 %s
2049//
2050// PPC630:#define _ARCH_630 1
2051// PPC630:#define _ARCH_PPC 1
2052// PPC630:#define _ARCH_PPC64 1
2053// PPC630:#define _ARCH_PPCGR 1
2054//
2055// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR3 %s
2056//
2057// PPCPWR3:#define _ARCH_PPC 1
2058// PPCPWR3:#define _ARCH_PPC64 1
2059// PPCPWR3:#define _ARCH_PPCGR 1
2060//
2061// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER3 %s
2062//
2063// PPCPOWER3:#define _ARCH_PPC 1
2064// PPCPOWER3:#define _ARCH_PPC64 1
2065// PPCPOWER3:#define _ARCH_PPCGR 1
2066//
2067// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR4 %s
2068//
2069// PPCPWR4:#define _ARCH_PPC 1
2070// PPCPWR4:#define _ARCH_PPC64 1
2071// PPCPWR4:#define _ARCH_PPCGR 1
2072// PPCPWR4:#define _ARCH_PPCSQ 1
2073// PPCPWR4:#define _ARCH_PWR4 1
2074//
2075// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER4 %s
2076//
2077// PPCPOWER4:#define _ARCH_PPC 1
2078// PPCPOWER4:#define _ARCH_PPC64 1
2079// PPCPOWER4:#define _ARCH_PPCGR 1
2080// PPCPOWER4:#define _ARCH_PPCSQ 1
2081// PPCPOWER4:#define _ARCH_PWR4 1
2082//
2083// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5 %s
2084//
2085// PPCPWR5:#define _ARCH_PPC 1
2086// PPCPWR5:#define _ARCH_PPC64 1
2087// PPCPWR5:#define _ARCH_PPCGR 1
2088// PPCPWR5:#define _ARCH_PPCSQ 1
2089// PPCPWR5:#define _ARCH_PWR4 1
2090// PPCPWR5:#define _ARCH_PWR5 1
2091//
2092// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5 %s
2093//
2094// PPCPOWER5:#define _ARCH_PPC 1
2095// PPCPOWER5:#define _ARCH_PPC64 1
2096// PPCPOWER5:#define _ARCH_PPCGR 1
2097// PPCPOWER5:#define _ARCH_PPCSQ 1
2098// PPCPOWER5:#define _ARCH_PWR4 1
2099// PPCPOWER5:#define _ARCH_PWR5 1
2100//
2101// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5X %s
2102//
2103// PPCPWR5X:#define _ARCH_PPC 1
2104// PPCPWR5X:#define _ARCH_PPC64 1
2105// PPCPWR5X:#define _ARCH_PPCGR 1
2106// PPCPWR5X:#define _ARCH_PPCSQ 1
2107// PPCPWR5X:#define _ARCH_PWR4 1
2108// PPCPWR5X:#define _ARCH_PWR5 1
2109// PPCPWR5X:#define _ARCH_PWR5X 1
2110//
2111// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5X %s
2112//
2113// PPCPOWER5X:#define _ARCH_PPC 1
2114// PPCPOWER5X:#define _ARCH_PPC64 1
2115// PPCPOWER5X:#define _ARCH_PPCGR 1
2116// PPCPOWER5X:#define _ARCH_PPCSQ 1
2117// PPCPOWER5X:#define _ARCH_PWR4 1
2118// PPCPOWER5X:#define _ARCH_PWR5 1
2119// PPCPOWER5X:#define _ARCH_PWR5X 1
2120//
2121// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6 %s
2122//
2123// PPCPWR6:#define _ARCH_PPC 1
2124// PPCPWR6:#define _ARCH_PPC64 1
2125// PPCPWR6:#define _ARCH_PPCGR 1
2126// PPCPWR6:#define _ARCH_PPCSQ 1
2127// PPCPWR6:#define _ARCH_PWR4 1
2128// PPCPWR6:#define _ARCH_PWR5 1
2129// PPCPWR6:#define _ARCH_PWR5X 1
2130// PPCPWR6:#define _ARCH_PWR6 1
2131//
2132// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6 %s
2133//
2134// PPCPOWER6:#define _ARCH_PPC 1
2135// PPCPOWER6:#define _ARCH_PPC64 1
2136// PPCPOWER6:#define _ARCH_PPCGR 1
2137// PPCPOWER6:#define _ARCH_PPCSQ 1
2138// PPCPOWER6:#define _ARCH_PWR4 1
2139// PPCPOWER6:#define _ARCH_PWR5 1
2140// PPCPOWER6:#define _ARCH_PWR5X 1
2141// PPCPOWER6:#define _ARCH_PWR6 1
2142//
2143// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6X %s
2144//
2145// PPCPWR6X:#define _ARCH_PPC 1
2146// PPCPWR6X:#define _ARCH_PPC64 1
2147// PPCPWR6X:#define _ARCH_PPCGR 1
2148// PPCPWR6X:#define _ARCH_PPCSQ 1
2149// PPCPWR6X:#define _ARCH_PWR4 1
2150// PPCPWR6X:#define _ARCH_PWR5 1
2151// PPCPWR6X:#define _ARCH_PWR5X 1
2152// PPCPWR6X:#define _ARCH_PWR6 1
2153// PPCPWR6X:#define _ARCH_PWR6X 1
2154//
2155// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6X %s
2156//
2157// PPCPOWER6X:#define _ARCH_PPC 1
2158// PPCPOWER6X:#define _ARCH_PPC64 1
2159// PPCPOWER6X:#define _ARCH_PPCGR 1
2160// PPCPOWER6X:#define _ARCH_PPCSQ 1
2161// PPCPOWER6X:#define _ARCH_PWR4 1
2162// PPCPOWER6X:#define _ARCH_PWR5 1
2163// PPCPOWER6X:#define _ARCH_PWR5X 1
2164// PPCPOWER6X:#define _ARCH_PWR6 1
2165// PPCPOWER6X:#define _ARCH_PWR6X 1
2166//
2167// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR7 %s
2168//
2169// PPCPWR7:#define _ARCH_PPC 1
2170// PPCPWR7:#define _ARCH_PPC64 1
2171// PPCPWR7:#define _ARCH_PPCGR 1
2172// PPCPWR7:#define _ARCH_PPCSQ 1
2173// PPCPWR7:#define _ARCH_PWR4 1
2174// PPCPWR7:#define _ARCH_PWR5 1
2175// PPCPWR7:#define _ARCH_PWR5X 1
2176// PPCPWR7:#define _ARCH_PWR6 1
2177// PPCPWR7:#define _ARCH_PWR6X 1
2178// PPCPWR7:#define _ARCH_PWR7 1
2179//
2180// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER7 %s
2181//
2182// PPCPOWER7:#define _ARCH_PPC 1
2183// PPCPOWER7:#define _ARCH_PPC64 1
2184// PPCPOWER7:#define _ARCH_PPCGR 1
2185// PPCPOWER7:#define _ARCH_PPCSQ 1
2186// PPCPOWER7:#define _ARCH_PWR4 1
2187// PPCPOWER7:#define _ARCH_PWR5 1
2188// PPCPOWER7:#define _ARCH_PWR5X 1
2189// PPCPOWER7:#define _ARCH_PWR6 1
2190// PPCPOWER7:#define _ARCH_PWR6X 1
2191// PPCPOWER7:#define _ARCH_PWR7 1
2192//
Nico Weber3435ede2012-01-31 02:07:33 +00002193// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
2194//
2195// PPC64-LINUX:#define _ARCH_PPC 1
2196// PPC64-LINUX:#define _ARCH_PPC64 1
2197// PPC64-LINUX:#define _BIG_ENDIAN 1
2198// PPC64-LINUX:#define _LP64 1
2199// PPC64-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002200// PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber3435ede2012-01-31 02:07:33 +00002201// PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
2202// PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
2203// PPC64-LINUX:#define __CHAR_BIT__ 8
2204// PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
2205// PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2206// PPC64-LINUX:#define __DBL_DIG__ 15
2207// PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2208// PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
2209// PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
2210// PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2211// PPC64-LINUX:#define __DBL_MANT_DIG__ 53
2212// PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
2213// PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
2214// PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2215// PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2216// PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2217// PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2218// PPC64-LINUX:#define __DECIMAL_DIG__ 33
2219// PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2220// PPC64-LINUX:#define __FLT_DIG__ 6
2221// PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2222// PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
2223// PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
2224// PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
2225// PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2226// PPC64-LINUX:#define __FLT_MANT_DIG__ 24
2227// PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
2228// PPC64-LINUX:#define __FLT_MAX_EXP__ 128
2229// PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2230// PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2231// PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
2232// PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2233// PPC64-LINUX:#define __FLT_RADIX__ 2
2234// PPC64-LINUX:#define __INT16_TYPE__ short
2235// PPC64-LINUX:#define __INT32_TYPE__ int
2236// PPC64-LINUX:#define __INT64_C_SUFFIX__ L
2237// PPC64-LINUX:#define __INT64_TYPE__ long int
2238// PPC64-LINUX:#define __INT8_TYPE__ char
2239// PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2240// PPC64-LINUX:#define __INTMAX_TYPE__ long int
2241// PPC64-LINUX:#define __INTMAX_WIDTH__ 64
2242// PPC64-LINUX:#define __INTPTR_TYPE__ long int
2243// PPC64-LINUX:#define __INTPTR_WIDTH__ 64
2244// PPC64-LINUX:#define __INT_MAX__ 2147483647
2245// PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2246// PPC64-LINUX:#define __LDBL_DIG__ 31
2247// PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2248// PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
2249// PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2250// PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2251// PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
2252// PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
2253// PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
2254// PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2255// PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2256// PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
2257// PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2258// PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
2259// PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2260// PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2261// PPC64-LINUX:#define __LP64__ 1
2262// PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002263// PPC64-LINUX:#define __POINTER_WIDTH__ 64
2264// PPC64-LINUX:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002265// PPC64-LINUX:#define __PPC64__ 1
2266// PPC64-LINUX:#define __PPC__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002267// PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
2268// PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
2269// PPC64-LINUX:#define __REGISTER_PREFIX__
2270// PPC64-LINUX:#define __SCHAR_MAX__ 127
2271// PPC64-LINUX:#define __SHRT_MAX__ 32767
2272// PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2273// PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
2274// PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
2275// PPC64-LINUX:#define __SIZEOF_INT__ 4
2276// PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2277// PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2278// PPC64-LINUX:#define __SIZEOF_LONG__ 8
2279// PPC64-LINUX:#define __SIZEOF_POINTER__ 8
2280// PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2281// PPC64-LINUX:#define __SIZEOF_SHORT__ 2
2282// PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
2283// PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2284// PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002285// PPC64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Nico Weber3435ede2012-01-31 02:07:33 +00002286// PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
2287// PPC64-LINUX:#define __SIZE_WIDTH__ 64
2288// PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2289// PPC64-LINUX:#define __USER_LABEL_PREFIX__
2290// PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
2291// PPC64-LINUX:#define __WCHAR_TYPE__ int
2292// PPC64-LINUX:#define __WCHAR_WIDTH__ 32
2293// PPC64-LINUX:#define __WINT_TYPE__ unsigned int
2294// PPC64-LINUX:#define __WINT_UNSIGNED__ 1
2295// PPC64-LINUX:#define __WINT_WIDTH__ 32
2296// PPC64-LINUX:#define __powerpc64__ 1
2297// PPC64-LINUX:#define __powerpc__ 1
2298// PPC64-LINUX:#define __ppc64__ 1
2299// PPC64-LINUX:#define __ppc__ 1
2300//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002301// 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 +00002302//
2303// PPC:#define _ARCH_PPC 1
2304// PPC:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002305// PPC-NOT:#define _LP64
Chris Lattnere963d092009-10-29 04:55:36 +00002306// PPC:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002307// PPC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002308// PPC:#define __CHAR16_TYPE__ unsigned short
2309// PPC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002310// PPC:#define __CHAR_BIT__ 8
2311// PPC:#define __CHAR_UNSIGNED__ 1
2312// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2313// PPC:#define __DBL_DIG__ 15
2314// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2315// PPC:#define __DBL_HAS_DENORM__ 1
2316// PPC:#define __DBL_HAS_INFINITY__ 1
2317// PPC:#define __DBL_HAS_QUIET_NAN__ 1
2318// PPC:#define __DBL_MANT_DIG__ 53
2319// PPC:#define __DBL_MAX_10_EXP__ 308
2320// PPC:#define __DBL_MAX_EXP__ 1024
2321// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
2322// PPC:#define __DBL_MIN_10_EXP__ (-307)
2323// PPC:#define __DBL_MIN_EXP__ (-1021)
2324// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber3435ede2012-01-31 02:07:33 +00002325// PPC:#define __DECIMAL_DIG__ 33
Chris Lattnere963d092009-10-29 04:55:36 +00002326// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2327// PPC:#define __FLT_DIG__ 6
2328// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
2329// PPC:#define __FLT_EVAL_METHOD__ 0
2330// PPC:#define __FLT_HAS_DENORM__ 1
2331// PPC:#define __FLT_HAS_INFINITY__ 1
2332// PPC:#define __FLT_HAS_QUIET_NAN__ 1
2333// PPC:#define __FLT_MANT_DIG__ 24
2334// PPC:#define __FLT_MAX_10_EXP__ 38
2335// PPC:#define __FLT_MAX_EXP__ 128
2336// PPC:#define __FLT_MAX__ 3.40282347e+38F
2337// PPC:#define __FLT_MIN_10_EXP__ (-37)
2338// PPC:#define __FLT_MIN_EXP__ (-125)
2339// PPC:#define __FLT_MIN__ 1.17549435e-38F
2340// PPC:#define __FLT_RADIX__ 2
2341// PPC:#define __INT16_TYPE__ short
2342// PPC:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002343// PPC:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00002344// PPC:#define __INT64_TYPE__ long long int
2345// PPC:#define __INT8_TYPE__ char
2346// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00002347// PPC:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002348// PPC:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002349// PPC:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002350// PPC:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002351// PPC:#define __INT_MAX__ 2147483647
Nico Weber3435ede2012-01-31 02:07:33 +00002352// PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2353// PPC:#define __LDBL_DIG__ 31
2354// PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002355// PPC:#define __LDBL_HAS_DENORM__ 1
2356// PPC:#define __LDBL_HAS_INFINITY__ 1
2357// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002358// PPC:#define __LDBL_MANT_DIG__ 106
Chris Lattnere963d092009-10-29 04:55:36 +00002359// PPC:#define __LDBL_MAX_10_EXP__ 308
2360// PPC:#define __LDBL_MAX_EXP__ 1024
Nico Weber3435ede2012-01-31 02:07:33 +00002361// PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2362// PPC:#define __LDBL_MIN_10_EXP__ (-291)
2363// PPC:#define __LDBL_MIN_EXP__ (-968)
2364// PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnere963d092009-10-29 04:55:36 +00002365// PPC:#define __LONG_DOUBLE_128__ 1
2366// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2367// PPC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002368// PPC-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00002369// PPC:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002370// PPC:#define __POINTER_WIDTH__ 32
2371// PPC:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002372// PPC:#define __PPC__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002373// PPC:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002374// PPC:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002375// PPC:#define __REGISTER_PREFIX__
2376// PPC:#define __SCHAR_MAX__ 127
2377// PPC:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002378// PPC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002379// PPC:#define __SIZEOF_DOUBLE__ 8
2380// PPC:#define __SIZEOF_FLOAT__ 4
2381// PPC:#define __SIZEOF_INT__ 4
Nico Weber3435ede2012-01-31 02:07:33 +00002382// PPC:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohman04f87202010-05-28 00:27:15 +00002383// PPC:#define __SIZEOF_LONG_LONG__ 8
2384// PPC:#define __SIZEOF_LONG__ 4
2385// PPC:#define __SIZEOF_POINTER__ 4
2386// PPC:#define __SIZEOF_PTRDIFF_T__ 4
2387// PPC:#define __SIZEOF_SHORT__ 2
2388// PPC:#define __SIZEOF_SIZE_T__ 4
2389// PPC:#define __SIZEOF_WCHAR_T__ 4
2390// PPC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002391// PPC:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00002392// PPC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002393// PPC:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002394// PPC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002395// PPC:#define __USER_LABEL_PREFIX__ _
2396// PPC:#define __WCHAR_MAX__ 2147483647
2397// PPC:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002398// PPC:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002399// PPC:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002400// PPC:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002401// PPC:#define __ppc__ 1
2402//
Nico Weber3435ede2012-01-31 02:07:33 +00002403// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
2404//
2405// PPC-LINUX:#define _ARCH_PPC 1
2406// PPC-LINUX:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002407// PPC-LINUX-NOT:#define _LP64
Nico Weber3435ede2012-01-31 02:07:33 +00002408// PPC-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002409// PPC-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber3435ede2012-01-31 02:07:33 +00002410// PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
2411// PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
2412// PPC-LINUX:#define __CHAR_BIT__ 8
2413// PPC-LINUX:#define __CHAR_UNSIGNED__ 1
2414// PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2415// PPC-LINUX:#define __DBL_DIG__ 15
2416// PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2417// PPC-LINUX:#define __DBL_HAS_DENORM__ 1
2418// PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
2419// PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2420// PPC-LINUX:#define __DBL_MANT_DIG__ 53
2421// PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
2422// PPC-LINUX:#define __DBL_MAX_EXP__ 1024
2423// PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2424// PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2425// PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
2426// PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2427// PPC-LINUX:#define __DECIMAL_DIG__ 33
2428// PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2429// PPC-LINUX:#define __FLT_DIG__ 6
2430// PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2431// PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
2432// PPC-LINUX:#define __FLT_HAS_DENORM__ 1
2433// PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
2434// PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2435// PPC-LINUX:#define __FLT_MANT_DIG__ 24
2436// PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
2437// PPC-LINUX:#define __FLT_MAX_EXP__ 128
2438// PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2439// PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2440// PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
2441// PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2442// PPC-LINUX:#define __FLT_RADIX__ 2
2443// PPC-LINUX:#define __INT16_TYPE__ short
2444// PPC-LINUX:#define __INT32_TYPE__ int
2445// PPC-LINUX:#define __INT64_C_SUFFIX__ LL
2446// PPC-LINUX:#define __INT64_TYPE__ long long int
2447// PPC-LINUX:#define __INT8_TYPE__ char
2448// PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
2449// PPC-LINUX:#define __INTMAX_TYPE__ long long int
2450// PPC-LINUX:#define __INTMAX_WIDTH__ 64
Hal Finkel26908382012-03-02 20:54:36 +00002451// PPC-LINUX:#define __INTPTR_TYPE__ int
Nico Weber3435ede2012-01-31 02:07:33 +00002452// PPC-LINUX:#define __INTPTR_WIDTH__ 32
2453// PPC-LINUX:#define __INT_MAX__ 2147483647
2454// PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2455// PPC-LINUX:#define __LDBL_DIG__ 31
2456// PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2457// PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
2458// PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
2459// PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2460// PPC-LINUX:#define __LDBL_MANT_DIG__ 106
2461// PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
2462// PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
2463// PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2464// PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2465// PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
2466// PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2467// PPC-LINUX:#define __LONG_DOUBLE_128__ 1
2468// PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2469// PPC-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002470// PPC-LINUX-NOT:#define __LP64__
Nico Weber3435ede2012-01-31 02:07:33 +00002471// PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002472// PPC-LINUX:#define __POINTER_WIDTH__ 32
2473// PPC-LINUX:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002474// PPC-LINUX:#define __PPC__ 1
Hal Finkel26908382012-03-02 20:54:36 +00002475// PPC-LINUX:#define __PTRDIFF_TYPE__ int
Nico Weber3435ede2012-01-31 02:07:33 +00002476// PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
2477// PPC-LINUX:#define __REGISTER_PREFIX__
2478// PPC-LINUX:#define __SCHAR_MAX__ 127
2479// PPC-LINUX:#define __SHRT_MAX__ 32767
2480// PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2481// PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
2482// PPC-LINUX:#define __SIZEOF_FLOAT__ 4
2483// PPC-LINUX:#define __SIZEOF_INT__ 4
2484// PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2485// PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
2486// PPC-LINUX:#define __SIZEOF_LONG__ 4
2487// PPC-LINUX:#define __SIZEOF_POINTER__ 4
2488// PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
2489// PPC-LINUX:#define __SIZEOF_SHORT__ 2
2490// PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
2491// PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
2492// PPC-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002493// PPC-LINUX:#define __SIZE_MAX__ 4294967295U
Nico Weber3435ede2012-01-31 02:07:33 +00002494// PPC-LINUX:#define __SIZE_TYPE__ unsigned int
2495// PPC-LINUX:#define __SIZE_WIDTH__ 32
2496// PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
2497// PPC-LINUX:#define __USER_LABEL_PREFIX__
2498// PPC-LINUX:#define __WCHAR_MAX__ 2147483647
2499// PPC-LINUX:#define __WCHAR_TYPE__ int
2500// PPC-LINUX:#define __WCHAR_WIDTH__ 32
2501// PPC-LINUX:#define __WINT_TYPE__ unsigned int
2502// PPC-LINUX:#define __WINT_UNSIGNED__ 1
2503// PPC-LINUX:#define __WINT_WIDTH__ 32
2504// PPC-LINUX:#define __powerpc__ 1
2505// PPC-LINUX:#define __ppc__ 1
2506//
David Fang072d47b2013-05-16 17:51:48 +00002507// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-apple-darwin8 < /dev/null | FileCheck -check-prefix PPC-DARWIN %s
2508//
2509// PPC-DARWIN:#define _ARCH_PPC 1
2510// PPC-DARWIN:#define _BIG_ENDIAN 1
2511// PPC-DARWIN:#define __BIG_ENDIAN__ 1
2512// PPC-DARWIN:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2513// PPC-DARWIN:#define __CHAR16_TYPE__ unsigned short
2514// PPC-DARWIN:#define __CHAR32_TYPE__ unsigned int
2515// PPC-DARWIN:#define __CHAR_BIT__ 8
2516// PPC-DARWIN:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2517// PPC-DARWIN:#define __DBL_DIG__ 15
2518// PPC-DARWIN:#define __DBL_EPSILON__ 2.2204460492503131e-16
2519// PPC-DARWIN:#define __DBL_HAS_DENORM__ 1
2520// PPC-DARWIN:#define __DBL_HAS_INFINITY__ 1
2521// PPC-DARWIN:#define __DBL_HAS_QUIET_NAN__ 1
2522// PPC-DARWIN:#define __DBL_MANT_DIG__ 53
2523// PPC-DARWIN:#define __DBL_MAX_10_EXP__ 308
2524// PPC-DARWIN:#define __DBL_MAX_EXP__ 1024
2525// PPC-DARWIN:#define __DBL_MAX__ 1.7976931348623157e+308
2526// PPC-DARWIN:#define __DBL_MIN_10_EXP__ (-307)
2527// PPC-DARWIN:#define __DBL_MIN_EXP__ (-1021)
2528// PPC-DARWIN:#define __DBL_MIN__ 2.2250738585072014e-308
2529// PPC-DARWIN:#define __DECIMAL_DIG__ 33
2530// PPC-DARWIN:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2531// PPC-DARWIN:#define __FLT_DIG__ 6
2532// PPC-DARWIN:#define __FLT_EPSILON__ 1.19209290e-7F
2533// PPC-DARWIN:#define __FLT_EVAL_METHOD__ 0
2534// PPC-DARWIN:#define __FLT_HAS_DENORM__ 1
2535// PPC-DARWIN:#define __FLT_HAS_INFINITY__ 1
2536// PPC-DARWIN:#define __FLT_HAS_QUIET_NAN__ 1
2537// PPC-DARWIN:#define __FLT_MANT_DIG__ 24
2538// PPC-DARWIN:#define __FLT_MAX_10_EXP__ 38
2539// PPC-DARWIN:#define __FLT_MAX_EXP__ 128
2540// PPC-DARWIN:#define __FLT_MAX__ 3.40282347e+38F
2541// PPC-DARWIN:#define __FLT_MIN_10_EXP__ (-37)
2542// PPC-DARWIN:#define __FLT_MIN_EXP__ (-125)
2543// PPC-DARWIN:#define __FLT_MIN__ 1.17549435e-38F
2544// PPC-DARWIN:#define __FLT_RADIX__ 2
2545// PPC-DARWIN:#define __INT16_TYPE__ short
2546// PPC-DARWIN:#define __INT32_TYPE__ int
2547// PPC-DARWIN:#define __INT64_C_SUFFIX__ LL
2548// PPC-DARWIN:#define __INT64_TYPE__ long long int
2549// PPC-DARWIN:#define __INT8_TYPE__ char
2550// PPC-DARWIN:#define __INTMAX_MAX__ 9223372036854775807LL
2551// PPC-DARWIN:#define __INTMAX_TYPE__ long long int
2552// PPC-DARWIN:#define __INTMAX_WIDTH__ 64
2553// PPC-DARWIN:#define __INTPTR_TYPE__ long int
2554// PPC-DARWIN:#define __INTPTR_WIDTH__ 32
2555// PPC-DARWIN:#define __INT_MAX__ 2147483647
2556// PPC-DARWIN:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2557// PPC-DARWIN:#define __LDBL_DIG__ 31
2558// PPC-DARWIN:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2559// PPC-DARWIN:#define __LDBL_HAS_DENORM__ 1
2560// PPC-DARWIN:#define __LDBL_HAS_INFINITY__ 1
2561// PPC-DARWIN:#define __LDBL_HAS_QUIET_NAN__ 1
2562// PPC-DARWIN:#define __LDBL_MANT_DIG__ 106
2563// PPC-DARWIN:#define __LDBL_MAX_10_EXP__ 308
2564// PPC-DARWIN:#define __LDBL_MAX_EXP__ 1024
2565// PPC-DARWIN:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2566// PPC-DARWIN:#define __LDBL_MIN_10_EXP__ (-291)
2567// PPC-DARWIN:#define __LDBL_MIN_EXP__ (-968)
2568// PPC-DARWIN:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2569// PPC-DARWIN:#define __LONG_DOUBLE_128__ 1
2570// PPC-DARWIN:#define __LONG_LONG_MAX__ 9223372036854775807LL
2571// PPC-DARWIN:#define __LONG_MAX__ 2147483647L
2572// PPC-DARWIN:#define __MACH__ 1
2573// PPC-DARWIN:#define __NATURAL_ALIGNMENT__ 1
2574// PPC-DARWIN:#define __ORDER_BIG_ENDIAN__ 4321
2575// PPC-DARWIN:#define __ORDER_LITTLE_ENDIAN__ 1234
2576// PPC-DARWIN:#define __ORDER_PDP_ENDIAN__ 3412
2577// PPC-DARWIN:#define __POINTER_WIDTH__ 32
2578// PPC-DARWIN:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002579// PPC-DARWIN:#define __PPC__ 1
David Fang072d47b2013-05-16 17:51:48 +00002580// PPC-DARWIN:#define __PTRDIFF_TYPE__ int
2581// PPC-DARWIN:#define __PTRDIFF_WIDTH__ 32
2582// PPC-DARWIN:#define __REGISTER_PREFIX__
2583// PPC-DARWIN:#define __SCHAR_MAX__ 127
2584// PPC-DARWIN:#define __SHRT_MAX__ 32767
2585// PPC-DARWIN:#define __SIG_ATOMIC_WIDTH__ 32
2586// PPC-DARWIN:#define __SIZEOF_DOUBLE__ 8
2587// PPC-DARWIN:#define __SIZEOF_FLOAT__ 4
2588// PPC-DARWIN:#define __SIZEOF_INT__ 4
2589// PPC-DARWIN:#define __SIZEOF_LONG_DOUBLE__ 16
2590// PPC-DARWIN:#define __SIZEOF_LONG_LONG__ 8
2591// PPC-DARWIN:#define __SIZEOF_LONG__ 4
2592// PPC-DARWIN:#define __SIZEOF_POINTER__ 4
2593// PPC-DARWIN:#define __SIZEOF_PTRDIFF_T__ 4
2594// PPC-DARWIN:#define __SIZEOF_SHORT__ 2
2595// PPC-DARWIN:#define __SIZEOF_SIZE_T__ 4
2596// PPC-DARWIN:#define __SIZEOF_WCHAR_T__ 4
2597// PPC-DARWIN:#define __SIZEOF_WINT_T__ 4
2598// PPC-DARWIN:#define __SIZE_MAX__ 4294967295UL
2599// PPC-DARWIN:#define __SIZE_TYPE__ long unsigned int
2600// PPC-DARWIN:#define __SIZE_WIDTH__ 32
2601// PPC-DARWIN:#define __STDC_HOSTED__ 0
2602// PPC-DARWIN:#define __STDC_VERSION__ 199901L
2603// PPC-DARWIN:#define __STDC__ 1
2604// PPC-DARWIN:#define __UINTMAX_TYPE__ long long unsigned int
2605// PPC-DARWIN:#define __USER_LABEL_PREFIX__ _
2606// PPC-DARWIN:#define __WCHAR_MAX__ 2147483647
2607// PPC-DARWIN:#define __WCHAR_TYPE__ int
2608// PPC-DARWIN:#define __WCHAR_WIDTH__ 32
2609// PPC-DARWIN:#define __WINT_TYPE__ int
2610// PPC-DARWIN:#define __WINT_WIDTH__ 32
2611// PPC-DARWIN:#define __powerpc__ 1
2612// PPC-DARWIN:#define __ppc__ 1
2613//
Ulrich Weigand47445072013-05-06 16:26:41 +00002614// RUN: %clang_cc1 -E -dM -ffreestanding -triple=s390x-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix S390X %s
2615//
2616// S390X:#define __CHAR16_TYPE__ unsigned short
2617// S390X:#define __CHAR32_TYPE__ unsigned int
2618// S390X:#define __CHAR_BIT__ 8
2619// S390X:#define __CHAR_UNSIGNED__ 1
2620// S390X:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2621// S390X:#define __DBL_DIG__ 15
2622// S390X:#define __DBL_EPSILON__ 2.2204460492503131e-16
2623// S390X:#define __DBL_HAS_DENORM__ 1
2624// S390X:#define __DBL_HAS_INFINITY__ 1
2625// S390X:#define __DBL_HAS_QUIET_NAN__ 1
2626// S390X:#define __DBL_MANT_DIG__ 53
2627// S390X:#define __DBL_MAX_10_EXP__ 308
2628// S390X:#define __DBL_MAX_EXP__ 1024
2629// S390X:#define __DBL_MAX__ 1.7976931348623157e+308
2630// S390X:#define __DBL_MIN_10_EXP__ (-307)
2631// S390X:#define __DBL_MIN_EXP__ (-1021)
2632// S390X:#define __DBL_MIN__ 2.2250738585072014e-308
2633// S390X:#define __DECIMAL_DIG__ 36
2634// S390X:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2635// S390X:#define __FLT_DIG__ 6
2636// S390X:#define __FLT_EPSILON__ 1.19209290e-7F
2637// S390X:#define __FLT_EVAL_METHOD__ 0
2638// S390X:#define __FLT_HAS_DENORM__ 1
2639// S390X:#define __FLT_HAS_INFINITY__ 1
2640// S390X:#define __FLT_HAS_QUIET_NAN__ 1
2641// S390X:#define __FLT_MANT_DIG__ 24
2642// S390X:#define __FLT_MAX_10_EXP__ 38
2643// S390X:#define __FLT_MAX_EXP__ 128
2644// S390X:#define __FLT_MAX__ 3.40282347e+38F
2645// S390X:#define __FLT_MIN_10_EXP__ (-37)
2646// S390X:#define __FLT_MIN_EXP__ (-125)
2647// S390X:#define __FLT_MIN__ 1.17549435e-38F
2648// S390X:#define __FLT_RADIX__ 2
2649// S390X:#define __INT16_TYPE__ short
2650// S390X:#define __INT32_TYPE__ int
2651// S390X:#define __INT64_C_SUFFIX__ L
2652// S390X:#define __INT64_TYPE__ long long int
2653// S390X:#define __INT8_TYPE__ char
2654// S390X:#define __INTMAX_MAX__ 9223372036854775807LL
2655// S390X:#define __INTMAX_TYPE__ long long int
2656// S390X:#define __INTMAX_WIDTH__ 64
2657// S390X:#define __INTPTR_TYPE__ long int
2658// S390X:#define __INTPTR_WIDTH__ 64
2659// S390X:#define __INT_MAX__ 2147483647
2660// S390X:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
2661// S390X:#define __LDBL_DIG__ 33
2662// S390X:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
2663// S390X:#define __LDBL_HAS_DENORM__ 1
2664// S390X:#define __LDBL_HAS_INFINITY__ 1
2665// S390X:#define __LDBL_HAS_QUIET_NAN__ 1
2666// S390X:#define __LDBL_MANT_DIG__ 113
2667// S390X:#define __LDBL_MAX_10_EXP__ 4932
2668// S390X:#define __LDBL_MAX_EXP__ 16384
2669// S390X:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
2670// S390X:#define __LDBL_MIN_10_EXP__ (-4931)
2671// S390X:#define __LDBL_MIN_EXP__ (-16381)
2672// S390X:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
2673// S390X:#define __LONG_LONG_MAX__ 9223372036854775807LL
2674// S390X:#define __LONG_MAX__ 9223372036854775807L
2675// S390X:#define __NO_INLINE__ 1
2676// S390X:#define __POINTER_WIDTH__ 64
2677// S390X:#define __PTRDIFF_TYPE__ long int
2678// S390X:#define __PTRDIFF_WIDTH__ 64
2679// S390X:#define __SCHAR_MAX__ 127
2680// S390X:#define __SHRT_MAX__ 32767
2681// S390X:#define __SIG_ATOMIC_WIDTH__ 32
2682// S390X:#define __SIZEOF_DOUBLE__ 8
2683// S390X:#define __SIZEOF_FLOAT__ 4
2684// S390X:#define __SIZEOF_INT__ 4
2685// S390X:#define __SIZEOF_LONG_DOUBLE__ 16
2686// S390X:#define __SIZEOF_LONG_LONG__ 8
2687// S390X:#define __SIZEOF_LONG__ 8
2688// S390X:#define __SIZEOF_POINTER__ 8
2689// S390X:#define __SIZEOF_PTRDIFF_T__ 8
2690// S390X:#define __SIZEOF_SHORT__ 2
2691// S390X:#define __SIZEOF_SIZE_T__ 8
2692// S390X:#define __SIZEOF_WCHAR_T__ 4
2693// S390X:#define __SIZEOF_WINT_T__ 4
2694// S390X:#define __SIZE_TYPE__ long unsigned int
2695// S390X:#define __SIZE_WIDTH__ 64
2696// S390X:#define __UINTMAX_TYPE__ long long unsigned int
2697// S390X:#define __USER_LABEL_PREFIX__ _
2698// S390X:#define __WCHAR_MAX__ 2147483647
2699// S390X:#define __WCHAR_TYPE__ int
2700// S390X:#define __WCHAR_WIDTH__ 32
2701// S390X:#define __WINT_TYPE__ int
2702// S390X:#define __WINT_WIDTH__ 32
2703// S390X:#define __s390__ 1
2704// S390X:#define __s390x__ 1
2705//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002706// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
Chris Lattnere963d092009-10-29 04:55:36 +00002707//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002708// SPARC-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002709// SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002710// SPARC:#define __CHAR16_TYPE__ unsigned short
2711// SPARC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002712// SPARC:#define __CHAR_BIT__ 8
2713// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2714// SPARC:#define __DBL_DIG__ 15
2715// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2716// SPARC:#define __DBL_HAS_DENORM__ 1
2717// SPARC:#define __DBL_HAS_INFINITY__ 1
2718// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
2719// SPARC:#define __DBL_MANT_DIG__ 53
2720// SPARC:#define __DBL_MAX_10_EXP__ 308
2721// SPARC:#define __DBL_MAX_EXP__ 1024
2722// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
2723// SPARC:#define __DBL_MIN_10_EXP__ (-307)
2724// SPARC:#define __DBL_MIN_EXP__ (-1021)
2725// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
2726// SPARC:#define __DECIMAL_DIG__ 17
2727// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2728// SPARC:#define __FLT_DIG__ 6
2729// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
2730// SPARC:#define __FLT_EVAL_METHOD__ 0
2731// SPARC:#define __FLT_HAS_DENORM__ 1
2732// SPARC:#define __FLT_HAS_INFINITY__ 1
2733// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
2734// SPARC:#define __FLT_MANT_DIG__ 24
2735// SPARC:#define __FLT_MAX_10_EXP__ 38
2736// SPARC:#define __FLT_MAX_EXP__ 128
2737// SPARC:#define __FLT_MAX__ 3.40282347e+38F
2738// SPARC:#define __FLT_MIN_10_EXP__ (-37)
2739// SPARC:#define __FLT_MIN_EXP__ (-125)
2740// SPARC:#define __FLT_MIN__ 1.17549435e-38F
2741// SPARC:#define __FLT_RADIX__ 2
2742// SPARC:#define __INT16_TYPE__ short
2743// SPARC:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002744// SPARC:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00002745// SPARC:#define __INT64_TYPE__ long long int
2746// SPARC:#define __INT8_TYPE__ char
2747// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00002748// SPARC:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002749// SPARC:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002750// SPARC:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002751// SPARC:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002752// SPARC:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002753// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002754// SPARC:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002755// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +00002756// SPARC:#define __LDBL_HAS_DENORM__ 1
2757// SPARC:#define __LDBL_HAS_INFINITY__ 1
2758// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
2759// SPARC:#define __LDBL_MANT_DIG__ 53
2760// SPARC:#define __LDBL_MAX_10_EXP__ 308
2761// SPARC:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002762// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +00002763// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
2764// SPARC:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002765// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnere963d092009-10-29 04:55:36 +00002766// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2767// SPARC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002768// SPARC-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00002769// SPARC:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002770// SPARC:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002771// SPARC:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbaracde99e2009-12-18 18:42:37 +00002772// SPARC:#define __REGISTER_PREFIX__
Chris Lattnere963d092009-10-29 04:55:36 +00002773// SPARC:#define __SCHAR_MAX__ 127
2774// SPARC:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002775// SPARC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002776// SPARC:#define __SIZEOF_DOUBLE__ 8
2777// SPARC:#define __SIZEOF_FLOAT__ 4
2778// SPARC:#define __SIZEOF_INT__ 4
2779// SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
2780// SPARC:#define __SIZEOF_LONG_LONG__ 8
2781// SPARC:#define __SIZEOF_LONG__ 4
2782// SPARC:#define __SIZEOF_POINTER__ 4
2783// SPARC:#define __SIZEOF_PTRDIFF_T__ 4
2784// SPARC:#define __SIZEOF_SHORT__ 2
2785// SPARC:#define __SIZEOF_SIZE_T__ 4
2786// SPARC:#define __SIZEOF_WCHAR_T__ 4
2787// SPARC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002788// SPARC:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00002789// SPARC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002790// SPARC:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002791// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002792// SPARC:#define __USER_LABEL_PREFIX__ _
Daniel Dunbar3b17a862011-03-31 00:53:51 +00002793// SPARC:#define __VERSION__ "4.2.1 Compatible
Chris Lattnere963d092009-10-29 04:55:36 +00002794// SPARC:#define __WCHAR_MAX__ 2147483647
2795// SPARC:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002796// SPARC:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002797// SPARC:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002798// SPARC:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002799// SPARC:#define __sparc 1
2800// SPARC:#define __sparc__ 1
2801// SPARC:#define __sparcv8 1
2802// SPARC:#define sparc 1
2803//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002804// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
Chris Lattnere963d092009-10-29 04:55:36 +00002805//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002806// TCE-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002807// TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002808// TCE:#define __CHAR16_TYPE__ unsigned short
2809// TCE:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002810// TCE:#define __CHAR_BIT__ 8
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002811// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45
Chris Lattnere963d092009-10-29 04:55:36 +00002812// TCE:#define __DBL_DIG__ 6
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002813// TCE:#define __DBL_EPSILON__ 1.19209290e-7
Chris Lattnere963d092009-10-29 04:55:36 +00002814// TCE:#define __DBL_HAS_DENORM__ 1
2815// TCE:#define __DBL_HAS_INFINITY__ 1
2816// TCE:#define __DBL_HAS_QUIET_NAN__ 1
2817// TCE:#define __DBL_MANT_DIG__ 24
2818// TCE:#define __DBL_MAX_10_EXP__ 38
2819// TCE:#define __DBL_MAX_EXP__ 128
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002820// TCE:#define __DBL_MAX__ 3.40282347e+38
Chris Lattnere963d092009-10-29 04:55:36 +00002821// TCE:#define __DBL_MIN_10_EXP__ (-37)
2822// TCE:#define __DBL_MIN_EXP__ (-125)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002823// TCE:#define __DBL_MIN__ 1.17549435e-38
Chris Lattnere963d092009-10-29 04:55:36 +00002824// TCE:#define __DECIMAL_DIG__ -1
2825// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2826// TCE:#define __FLT_DIG__ 6
2827// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
2828// TCE:#define __FLT_EVAL_METHOD__ 0
2829// TCE:#define __FLT_HAS_DENORM__ 1
2830// TCE:#define __FLT_HAS_INFINITY__ 1
2831// TCE:#define __FLT_HAS_QUIET_NAN__ 1
2832// TCE:#define __FLT_MANT_DIG__ 24
2833// TCE:#define __FLT_MAX_10_EXP__ 38
2834// TCE:#define __FLT_MAX_EXP__ 128
2835// TCE:#define __FLT_MAX__ 3.40282347e+38F
2836// TCE:#define __FLT_MIN_10_EXP__ (-37)
2837// TCE:#define __FLT_MIN_EXP__ (-125)
2838// TCE:#define __FLT_MIN__ 1.17549435e-38F
2839// TCE:#define __FLT_RADIX__ 2
2840// TCE:#define __INT16_TYPE__ short
2841// TCE:#define __INT32_TYPE__ int
2842// TCE:#define __INT8_TYPE__ char
2843// TCE:#define __INTMAX_MAX__ 2147483647L
Ken Dyck9b25f782009-11-19 13:18:59 +00002844// TCE:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002845// TCE:#define __INTMAX_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002846// TCE:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002847// TCE:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002848// TCE:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002849// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45L
Chris Lattnere963d092009-10-29 04:55:36 +00002850// TCE:#define __LDBL_DIG__ 6
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002851// TCE:#define __LDBL_EPSILON__ 1.19209290e-7L
Chris Lattnere963d092009-10-29 04:55:36 +00002852// TCE:#define __LDBL_HAS_DENORM__ 1
2853// TCE:#define __LDBL_HAS_INFINITY__ 1
2854// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
2855// TCE:#define __LDBL_MANT_DIG__ 24
2856// TCE:#define __LDBL_MAX_10_EXP__ 38
2857// TCE:#define __LDBL_MAX_EXP__ 128
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002858// TCE:#define __LDBL_MAX__ 3.40282347e+38L
Chris Lattnere963d092009-10-29 04:55:36 +00002859// TCE:#define __LDBL_MIN_10_EXP__ (-37)
2860// TCE:#define __LDBL_MIN_EXP__ (-125)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002861// TCE:#define __LDBL_MIN__ 1.17549435e-38L
Chris Lattnere963d092009-10-29 04:55:36 +00002862// TCE:#define __LONG_LONG_MAX__ 2147483647LL
2863// TCE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002864// TCE-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00002865// TCE:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002866// TCE:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00002867// TCE:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002868// TCE:#define __SCHAR_MAX__ 127
2869// TCE:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002870// TCE:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002871// TCE:#define __SIZEOF_DOUBLE__ 4
2872// TCE:#define __SIZEOF_FLOAT__ 4
2873// TCE:#define __SIZEOF_INT__ 4
2874// TCE:#define __SIZEOF_LONG_DOUBLE__ 4
2875// TCE:#define __SIZEOF_LONG_LONG__ 4
2876// TCE:#define __SIZEOF_LONG__ 4
2877// TCE:#define __SIZEOF_POINTER__ 4
2878// TCE:#define __SIZEOF_PTRDIFF_T__ 4
2879// TCE:#define __SIZEOF_SHORT__ 2
2880// TCE:#define __SIZEOF_SIZE_T__ 4
2881// TCE:#define __SIZEOF_WCHAR_T__ 4
2882// TCE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002883// TCE:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00002884// TCE:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002885// TCE:#define __SIZE_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002886// TCE:#define __TCE_V1__ 1
2887// TCE:#define __TCE__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002888// TCE:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002889// TCE:#define __USER_LABEL_PREFIX__ _
2890// TCE:#define __WCHAR_MAX__ 2147483647
2891// TCE:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002892// TCE:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002893// TCE:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002894// TCE:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002895// TCE:#define __tce 1
2896// TCE:#define __tce__ 1
2897// TCE:#define tce 1
2898//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002899// 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 +00002900//
2901// X86_64:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002902// X86_64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002903// X86_64:#define __CHAR16_TYPE__ unsigned short
2904// X86_64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002905// X86_64:#define __CHAR_BIT__ 8
2906// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2907// X86_64:#define __DBL_DIG__ 15
2908// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
2909// X86_64:#define __DBL_HAS_DENORM__ 1
2910// X86_64:#define __DBL_HAS_INFINITY__ 1
2911// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
2912// X86_64:#define __DBL_MANT_DIG__ 53
2913// X86_64:#define __DBL_MAX_10_EXP__ 308
2914// X86_64:#define __DBL_MAX_EXP__ 1024
2915// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
2916// X86_64:#define __DBL_MIN_10_EXP__ (-307)
2917// X86_64:#define __DBL_MIN_EXP__ (-1021)
2918// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
2919// X86_64:#define __DECIMAL_DIG__ 21
2920// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2921// X86_64:#define __FLT_DIG__ 6
2922// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
2923// X86_64:#define __FLT_EVAL_METHOD__ 0
2924// X86_64:#define __FLT_HAS_DENORM__ 1
2925// X86_64:#define __FLT_HAS_INFINITY__ 1
2926// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
2927// X86_64:#define __FLT_MANT_DIG__ 24
2928// X86_64:#define __FLT_MAX_10_EXP__ 38
2929// X86_64:#define __FLT_MAX_EXP__ 128
2930// X86_64:#define __FLT_MAX__ 3.40282347e+38F
2931// X86_64:#define __FLT_MIN_10_EXP__ (-37)
2932// X86_64:#define __FLT_MIN_EXP__ (-125)
2933// X86_64:#define __FLT_MIN__ 1.17549435e-38F
2934// X86_64:#define __FLT_RADIX__ 2
2935// X86_64:#define __INT16_TYPE__ short
2936// X86_64:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002937// X86_64:#define __INT64_C_SUFFIX__ L
Chris Lattnere963d092009-10-29 04:55:36 +00002938// X86_64:#define __INT64_TYPE__ long int
2939// X86_64:#define __INT8_TYPE__ char
2940// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck9b25f782009-11-19 13:18:59 +00002941// X86_64:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002942// X86_64:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002943// X86_64:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002944// X86_64:#define __INTPTR_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00002945// X86_64:#define __INT_MAX__ 2147483647
2946// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
2947// X86_64:#define __LDBL_DIG__ 18
2948// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
2949// X86_64:#define __LDBL_HAS_DENORM__ 1
2950// X86_64:#define __LDBL_HAS_INFINITY__ 1
2951// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
2952// X86_64:#define __LDBL_MANT_DIG__ 64
2953// X86_64:#define __LDBL_MAX_10_EXP__ 4932
2954// X86_64:#define __LDBL_MAX_EXP__ 16384
2955// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
2956// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
2957// X86_64:#define __LDBL_MIN_EXP__ (-16381)
2958// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
2959// X86_64:#define __LITTLE_ENDIAN__ 1
2960// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
2961// X86_64:#define __LONG_MAX__ 9223372036854775807L
2962// X86_64:#define __LP64__ 1
2963// X86_64:#define __MMX__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002964// X86_64:#define __NO_MATH_INLINES 1
2965// X86_64:#define __POINTER_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002966// X86_64:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002967// X86_64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00002968// X86_64:#define __REGISTER_PREFIX__
2969// X86_64:#define __SCHAR_MAX__ 127
2970// X86_64:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002971// X86_64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002972// X86_64:#define __SIZEOF_DOUBLE__ 8
2973// X86_64:#define __SIZEOF_FLOAT__ 4
2974// X86_64:#define __SIZEOF_INT__ 4
2975// X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
2976// X86_64:#define __SIZEOF_LONG_LONG__ 8
2977// X86_64:#define __SIZEOF_LONG__ 8
2978// X86_64:#define __SIZEOF_POINTER__ 8
2979// X86_64:#define __SIZEOF_PTRDIFF_T__ 8
2980// X86_64:#define __SIZEOF_SHORT__ 2
2981// X86_64:#define __SIZEOF_SIZE_T__ 8
2982// X86_64:#define __SIZEOF_WCHAR_T__ 4
2983// X86_64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002984// X86_64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnere963d092009-10-29 04:55:36 +00002985// X86_64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002986// X86_64:#define __SIZE_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00002987// X86_64:#define __SSE2_MATH__ 1
2988// X86_64:#define __SSE2__ 1
2989// X86_64:#define __SSE_MATH__ 1
2990// X86_64:#define __SSE__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002991// X86_64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002992// X86_64:#define __USER_LABEL_PREFIX__ _
2993// X86_64:#define __WCHAR_MAX__ 2147483647
2994// X86_64:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002995// X86_64:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002996// X86_64:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002997// X86_64:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002998// X86_64:#define __amd64 1
2999// X86_64:#define __amd64__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00003000// X86_64:#define __x86_64 1
3001// X86_64:#define __x86_64__ 1
3002//
Douglas Gregore6d6e512011-01-12 21:19:25 +00003003// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
3004//
3005// X86_64-LINUX:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003006// X86_64-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregore6d6e512011-01-12 21:19:25 +00003007// X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
3008// X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
3009// X86_64-LINUX:#define __CHAR_BIT__ 8
3010// X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3011// X86_64-LINUX:#define __DBL_DIG__ 15
3012// X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
3013// X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
3014// X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
3015// X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
3016// X86_64-LINUX:#define __DBL_MANT_DIG__ 53
3017// X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
3018// X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
3019// X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
3020// X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
3021// X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
3022// X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
3023// X86_64-LINUX:#define __DECIMAL_DIG__ 21
3024// X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3025// X86_64-LINUX:#define __FLT_DIG__ 6
3026// X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
3027// X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
3028// X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
3029// X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
3030// X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
3031// X86_64-LINUX:#define __FLT_MANT_DIG__ 24
3032// X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
3033// X86_64-LINUX:#define __FLT_MAX_EXP__ 128
3034// X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
3035// X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
3036// X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
3037// X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
3038// X86_64-LINUX:#define __FLT_RADIX__ 2
3039// X86_64-LINUX:#define __INT16_TYPE__ short
3040// X86_64-LINUX:#define __INT32_TYPE__ int
3041// X86_64-LINUX:#define __INT64_C_SUFFIX__ L
3042// X86_64-LINUX:#define __INT64_TYPE__ long int
3043// X86_64-LINUX:#define __INT8_TYPE__ char
3044// X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
3045// X86_64-LINUX:#define __INTMAX_TYPE__ long int
3046// X86_64-LINUX:#define __INTMAX_WIDTH__ 64
3047// X86_64-LINUX:#define __INTPTR_TYPE__ long int
3048// X86_64-LINUX:#define __INTPTR_WIDTH__ 64
3049// X86_64-LINUX:#define __INT_MAX__ 2147483647
3050// X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3051// X86_64-LINUX:#define __LDBL_DIG__ 18
3052// X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3053// X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
3054// X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
3055// X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
3056// X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
3057// X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
3058// X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
3059// X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3060// X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
3061// X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
3062// X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3063// X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
3064// X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
3065// X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
3066// X86_64-LINUX:#define __LP64__ 1
3067// X86_64-LINUX:#define __MMX__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00003068// X86_64-LINUX:#define __NO_MATH_INLINES 1
3069// X86_64-LINUX:#define __POINTER_WIDTH__ 64
3070// X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
3071// X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
3072// X86_64-LINUX:#define __REGISTER_PREFIX__
3073// X86_64-LINUX:#define __SCHAR_MAX__ 127
3074// X86_64-LINUX:#define __SHRT_MAX__ 32767
3075// X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
3076// X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
3077// X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
3078// X86_64-LINUX:#define __SIZEOF_INT__ 4
3079// X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
3080// X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
3081// X86_64-LINUX:#define __SIZEOF_LONG__ 8
3082// X86_64-LINUX:#define __SIZEOF_POINTER__ 8
3083// X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
3084// X86_64-LINUX:#define __SIZEOF_SHORT__ 2
3085// X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
3086// X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
3087// X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003088// X86_64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Douglas Gregore6d6e512011-01-12 21:19:25 +00003089// X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
3090// X86_64-LINUX:#define __SIZE_WIDTH__ 64
3091// X86_64-LINUX:#define __SSE2_MATH__ 1
3092// X86_64-LINUX:#define __SSE2__ 1
3093// X86_64-LINUX:#define __SSE_MATH__ 1
3094// X86_64-LINUX:#define __SSE__ 1
3095// X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
3096// X86_64-LINUX:#define __USER_LABEL_PREFIX__
3097// X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
3098// X86_64-LINUX:#define __WCHAR_TYPE__ int
3099// X86_64-LINUX:#define __WCHAR_WIDTH__ 32
3100// X86_64-LINUX:#define __WINT_TYPE__ unsigned int
3101// X86_64-LINUX:#define __WINT_WIDTH__ 32
3102// X86_64-LINUX:#define __amd64 1
3103// X86_64-LINUX:#define __amd64__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00003104// X86_64-LINUX:#define __x86_64 1
3105// X86_64-LINUX:#define __x86_64__ 1
3106//
Ed Schoutend0621462013-09-29 07:54:52 +00003107// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-unknown-freebsd9.1 < /dev/null | FileCheck -check-prefix X86_64-FREEBSD %s
3108//
3109// X86_64-FREEBSD:#define __FreeBSD__ 9
3110// X86_64-FREEBSD:#define __FreeBSD_cc_version 900001
3111// X86_64-FREEBSD:#define __STDC_MB_MIGHT_NEQ_WC__ 1
3112//
Joerg Sonnenberger0e921f22013-11-11 14:00:37 +00003113// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-netbsd < /dev/null | FileCheck -check-prefix X86_64-NETBSD %s
3114//
3115// X86_64-NETBSD:#define _LP64 1
3116// X86_64-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
3117// X86_64-NETBSD:#define __CHAR16_TYPE__ unsigned short
3118// X86_64-NETBSD:#define __CHAR32_TYPE__ unsigned int
3119// X86_64-NETBSD:#define __CHAR_BIT__ 8
3120// X86_64-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3121// X86_64-NETBSD:#define __DBL_DIG__ 15
3122// X86_64-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
3123// X86_64-NETBSD:#define __DBL_HAS_DENORM__ 1
3124// X86_64-NETBSD:#define __DBL_HAS_INFINITY__ 1
3125// X86_64-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
3126// X86_64-NETBSD:#define __DBL_MANT_DIG__ 53
3127// X86_64-NETBSD:#define __DBL_MAX_10_EXP__ 308
3128// X86_64-NETBSD:#define __DBL_MAX_EXP__ 1024
3129// X86_64-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
3130// X86_64-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
3131// X86_64-NETBSD:#define __DBL_MIN_EXP__ (-1021)
3132// X86_64-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
3133// X86_64-NETBSD:#define __DECIMAL_DIG__ 21
3134// X86_64-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3135// X86_64-NETBSD:#define __FLT_DIG__ 6
3136// X86_64-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
3137// X86_64-NETBSD:#define __FLT_EVAL_METHOD__ 0
3138// X86_64-NETBSD:#define __FLT_HAS_DENORM__ 1
3139// X86_64-NETBSD:#define __FLT_HAS_INFINITY__ 1
3140// X86_64-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
3141// X86_64-NETBSD:#define __FLT_MANT_DIG__ 24
3142// X86_64-NETBSD:#define __FLT_MAX_10_EXP__ 38
3143// X86_64-NETBSD:#define __FLT_MAX_EXP__ 128
3144// X86_64-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
3145// X86_64-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
3146// X86_64-NETBSD:#define __FLT_MIN_EXP__ (-125)
3147// X86_64-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
3148// X86_64-NETBSD:#define __FLT_RADIX__ 2
3149// X86_64-NETBSD:#define __INT16_TYPE__ short
3150// X86_64-NETBSD:#define __INT32_TYPE__ int
3151// X86_64-NETBSD:#define __INT64_C_SUFFIX__ L
3152// X86_64-NETBSD:#define __INT64_TYPE__ long int
3153// X86_64-NETBSD:#define __INT8_TYPE__ char
3154// X86_64-NETBSD:#define __INTMAX_MAX__ 9223372036854775807L
3155// X86_64-NETBSD:#define __INTMAX_TYPE__ long int
3156// X86_64-NETBSD:#define __INTMAX_WIDTH__ 64
3157// X86_64-NETBSD:#define __INTPTR_TYPE__ long int
3158// X86_64-NETBSD:#define __INTPTR_WIDTH__ 64
3159// X86_64-NETBSD:#define __INT_MAX__ 2147483647
3160// X86_64-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3161// X86_64-NETBSD:#define __LDBL_DIG__ 18
3162// X86_64-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3163// X86_64-NETBSD:#define __LDBL_HAS_DENORM__ 1
3164// X86_64-NETBSD:#define __LDBL_HAS_INFINITY__ 1
3165// X86_64-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
3166// X86_64-NETBSD:#define __LDBL_MANT_DIG__ 64
3167// X86_64-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
3168// X86_64-NETBSD:#define __LDBL_MAX_EXP__ 16384
3169// X86_64-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3170// X86_64-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
3171// X86_64-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
3172// X86_64-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3173// X86_64-NETBSD:#define __LITTLE_ENDIAN__ 1
3174// X86_64-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
3175// X86_64-NETBSD:#define __LONG_MAX__ 9223372036854775807L
3176// X86_64-NETBSD:#define __LP64__ 1
3177// X86_64-NETBSD:#define __MMX__ 1
3178// X86_64-NETBSD:#define __NO_MATH_INLINES 1
3179// X86_64-NETBSD:#define __POINTER_WIDTH__ 64
3180// X86_64-NETBSD:#define __PTRDIFF_TYPE__ long int
3181// X86_64-NETBSD:#define __PTRDIFF_WIDTH__ 64
3182// X86_64-NETBSD:#define __REGISTER_PREFIX__
3183// X86_64-NETBSD:#define __SCHAR_MAX__ 127
3184// X86_64-NETBSD:#define __SHRT_MAX__ 32767
3185// X86_64-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
3186// X86_64-NETBSD:#define __SIZEOF_DOUBLE__ 8
3187// X86_64-NETBSD:#define __SIZEOF_FLOAT__ 4
3188// X86_64-NETBSD:#define __SIZEOF_INT__ 4
3189// X86_64-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 16
3190// X86_64-NETBSD:#define __SIZEOF_LONG_LONG__ 8
3191// X86_64-NETBSD:#define __SIZEOF_LONG__ 8
3192// X86_64-NETBSD:#define __SIZEOF_POINTER__ 8
3193// X86_64-NETBSD:#define __SIZEOF_PTRDIFF_T__ 8
3194// X86_64-NETBSD:#define __SIZEOF_SHORT__ 2
3195// X86_64-NETBSD:#define __SIZEOF_SIZE_T__ 8
3196// X86_64-NETBSD:#define __SIZEOF_WCHAR_T__ 4
3197// X86_64-NETBSD:#define __SIZEOF_WINT_T__ 4
3198// X86_64-NETBSD:#define __SIZE_MAX__ 18446744073709551615UL
3199// X86_64-NETBSD:#define __SIZE_TYPE__ long unsigned int
3200// X86_64-NETBSD:#define __SIZE_WIDTH__ 64
3201// X86_64-NETBSD:#define __SSE2_MATH__ 1
3202// X86_64-NETBSD:#define __SSE2__ 1
3203// X86_64-NETBSD:#define __SSE_MATH__ 1
3204// X86_64-NETBSD:#define __SSE__ 1
3205// X86_64-NETBSD:#define __UINTMAX_TYPE__ long unsigned int
3206// X86_64-NETBSD:#define __USER_LABEL_PREFIX__
3207// X86_64-NETBSD:#define __WCHAR_MAX__ 2147483647
3208// X86_64-NETBSD:#define __WCHAR_TYPE__ int
3209// X86_64-NETBSD:#define __WCHAR_WIDTH__ 32
3210// X86_64-NETBSD:#define __WINT_TYPE__ int
3211// X86_64-NETBSD:#define __WINT_WIDTH__ 32
3212// X86_64-NETBSD:#define __amd64 1
3213// X86_64-NETBSD:#define __amd64__ 1
3214// X86_64-NETBSD:#define __x86_64 1
3215// X86_64-NETBSD:#define __x86_64__ 1
3216//
Jakob Stoklund Olesen248520b2013-05-15 03:22:33 +00003217// 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 +00003218// SPARCV9:#define __INT64_TYPE__ long int
Jakob Stoklund Olesen248520b2013-05-15 03:22:33 +00003219// SPARCV9:#define __INTMAX_TYPE__ long int
3220// SPARCV9:#define __INTPTR_TYPE__ long int
3221// SPARCV9:#define __LONG_MAX__ 9223372036854775807L
3222// SPARCV9:#define __LP64__ 1
3223// SPARCV9:#define __SIZEOF_LONG__ 8
3224// SPARCV9:#define __SIZEOF_POINTER__ 8
3225//
Jakob Stoklund Olesen826df142013-05-19 17:53:37 +00003226// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-openbsd < /dev/null | FileCheck -check-prefix SPARC64-OBSD %s
3227// SPARC64-OBSD:#define __INT64_TYPE__ long long int
3228// SPARC64-OBSD:#define __INTMAX_TYPE__ long long int
3229// SPARC64-OBSD:#define __UINTMAX_TYPE__ long long unsigned int
3230//
Sylvestre Ledrufd7cd3552013-09-06 14:53:07 +00003231// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSD-DEFINE %s
3232// KFREEBSD-DEFINE:#define __FreeBSD_kernel__ 1
3233// KFREEBSD-DEFINE:#define __GLIBC__ 1
3234//
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003235// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i686-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSDI686-DEFINE %s
3236// KFREEBSDI686-DEFINE:#define __FreeBSD_kernel__ 1
3237// KFREEBSDI686-DEFINE:#define __GLIBC__ 1
3238//
David Chisnallb601c962012-07-03 20:49:52 +00003239// 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 +00003240// GNUSOURCE:#define _GNU_SOURCE 1
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003241//
Dan Gohman04f87202010-05-28 00:27:15 +00003242// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
3243// NORTTI: __GXX_ABI_VERSION
3244// NORTTI-NOT:#define __GXX_RTTI
3245// NORTTI: __STDC__
Evgeniy Stepanov94dc4c92012-04-26 12:08:09 +00003246//
3247// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
3248// ANDROID: __ANDROID__ 1
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003249//
Roman Divacky13b586f2013-07-03 19:45:54 +00003250// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd < /dev/null | FileCheck -check-prefix PPC64-FREEBSD %s
3251// PPC64-FREEBSD-NOT: #define __LONG_DOUBLE_128__ 1
Robert Lytton0e076492013-08-13 09:43:10 +00003252//
3253// RUN: %clang_cc1 -E -dM -ffreestanding -triple=xcore-none-none < /dev/null | FileCheck -check-prefix XCORE %s
3254// XCORE:#define __XS1B__ 1