blob: 9aa19a6361e4e1c9c99ec689b4df027054c38a50 [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//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +000052// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix COMMON %s
Chris Lattnere963d092009-10-29 04:55:36 +000053//
54// COMMON:#define __CONSTANT_CFSTRINGS__ 1
55// COMMON:#define __FINITE_MATH_ONLY__ 0
56// COMMON:#define __GNUC_MINOR__
57// COMMON:#define __GNUC_PATCHLEVEL__
58// COMMON:#define __GNUC_STDC_INLINE__ 1
59// COMMON:#define __GNUC__
60// COMMON:#define __GXX_ABI_VERSION
Dylan Noblesmith673728f2012-07-27 18:34:31 +000061// COMMON:#define __ORDER_BIG_ENDIAN__ 4321
62// COMMON:#define __ORDER_LITTLE_ENDIAN__ 1234
63// COMMON:#define __ORDER_PDP_ENDIAN__ 3412
Chris Lattnere963d092009-10-29 04:55:36 +000064// COMMON:#define __STDC_HOSTED__ 1
65// COMMON:#define __STDC_VERSION__
66// COMMON:#define __STDC__ 1
67// COMMON:#define __VERSION__
68// COMMON:#define __clang__ 1
Daniel Dunbard7e887f2010-06-25 23:34:47 +000069// COMMON:#define __clang_major__ {{[0-9]+}}
70// COMMON:#define __clang_minor__ {{[0-9]+}}
71// COMMON:#define __clang_patchlevel__ {{[0-9]+}}
Douglas Gregordead00f2010-04-30 03:07:23 +000072// COMMON:#define __clang_version__
Chris Lattnere963d092009-10-29 04:55:36 +000073// COMMON:#define __llvm__ 1
74//
75//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +000076// RUN: %clang_cc1 -ffreestanding -E -dM < /dev/null | FileCheck -check-prefix FREESTANDING %s
Chris Lattnere963d092009-10-29 04:55:36 +000077// FREESTANDING:#define __STDC_HOSTED__ 0
Richard Smithd106a982012-05-03 22:18:20 +000078//
79//
Richard Smith0a715422013-05-07 19:32:56 +000080// RUN: %clang_cc1 -x c++ -std=gnu++1y -E -dM < /dev/null | FileCheck -check-prefix GXX1Y %s
81//
82// GXX1Y:#define __GNUG__
83// GXX1Y:#define __GXX_WEAK__ 1
84// GXX1Y:#define __cplusplus 201305L
85// GXX1Y:#define __private_extern__ extern
86//
87//
Richard Smithd106a982012-05-03 22:18:20 +000088// RUN: %clang_cc1 -x c++ -std=gnu++11 -E -dM < /dev/null | FileCheck -check-prefix GXX11 %s
89//
90// GXX11:#define __GNUG__
91// GXX11:#define __GXX_WEAK__ 1
92// GXX11:#define __cplusplus 201103L
93// GXX11:#define __private_extern__ extern
94//
95//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +000096// RUN: %clang_cc1 -x c++ -std=gnu++98 -E -dM < /dev/null | FileCheck -check-prefix GXX98 %s
Chris Lattnere963d092009-10-29 04:55:36 +000097//
Chris Lattnere963d092009-10-29 04:55:36 +000098// GXX98:#define __GNUG__
99// GXX98:#define __GXX_WEAK__ 1
Richard Smithd106a982012-05-03 22:18:20 +0000100// GXX98:#define __cplusplus 199711L
Chris Lattnere963d092009-10-29 04:55:36 +0000101// GXX98:#define __private_extern__ extern
102//
103//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000104// RUN: %clang_cc1 -std=iso9899:199409 -E -dM < /dev/null | FileCheck -check-prefix C94 %s
Chris Lattnere963d092009-10-29 04:55:36 +0000105//
106// C94:#define __STDC_VERSION__ 199409L
107//
108//
Hans Wennborg4c02be32013-05-02 13:12:32 +0000109// 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 +0000110//
111// MSEXT-NOT:#define __STDC__
Douglas Gregor7617cb82010-08-06 12:37:52 +0000112// MSEXT:#define _INTEGRAL_MAX_BITS 64
Hans Wennborg4c02be32013-05-02 13:12:32 +0000113// MSEXT-NOT:#define _NATIVE_WCHAR_T_DEFINED 1
114// MSEXT-NOT:#define _WCHAR_T_DEFINED 1
115//
116//
117// RUN: %clang_cc1 -x c++ -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT-CXX %s
118//
119// MSEXT-CXX:#define _NATIVE_WCHAR_T_DEFINED 1
120// MSEXT-CXX:#define _WCHAR_T_DEFINED 1
121//
122//
123// RUN: %clang_cc1 -x c++ -fno-wchar -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT-CXX-NOWCHAR %s
124//
125// MSEXT-CXX-NOWCHAR-NOT:#define _NATIVE_WCHAR_T_DEFINED 1
126// MSEXT-CXX-NOWCHAR-NOT:#define _WCHAR_T_DEFINED 1
Chris Lattnere963d092009-10-29 04:55:36 +0000127//
128//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000129// RUN: %clang_cc1 -x objective-c -E -dM < /dev/null | FileCheck -check-prefix OBJC %s
Chris Lattnere963d092009-10-29 04:55:36 +0000130//
131// OBJC:#define OBJC_NEW_PROPERTIES 1
Daniel Dunbar4656c532009-11-17 07:07:28 +0000132// OBJC:#define __NEXT_RUNTIME__ 1
Chris Lattnere963d092009-10-29 04:55:36 +0000133// OBJC:#define __OBJC__ 1
134//
Daniel Dunbar4656c532009-11-17 07:07:28 +0000135//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000136// RUN: %clang_cc1 -x objective-c -fobjc-gc -E -dM < /dev/null | FileCheck -check-prefix OBJCGC %s
Chris Lattnere963d092009-10-29 04:55:36 +0000137//
138// OBJCGC:#define __OBJC_GC__ 1
139//
140//
John McCall9b0a7ce2011-10-02 01:16:38 +0000141// RUN: %clang_cc1 -x objective-c -fobjc-exceptions -E -dM < /dev/null | FileCheck -check-prefix NONFRAGILE %s
Chris Lattnere963d092009-10-29 04:55:36 +0000142//
143// NONFRAGILE:#define OBJC_ZEROCOST_EXCEPTIONS 1
144// NONFRAGILE:#define __OBJC2__ 1
145//
Dylan Noblesmith4c004f32012-08-08 16:09:15 +0000146//
147// RUN: %clang_cc1 -O0 -E -dM < /dev/null | FileCheck -check-prefix O0 %s
148//
149// O0:#define __NO_INLINE__ 1
150// O0-NOT:#define __OPTIMIZE_SIZE__
151// O0-NOT:#define __OPTIMIZE__
152//
153//
154// RUN: %clang_cc1 -fno-inline -O3 -E -dM < /dev/null | FileCheck -check-prefix NO_INLINE %s
155//
156// NO_INLINE:#define __NO_INLINE__ 1
157// NO_INLINE-NOT:#define __OPTIMIZE_SIZE__
158// NO_INLINE:#define __OPTIMIZE__
159//
160//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000161// RUN: %clang_cc1 -O1 -E -dM < /dev/null | FileCheck -check-prefix O1 %s
Chris Lattnere963d092009-10-29 04:55:36 +0000162//
Dylan Noblesmith4c004f32012-08-08 16:09:15 +0000163// O1-NOT:#define __OPTIMIZE_SIZE__
Chris Lattnere963d092009-10-29 04:55:36 +0000164// O1:#define __OPTIMIZE__ 1
165//
Dylan Noblesmith4c004f32012-08-08 16:09:15 +0000166//
167// RUN: %clang_cc1 -Os -E -dM < /dev/null | FileCheck -check-prefix Os %s
168//
169// Os:#define __OPTIMIZE_SIZE__ 1
170// Os:#define __OPTIMIZE__ 1
171//
172//
173// RUN: %clang_cc1 -Oz -E -dM < /dev/null | FileCheck -check-prefix Oz %s
174//
175// Oz:#define __OPTIMIZE_SIZE__ 1
176// Oz:#define __OPTIMIZE__ 1
177//
178//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000179// RUN: %clang_cc1 -fpascal-strings -E -dM < /dev/null | FileCheck -check-prefix PASCAL %s
Chris Lattnere963d092009-10-29 04:55:36 +0000180//
181// PASCAL:#define __PASCAL_STRINGS__ 1
182//
183//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000184// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix SCHAR %s
Chris Lattnere963d092009-10-29 04:55:36 +0000185//
186// SCHAR:#define __STDC__ 1
187// SCHAR-NOT:#define __UNSIGNED_CHAR__
188// SCHAR:#define __clang__ 1
189//
Eli Friedman865afc92010-08-03 17:34:19 +0000190// RUN: %clang_cc1 -E -dM -fshort-wchar < /dev/null | FileCheck -check-prefix SHORTWCHAR %s
191//
192// SHORTWCHAR: #define __SIZEOF_WCHAR_T__ 2
193// SHORTWCHAR: #define __WCHAR_MAX__ 65535U
194// SHORTWCHAR: #define __WCHAR_TYPE__ unsigned short
195// SHORTWCHAR: #define __WCHAR_WIDTH__ 16
196//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000197// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s
Chris Lattnere963d092009-10-29 04:55:36 +0000198//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000199// ARM-NOT:#define _LP64
Chris Lattnere963d092009-10-29 04:55:36 +0000200// ARM:#define __APCS_32__ 1
201// ARM:#define __ARMEL__ 1
Daniel Dunbaracde99e2009-12-18 18:42:37 +0000202// ARM:#define __ARM_ARCH_6J__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000203// ARM:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +0000204// ARM:#define __CHAR16_TYPE__ unsigned short
205// ARM:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000206// ARM:#define __CHAR_BIT__ 8
207// ARM:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
208// ARM:#define __DBL_DIG__ 15
209// ARM:#define __DBL_EPSILON__ 2.2204460492503131e-16
210// ARM:#define __DBL_HAS_DENORM__ 1
211// ARM:#define __DBL_HAS_INFINITY__ 1
212// ARM:#define __DBL_HAS_QUIET_NAN__ 1
213// ARM:#define __DBL_MANT_DIG__ 53
214// ARM:#define __DBL_MAX_10_EXP__ 308
215// ARM:#define __DBL_MAX_EXP__ 1024
216// ARM:#define __DBL_MAX__ 1.7976931348623157e+308
217// ARM:#define __DBL_MIN_10_EXP__ (-307)
218// ARM:#define __DBL_MIN_EXP__ (-1021)
219// ARM:#define __DBL_MIN__ 2.2250738585072014e-308
220// ARM:#define __DECIMAL_DIG__ 17
221// ARM:#define __FLT_DENORM_MIN__ 1.40129846e-45F
222// ARM:#define __FLT_DIG__ 6
223// ARM:#define __FLT_EPSILON__ 1.19209290e-7F
224// ARM:#define __FLT_EVAL_METHOD__ 0
225// ARM:#define __FLT_HAS_DENORM__ 1
226// ARM:#define __FLT_HAS_INFINITY__ 1
227// ARM:#define __FLT_HAS_QUIET_NAN__ 1
228// ARM:#define __FLT_MANT_DIG__ 24
229// ARM:#define __FLT_MAX_10_EXP__ 38
230// ARM:#define __FLT_MAX_EXP__ 128
231// ARM:#define __FLT_MAX__ 3.40282347e+38F
232// ARM:#define __FLT_MIN_10_EXP__ (-37)
233// ARM:#define __FLT_MIN_EXP__ (-125)
234// ARM:#define __FLT_MIN__ 1.17549435e-38F
235// ARM:#define __FLT_RADIX__ 2
236// ARM:#define __INT16_TYPE__ short
237// ARM:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +0000238// ARM:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +0000239// ARM:#define __INT64_TYPE__ long long int
240// ARM:#define __INT8_TYPE__ char
241// ARM:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +0000242// ARM:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +0000243// ARM:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +0000244// ARM:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +0000245// ARM:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000246// ARM:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000247// ARM:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +0000248// ARM:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000249// ARM:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +0000250// ARM:#define __LDBL_HAS_DENORM__ 1
251// ARM:#define __LDBL_HAS_INFINITY__ 1
252// ARM:#define __LDBL_HAS_QUIET_NAN__ 1
253// ARM:#define __LDBL_MANT_DIG__ 53
254// ARM:#define __LDBL_MAX_10_EXP__ 308
255// ARM:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000256// ARM:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +0000257// ARM:#define __LDBL_MIN_10_EXP__ (-307)
258// ARM:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000259// ARM:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnere963d092009-10-29 04:55:36 +0000260// ARM:#define __LITTLE_ENDIAN__ 1
261// ARM:#define __LONG_LONG_MAX__ 9223372036854775807LL
262// ARM:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000263// ARM-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +0000264// ARM:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000265// ARM:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +0000266// ARM:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbaracde99e2009-12-18 18:42:37 +0000267// ARM:#define __REGISTER_PREFIX__
Chris Lattnere963d092009-10-29 04:55:36 +0000268// ARM:#define __SCHAR_MAX__ 127
269// ARM:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +0000270// ARM:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +0000271// ARM:#define __SIZEOF_DOUBLE__ 8
272// ARM:#define __SIZEOF_FLOAT__ 4
273// ARM:#define __SIZEOF_INT__ 4
274// ARM:#define __SIZEOF_LONG_DOUBLE__ 8
275// ARM:#define __SIZEOF_LONG_LONG__ 8
276// ARM:#define __SIZEOF_LONG__ 4
277// ARM:#define __SIZEOF_POINTER__ 4
278// ARM:#define __SIZEOF_PTRDIFF_T__ 4
279// ARM:#define __SIZEOF_SHORT__ 2
280// ARM:#define __SIZEOF_SIZE_T__ 4
281// ARM:#define __SIZEOF_WCHAR_T__ 4
282// ARM:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000283// ARM:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +0000284// ARM:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +0000285// ARM:#define __SIZE_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000286// ARM:#define __THUMB_INTERWORK__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +0000287// ARM:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000288// ARM:#define __USER_LABEL_PREFIX__ _
James Molloyc445be42011-11-23 13:35:08 +0000289// ARM:#define __WCHAR_MAX__ 4294967295U
290// ARM:#define __WCHAR_TYPE__ unsigned int
Ken Dyck0138b9e2009-11-19 15:47:58 +0000291// ARM:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000292// ARM:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +0000293// ARM:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000294// ARM:#define __arm 1
295// ARM:#define __arm__ 1
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000296
297// 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
298//
299// ARM-NOT:#define _LP64
300// ARMEABISOFTFP:#define __APCS_32__ 1
301// ARMEABISOFTFP:#define __ARMEL__ 1
302// ARMEABISOFTFP:#define __ARM_ARCH 6
303// ARMEABISOFTFP:#define __ARM_ARCH_6J__ 1
304// ARMEABISOFTFP:#define __ARM_EABI__ 1
305// ARMEABISOFTFP:#define __ARM_PCS 1
306// ARMEABISOFTFP-NOT:#define __ARM_PCS_VFP 1
307// ARMEABISOFTFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
308// ARMEABISOFTFP:#define __CHAR16_TYPE__ unsigned short
309// ARMEABISOFTFP:#define __CHAR32_TYPE__ unsigned int
310// ARMEABISOFTFP:#define __CHAR_BIT__ 8
311// ARMEABISOFTFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
312// ARMEABISOFTFP:#define __DBL_DIG__ 15
313// ARMEABISOFTFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
314// ARMEABISOFTFP:#define __DBL_HAS_DENORM__ 1
315// ARMEABISOFTFP:#define __DBL_HAS_INFINITY__ 1
316// ARMEABISOFTFP:#define __DBL_HAS_QUIET_NAN__ 1
317// ARMEABISOFTFP:#define __DBL_MANT_DIG__ 53
318// ARMEABISOFTFP:#define __DBL_MAX_10_EXP__ 308
319// ARMEABISOFTFP:#define __DBL_MAX_EXP__ 1024
320// ARMEABISOFTFP:#define __DBL_MAX__ 1.7976931348623157e+308
321// ARMEABISOFTFP:#define __DBL_MIN_10_EXP__ (-307)
322// ARMEABISOFTFP:#define __DBL_MIN_EXP__ (-1021)
323// ARMEABISOFTFP:#define __DBL_MIN__ 2.2250738585072014e-308
324// ARMEABISOFTFP:#define __DECIMAL_DIG__ 17
325// ARMEABISOFTFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
326// ARMEABISOFTFP:#define __FLT_DIG__ 6
327// ARMEABISOFTFP:#define __FLT_EPSILON__ 1.19209290e-7F
328// ARMEABISOFTFP:#define __FLT_EVAL_METHOD__ 0
329// ARMEABISOFTFP:#define __FLT_HAS_DENORM__ 1
330// ARMEABISOFTFP:#define __FLT_HAS_INFINITY__ 1
331// ARMEABISOFTFP:#define __FLT_HAS_QUIET_NAN__ 1
332// ARMEABISOFTFP:#define __FLT_MANT_DIG__ 24
333// ARMEABISOFTFP:#define __FLT_MAX_10_EXP__ 38
334// ARMEABISOFTFP:#define __FLT_MAX_EXP__ 128
335// ARMEABISOFTFP:#define __FLT_MAX__ 3.40282347e+38F
336// ARMEABISOFTFP:#define __FLT_MIN_10_EXP__ (-37)
337// ARMEABISOFTFP:#define __FLT_MIN_EXP__ (-125)
338// ARMEABISOFTFP:#define __FLT_MIN__ 1.17549435e-38F
339// ARMEABISOFTFP:#define __FLT_RADIX__ 2
340// ARMEABISOFTFP:#define __INT16_TYPE__ short
341// ARMEABISOFTFP:#define __INT32_TYPE__ int
342// ARMEABISOFTFP:#define __INT64_C_SUFFIX__ LL
343// ARMEABISOFTFP:#define __INT64_TYPE__ long long int
344// ARMEABISOFTFP:#define __INT8_TYPE__ char
345// ARMEABISOFTFP:#define __INTMAX_MAX__ 9223372036854775807LL
346// ARMEABISOFTFP:#define __INTMAX_TYPE__ long long int
347// ARMEABISOFTFP:#define __INTMAX_WIDTH__ 64
348// ARMEABISOFTFP:#define __INTPTR_TYPE__ long int
349// ARMEABISOFTFP:#define __INTPTR_WIDTH__ 32
350// ARMEABISOFTFP:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000351// ARMEABISOFTFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000352// ARMEABISOFTFP:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000353// ARMEABISOFTFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000354// ARMEABISOFTFP:#define __LDBL_HAS_DENORM__ 1
355// ARMEABISOFTFP:#define __LDBL_HAS_INFINITY__ 1
356// ARMEABISOFTFP:#define __LDBL_HAS_QUIET_NAN__ 1
357// ARMEABISOFTFP:#define __LDBL_MANT_DIG__ 53
358// ARMEABISOFTFP:#define __LDBL_MAX_10_EXP__ 308
359// ARMEABISOFTFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000360// ARMEABISOFTFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000361// ARMEABISOFTFP:#define __LDBL_MIN_10_EXP__ (-307)
362// ARMEABISOFTFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000363// ARMEABISOFTFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000364// ARMEABISOFTFP:#define __LITTLE_ENDIAN__ 1
365// ARMEABISOFTFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
366// ARMEABISOFTFP:#define __LONG_MAX__ 2147483647L
367// ARMEABISOFTFP-NOT:#define __LP64__
368// ARMEABISOFTFP:#define __POINTER_WIDTH__ 32
369// ARMEABISOFTFP:#define __PTRDIFF_TYPE__ int
370// ARMEABISOFTFP:#define __PTRDIFF_WIDTH__ 32
371// ARMEABISOFTFP:#define __REGISTER_PREFIX__
372// ARMEABISOFTFP:#define __SCHAR_MAX__ 127
373// ARMEABISOFTFP:#define __SHRT_MAX__ 32767
374// ARMEABISOFTFP:#define __SIG_ATOMIC_WIDTH__ 32
375// ARMEABISOFTFP:#define __SIZEOF_DOUBLE__ 8
376// ARMEABISOFTFP:#define __SIZEOF_FLOAT__ 4
377// ARMEABISOFTFP:#define __SIZEOF_INT__ 4
378// ARMEABISOFTFP:#define __SIZEOF_LONG_DOUBLE__ 8
379// ARMEABISOFTFP:#define __SIZEOF_LONG_LONG__ 8
380// ARMEABISOFTFP:#define __SIZEOF_LONG__ 4
381// ARMEABISOFTFP:#define __SIZEOF_POINTER__ 4
382// ARMEABISOFTFP:#define __SIZEOF_PTRDIFF_T__ 4
383// ARMEABISOFTFP:#define __SIZEOF_SHORT__ 2
384// ARMEABISOFTFP:#define __SIZEOF_SIZE_T__ 4
385// ARMEABISOFTFP:#define __SIZEOF_WCHAR_T__ 4
386// ARMEABISOFTFP:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000387// ARMEABISOFTFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000388// ARMEABISOFTFP:#define __SIZE_TYPE__ unsigned int
389// ARMEABISOFTFP:#define __SIZE_WIDTH__ 32
390// ARMEABISOFTFP:#define __SOFTFP__ 1
391// ARMEABISOFTFP:#define __THUMB_INTERWORK__ 1
392// ARMEABISOFTFP:#define __UINTMAX_TYPE__ long long unsigned int
393// ARMEABISOFTFP:#define __USER_LABEL_PREFIX__
394// ARMEABISOFTFP:#define __WCHAR_MAX__ 4294967295U
395// ARMEABISOFTFP:#define __WCHAR_TYPE__ unsigned int
396// ARMEABISOFTFP:#define __WCHAR_WIDTH__ 32
397// ARMEABISOFTFP:#define __WINT_TYPE__ unsigned int
398// ARMEABISOFTFP:#define __WINT_WIDTH__ 32
399// ARMEABISOFTFP:#define __arm 1
400// ARMEABISOFTFP:#define __arm__ 1
401
402// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-linux-gnueabi < /dev/null | FileCheck -check-prefix ARMEABIHARDFP %s
403//
404// ARM-NOT:#define _LP64
405// ARMEABIHARDFP:#define __APCS_32__ 1
406// ARMEABIHARDFP:#define __ARMEL__ 1
407// ARMEABIHARDFP:#define __ARM_ARCH 6
408// ARMEABIHARDFP:#define __ARM_ARCH_6J__ 1
409// ARMEABIHARDFP:#define __ARM_EABI__ 1
410// ARMEABIHARDFP:#define __ARM_PCS 1
411// ARMEABIHARDFP:#define __ARM_PCS_VFP 1
412// ARMEABIHARDFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
413// ARMEABIHARDFP:#define __CHAR16_TYPE__ unsigned short
414// ARMEABIHARDFP:#define __CHAR32_TYPE__ unsigned int
415// ARMEABIHARDFP:#define __CHAR_BIT__ 8
416// ARMEABIHARDFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
417// ARMEABIHARDFP:#define __DBL_DIG__ 15
418// ARMEABIHARDFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
419// ARMEABIHARDFP:#define __DBL_HAS_DENORM__ 1
420// ARMEABIHARDFP:#define __DBL_HAS_INFINITY__ 1
421// ARMEABIHARDFP:#define __DBL_HAS_QUIET_NAN__ 1
422// ARMEABIHARDFP:#define __DBL_MANT_DIG__ 53
423// ARMEABIHARDFP:#define __DBL_MAX_10_EXP__ 308
424// ARMEABIHARDFP:#define __DBL_MAX_EXP__ 1024
425// ARMEABIHARDFP:#define __DBL_MAX__ 1.7976931348623157e+308
426// ARMEABIHARDFP:#define __DBL_MIN_10_EXP__ (-307)
427// ARMEABIHARDFP:#define __DBL_MIN_EXP__ (-1021)
428// ARMEABIHARDFP:#define __DBL_MIN__ 2.2250738585072014e-308
429// ARMEABIHARDFP:#define __DECIMAL_DIG__ 17
430// ARMEABIHARDFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
431// ARMEABIHARDFP:#define __FLT_DIG__ 6
432// ARMEABIHARDFP:#define __FLT_EPSILON__ 1.19209290e-7F
433// ARMEABIHARDFP:#define __FLT_EVAL_METHOD__ 0
434// ARMEABIHARDFP:#define __FLT_HAS_DENORM__ 1
435// ARMEABIHARDFP:#define __FLT_HAS_INFINITY__ 1
436// ARMEABIHARDFP:#define __FLT_HAS_QUIET_NAN__ 1
437// ARMEABIHARDFP:#define __FLT_MANT_DIG__ 24
438// ARMEABIHARDFP:#define __FLT_MAX_10_EXP__ 38
439// ARMEABIHARDFP:#define __FLT_MAX_EXP__ 128
440// ARMEABIHARDFP:#define __FLT_MAX__ 3.40282347e+38F
441// ARMEABIHARDFP:#define __FLT_MIN_10_EXP__ (-37)
442// ARMEABIHARDFP:#define __FLT_MIN_EXP__ (-125)
443// ARMEABIHARDFP:#define __FLT_MIN__ 1.17549435e-38F
444// ARMEABIHARDFP:#define __FLT_RADIX__ 2
445// ARMEABIHARDFP:#define __INT16_TYPE__ short
446// ARMEABIHARDFP:#define __INT32_TYPE__ int
447// ARMEABIHARDFP:#define __INT64_C_SUFFIX__ LL
448// ARMEABIHARDFP:#define __INT64_TYPE__ long long int
449// ARMEABIHARDFP:#define __INT8_TYPE__ char
450// ARMEABIHARDFP:#define __INTMAX_MAX__ 9223372036854775807LL
451// ARMEABIHARDFP:#define __INTMAX_TYPE__ long long int
452// ARMEABIHARDFP:#define __INTMAX_WIDTH__ 64
453// ARMEABIHARDFP:#define __INTPTR_TYPE__ long int
454// ARMEABIHARDFP:#define __INTPTR_WIDTH__ 32
455// ARMEABIHARDFP:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000456// ARMEABIHARDFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000457// ARMEABIHARDFP:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000458// ARMEABIHARDFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000459// ARMEABIHARDFP:#define __LDBL_HAS_DENORM__ 1
460// ARMEABIHARDFP:#define __LDBL_HAS_INFINITY__ 1
461// ARMEABIHARDFP:#define __LDBL_HAS_QUIET_NAN__ 1
462// ARMEABIHARDFP:#define __LDBL_MANT_DIG__ 53
463// ARMEABIHARDFP:#define __LDBL_MAX_10_EXP__ 308
464// ARMEABIHARDFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000465// ARMEABIHARDFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000466// ARMEABIHARDFP:#define __LDBL_MIN_10_EXP__ (-307)
467// ARMEABIHARDFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000468// ARMEABIHARDFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000469// ARMEABIHARDFP:#define __LITTLE_ENDIAN__ 1
470// ARMEABIHARDFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
471// ARMEABIHARDFP:#define __LONG_MAX__ 2147483647L
472// ARMEABIHARDFP-NOT:#define __LP64__
473// ARMEABIHARDFP:#define __POINTER_WIDTH__ 32
474// ARMEABIHARDFP:#define __PTRDIFF_TYPE__ int
475// ARMEABIHARDFP:#define __PTRDIFF_WIDTH__ 32
476// ARMEABIHARDFP:#define __REGISTER_PREFIX__
477// ARMEABIHARDFP:#define __SCHAR_MAX__ 127
478// ARMEABIHARDFP:#define __SHRT_MAX__ 32767
479// ARMEABIHARDFP:#define __SIG_ATOMIC_WIDTH__ 32
480// ARMEABIHARDFP:#define __SIZEOF_DOUBLE__ 8
481// ARMEABIHARDFP:#define __SIZEOF_FLOAT__ 4
482// ARMEABIHARDFP:#define __SIZEOF_INT__ 4
483// ARMEABIHARDFP:#define __SIZEOF_LONG_DOUBLE__ 8
484// ARMEABIHARDFP:#define __SIZEOF_LONG_LONG__ 8
485// ARMEABIHARDFP:#define __SIZEOF_LONG__ 4
486// ARMEABIHARDFP:#define __SIZEOF_POINTER__ 4
487// ARMEABIHARDFP:#define __SIZEOF_PTRDIFF_T__ 4
488// ARMEABIHARDFP:#define __SIZEOF_SHORT__ 2
489// ARMEABIHARDFP:#define __SIZEOF_SIZE_T__ 4
490// ARMEABIHARDFP:#define __SIZEOF_WCHAR_T__ 4
491// ARMEABIHARDFP:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000492// ARMEABIHARDFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000493// ARMEABIHARDFP:#define __SIZE_TYPE__ unsigned int
494// ARMEABIHARDFP:#define __SIZE_WIDTH__ 32
495// ARMEABIHARDFP-NOT:#define __SOFTFP__ 1
496// ARMEABIHARDFP:#define __THUMB_INTERWORK__ 1
497// ARMEABIHARDFP:#define __UINTMAX_TYPE__ long long unsigned int
498// ARMEABIHARDFP:#define __USER_LABEL_PREFIX__
499// ARMEABIHARDFP:#define __WCHAR_MAX__ 4294967295U
500// ARMEABIHARDFP:#define __WCHAR_TYPE__ unsigned int
501// ARMEABIHARDFP:#define __WCHAR_WIDTH__ 32
502// ARMEABIHARDFP:#define __WINT_TYPE__ unsigned int
503// ARMEABIHARDFP:#define __WINT_WIDTH__ 32
504// ARMEABIHARDFP:#define __arm 1
505// ARMEABIHARDFP:#define __arm__ 1
506
Chris Lattnere963d092009-10-29 04:55:36 +0000507//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000508// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
Chris Lattnere963d092009-10-29 04:55:36 +0000509//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000510// I386-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000511// I386:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +0000512// I386:#define __CHAR16_TYPE__ unsigned short
513// I386:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000514// I386:#define __CHAR_BIT__ 8
515// I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
516// I386:#define __DBL_DIG__ 15
517// I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
518// I386:#define __DBL_HAS_DENORM__ 1
519// I386:#define __DBL_HAS_INFINITY__ 1
520// I386:#define __DBL_HAS_QUIET_NAN__ 1
521// I386:#define __DBL_MANT_DIG__ 53
522// I386:#define __DBL_MAX_10_EXP__ 308
523// I386:#define __DBL_MAX_EXP__ 1024
524// I386:#define __DBL_MAX__ 1.7976931348623157e+308
525// I386:#define __DBL_MIN_10_EXP__ (-307)
526// I386:#define __DBL_MIN_EXP__ (-1021)
527// I386:#define __DBL_MIN__ 2.2250738585072014e-308
528// I386:#define __DECIMAL_DIG__ 21
529// I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
530// I386:#define __FLT_DIG__ 6
531// I386:#define __FLT_EPSILON__ 1.19209290e-7F
Benjamin Kramercf501472011-12-28 15:47:06 +0000532// I386:#define __FLT_EVAL_METHOD__ 2
Chris Lattnere963d092009-10-29 04:55:36 +0000533// I386:#define __FLT_HAS_DENORM__ 1
534// I386:#define __FLT_HAS_INFINITY__ 1
535// I386:#define __FLT_HAS_QUIET_NAN__ 1
536// I386:#define __FLT_MANT_DIG__ 24
537// I386:#define __FLT_MAX_10_EXP__ 38
538// I386:#define __FLT_MAX_EXP__ 128
539// I386:#define __FLT_MAX__ 3.40282347e+38F
540// I386:#define __FLT_MIN_10_EXP__ (-37)
541// I386:#define __FLT_MIN_EXP__ (-125)
542// I386:#define __FLT_MIN__ 1.17549435e-38F
543// I386:#define __FLT_RADIX__ 2
544// I386:#define __INT16_TYPE__ short
545// I386:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +0000546// I386:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +0000547// I386:#define __INT64_TYPE__ long long int
548// I386:#define __INT8_TYPE__ char
549// I386:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +0000550// I386:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +0000551// I386:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +0000552// I386:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +0000553// I386:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000554// I386:#define __INT_MAX__ 2147483647
555// I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
556// I386:#define __LDBL_DIG__ 18
557// I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
558// I386:#define __LDBL_HAS_DENORM__ 1
559// I386:#define __LDBL_HAS_INFINITY__ 1
560// I386:#define __LDBL_HAS_QUIET_NAN__ 1
561// I386:#define __LDBL_MANT_DIG__ 64
562// I386:#define __LDBL_MAX_10_EXP__ 4932
563// I386:#define __LDBL_MAX_EXP__ 16384
564// I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
565// I386:#define __LDBL_MIN_10_EXP__ (-4931)
566// I386:#define __LDBL_MIN_EXP__ (-16381)
567// I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
568// I386:#define __LITTLE_ENDIAN__ 1
569// I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
570// I386:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000571// I386-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +0000572// I386:#define __NO_MATH_INLINES 1
573// I386:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000574// I386:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +0000575// I386:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000576// I386:#define __REGISTER_PREFIX__
577// I386:#define __SCHAR_MAX__ 127
578// I386:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +0000579// I386:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +0000580// I386:#define __SIZEOF_DOUBLE__ 8
581// I386:#define __SIZEOF_FLOAT__ 4
582// I386:#define __SIZEOF_INT__ 4
583// I386:#define __SIZEOF_LONG_DOUBLE__ 12
584// I386:#define __SIZEOF_LONG_LONG__ 8
585// I386:#define __SIZEOF_LONG__ 4
586// I386:#define __SIZEOF_POINTER__ 4
587// I386:#define __SIZEOF_PTRDIFF_T__ 4
588// I386:#define __SIZEOF_SHORT__ 2
589// I386:#define __SIZEOF_SIZE_T__ 4
590// I386:#define __SIZEOF_WCHAR_T__ 4
591// I386:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000592// I386:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +0000593// I386:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +0000594// I386:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000595// I386:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000596// I386:#define __USER_LABEL_PREFIX__ _
597// I386:#define __WCHAR_MAX__ 2147483647
598// I386:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +0000599// I386:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000600// I386:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +0000601// I386:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000602// I386:#define __i386 1
603// I386:#define __i386__ 1
Chris Lattnere963d092009-10-29 04:55:36 +0000604// I386:#define i386 1
605//
Benjamin Kramercf501472011-12-28 15:47:06 +0000606// 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 +0000607//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000608// I386-LINUX-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000609// I386-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregore6d6e512011-01-12 21:19:25 +0000610// I386-LINUX:#define __CHAR16_TYPE__ unsigned short
611// I386-LINUX:#define __CHAR32_TYPE__ unsigned int
612// I386-LINUX:#define __CHAR_BIT__ 8
613// I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
614// I386-LINUX:#define __DBL_DIG__ 15
615// I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
616// I386-LINUX:#define __DBL_HAS_DENORM__ 1
617// I386-LINUX:#define __DBL_HAS_INFINITY__ 1
618// I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
619// I386-LINUX:#define __DBL_MANT_DIG__ 53
620// I386-LINUX:#define __DBL_MAX_10_EXP__ 308
621// I386-LINUX:#define __DBL_MAX_EXP__ 1024
622// I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
623// I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
624// I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
625// I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
626// I386-LINUX:#define __DECIMAL_DIG__ 21
627// I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
628// I386-LINUX:#define __FLT_DIG__ 6
629// I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
630// I386-LINUX:#define __FLT_EVAL_METHOD__ 0
631// I386-LINUX:#define __FLT_HAS_DENORM__ 1
632// I386-LINUX:#define __FLT_HAS_INFINITY__ 1
633// I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
634// I386-LINUX:#define __FLT_MANT_DIG__ 24
635// I386-LINUX:#define __FLT_MAX_10_EXP__ 38
636// I386-LINUX:#define __FLT_MAX_EXP__ 128
637// I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
638// I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
639// I386-LINUX:#define __FLT_MIN_EXP__ (-125)
640// I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
641// I386-LINUX:#define __FLT_RADIX__ 2
642// I386-LINUX:#define __INT16_TYPE__ short
643// I386-LINUX:#define __INT32_TYPE__ int
644// I386-LINUX:#define __INT64_C_SUFFIX__ LL
645// I386-LINUX:#define __INT64_TYPE__ long long int
646// I386-LINUX:#define __INT8_TYPE__ char
647// I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
648// I386-LINUX:#define __INTMAX_TYPE__ long long int
649// I386-LINUX:#define __INTMAX_WIDTH__ 64
650// I386-LINUX:#define __INTPTR_TYPE__ int
651// I386-LINUX:#define __INTPTR_WIDTH__ 32
652// I386-LINUX:#define __INT_MAX__ 2147483647
653// I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
654// I386-LINUX:#define __LDBL_DIG__ 18
655// I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
656// I386-LINUX:#define __LDBL_HAS_DENORM__ 1
657// I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
658// I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
659// I386-LINUX:#define __LDBL_MANT_DIG__ 64
660// I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
661// I386-LINUX:#define __LDBL_MAX_EXP__ 16384
662// I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
663// I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
664// I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
665// I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
666// I386-LINUX:#define __LITTLE_ENDIAN__ 1
667// I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
668// I386-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000669// I386-LINUX-NOT:#define __LP64__
Douglas Gregore6d6e512011-01-12 21:19:25 +0000670// I386-LINUX:#define __NO_MATH_INLINES 1
671// I386-LINUX:#define __POINTER_WIDTH__ 32
672// I386-LINUX:#define __PTRDIFF_TYPE__ int
673// I386-LINUX:#define __PTRDIFF_WIDTH__ 32
674// I386-LINUX:#define __REGISTER_PREFIX__
675// I386-LINUX:#define __SCHAR_MAX__ 127
676// I386-LINUX:#define __SHRT_MAX__ 32767
677// I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
678// I386-LINUX:#define __SIZEOF_DOUBLE__ 8
679// I386-LINUX:#define __SIZEOF_FLOAT__ 4
680// I386-LINUX:#define __SIZEOF_INT__ 4
681// I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
682// I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
683// I386-LINUX:#define __SIZEOF_LONG__ 4
684// I386-LINUX:#define __SIZEOF_POINTER__ 4
685// I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
686// I386-LINUX:#define __SIZEOF_SHORT__ 2
687// I386-LINUX:#define __SIZEOF_SIZE_T__ 4
688// I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
689// I386-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000690// I386-LINUX:#define __SIZE_MAX__ 4294967295U
Douglas Gregore6d6e512011-01-12 21:19:25 +0000691// I386-LINUX:#define __SIZE_TYPE__ unsigned int
692// I386-LINUX:#define __SIZE_WIDTH__ 32
693// I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
694// I386-LINUX:#define __USER_LABEL_PREFIX__
695// I386-LINUX:#define __WCHAR_MAX__ 2147483647
696// I386-LINUX:#define __WCHAR_TYPE__ int
697// I386-LINUX:#define __WCHAR_WIDTH__ 32
698// I386-LINUX:#define __WINT_TYPE__ unsigned int
699// I386-LINUX:#define __WINT_WIDTH__ 32
700// I386-LINUX:#define __i386 1
701// I386-LINUX:#define __i386__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +0000702// I386-LINUX:#define i386 1
703//
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000704// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none < /dev/null | FileCheck -check-prefix MIPS32BE %s
705//
706// MIPS32BE:#define MIPSEB 1
707// MIPS32BE:#define _ABIO32 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000708// MIPS32BE-NOT:#define _LP64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000709// MIPS32BE:#define _MIPSEB 1
Simon Atanasyan5a0642f2012-08-29 15:17:29 +0000710// MIPS32BE:#define _MIPS_ARCH "mips32"
711// MIPS32BE:#define _MIPS_ARCH_MIPS32 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000712// MIPS32BE:#define _MIPS_SIM _ABIO32
713// MIPS32BE:#define _MIPS_SZINT 32
714// MIPS32BE:#define _MIPS_SZLONG 32
715// MIPS32BE:#define _MIPS_SZPTR 32
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000716// MIPS32BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000717// MIPS32BE:#define __CHAR16_TYPE__ unsigned short
718// MIPS32BE:#define __CHAR32_TYPE__ unsigned int
719// MIPS32BE:#define __CHAR_BIT__ 8
720// MIPS32BE:#define __CONSTANT_CFSTRINGS__ 1
721// MIPS32BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
722// MIPS32BE:#define __DBL_DIG__ 15
723// MIPS32BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
724// MIPS32BE:#define __DBL_HAS_DENORM__ 1
725// MIPS32BE:#define __DBL_HAS_INFINITY__ 1
726// MIPS32BE:#define __DBL_HAS_QUIET_NAN__ 1
727// MIPS32BE:#define __DBL_MANT_DIG__ 53
728// MIPS32BE:#define __DBL_MAX_10_EXP__ 308
729// MIPS32BE:#define __DBL_MAX_EXP__ 1024
730// MIPS32BE:#define __DBL_MAX__ 1.7976931348623157e+308
731// MIPS32BE:#define __DBL_MIN_10_EXP__ (-307)
732// MIPS32BE:#define __DBL_MIN_EXP__ (-1021)
733// MIPS32BE:#define __DBL_MIN__ 2.2250738585072014e-308
734// MIPS32BE:#define __DECIMAL_DIG__ 17
735// MIPS32BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
736// MIPS32BE:#define __FLT_DIG__ 6
737// MIPS32BE:#define __FLT_EPSILON__ 1.19209290e-7F
738// MIPS32BE:#define __FLT_EVAL_METHOD__ 0
739// MIPS32BE:#define __FLT_HAS_DENORM__ 1
740// MIPS32BE:#define __FLT_HAS_INFINITY__ 1
741// MIPS32BE:#define __FLT_HAS_QUIET_NAN__ 1
742// MIPS32BE:#define __FLT_MANT_DIG__ 24
743// MIPS32BE:#define __FLT_MAX_10_EXP__ 38
744// MIPS32BE:#define __FLT_MAX_EXP__ 128
745// MIPS32BE:#define __FLT_MAX__ 3.40282347e+38F
746// MIPS32BE:#define __FLT_MIN_10_EXP__ (-37)
747// MIPS32BE:#define __FLT_MIN_EXP__ (-125)
748// MIPS32BE:#define __FLT_MIN__ 1.17549435e-38F
749// MIPS32BE:#define __FLT_RADIX__ 2
750// MIPS32BE:#define __INT16_TYPE__ short
751// MIPS32BE:#define __INT32_TYPE__ int
752// MIPS32BE:#define __INT64_C_SUFFIX__ LL
753// MIPS32BE:#define __INT64_TYPE__ long long int
754// MIPS32BE:#define __INT8_TYPE__ char
755// MIPS32BE:#define __INTMAX_MAX__ 9223372036854775807LL
756// MIPS32BE:#define __INTMAX_TYPE__ long long int
757// MIPS32BE:#define __INTMAX_WIDTH__ 64
758// MIPS32BE:#define __INTPTR_TYPE__ long int
759// MIPS32BE:#define __INTPTR_WIDTH__ 32
760// MIPS32BE:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000761// MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000762// MIPS32BE:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000763// MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000764// MIPS32BE:#define __LDBL_HAS_DENORM__ 1
765// MIPS32BE:#define __LDBL_HAS_INFINITY__ 1
766// MIPS32BE:#define __LDBL_HAS_QUIET_NAN__ 1
767// MIPS32BE:#define __LDBL_MANT_DIG__ 53
768// MIPS32BE:#define __LDBL_MAX_10_EXP__ 308
769// MIPS32BE:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000770// MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000771// MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307)
772// MIPS32BE:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000773// MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000774// MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
775// MIPS32BE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000776// MIPS32BE-NOT:#define __LP64__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000777// MIPS32BE:#define __MIPSEB 1
778// MIPS32BE:#define __MIPSEB__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000779// MIPS32BE:#define __POINTER_WIDTH__ 32
780// MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1
781// MIPS32BE:#define __PTRDIFF_TYPE__ int
782// MIPS32BE:#define __PTRDIFF_WIDTH__ 32
783// MIPS32BE:#define __REGISTER_PREFIX__
784// MIPS32BE:#define __SCHAR_MAX__ 127
785// MIPS32BE:#define __SHRT_MAX__ 32767
786// MIPS32BE:#define __SIG_ATOMIC_WIDTH__ 32
787// MIPS32BE:#define __SIZEOF_DOUBLE__ 8
788// MIPS32BE:#define __SIZEOF_FLOAT__ 4
789// MIPS32BE:#define __SIZEOF_INT__ 4
790// MIPS32BE:#define __SIZEOF_LONG_DOUBLE__ 8
791// MIPS32BE:#define __SIZEOF_LONG_LONG__ 8
792// MIPS32BE:#define __SIZEOF_LONG__ 4
793// MIPS32BE:#define __SIZEOF_POINTER__ 4
794// MIPS32BE:#define __SIZEOF_PTRDIFF_T__ 4
795// MIPS32BE:#define __SIZEOF_SHORT__ 2
796// MIPS32BE:#define __SIZEOF_SIZE_T__ 4
797// MIPS32BE:#define __SIZEOF_WCHAR_T__ 4
798// MIPS32BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000799// MIPS32BE:#define __SIZE_MAX__ 4294967295U
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000800// MIPS32BE:#define __SIZE_TYPE__ unsigned int
801// MIPS32BE:#define __SIZE_WIDTH__ 32
802// MIPS32BE:#define __STDC_HOSTED__ 0
803// MIPS32BE:#define __STDC_VERSION__ 199901L
804// MIPS32BE:#define __STDC__ 1
805// MIPS32BE:#define __UINTMAX_TYPE__ long long unsigned int
806// MIPS32BE:#define __USER_LABEL_PREFIX__ _
807// MIPS32BE:#define __WCHAR_MAX__ 2147483647
808// MIPS32BE:#define __WCHAR_TYPE__ int
809// MIPS32BE:#define __WCHAR_WIDTH__ 32
810// MIPS32BE:#define __WINT_TYPE__ int
811// MIPS32BE:#define __WINT_WIDTH__ 32
812// MIPS32BE:#define __clang__ 1
813// MIPS32BE:#define __llvm__ 1
814// MIPS32BE:#define __mips 1
815// MIPS32BE:#define __mips__ 1
816// MIPS32BE:#define __mips_hard_float 1
817// MIPS32BE:#define __mips_o32 1
818// MIPS32BE:#define _mips 1
819// MIPS32BE:#define mips 1
820//
821// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -check-prefix MIPS32EL %s
822//
823// MIPS32EL:#define MIPSEL 1
824// MIPS32EL:#define _ABIO32 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000825// MIPS32EL-NOT:#define _LP64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000826// MIPS32EL:#define _MIPSEL 1
Simon Atanasyan5a0642f2012-08-29 15:17:29 +0000827// MIPS32EL:#define _MIPS_ARCH "mips32"
828// MIPS32EL:#define _MIPS_ARCH_MIPS32 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000829// MIPS32EL:#define _MIPS_SIM _ABIO32
830// MIPS32EL:#define _MIPS_SZINT 32
831// MIPS32EL:#define _MIPS_SZLONG 32
832// MIPS32EL:#define _MIPS_SZPTR 32
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000833// MIPS32EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000834// MIPS32EL:#define __CHAR16_TYPE__ unsigned short
835// MIPS32EL:#define __CHAR32_TYPE__ unsigned int
836// MIPS32EL:#define __CHAR_BIT__ 8
837// MIPS32EL:#define __CONSTANT_CFSTRINGS__ 1
838// MIPS32EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
839// MIPS32EL:#define __DBL_DIG__ 15
840// MIPS32EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
841// MIPS32EL:#define __DBL_HAS_DENORM__ 1
842// MIPS32EL:#define __DBL_HAS_INFINITY__ 1
843// MIPS32EL:#define __DBL_HAS_QUIET_NAN__ 1
844// MIPS32EL:#define __DBL_MANT_DIG__ 53
845// MIPS32EL:#define __DBL_MAX_10_EXP__ 308
846// MIPS32EL:#define __DBL_MAX_EXP__ 1024
847// MIPS32EL:#define __DBL_MAX__ 1.7976931348623157e+308
848// MIPS32EL:#define __DBL_MIN_10_EXP__ (-307)
849// MIPS32EL:#define __DBL_MIN_EXP__ (-1021)
850// MIPS32EL:#define __DBL_MIN__ 2.2250738585072014e-308
851// MIPS32EL:#define __DECIMAL_DIG__ 17
852// MIPS32EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
853// MIPS32EL:#define __FLT_DIG__ 6
854// MIPS32EL:#define __FLT_EPSILON__ 1.19209290e-7F
855// MIPS32EL:#define __FLT_EVAL_METHOD__ 0
856// MIPS32EL:#define __FLT_HAS_DENORM__ 1
857// MIPS32EL:#define __FLT_HAS_INFINITY__ 1
858// MIPS32EL:#define __FLT_HAS_QUIET_NAN__ 1
859// MIPS32EL:#define __FLT_MANT_DIG__ 24
860// MIPS32EL:#define __FLT_MAX_10_EXP__ 38
861// MIPS32EL:#define __FLT_MAX_EXP__ 128
862// MIPS32EL:#define __FLT_MAX__ 3.40282347e+38F
863// MIPS32EL:#define __FLT_MIN_10_EXP__ (-37)
864// MIPS32EL:#define __FLT_MIN_EXP__ (-125)
865// MIPS32EL:#define __FLT_MIN__ 1.17549435e-38F
866// MIPS32EL:#define __FLT_RADIX__ 2
867// MIPS32EL:#define __INT16_TYPE__ short
868// MIPS32EL:#define __INT32_TYPE__ int
869// MIPS32EL:#define __INT64_C_SUFFIX__ LL
870// MIPS32EL:#define __INT64_TYPE__ long long int
871// MIPS32EL:#define __INT8_TYPE__ char
872// MIPS32EL:#define __INTMAX_MAX__ 9223372036854775807LL
873// MIPS32EL:#define __INTMAX_TYPE__ long long int
874// MIPS32EL:#define __INTMAX_WIDTH__ 64
875// MIPS32EL:#define __INTPTR_TYPE__ long int
876// MIPS32EL:#define __INTPTR_WIDTH__ 32
877// MIPS32EL:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000878// MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000879// MIPS32EL:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000880// MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000881// MIPS32EL:#define __LDBL_HAS_DENORM__ 1
882// MIPS32EL:#define __LDBL_HAS_INFINITY__ 1
883// MIPS32EL:#define __LDBL_HAS_QUIET_NAN__ 1
884// MIPS32EL:#define __LDBL_MANT_DIG__ 53
885// MIPS32EL:#define __LDBL_MAX_10_EXP__ 308
886// MIPS32EL:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000887// MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000888// MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307)
889// MIPS32EL:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000890// MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000891// MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
892// MIPS32EL:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000893// MIPS32EL-NOT:#define __LP64__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000894// MIPS32EL:#define __MIPSEL 1
895// MIPS32EL:#define __MIPSEL__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000896// MIPS32EL:#define __POINTER_WIDTH__ 32
897// MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1
898// MIPS32EL:#define __PTRDIFF_TYPE__ int
899// MIPS32EL:#define __PTRDIFF_WIDTH__ 32
900// MIPS32EL:#define __REGISTER_PREFIX__
901// MIPS32EL:#define __SCHAR_MAX__ 127
902// MIPS32EL:#define __SHRT_MAX__ 32767
903// MIPS32EL:#define __SIG_ATOMIC_WIDTH__ 32
904// MIPS32EL:#define __SIZEOF_DOUBLE__ 8
905// MIPS32EL:#define __SIZEOF_FLOAT__ 4
906// MIPS32EL:#define __SIZEOF_INT__ 4
907// MIPS32EL:#define __SIZEOF_LONG_DOUBLE__ 8
908// MIPS32EL:#define __SIZEOF_LONG_LONG__ 8
909// MIPS32EL:#define __SIZEOF_LONG__ 4
910// MIPS32EL:#define __SIZEOF_POINTER__ 4
911// MIPS32EL:#define __SIZEOF_PTRDIFF_T__ 4
912// MIPS32EL:#define __SIZEOF_SHORT__ 2
913// MIPS32EL:#define __SIZEOF_SIZE_T__ 4
914// MIPS32EL:#define __SIZEOF_WCHAR_T__ 4
915// MIPS32EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000916// MIPS32EL:#define __SIZE_MAX__ 4294967295U
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000917// MIPS32EL:#define __SIZE_TYPE__ unsigned int
918// MIPS32EL:#define __SIZE_WIDTH__ 32
919// MIPS32EL:#define __UINTMAX_TYPE__ long long unsigned int
920// MIPS32EL:#define __USER_LABEL_PREFIX__ _
921// MIPS32EL:#define __WCHAR_MAX__ 2147483647
922// MIPS32EL:#define __WCHAR_TYPE__ int
923// MIPS32EL:#define __WCHAR_WIDTH__ 32
924// MIPS32EL:#define __WINT_TYPE__ int
925// MIPS32EL:#define __WINT_WIDTH__ 32
926// MIPS32EL:#define __clang__ 1
927// MIPS32EL:#define __llvm__ 1
928// MIPS32EL:#define __mips 1
929// MIPS32EL:#define __mips__ 1
930// MIPS32EL:#define __mips_hard_float 1
931// MIPS32EL:#define __mips_o32 1
932// MIPS32EL:#define _mips 1
933// MIPS32EL:#define mips 1
934//
935// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -check-prefix MIPS64BE %s
936//
937// MIPS64BE:#define MIPSEB 1
938// MIPS64BE:#define _ABI64 3
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000939// MIPS64BE:#define _LP64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000940// MIPS64BE:#define _MIPSEB 1
Simon Atanasyan5a0642f2012-08-29 15:17:29 +0000941// MIPS64BE:#define _MIPS_ARCH "mips64"
942// MIPS64BE:#define _MIPS_ARCH_MIPS64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000943// MIPS64BE:#define _MIPS_SIM _ABI64
944// MIPS64BE:#define _MIPS_SZINT 32
945// MIPS64BE:#define _MIPS_SZLONG 64
946// MIPS64BE:#define _MIPS_SZPTR 64
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000947// MIPS64BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000948// MIPS64BE:#define __CHAR16_TYPE__ unsigned short
949// MIPS64BE:#define __CHAR32_TYPE__ unsigned int
950// MIPS64BE:#define __CHAR_BIT__ 8
951// MIPS64BE:#define __CONSTANT_CFSTRINGS__ 1
952// MIPS64BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
953// MIPS64BE:#define __DBL_DIG__ 15
954// MIPS64BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
955// MIPS64BE:#define __DBL_HAS_DENORM__ 1
956// MIPS64BE:#define __DBL_HAS_INFINITY__ 1
957// MIPS64BE:#define __DBL_HAS_QUIET_NAN__ 1
958// MIPS64BE:#define __DBL_MANT_DIG__ 53
959// MIPS64BE:#define __DBL_MAX_10_EXP__ 308
960// MIPS64BE:#define __DBL_MAX_EXP__ 1024
961// MIPS64BE:#define __DBL_MAX__ 1.7976931348623157e+308
962// MIPS64BE:#define __DBL_MIN_10_EXP__ (-307)
963// MIPS64BE:#define __DBL_MIN_EXP__ (-1021)
964// MIPS64BE:#define __DBL_MIN__ 2.2250738585072014e-308
965// MIPS64BE:#define __DECIMAL_DIG__ 36
966// MIPS64BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
967// MIPS64BE:#define __FLT_DIG__ 6
968// MIPS64BE:#define __FLT_EPSILON__ 1.19209290e-7F
969// MIPS64BE:#define __FLT_EVAL_METHOD__ 0
970// MIPS64BE:#define __FLT_HAS_DENORM__ 1
971// MIPS64BE:#define __FLT_HAS_INFINITY__ 1
972// MIPS64BE:#define __FLT_HAS_QUIET_NAN__ 1
973// MIPS64BE:#define __FLT_MANT_DIG__ 24
974// MIPS64BE:#define __FLT_MAX_10_EXP__ 38
975// MIPS64BE:#define __FLT_MAX_EXP__ 128
976// MIPS64BE:#define __FLT_MAX__ 3.40282347e+38F
977// MIPS64BE:#define __FLT_MIN_10_EXP__ (-37)
978// MIPS64BE:#define __FLT_MIN_EXP__ (-125)
979// MIPS64BE:#define __FLT_MIN__ 1.17549435e-38F
980// MIPS64BE:#define __FLT_RADIX__ 2
981// MIPS64BE:#define __INT16_TYPE__ short
982// MIPS64BE:#define __INT32_TYPE__ int
983// MIPS64BE:#define __INT64_C_SUFFIX__ LL
984// MIPS64BE:#define __INT64_TYPE__ long long int
985// MIPS64BE:#define __INT8_TYPE__ char
986// MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807LL
987// MIPS64BE:#define __INTMAX_TYPE__ long long int
988// MIPS64BE:#define __INTMAX_WIDTH__ 64
989// MIPS64BE:#define __INTPTR_TYPE__ long int
990// MIPS64BE:#define __INTPTR_WIDTH__ 64
991// MIPS64BE:#define __INT_MAX__ 2147483647
992// MIPS64BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
993// MIPS64BE:#define __LDBL_DIG__ 33
994// MIPS64BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
995// MIPS64BE:#define __LDBL_HAS_DENORM__ 1
996// MIPS64BE:#define __LDBL_HAS_INFINITY__ 1
997// MIPS64BE:#define __LDBL_HAS_QUIET_NAN__ 1
998// MIPS64BE:#define __LDBL_MANT_DIG__ 113
999// MIPS64BE:#define __LDBL_MAX_10_EXP__ 4932
1000// MIPS64BE:#define __LDBL_MAX_EXP__ 16384
1001// MIPS64BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1002// MIPS64BE:#define __LDBL_MIN_10_EXP__ (-4931)
1003// MIPS64BE:#define __LDBL_MIN_EXP__ (-16381)
1004// MIPS64BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1005// MIPS64BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1006// MIPS64BE:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001007// MIPS64BE:#define __LP64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001008// MIPS64BE:#define __MIPSEB 1
1009// MIPS64BE:#define __MIPSEB__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001010// MIPS64BE:#define __POINTER_WIDTH__ 64
1011// MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1
1012// MIPS64BE:#define __PTRDIFF_TYPE__ long int
1013// MIPS64BE:#define __PTRDIFF_WIDTH__ 64
1014// MIPS64BE:#define __REGISTER_PREFIX__
1015// MIPS64BE:#define __SCHAR_MAX__ 127
1016// MIPS64BE:#define __SHRT_MAX__ 32767
1017// MIPS64BE:#define __SIG_ATOMIC_WIDTH__ 32
1018// MIPS64BE:#define __SIZEOF_DOUBLE__ 8
1019// MIPS64BE:#define __SIZEOF_FLOAT__ 4
1020// MIPS64BE:#define __SIZEOF_INT__ 4
1021// MIPS64BE:#define __SIZEOF_LONG_DOUBLE__ 16
1022// MIPS64BE:#define __SIZEOF_LONG_LONG__ 8
1023// MIPS64BE:#define __SIZEOF_LONG__ 8
1024// MIPS64BE:#define __SIZEOF_POINTER__ 8
1025// MIPS64BE:#define __SIZEOF_PTRDIFF_T__ 8
1026// MIPS64BE:#define __SIZEOF_SHORT__ 2
1027// MIPS64BE:#define __SIZEOF_SIZE_T__ 8
1028// MIPS64BE:#define __SIZEOF_WCHAR_T__ 4
1029// MIPS64BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001030// MIPS64BE:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001031// MIPS64BE:#define __SIZE_TYPE__ long unsigned int
1032// MIPS64BE:#define __SIZE_WIDTH__ 64
1033// MIPS64BE:#define __UINTMAX_TYPE__ long long unsigned int
1034// MIPS64BE:#define __USER_LABEL_PREFIX__ _
1035// MIPS64BE:#define __WCHAR_MAX__ 2147483647
1036// MIPS64BE:#define __WCHAR_TYPE__ int
1037// MIPS64BE:#define __WCHAR_WIDTH__ 32
1038// MIPS64BE:#define __WINT_TYPE__ int
1039// MIPS64BE:#define __WINT_WIDTH__ 32
1040// MIPS64BE:#define __clang__ 1
1041// MIPS64BE:#define __llvm__ 1
1042// MIPS64BE:#define __mips 1
Simon Atanasyanc6a0be02012-08-29 20:50:11 +00001043// MIPS64BE:#define __mips64 1
1044// MIPS64BE:#define __mips64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001045// MIPS64BE:#define __mips__ 1
1046// MIPS64BE:#define __mips_hard_float 1
1047// MIPS64BE:#define __mips_n64 1
1048// MIPS64BE:#define _mips 1
1049// MIPS64BE:#define mips 1
1050//
1051// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -check-prefix MIPS64EL %s
1052//
1053// MIPS64EL:#define MIPSEL 1
1054// MIPS64EL:#define _ABI64 3
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001055// MIPS64EL:#define _LP64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001056// MIPS64EL:#define _MIPSEL 1
Simon Atanasyan5a0642f2012-08-29 15:17:29 +00001057// MIPS64EL:#define _MIPS_ARCH "mips64"
1058// MIPS64EL:#define _MIPS_ARCH_MIPS64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001059// MIPS64EL:#define _MIPS_SIM _ABI64
1060// MIPS64EL:#define _MIPS_SZINT 32
1061// MIPS64EL:#define _MIPS_SZLONG 64
1062// MIPS64EL:#define _MIPS_SZPTR 64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001063// MIPS64EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001064// MIPS64EL:#define __CHAR16_TYPE__ unsigned short
1065// MIPS64EL:#define __CHAR32_TYPE__ unsigned int
1066// MIPS64EL:#define __CHAR_BIT__ 8
1067// MIPS64EL:#define __CONSTANT_CFSTRINGS__ 1
1068// MIPS64EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1069// MIPS64EL:#define __DBL_DIG__ 15
1070// MIPS64EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1071// MIPS64EL:#define __DBL_HAS_DENORM__ 1
1072// MIPS64EL:#define __DBL_HAS_INFINITY__ 1
1073// MIPS64EL:#define __DBL_HAS_QUIET_NAN__ 1
1074// MIPS64EL:#define __DBL_MANT_DIG__ 53
1075// MIPS64EL:#define __DBL_MAX_10_EXP__ 308
1076// MIPS64EL:#define __DBL_MAX_EXP__ 1024
1077// MIPS64EL:#define __DBL_MAX__ 1.7976931348623157e+308
1078// MIPS64EL:#define __DBL_MIN_10_EXP__ (-307)
1079// MIPS64EL:#define __DBL_MIN_EXP__ (-1021)
1080// MIPS64EL:#define __DBL_MIN__ 2.2250738585072014e-308
1081// MIPS64EL:#define __DECIMAL_DIG__ 36
1082// MIPS64EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1083// MIPS64EL:#define __FLT_DIG__ 6
1084// MIPS64EL:#define __FLT_EPSILON__ 1.19209290e-7F
1085// MIPS64EL:#define __FLT_EVAL_METHOD__ 0
1086// MIPS64EL:#define __FLT_HAS_DENORM__ 1
1087// MIPS64EL:#define __FLT_HAS_INFINITY__ 1
1088// MIPS64EL:#define __FLT_HAS_QUIET_NAN__ 1
1089// MIPS64EL:#define __FLT_MANT_DIG__ 24
1090// MIPS64EL:#define __FLT_MAX_10_EXP__ 38
1091// MIPS64EL:#define __FLT_MAX_EXP__ 128
1092// MIPS64EL:#define __FLT_MAX__ 3.40282347e+38F
1093// MIPS64EL:#define __FLT_MIN_10_EXP__ (-37)
1094// MIPS64EL:#define __FLT_MIN_EXP__ (-125)
1095// MIPS64EL:#define __FLT_MIN__ 1.17549435e-38F
1096// MIPS64EL:#define __FLT_RADIX__ 2
1097// MIPS64EL:#define __INT16_TYPE__ short
1098// MIPS64EL:#define __INT32_TYPE__ int
1099// MIPS64EL:#define __INT64_C_SUFFIX__ LL
1100// MIPS64EL:#define __INT64_TYPE__ long long int
1101// MIPS64EL:#define __INT8_TYPE__ char
1102// MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807LL
1103// MIPS64EL:#define __INTMAX_TYPE__ long long int
1104// MIPS64EL:#define __INTMAX_WIDTH__ 64
1105// MIPS64EL:#define __INTPTR_TYPE__ long int
1106// MIPS64EL:#define __INTPTR_WIDTH__ 64
1107// MIPS64EL:#define __INT_MAX__ 2147483647
1108// MIPS64EL:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1109// MIPS64EL:#define __LDBL_DIG__ 33
1110// MIPS64EL:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1111// MIPS64EL:#define __LDBL_HAS_DENORM__ 1
1112// MIPS64EL:#define __LDBL_HAS_INFINITY__ 1
1113// MIPS64EL:#define __LDBL_HAS_QUIET_NAN__ 1
1114// MIPS64EL:#define __LDBL_MANT_DIG__ 113
1115// MIPS64EL:#define __LDBL_MAX_10_EXP__ 4932
1116// MIPS64EL:#define __LDBL_MAX_EXP__ 16384
1117// MIPS64EL:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1118// MIPS64EL:#define __LDBL_MIN_10_EXP__ (-4931)
1119// MIPS64EL:#define __LDBL_MIN_EXP__ (-16381)
1120// MIPS64EL:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1121// MIPS64EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1122// MIPS64EL:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001123// MIPS64EL:#define __LP64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001124// MIPS64EL:#define __MIPSEL 1
1125// MIPS64EL:#define __MIPSEL__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001126// MIPS64EL:#define __POINTER_WIDTH__ 64
1127// MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1128// MIPS64EL:#define __PTRDIFF_TYPE__ long int
1129// MIPS64EL:#define __PTRDIFF_WIDTH__ 64
1130// MIPS64EL:#define __REGISTER_PREFIX__
1131// MIPS64EL:#define __SCHAR_MAX__ 127
1132// MIPS64EL:#define __SHRT_MAX__ 32767
1133// MIPS64EL:#define __SIG_ATOMIC_WIDTH__ 32
1134// MIPS64EL:#define __SIZEOF_DOUBLE__ 8
1135// MIPS64EL:#define __SIZEOF_FLOAT__ 4
1136// MIPS64EL:#define __SIZEOF_INT__ 4
1137// MIPS64EL:#define __SIZEOF_LONG_DOUBLE__ 16
1138// MIPS64EL:#define __SIZEOF_LONG_LONG__ 8
1139// MIPS64EL:#define __SIZEOF_LONG__ 8
1140// MIPS64EL:#define __SIZEOF_POINTER__ 8
1141// MIPS64EL:#define __SIZEOF_PTRDIFF_T__ 8
1142// MIPS64EL:#define __SIZEOF_SHORT__ 2
1143// MIPS64EL:#define __SIZEOF_SIZE_T__ 8
1144// MIPS64EL:#define __SIZEOF_WCHAR_T__ 4
1145// MIPS64EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001146// MIPS64EL:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001147// MIPS64EL:#define __SIZE_TYPE__ long unsigned int
1148// MIPS64EL:#define __SIZE_WIDTH__ 64
1149// MIPS64EL:#define __UINTMAX_TYPE__ long long unsigned int
1150// MIPS64EL:#define __USER_LABEL_PREFIX__ _
1151// MIPS64EL:#define __WCHAR_MAX__ 2147483647
1152// MIPS64EL:#define __WCHAR_TYPE__ int
1153// MIPS64EL:#define __WCHAR_WIDTH__ 32
1154// MIPS64EL:#define __WINT_TYPE__ int
1155// MIPS64EL:#define __WINT_WIDTH__ 32
1156// MIPS64EL:#define __clang__ 1
1157// MIPS64EL:#define __llvm__ 1
1158// MIPS64EL:#define __mips 1
Simon Atanasyanc6a0be02012-08-29 20:50:11 +00001159// MIPS64EL:#define __mips64 1
1160// MIPS64EL:#define __mips64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001161// MIPS64EL:#define __mips__ 1
1162// MIPS64EL:#define __mips_hard_float 1
1163// MIPS64EL:#define __mips_n64 1
1164// MIPS64EL:#define _mips 1
1165// MIPS64EL:#define mips 1
1166//
Simon Atanasyan5e21c802012-04-06 17:51:49 +00001167// Check MIPS float ABI macros
1168//
1169// RUN: %clang_cc1 -E -dM -ffreestanding \
1170// RUN: -triple=mips-none-none < /dev/null \
1171// RUN: | FileCheck -check-prefix MIPS-FABI-HARD %s
1172// MIPS-FABI-HARD:#define __mips_hard_float 1
1173//
1174// RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \
1175// RUN: -triple=mips-none-none < /dev/null \
1176// RUN: | FileCheck -check-prefix MIPS-FABI-SOFT %s
1177// MIPS-FABI-SOFT:#define __mips_soft_float 1
1178//
1179// RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \
1180// RUN: -triple=mips-none-none < /dev/null \
1181// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE %s
Simon Atanasyand3d173d2012-06-05 13:06:56 +00001182// MIPS-FABI-SINGLE:#define __mips_hard_float 1
Simon Atanasyan5e21c802012-04-06 17:51:49 +00001183// MIPS-FABI-SINGLE:#define __mips_single_float 1
1184//
Simon Atanasyan16071912013-04-14 14:07:30 +00001185// RUN: %clang_cc1 -target-feature +soft-float -target-feature +single-float \
1186// RUN: -E -dM -ffreestanding -triple=mips-none-none < /dev/null \
1187// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE-SOFT %s
1188// MIPS-FABI-SINGLE-SOFT:#define __mips_single_float 1
1189// MIPS-FABI-SINGLE-SOFT:#define __mips_soft_float 1
1190//
Simon Atanasyan72244b62012-07-05 16:06:06 +00001191// Check MIPS features macros
1192//
1193// RUN: %clang_cc1 -target-feature +mips16 \
1194// RUN: -E -dM -triple=mips-none-none < /dev/null \
1195// RUN: | FileCheck -check-prefix MIPS16 %s
1196// MIPS16:#define __mips16 1
1197//
1198// RUN: %clang_cc1 -target-feature -mips16 \
1199// RUN: -E -dM -triple=mips-none-none < /dev/null \
1200// RUN: | FileCheck -check-prefix NOMIPS16 %s
1201// NOMIPS16-NOT:#define __mips16 1
1202//
Simon Atanasyan60777612013-04-14 14:07:51 +00001203// RUN: %clang_cc1 -target-feature +micromips \
1204// RUN: -E -dM -triple=mips-none-none < /dev/null \
1205// RUN: | FileCheck -check-prefix MICROMIPS %s
1206// MICROMIPS:#define __mips_micromips 1
1207//
1208// RUN: %clang_cc1 -target-feature -micromips \
1209// RUN: -E -dM -triple=mips-none-none < /dev/null \
1210// RUN: | FileCheck -check-prefix NOMICROMIPS %s
1211// NOMICROMIPS-NOT:#define __mips_micromips 1
1212//
Simon Atanasyan9780e4a2012-07-05 20:16:22 +00001213// RUN: %clang_cc1 -target-feature +dsp \
1214// RUN: -E -dM -triple=mips-none-none < /dev/null \
1215// RUN: | FileCheck -check-prefix MIPS-DSP %s
1216// MIPS-DSP:#define __mips_dsp 1
1217// MIPS-DSP:#define __mips_dsp_rev 1
1218// MIPS-DSP-NOT:#define __mips_dspr2 1
1219//
1220// RUN: %clang_cc1 -target-feature +dspr2 \
1221// RUN: -E -dM -triple=mips-none-none < /dev/null \
1222// RUN: | FileCheck -check-prefix MIPS-DSPR2 %s
1223// MIPS-DSPR2:#define __mips_dsp 1
1224// MIPS-DSPR2:#define __mips_dsp_rev 2
1225// MIPS-DSPR2:#define __mips_dspr2 1
1226//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00001227// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
Chris Lattnere963d092009-10-29 04:55:36 +00001228//
1229// MSP430:#define MSP430 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001230// MSP430-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001231// MSP430:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00001232// MSP430:#define __CHAR16_TYPE__ unsigned short
1233// MSP430:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001234// MSP430:#define __CHAR_BIT__ 8
1235// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1236// MSP430:#define __DBL_DIG__ 15
1237// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
1238// MSP430:#define __DBL_HAS_DENORM__ 1
1239// MSP430:#define __DBL_HAS_INFINITY__ 1
1240// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
1241// MSP430:#define __DBL_MANT_DIG__ 53
1242// MSP430:#define __DBL_MAX_10_EXP__ 308
1243// MSP430:#define __DBL_MAX_EXP__ 1024
1244// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
1245// MSP430:#define __DBL_MIN_10_EXP__ (-307)
1246// MSP430:#define __DBL_MIN_EXP__ (-1021)
1247// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
1248// MSP430:#define __DECIMAL_DIG__ 17
1249// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1250// MSP430:#define __FLT_DIG__ 6
1251// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
1252// MSP430:#define __FLT_EVAL_METHOD__ 0
1253// MSP430:#define __FLT_HAS_DENORM__ 1
1254// MSP430:#define __FLT_HAS_INFINITY__ 1
1255// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
1256// MSP430:#define __FLT_MANT_DIG__ 24
1257// MSP430:#define __FLT_MAX_10_EXP__ 38
1258// MSP430:#define __FLT_MAX_EXP__ 128
1259// MSP430:#define __FLT_MAX__ 3.40282347e+38F
1260// MSP430:#define __FLT_MIN_10_EXP__ (-37)
1261// MSP430:#define __FLT_MIN_EXP__ (-125)
1262// MSP430:#define __FLT_MIN__ 1.17549435e-38F
1263// MSP430:#define __FLT_RADIX__ 2
1264// MSP430:#define __INT16_TYPE__ short
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00001265// MSP430:#define __INT32_C_SUFFIX__ L
Chris Lattner55c98772009-11-12 08:08:27 +00001266// MSP430:#define __INT32_TYPE__ long int
Chris Lattnere963d092009-10-29 04:55:36 +00001267// MSP430:#define __INT8_TYPE__ char
Anton Korobeynikovef412902013-07-01 19:42:40 +00001268// MSP430:#define __INTMAX_MAX__ 9223372036854775807LL
1269// MSP430:#define __INTMAX_TYPE__ long long int
1270// MSP430:#define __INTMAX_WIDTH__ 64
1271// MSP430:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00001272// MSP430:#define __INTPTR_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001273// MSP430:#define __INT_MAX__ 32767
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001274// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00001275// MSP430:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001276// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +00001277// MSP430:#define __LDBL_HAS_DENORM__ 1
1278// MSP430:#define __LDBL_HAS_INFINITY__ 1
1279// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
1280// MSP430:#define __LDBL_MANT_DIG__ 53
1281// MSP430:#define __LDBL_MAX_10_EXP__ 308
1282// MSP430:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001283// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +00001284// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
1285// MSP430:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001286// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikov485810e2010-01-14 21:36:52 +00001287// MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
Chris Lattnere963d092009-10-29 04:55:36 +00001288// MSP430:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001289// MSP430-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00001290// MSP430:#define __MSP430__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00001291// MSP430:#define __POINTER_WIDTH__ 16
Ken Dyck9b25f782009-11-19 13:18:59 +00001292// MSP430:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00001293// MSP430:#define __PTRDIFF_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001294// MSP430:#define __SCHAR_MAX__ 127
1295// MSP430:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00001296// MSP430:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00001297// MSP430:#define __SIZEOF_DOUBLE__ 8
1298// MSP430:#define __SIZEOF_FLOAT__ 4
1299// MSP430:#define __SIZEOF_INT__ 2
1300// MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
1301// MSP430:#define __SIZEOF_LONG_LONG__ 8
1302// MSP430:#define __SIZEOF_LONG__ 4
1303// MSP430:#define __SIZEOF_POINTER__ 2
1304// MSP430:#define __SIZEOF_PTRDIFF_T__ 2
1305// MSP430:#define __SIZEOF_SHORT__ 2
1306// MSP430:#define __SIZEOF_SIZE_T__ 2
1307// MSP430:#define __SIZEOF_WCHAR_T__ 2
1308// MSP430:#define __SIZEOF_WINT_T__ 2
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001309// MSP430:#define __SIZE_MAX__ 65535U
Chris Lattnere963d092009-10-29 04:55:36 +00001310// MSP430:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00001311// MSP430:#define __SIZE_WIDTH__ 16
Anton Korobeynikovef412902013-07-01 19:42:40 +00001312// MSP430:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001313// MSP430:#define __USER_LABEL_PREFIX__ _
Chris Lattner0fb5bbd2009-11-12 08:04:33 +00001314// MSP430:#define __WCHAR_MAX__ 32767
Chris Lattnere963d092009-10-29 04:55:36 +00001315// MSP430:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00001316// MSP430:#define __WCHAR_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001317// MSP430:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00001318// MSP430:#define __WINT_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001319// MSP430:#define __clang__ 1
1320//
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001321// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s
1322//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001323// NVPTX32-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001324// NVPTX32:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001325// NVPTX32:#define __CHAR16_TYPE__ unsigned short
1326// NVPTX32:#define __CHAR32_TYPE__ unsigned int
1327// NVPTX32:#define __CHAR_BIT__ 8
1328// NVPTX32:#define __CONSTANT_CFSTRINGS__ 1
1329// NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1330// NVPTX32:#define __DBL_DIG__ 15
1331// NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16
1332// NVPTX32:#define __DBL_HAS_DENORM__ 1
1333// NVPTX32:#define __DBL_HAS_INFINITY__ 1
1334// NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1
1335// NVPTX32:#define __DBL_MANT_DIG__ 53
1336// NVPTX32:#define __DBL_MAX_10_EXP__ 308
1337// NVPTX32:#define __DBL_MAX_EXP__ 1024
1338// NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308
1339// NVPTX32:#define __DBL_MIN_10_EXP__ (-307)
1340// NVPTX32:#define __DBL_MIN_EXP__ (-1021)
1341// NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308
1342// NVPTX32:#define __DECIMAL_DIG__ 17
1343// NVPTX32:#define __FINITE_MATH_ONLY__ 0
1344// NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1345// NVPTX32:#define __FLT_DIG__ 6
1346// NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F
1347// NVPTX32:#define __FLT_EVAL_METHOD__ 0
1348// NVPTX32:#define __FLT_HAS_DENORM__ 1
1349// NVPTX32:#define __FLT_HAS_INFINITY__ 1
1350// NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1
1351// NVPTX32:#define __FLT_MANT_DIG__ 24
1352// NVPTX32:#define __FLT_MAX_10_EXP__ 38
1353// NVPTX32:#define __FLT_MAX_EXP__ 128
1354// NVPTX32:#define __FLT_MAX__ 3.40282347e+38F
1355// NVPTX32:#define __FLT_MIN_10_EXP__ (-37)
1356// NVPTX32:#define __FLT_MIN_EXP__ (-125)
1357// NVPTX32:#define __FLT_MIN__ 1.17549435e-38F
1358// NVPTX32:#define __FLT_RADIX__ 2
1359// NVPTX32:#define __INT16_TYPE__ short
1360// NVPTX32:#define __INT32_TYPE__ int
1361// NVPTX32:#define __INT64_C_SUFFIX__ LL
1362// NVPTX32:#define __INT64_TYPE__ long long int
1363// NVPTX32:#define __INT8_TYPE__ char
1364// NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL
1365// NVPTX32:#define __INTMAX_TYPE__ long long int
1366// NVPTX32:#define __INTMAX_WIDTH__ 64
1367// NVPTX32:#define __INTPTR_TYPE__ unsigned int
1368// NVPTX32:#define __INTPTR_WIDTH__ 32
1369// NVPTX32:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001370// NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001371// NVPTX32:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001372// NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001373// NVPTX32:#define __LDBL_HAS_DENORM__ 1
1374// NVPTX32:#define __LDBL_HAS_INFINITY__ 1
1375// NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1
1376// NVPTX32:#define __LDBL_MANT_DIG__ 53
1377// NVPTX32:#define __LDBL_MAX_10_EXP__ 308
1378// NVPTX32:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001379// NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001380// NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
1381// NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001382// NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001383// NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL
1384// NVPTX32:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001385// NVPTX32-NOT:#define __LP64__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001386// NVPTX32:#define __NVPTX__ 1
1387// NVPTX32:#define __POINTER_WIDTH__ 32
1388// NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1
1389// NVPTX32:#define __PTRDIFF_TYPE__ unsigned int
1390// NVPTX32:#define __PTRDIFF_WIDTH__ 32
1391// NVPTX32:#define __PTX__ 1
1392// NVPTX32:#define __SCHAR_MAX__ 127
1393// NVPTX32:#define __SHRT_MAX__ 32767
1394// NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32
1395// NVPTX32:#define __SIZEOF_DOUBLE__ 8
1396// NVPTX32:#define __SIZEOF_FLOAT__ 4
1397// NVPTX32:#define __SIZEOF_INT__ 4
1398// NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8
1399// NVPTX32:#define __SIZEOF_LONG_LONG__ 8
1400// NVPTX32:#define __SIZEOF_LONG__ 8
1401// NVPTX32:#define __SIZEOF_POINTER__ 4
1402// NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4
1403// NVPTX32:#define __SIZEOF_SHORT__ 2
1404// NVPTX32:#define __SIZEOF_SIZE_T__ 4
1405// NVPTX32:#define __SIZEOF_WCHAR_T__ 4
1406// NVPTX32:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001407// NVPTX32:#define __SIZE_MAX__ 4294967295U
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001408// NVPTX32:#define __SIZE_TYPE__ unsigned int
1409// NVPTX32:#define __SIZE_WIDTH__ 32
1410// NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int
1411// NVPTX32:#define __USER_LABEL_PREFIX__ _
1412// NVPTX32:#define __WCHAR_MAX__ 2147483647
1413// NVPTX32:#define __WCHAR_TYPE__ int
1414// NVPTX32:#define __WCHAR_WIDTH__ 32
1415// NVPTX32:#define __WINT_TYPE__ int
1416// NVPTX32:#define __WINT_WIDTH__ 32
1417//
1418// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -check-prefix NVPTX64 %s
1419//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001420// NVPTX64:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001421// NVPTX64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001422// NVPTX64:#define __CHAR16_TYPE__ unsigned short
1423// NVPTX64:#define __CHAR32_TYPE__ unsigned int
1424// NVPTX64:#define __CHAR_BIT__ 8
1425// NVPTX64:#define __CONSTANT_CFSTRINGS__ 1
1426// NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1427// NVPTX64:#define __DBL_DIG__ 15
1428// NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1429// NVPTX64:#define __DBL_HAS_DENORM__ 1
1430// NVPTX64:#define __DBL_HAS_INFINITY__ 1
1431// NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1
1432// NVPTX64:#define __DBL_MANT_DIG__ 53
1433// NVPTX64:#define __DBL_MAX_10_EXP__ 308
1434// NVPTX64:#define __DBL_MAX_EXP__ 1024
1435// NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308
1436// NVPTX64:#define __DBL_MIN_10_EXP__ (-307)
1437// NVPTX64:#define __DBL_MIN_EXP__ (-1021)
1438// NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308
1439// NVPTX64:#define __DECIMAL_DIG__ 17
1440// NVPTX64:#define __FINITE_MATH_ONLY__ 0
1441// NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1442// NVPTX64:#define __FLT_DIG__ 6
1443// NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F
1444// NVPTX64:#define __FLT_EVAL_METHOD__ 0
1445// NVPTX64:#define __FLT_HAS_DENORM__ 1
1446// NVPTX64:#define __FLT_HAS_INFINITY__ 1
1447// NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1
1448// NVPTX64:#define __FLT_MANT_DIG__ 24
1449// NVPTX64:#define __FLT_MAX_10_EXP__ 38
1450// NVPTX64:#define __FLT_MAX_EXP__ 128
1451// NVPTX64:#define __FLT_MAX__ 3.40282347e+38F
1452// NVPTX64:#define __FLT_MIN_10_EXP__ (-37)
1453// NVPTX64:#define __FLT_MIN_EXP__ (-125)
1454// NVPTX64:#define __FLT_MIN__ 1.17549435e-38F
1455// NVPTX64:#define __FLT_RADIX__ 2
1456// NVPTX64:#define __INT16_TYPE__ short
1457// NVPTX64:#define __INT32_TYPE__ int
1458// NVPTX64:#define __INT64_C_SUFFIX__ LL
1459// NVPTX64:#define __INT64_TYPE__ long long int
1460// NVPTX64:#define __INT8_TYPE__ char
1461// NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL
1462// NVPTX64:#define __INTMAX_TYPE__ long long int
1463// NVPTX64:#define __INTMAX_WIDTH__ 64
1464// NVPTX64:#define __INTPTR_TYPE__ long long unsigned int
1465// NVPTX64:#define __INTPTR_WIDTH__ 64
1466// NVPTX64:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001467// NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001468// NVPTX64:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001469// NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001470// NVPTX64:#define __LDBL_HAS_DENORM__ 1
1471// NVPTX64:#define __LDBL_HAS_INFINITY__ 1
1472// NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1
1473// NVPTX64:#define __LDBL_MANT_DIG__ 53
1474// NVPTX64:#define __LDBL_MAX_10_EXP__ 308
1475// NVPTX64:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001476// NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001477// NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
1478// NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001479// NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001480// NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1481// NVPTX64:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001482// NVPTX64:#define __LP64__ 1
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001483// NVPTX64:#define __NVPTX__ 1
1484// NVPTX64:#define __POINTER_WIDTH__ 64
1485// NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1
1486// NVPTX64:#define __PTRDIFF_TYPE__ long long unsigned int
1487// NVPTX64:#define __PTRDIFF_WIDTH__ 64
1488// NVPTX64:#define __PTX__ 1
1489// NVPTX64:#define __SCHAR_MAX__ 127
1490// NVPTX64:#define __SHRT_MAX__ 32767
1491// NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32
1492// NVPTX64:#define __SIZEOF_DOUBLE__ 8
1493// NVPTX64:#define __SIZEOF_FLOAT__ 4
1494// NVPTX64:#define __SIZEOF_INT__ 4
1495// NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8
1496// NVPTX64:#define __SIZEOF_LONG_LONG__ 8
1497// NVPTX64:#define __SIZEOF_LONG__ 8
1498// NVPTX64:#define __SIZEOF_POINTER__ 8
1499// NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8
1500// NVPTX64:#define __SIZEOF_SHORT__ 2
1501// NVPTX64:#define __SIZEOF_SIZE_T__ 8
1502// NVPTX64:#define __SIZEOF_WCHAR_T__ 4
1503// NVPTX64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001504// NVPTX64:#define __SIZE_MAX__ 18446744073709551615UL
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001505// NVPTX64:#define __SIZE_TYPE__ long long unsigned int
1506// NVPTX64:#define __SIZE_WIDTH__ 64
1507// NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int
1508// NVPTX64:#define __USER_LABEL_PREFIX__ _
1509// NVPTX64:#define __WCHAR_MAX__ 2147483647
1510// NVPTX64:#define __WCHAR_TYPE__ int
1511// NVPTX64:#define __WCHAR_WIDTH__ 32
1512// NVPTX64:#define __WINT_TYPE__ int
1513// NVPTX64:#define __WINT_WIDTH__ 32
1514//
Hal Finkel6b984f02012-07-03 16:51:04 +00001515// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -check-prefix PPC603E %s
1516//
1517// PPC603E:#define _ARCH_603 1
1518// PPC603E:#define _ARCH_603E 1
1519// PPC603E:#define _ARCH_PPC 1
1520// PPC603E:#define _ARCH_PPCGR 1
1521// PPC603E:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001522// PPC603E-NOT:#define _LP64
Hal Finkel6b984f02012-07-03 16:51:04 +00001523// PPC603E:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001524// PPC603E:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Hal Finkel6b984f02012-07-03 16:51:04 +00001525// PPC603E:#define __CHAR16_TYPE__ unsigned short
1526// PPC603E:#define __CHAR32_TYPE__ unsigned int
1527// PPC603E:#define __CHAR_BIT__ 8
1528// PPC603E:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1529// PPC603E:#define __DBL_DIG__ 15
1530// PPC603E:#define __DBL_EPSILON__ 2.2204460492503131e-16
1531// PPC603E:#define __DBL_HAS_DENORM__ 1
1532// PPC603E:#define __DBL_HAS_INFINITY__ 1
1533// PPC603E:#define __DBL_HAS_QUIET_NAN__ 1
1534// PPC603E:#define __DBL_MANT_DIG__ 53
1535// PPC603E:#define __DBL_MAX_10_EXP__ 308
1536// PPC603E:#define __DBL_MAX_EXP__ 1024
1537// PPC603E:#define __DBL_MAX__ 1.7976931348623157e+308
1538// PPC603E:#define __DBL_MIN_10_EXP__ (-307)
1539// PPC603E:#define __DBL_MIN_EXP__ (-1021)
1540// PPC603E:#define __DBL_MIN__ 2.2250738585072014e-308
1541// PPC603E:#define __DECIMAL_DIG__ 33
1542// PPC603E:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1543// PPC603E:#define __FLT_DIG__ 6
1544// PPC603E:#define __FLT_EPSILON__ 1.19209290e-7F
1545// PPC603E:#define __FLT_EVAL_METHOD__ 0
1546// PPC603E:#define __FLT_HAS_DENORM__ 1
1547// PPC603E:#define __FLT_HAS_INFINITY__ 1
1548// PPC603E:#define __FLT_HAS_QUIET_NAN__ 1
1549// PPC603E:#define __FLT_MANT_DIG__ 24
1550// PPC603E:#define __FLT_MAX_10_EXP__ 38
1551// PPC603E:#define __FLT_MAX_EXP__ 128
1552// PPC603E:#define __FLT_MAX__ 3.40282347e+38F
1553// PPC603E:#define __FLT_MIN_10_EXP__ (-37)
1554// PPC603E:#define __FLT_MIN_EXP__ (-125)
1555// PPC603E:#define __FLT_MIN__ 1.17549435e-38F
1556// PPC603E:#define __FLT_RADIX__ 2
1557// PPC603E:#define __INT16_TYPE__ short
1558// PPC603E:#define __INT32_TYPE__ int
1559// PPC603E:#define __INT64_C_SUFFIX__ LL
1560// PPC603E:#define __INT64_TYPE__ long long int
1561// PPC603E:#define __INT8_TYPE__ char
1562// PPC603E:#define __INTMAX_MAX__ 9223372036854775807LL
1563// PPC603E:#define __INTMAX_TYPE__ long long int
1564// PPC603E:#define __INTMAX_WIDTH__ 64
1565// PPC603E:#define __INTPTR_TYPE__ long int
1566// PPC603E:#define __INTPTR_WIDTH__ 32
1567// PPC603E:#define __INT_MAX__ 2147483647
1568// PPC603E:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1569// PPC603E:#define __LDBL_DIG__ 31
1570// PPC603E:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1571// PPC603E:#define __LDBL_HAS_DENORM__ 1
1572// PPC603E:#define __LDBL_HAS_INFINITY__ 1
1573// PPC603E:#define __LDBL_HAS_QUIET_NAN__ 1
1574// PPC603E:#define __LDBL_MANT_DIG__ 106
1575// PPC603E:#define __LDBL_MAX_10_EXP__ 308
1576// PPC603E:#define __LDBL_MAX_EXP__ 1024
1577// PPC603E:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1578// PPC603E:#define __LDBL_MIN_10_EXP__ (-291)
1579// PPC603E:#define __LDBL_MIN_EXP__ (-968)
1580// PPC603E:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1581// PPC603E:#define __LONG_DOUBLE_128__ 1
1582// PPC603E:#define __LONG_LONG_MAX__ 9223372036854775807LL
1583// PPC603E:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001584// PPC603E-NOT:#define __LP64__
Hal Finkel6b984f02012-07-03 16:51:04 +00001585// PPC603E:#define __NATURAL_ALIGNMENT__ 1
Hal Finkel6b984f02012-07-03 16:51:04 +00001586// PPC603E:#define __POINTER_WIDTH__ 32
1587// PPC603E:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00001588// PPC603E:#define __PPC__ 1
Hal Finkel6b984f02012-07-03 16:51:04 +00001589// PPC603E:#define __PTRDIFF_TYPE__ long int
1590// PPC603E:#define __PTRDIFF_WIDTH__ 32
1591// PPC603E:#define __REGISTER_PREFIX__
1592// PPC603E:#define __SCHAR_MAX__ 127
1593// PPC603E:#define __SHRT_MAX__ 32767
1594// PPC603E:#define __SIG_ATOMIC_WIDTH__ 32
1595// PPC603E:#define __SIZEOF_DOUBLE__ 8
1596// PPC603E:#define __SIZEOF_FLOAT__ 4
1597// PPC603E:#define __SIZEOF_INT__ 4
1598// PPC603E:#define __SIZEOF_LONG_DOUBLE__ 16
1599// PPC603E:#define __SIZEOF_LONG_LONG__ 8
1600// PPC603E:#define __SIZEOF_LONG__ 4
1601// PPC603E:#define __SIZEOF_POINTER__ 4
1602// PPC603E:#define __SIZEOF_PTRDIFF_T__ 4
1603// PPC603E:#define __SIZEOF_SHORT__ 2
1604// PPC603E:#define __SIZEOF_SIZE_T__ 4
1605// PPC603E:#define __SIZEOF_WCHAR_T__ 4
1606// PPC603E:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001607// PPC603E:#define __SIZE_MAX__ 4294967295U
Hal Finkel6b984f02012-07-03 16:51:04 +00001608// PPC603E:#define __SIZE_TYPE__ long unsigned int
1609// PPC603E:#define __SIZE_WIDTH__ 32
1610// PPC603E:#define __UINTMAX_TYPE__ long long unsigned int
1611// PPC603E:#define __USER_LABEL_PREFIX__ _
1612// PPC603E:#define __WCHAR_MAX__ 2147483647
1613// PPC603E:#define __WCHAR_TYPE__ int
1614// PPC603E:#define __WCHAR_WIDTH__ 32
1615// PPC603E:#define __WINT_TYPE__ int
1616// PPC603E:#define __WINT_WIDTH__ 32
1617// PPC603E:#define __powerpc__ 1
1618// PPC603E:#define __ppc__ 1
1619//
Hal Finkel8eb59282012-06-11 22:35:19 +00001620// 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 +00001621//
1622// PPC64:#define _ARCH_PPC 1
1623// PPC64:#define _ARCH_PPC64 1
Hal Finkel6b984f02012-07-03 16:51:04 +00001624// PPC64:#define _ARCH_PPCGR 1
1625// PPC64:#define _ARCH_PPCSQ 1
1626// PPC64:#define _ARCH_PWR4 1
1627// PPC64:#define _ARCH_PWR5 1
1628// PPC64:#define _ARCH_PWR6 1
Hal Finkel8eb59282012-06-11 22:35:19 +00001629// PPC64:#define _ARCH_PWR7 1
Chris Lattnere963d092009-10-29 04:55:36 +00001630// PPC64:#define _BIG_ENDIAN 1
1631// PPC64:#define _LP64 1
1632// PPC64:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001633// PPC64:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00001634// PPC64:#define __CHAR16_TYPE__ unsigned short
1635// PPC64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001636// PPC64:#define __CHAR_BIT__ 8
1637// PPC64:#define __CHAR_UNSIGNED__ 1
1638// PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1639// PPC64:#define __DBL_DIG__ 15
1640// PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1641// PPC64:#define __DBL_HAS_DENORM__ 1
1642// PPC64:#define __DBL_HAS_INFINITY__ 1
1643// PPC64:#define __DBL_HAS_QUIET_NAN__ 1
1644// PPC64:#define __DBL_MANT_DIG__ 53
1645// PPC64:#define __DBL_MAX_10_EXP__ 308
1646// PPC64:#define __DBL_MAX_EXP__ 1024
1647// PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
1648// PPC64:#define __DBL_MIN_10_EXP__ (-307)
1649// PPC64:#define __DBL_MIN_EXP__ (-1021)
1650// PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber3435ede2012-01-31 02:07:33 +00001651// PPC64:#define __DECIMAL_DIG__ 33
Chris Lattnere963d092009-10-29 04:55:36 +00001652// PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1653// PPC64:#define __FLT_DIG__ 6
1654// PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
1655// PPC64:#define __FLT_EVAL_METHOD__ 0
1656// PPC64:#define __FLT_HAS_DENORM__ 1
1657// PPC64:#define __FLT_HAS_INFINITY__ 1
1658// PPC64:#define __FLT_HAS_QUIET_NAN__ 1
1659// PPC64:#define __FLT_MANT_DIG__ 24
1660// PPC64:#define __FLT_MAX_10_EXP__ 38
1661// PPC64:#define __FLT_MAX_EXP__ 128
1662// PPC64:#define __FLT_MAX__ 3.40282347e+38F
1663// PPC64:#define __FLT_MIN_10_EXP__ (-37)
1664// PPC64:#define __FLT_MIN_EXP__ (-125)
1665// PPC64:#define __FLT_MIN__ 1.17549435e-38F
1666// PPC64:#define __FLT_RADIX__ 2
1667// PPC64:#define __INT16_TYPE__ short
1668// PPC64:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00001669// PPC64:#define __INT64_C_SUFFIX__ L
Chris Lattnere963d092009-10-29 04:55:36 +00001670// PPC64:#define __INT64_TYPE__ long int
1671// PPC64:#define __INT8_TYPE__ char
1672// PPC64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck9b25f782009-11-19 13:18:59 +00001673// PPC64:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00001674// PPC64:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00001675// PPC64:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00001676// PPC64:#define __INTPTR_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00001677// PPC64:#define __INT_MAX__ 2147483647
Nico Weber3435ede2012-01-31 02:07:33 +00001678// PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1679// PPC64:#define __LDBL_DIG__ 31
1680// PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00001681// PPC64:#define __LDBL_HAS_DENORM__ 1
1682// PPC64:#define __LDBL_HAS_INFINITY__ 1
1683// PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00001684// PPC64:#define __LDBL_MANT_DIG__ 106
Chris Lattnere963d092009-10-29 04:55:36 +00001685// PPC64:#define __LDBL_MAX_10_EXP__ 308
1686// PPC64:#define __LDBL_MAX_EXP__ 1024
Nico Weber3435ede2012-01-31 02:07:33 +00001687// PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1688// PPC64:#define __LDBL_MIN_10_EXP__ (-291)
1689// PPC64:#define __LDBL_MIN_EXP__ (-968)
1690// PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnere963d092009-10-29 04:55:36 +00001691// PPC64:#define __LONG_DOUBLE_128__ 1
1692// PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1693// PPC64:#define __LONG_MAX__ 9223372036854775807L
1694// PPC64:#define __LP64__ 1
1695// PPC64:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00001696// PPC64:#define __POINTER_WIDTH__ 64
1697// PPC64:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00001698// PPC64:#define __PPC64__ 1
1699// PPC64:#define __PPC__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00001700// PPC64:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00001701// PPC64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00001702// PPC64:#define __REGISTER_PREFIX__
1703// PPC64:#define __SCHAR_MAX__ 127
1704// PPC64:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00001705// PPC64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00001706// PPC64:#define __SIZEOF_DOUBLE__ 8
1707// PPC64:#define __SIZEOF_FLOAT__ 4
1708// PPC64:#define __SIZEOF_INT__ 4
Nico Weber3435ede2012-01-31 02:07:33 +00001709// PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohman04f87202010-05-28 00:27:15 +00001710// PPC64:#define __SIZEOF_LONG_LONG__ 8
1711// PPC64:#define __SIZEOF_LONG__ 8
1712// PPC64:#define __SIZEOF_POINTER__ 8
1713// PPC64:#define __SIZEOF_PTRDIFF_T__ 8
1714// PPC64:#define __SIZEOF_SHORT__ 2
1715// PPC64:#define __SIZEOF_SIZE_T__ 8
1716// PPC64:#define __SIZEOF_WCHAR_T__ 4
1717// PPC64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001718// PPC64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnere963d092009-10-29 04:55:36 +00001719// PPC64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00001720// PPC64:#define __SIZE_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00001721// PPC64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001722// PPC64:#define __USER_LABEL_PREFIX__ _
1723// PPC64:#define __WCHAR_MAX__ 2147483647
1724// PPC64:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00001725// PPC64:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00001726// PPC64:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00001727// PPC64:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00001728// PPC64:#define __ppc64__ 1
1729// PPC64:#define __ppc__ 1
1730//
Hal Finkeldf1e4bf2013-02-01 05:53:33 +00001731// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu a2q -fno-signed-char < /dev/null | FileCheck -check-prefix PPCA2Q %s
1732//
1733// PPCA2Q:#define _ARCH_A2 1
1734// PPCA2Q:#define _ARCH_A2Q 1
1735// PPCA2Q:#define _ARCH_PPC 1
1736// PPCA2Q:#define _ARCH_PPC64 1
1737// PPCA2Q:#define _ARCH_QP 1
1738//
1739// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-bgq-linux -fno-signed-char < /dev/null | FileCheck -check-prefix PPCBGQ %s
1740//
1741// PPCBGQ:#define __THW_BLUEGENE__ 1
1742// PPCBGQ:#define __TOS_BGQ__ 1
1743// PPCBGQ:#define __bg__ 1
1744// PPCBGQ:#define __bgq__ 1
1745//
Bill Schmidt38378a02013-02-01 20:23:10 +00001746// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu 630 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC630 %s
1747//
1748// PPC630:#define _ARCH_630 1
1749// PPC630:#define _ARCH_PPC 1
1750// PPC630:#define _ARCH_PPC64 1
1751// PPC630:#define _ARCH_PPCGR 1
1752//
1753// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR3 %s
1754//
1755// PPCPWR3:#define _ARCH_PPC 1
1756// PPCPWR3:#define _ARCH_PPC64 1
1757// PPCPWR3:#define _ARCH_PPCGR 1
1758//
1759// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER3 %s
1760//
1761// PPCPOWER3:#define _ARCH_PPC 1
1762// PPCPOWER3:#define _ARCH_PPC64 1
1763// PPCPOWER3:#define _ARCH_PPCGR 1
1764//
1765// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR4 %s
1766//
1767// PPCPWR4:#define _ARCH_PPC 1
1768// PPCPWR4:#define _ARCH_PPC64 1
1769// PPCPWR4:#define _ARCH_PPCGR 1
1770// PPCPWR4:#define _ARCH_PPCSQ 1
1771// PPCPWR4:#define _ARCH_PWR4 1
1772//
1773// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER4 %s
1774//
1775// PPCPOWER4:#define _ARCH_PPC 1
1776// PPCPOWER4:#define _ARCH_PPC64 1
1777// PPCPOWER4:#define _ARCH_PPCGR 1
1778// PPCPOWER4:#define _ARCH_PPCSQ 1
1779// PPCPOWER4:#define _ARCH_PWR4 1
1780//
1781// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5 %s
1782//
1783// PPCPWR5:#define _ARCH_PPC 1
1784// PPCPWR5:#define _ARCH_PPC64 1
1785// PPCPWR5:#define _ARCH_PPCGR 1
1786// PPCPWR5:#define _ARCH_PPCSQ 1
1787// PPCPWR5:#define _ARCH_PWR4 1
1788// PPCPWR5:#define _ARCH_PWR5 1
1789//
1790// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5 %s
1791//
1792// PPCPOWER5:#define _ARCH_PPC 1
1793// PPCPOWER5:#define _ARCH_PPC64 1
1794// PPCPOWER5:#define _ARCH_PPCGR 1
1795// PPCPOWER5:#define _ARCH_PPCSQ 1
1796// PPCPOWER5:#define _ARCH_PWR4 1
1797// PPCPOWER5:#define _ARCH_PWR5 1
1798//
1799// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5X %s
1800//
1801// PPCPWR5X:#define _ARCH_PPC 1
1802// PPCPWR5X:#define _ARCH_PPC64 1
1803// PPCPWR5X:#define _ARCH_PPCGR 1
1804// PPCPWR5X:#define _ARCH_PPCSQ 1
1805// PPCPWR5X:#define _ARCH_PWR4 1
1806// PPCPWR5X:#define _ARCH_PWR5 1
1807// PPCPWR5X:#define _ARCH_PWR5X 1
1808//
1809// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5X %s
1810//
1811// PPCPOWER5X:#define _ARCH_PPC 1
1812// PPCPOWER5X:#define _ARCH_PPC64 1
1813// PPCPOWER5X:#define _ARCH_PPCGR 1
1814// PPCPOWER5X:#define _ARCH_PPCSQ 1
1815// PPCPOWER5X:#define _ARCH_PWR4 1
1816// PPCPOWER5X:#define _ARCH_PWR5 1
1817// PPCPOWER5X:#define _ARCH_PWR5X 1
1818//
1819// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6 %s
1820//
1821// PPCPWR6:#define _ARCH_PPC 1
1822// PPCPWR6:#define _ARCH_PPC64 1
1823// PPCPWR6:#define _ARCH_PPCGR 1
1824// PPCPWR6:#define _ARCH_PPCSQ 1
1825// PPCPWR6:#define _ARCH_PWR4 1
1826// PPCPWR6:#define _ARCH_PWR5 1
1827// PPCPWR6:#define _ARCH_PWR5X 1
1828// PPCPWR6:#define _ARCH_PWR6 1
1829//
1830// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6 %s
1831//
1832// PPCPOWER6:#define _ARCH_PPC 1
1833// PPCPOWER6:#define _ARCH_PPC64 1
1834// PPCPOWER6:#define _ARCH_PPCGR 1
1835// PPCPOWER6:#define _ARCH_PPCSQ 1
1836// PPCPOWER6:#define _ARCH_PWR4 1
1837// PPCPOWER6:#define _ARCH_PWR5 1
1838// PPCPOWER6:#define _ARCH_PWR5X 1
1839// PPCPOWER6:#define _ARCH_PWR6 1
1840//
1841// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6X %s
1842//
1843// PPCPWR6X:#define _ARCH_PPC 1
1844// PPCPWR6X:#define _ARCH_PPC64 1
1845// PPCPWR6X:#define _ARCH_PPCGR 1
1846// PPCPWR6X:#define _ARCH_PPCSQ 1
1847// PPCPWR6X:#define _ARCH_PWR4 1
1848// PPCPWR6X:#define _ARCH_PWR5 1
1849// PPCPWR6X:#define _ARCH_PWR5X 1
1850// PPCPWR6X:#define _ARCH_PWR6 1
1851// PPCPWR6X:#define _ARCH_PWR6X 1
1852//
1853// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6X %s
1854//
1855// PPCPOWER6X:#define _ARCH_PPC 1
1856// PPCPOWER6X:#define _ARCH_PPC64 1
1857// PPCPOWER6X:#define _ARCH_PPCGR 1
1858// PPCPOWER6X:#define _ARCH_PPCSQ 1
1859// PPCPOWER6X:#define _ARCH_PWR4 1
1860// PPCPOWER6X:#define _ARCH_PWR5 1
1861// PPCPOWER6X:#define _ARCH_PWR5X 1
1862// PPCPOWER6X:#define _ARCH_PWR6 1
1863// PPCPOWER6X:#define _ARCH_PWR6X 1
1864//
1865// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR7 %s
1866//
1867// PPCPWR7:#define _ARCH_PPC 1
1868// PPCPWR7:#define _ARCH_PPC64 1
1869// PPCPWR7:#define _ARCH_PPCGR 1
1870// PPCPWR7:#define _ARCH_PPCSQ 1
1871// PPCPWR7:#define _ARCH_PWR4 1
1872// PPCPWR7:#define _ARCH_PWR5 1
1873// PPCPWR7:#define _ARCH_PWR5X 1
1874// PPCPWR7:#define _ARCH_PWR6 1
1875// PPCPWR7:#define _ARCH_PWR6X 1
1876// PPCPWR7:#define _ARCH_PWR7 1
1877//
1878// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER7 %s
1879//
1880// PPCPOWER7:#define _ARCH_PPC 1
1881// PPCPOWER7:#define _ARCH_PPC64 1
1882// PPCPOWER7:#define _ARCH_PPCGR 1
1883// PPCPOWER7:#define _ARCH_PPCSQ 1
1884// PPCPOWER7:#define _ARCH_PWR4 1
1885// PPCPOWER7:#define _ARCH_PWR5 1
1886// PPCPOWER7:#define _ARCH_PWR5X 1
1887// PPCPOWER7:#define _ARCH_PWR6 1
1888// PPCPOWER7:#define _ARCH_PWR6X 1
1889// PPCPOWER7:#define _ARCH_PWR7 1
1890//
Nico Weber3435ede2012-01-31 02:07:33 +00001891// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
1892//
1893// PPC64-LINUX:#define _ARCH_PPC 1
1894// PPC64-LINUX:#define _ARCH_PPC64 1
1895// PPC64-LINUX:#define _BIG_ENDIAN 1
1896// PPC64-LINUX:#define _LP64 1
1897// PPC64-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001898// PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber3435ede2012-01-31 02:07:33 +00001899// PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
1900// PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
1901// PPC64-LINUX:#define __CHAR_BIT__ 8
1902// PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
1903// PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1904// PPC64-LINUX:#define __DBL_DIG__ 15
1905// PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
1906// PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
1907// PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
1908// PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
1909// PPC64-LINUX:#define __DBL_MANT_DIG__ 53
1910// PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
1911// PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
1912// PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
1913// PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
1914// PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
1915// PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
1916// PPC64-LINUX:#define __DECIMAL_DIG__ 33
1917// PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1918// PPC64-LINUX:#define __FLT_DIG__ 6
1919// PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
1920// PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
1921// PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
1922// PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
1923// PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
1924// PPC64-LINUX:#define __FLT_MANT_DIG__ 24
1925// PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
1926// PPC64-LINUX:#define __FLT_MAX_EXP__ 128
1927// PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
1928// PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
1929// PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
1930// PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
1931// PPC64-LINUX:#define __FLT_RADIX__ 2
1932// PPC64-LINUX:#define __INT16_TYPE__ short
1933// PPC64-LINUX:#define __INT32_TYPE__ int
1934// PPC64-LINUX:#define __INT64_C_SUFFIX__ L
1935// PPC64-LINUX:#define __INT64_TYPE__ long int
1936// PPC64-LINUX:#define __INT8_TYPE__ char
1937// PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
1938// PPC64-LINUX:#define __INTMAX_TYPE__ long int
1939// PPC64-LINUX:#define __INTMAX_WIDTH__ 64
1940// PPC64-LINUX:#define __INTPTR_TYPE__ long int
1941// PPC64-LINUX:#define __INTPTR_WIDTH__ 64
1942// PPC64-LINUX:#define __INT_MAX__ 2147483647
1943// PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1944// PPC64-LINUX:#define __LDBL_DIG__ 31
1945// PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1946// PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
1947// PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
1948// PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
1949// PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
1950// PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
1951// PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
1952// PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1953// PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
1954// PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
1955// PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1956// PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
1957// PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
1958// PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
1959// PPC64-LINUX:#define __LP64__ 1
1960// PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00001961// PPC64-LINUX:#define __POINTER_WIDTH__ 64
1962// PPC64-LINUX:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00001963// PPC64-LINUX:#define __PPC64__ 1
1964// PPC64-LINUX:#define __PPC__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00001965// PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
1966// PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
1967// PPC64-LINUX:#define __REGISTER_PREFIX__
1968// PPC64-LINUX:#define __SCHAR_MAX__ 127
1969// PPC64-LINUX:#define __SHRT_MAX__ 32767
1970// PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
1971// PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
1972// PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
1973// PPC64-LINUX:#define __SIZEOF_INT__ 4
1974// PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
1975// PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
1976// PPC64-LINUX:#define __SIZEOF_LONG__ 8
1977// PPC64-LINUX:#define __SIZEOF_POINTER__ 8
1978// PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
1979// PPC64-LINUX:#define __SIZEOF_SHORT__ 2
1980// PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
1981// PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
1982// PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001983// PPC64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Nico Weber3435ede2012-01-31 02:07:33 +00001984// PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
1985// PPC64-LINUX:#define __SIZE_WIDTH__ 64
1986// PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
1987// PPC64-LINUX:#define __USER_LABEL_PREFIX__
1988// PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
1989// PPC64-LINUX:#define __WCHAR_TYPE__ int
1990// PPC64-LINUX:#define __WCHAR_WIDTH__ 32
1991// PPC64-LINUX:#define __WINT_TYPE__ unsigned int
1992// PPC64-LINUX:#define __WINT_UNSIGNED__ 1
1993// PPC64-LINUX:#define __WINT_WIDTH__ 32
1994// PPC64-LINUX:#define __powerpc64__ 1
1995// PPC64-LINUX:#define __powerpc__ 1
1996// PPC64-LINUX:#define __ppc64__ 1
1997// PPC64-LINUX:#define __ppc__ 1
1998//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00001999// 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 +00002000//
2001// PPC:#define _ARCH_PPC 1
2002// PPC:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002003// PPC-NOT:#define _LP64
Chris Lattnere963d092009-10-29 04:55:36 +00002004// PPC:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002005// PPC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002006// PPC:#define __CHAR16_TYPE__ unsigned short
2007// PPC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002008// PPC:#define __CHAR_BIT__ 8
2009// PPC:#define __CHAR_UNSIGNED__ 1
2010// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2011// PPC:#define __DBL_DIG__ 15
2012// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2013// PPC:#define __DBL_HAS_DENORM__ 1
2014// PPC:#define __DBL_HAS_INFINITY__ 1
2015// PPC:#define __DBL_HAS_QUIET_NAN__ 1
2016// PPC:#define __DBL_MANT_DIG__ 53
2017// PPC:#define __DBL_MAX_10_EXP__ 308
2018// PPC:#define __DBL_MAX_EXP__ 1024
2019// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
2020// PPC:#define __DBL_MIN_10_EXP__ (-307)
2021// PPC:#define __DBL_MIN_EXP__ (-1021)
2022// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber3435ede2012-01-31 02:07:33 +00002023// PPC:#define __DECIMAL_DIG__ 33
Chris Lattnere963d092009-10-29 04:55:36 +00002024// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2025// PPC:#define __FLT_DIG__ 6
2026// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
2027// PPC:#define __FLT_EVAL_METHOD__ 0
2028// PPC:#define __FLT_HAS_DENORM__ 1
2029// PPC:#define __FLT_HAS_INFINITY__ 1
2030// PPC:#define __FLT_HAS_QUIET_NAN__ 1
2031// PPC:#define __FLT_MANT_DIG__ 24
2032// PPC:#define __FLT_MAX_10_EXP__ 38
2033// PPC:#define __FLT_MAX_EXP__ 128
2034// PPC:#define __FLT_MAX__ 3.40282347e+38F
2035// PPC:#define __FLT_MIN_10_EXP__ (-37)
2036// PPC:#define __FLT_MIN_EXP__ (-125)
2037// PPC:#define __FLT_MIN__ 1.17549435e-38F
2038// PPC:#define __FLT_RADIX__ 2
2039// PPC:#define __INT16_TYPE__ short
2040// PPC:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002041// PPC:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00002042// PPC:#define __INT64_TYPE__ long long int
2043// PPC:#define __INT8_TYPE__ char
2044// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00002045// PPC:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002046// PPC:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002047// PPC:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002048// PPC:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002049// PPC:#define __INT_MAX__ 2147483647
Nico Weber3435ede2012-01-31 02:07:33 +00002050// PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2051// PPC:#define __LDBL_DIG__ 31
2052// PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002053// PPC:#define __LDBL_HAS_DENORM__ 1
2054// PPC:#define __LDBL_HAS_INFINITY__ 1
2055// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002056// PPC:#define __LDBL_MANT_DIG__ 106
Chris Lattnere963d092009-10-29 04:55:36 +00002057// PPC:#define __LDBL_MAX_10_EXP__ 308
2058// PPC:#define __LDBL_MAX_EXP__ 1024
Nico Weber3435ede2012-01-31 02:07:33 +00002059// PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2060// PPC:#define __LDBL_MIN_10_EXP__ (-291)
2061// PPC:#define __LDBL_MIN_EXP__ (-968)
2062// PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnere963d092009-10-29 04:55:36 +00002063// PPC:#define __LONG_DOUBLE_128__ 1
2064// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2065// PPC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002066// PPC-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00002067// PPC:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002068// PPC:#define __POINTER_WIDTH__ 32
2069// PPC:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002070// PPC:#define __PPC__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002071// PPC:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002072// PPC:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002073// PPC:#define __REGISTER_PREFIX__
2074// PPC:#define __SCHAR_MAX__ 127
2075// PPC:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002076// PPC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002077// PPC:#define __SIZEOF_DOUBLE__ 8
2078// PPC:#define __SIZEOF_FLOAT__ 4
2079// PPC:#define __SIZEOF_INT__ 4
Nico Weber3435ede2012-01-31 02:07:33 +00002080// PPC:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohman04f87202010-05-28 00:27:15 +00002081// PPC:#define __SIZEOF_LONG_LONG__ 8
2082// PPC:#define __SIZEOF_LONG__ 4
2083// PPC:#define __SIZEOF_POINTER__ 4
2084// PPC:#define __SIZEOF_PTRDIFF_T__ 4
2085// PPC:#define __SIZEOF_SHORT__ 2
2086// PPC:#define __SIZEOF_SIZE_T__ 4
2087// PPC:#define __SIZEOF_WCHAR_T__ 4
2088// PPC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002089// PPC:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00002090// PPC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002091// PPC:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002092// PPC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002093// PPC:#define __USER_LABEL_PREFIX__ _
2094// PPC:#define __WCHAR_MAX__ 2147483647
2095// PPC:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002096// PPC:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002097// PPC:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002098// PPC:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002099// PPC:#define __ppc__ 1
2100//
Nico Weber3435ede2012-01-31 02:07:33 +00002101// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
2102//
2103// PPC-LINUX:#define _ARCH_PPC 1
2104// PPC-LINUX:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002105// PPC-LINUX-NOT:#define _LP64
Nico Weber3435ede2012-01-31 02:07:33 +00002106// PPC-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002107// PPC-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber3435ede2012-01-31 02:07:33 +00002108// PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
2109// PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
2110// PPC-LINUX:#define __CHAR_BIT__ 8
2111// PPC-LINUX:#define __CHAR_UNSIGNED__ 1
2112// PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2113// PPC-LINUX:#define __DBL_DIG__ 15
2114// PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2115// PPC-LINUX:#define __DBL_HAS_DENORM__ 1
2116// PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
2117// PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2118// PPC-LINUX:#define __DBL_MANT_DIG__ 53
2119// PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
2120// PPC-LINUX:#define __DBL_MAX_EXP__ 1024
2121// PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2122// PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2123// PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
2124// PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2125// PPC-LINUX:#define __DECIMAL_DIG__ 33
2126// PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2127// PPC-LINUX:#define __FLT_DIG__ 6
2128// PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2129// PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
2130// PPC-LINUX:#define __FLT_HAS_DENORM__ 1
2131// PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
2132// PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2133// PPC-LINUX:#define __FLT_MANT_DIG__ 24
2134// PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
2135// PPC-LINUX:#define __FLT_MAX_EXP__ 128
2136// PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2137// PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2138// PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
2139// PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2140// PPC-LINUX:#define __FLT_RADIX__ 2
2141// PPC-LINUX:#define __INT16_TYPE__ short
2142// PPC-LINUX:#define __INT32_TYPE__ int
2143// PPC-LINUX:#define __INT64_C_SUFFIX__ LL
2144// PPC-LINUX:#define __INT64_TYPE__ long long int
2145// PPC-LINUX:#define __INT8_TYPE__ char
2146// PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
2147// PPC-LINUX:#define __INTMAX_TYPE__ long long int
2148// PPC-LINUX:#define __INTMAX_WIDTH__ 64
Hal Finkel26908382012-03-02 20:54:36 +00002149// PPC-LINUX:#define __INTPTR_TYPE__ int
Nico Weber3435ede2012-01-31 02:07:33 +00002150// PPC-LINUX:#define __INTPTR_WIDTH__ 32
2151// PPC-LINUX:#define __INT_MAX__ 2147483647
2152// PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2153// PPC-LINUX:#define __LDBL_DIG__ 31
2154// PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2155// PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
2156// PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
2157// PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2158// PPC-LINUX:#define __LDBL_MANT_DIG__ 106
2159// PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
2160// PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
2161// PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2162// PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2163// PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
2164// PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2165// PPC-LINUX:#define __LONG_DOUBLE_128__ 1
2166// PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2167// PPC-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002168// PPC-LINUX-NOT:#define __LP64__
Nico Weber3435ede2012-01-31 02:07:33 +00002169// PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002170// PPC-LINUX:#define __POINTER_WIDTH__ 32
2171// PPC-LINUX:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002172// PPC-LINUX:#define __PPC__ 1
Hal Finkel26908382012-03-02 20:54:36 +00002173// PPC-LINUX:#define __PTRDIFF_TYPE__ int
Nico Weber3435ede2012-01-31 02:07:33 +00002174// PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
2175// PPC-LINUX:#define __REGISTER_PREFIX__
2176// PPC-LINUX:#define __SCHAR_MAX__ 127
2177// PPC-LINUX:#define __SHRT_MAX__ 32767
2178// PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2179// PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
2180// PPC-LINUX:#define __SIZEOF_FLOAT__ 4
2181// PPC-LINUX:#define __SIZEOF_INT__ 4
2182// PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2183// PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
2184// PPC-LINUX:#define __SIZEOF_LONG__ 4
2185// PPC-LINUX:#define __SIZEOF_POINTER__ 4
2186// PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
2187// PPC-LINUX:#define __SIZEOF_SHORT__ 2
2188// PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
2189// PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
2190// PPC-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002191// PPC-LINUX:#define __SIZE_MAX__ 4294967295U
Nico Weber3435ede2012-01-31 02:07:33 +00002192// PPC-LINUX:#define __SIZE_TYPE__ unsigned int
2193// PPC-LINUX:#define __SIZE_WIDTH__ 32
2194// PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
2195// PPC-LINUX:#define __USER_LABEL_PREFIX__
2196// PPC-LINUX:#define __WCHAR_MAX__ 2147483647
2197// PPC-LINUX:#define __WCHAR_TYPE__ int
2198// PPC-LINUX:#define __WCHAR_WIDTH__ 32
2199// PPC-LINUX:#define __WINT_TYPE__ unsigned int
2200// PPC-LINUX:#define __WINT_UNSIGNED__ 1
2201// PPC-LINUX:#define __WINT_WIDTH__ 32
2202// PPC-LINUX:#define __powerpc__ 1
2203// PPC-LINUX:#define __ppc__ 1
2204//
David Fang072d47b2013-05-16 17:51:48 +00002205// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-apple-darwin8 < /dev/null | FileCheck -check-prefix PPC-DARWIN %s
2206//
2207// PPC-DARWIN:#define _ARCH_PPC 1
2208// PPC-DARWIN:#define _BIG_ENDIAN 1
2209// PPC-DARWIN:#define __BIG_ENDIAN__ 1
2210// PPC-DARWIN:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2211// PPC-DARWIN:#define __CHAR16_TYPE__ unsigned short
2212// PPC-DARWIN:#define __CHAR32_TYPE__ unsigned int
2213// PPC-DARWIN:#define __CHAR_BIT__ 8
2214// PPC-DARWIN:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2215// PPC-DARWIN:#define __DBL_DIG__ 15
2216// PPC-DARWIN:#define __DBL_EPSILON__ 2.2204460492503131e-16
2217// PPC-DARWIN:#define __DBL_HAS_DENORM__ 1
2218// PPC-DARWIN:#define __DBL_HAS_INFINITY__ 1
2219// PPC-DARWIN:#define __DBL_HAS_QUIET_NAN__ 1
2220// PPC-DARWIN:#define __DBL_MANT_DIG__ 53
2221// PPC-DARWIN:#define __DBL_MAX_10_EXP__ 308
2222// PPC-DARWIN:#define __DBL_MAX_EXP__ 1024
2223// PPC-DARWIN:#define __DBL_MAX__ 1.7976931348623157e+308
2224// PPC-DARWIN:#define __DBL_MIN_10_EXP__ (-307)
2225// PPC-DARWIN:#define __DBL_MIN_EXP__ (-1021)
2226// PPC-DARWIN:#define __DBL_MIN__ 2.2250738585072014e-308
2227// PPC-DARWIN:#define __DECIMAL_DIG__ 33
2228// PPC-DARWIN:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2229// PPC-DARWIN:#define __FLT_DIG__ 6
2230// PPC-DARWIN:#define __FLT_EPSILON__ 1.19209290e-7F
2231// PPC-DARWIN:#define __FLT_EVAL_METHOD__ 0
2232// PPC-DARWIN:#define __FLT_HAS_DENORM__ 1
2233// PPC-DARWIN:#define __FLT_HAS_INFINITY__ 1
2234// PPC-DARWIN:#define __FLT_HAS_QUIET_NAN__ 1
2235// PPC-DARWIN:#define __FLT_MANT_DIG__ 24
2236// PPC-DARWIN:#define __FLT_MAX_10_EXP__ 38
2237// PPC-DARWIN:#define __FLT_MAX_EXP__ 128
2238// PPC-DARWIN:#define __FLT_MAX__ 3.40282347e+38F
2239// PPC-DARWIN:#define __FLT_MIN_10_EXP__ (-37)
2240// PPC-DARWIN:#define __FLT_MIN_EXP__ (-125)
2241// PPC-DARWIN:#define __FLT_MIN__ 1.17549435e-38F
2242// PPC-DARWIN:#define __FLT_RADIX__ 2
2243// PPC-DARWIN:#define __INT16_TYPE__ short
2244// PPC-DARWIN:#define __INT32_TYPE__ int
2245// PPC-DARWIN:#define __INT64_C_SUFFIX__ LL
2246// PPC-DARWIN:#define __INT64_TYPE__ long long int
2247// PPC-DARWIN:#define __INT8_TYPE__ char
2248// PPC-DARWIN:#define __INTMAX_MAX__ 9223372036854775807LL
2249// PPC-DARWIN:#define __INTMAX_TYPE__ long long int
2250// PPC-DARWIN:#define __INTMAX_WIDTH__ 64
2251// PPC-DARWIN:#define __INTPTR_TYPE__ long int
2252// PPC-DARWIN:#define __INTPTR_WIDTH__ 32
2253// PPC-DARWIN:#define __INT_MAX__ 2147483647
2254// PPC-DARWIN:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2255// PPC-DARWIN:#define __LDBL_DIG__ 31
2256// PPC-DARWIN:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2257// PPC-DARWIN:#define __LDBL_HAS_DENORM__ 1
2258// PPC-DARWIN:#define __LDBL_HAS_INFINITY__ 1
2259// PPC-DARWIN:#define __LDBL_HAS_QUIET_NAN__ 1
2260// PPC-DARWIN:#define __LDBL_MANT_DIG__ 106
2261// PPC-DARWIN:#define __LDBL_MAX_10_EXP__ 308
2262// PPC-DARWIN:#define __LDBL_MAX_EXP__ 1024
2263// PPC-DARWIN:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2264// PPC-DARWIN:#define __LDBL_MIN_10_EXP__ (-291)
2265// PPC-DARWIN:#define __LDBL_MIN_EXP__ (-968)
2266// PPC-DARWIN:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2267// PPC-DARWIN:#define __LONG_DOUBLE_128__ 1
2268// PPC-DARWIN:#define __LONG_LONG_MAX__ 9223372036854775807LL
2269// PPC-DARWIN:#define __LONG_MAX__ 2147483647L
2270// PPC-DARWIN:#define __MACH__ 1
2271// PPC-DARWIN:#define __NATURAL_ALIGNMENT__ 1
2272// PPC-DARWIN:#define __ORDER_BIG_ENDIAN__ 4321
2273// PPC-DARWIN:#define __ORDER_LITTLE_ENDIAN__ 1234
2274// PPC-DARWIN:#define __ORDER_PDP_ENDIAN__ 3412
2275// PPC-DARWIN:#define __POINTER_WIDTH__ 32
2276// PPC-DARWIN:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002277// PPC-DARWIN:#define __PPC__ 1
David Fang072d47b2013-05-16 17:51:48 +00002278// PPC-DARWIN:#define __PTRDIFF_TYPE__ int
2279// PPC-DARWIN:#define __PTRDIFF_WIDTH__ 32
2280// PPC-DARWIN:#define __REGISTER_PREFIX__
2281// PPC-DARWIN:#define __SCHAR_MAX__ 127
2282// PPC-DARWIN:#define __SHRT_MAX__ 32767
2283// PPC-DARWIN:#define __SIG_ATOMIC_WIDTH__ 32
2284// PPC-DARWIN:#define __SIZEOF_DOUBLE__ 8
2285// PPC-DARWIN:#define __SIZEOF_FLOAT__ 4
2286// PPC-DARWIN:#define __SIZEOF_INT__ 4
2287// PPC-DARWIN:#define __SIZEOF_LONG_DOUBLE__ 16
2288// PPC-DARWIN:#define __SIZEOF_LONG_LONG__ 8
2289// PPC-DARWIN:#define __SIZEOF_LONG__ 4
2290// PPC-DARWIN:#define __SIZEOF_POINTER__ 4
2291// PPC-DARWIN:#define __SIZEOF_PTRDIFF_T__ 4
2292// PPC-DARWIN:#define __SIZEOF_SHORT__ 2
2293// PPC-DARWIN:#define __SIZEOF_SIZE_T__ 4
2294// PPC-DARWIN:#define __SIZEOF_WCHAR_T__ 4
2295// PPC-DARWIN:#define __SIZEOF_WINT_T__ 4
2296// PPC-DARWIN:#define __SIZE_MAX__ 4294967295UL
2297// PPC-DARWIN:#define __SIZE_TYPE__ long unsigned int
2298// PPC-DARWIN:#define __SIZE_WIDTH__ 32
2299// PPC-DARWIN:#define __STDC_HOSTED__ 0
2300// PPC-DARWIN:#define __STDC_VERSION__ 199901L
2301// PPC-DARWIN:#define __STDC__ 1
2302// PPC-DARWIN:#define __UINTMAX_TYPE__ long long unsigned int
2303// PPC-DARWIN:#define __USER_LABEL_PREFIX__ _
2304// PPC-DARWIN:#define __WCHAR_MAX__ 2147483647
2305// PPC-DARWIN:#define __WCHAR_TYPE__ int
2306// PPC-DARWIN:#define __WCHAR_WIDTH__ 32
2307// PPC-DARWIN:#define __WINT_TYPE__ int
2308// PPC-DARWIN:#define __WINT_WIDTH__ 32
2309// PPC-DARWIN:#define __powerpc__ 1
2310// PPC-DARWIN:#define __ppc__ 1
2311//
Ulrich Weigand47445072013-05-06 16:26:41 +00002312// RUN: %clang_cc1 -E -dM -ffreestanding -triple=s390x-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix S390X %s
2313//
2314// S390X:#define __CHAR16_TYPE__ unsigned short
2315// S390X:#define __CHAR32_TYPE__ unsigned int
2316// S390X:#define __CHAR_BIT__ 8
2317// S390X:#define __CHAR_UNSIGNED__ 1
2318// S390X:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2319// S390X:#define __DBL_DIG__ 15
2320// S390X:#define __DBL_EPSILON__ 2.2204460492503131e-16
2321// S390X:#define __DBL_HAS_DENORM__ 1
2322// S390X:#define __DBL_HAS_INFINITY__ 1
2323// S390X:#define __DBL_HAS_QUIET_NAN__ 1
2324// S390X:#define __DBL_MANT_DIG__ 53
2325// S390X:#define __DBL_MAX_10_EXP__ 308
2326// S390X:#define __DBL_MAX_EXP__ 1024
2327// S390X:#define __DBL_MAX__ 1.7976931348623157e+308
2328// S390X:#define __DBL_MIN_10_EXP__ (-307)
2329// S390X:#define __DBL_MIN_EXP__ (-1021)
2330// S390X:#define __DBL_MIN__ 2.2250738585072014e-308
2331// S390X:#define __DECIMAL_DIG__ 36
2332// S390X:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2333// S390X:#define __FLT_DIG__ 6
2334// S390X:#define __FLT_EPSILON__ 1.19209290e-7F
2335// S390X:#define __FLT_EVAL_METHOD__ 0
2336// S390X:#define __FLT_HAS_DENORM__ 1
2337// S390X:#define __FLT_HAS_INFINITY__ 1
2338// S390X:#define __FLT_HAS_QUIET_NAN__ 1
2339// S390X:#define __FLT_MANT_DIG__ 24
2340// S390X:#define __FLT_MAX_10_EXP__ 38
2341// S390X:#define __FLT_MAX_EXP__ 128
2342// S390X:#define __FLT_MAX__ 3.40282347e+38F
2343// S390X:#define __FLT_MIN_10_EXP__ (-37)
2344// S390X:#define __FLT_MIN_EXP__ (-125)
2345// S390X:#define __FLT_MIN__ 1.17549435e-38F
2346// S390X:#define __FLT_RADIX__ 2
2347// S390X:#define __INT16_TYPE__ short
2348// S390X:#define __INT32_TYPE__ int
2349// S390X:#define __INT64_C_SUFFIX__ L
2350// S390X:#define __INT64_TYPE__ long long int
2351// S390X:#define __INT8_TYPE__ char
2352// S390X:#define __INTMAX_MAX__ 9223372036854775807LL
2353// S390X:#define __INTMAX_TYPE__ long long int
2354// S390X:#define __INTMAX_WIDTH__ 64
2355// S390X:#define __INTPTR_TYPE__ long int
2356// S390X:#define __INTPTR_WIDTH__ 64
2357// S390X:#define __INT_MAX__ 2147483647
2358// S390X:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
2359// S390X:#define __LDBL_DIG__ 33
2360// S390X:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
2361// S390X:#define __LDBL_HAS_DENORM__ 1
2362// S390X:#define __LDBL_HAS_INFINITY__ 1
2363// S390X:#define __LDBL_HAS_QUIET_NAN__ 1
2364// S390X:#define __LDBL_MANT_DIG__ 113
2365// S390X:#define __LDBL_MAX_10_EXP__ 4932
2366// S390X:#define __LDBL_MAX_EXP__ 16384
2367// S390X:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
2368// S390X:#define __LDBL_MIN_10_EXP__ (-4931)
2369// S390X:#define __LDBL_MIN_EXP__ (-16381)
2370// S390X:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
2371// S390X:#define __LONG_LONG_MAX__ 9223372036854775807LL
2372// S390X:#define __LONG_MAX__ 9223372036854775807L
2373// S390X:#define __NO_INLINE__ 1
2374// S390X:#define __POINTER_WIDTH__ 64
2375// S390X:#define __PTRDIFF_TYPE__ long int
2376// S390X:#define __PTRDIFF_WIDTH__ 64
2377// S390X:#define __SCHAR_MAX__ 127
2378// S390X:#define __SHRT_MAX__ 32767
2379// S390X:#define __SIG_ATOMIC_WIDTH__ 32
2380// S390X:#define __SIZEOF_DOUBLE__ 8
2381// S390X:#define __SIZEOF_FLOAT__ 4
2382// S390X:#define __SIZEOF_INT__ 4
2383// S390X:#define __SIZEOF_LONG_DOUBLE__ 16
2384// S390X:#define __SIZEOF_LONG_LONG__ 8
2385// S390X:#define __SIZEOF_LONG__ 8
2386// S390X:#define __SIZEOF_POINTER__ 8
2387// S390X:#define __SIZEOF_PTRDIFF_T__ 8
2388// S390X:#define __SIZEOF_SHORT__ 2
2389// S390X:#define __SIZEOF_SIZE_T__ 8
2390// S390X:#define __SIZEOF_WCHAR_T__ 4
2391// S390X:#define __SIZEOF_WINT_T__ 4
2392// S390X:#define __SIZE_TYPE__ long unsigned int
2393// S390X:#define __SIZE_WIDTH__ 64
2394// S390X:#define __UINTMAX_TYPE__ long long unsigned int
2395// S390X:#define __USER_LABEL_PREFIX__ _
2396// S390X:#define __WCHAR_MAX__ 2147483647
2397// S390X:#define __WCHAR_TYPE__ int
2398// S390X:#define __WCHAR_WIDTH__ 32
2399// S390X:#define __WINT_TYPE__ int
2400// S390X:#define __WINT_WIDTH__ 32
2401// S390X:#define __s390__ 1
2402// S390X:#define __s390x__ 1
2403//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002404// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
Chris Lattnere963d092009-10-29 04:55:36 +00002405//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002406// SPARC-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002407// SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002408// SPARC:#define __CHAR16_TYPE__ unsigned short
2409// SPARC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002410// SPARC:#define __CHAR_BIT__ 8
2411// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2412// SPARC:#define __DBL_DIG__ 15
2413// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2414// SPARC:#define __DBL_HAS_DENORM__ 1
2415// SPARC:#define __DBL_HAS_INFINITY__ 1
2416// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
2417// SPARC:#define __DBL_MANT_DIG__ 53
2418// SPARC:#define __DBL_MAX_10_EXP__ 308
2419// SPARC:#define __DBL_MAX_EXP__ 1024
2420// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
2421// SPARC:#define __DBL_MIN_10_EXP__ (-307)
2422// SPARC:#define __DBL_MIN_EXP__ (-1021)
2423// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
2424// SPARC:#define __DECIMAL_DIG__ 17
2425// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2426// SPARC:#define __FLT_DIG__ 6
2427// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
2428// SPARC:#define __FLT_EVAL_METHOD__ 0
2429// SPARC:#define __FLT_HAS_DENORM__ 1
2430// SPARC:#define __FLT_HAS_INFINITY__ 1
2431// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
2432// SPARC:#define __FLT_MANT_DIG__ 24
2433// SPARC:#define __FLT_MAX_10_EXP__ 38
2434// SPARC:#define __FLT_MAX_EXP__ 128
2435// SPARC:#define __FLT_MAX__ 3.40282347e+38F
2436// SPARC:#define __FLT_MIN_10_EXP__ (-37)
2437// SPARC:#define __FLT_MIN_EXP__ (-125)
2438// SPARC:#define __FLT_MIN__ 1.17549435e-38F
2439// SPARC:#define __FLT_RADIX__ 2
2440// SPARC:#define __INT16_TYPE__ short
2441// SPARC:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002442// SPARC:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00002443// SPARC:#define __INT64_TYPE__ long long int
2444// SPARC:#define __INT8_TYPE__ char
2445// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00002446// SPARC:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002447// SPARC:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002448// SPARC:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002449// SPARC:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002450// SPARC:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002451// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002452// SPARC:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002453// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +00002454// SPARC:#define __LDBL_HAS_DENORM__ 1
2455// SPARC:#define __LDBL_HAS_INFINITY__ 1
2456// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
2457// SPARC:#define __LDBL_MANT_DIG__ 53
2458// SPARC:#define __LDBL_MAX_10_EXP__ 308
2459// SPARC:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002460// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +00002461// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
2462// SPARC:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002463// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnere963d092009-10-29 04:55:36 +00002464// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2465// SPARC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002466// SPARC-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00002467// SPARC:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002468// SPARC:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002469// SPARC:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbaracde99e2009-12-18 18:42:37 +00002470// SPARC:#define __REGISTER_PREFIX__
Chris Lattnere963d092009-10-29 04:55:36 +00002471// SPARC:#define __SCHAR_MAX__ 127
2472// SPARC:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002473// SPARC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002474// SPARC:#define __SIZEOF_DOUBLE__ 8
2475// SPARC:#define __SIZEOF_FLOAT__ 4
2476// SPARC:#define __SIZEOF_INT__ 4
2477// SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
2478// SPARC:#define __SIZEOF_LONG_LONG__ 8
2479// SPARC:#define __SIZEOF_LONG__ 4
2480// SPARC:#define __SIZEOF_POINTER__ 4
2481// SPARC:#define __SIZEOF_PTRDIFF_T__ 4
2482// SPARC:#define __SIZEOF_SHORT__ 2
2483// SPARC:#define __SIZEOF_SIZE_T__ 4
2484// SPARC:#define __SIZEOF_WCHAR_T__ 4
2485// SPARC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002486// SPARC:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00002487// SPARC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002488// SPARC:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002489// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002490// SPARC:#define __USER_LABEL_PREFIX__ _
Daniel Dunbar3b17a862011-03-31 00:53:51 +00002491// SPARC:#define __VERSION__ "4.2.1 Compatible
Chris Lattnere963d092009-10-29 04:55:36 +00002492// SPARC:#define __WCHAR_MAX__ 2147483647
2493// SPARC:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002494// SPARC:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002495// SPARC:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002496// SPARC:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002497// SPARC:#define __sparc 1
2498// SPARC:#define __sparc__ 1
2499// SPARC:#define __sparcv8 1
2500// SPARC:#define sparc 1
2501//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002502// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
Chris Lattnere963d092009-10-29 04:55:36 +00002503//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002504// TCE-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002505// TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002506// TCE:#define __CHAR16_TYPE__ unsigned short
2507// TCE:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002508// TCE:#define __CHAR_BIT__ 8
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002509// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45
Chris Lattnere963d092009-10-29 04:55:36 +00002510// TCE:#define __DBL_DIG__ 6
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002511// TCE:#define __DBL_EPSILON__ 1.19209290e-7
Chris Lattnere963d092009-10-29 04:55:36 +00002512// TCE:#define __DBL_HAS_DENORM__ 1
2513// TCE:#define __DBL_HAS_INFINITY__ 1
2514// TCE:#define __DBL_HAS_QUIET_NAN__ 1
2515// TCE:#define __DBL_MANT_DIG__ 24
2516// TCE:#define __DBL_MAX_10_EXP__ 38
2517// TCE:#define __DBL_MAX_EXP__ 128
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002518// TCE:#define __DBL_MAX__ 3.40282347e+38
Chris Lattnere963d092009-10-29 04:55:36 +00002519// TCE:#define __DBL_MIN_10_EXP__ (-37)
2520// TCE:#define __DBL_MIN_EXP__ (-125)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002521// TCE:#define __DBL_MIN__ 1.17549435e-38
Chris Lattnere963d092009-10-29 04:55:36 +00002522// TCE:#define __DECIMAL_DIG__ -1
2523// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2524// TCE:#define __FLT_DIG__ 6
2525// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
2526// TCE:#define __FLT_EVAL_METHOD__ 0
2527// TCE:#define __FLT_HAS_DENORM__ 1
2528// TCE:#define __FLT_HAS_INFINITY__ 1
2529// TCE:#define __FLT_HAS_QUIET_NAN__ 1
2530// TCE:#define __FLT_MANT_DIG__ 24
2531// TCE:#define __FLT_MAX_10_EXP__ 38
2532// TCE:#define __FLT_MAX_EXP__ 128
2533// TCE:#define __FLT_MAX__ 3.40282347e+38F
2534// TCE:#define __FLT_MIN_10_EXP__ (-37)
2535// TCE:#define __FLT_MIN_EXP__ (-125)
2536// TCE:#define __FLT_MIN__ 1.17549435e-38F
2537// TCE:#define __FLT_RADIX__ 2
2538// TCE:#define __INT16_TYPE__ short
2539// TCE:#define __INT32_TYPE__ int
2540// TCE:#define __INT8_TYPE__ char
2541// TCE:#define __INTMAX_MAX__ 2147483647L
Ken Dyck9b25f782009-11-19 13:18:59 +00002542// TCE:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002543// TCE:#define __INTMAX_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002544// TCE:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002545// TCE:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002546// TCE:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002547// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45L
Chris Lattnere963d092009-10-29 04:55:36 +00002548// TCE:#define __LDBL_DIG__ 6
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002549// TCE:#define __LDBL_EPSILON__ 1.19209290e-7L
Chris Lattnere963d092009-10-29 04:55:36 +00002550// TCE:#define __LDBL_HAS_DENORM__ 1
2551// TCE:#define __LDBL_HAS_INFINITY__ 1
2552// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
2553// TCE:#define __LDBL_MANT_DIG__ 24
2554// TCE:#define __LDBL_MAX_10_EXP__ 38
2555// TCE:#define __LDBL_MAX_EXP__ 128
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002556// TCE:#define __LDBL_MAX__ 3.40282347e+38L
Chris Lattnere963d092009-10-29 04:55:36 +00002557// TCE:#define __LDBL_MIN_10_EXP__ (-37)
2558// TCE:#define __LDBL_MIN_EXP__ (-125)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002559// TCE:#define __LDBL_MIN__ 1.17549435e-38L
Chris Lattnere963d092009-10-29 04:55:36 +00002560// TCE:#define __LONG_LONG_MAX__ 2147483647LL
2561// TCE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002562// TCE-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00002563// TCE:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002564// TCE:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00002565// TCE:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002566// TCE:#define __SCHAR_MAX__ 127
2567// TCE:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002568// TCE:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002569// TCE:#define __SIZEOF_DOUBLE__ 4
2570// TCE:#define __SIZEOF_FLOAT__ 4
2571// TCE:#define __SIZEOF_INT__ 4
2572// TCE:#define __SIZEOF_LONG_DOUBLE__ 4
2573// TCE:#define __SIZEOF_LONG_LONG__ 4
2574// TCE:#define __SIZEOF_LONG__ 4
2575// TCE:#define __SIZEOF_POINTER__ 4
2576// TCE:#define __SIZEOF_PTRDIFF_T__ 4
2577// TCE:#define __SIZEOF_SHORT__ 2
2578// TCE:#define __SIZEOF_SIZE_T__ 4
2579// TCE:#define __SIZEOF_WCHAR_T__ 4
2580// TCE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002581// TCE:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00002582// TCE:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002583// TCE:#define __SIZE_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002584// TCE:#define __TCE_V1__ 1
2585// TCE:#define __TCE__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002586// TCE:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002587// TCE:#define __USER_LABEL_PREFIX__ _
2588// TCE:#define __WCHAR_MAX__ 2147483647
2589// TCE:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002590// TCE:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002591// TCE:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002592// TCE:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002593// TCE:#define __tce 1
2594// TCE:#define __tce__ 1
2595// TCE:#define tce 1
2596//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002597// 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 +00002598//
2599// X86_64:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002600// X86_64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002601// X86_64:#define __CHAR16_TYPE__ unsigned short
2602// X86_64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002603// X86_64:#define __CHAR_BIT__ 8
2604// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2605// X86_64:#define __DBL_DIG__ 15
2606// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
2607// X86_64:#define __DBL_HAS_DENORM__ 1
2608// X86_64:#define __DBL_HAS_INFINITY__ 1
2609// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
2610// X86_64:#define __DBL_MANT_DIG__ 53
2611// X86_64:#define __DBL_MAX_10_EXP__ 308
2612// X86_64:#define __DBL_MAX_EXP__ 1024
2613// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
2614// X86_64:#define __DBL_MIN_10_EXP__ (-307)
2615// X86_64:#define __DBL_MIN_EXP__ (-1021)
2616// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
2617// X86_64:#define __DECIMAL_DIG__ 21
2618// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2619// X86_64:#define __FLT_DIG__ 6
2620// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
2621// X86_64:#define __FLT_EVAL_METHOD__ 0
2622// X86_64:#define __FLT_HAS_DENORM__ 1
2623// X86_64:#define __FLT_HAS_INFINITY__ 1
2624// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
2625// X86_64:#define __FLT_MANT_DIG__ 24
2626// X86_64:#define __FLT_MAX_10_EXP__ 38
2627// X86_64:#define __FLT_MAX_EXP__ 128
2628// X86_64:#define __FLT_MAX__ 3.40282347e+38F
2629// X86_64:#define __FLT_MIN_10_EXP__ (-37)
2630// X86_64:#define __FLT_MIN_EXP__ (-125)
2631// X86_64:#define __FLT_MIN__ 1.17549435e-38F
2632// X86_64:#define __FLT_RADIX__ 2
2633// X86_64:#define __INT16_TYPE__ short
2634// X86_64:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002635// X86_64:#define __INT64_C_SUFFIX__ L
Chris Lattnere963d092009-10-29 04:55:36 +00002636// X86_64:#define __INT64_TYPE__ long int
2637// X86_64:#define __INT8_TYPE__ char
2638// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck9b25f782009-11-19 13:18:59 +00002639// X86_64:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002640// X86_64:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002641// X86_64:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002642// X86_64:#define __INTPTR_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00002643// X86_64:#define __INT_MAX__ 2147483647
2644// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
2645// X86_64:#define __LDBL_DIG__ 18
2646// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
2647// X86_64:#define __LDBL_HAS_DENORM__ 1
2648// X86_64:#define __LDBL_HAS_INFINITY__ 1
2649// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
2650// X86_64:#define __LDBL_MANT_DIG__ 64
2651// X86_64:#define __LDBL_MAX_10_EXP__ 4932
2652// X86_64:#define __LDBL_MAX_EXP__ 16384
2653// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
2654// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
2655// X86_64:#define __LDBL_MIN_EXP__ (-16381)
2656// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
2657// X86_64:#define __LITTLE_ENDIAN__ 1
2658// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
2659// X86_64:#define __LONG_MAX__ 9223372036854775807L
2660// X86_64:#define __LP64__ 1
2661// X86_64:#define __MMX__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002662// X86_64:#define __NO_MATH_INLINES 1
2663// X86_64:#define __POINTER_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002664// X86_64:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002665// X86_64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00002666// X86_64:#define __REGISTER_PREFIX__
2667// X86_64:#define __SCHAR_MAX__ 127
2668// X86_64:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002669// X86_64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002670// X86_64:#define __SIZEOF_DOUBLE__ 8
2671// X86_64:#define __SIZEOF_FLOAT__ 4
2672// X86_64:#define __SIZEOF_INT__ 4
2673// X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
2674// X86_64:#define __SIZEOF_LONG_LONG__ 8
2675// X86_64:#define __SIZEOF_LONG__ 8
2676// X86_64:#define __SIZEOF_POINTER__ 8
2677// X86_64:#define __SIZEOF_PTRDIFF_T__ 8
2678// X86_64:#define __SIZEOF_SHORT__ 2
2679// X86_64:#define __SIZEOF_SIZE_T__ 8
2680// X86_64:#define __SIZEOF_WCHAR_T__ 4
2681// X86_64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002682// X86_64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnere963d092009-10-29 04:55:36 +00002683// X86_64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002684// X86_64:#define __SIZE_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00002685// X86_64:#define __SSE2_MATH__ 1
2686// X86_64:#define __SSE2__ 1
2687// X86_64:#define __SSE_MATH__ 1
2688// X86_64:#define __SSE__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002689// X86_64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002690// X86_64:#define __USER_LABEL_PREFIX__ _
2691// X86_64:#define __WCHAR_MAX__ 2147483647
2692// X86_64:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002693// X86_64:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002694// X86_64:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002695// X86_64:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002696// X86_64:#define __amd64 1
2697// X86_64:#define __amd64__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002698// X86_64:#define __x86_64 1
2699// X86_64:#define __x86_64__ 1
2700//
Douglas Gregore6d6e512011-01-12 21:19:25 +00002701// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
2702//
2703// X86_64-LINUX:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002704// X86_64-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregore6d6e512011-01-12 21:19:25 +00002705// X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
2706// X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
2707// X86_64-LINUX:#define __CHAR_BIT__ 8
2708// X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2709// X86_64-LINUX:#define __DBL_DIG__ 15
2710// X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2711// X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
2712// X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
2713// X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2714// X86_64-LINUX:#define __DBL_MANT_DIG__ 53
2715// X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
2716// X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
2717// X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2718// X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2719// X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2720// X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2721// X86_64-LINUX:#define __DECIMAL_DIG__ 21
2722// X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2723// X86_64-LINUX:#define __FLT_DIG__ 6
2724// X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2725// X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
2726// X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
2727// X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
2728// X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2729// X86_64-LINUX:#define __FLT_MANT_DIG__ 24
2730// X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
2731// X86_64-LINUX:#define __FLT_MAX_EXP__ 128
2732// X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2733// X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2734// X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
2735// X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2736// X86_64-LINUX:#define __FLT_RADIX__ 2
2737// X86_64-LINUX:#define __INT16_TYPE__ short
2738// X86_64-LINUX:#define __INT32_TYPE__ int
2739// X86_64-LINUX:#define __INT64_C_SUFFIX__ L
2740// X86_64-LINUX:#define __INT64_TYPE__ long int
2741// X86_64-LINUX:#define __INT8_TYPE__ char
2742// X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2743// X86_64-LINUX:#define __INTMAX_TYPE__ long int
2744// X86_64-LINUX:#define __INTMAX_WIDTH__ 64
2745// X86_64-LINUX:#define __INTPTR_TYPE__ long int
2746// X86_64-LINUX:#define __INTPTR_WIDTH__ 64
2747// X86_64-LINUX:#define __INT_MAX__ 2147483647
2748// X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
2749// X86_64-LINUX:#define __LDBL_DIG__ 18
2750// X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
2751// X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
2752// X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2753// X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2754// X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
2755// X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
2756// X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
2757// X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
2758// X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
2759// X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
2760// X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
2761// X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
2762// X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2763// X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2764// X86_64-LINUX:#define __LP64__ 1
2765// X86_64-LINUX:#define __MMX__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00002766// X86_64-LINUX:#define __NO_MATH_INLINES 1
2767// X86_64-LINUX:#define __POINTER_WIDTH__ 64
2768// X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
2769// X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
2770// X86_64-LINUX:#define __REGISTER_PREFIX__
2771// X86_64-LINUX:#define __SCHAR_MAX__ 127
2772// X86_64-LINUX:#define __SHRT_MAX__ 32767
2773// X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2774// X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
2775// X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
2776// X86_64-LINUX:#define __SIZEOF_INT__ 4
2777// X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2778// X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2779// X86_64-LINUX:#define __SIZEOF_LONG__ 8
2780// X86_64-LINUX:#define __SIZEOF_POINTER__ 8
2781// X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2782// X86_64-LINUX:#define __SIZEOF_SHORT__ 2
2783// X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
2784// X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2785// X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002786// X86_64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Douglas Gregore6d6e512011-01-12 21:19:25 +00002787// X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
2788// X86_64-LINUX:#define __SIZE_WIDTH__ 64
2789// X86_64-LINUX:#define __SSE2_MATH__ 1
2790// X86_64-LINUX:#define __SSE2__ 1
2791// X86_64-LINUX:#define __SSE_MATH__ 1
2792// X86_64-LINUX:#define __SSE__ 1
2793// X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2794// X86_64-LINUX:#define __USER_LABEL_PREFIX__
2795// X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
2796// X86_64-LINUX:#define __WCHAR_TYPE__ int
2797// X86_64-LINUX:#define __WCHAR_WIDTH__ 32
2798// X86_64-LINUX:#define __WINT_TYPE__ unsigned int
2799// X86_64-LINUX:#define __WINT_WIDTH__ 32
2800// X86_64-LINUX:#define __amd64 1
2801// X86_64-LINUX:#define __amd64__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00002802// X86_64-LINUX:#define __x86_64 1
2803// X86_64-LINUX:#define __x86_64__ 1
2804//
Jakob Stoklund Olesen248520b2013-05-15 03:22:33 +00002805// 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 +00002806// SPARCV9:#define __INT64_TYPE__ long int
Jakob Stoklund Olesen248520b2013-05-15 03:22:33 +00002807// SPARCV9:#define __INTMAX_TYPE__ long int
2808// SPARCV9:#define __INTPTR_TYPE__ long int
2809// SPARCV9:#define __LONG_MAX__ 9223372036854775807L
2810// SPARCV9:#define __LP64__ 1
2811// SPARCV9:#define __SIZEOF_LONG__ 8
2812// SPARCV9:#define __SIZEOF_POINTER__ 8
2813//
Jakob Stoklund Olesen826df142013-05-19 17:53:37 +00002814// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-openbsd < /dev/null | FileCheck -check-prefix SPARC64-OBSD %s
2815// SPARC64-OBSD:#define __INT64_TYPE__ long long int
2816// SPARC64-OBSD:#define __INTMAX_TYPE__ long long int
2817// SPARC64-OBSD:#define __UINTMAX_TYPE__ long long unsigned int
2818//
David Chisnallb601c962012-07-03 20:49:52 +00002819// 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 +00002820// GNUSOURCE:#define _GNU_SOURCE 1
2821//
Dan Gohman04f87202010-05-28 00:27:15 +00002822// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
2823// NORTTI: __GXX_ABI_VERSION
2824// NORTTI-NOT:#define __GXX_RTTI
2825// NORTTI: __STDC__
Evgeniy Stepanov94dc4c92012-04-26 12:08:09 +00002826//
2827// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
2828// ANDROID: __ANDROID__ 1