blob: ce7ee09abe11e77d8bee2f205481bce67c4d978a [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
Chris Lattnere963d092009-10-29 04:55:36 +0000515//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000516// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
Chris Lattnere963d092009-10-29 04:55:36 +0000517//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000518// I386-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000519// I386:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +0000520// I386:#define __CHAR16_TYPE__ unsigned short
521// I386:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000522// I386:#define __CHAR_BIT__ 8
523// I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
524// I386:#define __DBL_DIG__ 15
525// I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
526// I386:#define __DBL_HAS_DENORM__ 1
527// I386:#define __DBL_HAS_INFINITY__ 1
528// I386:#define __DBL_HAS_QUIET_NAN__ 1
529// I386:#define __DBL_MANT_DIG__ 53
530// I386:#define __DBL_MAX_10_EXP__ 308
531// I386:#define __DBL_MAX_EXP__ 1024
532// I386:#define __DBL_MAX__ 1.7976931348623157e+308
533// I386:#define __DBL_MIN_10_EXP__ (-307)
534// I386:#define __DBL_MIN_EXP__ (-1021)
535// I386:#define __DBL_MIN__ 2.2250738585072014e-308
536// I386:#define __DECIMAL_DIG__ 21
537// I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
538// I386:#define __FLT_DIG__ 6
539// I386:#define __FLT_EPSILON__ 1.19209290e-7F
Benjamin Kramercf501472011-12-28 15:47:06 +0000540// I386:#define __FLT_EVAL_METHOD__ 2
Chris Lattnere963d092009-10-29 04:55:36 +0000541// I386:#define __FLT_HAS_DENORM__ 1
542// I386:#define __FLT_HAS_INFINITY__ 1
543// I386:#define __FLT_HAS_QUIET_NAN__ 1
544// I386:#define __FLT_MANT_DIG__ 24
545// I386:#define __FLT_MAX_10_EXP__ 38
546// I386:#define __FLT_MAX_EXP__ 128
547// I386:#define __FLT_MAX__ 3.40282347e+38F
548// I386:#define __FLT_MIN_10_EXP__ (-37)
549// I386:#define __FLT_MIN_EXP__ (-125)
550// I386:#define __FLT_MIN__ 1.17549435e-38F
551// I386:#define __FLT_RADIX__ 2
552// I386:#define __INT16_TYPE__ short
553// I386:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +0000554// I386:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +0000555// I386:#define __INT64_TYPE__ long long int
556// I386:#define __INT8_TYPE__ char
557// I386:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +0000558// I386:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +0000559// I386:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +0000560// I386:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +0000561// I386:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000562// I386:#define __INT_MAX__ 2147483647
563// I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
564// I386:#define __LDBL_DIG__ 18
565// I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
566// I386:#define __LDBL_HAS_DENORM__ 1
567// I386:#define __LDBL_HAS_INFINITY__ 1
568// I386:#define __LDBL_HAS_QUIET_NAN__ 1
569// I386:#define __LDBL_MANT_DIG__ 64
570// I386:#define __LDBL_MAX_10_EXP__ 4932
571// I386:#define __LDBL_MAX_EXP__ 16384
572// I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
573// I386:#define __LDBL_MIN_10_EXP__ (-4931)
574// I386:#define __LDBL_MIN_EXP__ (-16381)
575// I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
576// I386:#define __LITTLE_ENDIAN__ 1
577// I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
578// I386:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000579// I386-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +0000580// I386:#define __NO_MATH_INLINES 1
581// I386:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000582// I386:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +0000583// I386:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000584// I386:#define __REGISTER_PREFIX__
585// I386:#define __SCHAR_MAX__ 127
586// I386:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +0000587// I386:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +0000588// I386:#define __SIZEOF_DOUBLE__ 8
589// I386:#define __SIZEOF_FLOAT__ 4
590// I386:#define __SIZEOF_INT__ 4
591// I386:#define __SIZEOF_LONG_DOUBLE__ 12
592// I386:#define __SIZEOF_LONG_LONG__ 8
593// I386:#define __SIZEOF_LONG__ 4
594// I386:#define __SIZEOF_POINTER__ 4
595// I386:#define __SIZEOF_PTRDIFF_T__ 4
596// I386:#define __SIZEOF_SHORT__ 2
597// I386:#define __SIZEOF_SIZE_T__ 4
598// I386:#define __SIZEOF_WCHAR_T__ 4
599// I386:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000600// I386:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +0000601// I386:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +0000602// I386:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000603// I386:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000604// I386:#define __USER_LABEL_PREFIX__ _
605// I386:#define __WCHAR_MAX__ 2147483647
606// I386:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +0000607// I386:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000608// I386:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +0000609// I386:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000610// I386:#define __i386 1
611// I386:#define __i386__ 1
Chris Lattnere963d092009-10-29 04:55:36 +0000612// I386:#define i386 1
613//
Benjamin Kramercf501472011-12-28 15:47:06 +0000614// 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 +0000615//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000616// I386-LINUX-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000617// I386-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregore6d6e512011-01-12 21:19:25 +0000618// I386-LINUX:#define __CHAR16_TYPE__ unsigned short
619// I386-LINUX:#define __CHAR32_TYPE__ unsigned int
620// I386-LINUX:#define __CHAR_BIT__ 8
621// I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
622// I386-LINUX:#define __DBL_DIG__ 15
623// I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
624// I386-LINUX:#define __DBL_HAS_DENORM__ 1
625// I386-LINUX:#define __DBL_HAS_INFINITY__ 1
626// I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
627// I386-LINUX:#define __DBL_MANT_DIG__ 53
628// I386-LINUX:#define __DBL_MAX_10_EXP__ 308
629// I386-LINUX:#define __DBL_MAX_EXP__ 1024
630// I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
631// I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
632// I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
633// I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
634// I386-LINUX:#define __DECIMAL_DIG__ 21
635// I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
636// I386-LINUX:#define __FLT_DIG__ 6
637// I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
638// I386-LINUX:#define __FLT_EVAL_METHOD__ 0
639// I386-LINUX:#define __FLT_HAS_DENORM__ 1
640// I386-LINUX:#define __FLT_HAS_INFINITY__ 1
641// I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
642// I386-LINUX:#define __FLT_MANT_DIG__ 24
643// I386-LINUX:#define __FLT_MAX_10_EXP__ 38
644// I386-LINUX:#define __FLT_MAX_EXP__ 128
645// I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
646// I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
647// I386-LINUX:#define __FLT_MIN_EXP__ (-125)
648// I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
649// I386-LINUX:#define __FLT_RADIX__ 2
650// I386-LINUX:#define __INT16_TYPE__ short
651// I386-LINUX:#define __INT32_TYPE__ int
652// I386-LINUX:#define __INT64_C_SUFFIX__ LL
653// I386-LINUX:#define __INT64_TYPE__ long long int
654// I386-LINUX:#define __INT8_TYPE__ char
655// I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
656// I386-LINUX:#define __INTMAX_TYPE__ long long int
657// I386-LINUX:#define __INTMAX_WIDTH__ 64
658// I386-LINUX:#define __INTPTR_TYPE__ int
659// I386-LINUX:#define __INTPTR_WIDTH__ 32
660// I386-LINUX:#define __INT_MAX__ 2147483647
661// I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
662// I386-LINUX:#define __LDBL_DIG__ 18
663// I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
664// I386-LINUX:#define __LDBL_HAS_DENORM__ 1
665// I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
666// I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
667// I386-LINUX:#define __LDBL_MANT_DIG__ 64
668// I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
669// I386-LINUX:#define __LDBL_MAX_EXP__ 16384
670// I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
671// I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
672// I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
673// I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
674// I386-LINUX:#define __LITTLE_ENDIAN__ 1
675// I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
676// I386-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000677// I386-LINUX-NOT:#define __LP64__
Douglas Gregore6d6e512011-01-12 21:19:25 +0000678// I386-LINUX:#define __NO_MATH_INLINES 1
679// I386-LINUX:#define __POINTER_WIDTH__ 32
680// I386-LINUX:#define __PTRDIFF_TYPE__ int
681// I386-LINUX:#define __PTRDIFF_WIDTH__ 32
682// I386-LINUX:#define __REGISTER_PREFIX__
683// I386-LINUX:#define __SCHAR_MAX__ 127
684// I386-LINUX:#define __SHRT_MAX__ 32767
685// I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
686// I386-LINUX:#define __SIZEOF_DOUBLE__ 8
687// I386-LINUX:#define __SIZEOF_FLOAT__ 4
688// I386-LINUX:#define __SIZEOF_INT__ 4
689// I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
690// I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
691// I386-LINUX:#define __SIZEOF_LONG__ 4
692// I386-LINUX:#define __SIZEOF_POINTER__ 4
693// I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
694// I386-LINUX:#define __SIZEOF_SHORT__ 2
695// I386-LINUX:#define __SIZEOF_SIZE_T__ 4
696// I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
697// I386-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000698// I386-LINUX:#define __SIZE_MAX__ 4294967295U
Douglas Gregore6d6e512011-01-12 21:19:25 +0000699// I386-LINUX:#define __SIZE_TYPE__ unsigned int
700// I386-LINUX:#define __SIZE_WIDTH__ 32
701// I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
702// I386-LINUX:#define __USER_LABEL_PREFIX__
703// I386-LINUX:#define __WCHAR_MAX__ 2147483647
704// I386-LINUX:#define __WCHAR_TYPE__ int
705// I386-LINUX:#define __WCHAR_WIDTH__ 32
706// I386-LINUX:#define __WINT_TYPE__ unsigned int
707// I386-LINUX:#define __WINT_WIDTH__ 32
708// I386-LINUX:#define __i386 1
709// I386-LINUX:#define __i386__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +0000710// I386-LINUX:#define i386 1
711//
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000712// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none < /dev/null | FileCheck -check-prefix MIPS32BE %s
713//
714// MIPS32BE:#define MIPSEB 1
715// MIPS32BE:#define _ABIO32 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000716// MIPS32BE-NOT:#define _LP64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000717// MIPS32BE:#define _MIPSEB 1
Simon Atanasyan5a0642f2012-08-29 15:17:29 +0000718// MIPS32BE:#define _MIPS_ARCH "mips32"
719// MIPS32BE:#define _MIPS_ARCH_MIPS32 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000720// MIPS32BE:#define _MIPS_SIM _ABIO32
721// MIPS32BE:#define _MIPS_SZINT 32
722// MIPS32BE:#define _MIPS_SZLONG 32
723// MIPS32BE:#define _MIPS_SZPTR 32
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000724// MIPS32BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000725// MIPS32BE:#define __CHAR16_TYPE__ unsigned short
726// MIPS32BE:#define __CHAR32_TYPE__ unsigned int
727// MIPS32BE:#define __CHAR_BIT__ 8
728// MIPS32BE:#define __CONSTANT_CFSTRINGS__ 1
729// MIPS32BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
730// MIPS32BE:#define __DBL_DIG__ 15
731// MIPS32BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
732// MIPS32BE:#define __DBL_HAS_DENORM__ 1
733// MIPS32BE:#define __DBL_HAS_INFINITY__ 1
734// MIPS32BE:#define __DBL_HAS_QUIET_NAN__ 1
735// MIPS32BE:#define __DBL_MANT_DIG__ 53
736// MIPS32BE:#define __DBL_MAX_10_EXP__ 308
737// MIPS32BE:#define __DBL_MAX_EXP__ 1024
738// MIPS32BE:#define __DBL_MAX__ 1.7976931348623157e+308
739// MIPS32BE:#define __DBL_MIN_10_EXP__ (-307)
740// MIPS32BE:#define __DBL_MIN_EXP__ (-1021)
741// MIPS32BE:#define __DBL_MIN__ 2.2250738585072014e-308
742// MIPS32BE:#define __DECIMAL_DIG__ 17
743// MIPS32BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
744// MIPS32BE:#define __FLT_DIG__ 6
745// MIPS32BE:#define __FLT_EPSILON__ 1.19209290e-7F
746// MIPS32BE:#define __FLT_EVAL_METHOD__ 0
747// MIPS32BE:#define __FLT_HAS_DENORM__ 1
748// MIPS32BE:#define __FLT_HAS_INFINITY__ 1
749// MIPS32BE:#define __FLT_HAS_QUIET_NAN__ 1
750// MIPS32BE:#define __FLT_MANT_DIG__ 24
751// MIPS32BE:#define __FLT_MAX_10_EXP__ 38
752// MIPS32BE:#define __FLT_MAX_EXP__ 128
753// MIPS32BE:#define __FLT_MAX__ 3.40282347e+38F
754// MIPS32BE:#define __FLT_MIN_10_EXP__ (-37)
755// MIPS32BE:#define __FLT_MIN_EXP__ (-125)
756// MIPS32BE:#define __FLT_MIN__ 1.17549435e-38F
757// MIPS32BE:#define __FLT_RADIX__ 2
758// MIPS32BE:#define __INT16_TYPE__ short
759// MIPS32BE:#define __INT32_TYPE__ int
760// MIPS32BE:#define __INT64_C_SUFFIX__ LL
761// MIPS32BE:#define __INT64_TYPE__ long long int
762// MIPS32BE:#define __INT8_TYPE__ char
763// MIPS32BE:#define __INTMAX_MAX__ 9223372036854775807LL
764// MIPS32BE:#define __INTMAX_TYPE__ long long int
765// MIPS32BE:#define __INTMAX_WIDTH__ 64
766// MIPS32BE:#define __INTPTR_TYPE__ long int
767// MIPS32BE:#define __INTPTR_WIDTH__ 32
768// MIPS32BE:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000769// MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000770// MIPS32BE:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000771// MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000772// MIPS32BE:#define __LDBL_HAS_DENORM__ 1
773// MIPS32BE:#define __LDBL_HAS_INFINITY__ 1
774// MIPS32BE:#define __LDBL_HAS_QUIET_NAN__ 1
775// MIPS32BE:#define __LDBL_MANT_DIG__ 53
776// MIPS32BE:#define __LDBL_MAX_10_EXP__ 308
777// MIPS32BE:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000778// MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000779// MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307)
780// MIPS32BE:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000781// MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000782// MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
783// MIPS32BE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000784// MIPS32BE-NOT:#define __LP64__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000785// MIPS32BE:#define __MIPSEB 1
786// MIPS32BE:#define __MIPSEB__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000787// MIPS32BE:#define __POINTER_WIDTH__ 32
788// MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1
789// MIPS32BE:#define __PTRDIFF_TYPE__ int
790// MIPS32BE:#define __PTRDIFF_WIDTH__ 32
791// MIPS32BE:#define __REGISTER_PREFIX__
792// MIPS32BE:#define __SCHAR_MAX__ 127
793// MIPS32BE:#define __SHRT_MAX__ 32767
794// MIPS32BE:#define __SIG_ATOMIC_WIDTH__ 32
795// MIPS32BE:#define __SIZEOF_DOUBLE__ 8
796// MIPS32BE:#define __SIZEOF_FLOAT__ 4
797// MIPS32BE:#define __SIZEOF_INT__ 4
798// MIPS32BE:#define __SIZEOF_LONG_DOUBLE__ 8
799// MIPS32BE:#define __SIZEOF_LONG_LONG__ 8
800// MIPS32BE:#define __SIZEOF_LONG__ 4
801// MIPS32BE:#define __SIZEOF_POINTER__ 4
802// MIPS32BE:#define __SIZEOF_PTRDIFF_T__ 4
803// MIPS32BE:#define __SIZEOF_SHORT__ 2
804// MIPS32BE:#define __SIZEOF_SIZE_T__ 4
805// MIPS32BE:#define __SIZEOF_WCHAR_T__ 4
806// MIPS32BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000807// MIPS32BE:#define __SIZE_MAX__ 4294967295U
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000808// MIPS32BE:#define __SIZE_TYPE__ unsigned int
809// MIPS32BE:#define __SIZE_WIDTH__ 32
810// MIPS32BE:#define __STDC_HOSTED__ 0
811// MIPS32BE:#define __STDC_VERSION__ 199901L
812// MIPS32BE:#define __STDC__ 1
813// MIPS32BE:#define __UINTMAX_TYPE__ long long unsigned int
814// MIPS32BE:#define __USER_LABEL_PREFIX__ _
815// MIPS32BE:#define __WCHAR_MAX__ 2147483647
816// MIPS32BE:#define __WCHAR_TYPE__ int
817// MIPS32BE:#define __WCHAR_WIDTH__ 32
818// MIPS32BE:#define __WINT_TYPE__ int
819// MIPS32BE:#define __WINT_WIDTH__ 32
820// MIPS32BE:#define __clang__ 1
821// MIPS32BE:#define __llvm__ 1
822// MIPS32BE:#define __mips 1
823// MIPS32BE:#define __mips__ 1
824// MIPS32BE:#define __mips_hard_float 1
825// MIPS32BE:#define __mips_o32 1
826// MIPS32BE:#define _mips 1
827// MIPS32BE:#define mips 1
828//
829// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -check-prefix MIPS32EL %s
830//
831// MIPS32EL:#define MIPSEL 1
832// MIPS32EL:#define _ABIO32 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000833// MIPS32EL-NOT:#define _LP64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000834// MIPS32EL:#define _MIPSEL 1
Simon Atanasyan5a0642f2012-08-29 15:17:29 +0000835// MIPS32EL:#define _MIPS_ARCH "mips32"
836// MIPS32EL:#define _MIPS_ARCH_MIPS32 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000837// MIPS32EL:#define _MIPS_SIM _ABIO32
838// MIPS32EL:#define _MIPS_SZINT 32
839// MIPS32EL:#define _MIPS_SZLONG 32
840// MIPS32EL:#define _MIPS_SZPTR 32
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000841// MIPS32EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000842// MIPS32EL:#define __CHAR16_TYPE__ unsigned short
843// MIPS32EL:#define __CHAR32_TYPE__ unsigned int
844// MIPS32EL:#define __CHAR_BIT__ 8
845// MIPS32EL:#define __CONSTANT_CFSTRINGS__ 1
846// MIPS32EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
847// MIPS32EL:#define __DBL_DIG__ 15
848// MIPS32EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
849// MIPS32EL:#define __DBL_HAS_DENORM__ 1
850// MIPS32EL:#define __DBL_HAS_INFINITY__ 1
851// MIPS32EL:#define __DBL_HAS_QUIET_NAN__ 1
852// MIPS32EL:#define __DBL_MANT_DIG__ 53
853// MIPS32EL:#define __DBL_MAX_10_EXP__ 308
854// MIPS32EL:#define __DBL_MAX_EXP__ 1024
855// MIPS32EL:#define __DBL_MAX__ 1.7976931348623157e+308
856// MIPS32EL:#define __DBL_MIN_10_EXP__ (-307)
857// MIPS32EL:#define __DBL_MIN_EXP__ (-1021)
858// MIPS32EL:#define __DBL_MIN__ 2.2250738585072014e-308
859// MIPS32EL:#define __DECIMAL_DIG__ 17
860// MIPS32EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
861// MIPS32EL:#define __FLT_DIG__ 6
862// MIPS32EL:#define __FLT_EPSILON__ 1.19209290e-7F
863// MIPS32EL:#define __FLT_EVAL_METHOD__ 0
864// MIPS32EL:#define __FLT_HAS_DENORM__ 1
865// MIPS32EL:#define __FLT_HAS_INFINITY__ 1
866// MIPS32EL:#define __FLT_HAS_QUIET_NAN__ 1
867// MIPS32EL:#define __FLT_MANT_DIG__ 24
868// MIPS32EL:#define __FLT_MAX_10_EXP__ 38
869// MIPS32EL:#define __FLT_MAX_EXP__ 128
870// MIPS32EL:#define __FLT_MAX__ 3.40282347e+38F
871// MIPS32EL:#define __FLT_MIN_10_EXP__ (-37)
872// MIPS32EL:#define __FLT_MIN_EXP__ (-125)
873// MIPS32EL:#define __FLT_MIN__ 1.17549435e-38F
874// MIPS32EL:#define __FLT_RADIX__ 2
875// MIPS32EL:#define __INT16_TYPE__ short
876// MIPS32EL:#define __INT32_TYPE__ int
877// MIPS32EL:#define __INT64_C_SUFFIX__ LL
878// MIPS32EL:#define __INT64_TYPE__ long long int
879// MIPS32EL:#define __INT8_TYPE__ char
880// MIPS32EL:#define __INTMAX_MAX__ 9223372036854775807LL
881// MIPS32EL:#define __INTMAX_TYPE__ long long int
882// MIPS32EL:#define __INTMAX_WIDTH__ 64
883// MIPS32EL:#define __INTPTR_TYPE__ long int
884// MIPS32EL:#define __INTPTR_WIDTH__ 32
885// MIPS32EL:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000886// MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000887// MIPS32EL:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000888// MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000889// MIPS32EL:#define __LDBL_HAS_DENORM__ 1
890// MIPS32EL:#define __LDBL_HAS_INFINITY__ 1
891// MIPS32EL:#define __LDBL_HAS_QUIET_NAN__ 1
892// MIPS32EL:#define __LDBL_MANT_DIG__ 53
893// MIPS32EL:#define __LDBL_MAX_10_EXP__ 308
894// MIPS32EL:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000895// MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000896// MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307)
897// MIPS32EL:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000898// MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000899// MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
900// MIPS32EL:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000901// MIPS32EL-NOT:#define __LP64__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000902// MIPS32EL:#define __MIPSEL 1
903// MIPS32EL:#define __MIPSEL__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000904// MIPS32EL:#define __POINTER_WIDTH__ 32
905// MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1
906// MIPS32EL:#define __PTRDIFF_TYPE__ int
907// MIPS32EL:#define __PTRDIFF_WIDTH__ 32
908// MIPS32EL:#define __REGISTER_PREFIX__
909// MIPS32EL:#define __SCHAR_MAX__ 127
910// MIPS32EL:#define __SHRT_MAX__ 32767
911// MIPS32EL:#define __SIG_ATOMIC_WIDTH__ 32
912// MIPS32EL:#define __SIZEOF_DOUBLE__ 8
913// MIPS32EL:#define __SIZEOF_FLOAT__ 4
914// MIPS32EL:#define __SIZEOF_INT__ 4
915// MIPS32EL:#define __SIZEOF_LONG_DOUBLE__ 8
916// MIPS32EL:#define __SIZEOF_LONG_LONG__ 8
917// MIPS32EL:#define __SIZEOF_LONG__ 4
918// MIPS32EL:#define __SIZEOF_POINTER__ 4
919// MIPS32EL:#define __SIZEOF_PTRDIFF_T__ 4
920// MIPS32EL:#define __SIZEOF_SHORT__ 2
921// MIPS32EL:#define __SIZEOF_SIZE_T__ 4
922// MIPS32EL:#define __SIZEOF_WCHAR_T__ 4
923// MIPS32EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000924// MIPS32EL:#define __SIZE_MAX__ 4294967295U
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000925// MIPS32EL:#define __SIZE_TYPE__ unsigned int
926// MIPS32EL:#define __SIZE_WIDTH__ 32
927// MIPS32EL:#define __UINTMAX_TYPE__ long long unsigned int
928// MIPS32EL:#define __USER_LABEL_PREFIX__ _
929// MIPS32EL:#define __WCHAR_MAX__ 2147483647
930// MIPS32EL:#define __WCHAR_TYPE__ int
931// MIPS32EL:#define __WCHAR_WIDTH__ 32
932// MIPS32EL:#define __WINT_TYPE__ int
933// MIPS32EL:#define __WINT_WIDTH__ 32
934// MIPS32EL:#define __clang__ 1
935// MIPS32EL:#define __llvm__ 1
936// MIPS32EL:#define __mips 1
937// MIPS32EL:#define __mips__ 1
938// MIPS32EL:#define __mips_hard_float 1
939// MIPS32EL:#define __mips_o32 1
940// MIPS32EL:#define _mips 1
941// MIPS32EL:#define mips 1
942//
943// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -check-prefix MIPS64BE %s
944//
945// MIPS64BE:#define MIPSEB 1
946// MIPS64BE:#define _ABI64 3
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000947// MIPS64BE:#define _LP64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000948// MIPS64BE:#define _MIPSEB 1
Simon Atanasyan5a0642f2012-08-29 15:17:29 +0000949// MIPS64BE:#define _MIPS_ARCH "mips64"
950// MIPS64BE:#define _MIPS_ARCH_MIPS64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000951// MIPS64BE:#define _MIPS_SIM _ABI64
952// MIPS64BE:#define _MIPS_SZINT 32
953// MIPS64BE:#define _MIPS_SZLONG 64
954// MIPS64BE:#define _MIPS_SZPTR 64
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000955// MIPS64BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000956// MIPS64BE:#define __CHAR16_TYPE__ unsigned short
957// MIPS64BE:#define __CHAR32_TYPE__ unsigned int
958// MIPS64BE:#define __CHAR_BIT__ 8
959// MIPS64BE:#define __CONSTANT_CFSTRINGS__ 1
960// MIPS64BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
961// MIPS64BE:#define __DBL_DIG__ 15
962// MIPS64BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
963// MIPS64BE:#define __DBL_HAS_DENORM__ 1
964// MIPS64BE:#define __DBL_HAS_INFINITY__ 1
965// MIPS64BE:#define __DBL_HAS_QUIET_NAN__ 1
966// MIPS64BE:#define __DBL_MANT_DIG__ 53
967// MIPS64BE:#define __DBL_MAX_10_EXP__ 308
968// MIPS64BE:#define __DBL_MAX_EXP__ 1024
969// MIPS64BE:#define __DBL_MAX__ 1.7976931348623157e+308
970// MIPS64BE:#define __DBL_MIN_10_EXP__ (-307)
971// MIPS64BE:#define __DBL_MIN_EXP__ (-1021)
972// MIPS64BE:#define __DBL_MIN__ 2.2250738585072014e-308
973// MIPS64BE:#define __DECIMAL_DIG__ 36
974// MIPS64BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
975// MIPS64BE:#define __FLT_DIG__ 6
976// MIPS64BE:#define __FLT_EPSILON__ 1.19209290e-7F
977// MIPS64BE:#define __FLT_EVAL_METHOD__ 0
978// MIPS64BE:#define __FLT_HAS_DENORM__ 1
979// MIPS64BE:#define __FLT_HAS_INFINITY__ 1
980// MIPS64BE:#define __FLT_HAS_QUIET_NAN__ 1
981// MIPS64BE:#define __FLT_MANT_DIG__ 24
982// MIPS64BE:#define __FLT_MAX_10_EXP__ 38
983// MIPS64BE:#define __FLT_MAX_EXP__ 128
984// MIPS64BE:#define __FLT_MAX__ 3.40282347e+38F
985// MIPS64BE:#define __FLT_MIN_10_EXP__ (-37)
986// MIPS64BE:#define __FLT_MIN_EXP__ (-125)
987// MIPS64BE:#define __FLT_MIN__ 1.17549435e-38F
988// MIPS64BE:#define __FLT_RADIX__ 2
989// MIPS64BE:#define __INT16_TYPE__ short
990// MIPS64BE:#define __INT32_TYPE__ int
991// MIPS64BE:#define __INT64_C_SUFFIX__ LL
992// MIPS64BE:#define __INT64_TYPE__ long long int
993// MIPS64BE:#define __INT8_TYPE__ char
994// MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807LL
995// MIPS64BE:#define __INTMAX_TYPE__ long long int
996// MIPS64BE:#define __INTMAX_WIDTH__ 64
997// MIPS64BE:#define __INTPTR_TYPE__ long int
998// MIPS64BE:#define __INTPTR_WIDTH__ 64
999// MIPS64BE:#define __INT_MAX__ 2147483647
1000// MIPS64BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1001// MIPS64BE:#define __LDBL_DIG__ 33
1002// MIPS64BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1003// MIPS64BE:#define __LDBL_HAS_DENORM__ 1
1004// MIPS64BE:#define __LDBL_HAS_INFINITY__ 1
1005// MIPS64BE:#define __LDBL_HAS_QUIET_NAN__ 1
1006// MIPS64BE:#define __LDBL_MANT_DIG__ 113
1007// MIPS64BE:#define __LDBL_MAX_10_EXP__ 4932
1008// MIPS64BE:#define __LDBL_MAX_EXP__ 16384
1009// MIPS64BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1010// MIPS64BE:#define __LDBL_MIN_10_EXP__ (-4931)
1011// MIPS64BE:#define __LDBL_MIN_EXP__ (-16381)
1012// MIPS64BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1013// MIPS64BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1014// MIPS64BE:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001015// MIPS64BE:#define __LP64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001016// MIPS64BE:#define __MIPSEB 1
1017// MIPS64BE:#define __MIPSEB__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001018// MIPS64BE:#define __POINTER_WIDTH__ 64
1019// MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1
1020// MIPS64BE:#define __PTRDIFF_TYPE__ long int
1021// MIPS64BE:#define __PTRDIFF_WIDTH__ 64
1022// MIPS64BE:#define __REGISTER_PREFIX__
1023// MIPS64BE:#define __SCHAR_MAX__ 127
1024// MIPS64BE:#define __SHRT_MAX__ 32767
1025// MIPS64BE:#define __SIG_ATOMIC_WIDTH__ 32
1026// MIPS64BE:#define __SIZEOF_DOUBLE__ 8
1027// MIPS64BE:#define __SIZEOF_FLOAT__ 4
1028// MIPS64BE:#define __SIZEOF_INT__ 4
1029// MIPS64BE:#define __SIZEOF_LONG_DOUBLE__ 16
1030// MIPS64BE:#define __SIZEOF_LONG_LONG__ 8
1031// MIPS64BE:#define __SIZEOF_LONG__ 8
1032// MIPS64BE:#define __SIZEOF_POINTER__ 8
1033// MIPS64BE:#define __SIZEOF_PTRDIFF_T__ 8
1034// MIPS64BE:#define __SIZEOF_SHORT__ 2
1035// MIPS64BE:#define __SIZEOF_SIZE_T__ 8
1036// MIPS64BE:#define __SIZEOF_WCHAR_T__ 4
1037// MIPS64BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001038// MIPS64BE:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001039// MIPS64BE:#define __SIZE_TYPE__ long unsigned int
1040// MIPS64BE:#define __SIZE_WIDTH__ 64
1041// MIPS64BE:#define __UINTMAX_TYPE__ long long unsigned int
1042// MIPS64BE:#define __USER_LABEL_PREFIX__ _
1043// MIPS64BE:#define __WCHAR_MAX__ 2147483647
1044// MIPS64BE:#define __WCHAR_TYPE__ int
1045// MIPS64BE:#define __WCHAR_WIDTH__ 32
1046// MIPS64BE:#define __WINT_TYPE__ int
1047// MIPS64BE:#define __WINT_WIDTH__ 32
1048// MIPS64BE:#define __clang__ 1
1049// MIPS64BE:#define __llvm__ 1
1050// MIPS64BE:#define __mips 1
Simon Atanasyanc6a0be02012-08-29 20:50:11 +00001051// MIPS64BE:#define __mips64 1
1052// MIPS64BE:#define __mips64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001053// MIPS64BE:#define __mips__ 1
1054// MIPS64BE:#define __mips_hard_float 1
1055// MIPS64BE:#define __mips_n64 1
1056// MIPS64BE:#define _mips 1
1057// MIPS64BE:#define mips 1
1058//
1059// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -check-prefix MIPS64EL %s
1060//
1061// MIPS64EL:#define MIPSEL 1
1062// MIPS64EL:#define _ABI64 3
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001063// MIPS64EL:#define _LP64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001064// MIPS64EL:#define _MIPSEL 1
Simon Atanasyan5a0642f2012-08-29 15:17:29 +00001065// MIPS64EL:#define _MIPS_ARCH "mips64"
1066// MIPS64EL:#define _MIPS_ARCH_MIPS64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001067// MIPS64EL:#define _MIPS_SIM _ABI64
1068// MIPS64EL:#define _MIPS_SZINT 32
1069// MIPS64EL:#define _MIPS_SZLONG 64
1070// MIPS64EL:#define _MIPS_SZPTR 64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001071// MIPS64EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001072// MIPS64EL:#define __CHAR16_TYPE__ unsigned short
1073// MIPS64EL:#define __CHAR32_TYPE__ unsigned int
1074// MIPS64EL:#define __CHAR_BIT__ 8
1075// MIPS64EL:#define __CONSTANT_CFSTRINGS__ 1
1076// MIPS64EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1077// MIPS64EL:#define __DBL_DIG__ 15
1078// MIPS64EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1079// MIPS64EL:#define __DBL_HAS_DENORM__ 1
1080// MIPS64EL:#define __DBL_HAS_INFINITY__ 1
1081// MIPS64EL:#define __DBL_HAS_QUIET_NAN__ 1
1082// MIPS64EL:#define __DBL_MANT_DIG__ 53
1083// MIPS64EL:#define __DBL_MAX_10_EXP__ 308
1084// MIPS64EL:#define __DBL_MAX_EXP__ 1024
1085// MIPS64EL:#define __DBL_MAX__ 1.7976931348623157e+308
1086// MIPS64EL:#define __DBL_MIN_10_EXP__ (-307)
1087// MIPS64EL:#define __DBL_MIN_EXP__ (-1021)
1088// MIPS64EL:#define __DBL_MIN__ 2.2250738585072014e-308
1089// MIPS64EL:#define __DECIMAL_DIG__ 36
1090// MIPS64EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1091// MIPS64EL:#define __FLT_DIG__ 6
1092// MIPS64EL:#define __FLT_EPSILON__ 1.19209290e-7F
1093// MIPS64EL:#define __FLT_EVAL_METHOD__ 0
1094// MIPS64EL:#define __FLT_HAS_DENORM__ 1
1095// MIPS64EL:#define __FLT_HAS_INFINITY__ 1
1096// MIPS64EL:#define __FLT_HAS_QUIET_NAN__ 1
1097// MIPS64EL:#define __FLT_MANT_DIG__ 24
1098// MIPS64EL:#define __FLT_MAX_10_EXP__ 38
1099// MIPS64EL:#define __FLT_MAX_EXP__ 128
1100// MIPS64EL:#define __FLT_MAX__ 3.40282347e+38F
1101// MIPS64EL:#define __FLT_MIN_10_EXP__ (-37)
1102// MIPS64EL:#define __FLT_MIN_EXP__ (-125)
1103// MIPS64EL:#define __FLT_MIN__ 1.17549435e-38F
1104// MIPS64EL:#define __FLT_RADIX__ 2
1105// MIPS64EL:#define __INT16_TYPE__ short
1106// MIPS64EL:#define __INT32_TYPE__ int
1107// MIPS64EL:#define __INT64_C_SUFFIX__ LL
1108// MIPS64EL:#define __INT64_TYPE__ long long int
1109// MIPS64EL:#define __INT8_TYPE__ char
1110// MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807LL
1111// MIPS64EL:#define __INTMAX_TYPE__ long long int
1112// MIPS64EL:#define __INTMAX_WIDTH__ 64
1113// MIPS64EL:#define __INTPTR_TYPE__ long int
1114// MIPS64EL:#define __INTPTR_WIDTH__ 64
1115// MIPS64EL:#define __INT_MAX__ 2147483647
1116// MIPS64EL:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1117// MIPS64EL:#define __LDBL_DIG__ 33
1118// MIPS64EL:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1119// MIPS64EL:#define __LDBL_HAS_DENORM__ 1
1120// MIPS64EL:#define __LDBL_HAS_INFINITY__ 1
1121// MIPS64EL:#define __LDBL_HAS_QUIET_NAN__ 1
1122// MIPS64EL:#define __LDBL_MANT_DIG__ 113
1123// MIPS64EL:#define __LDBL_MAX_10_EXP__ 4932
1124// MIPS64EL:#define __LDBL_MAX_EXP__ 16384
1125// MIPS64EL:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1126// MIPS64EL:#define __LDBL_MIN_10_EXP__ (-4931)
1127// MIPS64EL:#define __LDBL_MIN_EXP__ (-16381)
1128// MIPS64EL:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1129// MIPS64EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1130// MIPS64EL:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001131// MIPS64EL:#define __LP64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001132// MIPS64EL:#define __MIPSEL 1
1133// MIPS64EL:#define __MIPSEL__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001134// MIPS64EL:#define __POINTER_WIDTH__ 64
1135// MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1136// MIPS64EL:#define __PTRDIFF_TYPE__ long int
1137// MIPS64EL:#define __PTRDIFF_WIDTH__ 64
1138// MIPS64EL:#define __REGISTER_PREFIX__
1139// MIPS64EL:#define __SCHAR_MAX__ 127
1140// MIPS64EL:#define __SHRT_MAX__ 32767
1141// MIPS64EL:#define __SIG_ATOMIC_WIDTH__ 32
1142// MIPS64EL:#define __SIZEOF_DOUBLE__ 8
1143// MIPS64EL:#define __SIZEOF_FLOAT__ 4
1144// MIPS64EL:#define __SIZEOF_INT__ 4
1145// MIPS64EL:#define __SIZEOF_LONG_DOUBLE__ 16
1146// MIPS64EL:#define __SIZEOF_LONG_LONG__ 8
1147// MIPS64EL:#define __SIZEOF_LONG__ 8
1148// MIPS64EL:#define __SIZEOF_POINTER__ 8
1149// MIPS64EL:#define __SIZEOF_PTRDIFF_T__ 8
1150// MIPS64EL:#define __SIZEOF_SHORT__ 2
1151// MIPS64EL:#define __SIZEOF_SIZE_T__ 8
1152// MIPS64EL:#define __SIZEOF_WCHAR_T__ 4
1153// MIPS64EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001154// MIPS64EL:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001155// MIPS64EL:#define __SIZE_TYPE__ long unsigned int
1156// MIPS64EL:#define __SIZE_WIDTH__ 64
1157// MIPS64EL:#define __UINTMAX_TYPE__ long long unsigned int
1158// MIPS64EL:#define __USER_LABEL_PREFIX__ _
1159// MIPS64EL:#define __WCHAR_MAX__ 2147483647
1160// MIPS64EL:#define __WCHAR_TYPE__ int
1161// MIPS64EL:#define __WCHAR_WIDTH__ 32
1162// MIPS64EL:#define __WINT_TYPE__ int
1163// MIPS64EL:#define __WINT_WIDTH__ 32
1164// MIPS64EL:#define __clang__ 1
1165// MIPS64EL:#define __llvm__ 1
1166// MIPS64EL:#define __mips 1
Simon Atanasyanc6a0be02012-08-29 20:50:11 +00001167// MIPS64EL:#define __mips64 1
1168// MIPS64EL:#define __mips64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001169// MIPS64EL:#define __mips__ 1
1170// MIPS64EL:#define __mips_hard_float 1
1171// MIPS64EL:#define __mips_n64 1
1172// MIPS64EL:#define _mips 1
1173// MIPS64EL:#define mips 1
1174//
Simon Atanasyan5e21c802012-04-06 17:51:49 +00001175// Check MIPS float ABI macros
1176//
1177// RUN: %clang_cc1 -E -dM -ffreestanding \
1178// RUN: -triple=mips-none-none < /dev/null \
1179// RUN: | FileCheck -check-prefix MIPS-FABI-HARD %s
1180// MIPS-FABI-HARD:#define __mips_hard_float 1
1181//
1182// RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \
1183// RUN: -triple=mips-none-none < /dev/null \
1184// RUN: | FileCheck -check-prefix MIPS-FABI-SOFT %s
1185// MIPS-FABI-SOFT:#define __mips_soft_float 1
1186//
1187// RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \
1188// RUN: -triple=mips-none-none < /dev/null \
1189// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE %s
Simon Atanasyand3d173d2012-06-05 13:06:56 +00001190// MIPS-FABI-SINGLE:#define __mips_hard_float 1
Simon Atanasyan5e21c802012-04-06 17:51:49 +00001191// MIPS-FABI-SINGLE:#define __mips_single_float 1
1192//
Simon Atanasyan16071912013-04-14 14:07:30 +00001193// RUN: %clang_cc1 -target-feature +soft-float -target-feature +single-float \
1194// RUN: -E -dM -ffreestanding -triple=mips-none-none < /dev/null \
1195// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE-SOFT %s
1196// MIPS-FABI-SINGLE-SOFT:#define __mips_single_float 1
1197// MIPS-FABI-SINGLE-SOFT:#define __mips_soft_float 1
1198//
Simon Atanasyan72244b62012-07-05 16:06:06 +00001199// Check MIPS features macros
1200//
1201// RUN: %clang_cc1 -target-feature +mips16 \
1202// RUN: -E -dM -triple=mips-none-none < /dev/null \
1203// RUN: | FileCheck -check-prefix MIPS16 %s
1204// MIPS16:#define __mips16 1
1205//
1206// RUN: %clang_cc1 -target-feature -mips16 \
1207// RUN: -E -dM -triple=mips-none-none < /dev/null \
1208// RUN: | FileCheck -check-prefix NOMIPS16 %s
1209// NOMIPS16-NOT:#define __mips16 1
1210//
Simon Atanasyan60777612013-04-14 14:07:51 +00001211// RUN: %clang_cc1 -target-feature +micromips \
1212// RUN: -E -dM -triple=mips-none-none < /dev/null \
1213// RUN: | FileCheck -check-prefix MICROMIPS %s
1214// MICROMIPS:#define __mips_micromips 1
1215//
1216// RUN: %clang_cc1 -target-feature -micromips \
1217// RUN: -E -dM -triple=mips-none-none < /dev/null \
1218// RUN: | FileCheck -check-prefix NOMICROMIPS %s
1219// NOMICROMIPS-NOT:#define __mips_micromips 1
1220//
Simon Atanasyan9780e4a2012-07-05 20:16:22 +00001221// RUN: %clang_cc1 -target-feature +dsp \
1222// RUN: -E -dM -triple=mips-none-none < /dev/null \
1223// RUN: | FileCheck -check-prefix MIPS-DSP %s
1224// MIPS-DSP:#define __mips_dsp 1
1225// MIPS-DSP:#define __mips_dsp_rev 1
1226// MIPS-DSP-NOT:#define __mips_dspr2 1
1227//
1228// RUN: %clang_cc1 -target-feature +dspr2 \
1229// RUN: -E -dM -triple=mips-none-none < /dev/null \
1230// RUN: | FileCheck -check-prefix MIPS-DSPR2 %s
1231// MIPS-DSPR2:#define __mips_dsp 1
1232// MIPS-DSPR2:#define __mips_dsp_rev 2
1233// MIPS-DSPR2:#define __mips_dspr2 1
1234//
Jack Carter44ff1e52013-08-12 17:20:29 +00001235// RUN: %clang_cc1 -target-feature +msa \
1236// RUN: -E -dM -triple=mips-none-none < /dev/null \
1237// RUN: | FileCheck -check-prefix MIPS-MSA %s
1238// MIPS-MSA:#define __mips_msa 1
1239//
Simon Atanasyan22127ce2013-09-24 09:09:16 +00001240// RUN: %clang_cc1 -target-feature +nan2008 \
1241// RUN: -E -dM -triple=mips-none-none < /dev/null \
1242// RUN: | FileCheck -check-prefix MIPS-NAN2008 %s
1243// MIPS-NAN2008:#define __mips_nan2008 1
1244//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00001245// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
Chris Lattnere963d092009-10-29 04:55:36 +00001246//
1247// MSP430:#define MSP430 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001248// MSP430-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001249// MSP430:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00001250// MSP430:#define __CHAR16_TYPE__ unsigned short
1251// MSP430:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001252// MSP430:#define __CHAR_BIT__ 8
1253// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1254// MSP430:#define __DBL_DIG__ 15
1255// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
1256// MSP430:#define __DBL_HAS_DENORM__ 1
1257// MSP430:#define __DBL_HAS_INFINITY__ 1
1258// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
1259// MSP430:#define __DBL_MANT_DIG__ 53
1260// MSP430:#define __DBL_MAX_10_EXP__ 308
1261// MSP430:#define __DBL_MAX_EXP__ 1024
1262// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
1263// MSP430:#define __DBL_MIN_10_EXP__ (-307)
1264// MSP430:#define __DBL_MIN_EXP__ (-1021)
1265// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
1266// MSP430:#define __DECIMAL_DIG__ 17
1267// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1268// MSP430:#define __FLT_DIG__ 6
1269// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
1270// MSP430:#define __FLT_EVAL_METHOD__ 0
1271// MSP430:#define __FLT_HAS_DENORM__ 1
1272// MSP430:#define __FLT_HAS_INFINITY__ 1
1273// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
1274// MSP430:#define __FLT_MANT_DIG__ 24
1275// MSP430:#define __FLT_MAX_10_EXP__ 38
1276// MSP430:#define __FLT_MAX_EXP__ 128
1277// MSP430:#define __FLT_MAX__ 3.40282347e+38F
1278// MSP430:#define __FLT_MIN_10_EXP__ (-37)
1279// MSP430:#define __FLT_MIN_EXP__ (-125)
1280// MSP430:#define __FLT_MIN__ 1.17549435e-38F
1281// MSP430:#define __FLT_RADIX__ 2
1282// MSP430:#define __INT16_TYPE__ short
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00001283// MSP430:#define __INT32_C_SUFFIX__ L
Chris Lattner55c98772009-11-12 08:08:27 +00001284// MSP430:#define __INT32_TYPE__ long int
Chris Lattnere963d092009-10-29 04:55:36 +00001285// MSP430:#define __INT8_TYPE__ char
Anton Korobeynikovef412902013-07-01 19:42:40 +00001286// MSP430:#define __INTMAX_MAX__ 9223372036854775807LL
1287// MSP430:#define __INTMAX_TYPE__ long long int
1288// MSP430:#define __INTMAX_WIDTH__ 64
1289// MSP430:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00001290// MSP430:#define __INTPTR_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001291// MSP430:#define __INT_MAX__ 32767
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001292// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00001293// MSP430:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001294// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +00001295// MSP430:#define __LDBL_HAS_DENORM__ 1
1296// MSP430:#define __LDBL_HAS_INFINITY__ 1
1297// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
1298// MSP430:#define __LDBL_MANT_DIG__ 53
1299// MSP430:#define __LDBL_MAX_10_EXP__ 308
1300// MSP430:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001301// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +00001302// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
1303// MSP430:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001304// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikov485810e2010-01-14 21:36:52 +00001305// MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
Chris Lattnere963d092009-10-29 04:55:36 +00001306// MSP430:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001307// MSP430-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00001308// MSP430:#define __MSP430__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00001309// MSP430:#define __POINTER_WIDTH__ 16
Ken Dyck9b25f782009-11-19 13:18:59 +00001310// MSP430:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00001311// MSP430:#define __PTRDIFF_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001312// MSP430:#define __SCHAR_MAX__ 127
1313// MSP430:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00001314// MSP430:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00001315// MSP430:#define __SIZEOF_DOUBLE__ 8
1316// MSP430:#define __SIZEOF_FLOAT__ 4
1317// MSP430:#define __SIZEOF_INT__ 2
1318// MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
1319// MSP430:#define __SIZEOF_LONG_LONG__ 8
1320// MSP430:#define __SIZEOF_LONG__ 4
1321// MSP430:#define __SIZEOF_POINTER__ 2
1322// MSP430:#define __SIZEOF_PTRDIFF_T__ 2
1323// MSP430:#define __SIZEOF_SHORT__ 2
1324// MSP430:#define __SIZEOF_SIZE_T__ 2
1325// MSP430:#define __SIZEOF_WCHAR_T__ 2
1326// MSP430:#define __SIZEOF_WINT_T__ 2
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001327// MSP430:#define __SIZE_MAX__ 65535U
Chris Lattnere963d092009-10-29 04:55:36 +00001328// MSP430:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00001329// MSP430:#define __SIZE_WIDTH__ 16
Anton Korobeynikovef412902013-07-01 19:42:40 +00001330// MSP430:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001331// MSP430:#define __USER_LABEL_PREFIX__ _
Chris Lattner0fb5bbd2009-11-12 08:04:33 +00001332// MSP430:#define __WCHAR_MAX__ 32767
Chris Lattnere963d092009-10-29 04:55:36 +00001333// MSP430:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00001334// MSP430:#define __WCHAR_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001335// MSP430:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00001336// MSP430:#define __WINT_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001337// MSP430:#define __clang__ 1
1338//
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001339// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s
1340//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001341// NVPTX32-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001342// NVPTX32:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001343// NVPTX32:#define __CHAR16_TYPE__ unsigned short
1344// NVPTX32:#define __CHAR32_TYPE__ unsigned int
1345// NVPTX32:#define __CHAR_BIT__ 8
1346// NVPTX32:#define __CONSTANT_CFSTRINGS__ 1
1347// NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1348// NVPTX32:#define __DBL_DIG__ 15
1349// NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16
1350// NVPTX32:#define __DBL_HAS_DENORM__ 1
1351// NVPTX32:#define __DBL_HAS_INFINITY__ 1
1352// NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1
1353// NVPTX32:#define __DBL_MANT_DIG__ 53
1354// NVPTX32:#define __DBL_MAX_10_EXP__ 308
1355// NVPTX32:#define __DBL_MAX_EXP__ 1024
1356// NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308
1357// NVPTX32:#define __DBL_MIN_10_EXP__ (-307)
1358// NVPTX32:#define __DBL_MIN_EXP__ (-1021)
1359// NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308
1360// NVPTX32:#define __DECIMAL_DIG__ 17
1361// NVPTX32:#define __FINITE_MATH_ONLY__ 0
1362// NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1363// NVPTX32:#define __FLT_DIG__ 6
1364// NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F
1365// NVPTX32:#define __FLT_EVAL_METHOD__ 0
1366// NVPTX32:#define __FLT_HAS_DENORM__ 1
1367// NVPTX32:#define __FLT_HAS_INFINITY__ 1
1368// NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1
1369// NVPTX32:#define __FLT_MANT_DIG__ 24
1370// NVPTX32:#define __FLT_MAX_10_EXP__ 38
1371// NVPTX32:#define __FLT_MAX_EXP__ 128
1372// NVPTX32:#define __FLT_MAX__ 3.40282347e+38F
1373// NVPTX32:#define __FLT_MIN_10_EXP__ (-37)
1374// NVPTX32:#define __FLT_MIN_EXP__ (-125)
1375// NVPTX32:#define __FLT_MIN__ 1.17549435e-38F
1376// NVPTX32:#define __FLT_RADIX__ 2
1377// NVPTX32:#define __INT16_TYPE__ short
1378// NVPTX32:#define __INT32_TYPE__ int
1379// NVPTX32:#define __INT64_C_SUFFIX__ LL
1380// NVPTX32:#define __INT64_TYPE__ long long int
1381// NVPTX32:#define __INT8_TYPE__ char
1382// NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL
1383// NVPTX32:#define __INTMAX_TYPE__ long long int
1384// NVPTX32:#define __INTMAX_WIDTH__ 64
1385// NVPTX32:#define __INTPTR_TYPE__ unsigned int
1386// NVPTX32:#define __INTPTR_WIDTH__ 32
1387// NVPTX32:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001388// NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001389// NVPTX32:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001390// NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001391// NVPTX32:#define __LDBL_HAS_DENORM__ 1
1392// NVPTX32:#define __LDBL_HAS_INFINITY__ 1
1393// NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1
1394// NVPTX32:#define __LDBL_MANT_DIG__ 53
1395// NVPTX32:#define __LDBL_MAX_10_EXP__ 308
1396// NVPTX32:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001397// NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001398// NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
1399// NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001400// NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001401// NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL
1402// NVPTX32:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001403// NVPTX32-NOT:#define __LP64__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001404// NVPTX32:#define __NVPTX__ 1
1405// NVPTX32:#define __POINTER_WIDTH__ 32
1406// NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1
1407// NVPTX32:#define __PTRDIFF_TYPE__ unsigned int
1408// NVPTX32:#define __PTRDIFF_WIDTH__ 32
1409// NVPTX32:#define __PTX__ 1
1410// NVPTX32:#define __SCHAR_MAX__ 127
1411// NVPTX32:#define __SHRT_MAX__ 32767
1412// NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32
1413// NVPTX32:#define __SIZEOF_DOUBLE__ 8
1414// NVPTX32:#define __SIZEOF_FLOAT__ 4
1415// NVPTX32:#define __SIZEOF_INT__ 4
1416// NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8
1417// NVPTX32:#define __SIZEOF_LONG_LONG__ 8
1418// NVPTX32:#define __SIZEOF_LONG__ 8
1419// NVPTX32:#define __SIZEOF_POINTER__ 4
1420// NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4
1421// NVPTX32:#define __SIZEOF_SHORT__ 2
1422// NVPTX32:#define __SIZEOF_SIZE_T__ 4
1423// NVPTX32:#define __SIZEOF_WCHAR_T__ 4
1424// NVPTX32:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001425// NVPTX32:#define __SIZE_MAX__ 4294967295U
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001426// NVPTX32:#define __SIZE_TYPE__ unsigned int
1427// NVPTX32:#define __SIZE_WIDTH__ 32
1428// NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int
1429// NVPTX32:#define __USER_LABEL_PREFIX__ _
1430// NVPTX32:#define __WCHAR_MAX__ 2147483647
1431// NVPTX32:#define __WCHAR_TYPE__ int
1432// NVPTX32:#define __WCHAR_WIDTH__ 32
1433// NVPTX32:#define __WINT_TYPE__ int
1434// NVPTX32:#define __WINT_WIDTH__ 32
1435//
1436// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -check-prefix NVPTX64 %s
1437//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001438// NVPTX64:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001439// NVPTX64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001440// NVPTX64:#define __CHAR16_TYPE__ unsigned short
1441// NVPTX64:#define __CHAR32_TYPE__ unsigned int
1442// NVPTX64:#define __CHAR_BIT__ 8
1443// NVPTX64:#define __CONSTANT_CFSTRINGS__ 1
1444// NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1445// NVPTX64:#define __DBL_DIG__ 15
1446// NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1447// NVPTX64:#define __DBL_HAS_DENORM__ 1
1448// NVPTX64:#define __DBL_HAS_INFINITY__ 1
1449// NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1
1450// NVPTX64:#define __DBL_MANT_DIG__ 53
1451// NVPTX64:#define __DBL_MAX_10_EXP__ 308
1452// NVPTX64:#define __DBL_MAX_EXP__ 1024
1453// NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308
1454// NVPTX64:#define __DBL_MIN_10_EXP__ (-307)
1455// NVPTX64:#define __DBL_MIN_EXP__ (-1021)
1456// NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308
1457// NVPTX64:#define __DECIMAL_DIG__ 17
1458// NVPTX64:#define __FINITE_MATH_ONLY__ 0
1459// NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1460// NVPTX64:#define __FLT_DIG__ 6
1461// NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F
1462// NVPTX64:#define __FLT_EVAL_METHOD__ 0
1463// NVPTX64:#define __FLT_HAS_DENORM__ 1
1464// NVPTX64:#define __FLT_HAS_INFINITY__ 1
1465// NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1
1466// NVPTX64:#define __FLT_MANT_DIG__ 24
1467// NVPTX64:#define __FLT_MAX_10_EXP__ 38
1468// NVPTX64:#define __FLT_MAX_EXP__ 128
1469// NVPTX64:#define __FLT_MAX__ 3.40282347e+38F
1470// NVPTX64:#define __FLT_MIN_10_EXP__ (-37)
1471// NVPTX64:#define __FLT_MIN_EXP__ (-125)
1472// NVPTX64:#define __FLT_MIN__ 1.17549435e-38F
1473// NVPTX64:#define __FLT_RADIX__ 2
1474// NVPTX64:#define __INT16_TYPE__ short
1475// NVPTX64:#define __INT32_TYPE__ int
1476// NVPTX64:#define __INT64_C_SUFFIX__ LL
1477// NVPTX64:#define __INT64_TYPE__ long long int
1478// NVPTX64:#define __INT8_TYPE__ char
1479// NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL
1480// NVPTX64:#define __INTMAX_TYPE__ long long int
1481// NVPTX64:#define __INTMAX_WIDTH__ 64
1482// NVPTX64:#define __INTPTR_TYPE__ long long unsigned int
1483// NVPTX64:#define __INTPTR_WIDTH__ 64
1484// NVPTX64:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001485// NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001486// NVPTX64:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001487// NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001488// NVPTX64:#define __LDBL_HAS_DENORM__ 1
1489// NVPTX64:#define __LDBL_HAS_INFINITY__ 1
1490// NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1
1491// NVPTX64:#define __LDBL_MANT_DIG__ 53
1492// NVPTX64:#define __LDBL_MAX_10_EXP__ 308
1493// NVPTX64:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001494// NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001495// NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
1496// NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001497// NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001498// NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1499// NVPTX64:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001500// NVPTX64:#define __LP64__ 1
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001501// NVPTX64:#define __NVPTX__ 1
1502// NVPTX64:#define __POINTER_WIDTH__ 64
1503// NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1
1504// NVPTX64:#define __PTRDIFF_TYPE__ long long unsigned int
1505// NVPTX64:#define __PTRDIFF_WIDTH__ 64
1506// NVPTX64:#define __PTX__ 1
1507// NVPTX64:#define __SCHAR_MAX__ 127
1508// NVPTX64:#define __SHRT_MAX__ 32767
1509// NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32
1510// NVPTX64:#define __SIZEOF_DOUBLE__ 8
1511// NVPTX64:#define __SIZEOF_FLOAT__ 4
1512// NVPTX64:#define __SIZEOF_INT__ 4
1513// NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8
1514// NVPTX64:#define __SIZEOF_LONG_LONG__ 8
1515// NVPTX64:#define __SIZEOF_LONG__ 8
1516// NVPTX64:#define __SIZEOF_POINTER__ 8
1517// NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8
1518// NVPTX64:#define __SIZEOF_SHORT__ 2
1519// NVPTX64:#define __SIZEOF_SIZE_T__ 8
1520// NVPTX64:#define __SIZEOF_WCHAR_T__ 4
1521// NVPTX64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001522// NVPTX64:#define __SIZE_MAX__ 18446744073709551615UL
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001523// NVPTX64:#define __SIZE_TYPE__ long long unsigned int
1524// NVPTX64:#define __SIZE_WIDTH__ 64
1525// NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int
1526// NVPTX64:#define __USER_LABEL_PREFIX__ _
1527// NVPTX64:#define __WCHAR_MAX__ 2147483647
1528// NVPTX64:#define __WCHAR_TYPE__ int
1529// NVPTX64:#define __WCHAR_WIDTH__ 32
1530// NVPTX64:#define __WINT_TYPE__ int
1531// NVPTX64:#define __WINT_WIDTH__ 32
1532//
Hal Finkel6b984f02012-07-03 16:51:04 +00001533// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -check-prefix PPC603E %s
1534//
1535// PPC603E:#define _ARCH_603 1
1536// PPC603E:#define _ARCH_603E 1
1537// PPC603E:#define _ARCH_PPC 1
1538// PPC603E:#define _ARCH_PPCGR 1
1539// PPC603E:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001540// PPC603E-NOT:#define _LP64
Hal Finkel6b984f02012-07-03 16:51:04 +00001541// PPC603E:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001542// PPC603E:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Hal Finkel6b984f02012-07-03 16:51:04 +00001543// PPC603E:#define __CHAR16_TYPE__ unsigned short
1544// PPC603E:#define __CHAR32_TYPE__ unsigned int
1545// PPC603E:#define __CHAR_BIT__ 8
1546// PPC603E:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1547// PPC603E:#define __DBL_DIG__ 15
1548// PPC603E:#define __DBL_EPSILON__ 2.2204460492503131e-16
1549// PPC603E:#define __DBL_HAS_DENORM__ 1
1550// PPC603E:#define __DBL_HAS_INFINITY__ 1
1551// PPC603E:#define __DBL_HAS_QUIET_NAN__ 1
1552// PPC603E:#define __DBL_MANT_DIG__ 53
1553// PPC603E:#define __DBL_MAX_10_EXP__ 308
1554// PPC603E:#define __DBL_MAX_EXP__ 1024
1555// PPC603E:#define __DBL_MAX__ 1.7976931348623157e+308
1556// PPC603E:#define __DBL_MIN_10_EXP__ (-307)
1557// PPC603E:#define __DBL_MIN_EXP__ (-1021)
1558// PPC603E:#define __DBL_MIN__ 2.2250738585072014e-308
1559// PPC603E:#define __DECIMAL_DIG__ 33
1560// PPC603E:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1561// PPC603E:#define __FLT_DIG__ 6
1562// PPC603E:#define __FLT_EPSILON__ 1.19209290e-7F
1563// PPC603E:#define __FLT_EVAL_METHOD__ 0
1564// PPC603E:#define __FLT_HAS_DENORM__ 1
1565// PPC603E:#define __FLT_HAS_INFINITY__ 1
1566// PPC603E:#define __FLT_HAS_QUIET_NAN__ 1
1567// PPC603E:#define __FLT_MANT_DIG__ 24
1568// PPC603E:#define __FLT_MAX_10_EXP__ 38
1569// PPC603E:#define __FLT_MAX_EXP__ 128
1570// PPC603E:#define __FLT_MAX__ 3.40282347e+38F
1571// PPC603E:#define __FLT_MIN_10_EXP__ (-37)
1572// PPC603E:#define __FLT_MIN_EXP__ (-125)
1573// PPC603E:#define __FLT_MIN__ 1.17549435e-38F
1574// PPC603E:#define __FLT_RADIX__ 2
1575// PPC603E:#define __INT16_TYPE__ short
1576// PPC603E:#define __INT32_TYPE__ int
1577// PPC603E:#define __INT64_C_SUFFIX__ LL
1578// PPC603E:#define __INT64_TYPE__ long long int
1579// PPC603E:#define __INT8_TYPE__ char
1580// PPC603E:#define __INTMAX_MAX__ 9223372036854775807LL
1581// PPC603E:#define __INTMAX_TYPE__ long long int
1582// PPC603E:#define __INTMAX_WIDTH__ 64
1583// PPC603E:#define __INTPTR_TYPE__ long int
1584// PPC603E:#define __INTPTR_WIDTH__ 32
1585// PPC603E:#define __INT_MAX__ 2147483647
1586// PPC603E:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1587// PPC603E:#define __LDBL_DIG__ 31
1588// PPC603E:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1589// PPC603E:#define __LDBL_HAS_DENORM__ 1
1590// PPC603E:#define __LDBL_HAS_INFINITY__ 1
1591// PPC603E:#define __LDBL_HAS_QUIET_NAN__ 1
1592// PPC603E:#define __LDBL_MANT_DIG__ 106
1593// PPC603E:#define __LDBL_MAX_10_EXP__ 308
1594// PPC603E:#define __LDBL_MAX_EXP__ 1024
1595// PPC603E:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1596// PPC603E:#define __LDBL_MIN_10_EXP__ (-291)
1597// PPC603E:#define __LDBL_MIN_EXP__ (-968)
1598// PPC603E:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1599// PPC603E:#define __LONG_DOUBLE_128__ 1
1600// PPC603E:#define __LONG_LONG_MAX__ 9223372036854775807LL
1601// PPC603E:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001602// PPC603E-NOT:#define __LP64__
Hal Finkel6b984f02012-07-03 16:51:04 +00001603// PPC603E:#define __NATURAL_ALIGNMENT__ 1
Hal Finkel6b984f02012-07-03 16:51:04 +00001604// PPC603E:#define __POINTER_WIDTH__ 32
1605// PPC603E:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00001606// PPC603E:#define __PPC__ 1
Hal Finkel6b984f02012-07-03 16:51:04 +00001607// PPC603E:#define __PTRDIFF_TYPE__ long int
1608// PPC603E:#define __PTRDIFF_WIDTH__ 32
1609// PPC603E:#define __REGISTER_PREFIX__
1610// PPC603E:#define __SCHAR_MAX__ 127
1611// PPC603E:#define __SHRT_MAX__ 32767
1612// PPC603E:#define __SIG_ATOMIC_WIDTH__ 32
1613// PPC603E:#define __SIZEOF_DOUBLE__ 8
1614// PPC603E:#define __SIZEOF_FLOAT__ 4
1615// PPC603E:#define __SIZEOF_INT__ 4
1616// PPC603E:#define __SIZEOF_LONG_DOUBLE__ 16
1617// PPC603E:#define __SIZEOF_LONG_LONG__ 8
1618// PPC603E:#define __SIZEOF_LONG__ 4
1619// PPC603E:#define __SIZEOF_POINTER__ 4
1620// PPC603E:#define __SIZEOF_PTRDIFF_T__ 4
1621// PPC603E:#define __SIZEOF_SHORT__ 2
1622// PPC603E:#define __SIZEOF_SIZE_T__ 4
1623// PPC603E:#define __SIZEOF_WCHAR_T__ 4
1624// PPC603E:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001625// PPC603E:#define __SIZE_MAX__ 4294967295U
Hal Finkel6b984f02012-07-03 16:51:04 +00001626// PPC603E:#define __SIZE_TYPE__ long unsigned int
1627// PPC603E:#define __SIZE_WIDTH__ 32
1628// PPC603E:#define __UINTMAX_TYPE__ long long unsigned int
1629// PPC603E:#define __USER_LABEL_PREFIX__ _
1630// PPC603E:#define __WCHAR_MAX__ 2147483647
1631// PPC603E:#define __WCHAR_TYPE__ int
1632// PPC603E:#define __WCHAR_WIDTH__ 32
1633// PPC603E:#define __WINT_TYPE__ int
1634// PPC603E:#define __WINT_WIDTH__ 32
1635// PPC603E:#define __powerpc__ 1
1636// PPC603E:#define __ppc__ 1
1637//
Hal Finkel8eb59282012-06-11 22:35:19 +00001638// 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 +00001639//
1640// PPC64:#define _ARCH_PPC 1
1641// PPC64:#define _ARCH_PPC64 1
Hal Finkel6b984f02012-07-03 16:51:04 +00001642// PPC64:#define _ARCH_PPCGR 1
1643// PPC64:#define _ARCH_PPCSQ 1
1644// PPC64:#define _ARCH_PWR4 1
1645// PPC64:#define _ARCH_PWR5 1
1646// PPC64:#define _ARCH_PWR6 1
Hal Finkel8eb59282012-06-11 22:35:19 +00001647// PPC64:#define _ARCH_PWR7 1
Chris Lattnere963d092009-10-29 04:55:36 +00001648// PPC64:#define _BIG_ENDIAN 1
1649// PPC64:#define _LP64 1
1650// PPC64:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001651// PPC64:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00001652// PPC64:#define __CHAR16_TYPE__ unsigned short
1653// PPC64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001654// PPC64:#define __CHAR_BIT__ 8
1655// PPC64:#define __CHAR_UNSIGNED__ 1
1656// PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1657// PPC64:#define __DBL_DIG__ 15
1658// PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1659// PPC64:#define __DBL_HAS_DENORM__ 1
1660// PPC64:#define __DBL_HAS_INFINITY__ 1
1661// PPC64:#define __DBL_HAS_QUIET_NAN__ 1
1662// PPC64:#define __DBL_MANT_DIG__ 53
1663// PPC64:#define __DBL_MAX_10_EXP__ 308
1664// PPC64:#define __DBL_MAX_EXP__ 1024
1665// PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
1666// PPC64:#define __DBL_MIN_10_EXP__ (-307)
1667// PPC64:#define __DBL_MIN_EXP__ (-1021)
1668// PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber3435ede2012-01-31 02:07:33 +00001669// PPC64:#define __DECIMAL_DIG__ 33
Chris Lattnere963d092009-10-29 04:55:36 +00001670// PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1671// PPC64:#define __FLT_DIG__ 6
1672// PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
1673// PPC64:#define __FLT_EVAL_METHOD__ 0
1674// PPC64:#define __FLT_HAS_DENORM__ 1
1675// PPC64:#define __FLT_HAS_INFINITY__ 1
1676// PPC64:#define __FLT_HAS_QUIET_NAN__ 1
1677// PPC64:#define __FLT_MANT_DIG__ 24
1678// PPC64:#define __FLT_MAX_10_EXP__ 38
1679// PPC64:#define __FLT_MAX_EXP__ 128
1680// PPC64:#define __FLT_MAX__ 3.40282347e+38F
1681// PPC64:#define __FLT_MIN_10_EXP__ (-37)
1682// PPC64:#define __FLT_MIN_EXP__ (-125)
1683// PPC64:#define __FLT_MIN__ 1.17549435e-38F
1684// PPC64:#define __FLT_RADIX__ 2
1685// PPC64:#define __INT16_TYPE__ short
1686// PPC64:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00001687// PPC64:#define __INT64_C_SUFFIX__ L
Chris Lattnere963d092009-10-29 04:55:36 +00001688// PPC64:#define __INT64_TYPE__ long int
1689// PPC64:#define __INT8_TYPE__ char
1690// PPC64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck9b25f782009-11-19 13:18:59 +00001691// PPC64:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00001692// PPC64:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00001693// PPC64:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00001694// PPC64:#define __INTPTR_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00001695// PPC64:#define __INT_MAX__ 2147483647
Nico Weber3435ede2012-01-31 02:07:33 +00001696// PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1697// PPC64:#define __LDBL_DIG__ 31
1698// PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00001699// PPC64:#define __LDBL_HAS_DENORM__ 1
1700// PPC64:#define __LDBL_HAS_INFINITY__ 1
1701// PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00001702// PPC64:#define __LDBL_MANT_DIG__ 106
Chris Lattnere963d092009-10-29 04:55:36 +00001703// PPC64:#define __LDBL_MAX_10_EXP__ 308
1704// PPC64:#define __LDBL_MAX_EXP__ 1024
Nico Weber3435ede2012-01-31 02:07:33 +00001705// PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1706// PPC64:#define __LDBL_MIN_10_EXP__ (-291)
1707// PPC64:#define __LDBL_MIN_EXP__ (-968)
1708// PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnere963d092009-10-29 04:55:36 +00001709// PPC64:#define __LONG_DOUBLE_128__ 1
1710// PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1711// PPC64:#define __LONG_MAX__ 9223372036854775807L
1712// PPC64:#define __LP64__ 1
1713// PPC64:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00001714// PPC64:#define __POINTER_WIDTH__ 64
1715// PPC64:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00001716// PPC64:#define __PPC64__ 1
1717// PPC64:#define __PPC__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00001718// PPC64:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00001719// PPC64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00001720// PPC64:#define __REGISTER_PREFIX__
1721// PPC64:#define __SCHAR_MAX__ 127
1722// PPC64:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00001723// PPC64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00001724// PPC64:#define __SIZEOF_DOUBLE__ 8
1725// PPC64:#define __SIZEOF_FLOAT__ 4
1726// PPC64:#define __SIZEOF_INT__ 4
Nico Weber3435ede2012-01-31 02:07:33 +00001727// PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohman04f87202010-05-28 00:27:15 +00001728// PPC64:#define __SIZEOF_LONG_LONG__ 8
1729// PPC64:#define __SIZEOF_LONG__ 8
1730// PPC64:#define __SIZEOF_POINTER__ 8
1731// PPC64:#define __SIZEOF_PTRDIFF_T__ 8
1732// PPC64:#define __SIZEOF_SHORT__ 2
1733// PPC64:#define __SIZEOF_SIZE_T__ 8
1734// PPC64:#define __SIZEOF_WCHAR_T__ 4
1735// PPC64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001736// PPC64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnere963d092009-10-29 04:55:36 +00001737// PPC64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00001738// PPC64:#define __SIZE_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00001739// PPC64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001740// PPC64:#define __USER_LABEL_PREFIX__ _
1741// PPC64:#define __WCHAR_MAX__ 2147483647
1742// PPC64:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00001743// PPC64:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00001744// PPC64:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00001745// PPC64:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00001746// PPC64:#define __ppc64__ 1
1747// PPC64:#define __ppc__ 1
1748//
Bill Schmidt778d3872013-07-26 01:36:11 +00001749// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64LE %s
1750//
1751// PPC64LE:#define _ARCH_PPC 1
1752// PPC64LE:#define _ARCH_PPC64 1
1753// PPC64LE:#define _ARCH_PPCGR 1
1754// PPC64LE:#define _ARCH_PPCSQ 1
1755// PPC64LE:#define _ARCH_PWR4 1
1756// PPC64LE:#define _ARCH_PWR5 1
1757// PPC64LE:#define _ARCH_PWR5X 1
1758// PPC64LE:#define _ARCH_PWR6 1
1759// PPC64LE:#define _ARCH_PWR6X 1
1760// PPC64LE:#define _ARCH_PWR7 1
1761// PPC64LE:#define _LITTLE_ENDIAN 1
1762// PPC64LE:#define _LP64 1
1763// PPC64LE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1764// PPC64LE:#define __CHAR16_TYPE__ unsigned short
1765// PPC64LE:#define __CHAR32_TYPE__ unsigned int
1766// PPC64LE:#define __CHAR_BIT__ 8
1767// PPC64LE:#define __CHAR_UNSIGNED__ 1
1768// PPC64LE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1769// PPC64LE:#define __DBL_DIG__ 15
1770// PPC64LE:#define __DBL_EPSILON__ 2.2204460492503131e-16
1771// PPC64LE:#define __DBL_HAS_DENORM__ 1
1772// PPC64LE:#define __DBL_HAS_INFINITY__ 1
1773// PPC64LE:#define __DBL_HAS_QUIET_NAN__ 1
1774// PPC64LE:#define __DBL_MANT_DIG__ 53
1775// PPC64LE:#define __DBL_MAX_10_EXP__ 308
1776// PPC64LE:#define __DBL_MAX_EXP__ 1024
1777// PPC64LE:#define __DBL_MAX__ 1.7976931348623157e+308
1778// PPC64LE:#define __DBL_MIN_10_EXP__ (-307)
1779// PPC64LE:#define __DBL_MIN_EXP__ (-1021)
1780// PPC64LE:#define __DBL_MIN__ 2.2250738585072014e-308
1781// PPC64LE:#define __DECIMAL_DIG__ 33
1782// PPC64LE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1783// PPC64LE:#define __FLT_DIG__ 6
1784// PPC64LE:#define __FLT_EPSILON__ 1.19209290e-7F
1785// PPC64LE:#define __FLT_EVAL_METHOD__ 0
1786// PPC64LE:#define __FLT_HAS_DENORM__ 1
1787// PPC64LE:#define __FLT_HAS_INFINITY__ 1
1788// PPC64LE:#define __FLT_HAS_QUIET_NAN__ 1
1789// PPC64LE:#define __FLT_MANT_DIG__ 24
1790// PPC64LE:#define __FLT_MAX_10_EXP__ 38
1791// PPC64LE:#define __FLT_MAX_EXP__ 128
1792// PPC64LE:#define __FLT_MAX__ 3.40282347e+38F
1793// PPC64LE:#define __FLT_MIN_10_EXP__ (-37)
1794// PPC64LE:#define __FLT_MIN_EXP__ (-125)
1795// PPC64LE:#define __FLT_MIN__ 1.17549435e-38F
1796// PPC64LE:#define __FLT_RADIX__ 2
1797// PPC64LE:#define __INT16_TYPE__ short
1798// PPC64LE:#define __INT32_TYPE__ int
1799// PPC64LE:#define __INT64_C_SUFFIX__ L
1800// PPC64LE:#define __INT64_TYPE__ long int
1801// PPC64LE:#define __INT8_TYPE__ char
1802// PPC64LE:#define __INTMAX_MAX__ 9223372036854775807L
1803// PPC64LE:#define __INTMAX_TYPE__ long int
1804// PPC64LE:#define __INTMAX_WIDTH__ 64
1805// PPC64LE:#define __INTPTR_TYPE__ long int
1806// PPC64LE:#define __INTPTR_WIDTH__ 64
1807// PPC64LE:#define __INT_MAX__ 2147483647
1808// PPC64LE:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1809// PPC64LE:#define __LDBL_DIG__ 31
1810// PPC64LE:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1811// PPC64LE:#define __LDBL_HAS_DENORM__ 1
1812// PPC64LE:#define __LDBL_HAS_INFINITY__ 1
1813// PPC64LE:#define __LDBL_HAS_QUIET_NAN__ 1
1814// PPC64LE:#define __LDBL_MANT_DIG__ 106
1815// PPC64LE:#define __LDBL_MAX_10_EXP__ 308
1816// PPC64LE:#define __LDBL_MAX_EXP__ 1024
1817// PPC64LE:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1818// PPC64LE:#define __LDBL_MIN_10_EXP__ (-291)
1819// PPC64LE:#define __LDBL_MIN_EXP__ (-968)
1820// PPC64LE:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1821// PPC64LE:#define __LITTLE_ENDIAN__ 1
1822// PPC64LE:#define __LONG_DOUBLE_128__ 1
1823// PPC64LE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1824// PPC64LE:#define __LONG_MAX__ 9223372036854775807L
1825// PPC64LE:#define __LP64__ 1
1826// PPC64LE:#define __NATURAL_ALIGNMENT__ 1
1827// PPC64LE:#define __POINTER_WIDTH__ 64
1828// PPC64LE:#define __POWERPC__ 1
1829// PPC64LE:#define __PPC64__ 1
1830// PPC64LE:#define __PPC__ 1
1831// PPC64LE:#define __PTRDIFF_TYPE__ long int
1832// PPC64LE:#define __PTRDIFF_WIDTH__ 64
1833// PPC64LE:#define __REGISTER_PREFIX__
1834// PPC64LE:#define __SCHAR_MAX__ 127
1835// PPC64LE:#define __SHRT_MAX__ 32767
1836// PPC64LE:#define __SIG_ATOMIC_WIDTH__ 32
1837// PPC64LE:#define __SIZEOF_DOUBLE__ 8
1838// PPC64LE:#define __SIZEOF_FLOAT__ 4
1839// PPC64LE:#define __SIZEOF_INT__ 4
1840// PPC64LE:#define __SIZEOF_LONG_DOUBLE__ 16
1841// PPC64LE:#define __SIZEOF_LONG_LONG__ 8
1842// PPC64LE:#define __SIZEOF_LONG__ 8
1843// PPC64LE:#define __SIZEOF_POINTER__ 8
1844// PPC64LE:#define __SIZEOF_PTRDIFF_T__ 8
1845// PPC64LE:#define __SIZEOF_SHORT__ 2
1846// PPC64LE:#define __SIZEOF_SIZE_T__ 8
1847// PPC64LE:#define __SIZEOF_WCHAR_T__ 4
1848// PPC64LE:#define __SIZEOF_WINT_T__ 4
1849// PPC64LE:#define __SIZE_MAX__ 18446744073709551615UL
1850// PPC64LE:#define __SIZE_TYPE__ long unsigned int
1851// PPC64LE:#define __SIZE_WIDTH__ 64
1852// PPC64LE:#define __UINTMAX_TYPE__ long unsigned int
1853// PPC64LE:#define __USER_LABEL_PREFIX__ _
1854// PPC64LE:#define __WCHAR_MAX__ 2147483647
1855// PPC64LE:#define __WCHAR_TYPE__ int
1856// PPC64LE:#define __WCHAR_WIDTH__ 32
1857// PPC64LE:#define __WINT_TYPE__ int
1858// PPC64LE:#define __WINT_WIDTH__ 32
1859// PPC64LE:#define __ppc64__ 1
1860// PPC64LE:#define __ppc__ 1
1861//
Hal Finkeldf1e4bf2013-02-01 05:53:33 +00001862// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu a2q -fno-signed-char < /dev/null | FileCheck -check-prefix PPCA2Q %s
1863//
1864// PPCA2Q:#define _ARCH_A2 1
1865// PPCA2Q:#define _ARCH_A2Q 1
1866// PPCA2Q:#define _ARCH_PPC 1
1867// PPCA2Q:#define _ARCH_PPC64 1
1868// PPCA2Q:#define _ARCH_QP 1
1869//
1870// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-bgq-linux -fno-signed-char < /dev/null | FileCheck -check-prefix PPCBGQ %s
1871//
1872// PPCBGQ:#define __THW_BLUEGENE__ 1
1873// PPCBGQ:#define __TOS_BGQ__ 1
1874// PPCBGQ:#define __bg__ 1
1875// PPCBGQ:#define __bgq__ 1
1876//
Bill Schmidt38378a02013-02-01 20:23:10 +00001877// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu 630 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC630 %s
1878//
1879// PPC630:#define _ARCH_630 1
1880// PPC630:#define _ARCH_PPC 1
1881// PPC630:#define _ARCH_PPC64 1
1882// PPC630:#define _ARCH_PPCGR 1
1883//
1884// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR3 %s
1885//
1886// PPCPWR3:#define _ARCH_PPC 1
1887// PPCPWR3:#define _ARCH_PPC64 1
1888// PPCPWR3:#define _ARCH_PPCGR 1
1889//
1890// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER3 %s
1891//
1892// PPCPOWER3:#define _ARCH_PPC 1
1893// PPCPOWER3:#define _ARCH_PPC64 1
1894// PPCPOWER3:#define _ARCH_PPCGR 1
1895//
1896// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR4 %s
1897//
1898// PPCPWR4:#define _ARCH_PPC 1
1899// PPCPWR4:#define _ARCH_PPC64 1
1900// PPCPWR4:#define _ARCH_PPCGR 1
1901// PPCPWR4:#define _ARCH_PPCSQ 1
1902// PPCPWR4:#define _ARCH_PWR4 1
1903//
1904// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER4 %s
1905//
1906// PPCPOWER4:#define _ARCH_PPC 1
1907// PPCPOWER4:#define _ARCH_PPC64 1
1908// PPCPOWER4:#define _ARCH_PPCGR 1
1909// PPCPOWER4:#define _ARCH_PPCSQ 1
1910// PPCPOWER4:#define _ARCH_PWR4 1
1911//
1912// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5 %s
1913//
1914// PPCPWR5:#define _ARCH_PPC 1
1915// PPCPWR5:#define _ARCH_PPC64 1
1916// PPCPWR5:#define _ARCH_PPCGR 1
1917// PPCPWR5:#define _ARCH_PPCSQ 1
1918// PPCPWR5:#define _ARCH_PWR4 1
1919// PPCPWR5:#define _ARCH_PWR5 1
1920//
1921// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5 %s
1922//
1923// PPCPOWER5:#define _ARCH_PPC 1
1924// PPCPOWER5:#define _ARCH_PPC64 1
1925// PPCPOWER5:#define _ARCH_PPCGR 1
1926// PPCPOWER5:#define _ARCH_PPCSQ 1
1927// PPCPOWER5:#define _ARCH_PWR4 1
1928// PPCPOWER5:#define _ARCH_PWR5 1
1929//
1930// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5X %s
1931//
1932// PPCPWR5X:#define _ARCH_PPC 1
1933// PPCPWR5X:#define _ARCH_PPC64 1
1934// PPCPWR5X:#define _ARCH_PPCGR 1
1935// PPCPWR5X:#define _ARCH_PPCSQ 1
1936// PPCPWR5X:#define _ARCH_PWR4 1
1937// PPCPWR5X:#define _ARCH_PWR5 1
1938// PPCPWR5X:#define _ARCH_PWR5X 1
1939//
1940// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5X %s
1941//
1942// PPCPOWER5X:#define _ARCH_PPC 1
1943// PPCPOWER5X:#define _ARCH_PPC64 1
1944// PPCPOWER5X:#define _ARCH_PPCGR 1
1945// PPCPOWER5X:#define _ARCH_PPCSQ 1
1946// PPCPOWER5X:#define _ARCH_PWR4 1
1947// PPCPOWER5X:#define _ARCH_PWR5 1
1948// PPCPOWER5X:#define _ARCH_PWR5X 1
1949//
1950// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6 %s
1951//
1952// PPCPWR6:#define _ARCH_PPC 1
1953// PPCPWR6:#define _ARCH_PPC64 1
1954// PPCPWR6:#define _ARCH_PPCGR 1
1955// PPCPWR6:#define _ARCH_PPCSQ 1
1956// PPCPWR6:#define _ARCH_PWR4 1
1957// PPCPWR6:#define _ARCH_PWR5 1
1958// PPCPWR6:#define _ARCH_PWR5X 1
1959// PPCPWR6:#define _ARCH_PWR6 1
1960//
1961// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6 %s
1962//
1963// PPCPOWER6:#define _ARCH_PPC 1
1964// PPCPOWER6:#define _ARCH_PPC64 1
1965// PPCPOWER6:#define _ARCH_PPCGR 1
1966// PPCPOWER6:#define _ARCH_PPCSQ 1
1967// PPCPOWER6:#define _ARCH_PWR4 1
1968// PPCPOWER6:#define _ARCH_PWR5 1
1969// PPCPOWER6:#define _ARCH_PWR5X 1
1970// PPCPOWER6:#define _ARCH_PWR6 1
1971//
1972// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6X %s
1973//
1974// PPCPWR6X:#define _ARCH_PPC 1
1975// PPCPWR6X:#define _ARCH_PPC64 1
1976// PPCPWR6X:#define _ARCH_PPCGR 1
1977// PPCPWR6X:#define _ARCH_PPCSQ 1
1978// PPCPWR6X:#define _ARCH_PWR4 1
1979// PPCPWR6X:#define _ARCH_PWR5 1
1980// PPCPWR6X:#define _ARCH_PWR5X 1
1981// PPCPWR6X:#define _ARCH_PWR6 1
1982// PPCPWR6X:#define _ARCH_PWR6X 1
1983//
1984// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6X %s
1985//
1986// PPCPOWER6X:#define _ARCH_PPC 1
1987// PPCPOWER6X:#define _ARCH_PPC64 1
1988// PPCPOWER6X:#define _ARCH_PPCGR 1
1989// PPCPOWER6X:#define _ARCH_PPCSQ 1
1990// PPCPOWER6X:#define _ARCH_PWR4 1
1991// PPCPOWER6X:#define _ARCH_PWR5 1
1992// PPCPOWER6X:#define _ARCH_PWR5X 1
1993// PPCPOWER6X:#define _ARCH_PWR6 1
1994// PPCPOWER6X:#define _ARCH_PWR6X 1
1995//
1996// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR7 %s
1997//
1998// PPCPWR7:#define _ARCH_PPC 1
1999// PPCPWR7:#define _ARCH_PPC64 1
2000// PPCPWR7:#define _ARCH_PPCGR 1
2001// PPCPWR7:#define _ARCH_PPCSQ 1
2002// PPCPWR7:#define _ARCH_PWR4 1
2003// PPCPWR7:#define _ARCH_PWR5 1
2004// PPCPWR7:#define _ARCH_PWR5X 1
2005// PPCPWR7:#define _ARCH_PWR6 1
2006// PPCPWR7:#define _ARCH_PWR6X 1
2007// PPCPWR7:#define _ARCH_PWR7 1
2008//
2009// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER7 %s
2010//
2011// PPCPOWER7:#define _ARCH_PPC 1
2012// PPCPOWER7:#define _ARCH_PPC64 1
2013// PPCPOWER7:#define _ARCH_PPCGR 1
2014// PPCPOWER7:#define _ARCH_PPCSQ 1
2015// PPCPOWER7:#define _ARCH_PWR4 1
2016// PPCPOWER7:#define _ARCH_PWR5 1
2017// PPCPOWER7:#define _ARCH_PWR5X 1
2018// PPCPOWER7:#define _ARCH_PWR6 1
2019// PPCPOWER7:#define _ARCH_PWR6X 1
2020// PPCPOWER7:#define _ARCH_PWR7 1
2021//
Nico Weber3435ede2012-01-31 02:07:33 +00002022// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
2023//
2024// PPC64-LINUX:#define _ARCH_PPC 1
2025// PPC64-LINUX:#define _ARCH_PPC64 1
2026// PPC64-LINUX:#define _BIG_ENDIAN 1
2027// PPC64-LINUX:#define _LP64 1
2028// PPC64-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002029// PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber3435ede2012-01-31 02:07:33 +00002030// PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
2031// PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
2032// PPC64-LINUX:#define __CHAR_BIT__ 8
2033// PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
2034// PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2035// PPC64-LINUX:#define __DBL_DIG__ 15
2036// PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2037// PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
2038// PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
2039// PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2040// PPC64-LINUX:#define __DBL_MANT_DIG__ 53
2041// PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
2042// PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
2043// PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2044// PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2045// PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2046// PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2047// PPC64-LINUX:#define __DECIMAL_DIG__ 33
2048// PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2049// PPC64-LINUX:#define __FLT_DIG__ 6
2050// PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2051// PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
2052// PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
2053// PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
2054// PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2055// PPC64-LINUX:#define __FLT_MANT_DIG__ 24
2056// PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
2057// PPC64-LINUX:#define __FLT_MAX_EXP__ 128
2058// PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2059// PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2060// PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
2061// PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2062// PPC64-LINUX:#define __FLT_RADIX__ 2
2063// PPC64-LINUX:#define __INT16_TYPE__ short
2064// PPC64-LINUX:#define __INT32_TYPE__ int
2065// PPC64-LINUX:#define __INT64_C_SUFFIX__ L
2066// PPC64-LINUX:#define __INT64_TYPE__ long int
2067// PPC64-LINUX:#define __INT8_TYPE__ char
2068// PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2069// PPC64-LINUX:#define __INTMAX_TYPE__ long int
2070// PPC64-LINUX:#define __INTMAX_WIDTH__ 64
2071// PPC64-LINUX:#define __INTPTR_TYPE__ long int
2072// PPC64-LINUX:#define __INTPTR_WIDTH__ 64
2073// PPC64-LINUX:#define __INT_MAX__ 2147483647
2074// PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2075// PPC64-LINUX:#define __LDBL_DIG__ 31
2076// PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2077// PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
2078// PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2079// PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2080// PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
2081// PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
2082// PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
2083// PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2084// PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2085// PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
2086// PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2087// PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
2088// PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2089// PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2090// PPC64-LINUX:#define __LP64__ 1
2091// PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002092// PPC64-LINUX:#define __POINTER_WIDTH__ 64
2093// PPC64-LINUX:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002094// PPC64-LINUX:#define __PPC64__ 1
2095// PPC64-LINUX:#define __PPC__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002096// PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
2097// PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
2098// PPC64-LINUX:#define __REGISTER_PREFIX__
2099// PPC64-LINUX:#define __SCHAR_MAX__ 127
2100// PPC64-LINUX:#define __SHRT_MAX__ 32767
2101// PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2102// PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
2103// PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
2104// PPC64-LINUX:#define __SIZEOF_INT__ 4
2105// PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2106// PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2107// PPC64-LINUX:#define __SIZEOF_LONG__ 8
2108// PPC64-LINUX:#define __SIZEOF_POINTER__ 8
2109// PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2110// PPC64-LINUX:#define __SIZEOF_SHORT__ 2
2111// PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
2112// PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2113// PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002114// PPC64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Nico Weber3435ede2012-01-31 02:07:33 +00002115// PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
2116// PPC64-LINUX:#define __SIZE_WIDTH__ 64
2117// PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2118// PPC64-LINUX:#define __USER_LABEL_PREFIX__
2119// PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
2120// PPC64-LINUX:#define __WCHAR_TYPE__ int
2121// PPC64-LINUX:#define __WCHAR_WIDTH__ 32
2122// PPC64-LINUX:#define __WINT_TYPE__ unsigned int
2123// PPC64-LINUX:#define __WINT_UNSIGNED__ 1
2124// PPC64-LINUX:#define __WINT_WIDTH__ 32
2125// PPC64-LINUX:#define __powerpc64__ 1
2126// PPC64-LINUX:#define __powerpc__ 1
2127// PPC64-LINUX:#define __ppc64__ 1
2128// PPC64-LINUX:#define __ppc__ 1
2129//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002130// 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 +00002131//
2132// PPC:#define _ARCH_PPC 1
2133// PPC:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002134// PPC-NOT:#define _LP64
Chris Lattnere963d092009-10-29 04:55:36 +00002135// PPC:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002136// PPC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002137// PPC:#define __CHAR16_TYPE__ unsigned short
2138// PPC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002139// PPC:#define __CHAR_BIT__ 8
2140// PPC:#define __CHAR_UNSIGNED__ 1
2141// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2142// PPC:#define __DBL_DIG__ 15
2143// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2144// PPC:#define __DBL_HAS_DENORM__ 1
2145// PPC:#define __DBL_HAS_INFINITY__ 1
2146// PPC:#define __DBL_HAS_QUIET_NAN__ 1
2147// PPC:#define __DBL_MANT_DIG__ 53
2148// PPC:#define __DBL_MAX_10_EXP__ 308
2149// PPC:#define __DBL_MAX_EXP__ 1024
2150// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
2151// PPC:#define __DBL_MIN_10_EXP__ (-307)
2152// PPC:#define __DBL_MIN_EXP__ (-1021)
2153// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber3435ede2012-01-31 02:07:33 +00002154// PPC:#define __DECIMAL_DIG__ 33
Chris Lattnere963d092009-10-29 04:55:36 +00002155// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2156// PPC:#define __FLT_DIG__ 6
2157// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
2158// PPC:#define __FLT_EVAL_METHOD__ 0
2159// PPC:#define __FLT_HAS_DENORM__ 1
2160// PPC:#define __FLT_HAS_INFINITY__ 1
2161// PPC:#define __FLT_HAS_QUIET_NAN__ 1
2162// PPC:#define __FLT_MANT_DIG__ 24
2163// PPC:#define __FLT_MAX_10_EXP__ 38
2164// PPC:#define __FLT_MAX_EXP__ 128
2165// PPC:#define __FLT_MAX__ 3.40282347e+38F
2166// PPC:#define __FLT_MIN_10_EXP__ (-37)
2167// PPC:#define __FLT_MIN_EXP__ (-125)
2168// PPC:#define __FLT_MIN__ 1.17549435e-38F
2169// PPC:#define __FLT_RADIX__ 2
2170// PPC:#define __INT16_TYPE__ short
2171// PPC:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002172// PPC:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00002173// PPC:#define __INT64_TYPE__ long long int
2174// PPC:#define __INT8_TYPE__ char
2175// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00002176// PPC:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002177// PPC:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002178// PPC:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002179// PPC:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002180// PPC:#define __INT_MAX__ 2147483647
Nico Weber3435ede2012-01-31 02:07:33 +00002181// PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2182// PPC:#define __LDBL_DIG__ 31
2183// PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002184// PPC:#define __LDBL_HAS_DENORM__ 1
2185// PPC:#define __LDBL_HAS_INFINITY__ 1
2186// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002187// PPC:#define __LDBL_MANT_DIG__ 106
Chris Lattnere963d092009-10-29 04:55:36 +00002188// PPC:#define __LDBL_MAX_10_EXP__ 308
2189// PPC:#define __LDBL_MAX_EXP__ 1024
Nico Weber3435ede2012-01-31 02:07:33 +00002190// PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2191// PPC:#define __LDBL_MIN_10_EXP__ (-291)
2192// PPC:#define __LDBL_MIN_EXP__ (-968)
2193// PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnere963d092009-10-29 04:55:36 +00002194// PPC:#define __LONG_DOUBLE_128__ 1
2195// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2196// PPC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002197// PPC-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00002198// PPC:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002199// PPC:#define __POINTER_WIDTH__ 32
2200// PPC:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002201// PPC:#define __PPC__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002202// PPC:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002203// PPC:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002204// PPC:#define __REGISTER_PREFIX__
2205// PPC:#define __SCHAR_MAX__ 127
2206// PPC:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002207// PPC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002208// PPC:#define __SIZEOF_DOUBLE__ 8
2209// PPC:#define __SIZEOF_FLOAT__ 4
2210// PPC:#define __SIZEOF_INT__ 4
Nico Weber3435ede2012-01-31 02:07:33 +00002211// PPC:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohman04f87202010-05-28 00:27:15 +00002212// PPC:#define __SIZEOF_LONG_LONG__ 8
2213// PPC:#define __SIZEOF_LONG__ 4
2214// PPC:#define __SIZEOF_POINTER__ 4
2215// PPC:#define __SIZEOF_PTRDIFF_T__ 4
2216// PPC:#define __SIZEOF_SHORT__ 2
2217// PPC:#define __SIZEOF_SIZE_T__ 4
2218// PPC:#define __SIZEOF_WCHAR_T__ 4
2219// PPC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002220// PPC:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00002221// PPC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002222// PPC:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002223// PPC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002224// PPC:#define __USER_LABEL_PREFIX__ _
2225// PPC:#define __WCHAR_MAX__ 2147483647
2226// PPC:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002227// PPC:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002228// PPC:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002229// PPC:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002230// PPC:#define __ppc__ 1
2231//
Nico Weber3435ede2012-01-31 02:07:33 +00002232// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
2233//
2234// PPC-LINUX:#define _ARCH_PPC 1
2235// PPC-LINUX:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002236// PPC-LINUX-NOT:#define _LP64
Nico Weber3435ede2012-01-31 02:07:33 +00002237// PPC-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002238// PPC-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber3435ede2012-01-31 02:07:33 +00002239// PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
2240// PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
2241// PPC-LINUX:#define __CHAR_BIT__ 8
2242// PPC-LINUX:#define __CHAR_UNSIGNED__ 1
2243// PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2244// PPC-LINUX:#define __DBL_DIG__ 15
2245// PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2246// PPC-LINUX:#define __DBL_HAS_DENORM__ 1
2247// PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
2248// PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2249// PPC-LINUX:#define __DBL_MANT_DIG__ 53
2250// PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
2251// PPC-LINUX:#define __DBL_MAX_EXP__ 1024
2252// PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2253// PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2254// PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
2255// PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2256// PPC-LINUX:#define __DECIMAL_DIG__ 33
2257// PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2258// PPC-LINUX:#define __FLT_DIG__ 6
2259// PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2260// PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
2261// PPC-LINUX:#define __FLT_HAS_DENORM__ 1
2262// PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
2263// PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2264// PPC-LINUX:#define __FLT_MANT_DIG__ 24
2265// PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
2266// PPC-LINUX:#define __FLT_MAX_EXP__ 128
2267// PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2268// PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2269// PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
2270// PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2271// PPC-LINUX:#define __FLT_RADIX__ 2
2272// PPC-LINUX:#define __INT16_TYPE__ short
2273// PPC-LINUX:#define __INT32_TYPE__ int
2274// PPC-LINUX:#define __INT64_C_SUFFIX__ LL
2275// PPC-LINUX:#define __INT64_TYPE__ long long int
2276// PPC-LINUX:#define __INT8_TYPE__ char
2277// PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
2278// PPC-LINUX:#define __INTMAX_TYPE__ long long int
2279// PPC-LINUX:#define __INTMAX_WIDTH__ 64
Hal Finkel26908382012-03-02 20:54:36 +00002280// PPC-LINUX:#define __INTPTR_TYPE__ int
Nico Weber3435ede2012-01-31 02:07:33 +00002281// PPC-LINUX:#define __INTPTR_WIDTH__ 32
2282// PPC-LINUX:#define __INT_MAX__ 2147483647
2283// PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2284// PPC-LINUX:#define __LDBL_DIG__ 31
2285// PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2286// PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
2287// PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
2288// PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2289// PPC-LINUX:#define __LDBL_MANT_DIG__ 106
2290// PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
2291// PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
2292// PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2293// PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2294// PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
2295// PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2296// PPC-LINUX:#define __LONG_DOUBLE_128__ 1
2297// PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2298// PPC-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002299// PPC-LINUX-NOT:#define __LP64__
Nico Weber3435ede2012-01-31 02:07:33 +00002300// PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002301// PPC-LINUX:#define __POINTER_WIDTH__ 32
2302// PPC-LINUX:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002303// PPC-LINUX:#define __PPC__ 1
Hal Finkel26908382012-03-02 20:54:36 +00002304// PPC-LINUX:#define __PTRDIFF_TYPE__ int
Nico Weber3435ede2012-01-31 02:07:33 +00002305// PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
2306// PPC-LINUX:#define __REGISTER_PREFIX__
2307// PPC-LINUX:#define __SCHAR_MAX__ 127
2308// PPC-LINUX:#define __SHRT_MAX__ 32767
2309// PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2310// PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
2311// PPC-LINUX:#define __SIZEOF_FLOAT__ 4
2312// PPC-LINUX:#define __SIZEOF_INT__ 4
2313// PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2314// PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
2315// PPC-LINUX:#define __SIZEOF_LONG__ 4
2316// PPC-LINUX:#define __SIZEOF_POINTER__ 4
2317// PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
2318// PPC-LINUX:#define __SIZEOF_SHORT__ 2
2319// PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
2320// PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
2321// PPC-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002322// PPC-LINUX:#define __SIZE_MAX__ 4294967295U
Nico Weber3435ede2012-01-31 02:07:33 +00002323// PPC-LINUX:#define __SIZE_TYPE__ unsigned int
2324// PPC-LINUX:#define __SIZE_WIDTH__ 32
2325// PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
2326// PPC-LINUX:#define __USER_LABEL_PREFIX__
2327// PPC-LINUX:#define __WCHAR_MAX__ 2147483647
2328// PPC-LINUX:#define __WCHAR_TYPE__ int
2329// PPC-LINUX:#define __WCHAR_WIDTH__ 32
2330// PPC-LINUX:#define __WINT_TYPE__ unsigned int
2331// PPC-LINUX:#define __WINT_UNSIGNED__ 1
2332// PPC-LINUX:#define __WINT_WIDTH__ 32
2333// PPC-LINUX:#define __powerpc__ 1
2334// PPC-LINUX:#define __ppc__ 1
2335//
David Fang072d47b2013-05-16 17:51:48 +00002336// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-apple-darwin8 < /dev/null | FileCheck -check-prefix PPC-DARWIN %s
2337//
2338// PPC-DARWIN:#define _ARCH_PPC 1
2339// PPC-DARWIN:#define _BIG_ENDIAN 1
2340// PPC-DARWIN:#define __BIG_ENDIAN__ 1
2341// PPC-DARWIN:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2342// PPC-DARWIN:#define __CHAR16_TYPE__ unsigned short
2343// PPC-DARWIN:#define __CHAR32_TYPE__ unsigned int
2344// PPC-DARWIN:#define __CHAR_BIT__ 8
2345// PPC-DARWIN:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2346// PPC-DARWIN:#define __DBL_DIG__ 15
2347// PPC-DARWIN:#define __DBL_EPSILON__ 2.2204460492503131e-16
2348// PPC-DARWIN:#define __DBL_HAS_DENORM__ 1
2349// PPC-DARWIN:#define __DBL_HAS_INFINITY__ 1
2350// PPC-DARWIN:#define __DBL_HAS_QUIET_NAN__ 1
2351// PPC-DARWIN:#define __DBL_MANT_DIG__ 53
2352// PPC-DARWIN:#define __DBL_MAX_10_EXP__ 308
2353// PPC-DARWIN:#define __DBL_MAX_EXP__ 1024
2354// PPC-DARWIN:#define __DBL_MAX__ 1.7976931348623157e+308
2355// PPC-DARWIN:#define __DBL_MIN_10_EXP__ (-307)
2356// PPC-DARWIN:#define __DBL_MIN_EXP__ (-1021)
2357// PPC-DARWIN:#define __DBL_MIN__ 2.2250738585072014e-308
2358// PPC-DARWIN:#define __DECIMAL_DIG__ 33
2359// PPC-DARWIN:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2360// PPC-DARWIN:#define __FLT_DIG__ 6
2361// PPC-DARWIN:#define __FLT_EPSILON__ 1.19209290e-7F
2362// PPC-DARWIN:#define __FLT_EVAL_METHOD__ 0
2363// PPC-DARWIN:#define __FLT_HAS_DENORM__ 1
2364// PPC-DARWIN:#define __FLT_HAS_INFINITY__ 1
2365// PPC-DARWIN:#define __FLT_HAS_QUIET_NAN__ 1
2366// PPC-DARWIN:#define __FLT_MANT_DIG__ 24
2367// PPC-DARWIN:#define __FLT_MAX_10_EXP__ 38
2368// PPC-DARWIN:#define __FLT_MAX_EXP__ 128
2369// PPC-DARWIN:#define __FLT_MAX__ 3.40282347e+38F
2370// PPC-DARWIN:#define __FLT_MIN_10_EXP__ (-37)
2371// PPC-DARWIN:#define __FLT_MIN_EXP__ (-125)
2372// PPC-DARWIN:#define __FLT_MIN__ 1.17549435e-38F
2373// PPC-DARWIN:#define __FLT_RADIX__ 2
2374// PPC-DARWIN:#define __INT16_TYPE__ short
2375// PPC-DARWIN:#define __INT32_TYPE__ int
2376// PPC-DARWIN:#define __INT64_C_SUFFIX__ LL
2377// PPC-DARWIN:#define __INT64_TYPE__ long long int
2378// PPC-DARWIN:#define __INT8_TYPE__ char
2379// PPC-DARWIN:#define __INTMAX_MAX__ 9223372036854775807LL
2380// PPC-DARWIN:#define __INTMAX_TYPE__ long long int
2381// PPC-DARWIN:#define __INTMAX_WIDTH__ 64
2382// PPC-DARWIN:#define __INTPTR_TYPE__ long int
2383// PPC-DARWIN:#define __INTPTR_WIDTH__ 32
2384// PPC-DARWIN:#define __INT_MAX__ 2147483647
2385// PPC-DARWIN:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2386// PPC-DARWIN:#define __LDBL_DIG__ 31
2387// PPC-DARWIN:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2388// PPC-DARWIN:#define __LDBL_HAS_DENORM__ 1
2389// PPC-DARWIN:#define __LDBL_HAS_INFINITY__ 1
2390// PPC-DARWIN:#define __LDBL_HAS_QUIET_NAN__ 1
2391// PPC-DARWIN:#define __LDBL_MANT_DIG__ 106
2392// PPC-DARWIN:#define __LDBL_MAX_10_EXP__ 308
2393// PPC-DARWIN:#define __LDBL_MAX_EXP__ 1024
2394// PPC-DARWIN:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2395// PPC-DARWIN:#define __LDBL_MIN_10_EXP__ (-291)
2396// PPC-DARWIN:#define __LDBL_MIN_EXP__ (-968)
2397// PPC-DARWIN:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2398// PPC-DARWIN:#define __LONG_DOUBLE_128__ 1
2399// PPC-DARWIN:#define __LONG_LONG_MAX__ 9223372036854775807LL
2400// PPC-DARWIN:#define __LONG_MAX__ 2147483647L
2401// PPC-DARWIN:#define __MACH__ 1
2402// PPC-DARWIN:#define __NATURAL_ALIGNMENT__ 1
2403// PPC-DARWIN:#define __ORDER_BIG_ENDIAN__ 4321
2404// PPC-DARWIN:#define __ORDER_LITTLE_ENDIAN__ 1234
2405// PPC-DARWIN:#define __ORDER_PDP_ENDIAN__ 3412
2406// PPC-DARWIN:#define __POINTER_WIDTH__ 32
2407// PPC-DARWIN:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002408// PPC-DARWIN:#define __PPC__ 1
David Fang072d47b2013-05-16 17:51:48 +00002409// PPC-DARWIN:#define __PTRDIFF_TYPE__ int
2410// PPC-DARWIN:#define __PTRDIFF_WIDTH__ 32
2411// PPC-DARWIN:#define __REGISTER_PREFIX__
2412// PPC-DARWIN:#define __SCHAR_MAX__ 127
2413// PPC-DARWIN:#define __SHRT_MAX__ 32767
2414// PPC-DARWIN:#define __SIG_ATOMIC_WIDTH__ 32
2415// PPC-DARWIN:#define __SIZEOF_DOUBLE__ 8
2416// PPC-DARWIN:#define __SIZEOF_FLOAT__ 4
2417// PPC-DARWIN:#define __SIZEOF_INT__ 4
2418// PPC-DARWIN:#define __SIZEOF_LONG_DOUBLE__ 16
2419// PPC-DARWIN:#define __SIZEOF_LONG_LONG__ 8
2420// PPC-DARWIN:#define __SIZEOF_LONG__ 4
2421// PPC-DARWIN:#define __SIZEOF_POINTER__ 4
2422// PPC-DARWIN:#define __SIZEOF_PTRDIFF_T__ 4
2423// PPC-DARWIN:#define __SIZEOF_SHORT__ 2
2424// PPC-DARWIN:#define __SIZEOF_SIZE_T__ 4
2425// PPC-DARWIN:#define __SIZEOF_WCHAR_T__ 4
2426// PPC-DARWIN:#define __SIZEOF_WINT_T__ 4
2427// PPC-DARWIN:#define __SIZE_MAX__ 4294967295UL
2428// PPC-DARWIN:#define __SIZE_TYPE__ long unsigned int
2429// PPC-DARWIN:#define __SIZE_WIDTH__ 32
2430// PPC-DARWIN:#define __STDC_HOSTED__ 0
2431// PPC-DARWIN:#define __STDC_VERSION__ 199901L
2432// PPC-DARWIN:#define __STDC__ 1
2433// PPC-DARWIN:#define __UINTMAX_TYPE__ long long unsigned int
2434// PPC-DARWIN:#define __USER_LABEL_PREFIX__ _
2435// PPC-DARWIN:#define __WCHAR_MAX__ 2147483647
2436// PPC-DARWIN:#define __WCHAR_TYPE__ int
2437// PPC-DARWIN:#define __WCHAR_WIDTH__ 32
2438// PPC-DARWIN:#define __WINT_TYPE__ int
2439// PPC-DARWIN:#define __WINT_WIDTH__ 32
2440// PPC-DARWIN:#define __powerpc__ 1
2441// PPC-DARWIN:#define __ppc__ 1
2442//
Ulrich Weigand47445072013-05-06 16:26:41 +00002443// RUN: %clang_cc1 -E -dM -ffreestanding -triple=s390x-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix S390X %s
2444//
2445// S390X:#define __CHAR16_TYPE__ unsigned short
2446// S390X:#define __CHAR32_TYPE__ unsigned int
2447// S390X:#define __CHAR_BIT__ 8
2448// S390X:#define __CHAR_UNSIGNED__ 1
2449// S390X:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2450// S390X:#define __DBL_DIG__ 15
2451// S390X:#define __DBL_EPSILON__ 2.2204460492503131e-16
2452// S390X:#define __DBL_HAS_DENORM__ 1
2453// S390X:#define __DBL_HAS_INFINITY__ 1
2454// S390X:#define __DBL_HAS_QUIET_NAN__ 1
2455// S390X:#define __DBL_MANT_DIG__ 53
2456// S390X:#define __DBL_MAX_10_EXP__ 308
2457// S390X:#define __DBL_MAX_EXP__ 1024
2458// S390X:#define __DBL_MAX__ 1.7976931348623157e+308
2459// S390X:#define __DBL_MIN_10_EXP__ (-307)
2460// S390X:#define __DBL_MIN_EXP__ (-1021)
2461// S390X:#define __DBL_MIN__ 2.2250738585072014e-308
2462// S390X:#define __DECIMAL_DIG__ 36
2463// S390X:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2464// S390X:#define __FLT_DIG__ 6
2465// S390X:#define __FLT_EPSILON__ 1.19209290e-7F
2466// S390X:#define __FLT_EVAL_METHOD__ 0
2467// S390X:#define __FLT_HAS_DENORM__ 1
2468// S390X:#define __FLT_HAS_INFINITY__ 1
2469// S390X:#define __FLT_HAS_QUIET_NAN__ 1
2470// S390X:#define __FLT_MANT_DIG__ 24
2471// S390X:#define __FLT_MAX_10_EXP__ 38
2472// S390X:#define __FLT_MAX_EXP__ 128
2473// S390X:#define __FLT_MAX__ 3.40282347e+38F
2474// S390X:#define __FLT_MIN_10_EXP__ (-37)
2475// S390X:#define __FLT_MIN_EXP__ (-125)
2476// S390X:#define __FLT_MIN__ 1.17549435e-38F
2477// S390X:#define __FLT_RADIX__ 2
2478// S390X:#define __INT16_TYPE__ short
2479// S390X:#define __INT32_TYPE__ int
2480// S390X:#define __INT64_C_SUFFIX__ L
2481// S390X:#define __INT64_TYPE__ long long int
2482// S390X:#define __INT8_TYPE__ char
2483// S390X:#define __INTMAX_MAX__ 9223372036854775807LL
2484// S390X:#define __INTMAX_TYPE__ long long int
2485// S390X:#define __INTMAX_WIDTH__ 64
2486// S390X:#define __INTPTR_TYPE__ long int
2487// S390X:#define __INTPTR_WIDTH__ 64
2488// S390X:#define __INT_MAX__ 2147483647
2489// S390X:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
2490// S390X:#define __LDBL_DIG__ 33
2491// S390X:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
2492// S390X:#define __LDBL_HAS_DENORM__ 1
2493// S390X:#define __LDBL_HAS_INFINITY__ 1
2494// S390X:#define __LDBL_HAS_QUIET_NAN__ 1
2495// S390X:#define __LDBL_MANT_DIG__ 113
2496// S390X:#define __LDBL_MAX_10_EXP__ 4932
2497// S390X:#define __LDBL_MAX_EXP__ 16384
2498// S390X:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
2499// S390X:#define __LDBL_MIN_10_EXP__ (-4931)
2500// S390X:#define __LDBL_MIN_EXP__ (-16381)
2501// S390X:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
2502// S390X:#define __LONG_LONG_MAX__ 9223372036854775807LL
2503// S390X:#define __LONG_MAX__ 9223372036854775807L
2504// S390X:#define __NO_INLINE__ 1
2505// S390X:#define __POINTER_WIDTH__ 64
2506// S390X:#define __PTRDIFF_TYPE__ long int
2507// S390X:#define __PTRDIFF_WIDTH__ 64
2508// S390X:#define __SCHAR_MAX__ 127
2509// S390X:#define __SHRT_MAX__ 32767
2510// S390X:#define __SIG_ATOMIC_WIDTH__ 32
2511// S390X:#define __SIZEOF_DOUBLE__ 8
2512// S390X:#define __SIZEOF_FLOAT__ 4
2513// S390X:#define __SIZEOF_INT__ 4
2514// S390X:#define __SIZEOF_LONG_DOUBLE__ 16
2515// S390X:#define __SIZEOF_LONG_LONG__ 8
2516// S390X:#define __SIZEOF_LONG__ 8
2517// S390X:#define __SIZEOF_POINTER__ 8
2518// S390X:#define __SIZEOF_PTRDIFF_T__ 8
2519// S390X:#define __SIZEOF_SHORT__ 2
2520// S390X:#define __SIZEOF_SIZE_T__ 8
2521// S390X:#define __SIZEOF_WCHAR_T__ 4
2522// S390X:#define __SIZEOF_WINT_T__ 4
2523// S390X:#define __SIZE_TYPE__ long unsigned int
2524// S390X:#define __SIZE_WIDTH__ 64
2525// S390X:#define __UINTMAX_TYPE__ long long unsigned int
2526// S390X:#define __USER_LABEL_PREFIX__ _
2527// S390X:#define __WCHAR_MAX__ 2147483647
2528// S390X:#define __WCHAR_TYPE__ int
2529// S390X:#define __WCHAR_WIDTH__ 32
2530// S390X:#define __WINT_TYPE__ int
2531// S390X:#define __WINT_WIDTH__ 32
2532// S390X:#define __s390__ 1
2533// S390X:#define __s390x__ 1
2534//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002535// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
Chris Lattnere963d092009-10-29 04:55:36 +00002536//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002537// SPARC-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002538// SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002539// SPARC:#define __CHAR16_TYPE__ unsigned short
2540// SPARC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002541// SPARC:#define __CHAR_BIT__ 8
2542// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2543// SPARC:#define __DBL_DIG__ 15
2544// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2545// SPARC:#define __DBL_HAS_DENORM__ 1
2546// SPARC:#define __DBL_HAS_INFINITY__ 1
2547// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
2548// SPARC:#define __DBL_MANT_DIG__ 53
2549// SPARC:#define __DBL_MAX_10_EXP__ 308
2550// SPARC:#define __DBL_MAX_EXP__ 1024
2551// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
2552// SPARC:#define __DBL_MIN_10_EXP__ (-307)
2553// SPARC:#define __DBL_MIN_EXP__ (-1021)
2554// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
2555// SPARC:#define __DECIMAL_DIG__ 17
2556// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2557// SPARC:#define __FLT_DIG__ 6
2558// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
2559// SPARC:#define __FLT_EVAL_METHOD__ 0
2560// SPARC:#define __FLT_HAS_DENORM__ 1
2561// SPARC:#define __FLT_HAS_INFINITY__ 1
2562// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
2563// SPARC:#define __FLT_MANT_DIG__ 24
2564// SPARC:#define __FLT_MAX_10_EXP__ 38
2565// SPARC:#define __FLT_MAX_EXP__ 128
2566// SPARC:#define __FLT_MAX__ 3.40282347e+38F
2567// SPARC:#define __FLT_MIN_10_EXP__ (-37)
2568// SPARC:#define __FLT_MIN_EXP__ (-125)
2569// SPARC:#define __FLT_MIN__ 1.17549435e-38F
2570// SPARC:#define __FLT_RADIX__ 2
2571// SPARC:#define __INT16_TYPE__ short
2572// SPARC:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002573// SPARC:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00002574// SPARC:#define __INT64_TYPE__ long long int
2575// SPARC:#define __INT8_TYPE__ char
2576// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00002577// SPARC:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002578// SPARC:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002579// SPARC:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002580// SPARC:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002581// SPARC:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002582// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002583// SPARC:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002584// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +00002585// SPARC:#define __LDBL_HAS_DENORM__ 1
2586// SPARC:#define __LDBL_HAS_INFINITY__ 1
2587// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
2588// SPARC:#define __LDBL_MANT_DIG__ 53
2589// SPARC:#define __LDBL_MAX_10_EXP__ 308
2590// SPARC:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002591// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +00002592// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
2593// SPARC:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002594// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnere963d092009-10-29 04:55:36 +00002595// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2596// SPARC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002597// SPARC-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00002598// SPARC:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002599// SPARC:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002600// SPARC:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbaracde99e2009-12-18 18:42:37 +00002601// SPARC:#define __REGISTER_PREFIX__
Chris Lattnere963d092009-10-29 04:55:36 +00002602// SPARC:#define __SCHAR_MAX__ 127
2603// SPARC:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002604// SPARC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002605// SPARC:#define __SIZEOF_DOUBLE__ 8
2606// SPARC:#define __SIZEOF_FLOAT__ 4
2607// SPARC:#define __SIZEOF_INT__ 4
2608// SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
2609// SPARC:#define __SIZEOF_LONG_LONG__ 8
2610// SPARC:#define __SIZEOF_LONG__ 4
2611// SPARC:#define __SIZEOF_POINTER__ 4
2612// SPARC:#define __SIZEOF_PTRDIFF_T__ 4
2613// SPARC:#define __SIZEOF_SHORT__ 2
2614// SPARC:#define __SIZEOF_SIZE_T__ 4
2615// SPARC:#define __SIZEOF_WCHAR_T__ 4
2616// SPARC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002617// SPARC:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00002618// SPARC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002619// SPARC:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002620// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002621// SPARC:#define __USER_LABEL_PREFIX__ _
Daniel Dunbar3b17a862011-03-31 00:53:51 +00002622// SPARC:#define __VERSION__ "4.2.1 Compatible
Chris Lattnere963d092009-10-29 04:55:36 +00002623// SPARC:#define __WCHAR_MAX__ 2147483647
2624// SPARC:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002625// SPARC:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002626// SPARC:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002627// SPARC:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002628// SPARC:#define __sparc 1
2629// SPARC:#define __sparc__ 1
2630// SPARC:#define __sparcv8 1
2631// SPARC:#define sparc 1
2632//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002633// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
Chris Lattnere963d092009-10-29 04:55:36 +00002634//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002635// TCE-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002636// TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002637// TCE:#define __CHAR16_TYPE__ unsigned short
2638// TCE:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002639// TCE:#define __CHAR_BIT__ 8
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002640// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45
Chris Lattnere963d092009-10-29 04:55:36 +00002641// TCE:#define __DBL_DIG__ 6
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002642// TCE:#define __DBL_EPSILON__ 1.19209290e-7
Chris Lattnere963d092009-10-29 04:55:36 +00002643// TCE:#define __DBL_HAS_DENORM__ 1
2644// TCE:#define __DBL_HAS_INFINITY__ 1
2645// TCE:#define __DBL_HAS_QUIET_NAN__ 1
2646// TCE:#define __DBL_MANT_DIG__ 24
2647// TCE:#define __DBL_MAX_10_EXP__ 38
2648// TCE:#define __DBL_MAX_EXP__ 128
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002649// TCE:#define __DBL_MAX__ 3.40282347e+38
Chris Lattnere963d092009-10-29 04:55:36 +00002650// TCE:#define __DBL_MIN_10_EXP__ (-37)
2651// TCE:#define __DBL_MIN_EXP__ (-125)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002652// TCE:#define __DBL_MIN__ 1.17549435e-38
Chris Lattnere963d092009-10-29 04:55:36 +00002653// TCE:#define __DECIMAL_DIG__ -1
2654// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2655// TCE:#define __FLT_DIG__ 6
2656// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
2657// TCE:#define __FLT_EVAL_METHOD__ 0
2658// TCE:#define __FLT_HAS_DENORM__ 1
2659// TCE:#define __FLT_HAS_INFINITY__ 1
2660// TCE:#define __FLT_HAS_QUIET_NAN__ 1
2661// TCE:#define __FLT_MANT_DIG__ 24
2662// TCE:#define __FLT_MAX_10_EXP__ 38
2663// TCE:#define __FLT_MAX_EXP__ 128
2664// TCE:#define __FLT_MAX__ 3.40282347e+38F
2665// TCE:#define __FLT_MIN_10_EXP__ (-37)
2666// TCE:#define __FLT_MIN_EXP__ (-125)
2667// TCE:#define __FLT_MIN__ 1.17549435e-38F
2668// TCE:#define __FLT_RADIX__ 2
2669// TCE:#define __INT16_TYPE__ short
2670// TCE:#define __INT32_TYPE__ int
2671// TCE:#define __INT8_TYPE__ char
2672// TCE:#define __INTMAX_MAX__ 2147483647L
Ken Dyck9b25f782009-11-19 13:18:59 +00002673// TCE:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002674// TCE:#define __INTMAX_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002675// TCE:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002676// TCE:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002677// TCE:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002678// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45L
Chris Lattnere963d092009-10-29 04:55:36 +00002679// TCE:#define __LDBL_DIG__ 6
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002680// TCE:#define __LDBL_EPSILON__ 1.19209290e-7L
Chris Lattnere963d092009-10-29 04:55:36 +00002681// TCE:#define __LDBL_HAS_DENORM__ 1
2682// TCE:#define __LDBL_HAS_INFINITY__ 1
2683// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
2684// TCE:#define __LDBL_MANT_DIG__ 24
2685// TCE:#define __LDBL_MAX_10_EXP__ 38
2686// TCE:#define __LDBL_MAX_EXP__ 128
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002687// TCE:#define __LDBL_MAX__ 3.40282347e+38L
Chris Lattnere963d092009-10-29 04:55:36 +00002688// TCE:#define __LDBL_MIN_10_EXP__ (-37)
2689// TCE:#define __LDBL_MIN_EXP__ (-125)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002690// TCE:#define __LDBL_MIN__ 1.17549435e-38L
Chris Lattnere963d092009-10-29 04:55:36 +00002691// TCE:#define __LONG_LONG_MAX__ 2147483647LL
2692// TCE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002693// TCE-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00002694// TCE:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002695// TCE:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00002696// TCE:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002697// TCE:#define __SCHAR_MAX__ 127
2698// TCE:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002699// TCE:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002700// TCE:#define __SIZEOF_DOUBLE__ 4
2701// TCE:#define __SIZEOF_FLOAT__ 4
2702// TCE:#define __SIZEOF_INT__ 4
2703// TCE:#define __SIZEOF_LONG_DOUBLE__ 4
2704// TCE:#define __SIZEOF_LONG_LONG__ 4
2705// TCE:#define __SIZEOF_LONG__ 4
2706// TCE:#define __SIZEOF_POINTER__ 4
2707// TCE:#define __SIZEOF_PTRDIFF_T__ 4
2708// TCE:#define __SIZEOF_SHORT__ 2
2709// TCE:#define __SIZEOF_SIZE_T__ 4
2710// TCE:#define __SIZEOF_WCHAR_T__ 4
2711// TCE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002712// TCE:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00002713// TCE:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002714// TCE:#define __SIZE_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002715// TCE:#define __TCE_V1__ 1
2716// TCE:#define __TCE__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002717// TCE:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002718// TCE:#define __USER_LABEL_PREFIX__ _
2719// TCE:#define __WCHAR_MAX__ 2147483647
2720// TCE:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002721// TCE:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002722// TCE:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002723// TCE:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002724// TCE:#define __tce 1
2725// TCE:#define __tce__ 1
2726// TCE:#define tce 1
2727//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002728// 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 +00002729//
2730// X86_64:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002731// X86_64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002732// X86_64:#define __CHAR16_TYPE__ unsigned short
2733// X86_64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002734// X86_64:#define __CHAR_BIT__ 8
2735// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2736// X86_64:#define __DBL_DIG__ 15
2737// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
2738// X86_64:#define __DBL_HAS_DENORM__ 1
2739// X86_64:#define __DBL_HAS_INFINITY__ 1
2740// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
2741// X86_64:#define __DBL_MANT_DIG__ 53
2742// X86_64:#define __DBL_MAX_10_EXP__ 308
2743// X86_64:#define __DBL_MAX_EXP__ 1024
2744// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
2745// X86_64:#define __DBL_MIN_10_EXP__ (-307)
2746// X86_64:#define __DBL_MIN_EXP__ (-1021)
2747// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
2748// X86_64:#define __DECIMAL_DIG__ 21
2749// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2750// X86_64:#define __FLT_DIG__ 6
2751// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
2752// X86_64:#define __FLT_EVAL_METHOD__ 0
2753// X86_64:#define __FLT_HAS_DENORM__ 1
2754// X86_64:#define __FLT_HAS_INFINITY__ 1
2755// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
2756// X86_64:#define __FLT_MANT_DIG__ 24
2757// X86_64:#define __FLT_MAX_10_EXP__ 38
2758// X86_64:#define __FLT_MAX_EXP__ 128
2759// X86_64:#define __FLT_MAX__ 3.40282347e+38F
2760// X86_64:#define __FLT_MIN_10_EXP__ (-37)
2761// X86_64:#define __FLT_MIN_EXP__ (-125)
2762// X86_64:#define __FLT_MIN__ 1.17549435e-38F
2763// X86_64:#define __FLT_RADIX__ 2
2764// X86_64:#define __INT16_TYPE__ short
2765// X86_64:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002766// X86_64:#define __INT64_C_SUFFIX__ L
Chris Lattnere963d092009-10-29 04:55:36 +00002767// X86_64:#define __INT64_TYPE__ long int
2768// X86_64:#define __INT8_TYPE__ char
2769// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck9b25f782009-11-19 13:18:59 +00002770// X86_64:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002771// X86_64:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002772// X86_64:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002773// X86_64:#define __INTPTR_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00002774// X86_64:#define __INT_MAX__ 2147483647
2775// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
2776// X86_64:#define __LDBL_DIG__ 18
2777// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
2778// X86_64:#define __LDBL_HAS_DENORM__ 1
2779// X86_64:#define __LDBL_HAS_INFINITY__ 1
2780// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
2781// X86_64:#define __LDBL_MANT_DIG__ 64
2782// X86_64:#define __LDBL_MAX_10_EXP__ 4932
2783// X86_64:#define __LDBL_MAX_EXP__ 16384
2784// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
2785// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
2786// X86_64:#define __LDBL_MIN_EXP__ (-16381)
2787// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
2788// X86_64:#define __LITTLE_ENDIAN__ 1
2789// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
2790// X86_64:#define __LONG_MAX__ 9223372036854775807L
2791// X86_64:#define __LP64__ 1
2792// X86_64:#define __MMX__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002793// X86_64:#define __NO_MATH_INLINES 1
2794// X86_64:#define __POINTER_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002795// X86_64:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002796// X86_64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00002797// X86_64:#define __REGISTER_PREFIX__
2798// X86_64:#define __SCHAR_MAX__ 127
2799// X86_64:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002800// X86_64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002801// X86_64:#define __SIZEOF_DOUBLE__ 8
2802// X86_64:#define __SIZEOF_FLOAT__ 4
2803// X86_64:#define __SIZEOF_INT__ 4
2804// X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
2805// X86_64:#define __SIZEOF_LONG_LONG__ 8
2806// X86_64:#define __SIZEOF_LONG__ 8
2807// X86_64:#define __SIZEOF_POINTER__ 8
2808// X86_64:#define __SIZEOF_PTRDIFF_T__ 8
2809// X86_64:#define __SIZEOF_SHORT__ 2
2810// X86_64:#define __SIZEOF_SIZE_T__ 8
2811// X86_64:#define __SIZEOF_WCHAR_T__ 4
2812// X86_64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002813// X86_64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnere963d092009-10-29 04:55:36 +00002814// X86_64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002815// X86_64:#define __SIZE_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00002816// X86_64:#define __SSE2_MATH__ 1
2817// X86_64:#define __SSE2__ 1
2818// X86_64:#define __SSE_MATH__ 1
2819// X86_64:#define __SSE__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002820// X86_64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002821// X86_64:#define __USER_LABEL_PREFIX__ _
2822// X86_64:#define __WCHAR_MAX__ 2147483647
2823// X86_64:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002824// X86_64:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002825// X86_64:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002826// X86_64:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002827// X86_64:#define __amd64 1
2828// X86_64:#define __amd64__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002829// X86_64:#define __x86_64 1
2830// X86_64:#define __x86_64__ 1
2831//
Douglas Gregore6d6e512011-01-12 21:19:25 +00002832// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
2833//
2834// X86_64-LINUX:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002835// X86_64-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregore6d6e512011-01-12 21:19:25 +00002836// X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
2837// X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
2838// X86_64-LINUX:#define __CHAR_BIT__ 8
2839// X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2840// X86_64-LINUX:#define __DBL_DIG__ 15
2841// X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2842// X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
2843// X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
2844// X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2845// X86_64-LINUX:#define __DBL_MANT_DIG__ 53
2846// X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
2847// X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
2848// X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2849// X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2850// X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2851// X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2852// X86_64-LINUX:#define __DECIMAL_DIG__ 21
2853// X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2854// X86_64-LINUX:#define __FLT_DIG__ 6
2855// X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2856// X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
2857// X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
2858// X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
2859// X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2860// X86_64-LINUX:#define __FLT_MANT_DIG__ 24
2861// X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
2862// X86_64-LINUX:#define __FLT_MAX_EXP__ 128
2863// X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2864// X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2865// X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
2866// X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2867// X86_64-LINUX:#define __FLT_RADIX__ 2
2868// X86_64-LINUX:#define __INT16_TYPE__ short
2869// X86_64-LINUX:#define __INT32_TYPE__ int
2870// X86_64-LINUX:#define __INT64_C_SUFFIX__ L
2871// X86_64-LINUX:#define __INT64_TYPE__ long int
2872// X86_64-LINUX:#define __INT8_TYPE__ char
2873// X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2874// X86_64-LINUX:#define __INTMAX_TYPE__ long int
2875// X86_64-LINUX:#define __INTMAX_WIDTH__ 64
2876// X86_64-LINUX:#define __INTPTR_TYPE__ long int
2877// X86_64-LINUX:#define __INTPTR_WIDTH__ 64
2878// X86_64-LINUX:#define __INT_MAX__ 2147483647
2879// X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
2880// X86_64-LINUX:#define __LDBL_DIG__ 18
2881// X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
2882// X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
2883// X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2884// X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2885// X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
2886// X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
2887// X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
2888// X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
2889// X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
2890// X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
2891// X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
2892// X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
2893// X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2894// X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2895// X86_64-LINUX:#define __LP64__ 1
2896// X86_64-LINUX:#define __MMX__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00002897// X86_64-LINUX:#define __NO_MATH_INLINES 1
2898// X86_64-LINUX:#define __POINTER_WIDTH__ 64
2899// X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
2900// X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
2901// X86_64-LINUX:#define __REGISTER_PREFIX__
2902// X86_64-LINUX:#define __SCHAR_MAX__ 127
2903// X86_64-LINUX:#define __SHRT_MAX__ 32767
2904// X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2905// X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
2906// X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
2907// X86_64-LINUX:#define __SIZEOF_INT__ 4
2908// X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2909// X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2910// X86_64-LINUX:#define __SIZEOF_LONG__ 8
2911// X86_64-LINUX:#define __SIZEOF_POINTER__ 8
2912// X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2913// X86_64-LINUX:#define __SIZEOF_SHORT__ 2
2914// X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
2915// X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2916// X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002917// X86_64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Douglas Gregore6d6e512011-01-12 21:19:25 +00002918// X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
2919// X86_64-LINUX:#define __SIZE_WIDTH__ 64
2920// X86_64-LINUX:#define __SSE2_MATH__ 1
2921// X86_64-LINUX:#define __SSE2__ 1
2922// X86_64-LINUX:#define __SSE_MATH__ 1
2923// X86_64-LINUX:#define __SSE__ 1
2924// X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2925// X86_64-LINUX:#define __USER_LABEL_PREFIX__
2926// X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
2927// X86_64-LINUX:#define __WCHAR_TYPE__ int
2928// X86_64-LINUX:#define __WCHAR_WIDTH__ 32
2929// X86_64-LINUX:#define __WINT_TYPE__ unsigned int
2930// X86_64-LINUX:#define __WINT_WIDTH__ 32
2931// X86_64-LINUX:#define __amd64 1
2932// X86_64-LINUX:#define __amd64__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00002933// X86_64-LINUX:#define __x86_64 1
2934// X86_64-LINUX:#define __x86_64__ 1
2935//
Ed Schoutend0621462013-09-29 07:54:52 +00002936// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-unknown-freebsd9.1 < /dev/null | FileCheck -check-prefix X86_64-FREEBSD %s
2937//
2938// X86_64-FREEBSD:#define __FreeBSD__ 9
2939// X86_64-FREEBSD:#define __FreeBSD_cc_version 900001
2940// X86_64-FREEBSD:#define __STDC_MB_MIGHT_NEQ_WC__ 1
2941//
Jakob Stoklund Olesen248520b2013-05-15 03:22:33 +00002942// 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 +00002943// SPARCV9:#define __INT64_TYPE__ long int
Jakob Stoklund Olesen248520b2013-05-15 03:22:33 +00002944// SPARCV9:#define __INTMAX_TYPE__ long int
2945// SPARCV9:#define __INTPTR_TYPE__ long int
2946// SPARCV9:#define __LONG_MAX__ 9223372036854775807L
2947// SPARCV9:#define __LP64__ 1
2948// SPARCV9:#define __SIZEOF_LONG__ 8
2949// SPARCV9:#define __SIZEOF_POINTER__ 8
2950//
Jakob Stoklund Olesen826df142013-05-19 17:53:37 +00002951// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-openbsd < /dev/null | FileCheck -check-prefix SPARC64-OBSD %s
2952// SPARC64-OBSD:#define __INT64_TYPE__ long long int
2953// SPARC64-OBSD:#define __INTMAX_TYPE__ long long int
2954// SPARC64-OBSD:#define __UINTMAX_TYPE__ long long unsigned int
2955//
Sylvestre Ledrufd7cd3552013-09-06 14:53:07 +00002956// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSD-DEFINE %s
2957// KFREEBSD-DEFINE:#define __FreeBSD_kernel__ 1
2958// KFREEBSD-DEFINE:#define __GLIBC__ 1
2959//
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00002960// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i686-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSDI686-DEFINE %s
2961// KFREEBSDI686-DEFINE:#define __FreeBSD_kernel__ 1
2962// KFREEBSDI686-DEFINE:#define __GLIBC__ 1
2963//
David Chisnallb601c962012-07-03 20:49:52 +00002964// 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 +00002965// GNUSOURCE:#define _GNU_SOURCE 1
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00002966//
Dan Gohman04f87202010-05-28 00:27:15 +00002967// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
2968// NORTTI: __GXX_ABI_VERSION
2969// NORTTI-NOT:#define __GXX_RTTI
2970// NORTTI: __STDC__
Evgeniy Stepanov94dc4c92012-04-26 12:08:09 +00002971//
2972// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
2973// ANDROID: __ANDROID__ 1
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00002974//
Roman Divacky13b586f2013-07-03 19:45:54 +00002975// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd < /dev/null | FileCheck -check-prefix PPC64-FREEBSD %s
2976// PPC64-FREEBSD-NOT: #define __LONG_DOUBLE_128__ 1
Robert Lytton0e076492013-08-13 09:43:10 +00002977//
2978// RUN: %clang_cc1 -E -dM -ffreestanding -triple=xcore-none-none < /dev/null | FileCheck -check-prefix XCORE %s
2979// XCORE:#define __XS1B__ 1