blob: 8f57d298c3b27af2d6bb0c99ad3a227432da9a8d [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
Richard Smith51bacfd2014-02-24 01:35:45 +000018// CXX1Y:#define __cplusplus 201402L
Richard Smith0a715422013-05-07 19:32:56 +000019// CXX1Y:#define __private_extern__ extern
20//
21//
Richard Smith89645bc2013-01-02 12:01:23 +000022// RUN: %clang_cc1 -x c++ -std=c++11 -E -dM < /dev/null | FileCheck -check-prefix CXX11 %s
Chris Lattnere963d092009-10-29 04:55:36 +000023//
Richard Smith89645bc2013-01-02 12:01:23 +000024// CXX11:#define __GNUG__
25// CXX11:#define __GXX_EXPERIMENTAL_CXX0X__ 1
26// CXX11:#define __GXX_RTTI 1
27// CXX11:#define __GXX_WEAK__ 1
28// CXX11:#define __cplusplus 201103L
29// CXX11:#define __private_extern__ extern
Chris Lattnere963d092009-10-29 04:55:36 +000030//
31//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +000032// RUN: %clang_cc1 -x c++ -std=c++98 -E -dM < /dev/null | FileCheck -check-prefix CXX98 %s
Chris Lattnere963d092009-10-29 04:55:36 +000033//
Chris Lattnere963d092009-10-29 04:55:36 +000034// CXX98:#define __GNUG__
Dan Gohman04f87202010-05-28 00:27:15 +000035// CXX98:#define __GXX_RTTI 1
Chris Lattnere963d092009-10-29 04:55:36 +000036// CXX98:#define __GXX_WEAK__ 1
37// CXX98:#define __cplusplus 199711L
38// CXX98:#define __private_extern__ extern
39//
40//
Chandler Carruth30483fb2011-04-23 19:48:40 +000041// RUN: %clang_cc1 -fdeprecated-macro -E -dM < /dev/null | FileCheck -check-prefix DEPRECATED %s
42//
43// DEPRECATED:#define __DEPRECATED 1
44//
45//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +000046// RUN: %clang_cc1 -std=c99 -E -dM < /dev/null | FileCheck -check-prefix C99 %s
Chris Lattnere963d092009-10-29 04:55:36 +000047//
48// C99:#define __STDC_VERSION__ 199901L
49// C99:#define __STRICT_ANSI__ 1
50//
51//
Ed Schoutend0621462013-09-29 07:54:52 +000052// RUN: %clang_cc1 -std=c11 -E -dM < /dev/null | FileCheck -check-prefix C11 %s
53//
54// C11:#define __STDC_UTF_16__ 1
55// C11:#define __STDC_UTF_32__ 1
56// C11:#define __STDC_VERSION__ 201112L
57// C11:#define __STRICT_ANSI__ 1
58//
59//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +000060// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix COMMON %s
Chris Lattnere963d092009-10-29 04:55:36 +000061//
62// COMMON:#define __CONSTANT_CFSTRINGS__ 1
63// COMMON:#define __FINITE_MATH_ONLY__ 0
64// COMMON:#define __GNUC_MINOR__
65// COMMON:#define __GNUC_PATCHLEVEL__
66// COMMON:#define __GNUC_STDC_INLINE__ 1
67// COMMON:#define __GNUC__
68// COMMON:#define __GXX_ABI_VERSION
Dylan Noblesmith673728f2012-07-27 18:34:31 +000069// COMMON:#define __ORDER_BIG_ENDIAN__ 4321
70// COMMON:#define __ORDER_LITTLE_ENDIAN__ 1234
71// COMMON:#define __ORDER_PDP_ENDIAN__ 3412
Chris Lattnere963d092009-10-29 04:55:36 +000072// COMMON:#define __STDC_HOSTED__ 1
73// COMMON:#define __STDC_VERSION__
74// COMMON:#define __STDC__ 1
75// COMMON:#define __VERSION__
76// COMMON:#define __clang__ 1
Daniel Dunbard7e887f2010-06-25 23:34:47 +000077// COMMON:#define __clang_major__ {{[0-9]+}}
78// COMMON:#define __clang_minor__ {{[0-9]+}}
79// COMMON:#define __clang_patchlevel__ {{[0-9]+}}
Douglas Gregordead00f2010-04-30 03:07:23 +000080// COMMON:#define __clang_version__
Chris Lattnere963d092009-10-29 04:55:36 +000081// COMMON:#define __llvm__ 1
82//
83//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +000084// RUN: %clang_cc1 -ffreestanding -E -dM < /dev/null | FileCheck -check-prefix FREESTANDING %s
Chris Lattnere963d092009-10-29 04:55:36 +000085// FREESTANDING:#define __STDC_HOSTED__ 0
Richard Smithd106a982012-05-03 22:18:20 +000086//
87//
Richard Smith0a715422013-05-07 19:32:56 +000088// RUN: %clang_cc1 -x c++ -std=gnu++1y -E -dM < /dev/null | FileCheck -check-prefix GXX1Y %s
89//
90// GXX1Y:#define __GNUG__
91// GXX1Y:#define __GXX_WEAK__ 1
Richard Smith51bacfd2014-02-24 01:35:45 +000092// GXX1Y:#define __cplusplus 201402L
Richard Smith0a715422013-05-07 19:32:56 +000093// GXX1Y:#define __private_extern__ extern
94//
95//
Richard Smithd106a982012-05-03 22:18:20 +000096// RUN: %clang_cc1 -x c++ -std=gnu++11 -E -dM < /dev/null | FileCheck -check-prefix GXX11 %s
97//
98// GXX11:#define __GNUG__
99// GXX11:#define __GXX_WEAK__ 1
100// GXX11:#define __cplusplus 201103L
101// GXX11:#define __private_extern__ extern
102//
103//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000104// RUN: %clang_cc1 -x c++ -std=gnu++98 -E -dM < /dev/null | FileCheck -check-prefix GXX98 %s
Chris Lattnere963d092009-10-29 04:55:36 +0000105//
Chris Lattnere963d092009-10-29 04:55:36 +0000106// GXX98:#define __GNUG__
107// GXX98:#define __GXX_WEAK__ 1
Richard Smithd106a982012-05-03 22:18:20 +0000108// GXX98:#define __cplusplus 199711L
Chris Lattnere963d092009-10-29 04:55:36 +0000109// GXX98:#define __private_extern__ extern
110//
111//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000112// RUN: %clang_cc1 -std=iso9899:199409 -E -dM < /dev/null | FileCheck -check-prefix C94 %s
Chris Lattnere963d092009-10-29 04:55:36 +0000113//
114// C94:#define __STDC_VERSION__ 199409L
115//
116//
Hans Wennborg4c02be32013-05-02 13:12:32 +0000117// RUN: %clang_cc1 -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT %s
Chris Lattnere963d092009-10-29 04:55:36 +0000118//
119// MSEXT-NOT:#define __STDC__
Douglas Gregor7617cb82010-08-06 12:37:52 +0000120// MSEXT:#define _INTEGRAL_MAX_BITS 64
Hans Wennborg4c02be32013-05-02 13:12:32 +0000121// MSEXT-NOT:#define _NATIVE_WCHAR_T_DEFINED 1
122// MSEXT-NOT:#define _WCHAR_T_DEFINED 1
123//
124//
125// RUN: %clang_cc1 -x c++ -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT-CXX %s
126//
127// MSEXT-CXX:#define _NATIVE_WCHAR_T_DEFINED 1
128// MSEXT-CXX:#define _WCHAR_T_DEFINED 1
129//
130//
131// RUN: %clang_cc1 -x c++ -fno-wchar -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT-CXX-NOWCHAR %s
132//
133// MSEXT-CXX-NOWCHAR-NOT:#define _NATIVE_WCHAR_T_DEFINED 1
134// MSEXT-CXX-NOWCHAR-NOT:#define _WCHAR_T_DEFINED 1
Chris Lattnere963d092009-10-29 04:55:36 +0000135//
136//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000137// RUN: %clang_cc1 -x objective-c -E -dM < /dev/null | FileCheck -check-prefix OBJC %s
Chris Lattnere963d092009-10-29 04:55:36 +0000138//
139// OBJC:#define OBJC_NEW_PROPERTIES 1
Daniel Dunbar4656c532009-11-17 07:07:28 +0000140// OBJC:#define __NEXT_RUNTIME__ 1
Chris Lattnere963d092009-10-29 04:55:36 +0000141// OBJC:#define __OBJC__ 1
142//
Daniel Dunbar4656c532009-11-17 07:07:28 +0000143//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000144// RUN: %clang_cc1 -x objective-c -fobjc-gc -E -dM < /dev/null | FileCheck -check-prefix OBJCGC %s
Chris Lattnere963d092009-10-29 04:55:36 +0000145//
146// OBJCGC:#define __OBJC_GC__ 1
147//
148//
John McCall9b0a7ce2011-10-02 01:16:38 +0000149// RUN: %clang_cc1 -x objective-c -fobjc-exceptions -E -dM < /dev/null | FileCheck -check-prefix NONFRAGILE %s
Chris Lattnere963d092009-10-29 04:55:36 +0000150//
151// NONFRAGILE:#define OBJC_ZEROCOST_EXCEPTIONS 1
152// NONFRAGILE:#define __OBJC2__ 1
153//
Dylan Noblesmith4c004f32012-08-08 16:09:15 +0000154//
Rafael Espindolaff7cea82013-09-04 04:12:25 +0000155// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix O0 %s
Dylan Noblesmith4c004f32012-08-08 16:09:15 +0000156//
157// O0:#define __NO_INLINE__ 1
158// O0-NOT:#define __OPTIMIZE_SIZE__
159// O0-NOT:#define __OPTIMIZE__
160//
161//
162// RUN: %clang_cc1 -fno-inline -O3 -E -dM < /dev/null | FileCheck -check-prefix NO_INLINE %s
163//
164// NO_INLINE:#define __NO_INLINE__ 1
165// NO_INLINE-NOT:#define __OPTIMIZE_SIZE__
166// NO_INLINE:#define __OPTIMIZE__
167//
168//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000169// RUN: %clang_cc1 -O1 -E -dM < /dev/null | FileCheck -check-prefix O1 %s
Chris Lattnere963d092009-10-29 04:55:36 +0000170//
Dylan Noblesmith4c004f32012-08-08 16:09:15 +0000171// O1-NOT:#define __OPTIMIZE_SIZE__
Chris Lattnere963d092009-10-29 04:55:36 +0000172// O1:#define __OPTIMIZE__ 1
173//
Dylan Noblesmith4c004f32012-08-08 16:09:15 +0000174//
175// RUN: %clang_cc1 -Os -E -dM < /dev/null | FileCheck -check-prefix Os %s
176//
177// Os:#define __OPTIMIZE_SIZE__ 1
178// Os:#define __OPTIMIZE__ 1
179//
180//
181// RUN: %clang_cc1 -Oz -E -dM < /dev/null | FileCheck -check-prefix Oz %s
182//
183// Oz:#define __OPTIMIZE_SIZE__ 1
184// Oz:#define __OPTIMIZE__ 1
185//
186//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000187// RUN: %clang_cc1 -fpascal-strings -E -dM < /dev/null | FileCheck -check-prefix PASCAL %s
Chris Lattnere963d092009-10-29 04:55:36 +0000188//
189// PASCAL:#define __PASCAL_STRINGS__ 1
190//
191//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000192// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix SCHAR %s
Chris Lattnere963d092009-10-29 04:55:36 +0000193//
194// SCHAR:#define __STDC__ 1
195// SCHAR-NOT:#define __UNSIGNED_CHAR__
196// SCHAR:#define __clang__ 1
197//
Eli Friedman865afc92010-08-03 17:34:19 +0000198// RUN: %clang_cc1 -E -dM -fshort-wchar < /dev/null | FileCheck -check-prefix SHORTWCHAR %s
NAKAMURA Takumi210fbcd2014-02-25 00:30:14 +0000199// wchar_t is u16 for targeting Win32.
200// FIXME: Implement and check x86_64-cygwin.
201// RUN: %clang_cc1 -E -dM -fno-short-wchar -triple=x86_64-w64-mingw32 < /dev/null | FileCheck -check-prefix SHORTWCHAR %s
Eli Friedman865afc92010-08-03 17:34:19 +0000202//
203// SHORTWCHAR: #define __SIZEOF_WCHAR_T__ 2
204// SHORTWCHAR: #define __WCHAR_MAX__ 65535U
205// SHORTWCHAR: #define __WCHAR_TYPE__ unsigned short
206// SHORTWCHAR: #define __WCHAR_WIDTH__ 16
207//
NAKAMURA Takumi210fbcd2014-02-25 00:30:14 +0000208// RUN: %clang_cc1 -E -dM -fno-short-wchar -triple=i686-unknown-unknown < /dev/null | FileCheck -check-prefix SHORTWCHAR2 %s
209// RUN: %clang_cc1 -E -dM -fno-short-wchar -triple=x86_64-unknown-unknown < /dev/null | FileCheck -check-prefix SHORTWCHAR2 %s
Richard Bartonc9b5f352014-02-24 18:43:28 +0000210//
211// SHORTWCHAR2: #define __SIZEOF_WCHAR_T__ 4
212// SHORTWCHAR2: #define __WCHAR_WIDTH__ 32
213// Other definitions vary from platform to platform
Christian Pirker227f5ed2014-03-24 13:57:21 +0000214
Kevin Qinad64f6d2014-02-24 02:45:03 +0000215// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-none-none < /dev/null | FileCheck -check-prefix AARCH64 %s
216//
217// AARCH64:#define _LP64 1
Christian Pirker227f5ed2014-03-24 13:57:21 +0000218// AARCH64-NOT:#define __AARCH64EB__ 1
Kevin Qinad64f6d2014-02-24 02:45:03 +0000219// AARCH64:#define __AARCH64EL__ 1
Christian Pirker227f5ed2014-03-24 13:57:21 +0000220// AARCH64-NOT:#define __AARCH_BIG_ENDIAN 1
Kevin Qinad64f6d2014-02-24 02:45:03 +0000221// AARCH64:#define __ARM_64BIT_STATE 1
222// AARCH64:#define __ARM_ARCH 8
223// AARCH64:#define __ARM_ARCH_ISA_A64 1
Christian Pirker227f5ed2014-03-24 13:57:21 +0000224// AARCH64-NOT:#define __ARM_BIG_ENDIAN 1
Kevin Qinad64f6d2014-02-24 02:45:03 +0000225// AARCH64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
226// AARCH64:#define __CHAR16_TYPE__ unsigned short
227// AARCH64:#define __CHAR32_TYPE__ unsigned int
228// AARCH64:#define __CHAR_BIT__ 8
229// AARCH64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
230// AARCH64:#define __DBL_DIG__ 15
231// AARCH64:#define __DBL_EPSILON__ 2.2204460492503131e-16
232// AARCH64:#define __DBL_HAS_DENORM__ 1
233// AARCH64:#define __DBL_HAS_INFINITY__ 1
234// AARCH64:#define __DBL_HAS_QUIET_NAN__ 1
235// AARCH64:#define __DBL_MANT_DIG__ 53
236// AARCH64:#define __DBL_MAX_10_EXP__ 308
237// AARCH64:#define __DBL_MAX_EXP__ 1024
238// AARCH64:#define __DBL_MAX__ 1.7976931348623157e+308
239// AARCH64:#define __DBL_MIN_10_EXP__ (-307)
240// AARCH64:#define __DBL_MIN_EXP__ (-1021)
241// AARCH64:#define __DBL_MIN__ 2.2250738585072014e-308
242// AARCH64:#define __DECIMAL_DIG__ 36
243// AARCH64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
244// AARCH64:#define __FLT_DIG__ 6
245// AARCH64:#define __FLT_EPSILON__ 1.19209290e-7F
246// AARCH64:#define __FLT_EVAL_METHOD__ 0
247// AARCH64:#define __FLT_HAS_DENORM__ 1
248// AARCH64:#define __FLT_HAS_INFINITY__ 1
249// AARCH64:#define __FLT_HAS_QUIET_NAN__ 1
250// AARCH64:#define __FLT_MANT_DIG__ 24
251// AARCH64:#define __FLT_MAX_10_EXP__ 38
252// AARCH64:#define __FLT_MAX_EXP__ 128
253// AARCH64:#define __FLT_MAX__ 3.40282347e+38F
254// AARCH64:#define __FLT_MIN_10_EXP__ (-37)
255// AARCH64:#define __FLT_MIN_EXP__ (-125)
256// AARCH64:#define __FLT_MIN__ 1.17549435e-38F
257// AARCH64:#define __FLT_RADIX__ 2
258// AARCH64:#define __INT16_TYPE__ short
259// AARCH64:#define __INT32_TYPE__ int
260// AARCH64:#define __INT64_C_SUFFIX__ L
261// AARCH64:#define __INT64_TYPE__ long int
262// AARCH64:#define __INT8_TYPE__ char
263// AARCH64:#define __INTMAX_MAX__ 9223372036854775807L
264// AARCH64:#define __INTMAX_TYPE__ long int
265// AARCH64:#define __INTMAX_WIDTH__ 64
266// AARCH64:#define __INTPTR_TYPE__ long int
267// AARCH64:#define __INTPTR_WIDTH__ 64
268// AARCH64:#define __INT_MAX__ 2147483647
269// AARCH64:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
270// AARCH64:#define __LDBL_DIG__ 33
271// AARCH64:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
272// AARCH64:#define __LDBL_HAS_DENORM__ 1
273// AARCH64:#define __LDBL_HAS_INFINITY__ 1
274// AARCH64:#define __LDBL_HAS_QUIET_NAN__ 1
275// AARCH64:#define __LDBL_MANT_DIG__ 113
276// AARCH64:#define __LDBL_MAX_10_EXP__ 4932
277// AARCH64:#define __LDBL_MAX_EXP__ 16384
278// AARCH64:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
279// AARCH64:#define __LDBL_MIN_10_EXP__ (-4931)
280// AARCH64:#define __LDBL_MIN_EXP__ (-16381)
281// AARCH64:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
282// AARCH64:#define __LONG_LONG_MAX__ 9223372036854775807LL
283// AARCH64:#define __LONG_MAX__ 9223372036854775807L
284// AARCH64:#define __LP64__ 1
285// AARCH64:#define __POINTER_WIDTH__ 64
286// AARCH64:#define __PTRDIFF_TYPE__ long int
287// AARCH64:#define __PTRDIFF_WIDTH__ 64
288// AARCH64:#define __SCHAR_MAX__ 127
289// AARCH64:#define __SHRT_MAX__ 32767
290// AARCH64:#define __SIG_ATOMIC_WIDTH__ 32
291// AARCH64:#define __SIZEOF_DOUBLE__ 8
292// AARCH64:#define __SIZEOF_FLOAT__ 4
293// AARCH64:#define __SIZEOF_INT128__ 16
294// AARCH64:#define __SIZEOF_INT__ 4
295// AARCH64:#define __SIZEOF_LONG_DOUBLE__ 16
296// AARCH64:#define __SIZEOF_LONG_LONG__ 8
297// AARCH64:#define __SIZEOF_LONG__ 8
298// AARCH64:#define __SIZEOF_POINTER__ 8
299// AARCH64:#define __SIZEOF_PTRDIFF_T__ 8
300// AARCH64:#define __SIZEOF_SHORT__ 2
301// AARCH64:#define __SIZEOF_SIZE_T__ 8
302// AARCH64:#define __SIZEOF_WCHAR_T__ 4
303// AARCH64:#define __SIZEOF_WINT_T__ 4
304// AARCH64:#define __SIZE_MAX__ 18446744073709551615UL
305// AARCH64:#define __SIZE_TYPE__ long unsigned int
306// AARCH64:#define __SIZE_WIDTH__ 64
307// AARCH64:#define __UINTMAX_TYPE__ long unsigned int
308// AARCH64:#define __USER_LABEL_PREFIX__ _
309// AARCH64:#define __WCHAR_MAX__ 4294967295U
310// AARCH64:#define __WCHAR_TYPE__ unsigned int
311// AARCH64:#define __WCHAR_UNSIGNED__ 1
312// AARCH64:#define __WCHAR_WIDTH__ 32
313// AARCH64:#define __WINT_TYPE__ int
314// AARCH64:#define __WINT_WIDTH__ 32
315// AARCH64:#define __aarch64__ 1
316//
Christian Pirker227f5ed2014-03-24 13:57:21 +0000317// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64_be-none-none < /dev/null | FileCheck -check-prefix AARCH64-BE %s
318//
319// AARCH64-BE:#define _LP64 1
320// AARCH64-BE:#define __AARCH64EB__ 1
321// AARCH64-BE-NOT:#define __AARCH64EL__ 1
322// AARCH64-BE:#define __AARCH_BIG_ENDIAN 1
323// AARCH64-BE:#define __ARM_64BIT_STATE 1
324// AARCH64-BE:#define __ARM_ARCH 8
325// AARCH64-BE:#define __ARM_ARCH_ISA_A64 1
326// AARCH64-BE:#define __ARM_BIG_ENDIAN 1
327// AARCH64-BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
328// AARCH64-BE:#define __CHAR16_TYPE__ unsigned short
329// AARCH64-BE:#define __CHAR32_TYPE__ unsigned int
330// AARCH64-BE:#define __CHAR_BIT__ 8
331// AARCH64-BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
332// AARCH64-BE:#define __DBL_DIG__ 15
333// AARCH64-BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
334// AARCH64-BE:#define __DBL_HAS_DENORM__ 1
335// AARCH64-BE:#define __DBL_HAS_INFINITY__ 1
336// AARCH64-BE:#define __DBL_HAS_QUIET_NAN__ 1
337// AARCH64-BE:#define __DBL_MANT_DIG__ 53
338// AARCH64-BE:#define __DBL_MAX_10_EXP__ 308
339// AARCH64-BE:#define __DBL_MAX_EXP__ 1024
340// AARCH64-BE:#define __DBL_MAX__ 1.7976931348623157e+308
341// AARCH64-BE:#define __DBL_MIN_10_EXP__ (-307)
342// AARCH64-BE:#define __DBL_MIN_EXP__ (-1021)
343// AARCH64-BE:#define __DBL_MIN__ 2.2250738585072014e-308
344// AARCH64-BE:#define __DECIMAL_DIG__ 36
345// AARCH64-BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
346// AARCH64-BE:#define __FLT_DIG__ 6
347// AARCH64-BE:#define __FLT_EPSILON__ 1.19209290e-7F
348// AARCH64-BE:#define __FLT_EVAL_METHOD__ 0
349// AARCH64-BE:#define __FLT_HAS_DENORM__ 1
350// AARCH64-BE:#define __FLT_HAS_INFINITY__ 1
351// AARCH64-BE:#define __FLT_HAS_QUIET_NAN__ 1
352// AARCH64-BE:#define __FLT_MANT_DIG__ 24
353// AARCH64-BE:#define __FLT_MAX_10_EXP__ 38
354// AARCH64-BE:#define __FLT_MAX_EXP__ 128
355// AARCH64-BE:#define __FLT_MAX__ 3.40282347e+38F
356// AARCH64-BE:#define __FLT_MIN_10_EXP__ (-37)
357// AARCH64-BE:#define __FLT_MIN_EXP__ (-125)
358// AARCH64-BE:#define __FLT_MIN__ 1.17549435e-38F
359// AARCH64-BE:#define __FLT_RADIX__ 2
360// AARCH64-BE:#define __INT16_TYPE__ short
361// AARCH64-BE:#define __INT32_TYPE__ int
362// AARCH64-BE:#define __INT64_C_SUFFIX__ L
363// AARCH64-BE:#define __INT64_TYPE__ long int
364// AARCH64-BE:#define __INT8_TYPE__ char
365// AARCH64-BE:#define __INTMAX_MAX__ 9223372036854775807L
366// AARCH64-BE:#define __INTMAX_TYPE__ long int
367// AARCH64-BE:#define __INTMAX_WIDTH__ 64
368// AARCH64-BE:#define __INTPTR_TYPE__ long int
369// AARCH64-BE:#define __INTPTR_WIDTH__ 64
370// AARCH64-BE:#define __INT_MAX__ 2147483647
371// AARCH64-BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
372// AARCH64-BE:#define __LDBL_DIG__ 33
373// AARCH64-BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
374// AARCH64-BE:#define __LDBL_HAS_DENORM__ 1
375// AARCH64-BE:#define __LDBL_HAS_INFINITY__ 1
376// AARCH64-BE:#define __LDBL_HAS_QUIET_NAN__ 1
377// AARCH64-BE:#define __LDBL_MANT_DIG__ 113
378// AARCH64-BE:#define __LDBL_MAX_10_EXP__ 4932
379// AARCH64-BE:#define __LDBL_MAX_EXP__ 16384
380// AARCH64-BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
381// AARCH64-BE:#define __LDBL_MIN_10_EXP__ (-4931)
382// AARCH64-BE:#define __LDBL_MIN_EXP__ (-16381)
383// AARCH64-BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
384// AARCH64-BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
385// AARCH64-BE:#define __LONG_MAX__ 9223372036854775807L
386// AARCH64-BE:#define __LP64__ 1
387// AARCH64-BE:#define __POINTER_WIDTH__ 64
388// AARCH64-BE:#define __PTRDIFF_TYPE__ long int
389// AARCH64-BE:#define __PTRDIFF_WIDTH__ 64
390// AARCH64-BE:#define __SCHAR_MAX__ 127
391// AARCH64-BE:#define __SHRT_MAX__ 32767
392// AARCH64-BE:#define __SIG_ATOMIC_WIDTH__ 32
393// AARCH64-BE:#define __SIZEOF_DOUBLE__ 8
394// AARCH64-BE:#define __SIZEOF_FLOAT__ 4
395// AARCH64-BE:#define __SIZEOF_INT128__ 16
396// AARCH64-BE:#define __SIZEOF_INT__ 4
397// AARCH64-BE:#define __SIZEOF_LONG_DOUBLE__ 16
398// AARCH64-BE:#define __SIZEOF_LONG_LONG__ 8
399// AARCH64-BE:#define __SIZEOF_LONG__ 8
400// AARCH64-BE:#define __SIZEOF_POINTER__ 8
401// AARCH64-BE:#define __SIZEOF_PTRDIFF_T__ 8
402// AARCH64-BE:#define __SIZEOF_SHORT__ 2
403// AARCH64-BE:#define __SIZEOF_SIZE_T__ 8
404// AARCH64-BE:#define __SIZEOF_WCHAR_T__ 4
405// AARCH64-BE:#define __SIZEOF_WINT_T__ 4
406// AARCH64-BE:#define __SIZE_MAX__ 18446744073709551615UL
407// AARCH64-BE:#define __SIZE_TYPE__ long unsigned int
408// AARCH64-BE:#define __SIZE_WIDTH__ 64
409// AARCH64-BE:#define __UINTMAX_TYPE__ long unsigned int
410// AARCH64-BE:#define __USER_LABEL_PREFIX__ _
411// AARCH64-BE:#define __WCHAR_MAX__ 4294967295U
412// AARCH64-BE:#define __WCHAR_TYPE__ unsigned int
413// AARCH64-BE:#define __WCHAR_UNSIGNED__ 1
414// AARCH64-BE:#define __WCHAR_WIDTH__ 32
415// AARCH64-BE:#define __WINT_TYPE__ int
416// AARCH64-BE:#define __WINT_WIDTH__ 32
417// AARCH64-BE:#define __aarch64__ 1
418//
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000419// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-netbsd < /dev/null | FileCheck -check-prefix AARCH64-NETBSD %s
420//
421// AARCH64-NETBSD:#define _LP64 1
Christian Pirker227f5ed2014-03-24 13:57:21 +0000422// AARCH64-NETBSD-NOT:#define __AARCH64EB__ 1
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000423// AARCH64-NETBSD:#define __AARCH64EL__ 1
Christian Pirker227f5ed2014-03-24 13:57:21 +0000424// AARCH64-NETBSD-NOT:#define __AARCH_BIG_ENDIAN 1
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000425// AARCH64-NETBSD:#define __ARM_64BIT_STATE 1
426// AARCH64-NETBSD:#define __ARM_ARCH 8
427// AARCH64-NETBSD:#define __ARM_ARCH_ISA_A64 1
Christian Pirker227f5ed2014-03-24 13:57:21 +0000428// AARCH64-NETBSD-NOT:#define __ARM_BIG_ENDIAN 1
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000429// AARCH64-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
430// AARCH64-NETBSD:#define __CHAR16_TYPE__ unsigned short
431// AARCH64-NETBSD:#define __CHAR32_TYPE__ unsigned int
432// AARCH64-NETBSD:#define __CHAR_BIT__ 8
433// AARCH64-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
434// AARCH64-NETBSD:#define __DBL_DIG__ 15
435// AARCH64-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
436// AARCH64-NETBSD:#define __DBL_HAS_DENORM__ 1
437// AARCH64-NETBSD:#define __DBL_HAS_INFINITY__ 1
438// AARCH64-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
439// AARCH64-NETBSD:#define __DBL_MANT_DIG__ 53
440// AARCH64-NETBSD:#define __DBL_MAX_10_EXP__ 308
441// AARCH64-NETBSD:#define __DBL_MAX_EXP__ 1024
442// AARCH64-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
443// AARCH64-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
444// AARCH64-NETBSD:#define __DBL_MIN_EXP__ (-1021)
445// AARCH64-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
446// AARCH64-NETBSD:#define __DECIMAL_DIG__ 36
447// AARCH64-NETBSD:#define __ELF__ 1
448// AARCH64-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
449// AARCH64-NETBSD:#define __FLT_DIG__ 6
450// AARCH64-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
451// AARCH64-NETBSD:#define __FLT_EVAL_METHOD__ 0
452// AARCH64-NETBSD:#define __FLT_HAS_DENORM__ 1
453// AARCH64-NETBSD:#define __FLT_HAS_INFINITY__ 1
454// AARCH64-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
455// AARCH64-NETBSD:#define __FLT_MANT_DIG__ 24
456// AARCH64-NETBSD:#define __FLT_MAX_10_EXP__ 38
457// AARCH64-NETBSD:#define __FLT_MAX_EXP__ 128
458// AARCH64-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
459// AARCH64-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
460// AARCH64-NETBSD:#define __FLT_MIN_EXP__ (-125)
461// AARCH64-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
462// AARCH64-NETBSD:#define __FLT_RADIX__ 2
463// AARCH64-NETBSD:#define __INT16_TYPE__ short
464// AARCH64-NETBSD:#define __INT32_TYPE__ int
Joerg Sonnenberger1f5984c2014-03-26 11:48:29 +0000465// AARCH64-NETBSD:#define __INT64_C_SUFFIX__ LL
466// AARCH64-NETBSD:#define __INT64_TYPE__ long long int
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000467// AARCH64-NETBSD:#define __INT8_TYPE__ char
Joerg Sonnenberger1f5984c2014-03-26 11:48:29 +0000468// AARCH64-NETBSD:#define __INTMAX_MAX__ 9223372036854775807LL
469// AARCH64-NETBSD:#define __INTMAX_TYPE__ long long int
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000470// AARCH64-NETBSD:#define __INTMAX_WIDTH__ 64
471// AARCH64-NETBSD:#define __INTPTR_TYPE__ long int
472// AARCH64-NETBSD:#define __INTPTR_WIDTH__ 64
473// AARCH64-NETBSD:#define __INT_MAX__ 2147483647
474// AARCH64-NETBSD:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
475// AARCH64-NETBSD:#define __LDBL_DIG__ 33
476// AARCH64-NETBSD:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
477// AARCH64-NETBSD:#define __LDBL_HAS_DENORM__ 1
478// AARCH64-NETBSD:#define __LDBL_HAS_INFINITY__ 1
479// AARCH64-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
480// AARCH64-NETBSD:#define __LDBL_MANT_DIG__ 113
481// AARCH64-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
482// AARCH64-NETBSD:#define __LDBL_MAX_EXP__ 16384
483// AARCH64-NETBSD:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
484// AARCH64-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
485// AARCH64-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
486// AARCH64-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
487// AARCH64-NETBSD:#define __LITTLE_ENDIAN__ 1
488// AARCH64-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
489// AARCH64-NETBSD:#define __LONG_MAX__ 9223372036854775807L
490// AARCH64-NETBSD:#define __LP64__ 1
491// AARCH64-NETBSD:#define __NetBSD__ 1
492// AARCH64-NETBSD:#define __POINTER_WIDTH__ 64
493// AARCH64-NETBSD:#define __PTRDIFF_TYPE__ long int
494// AARCH64-NETBSD:#define __PTRDIFF_WIDTH__ 64
495// AARCH64-NETBSD:#define __SCHAR_MAX__ 127
496// AARCH64-NETBSD:#define __SHRT_MAX__ 32767
497// AARCH64-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
498// AARCH64-NETBSD:#define __SIZEOF_DOUBLE__ 8
499// AARCH64-NETBSD:#define __SIZEOF_FLOAT__ 4
500// AARCH64-NETBSD:#define __SIZEOF_INT__ 4
501// AARCH64-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 16
502// AARCH64-NETBSD:#define __SIZEOF_LONG_LONG__ 8
503// AARCH64-NETBSD:#define __SIZEOF_LONG__ 8
504// AARCH64-NETBSD:#define __SIZEOF_POINTER__ 8
505// AARCH64-NETBSD:#define __SIZEOF_PTRDIFF_T__ 8
506// AARCH64-NETBSD:#define __SIZEOF_SHORT__ 2
507// AARCH64-NETBSD:#define __SIZEOF_SIZE_T__ 8
508// AARCH64-NETBSD:#define __SIZEOF_WCHAR_T__ 4
509// AARCH64-NETBSD:#define __SIZEOF_WINT_T__ 4
510// AARCH64-NETBSD:#define __SIZE_MAX__ 18446744073709551615UL
511// AARCH64-NETBSD:#define __SIZE_TYPE__ long unsigned int
512// AARCH64-NETBSD:#define __SIZE_WIDTH__ 64
Joerg Sonnenberger1f5984c2014-03-26 11:48:29 +0000513// AARCH64-NETBSD:#define __UINTMAX_TYPE__ long long unsigned int
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000514// AARCH64-NETBSD:#define __USER_LABEL_PREFIX__
515// AARCH64-NETBSD:#define __WCHAR_MAX__ 2147483647
516// AARCH64-NETBSD:#define __WCHAR_TYPE__ int
517// AARCH64-NETBSD:#define __WCHAR_WIDTH__ 32
518// AARCH64-NETBSD:#define __WINT_TYPE__ int
519// AARCH64-NETBSD:#define __WINT_WIDTH__ 32
520// AARCH64-NETBSD:#define __aarch64__ 1
Christian Pirker227f5ed2014-03-24 13:57:21 +0000521
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000522// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s
Chris Lattnere963d092009-10-29 04:55:36 +0000523//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000524// ARM-NOT:#define _LP64
Chris Lattnere963d092009-10-29 04:55:36 +0000525// ARM:#define __APCS_32__ 1
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000526// ARM-NOT:#define __ARMEB__ 1
Chris Lattnere963d092009-10-29 04:55:36 +0000527// ARM:#define __ARMEL__ 1
Daniel Dunbaracde99e2009-12-18 18:42:37 +0000528// ARM:#define __ARM_ARCH_6J__ 1
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000529// ARM-NOT:#define __ARM_BIG_ENDIAN 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000530// ARM:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +0000531// ARM:#define __CHAR16_TYPE__ unsigned short
532// ARM:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000533// ARM:#define __CHAR_BIT__ 8
534// ARM:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
535// ARM:#define __DBL_DIG__ 15
536// ARM:#define __DBL_EPSILON__ 2.2204460492503131e-16
537// ARM:#define __DBL_HAS_DENORM__ 1
538// ARM:#define __DBL_HAS_INFINITY__ 1
539// ARM:#define __DBL_HAS_QUIET_NAN__ 1
540// ARM:#define __DBL_MANT_DIG__ 53
541// ARM:#define __DBL_MAX_10_EXP__ 308
542// ARM:#define __DBL_MAX_EXP__ 1024
543// ARM:#define __DBL_MAX__ 1.7976931348623157e+308
544// ARM:#define __DBL_MIN_10_EXP__ (-307)
545// ARM:#define __DBL_MIN_EXP__ (-1021)
546// ARM:#define __DBL_MIN__ 2.2250738585072014e-308
547// ARM:#define __DECIMAL_DIG__ 17
548// ARM:#define __FLT_DENORM_MIN__ 1.40129846e-45F
549// ARM:#define __FLT_DIG__ 6
550// ARM:#define __FLT_EPSILON__ 1.19209290e-7F
551// ARM:#define __FLT_EVAL_METHOD__ 0
552// ARM:#define __FLT_HAS_DENORM__ 1
553// ARM:#define __FLT_HAS_INFINITY__ 1
554// ARM:#define __FLT_HAS_QUIET_NAN__ 1
555// ARM:#define __FLT_MANT_DIG__ 24
556// ARM:#define __FLT_MAX_10_EXP__ 38
557// ARM:#define __FLT_MAX_EXP__ 128
558// ARM:#define __FLT_MAX__ 3.40282347e+38F
559// ARM:#define __FLT_MIN_10_EXP__ (-37)
560// ARM:#define __FLT_MIN_EXP__ (-125)
561// ARM:#define __FLT_MIN__ 1.17549435e-38F
562// ARM:#define __FLT_RADIX__ 2
563// ARM:#define __INT16_TYPE__ short
564// ARM:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +0000565// ARM:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +0000566// ARM:#define __INT64_TYPE__ long long int
567// ARM:#define __INT8_TYPE__ char
568// ARM:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +0000569// ARM:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +0000570// ARM:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +0000571// ARM:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +0000572// ARM:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000573// ARM:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000574// ARM:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +0000575// ARM:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000576// ARM:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +0000577// ARM:#define __LDBL_HAS_DENORM__ 1
578// ARM:#define __LDBL_HAS_INFINITY__ 1
579// ARM:#define __LDBL_HAS_QUIET_NAN__ 1
580// ARM:#define __LDBL_MANT_DIG__ 53
581// ARM:#define __LDBL_MAX_10_EXP__ 308
582// ARM:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000583// ARM:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +0000584// ARM:#define __LDBL_MIN_10_EXP__ (-307)
585// ARM:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000586// ARM:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnere963d092009-10-29 04:55:36 +0000587// ARM:#define __LITTLE_ENDIAN__ 1
588// ARM:#define __LONG_LONG_MAX__ 9223372036854775807LL
589// ARM:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000590// ARM-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +0000591// ARM:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000592// ARM:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +0000593// ARM:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbaracde99e2009-12-18 18:42:37 +0000594// ARM:#define __REGISTER_PREFIX__
Chris Lattnere963d092009-10-29 04:55:36 +0000595// ARM:#define __SCHAR_MAX__ 127
596// ARM:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +0000597// ARM:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +0000598// ARM:#define __SIZEOF_DOUBLE__ 8
599// ARM:#define __SIZEOF_FLOAT__ 4
600// ARM:#define __SIZEOF_INT__ 4
601// ARM:#define __SIZEOF_LONG_DOUBLE__ 8
602// ARM:#define __SIZEOF_LONG_LONG__ 8
603// ARM:#define __SIZEOF_LONG__ 4
604// ARM:#define __SIZEOF_POINTER__ 4
605// ARM:#define __SIZEOF_PTRDIFF_T__ 4
606// ARM:#define __SIZEOF_SHORT__ 2
607// ARM:#define __SIZEOF_SIZE_T__ 4
608// ARM:#define __SIZEOF_WCHAR_T__ 4
609// ARM:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000610// ARM:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +0000611// ARM:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +0000612// ARM:#define __SIZE_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000613// ARM:#define __THUMB_INTERWORK__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +0000614// ARM:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000615// ARM:#define __USER_LABEL_PREFIX__ _
James Molloyc445be42011-11-23 13:35:08 +0000616// ARM:#define __WCHAR_MAX__ 4294967295U
617// ARM:#define __WCHAR_TYPE__ unsigned int
Ken Dyck0138b9e2009-11-19 15:47:58 +0000618// ARM:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000619// ARM:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +0000620// ARM:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000621// ARM:#define __arm 1
622// ARM:#define __arm__ 1
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000623
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000624// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armeb-none-none < /dev/null | FileCheck -check-prefix ARM-BE %s
625//
626// ARM-BE-NOT:#define _LP64
627// ARM-BE:#define __APCS_32__ 1
628// ARM-BE:#define __ARMEB__ 1
629// ARM-BE-NOT:#define __ARMEL__ 1
630// ARM-BE:#define __ARM_ARCH_6J__ 1
631// ARM-BE:#define __ARM_BIG_ENDIAN 1
632// ARM-BE:#define __BIG_ENDIAN__ 1
633// ARM-BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
634// ARM-BE:#define __CHAR16_TYPE__ unsigned short
635// ARM-BE:#define __CHAR32_TYPE__ unsigned int
636// ARM-BE:#define __CHAR_BIT__ 8
637// ARM-BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
638// ARM-BE:#define __DBL_DIG__ 15
639// ARM-BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
640// ARM-BE:#define __DBL_HAS_DENORM__ 1
641// ARM-BE:#define __DBL_HAS_INFINITY__ 1
642// ARM-BE:#define __DBL_HAS_QUIET_NAN__ 1
643// ARM-BE:#define __DBL_MANT_DIG__ 53
644// ARM-BE:#define __DBL_MAX_10_EXP__ 308
645// ARM-BE:#define __DBL_MAX_EXP__ 1024
646// ARM-BE:#define __DBL_MAX__ 1.7976931348623157e+308
647// ARM-BE:#define __DBL_MIN_10_EXP__ (-307)
648// ARM-BE:#define __DBL_MIN_EXP__ (-1021)
649// ARM-BE:#define __DBL_MIN__ 2.2250738585072014e-308
650// ARM-BE:#define __DECIMAL_DIG__ 17
651// ARM-BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
652// ARM-BE:#define __FLT_DIG__ 6
653// ARM-BE:#define __FLT_EPSILON__ 1.19209290e-7F
654// ARM-BE:#define __FLT_EVAL_METHOD__ 0
655// ARM-BE:#define __FLT_HAS_DENORM__ 1
656// ARM-BE:#define __FLT_HAS_INFINITY__ 1
657// ARM-BE:#define __FLT_HAS_QUIET_NAN__ 1
658// ARM-BE:#define __FLT_MANT_DIG__ 24
659// ARM-BE:#define __FLT_MAX_10_EXP__ 38
660// ARM-BE:#define __FLT_MAX_EXP__ 128
661// ARM-BE:#define __FLT_MAX__ 3.40282347e+38F
662// ARM-BE:#define __FLT_MIN_10_EXP__ (-37)
663// ARM-BE:#define __FLT_MIN_EXP__ (-125)
664// ARM-BE:#define __FLT_MIN__ 1.17549435e-38F
665// ARM-BE:#define __FLT_RADIX__ 2
666// ARM-BE:#define __INT16_TYPE__ short
667// ARM-BE:#define __INT32_TYPE__ int
668// ARM-BE:#define __INT64_C_SUFFIX__ LL
669// ARM-BE:#define __INT64_TYPE__ long long int
670// ARM-BE:#define __INT8_TYPE__ char
671// ARM-BE:#define __INTMAX_MAX__ 9223372036854775807LL
672// ARM-BE:#define __INTMAX_TYPE__ long long int
673// ARM-BE:#define __INTMAX_WIDTH__ 64
674// ARM-BE:#define __INTPTR_TYPE__ long int
675// ARM-BE:#define __INTPTR_WIDTH__ 32
676// ARM-BE:#define __INT_MAX__ 2147483647
677// ARM-BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
678// ARM-BE:#define __LDBL_DIG__ 15
679// ARM-BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
680// ARM-BE:#define __LDBL_HAS_DENORM__ 1
681// ARM-BE:#define __LDBL_HAS_INFINITY__ 1
682// ARM-BE:#define __LDBL_HAS_QUIET_NAN__ 1
683// ARM-BE:#define __LDBL_MANT_DIG__ 53
684// ARM-BE:#define __LDBL_MAX_10_EXP__ 308
685// ARM-BE:#define __LDBL_MAX_EXP__ 1024
686// ARM-BE:#define __LDBL_MAX__ 1.7976931348623157e+308L
687// ARM-BE:#define __LDBL_MIN_10_EXP__ (-307)
688// ARM-BE:#define __LDBL_MIN_EXP__ (-1021)
689// ARM-BE:#define __LDBL_MIN__ 2.2250738585072014e-308L
690// ARM-BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
691// ARM-BE:#define __LONG_MAX__ 2147483647L
692// ARM-BE-NOT:#define __LP64__
693// ARM-BE:#define __POINTER_WIDTH__ 32
694// ARM-BE:#define __PTRDIFF_TYPE__ int
695// ARM-BE:#define __PTRDIFF_WIDTH__ 32
696// ARM-BE:#define __REGISTER_PREFIX__
697// ARM-BE:#define __SCHAR_MAX__ 127
698// ARM-BE:#define __SHRT_MAX__ 32767
699// ARM-BE:#define __SIG_ATOMIC_WIDTH__ 32
700// ARM-BE:#define __SIZEOF_DOUBLE__ 8
701// ARM-BE:#define __SIZEOF_FLOAT__ 4
702// ARM-BE:#define __SIZEOF_INT__ 4
703// ARM-BE:#define __SIZEOF_LONG_DOUBLE__ 8
704// ARM-BE:#define __SIZEOF_LONG_LONG__ 8
705// ARM-BE:#define __SIZEOF_LONG__ 4
706// ARM-BE:#define __SIZEOF_POINTER__ 4
707// ARM-BE:#define __SIZEOF_PTRDIFF_T__ 4
708// ARM-BE:#define __SIZEOF_SHORT__ 2
709// ARM-BE:#define __SIZEOF_SIZE_T__ 4
710// ARM-BE:#define __SIZEOF_WCHAR_T__ 4
711// ARM-BE:#define __SIZEOF_WINT_T__ 4
712// ARM-BE:#define __SIZE_MAX__ 4294967295U
713// ARM-BE:#define __SIZE_TYPE__ unsigned int
714// ARM-BE:#define __SIZE_WIDTH__ 32
715// ARM-BE:#define __THUMB_INTERWORK__ 1
716// ARM-BE:#define __UINTMAX_TYPE__ long long unsigned int
717// ARM-BE:#define __USER_LABEL_PREFIX__ _
718// ARM-BE:#define __WCHAR_MAX__ 4294967295U
719// ARM-BE:#define __WCHAR_TYPE__ unsigned int
720// ARM-BE:#define __WCHAR_WIDTH__ 32
721// ARM-BE:#define __WINT_TYPE__ int
722// ARM-BE:#define __WINT_WIDTH__ 32
723// ARM-BE:#define __arm 1
724// ARM-BE:#define __arm__ 1
725
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000726// 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
727//
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000728// ARMEABISOFTFP-NOT:#define _LP64
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000729// ARMEABISOFTFP:#define __APCS_32__ 1
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000730// ARMEABISOFTFP-NOT:#define __ARMEB__ 1
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000731// ARMEABISOFTFP:#define __ARMEL__ 1
732// ARMEABISOFTFP:#define __ARM_ARCH 6
733// ARMEABISOFTFP:#define __ARM_ARCH_6J__ 1
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000734// ARMEABISOFTFP-NOT:#define __ARM_BIG_ENDIAN 1
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000735// ARMEABISOFTFP:#define __ARM_EABI__ 1
736// ARMEABISOFTFP:#define __ARM_PCS 1
737// ARMEABISOFTFP-NOT:#define __ARM_PCS_VFP 1
738// ARMEABISOFTFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
739// ARMEABISOFTFP:#define __CHAR16_TYPE__ unsigned short
740// ARMEABISOFTFP:#define __CHAR32_TYPE__ unsigned int
741// ARMEABISOFTFP:#define __CHAR_BIT__ 8
742// ARMEABISOFTFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
743// ARMEABISOFTFP:#define __DBL_DIG__ 15
744// ARMEABISOFTFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
745// ARMEABISOFTFP:#define __DBL_HAS_DENORM__ 1
746// ARMEABISOFTFP:#define __DBL_HAS_INFINITY__ 1
747// ARMEABISOFTFP:#define __DBL_HAS_QUIET_NAN__ 1
748// ARMEABISOFTFP:#define __DBL_MANT_DIG__ 53
749// ARMEABISOFTFP:#define __DBL_MAX_10_EXP__ 308
750// ARMEABISOFTFP:#define __DBL_MAX_EXP__ 1024
751// ARMEABISOFTFP:#define __DBL_MAX__ 1.7976931348623157e+308
752// ARMEABISOFTFP:#define __DBL_MIN_10_EXP__ (-307)
753// ARMEABISOFTFP:#define __DBL_MIN_EXP__ (-1021)
754// ARMEABISOFTFP:#define __DBL_MIN__ 2.2250738585072014e-308
755// ARMEABISOFTFP:#define __DECIMAL_DIG__ 17
756// ARMEABISOFTFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
757// ARMEABISOFTFP:#define __FLT_DIG__ 6
758// ARMEABISOFTFP:#define __FLT_EPSILON__ 1.19209290e-7F
759// ARMEABISOFTFP:#define __FLT_EVAL_METHOD__ 0
760// ARMEABISOFTFP:#define __FLT_HAS_DENORM__ 1
761// ARMEABISOFTFP:#define __FLT_HAS_INFINITY__ 1
762// ARMEABISOFTFP:#define __FLT_HAS_QUIET_NAN__ 1
763// ARMEABISOFTFP:#define __FLT_MANT_DIG__ 24
764// ARMEABISOFTFP:#define __FLT_MAX_10_EXP__ 38
765// ARMEABISOFTFP:#define __FLT_MAX_EXP__ 128
766// ARMEABISOFTFP:#define __FLT_MAX__ 3.40282347e+38F
767// ARMEABISOFTFP:#define __FLT_MIN_10_EXP__ (-37)
768// ARMEABISOFTFP:#define __FLT_MIN_EXP__ (-125)
769// ARMEABISOFTFP:#define __FLT_MIN__ 1.17549435e-38F
770// ARMEABISOFTFP:#define __FLT_RADIX__ 2
771// ARMEABISOFTFP:#define __INT16_TYPE__ short
772// ARMEABISOFTFP:#define __INT32_TYPE__ int
773// ARMEABISOFTFP:#define __INT64_C_SUFFIX__ LL
774// ARMEABISOFTFP:#define __INT64_TYPE__ long long int
775// ARMEABISOFTFP:#define __INT8_TYPE__ char
776// ARMEABISOFTFP:#define __INTMAX_MAX__ 9223372036854775807LL
777// ARMEABISOFTFP:#define __INTMAX_TYPE__ long long int
778// ARMEABISOFTFP:#define __INTMAX_WIDTH__ 64
779// ARMEABISOFTFP:#define __INTPTR_TYPE__ long int
780// ARMEABISOFTFP:#define __INTPTR_WIDTH__ 32
781// ARMEABISOFTFP:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000782// ARMEABISOFTFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000783// ARMEABISOFTFP:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000784// ARMEABISOFTFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000785// ARMEABISOFTFP:#define __LDBL_HAS_DENORM__ 1
786// ARMEABISOFTFP:#define __LDBL_HAS_INFINITY__ 1
787// ARMEABISOFTFP:#define __LDBL_HAS_QUIET_NAN__ 1
788// ARMEABISOFTFP:#define __LDBL_MANT_DIG__ 53
789// ARMEABISOFTFP:#define __LDBL_MAX_10_EXP__ 308
790// ARMEABISOFTFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000791// ARMEABISOFTFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000792// ARMEABISOFTFP:#define __LDBL_MIN_10_EXP__ (-307)
793// ARMEABISOFTFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000794// ARMEABISOFTFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000795// ARMEABISOFTFP:#define __LITTLE_ENDIAN__ 1
796// ARMEABISOFTFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
797// ARMEABISOFTFP:#define __LONG_MAX__ 2147483647L
798// ARMEABISOFTFP-NOT:#define __LP64__
799// ARMEABISOFTFP:#define __POINTER_WIDTH__ 32
800// ARMEABISOFTFP:#define __PTRDIFF_TYPE__ int
801// ARMEABISOFTFP:#define __PTRDIFF_WIDTH__ 32
802// ARMEABISOFTFP:#define __REGISTER_PREFIX__
803// ARMEABISOFTFP:#define __SCHAR_MAX__ 127
804// ARMEABISOFTFP:#define __SHRT_MAX__ 32767
805// ARMEABISOFTFP:#define __SIG_ATOMIC_WIDTH__ 32
806// ARMEABISOFTFP:#define __SIZEOF_DOUBLE__ 8
807// ARMEABISOFTFP:#define __SIZEOF_FLOAT__ 4
808// ARMEABISOFTFP:#define __SIZEOF_INT__ 4
809// ARMEABISOFTFP:#define __SIZEOF_LONG_DOUBLE__ 8
810// ARMEABISOFTFP:#define __SIZEOF_LONG_LONG__ 8
811// ARMEABISOFTFP:#define __SIZEOF_LONG__ 4
812// ARMEABISOFTFP:#define __SIZEOF_POINTER__ 4
813// ARMEABISOFTFP:#define __SIZEOF_PTRDIFF_T__ 4
814// ARMEABISOFTFP:#define __SIZEOF_SHORT__ 2
815// ARMEABISOFTFP:#define __SIZEOF_SIZE_T__ 4
816// ARMEABISOFTFP:#define __SIZEOF_WCHAR_T__ 4
817// ARMEABISOFTFP:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000818// ARMEABISOFTFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000819// ARMEABISOFTFP:#define __SIZE_TYPE__ unsigned int
820// ARMEABISOFTFP:#define __SIZE_WIDTH__ 32
821// ARMEABISOFTFP:#define __SOFTFP__ 1
822// ARMEABISOFTFP:#define __THUMB_INTERWORK__ 1
823// ARMEABISOFTFP:#define __UINTMAX_TYPE__ long long unsigned int
824// ARMEABISOFTFP:#define __USER_LABEL_PREFIX__
825// ARMEABISOFTFP:#define __WCHAR_MAX__ 4294967295U
826// ARMEABISOFTFP:#define __WCHAR_TYPE__ unsigned int
827// ARMEABISOFTFP:#define __WCHAR_WIDTH__ 32
828// ARMEABISOFTFP:#define __WINT_TYPE__ unsigned int
829// ARMEABISOFTFP:#define __WINT_WIDTH__ 32
830// ARMEABISOFTFP:#define __arm 1
831// ARMEABISOFTFP:#define __arm__ 1
832
833// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-linux-gnueabi < /dev/null | FileCheck -check-prefix ARMEABIHARDFP %s
834//
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000835// ARMEABIHARDFP-NOT:#define _LP64
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000836// ARMEABIHARDFP:#define __APCS_32__ 1
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000837// ARMEABIHARDFP-NOT:#define __ARMEB__ 1
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000838// ARMEABIHARDFP:#define __ARMEL__ 1
839// ARMEABIHARDFP:#define __ARM_ARCH 6
840// ARMEABIHARDFP:#define __ARM_ARCH_6J__ 1
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000841// ARMEABIHARDFP-NOT:#define __ARM_BIG_ENDIAN 1
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000842// ARMEABIHARDFP:#define __ARM_EABI__ 1
843// ARMEABIHARDFP:#define __ARM_PCS 1
844// ARMEABIHARDFP:#define __ARM_PCS_VFP 1
845// ARMEABIHARDFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
846// ARMEABIHARDFP:#define __CHAR16_TYPE__ unsigned short
847// ARMEABIHARDFP:#define __CHAR32_TYPE__ unsigned int
848// ARMEABIHARDFP:#define __CHAR_BIT__ 8
849// ARMEABIHARDFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
850// ARMEABIHARDFP:#define __DBL_DIG__ 15
851// ARMEABIHARDFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
852// ARMEABIHARDFP:#define __DBL_HAS_DENORM__ 1
853// ARMEABIHARDFP:#define __DBL_HAS_INFINITY__ 1
854// ARMEABIHARDFP:#define __DBL_HAS_QUIET_NAN__ 1
855// ARMEABIHARDFP:#define __DBL_MANT_DIG__ 53
856// ARMEABIHARDFP:#define __DBL_MAX_10_EXP__ 308
857// ARMEABIHARDFP:#define __DBL_MAX_EXP__ 1024
858// ARMEABIHARDFP:#define __DBL_MAX__ 1.7976931348623157e+308
859// ARMEABIHARDFP:#define __DBL_MIN_10_EXP__ (-307)
860// ARMEABIHARDFP:#define __DBL_MIN_EXP__ (-1021)
861// ARMEABIHARDFP:#define __DBL_MIN__ 2.2250738585072014e-308
862// ARMEABIHARDFP:#define __DECIMAL_DIG__ 17
863// ARMEABIHARDFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
864// ARMEABIHARDFP:#define __FLT_DIG__ 6
865// ARMEABIHARDFP:#define __FLT_EPSILON__ 1.19209290e-7F
866// ARMEABIHARDFP:#define __FLT_EVAL_METHOD__ 0
867// ARMEABIHARDFP:#define __FLT_HAS_DENORM__ 1
868// ARMEABIHARDFP:#define __FLT_HAS_INFINITY__ 1
869// ARMEABIHARDFP:#define __FLT_HAS_QUIET_NAN__ 1
870// ARMEABIHARDFP:#define __FLT_MANT_DIG__ 24
871// ARMEABIHARDFP:#define __FLT_MAX_10_EXP__ 38
872// ARMEABIHARDFP:#define __FLT_MAX_EXP__ 128
873// ARMEABIHARDFP:#define __FLT_MAX__ 3.40282347e+38F
874// ARMEABIHARDFP:#define __FLT_MIN_10_EXP__ (-37)
875// ARMEABIHARDFP:#define __FLT_MIN_EXP__ (-125)
876// ARMEABIHARDFP:#define __FLT_MIN__ 1.17549435e-38F
877// ARMEABIHARDFP:#define __FLT_RADIX__ 2
878// ARMEABIHARDFP:#define __INT16_TYPE__ short
879// ARMEABIHARDFP:#define __INT32_TYPE__ int
880// ARMEABIHARDFP:#define __INT64_C_SUFFIX__ LL
881// ARMEABIHARDFP:#define __INT64_TYPE__ long long int
882// ARMEABIHARDFP:#define __INT8_TYPE__ char
883// ARMEABIHARDFP:#define __INTMAX_MAX__ 9223372036854775807LL
884// ARMEABIHARDFP:#define __INTMAX_TYPE__ long long int
885// ARMEABIHARDFP:#define __INTMAX_WIDTH__ 64
886// ARMEABIHARDFP:#define __INTPTR_TYPE__ long int
887// ARMEABIHARDFP:#define __INTPTR_WIDTH__ 32
888// ARMEABIHARDFP:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000889// ARMEABIHARDFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000890// ARMEABIHARDFP:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000891// ARMEABIHARDFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000892// ARMEABIHARDFP:#define __LDBL_HAS_DENORM__ 1
893// ARMEABIHARDFP:#define __LDBL_HAS_INFINITY__ 1
894// ARMEABIHARDFP:#define __LDBL_HAS_QUIET_NAN__ 1
895// ARMEABIHARDFP:#define __LDBL_MANT_DIG__ 53
896// ARMEABIHARDFP:#define __LDBL_MAX_10_EXP__ 308
897// ARMEABIHARDFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000898// ARMEABIHARDFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000899// ARMEABIHARDFP:#define __LDBL_MIN_10_EXP__ (-307)
900// ARMEABIHARDFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000901// ARMEABIHARDFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000902// ARMEABIHARDFP:#define __LITTLE_ENDIAN__ 1
903// ARMEABIHARDFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
904// ARMEABIHARDFP:#define __LONG_MAX__ 2147483647L
905// ARMEABIHARDFP-NOT:#define __LP64__
906// ARMEABIHARDFP:#define __POINTER_WIDTH__ 32
907// ARMEABIHARDFP:#define __PTRDIFF_TYPE__ int
908// ARMEABIHARDFP:#define __PTRDIFF_WIDTH__ 32
909// ARMEABIHARDFP:#define __REGISTER_PREFIX__
910// ARMEABIHARDFP:#define __SCHAR_MAX__ 127
911// ARMEABIHARDFP:#define __SHRT_MAX__ 32767
912// ARMEABIHARDFP:#define __SIG_ATOMIC_WIDTH__ 32
913// ARMEABIHARDFP:#define __SIZEOF_DOUBLE__ 8
914// ARMEABIHARDFP:#define __SIZEOF_FLOAT__ 4
915// ARMEABIHARDFP:#define __SIZEOF_INT__ 4
916// ARMEABIHARDFP:#define __SIZEOF_LONG_DOUBLE__ 8
917// ARMEABIHARDFP:#define __SIZEOF_LONG_LONG__ 8
918// ARMEABIHARDFP:#define __SIZEOF_LONG__ 4
919// ARMEABIHARDFP:#define __SIZEOF_POINTER__ 4
920// ARMEABIHARDFP:#define __SIZEOF_PTRDIFF_T__ 4
921// ARMEABIHARDFP:#define __SIZEOF_SHORT__ 2
922// ARMEABIHARDFP:#define __SIZEOF_SIZE_T__ 4
923// ARMEABIHARDFP:#define __SIZEOF_WCHAR_T__ 4
924// ARMEABIHARDFP:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000925// ARMEABIHARDFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000926// ARMEABIHARDFP:#define __SIZE_TYPE__ unsigned int
927// ARMEABIHARDFP:#define __SIZE_WIDTH__ 32
928// ARMEABIHARDFP-NOT:#define __SOFTFP__ 1
929// ARMEABIHARDFP:#define __THUMB_INTERWORK__ 1
930// ARMEABIHARDFP:#define __UINTMAX_TYPE__ long long unsigned int
931// ARMEABIHARDFP:#define __USER_LABEL_PREFIX__
932// ARMEABIHARDFP:#define __WCHAR_MAX__ 4294967295U
933// ARMEABIHARDFP:#define __WCHAR_TYPE__ unsigned int
934// ARMEABIHARDFP:#define __WCHAR_WIDTH__ 32
935// ARMEABIHARDFP:#define __WINT_TYPE__ unsigned int
936// ARMEABIHARDFP:#define __WINT_WIDTH__ 32
937// ARMEABIHARDFP:#define __arm 1
938// ARMEABIHARDFP:#define __arm__ 1
939
Tim Northovere77f78c2013-11-11 19:11:22 +0000940// RUN: %clang -target arm -arch armv7s -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
941// RUN: %clang -target arm -arch armv6m -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
942// RUN: %clang -target arm -arch armv7m -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
943// RUN: %clang -target arm -arch armv7em -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
944// RUN: %clang -target thumbv7-apple-darwin-eabi -arch armv7 -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
945// ARM-DARWIN-NO-EABI-NOT: #define __ARM_EABI__ 1
946
Silviu Barangaf9671dd2013-10-21 10:54:53 +0000947// Check that -mhwdiv works properly for targets which don't have the hwdiv feature enabled by default.
948
949// RUN: %clang -target arm -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-ARM %s
950// ARMHWDIV-ARM:#define __ARM_ARCH_EXT_IDIV__ 1
951
952// RUN: %clang -target arm -mthumb -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-THUMB %s
953// THUMBHWDIV-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1
954
955// RUN: %clang -target arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-FALSE %s
956// ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
957
958// RUN: %clang -target arm -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMB-FALSE %s
959// THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
960
961// RUN: %clang -target arm -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-ARM-FALSE %s
962// THUMBHWDIV-ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
963
964// RUN: %clang -target arm -mthumb -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-THUMB-FALSE %s
965// ARMHWDIV-THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
966
Weiming Zhaofb5c21a2014-01-22 18:42:13 +0000967// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armv8-none-none < /dev/null | FileCheck -check-prefix ARMv8 %s
968// ARMv8: #define __THUMB_INTERWORK__ 1
969// ARMv8-NOT: #define __thumb2__
970
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000971// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armebv8-none-none < /dev/null | FileCheck -check-prefix ARMebv8 %s
972// ARMebv8: #define __THUMB_INTERWORK__ 1
973// ARMebv8-NOT: #define __thumb2__
974
Weiming Zhaofb5c21a2014-01-22 18:42:13 +0000975// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv8 < /dev/null | FileCheck -check-prefix Thumbv8 %s
976// Thumbv8: #define __THUMB_INTERWORK__ 1
977// Thumbv8: #define __thumb2__
978
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000979// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbebv8 < /dev/null | FileCheck -check-prefix Thumbebv8 %s
980// Thumbebv8: #define __THUMB_INTERWORK__ 1
981// Thumbebv8: #define __thumb2__
982
Weiming Zhaofb5c21a2014-01-22 18:42:13 +0000983// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv5 < /dev/null | FileCheck -check-prefix Thumbv5 %s
984// Thumbv5: #define __THUMB_INTERWORK__ 1
985// Thumbv5-NOT: #define __thumb2__
986
987// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv6t2 < /dev/null | FileCheck -check-prefix Thumbv6t2 %s
988// Thumbv6t2: #define __THUMB_INTERWORK__ 1
989// Thumbv6t2: #define __thumb2__
990
991// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv7 < /dev/null | FileCheck -check-prefix Thumbv7 %s
992// Thumbv7: #define __THUMB_INTERWORK__ 1
993// Thumbv7: #define __thumb2__
994
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000995// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbebv7 < /dev/null | FileCheck -check-prefix Thumbebv7 %s
996// Thumbebv7: #define __THUMB_INTERWORK__ 1
997// Thumbebv7: #define __thumb2__
998
Chris Lattnere963d092009-10-29 04:55:36 +0000999//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00001000// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
Chris Lattnere963d092009-10-29 04:55:36 +00001001//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001002// I386-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001003// I386:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00001004// I386:#define __CHAR16_TYPE__ unsigned short
1005// I386:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001006// I386:#define __CHAR_BIT__ 8
1007// I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1008// I386:#define __DBL_DIG__ 15
1009// I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
1010// I386:#define __DBL_HAS_DENORM__ 1
1011// I386:#define __DBL_HAS_INFINITY__ 1
1012// I386:#define __DBL_HAS_QUIET_NAN__ 1
1013// I386:#define __DBL_MANT_DIG__ 53
1014// I386:#define __DBL_MAX_10_EXP__ 308
1015// I386:#define __DBL_MAX_EXP__ 1024
1016// I386:#define __DBL_MAX__ 1.7976931348623157e+308
1017// I386:#define __DBL_MIN_10_EXP__ (-307)
1018// I386:#define __DBL_MIN_EXP__ (-1021)
1019// I386:#define __DBL_MIN__ 2.2250738585072014e-308
1020// I386:#define __DECIMAL_DIG__ 21
1021// I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1022// I386:#define __FLT_DIG__ 6
1023// I386:#define __FLT_EPSILON__ 1.19209290e-7F
Benjamin Kramercf501472011-12-28 15:47:06 +00001024// I386:#define __FLT_EVAL_METHOD__ 2
Chris Lattnere963d092009-10-29 04:55:36 +00001025// I386:#define __FLT_HAS_DENORM__ 1
1026// I386:#define __FLT_HAS_INFINITY__ 1
1027// I386:#define __FLT_HAS_QUIET_NAN__ 1
1028// I386:#define __FLT_MANT_DIG__ 24
1029// I386:#define __FLT_MAX_10_EXP__ 38
1030// I386:#define __FLT_MAX_EXP__ 128
1031// I386:#define __FLT_MAX__ 3.40282347e+38F
1032// I386:#define __FLT_MIN_10_EXP__ (-37)
1033// I386:#define __FLT_MIN_EXP__ (-125)
1034// I386:#define __FLT_MIN__ 1.17549435e-38F
1035// I386:#define __FLT_RADIX__ 2
1036// I386:#define __INT16_TYPE__ short
1037// I386:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00001038// I386:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00001039// I386:#define __INT64_TYPE__ long long int
1040// I386:#define __INT8_TYPE__ char
1041// I386:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00001042// I386:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00001043// I386:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00001044// I386:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00001045// I386:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00001046// I386:#define __INT_MAX__ 2147483647
1047// I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1048// I386:#define __LDBL_DIG__ 18
1049// I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1050// I386:#define __LDBL_HAS_DENORM__ 1
1051// I386:#define __LDBL_HAS_INFINITY__ 1
1052// I386:#define __LDBL_HAS_QUIET_NAN__ 1
1053// I386:#define __LDBL_MANT_DIG__ 64
1054// I386:#define __LDBL_MAX_10_EXP__ 4932
1055// I386:#define __LDBL_MAX_EXP__ 16384
1056// I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1057// I386:#define __LDBL_MIN_10_EXP__ (-4931)
1058// I386:#define __LDBL_MIN_EXP__ (-16381)
1059// I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1060// I386:#define __LITTLE_ENDIAN__ 1
1061// I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
1062// I386:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001063// I386-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00001064// I386:#define __NO_MATH_INLINES 1
1065// I386:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00001066// I386:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00001067// I386:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00001068// I386:#define __REGISTER_PREFIX__
1069// I386:#define __SCHAR_MAX__ 127
1070// I386:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00001071// I386:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00001072// I386:#define __SIZEOF_DOUBLE__ 8
1073// I386:#define __SIZEOF_FLOAT__ 4
1074// I386:#define __SIZEOF_INT__ 4
1075// I386:#define __SIZEOF_LONG_DOUBLE__ 12
1076// I386:#define __SIZEOF_LONG_LONG__ 8
1077// I386:#define __SIZEOF_LONG__ 4
1078// I386:#define __SIZEOF_POINTER__ 4
1079// I386:#define __SIZEOF_PTRDIFF_T__ 4
1080// I386:#define __SIZEOF_SHORT__ 2
1081// I386:#define __SIZEOF_SIZE_T__ 4
1082// I386:#define __SIZEOF_WCHAR_T__ 4
1083// I386:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001084// I386:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00001085// I386:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00001086// I386:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00001087// I386:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001088// I386:#define __USER_LABEL_PREFIX__ _
1089// I386:#define __WCHAR_MAX__ 2147483647
1090// I386:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00001091// I386:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00001092// I386:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00001093// I386:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00001094// I386:#define __i386 1
1095// I386:#define __i386__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00001096// I386:#define i386 1
1097//
Benjamin Kramercf501472011-12-28 15:47:06 +00001098// 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 +00001099//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001100// I386-LINUX-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001101// I386-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregore6d6e512011-01-12 21:19:25 +00001102// I386-LINUX:#define __CHAR16_TYPE__ unsigned short
1103// I386-LINUX:#define __CHAR32_TYPE__ unsigned int
1104// I386-LINUX:#define __CHAR_BIT__ 8
1105// I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1106// I386-LINUX:#define __DBL_DIG__ 15
1107// I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
1108// I386-LINUX:#define __DBL_HAS_DENORM__ 1
1109// I386-LINUX:#define __DBL_HAS_INFINITY__ 1
1110// I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
1111// I386-LINUX:#define __DBL_MANT_DIG__ 53
1112// I386-LINUX:#define __DBL_MAX_10_EXP__ 308
1113// I386-LINUX:#define __DBL_MAX_EXP__ 1024
1114// I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
1115// I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
1116// I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
1117// I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
1118// I386-LINUX:#define __DECIMAL_DIG__ 21
1119// I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1120// I386-LINUX:#define __FLT_DIG__ 6
1121// I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
1122// I386-LINUX:#define __FLT_EVAL_METHOD__ 0
1123// I386-LINUX:#define __FLT_HAS_DENORM__ 1
1124// I386-LINUX:#define __FLT_HAS_INFINITY__ 1
1125// I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
1126// I386-LINUX:#define __FLT_MANT_DIG__ 24
1127// I386-LINUX:#define __FLT_MAX_10_EXP__ 38
1128// I386-LINUX:#define __FLT_MAX_EXP__ 128
1129// I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
1130// I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
1131// I386-LINUX:#define __FLT_MIN_EXP__ (-125)
1132// I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
1133// I386-LINUX:#define __FLT_RADIX__ 2
1134// I386-LINUX:#define __INT16_TYPE__ short
1135// I386-LINUX:#define __INT32_TYPE__ int
1136// I386-LINUX:#define __INT64_C_SUFFIX__ LL
1137// I386-LINUX:#define __INT64_TYPE__ long long int
1138// I386-LINUX:#define __INT8_TYPE__ char
1139// I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
1140// I386-LINUX:#define __INTMAX_TYPE__ long long int
1141// I386-LINUX:#define __INTMAX_WIDTH__ 64
1142// I386-LINUX:#define __INTPTR_TYPE__ int
1143// I386-LINUX:#define __INTPTR_WIDTH__ 32
1144// I386-LINUX:#define __INT_MAX__ 2147483647
1145// I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1146// I386-LINUX:#define __LDBL_DIG__ 18
1147// I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1148// I386-LINUX:#define __LDBL_HAS_DENORM__ 1
1149// I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
1150// I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
1151// I386-LINUX:#define __LDBL_MANT_DIG__ 64
1152// I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
1153// I386-LINUX:#define __LDBL_MAX_EXP__ 16384
1154// I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1155// I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
1156// I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
1157// I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1158// I386-LINUX:#define __LITTLE_ENDIAN__ 1
1159// I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
1160// I386-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001161// I386-LINUX-NOT:#define __LP64__
Douglas Gregore6d6e512011-01-12 21:19:25 +00001162// I386-LINUX:#define __NO_MATH_INLINES 1
1163// I386-LINUX:#define __POINTER_WIDTH__ 32
1164// I386-LINUX:#define __PTRDIFF_TYPE__ int
1165// I386-LINUX:#define __PTRDIFF_WIDTH__ 32
1166// I386-LINUX:#define __REGISTER_PREFIX__
1167// I386-LINUX:#define __SCHAR_MAX__ 127
1168// I386-LINUX:#define __SHRT_MAX__ 32767
1169// I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
1170// I386-LINUX:#define __SIZEOF_DOUBLE__ 8
1171// I386-LINUX:#define __SIZEOF_FLOAT__ 4
1172// I386-LINUX:#define __SIZEOF_INT__ 4
1173// I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
1174// I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
1175// I386-LINUX:#define __SIZEOF_LONG__ 4
1176// I386-LINUX:#define __SIZEOF_POINTER__ 4
1177// I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
1178// I386-LINUX:#define __SIZEOF_SHORT__ 2
1179// I386-LINUX:#define __SIZEOF_SIZE_T__ 4
1180// I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
1181// I386-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001182// I386-LINUX:#define __SIZE_MAX__ 4294967295U
Douglas Gregore6d6e512011-01-12 21:19:25 +00001183// I386-LINUX:#define __SIZE_TYPE__ unsigned int
1184// I386-LINUX:#define __SIZE_WIDTH__ 32
1185// I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
1186// I386-LINUX:#define __USER_LABEL_PREFIX__
1187// I386-LINUX:#define __WCHAR_MAX__ 2147483647
1188// I386-LINUX:#define __WCHAR_TYPE__ int
1189// I386-LINUX:#define __WCHAR_WIDTH__ 32
1190// I386-LINUX:#define __WINT_TYPE__ unsigned int
1191// I386-LINUX:#define __WINT_WIDTH__ 32
1192// I386-LINUX:#define __i386 1
1193// I386-LINUX:#define __i386__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00001194// I386-LINUX:#define i386 1
1195//
Joerg Sonnenberger0e921f22013-11-11 14:00:37 +00001196// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd < /dev/null | FileCheck -check-prefix I386-NETBSD %s
1197//
1198// I386-NETBSD-NOT:#define _LP64
1199// I386-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1200// I386-NETBSD:#define __CHAR16_TYPE__ unsigned short
1201// I386-NETBSD:#define __CHAR32_TYPE__ unsigned int
1202// I386-NETBSD:#define __CHAR_BIT__ 8
1203// I386-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1204// I386-NETBSD:#define __DBL_DIG__ 15
1205// I386-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
1206// I386-NETBSD:#define __DBL_HAS_DENORM__ 1
1207// I386-NETBSD:#define __DBL_HAS_INFINITY__ 1
1208// I386-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
1209// I386-NETBSD:#define __DBL_MANT_DIG__ 53
1210// I386-NETBSD:#define __DBL_MAX_10_EXP__ 308
1211// I386-NETBSD:#define __DBL_MAX_EXP__ 1024
1212// I386-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
1213// I386-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
1214// I386-NETBSD:#define __DBL_MIN_EXP__ (-1021)
1215// I386-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
1216// I386-NETBSD:#define __DECIMAL_DIG__ 21
1217// I386-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1218// I386-NETBSD:#define __FLT_DIG__ 6
1219// I386-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
1220// I386-NETBSD:#define __FLT_EVAL_METHOD__ 2
1221// I386-NETBSD:#define __FLT_HAS_DENORM__ 1
1222// I386-NETBSD:#define __FLT_HAS_INFINITY__ 1
1223// I386-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
1224// I386-NETBSD:#define __FLT_MANT_DIG__ 24
1225// I386-NETBSD:#define __FLT_MAX_10_EXP__ 38
1226// I386-NETBSD:#define __FLT_MAX_EXP__ 128
1227// I386-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
1228// I386-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
1229// I386-NETBSD:#define __FLT_MIN_EXP__ (-125)
1230// I386-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
1231// I386-NETBSD:#define __FLT_RADIX__ 2
1232// I386-NETBSD:#define __INT16_TYPE__ short
1233// I386-NETBSD:#define __INT32_TYPE__ int
1234// I386-NETBSD:#define __INT64_C_SUFFIX__ LL
1235// I386-NETBSD:#define __INT64_TYPE__ long long int
1236// I386-NETBSD:#define __INT8_TYPE__ char
1237// I386-NETBSD:#define __INTMAX_MAX__ 9223372036854775807LL
1238// I386-NETBSD:#define __INTMAX_TYPE__ long long int
1239// I386-NETBSD:#define __INTMAX_WIDTH__ 64
1240// I386-NETBSD:#define __INTPTR_TYPE__ int
1241// I386-NETBSD:#define __INTPTR_WIDTH__ 32
1242// I386-NETBSD:#define __INT_MAX__ 2147483647
1243// I386-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1244// I386-NETBSD:#define __LDBL_DIG__ 18
1245// I386-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1246// I386-NETBSD:#define __LDBL_HAS_DENORM__ 1
1247// I386-NETBSD:#define __LDBL_HAS_INFINITY__ 1
1248// I386-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
1249// I386-NETBSD:#define __LDBL_MANT_DIG__ 64
1250// I386-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
1251// I386-NETBSD:#define __LDBL_MAX_EXP__ 16384
1252// I386-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1253// I386-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
1254// I386-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
1255// I386-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1256// I386-NETBSD:#define __LITTLE_ENDIAN__ 1
1257// I386-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
1258// I386-NETBSD:#define __LONG_MAX__ 2147483647L
1259// I386-NETBSD-NOT:#define __LP64__
1260// I386-NETBSD:#define __NO_MATH_INLINES 1
1261// I386-NETBSD:#define __POINTER_WIDTH__ 32
1262// I386-NETBSD:#define __PTRDIFF_TYPE__ int
1263// I386-NETBSD:#define __PTRDIFF_WIDTH__ 32
1264// I386-NETBSD:#define __REGISTER_PREFIX__
1265// I386-NETBSD:#define __SCHAR_MAX__ 127
1266// I386-NETBSD:#define __SHRT_MAX__ 32767
1267// I386-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
1268// I386-NETBSD:#define __SIZEOF_DOUBLE__ 8
1269// I386-NETBSD:#define __SIZEOF_FLOAT__ 4
1270// I386-NETBSD:#define __SIZEOF_INT__ 4
1271// I386-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 12
1272// I386-NETBSD:#define __SIZEOF_LONG_LONG__ 8
1273// I386-NETBSD:#define __SIZEOF_LONG__ 4
1274// I386-NETBSD:#define __SIZEOF_POINTER__ 4
1275// I386-NETBSD:#define __SIZEOF_PTRDIFF_T__ 4
1276// I386-NETBSD:#define __SIZEOF_SHORT__ 2
1277// I386-NETBSD:#define __SIZEOF_SIZE_T__ 4
1278// I386-NETBSD:#define __SIZEOF_WCHAR_T__ 4
1279// I386-NETBSD:#define __SIZEOF_WINT_T__ 4
1280// I386-NETBSD:#define __SIZE_MAX__ 4294967295U
1281// I386-NETBSD:#define __SIZE_TYPE__ unsigned int
1282// I386-NETBSD:#define __SIZE_WIDTH__ 32
1283// I386-NETBSD:#define __UINTMAX_TYPE__ long long unsigned int
1284// I386-NETBSD:#define __USER_LABEL_PREFIX__
1285// I386-NETBSD:#define __WCHAR_MAX__ 2147483647
1286// I386-NETBSD:#define __WCHAR_TYPE__ int
1287// I386-NETBSD:#define __WCHAR_WIDTH__ 32
1288// I386-NETBSD:#define __WINT_TYPE__ int
1289// I386-NETBSD:#define __WINT_WIDTH__ 32
1290// I386-NETBSD:#define __i386 1
1291// I386-NETBSD:#define __i386__ 1
1292// I386-NETBSD:#define i386 1
1293//
1294// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD-SSE %s
1295// I386-NETBSD-SSE:#define __FLT_EVAL_METHOD__ 0
1296// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 < /dev/null | FileCheck -check-prefix I386-NETBSD6 %s
1297// I386-NETBSD6:#define __FLT_EVAL_METHOD__ 1
1298// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD6-SSE %s
1299// I386-NETBSD6-SSE:#define __FLT_EVAL_METHOD__ 1
1300
1301//
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001302// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none < /dev/null | FileCheck -check-prefix MIPS32BE %s
1303//
1304// MIPS32BE:#define MIPSEB 1
1305// MIPS32BE:#define _ABIO32 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001306// MIPS32BE-NOT:#define _LP64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001307// MIPS32BE:#define _MIPSEB 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001308// MIPS32BE:#define _MIPS_ARCH "mips32r2"
1309// MIPS32BE:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001310// MIPS32BE:#define _MIPS_FPSET 16
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001311// MIPS32BE:#define _MIPS_SIM _ABIO32
1312// MIPS32BE:#define _MIPS_SZINT 32
1313// MIPS32BE:#define _MIPS_SZLONG 32
1314// MIPS32BE:#define _MIPS_SZPTR 32
Robert Lytton2c942c62014-03-10 12:06:29 +00001315// MIPS32BE:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001316// MIPS32BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001317// MIPS32BE:#define __CHAR16_TYPE__ unsigned short
1318// MIPS32BE:#define __CHAR32_TYPE__ unsigned int
1319// MIPS32BE:#define __CHAR_BIT__ 8
1320// MIPS32BE:#define __CONSTANT_CFSTRINGS__ 1
1321// MIPS32BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1322// MIPS32BE:#define __DBL_DIG__ 15
1323// MIPS32BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
1324// MIPS32BE:#define __DBL_HAS_DENORM__ 1
1325// MIPS32BE:#define __DBL_HAS_INFINITY__ 1
1326// MIPS32BE:#define __DBL_HAS_QUIET_NAN__ 1
1327// MIPS32BE:#define __DBL_MANT_DIG__ 53
1328// MIPS32BE:#define __DBL_MAX_10_EXP__ 308
1329// MIPS32BE:#define __DBL_MAX_EXP__ 1024
1330// MIPS32BE:#define __DBL_MAX__ 1.7976931348623157e+308
1331// MIPS32BE:#define __DBL_MIN_10_EXP__ (-307)
1332// MIPS32BE:#define __DBL_MIN_EXP__ (-1021)
1333// MIPS32BE:#define __DBL_MIN__ 2.2250738585072014e-308
1334// MIPS32BE:#define __DECIMAL_DIG__ 17
1335// MIPS32BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1336// MIPS32BE:#define __FLT_DIG__ 6
1337// MIPS32BE:#define __FLT_EPSILON__ 1.19209290e-7F
1338// MIPS32BE:#define __FLT_EVAL_METHOD__ 0
1339// MIPS32BE:#define __FLT_HAS_DENORM__ 1
1340// MIPS32BE:#define __FLT_HAS_INFINITY__ 1
1341// MIPS32BE:#define __FLT_HAS_QUIET_NAN__ 1
1342// MIPS32BE:#define __FLT_MANT_DIG__ 24
1343// MIPS32BE:#define __FLT_MAX_10_EXP__ 38
1344// MIPS32BE:#define __FLT_MAX_EXP__ 128
1345// MIPS32BE:#define __FLT_MAX__ 3.40282347e+38F
1346// MIPS32BE:#define __FLT_MIN_10_EXP__ (-37)
1347// MIPS32BE:#define __FLT_MIN_EXP__ (-125)
1348// MIPS32BE:#define __FLT_MIN__ 1.17549435e-38F
1349// MIPS32BE:#define __FLT_RADIX__ 2
1350// MIPS32BE:#define __INT16_TYPE__ short
1351// MIPS32BE:#define __INT32_TYPE__ int
1352// MIPS32BE:#define __INT64_C_SUFFIX__ LL
1353// MIPS32BE:#define __INT64_TYPE__ long long int
1354// MIPS32BE:#define __INT8_TYPE__ char
1355// MIPS32BE:#define __INTMAX_MAX__ 9223372036854775807LL
1356// MIPS32BE:#define __INTMAX_TYPE__ long long int
1357// MIPS32BE:#define __INTMAX_WIDTH__ 64
1358// MIPS32BE:#define __INTPTR_TYPE__ long int
1359// MIPS32BE:#define __INTPTR_WIDTH__ 32
1360// MIPS32BE:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001361// MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001362// MIPS32BE:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001363// MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001364// MIPS32BE:#define __LDBL_HAS_DENORM__ 1
1365// MIPS32BE:#define __LDBL_HAS_INFINITY__ 1
1366// MIPS32BE:#define __LDBL_HAS_QUIET_NAN__ 1
1367// MIPS32BE:#define __LDBL_MANT_DIG__ 53
1368// MIPS32BE:#define __LDBL_MAX_10_EXP__ 308
1369// MIPS32BE:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001370// MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001371// MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307)
1372// MIPS32BE:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001373// MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001374// MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1375// MIPS32BE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001376// MIPS32BE-NOT:#define __LP64__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001377// MIPS32BE:#define __MIPSEB 1
1378// MIPS32BE:#define __MIPSEB__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001379// MIPS32BE:#define __POINTER_WIDTH__ 32
1380// MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1
1381// MIPS32BE:#define __PTRDIFF_TYPE__ int
1382// MIPS32BE:#define __PTRDIFF_WIDTH__ 32
1383// MIPS32BE:#define __REGISTER_PREFIX__
1384// MIPS32BE:#define __SCHAR_MAX__ 127
1385// MIPS32BE:#define __SHRT_MAX__ 32767
1386// MIPS32BE:#define __SIG_ATOMIC_WIDTH__ 32
1387// MIPS32BE:#define __SIZEOF_DOUBLE__ 8
1388// MIPS32BE:#define __SIZEOF_FLOAT__ 4
1389// MIPS32BE:#define __SIZEOF_INT__ 4
1390// MIPS32BE:#define __SIZEOF_LONG_DOUBLE__ 8
1391// MIPS32BE:#define __SIZEOF_LONG_LONG__ 8
1392// MIPS32BE:#define __SIZEOF_LONG__ 4
1393// MIPS32BE:#define __SIZEOF_POINTER__ 4
1394// MIPS32BE:#define __SIZEOF_PTRDIFF_T__ 4
1395// MIPS32BE:#define __SIZEOF_SHORT__ 2
1396// MIPS32BE:#define __SIZEOF_SIZE_T__ 4
1397// MIPS32BE:#define __SIZEOF_WCHAR_T__ 4
1398// MIPS32BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001399// MIPS32BE:#define __SIZE_MAX__ 4294967295U
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001400// MIPS32BE:#define __SIZE_TYPE__ unsigned int
1401// MIPS32BE:#define __SIZE_WIDTH__ 32
1402// MIPS32BE:#define __STDC_HOSTED__ 0
1403// MIPS32BE:#define __STDC_VERSION__ 199901L
1404// MIPS32BE:#define __STDC__ 1
1405// MIPS32BE:#define __UINTMAX_TYPE__ long long unsigned int
1406// MIPS32BE:#define __USER_LABEL_PREFIX__ _
1407// MIPS32BE:#define __WCHAR_MAX__ 2147483647
1408// MIPS32BE:#define __WCHAR_TYPE__ int
1409// MIPS32BE:#define __WCHAR_WIDTH__ 32
1410// MIPS32BE:#define __WINT_TYPE__ int
1411// MIPS32BE:#define __WINT_WIDTH__ 32
1412// MIPS32BE:#define __clang__ 1
1413// MIPS32BE:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001414// MIPS32BE:#define __mips 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001415// MIPS32BE:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001416// MIPS32BE:#define __mips_fpr 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001417// MIPS32BE:#define __mips_hard_float 1
1418// MIPS32BE:#define __mips_o32 1
1419// MIPS32BE:#define _mips 1
1420// MIPS32BE:#define mips 1
1421//
1422// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -check-prefix MIPS32EL %s
1423//
1424// MIPS32EL:#define MIPSEL 1
1425// MIPS32EL:#define _ABIO32 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001426// MIPS32EL-NOT:#define _LP64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001427// MIPS32EL:#define _MIPSEL 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001428// MIPS32EL:#define _MIPS_ARCH "mips32r2"
1429// MIPS32EL:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001430// MIPS32EL:#define _MIPS_FPSET 16
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001431// MIPS32EL:#define _MIPS_SIM _ABIO32
1432// MIPS32EL:#define _MIPS_SZINT 32
1433// MIPS32EL:#define _MIPS_SZLONG 32
1434// MIPS32EL:#define _MIPS_SZPTR 32
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001435// MIPS32EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001436// MIPS32EL:#define __CHAR16_TYPE__ unsigned short
1437// MIPS32EL:#define __CHAR32_TYPE__ unsigned int
1438// MIPS32EL:#define __CHAR_BIT__ 8
1439// MIPS32EL:#define __CONSTANT_CFSTRINGS__ 1
1440// MIPS32EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1441// MIPS32EL:#define __DBL_DIG__ 15
1442// MIPS32EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1443// MIPS32EL:#define __DBL_HAS_DENORM__ 1
1444// MIPS32EL:#define __DBL_HAS_INFINITY__ 1
1445// MIPS32EL:#define __DBL_HAS_QUIET_NAN__ 1
1446// MIPS32EL:#define __DBL_MANT_DIG__ 53
1447// MIPS32EL:#define __DBL_MAX_10_EXP__ 308
1448// MIPS32EL:#define __DBL_MAX_EXP__ 1024
1449// MIPS32EL:#define __DBL_MAX__ 1.7976931348623157e+308
1450// MIPS32EL:#define __DBL_MIN_10_EXP__ (-307)
1451// MIPS32EL:#define __DBL_MIN_EXP__ (-1021)
1452// MIPS32EL:#define __DBL_MIN__ 2.2250738585072014e-308
1453// MIPS32EL:#define __DECIMAL_DIG__ 17
1454// MIPS32EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1455// MIPS32EL:#define __FLT_DIG__ 6
1456// MIPS32EL:#define __FLT_EPSILON__ 1.19209290e-7F
1457// MIPS32EL:#define __FLT_EVAL_METHOD__ 0
1458// MIPS32EL:#define __FLT_HAS_DENORM__ 1
1459// MIPS32EL:#define __FLT_HAS_INFINITY__ 1
1460// MIPS32EL:#define __FLT_HAS_QUIET_NAN__ 1
1461// MIPS32EL:#define __FLT_MANT_DIG__ 24
1462// MIPS32EL:#define __FLT_MAX_10_EXP__ 38
1463// MIPS32EL:#define __FLT_MAX_EXP__ 128
1464// MIPS32EL:#define __FLT_MAX__ 3.40282347e+38F
1465// MIPS32EL:#define __FLT_MIN_10_EXP__ (-37)
1466// MIPS32EL:#define __FLT_MIN_EXP__ (-125)
1467// MIPS32EL:#define __FLT_MIN__ 1.17549435e-38F
1468// MIPS32EL:#define __FLT_RADIX__ 2
1469// MIPS32EL:#define __INT16_TYPE__ short
1470// MIPS32EL:#define __INT32_TYPE__ int
1471// MIPS32EL:#define __INT64_C_SUFFIX__ LL
1472// MIPS32EL:#define __INT64_TYPE__ long long int
1473// MIPS32EL:#define __INT8_TYPE__ char
1474// MIPS32EL:#define __INTMAX_MAX__ 9223372036854775807LL
1475// MIPS32EL:#define __INTMAX_TYPE__ long long int
1476// MIPS32EL:#define __INTMAX_WIDTH__ 64
1477// MIPS32EL:#define __INTPTR_TYPE__ long int
1478// MIPS32EL:#define __INTPTR_WIDTH__ 32
1479// MIPS32EL:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001480// MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001481// MIPS32EL:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001482// MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001483// MIPS32EL:#define __LDBL_HAS_DENORM__ 1
1484// MIPS32EL:#define __LDBL_HAS_INFINITY__ 1
1485// MIPS32EL:#define __LDBL_HAS_QUIET_NAN__ 1
1486// MIPS32EL:#define __LDBL_MANT_DIG__ 53
1487// MIPS32EL:#define __LDBL_MAX_10_EXP__ 308
1488// MIPS32EL:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001489// MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001490// MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307)
1491// MIPS32EL:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001492// MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308L
Robert Lytton2c942c62014-03-10 12:06:29 +00001493// MIPS32EL:#define __LITTLE_ENDIAN__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001494// MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1495// MIPS32EL:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001496// MIPS32EL-NOT:#define __LP64__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001497// MIPS32EL:#define __MIPSEL 1
1498// MIPS32EL:#define __MIPSEL__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001499// MIPS32EL:#define __POINTER_WIDTH__ 32
1500// MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1501// MIPS32EL:#define __PTRDIFF_TYPE__ int
1502// MIPS32EL:#define __PTRDIFF_WIDTH__ 32
1503// MIPS32EL:#define __REGISTER_PREFIX__
1504// MIPS32EL:#define __SCHAR_MAX__ 127
1505// MIPS32EL:#define __SHRT_MAX__ 32767
1506// MIPS32EL:#define __SIG_ATOMIC_WIDTH__ 32
1507// MIPS32EL:#define __SIZEOF_DOUBLE__ 8
1508// MIPS32EL:#define __SIZEOF_FLOAT__ 4
1509// MIPS32EL:#define __SIZEOF_INT__ 4
1510// MIPS32EL:#define __SIZEOF_LONG_DOUBLE__ 8
1511// MIPS32EL:#define __SIZEOF_LONG_LONG__ 8
1512// MIPS32EL:#define __SIZEOF_LONG__ 4
1513// MIPS32EL:#define __SIZEOF_POINTER__ 4
1514// MIPS32EL:#define __SIZEOF_PTRDIFF_T__ 4
1515// MIPS32EL:#define __SIZEOF_SHORT__ 2
1516// MIPS32EL:#define __SIZEOF_SIZE_T__ 4
1517// MIPS32EL:#define __SIZEOF_WCHAR_T__ 4
1518// MIPS32EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001519// MIPS32EL:#define __SIZE_MAX__ 4294967295U
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001520// MIPS32EL:#define __SIZE_TYPE__ unsigned int
1521// MIPS32EL:#define __SIZE_WIDTH__ 32
1522// MIPS32EL:#define __UINTMAX_TYPE__ long long unsigned int
1523// MIPS32EL:#define __USER_LABEL_PREFIX__ _
1524// MIPS32EL:#define __WCHAR_MAX__ 2147483647
1525// MIPS32EL:#define __WCHAR_TYPE__ int
1526// MIPS32EL:#define __WCHAR_WIDTH__ 32
1527// MIPS32EL:#define __WINT_TYPE__ int
1528// MIPS32EL:#define __WINT_WIDTH__ 32
1529// MIPS32EL:#define __clang__ 1
1530// MIPS32EL:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001531// MIPS32EL:#define __mips 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001532// MIPS32EL:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001533// MIPS32EL:#define __mips_fpr 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001534// MIPS32EL:#define __mips_hard_float 1
1535// MIPS32EL:#define __mips_o32 1
1536// MIPS32EL:#define _mips 1
1537// MIPS32EL:#define mips 1
1538//
1539// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -check-prefix MIPS64BE %s
1540//
1541// MIPS64BE:#define MIPSEB 1
1542// MIPS64BE:#define _ABI64 3
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001543// MIPS64BE:#define _LP64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001544// MIPS64BE:#define _MIPSEB 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001545// MIPS64BE:#define _MIPS_ARCH "mips64r2"
1546// MIPS64BE:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001547// MIPS64BE:#define _MIPS_FPSET 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001548// MIPS64BE:#define _MIPS_SIM _ABI64
1549// MIPS64BE:#define _MIPS_SZINT 32
1550// MIPS64BE:#define _MIPS_SZLONG 64
1551// MIPS64BE:#define _MIPS_SZPTR 64
Robert Lytton2c942c62014-03-10 12:06:29 +00001552// MIPS64BE:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001553// MIPS64BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001554// MIPS64BE:#define __CHAR16_TYPE__ unsigned short
1555// MIPS64BE:#define __CHAR32_TYPE__ unsigned int
1556// MIPS64BE:#define __CHAR_BIT__ 8
1557// MIPS64BE:#define __CONSTANT_CFSTRINGS__ 1
1558// MIPS64BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1559// MIPS64BE:#define __DBL_DIG__ 15
1560// MIPS64BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
1561// MIPS64BE:#define __DBL_HAS_DENORM__ 1
1562// MIPS64BE:#define __DBL_HAS_INFINITY__ 1
1563// MIPS64BE:#define __DBL_HAS_QUIET_NAN__ 1
1564// MIPS64BE:#define __DBL_MANT_DIG__ 53
1565// MIPS64BE:#define __DBL_MAX_10_EXP__ 308
1566// MIPS64BE:#define __DBL_MAX_EXP__ 1024
1567// MIPS64BE:#define __DBL_MAX__ 1.7976931348623157e+308
1568// MIPS64BE:#define __DBL_MIN_10_EXP__ (-307)
1569// MIPS64BE:#define __DBL_MIN_EXP__ (-1021)
1570// MIPS64BE:#define __DBL_MIN__ 2.2250738585072014e-308
1571// MIPS64BE:#define __DECIMAL_DIG__ 36
1572// MIPS64BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1573// MIPS64BE:#define __FLT_DIG__ 6
1574// MIPS64BE:#define __FLT_EPSILON__ 1.19209290e-7F
1575// MIPS64BE:#define __FLT_EVAL_METHOD__ 0
1576// MIPS64BE:#define __FLT_HAS_DENORM__ 1
1577// MIPS64BE:#define __FLT_HAS_INFINITY__ 1
1578// MIPS64BE:#define __FLT_HAS_QUIET_NAN__ 1
1579// MIPS64BE:#define __FLT_MANT_DIG__ 24
1580// MIPS64BE:#define __FLT_MAX_10_EXP__ 38
1581// MIPS64BE:#define __FLT_MAX_EXP__ 128
1582// MIPS64BE:#define __FLT_MAX__ 3.40282347e+38F
1583// MIPS64BE:#define __FLT_MIN_10_EXP__ (-37)
1584// MIPS64BE:#define __FLT_MIN_EXP__ (-125)
1585// MIPS64BE:#define __FLT_MIN__ 1.17549435e-38F
1586// MIPS64BE:#define __FLT_RADIX__ 2
1587// MIPS64BE:#define __INT16_TYPE__ short
1588// MIPS64BE:#define __INT32_TYPE__ int
1589// MIPS64BE:#define __INT64_C_SUFFIX__ LL
1590// MIPS64BE:#define __INT64_TYPE__ long long int
1591// MIPS64BE:#define __INT8_TYPE__ char
1592// MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807LL
1593// MIPS64BE:#define __INTMAX_TYPE__ long long int
1594// MIPS64BE:#define __INTMAX_WIDTH__ 64
1595// MIPS64BE:#define __INTPTR_TYPE__ long int
1596// MIPS64BE:#define __INTPTR_WIDTH__ 64
1597// MIPS64BE:#define __INT_MAX__ 2147483647
1598// MIPS64BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1599// MIPS64BE:#define __LDBL_DIG__ 33
1600// MIPS64BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1601// MIPS64BE:#define __LDBL_HAS_DENORM__ 1
1602// MIPS64BE:#define __LDBL_HAS_INFINITY__ 1
1603// MIPS64BE:#define __LDBL_HAS_QUIET_NAN__ 1
1604// MIPS64BE:#define __LDBL_MANT_DIG__ 113
1605// MIPS64BE:#define __LDBL_MAX_10_EXP__ 4932
1606// MIPS64BE:#define __LDBL_MAX_EXP__ 16384
1607// MIPS64BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1608// MIPS64BE:#define __LDBL_MIN_10_EXP__ (-4931)
1609// MIPS64BE:#define __LDBL_MIN_EXP__ (-16381)
1610// MIPS64BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1611// MIPS64BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1612// MIPS64BE:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001613// MIPS64BE:#define __LP64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001614// MIPS64BE:#define __MIPSEB 1
1615// MIPS64BE:#define __MIPSEB__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001616// MIPS64BE:#define __POINTER_WIDTH__ 64
1617// MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1
1618// MIPS64BE:#define __PTRDIFF_TYPE__ long int
1619// MIPS64BE:#define __PTRDIFF_WIDTH__ 64
1620// MIPS64BE:#define __REGISTER_PREFIX__
1621// MIPS64BE:#define __SCHAR_MAX__ 127
1622// MIPS64BE:#define __SHRT_MAX__ 32767
1623// MIPS64BE:#define __SIG_ATOMIC_WIDTH__ 32
1624// MIPS64BE:#define __SIZEOF_DOUBLE__ 8
1625// MIPS64BE:#define __SIZEOF_FLOAT__ 4
1626// MIPS64BE:#define __SIZEOF_INT__ 4
1627// MIPS64BE:#define __SIZEOF_LONG_DOUBLE__ 16
1628// MIPS64BE:#define __SIZEOF_LONG_LONG__ 8
1629// MIPS64BE:#define __SIZEOF_LONG__ 8
1630// MIPS64BE:#define __SIZEOF_POINTER__ 8
1631// MIPS64BE:#define __SIZEOF_PTRDIFF_T__ 8
1632// MIPS64BE:#define __SIZEOF_SHORT__ 2
1633// MIPS64BE:#define __SIZEOF_SIZE_T__ 8
1634// MIPS64BE:#define __SIZEOF_WCHAR_T__ 4
1635// MIPS64BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001636// MIPS64BE:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001637// MIPS64BE:#define __SIZE_TYPE__ long unsigned int
1638// MIPS64BE:#define __SIZE_WIDTH__ 64
1639// MIPS64BE:#define __UINTMAX_TYPE__ long long unsigned int
1640// MIPS64BE:#define __USER_LABEL_PREFIX__ _
1641// MIPS64BE:#define __WCHAR_MAX__ 2147483647
1642// MIPS64BE:#define __WCHAR_TYPE__ int
1643// MIPS64BE:#define __WCHAR_WIDTH__ 32
1644// MIPS64BE:#define __WINT_TYPE__ int
1645// MIPS64BE:#define __WINT_WIDTH__ 32
1646// MIPS64BE:#define __clang__ 1
1647// MIPS64BE:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001648// MIPS64BE:#define __mips 64
Simon Atanasyanc6a0be02012-08-29 20:50:11 +00001649// MIPS64BE:#define __mips64 1
1650// MIPS64BE:#define __mips64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001651// MIPS64BE:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001652// MIPS64BE:#define __mips_fpr 64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001653// MIPS64BE:#define __mips_hard_float 1
1654// MIPS64BE:#define __mips_n64 1
1655// MIPS64BE:#define _mips 1
1656// MIPS64BE:#define mips 1
1657//
1658// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -check-prefix MIPS64EL %s
1659//
1660// MIPS64EL:#define MIPSEL 1
1661// MIPS64EL:#define _ABI64 3
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001662// MIPS64EL:#define _LP64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001663// MIPS64EL:#define _MIPSEL 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001664// MIPS64EL:#define _MIPS_ARCH "mips64r2"
1665// MIPS64EL:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001666// MIPS64EL:#define _MIPS_FPSET 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001667// MIPS64EL:#define _MIPS_SIM _ABI64
1668// MIPS64EL:#define _MIPS_SZINT 32
1669// MIPS64EL:#define _MIPS_SZLONG 64
1670// MIPS64EL:#define _MIPS_SZPTR 64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001671// MIPS64EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001672// MIPS64EL:#define __CHAR16_TYPE__ unsigned short
1673// MIPS64EL:#define __CHAR32_TYPE__ unsigned int
1674// MIPS64EL:#define __CHAR_BIT__ 8
1675// MIPS64EL:#define __CONSTANT_CFSTRINGS__ 1
1676// MIPS64EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1677// MIPS64EL:#define __DBL_DIG__ 15
1678// MIPS64EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1679// MIPS64EL:#define __DBL_HAS_DENORM__ 1
1680// MIPS64EL:#define __DBL_HAS_INFINITY__ 1
1681// MIPS64EL:#define __DBL_HAS_QUIET_NAN__ 1
1682// MIPS64EL:#define __DBL_MANT_DIG__ 53
1683// MIPS64EL:#define __DBL_MAX_10_EXP__ 308
1684// MIPS64EL:#define __DBL_MAX_EXP__ 1024
1685// MIPS64EL:#define __DBL_MAX__ 1.7976931348623157e+308
1686// MIPS64EL:#define __DBL_MIN_10_EXP__ (-307)
1687// MIPS64EL:#define __DBL_MIN_EXP__ (-1021)
1688// MIPS64EL:#define __DBL_MIN__ 2.2250738585072014e-308
1689// MIPS64EL:#define __DECIMAL_DIG__ 36
1690// MIPS64EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1691// MIPS64EL:#define __FLT_DIG__ 6
1692// MIPS64EL:#define __FLT_EPSILON__ 1.19209290e-7F
1693// MIPS64EL:#define __FLT_EVAL_METHOD__ 0
1694// MIPS64EL:#define __FLT_HAS_DENORM__ 1
1695// MIPS64EL:#define __FLT_HAS_INFINITY__ 1
1696// MIPS64EL:#define __FLT_HAS_QUIET_NAN__ 1
1697// MIPS64EL:#define __FLT_MANT_DIG__ 24
1698// MIPS64EL:#define __FLT_MAX_10_EXP__ 38
1699// MIPS64EL:#define __FLT_MAX_EXP__ 128
1700// MIPS64EL:#define __FLT_MAX__ 3.40282347e+38F
1701// MIPS64EL:#define __FLT_MIN_10_EXP__ (-37)
1702// MIPS64EL:#define __FLT_MIN_EXP__ (-125)
1703// MIPS64EL:#define __FLT_MIN__ 1.17549435e-38F
1704// MIPS64EL:#define __FLT_RADIX__ 2
1705// MIPS64EL:#define __INT16_TYPE__ short
1706// MIPS64EL:#define __INT32_TYPE__ int
1707// MIPS64EL:#define __INT64_C_SUFFIX__ LL
1708// MIPS64EL:#define __INT64_TYPE__ long long int
1709// MIPS64EL:#define __INT8_TYPE__ char
1710// MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807LL
1711// MIPS64EL:#define __INTMAX_TYPE__ long long int
1712// MIPS64EL:#define __INTMAX_WIDTH__ 64
1713// MIPS64EL:#define __INTPTR_TYPE__ long int
1714// MIPS64EL:#define __INTPTR_WIDTH__ 64
1715// MIPS64EL:#define __INT_MAX__ 2147483647
1716// MIPS64EL:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1717// MIPS64EL:#define __LDBL_DIG__ 33
1718// MIPS64EL:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1719// MIPS64EL:#define __LDBL_HAS_DENORM__ 1
1720// MIPS64EL:#define __LDBL_HAS_INFINITY__ 1
1721// MIPS64EL:#define __LDBL_HAS_QUIET_NAN__ 1
1722// MIPS64EL:#define __LDBL_MANT_DIG__ 113
1723// MIPS64EL:#define __LDBL_MAX_10_EXP__ 4932
1724// MIPS64EL:#define __LDBL_MAX_EXP__ 16384
1725// MIPS64EL:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1726// MIPS64EL:#define __LDBL_MIN_10_EXP__ (-4931)
1727// MIPS64EL:#define __LDBL_MIN_EXP__ (-16381)
1728// MIPS64EL:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
Robert Lytton2c942c62014-03-10 12:06:29 +00001729// MIPS64EL:#define __LITTLE_ENDIAN__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001730// MIPS64EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1731// MIPS64EL:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001732// MIPS64EL:#define __LP64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001733// MIPS64EL:#define __MIPSEL 1
1734// MIPS64EL:#define __MIPSEL__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001735// MIPS64EL:#define __POINTER_WIDTH__ 64
1736// MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1737// MIPS64EL:#define __PTRDIFF_TYPE__ long int
1738// MIPS64EL:#define __PTRDIFF_WIDTH__ 64
1739// MIPS64EL:#define __REGISTER_PREFIX__
1740// MIPS64EL:#define __SCHAR_MAX__ 127
1741// MIPS64EL:#define __SHRT_MAX__ 32767
1742// MIPS64EL:#define __SIG_ATOMIC_WIDTH__ 32
1743// MIPS64EL:#define __SIZEOF_DOUBLE__ 8
1744// MIPS64EL:#define __SIZEOF_FLOAT__ 4
1745// MIPS64EL:#define __SIZEOF_INT__ 4
1746// MIPS64EL:#define __SIZEOF_LONG_DOUBLE__ 16
1747// MIPS64EL:#define __SIZEOF_LONG_LONG__ 8
1748// MIPS64EL:#define __SIZEOF_LONG__ 8
1749// MIPS64EL:#define __SIZEOF_POINTER__ 8
1750// MIPS64EL:#define __SIZEOF_PTRDIFF_T__ 8
1751// MIPS64EL:#define __SIZEOF_SHORT__ 2
1752// MIPS64EL:#define __SIZEOF_SIZE_T__ 8
1753// MIPS64EL:#define __SIZEOF_WCHAR_T__ 4
1754// MIPS64EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001755// MIPS64EL:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001756// MIPS64EL:#define __SIZE_TYPE__ long unsigned int
1757// MIPS64EL:#define __SIZE_WIDTH__ 64
1758// MIPS64EL:#define __UINTMAX_TYPE__ long long unsigned int
1759// MIPS64EL:#define __USER_LABEL_PREFIX__ _
1760// MIPS64EL:#define __WCHAR_MAX__ 2147483647
1761// MIPS64EL:#define __WCHAR_TYPE__ int
1762// MIPS64EL:#define __WCHAR_WIDTH__ 32
1763// MIPS64EL:#define __WINT_TYPE__ int
1764// MIPS64EL:#define __WINT_WIDTH__ 32
1765// MIPS64EL:#define __clang__ 1
1766// MIPS64EL:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001767// MIPS64EL:#define __mips 64
Simon Atanasyanc6a0be02012-08-29 20:50:11 +00001768// MIPS64EL:#define __mips64 1
1769// MIPS64EL:#define __mips64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001770// MIPS64EL:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001771// MIPS64EL:#define __mips_fpr 64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001772// MIPS64EL:#define __mips_hard_float 1
1773// MIPS64EL:#define __mips_n64 1
1774// MIPS64EL:#define _mips 1
1775// MIPS64EL:#define mips 1
1776//
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001777// Check MIPS arch macros
1778//
1779// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
1780// RUN: < /dev/null \
1781// RUN: | FileCheck -check-prefix MIPS-ARCH-DEF32 %s
1782//
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001783// MIPS-ARCH-DEF32:#define _MIPS_ARCH "mips32r2"
1784// MIPS-ARCH-DEF32:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001785//
1786// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-nones \
1787// RUN: -target-cpu mips32 < /dev/null \
1788// RUN: | FileCheck -check-prefix MIPS-ARCH-32 %s
1789//
1790// MIPS-ARCH-32:#define _MIPS_ARCH "mips32"
1791// MIPS-ARCH-32:#define _MIPS_ARCH_MIPS32 1
1792//
1793// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
1794// RUN: -target-cpu mips32r2 < /dev/null \
1795// RUN: | FileCheck -check-prefix MIPS-ARCH-32R2 %s
1796//
1797// MIPS-ARCH-32R2:#define _MIPS_ARCH "mips32r2"
1798// MIPS-ARCH-32R2:#define _MIPS_ARCH_MIPS32R2 1
1799//
1800// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1801// RUN: < /dev/null \
1802// RUN: | FileCheck -check-prefix MIPS-ARCH-DEF64 %s
1803//
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001804// MIPS-ARCH-DEF64:#define _MIPS_ARCH "mips64r2"
1805// MIPS-ARCH-DEF64:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001806//
1807// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1808// RUN: -target-cpu mips64 < /dev/null \
1809// RUN: | FileCheck -check-prefix MIPS-ARCH-64 %s
1810//
1811// MIPS-ARCH-64:#define _MIPS_ARCH "mips64"
1812// MIPS-ARCH-64:#define _MIPS_ARCH_MIPS64 1
1813//
1814// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1815// RUN: -target-cpu mips64r2 < /dev/null \
1816// RUN: | FileCheck -check-prefix MIPS-ARCH-64R2 %s
1817//
1818// MIPS-ARCH-64R2:#define _MIPS_ARCH "mips64r2"
1819// MIPS-ARCH-64R2:#define _MIPS_ARCH_MIPS64R2 1
1820//
Simon Atanasyan5e21c802012-04-06 17:51:49 +00001821// Check MIPS float ABI macros
1822//
1823// RUN: %clang_cc1 -E -dM -ffreestanding \
1824// RUN: -triple=mips-none-none < /dev/null \
1825// RUN: | FileCheck -check-prefix MIPS-FABI-HARD %s
1826// MIPS-FABI-HARD:#define __mips_hard_float 1
1827//
1828// RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \
1829// RUN: -triple=mips-none-none < /dev/null \
1830// RUN: | FileCheck -check-prefix MIPS-FABI-SOFT %s
1831// MIPS-FABI-SOFT:#define __mips_soft_float 1
1832//
1833// RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \
1834// RUN: -triple=mips-none-none < /dev/null \
1835// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE %s
Simon Atanasyand3d173d2012-06-05 13:06:56 +00001836// MIPS-FABI-SINGLE:#define __mips_hard_float 1
Simon Atanasyan5e21c802012-04-06 17:51:49 +00001837// MIPS-FABI-SINGLE:#define __mips_single_float 1
1838//
Simon Atanasyan16071912013-04-14 14:07:30 +00001839// RUN: %clang_cc1 -target-feature +soft-float -target-feature +single-float \
1840// RUN: -E -dM -ffreestanding -triple=mips-none-none < /dev/null \
1841// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE-SOFT %s
1842// MIPS-FABI-SINGLE-SOFT:#define __mips_single_float 1
1843// MIPS-FABI-SINGLE-SOFT:#define __mips_soft_float 1
1844//
Simon Atanasyan72244b62012-07-05 16:06:06 +00001845// Check MIPS features macros
1846//
1847// RUN: %clang_cc1 -target-feature +mips16 \
1848// RUN: -E -dM -triple=mips-none-none < /dev/null \
1849// RUN: | FileCheck -check-prefix MIPS16 %s
1850// MIPS16:#define __mips16 1
1851//
1852// RUN: %clang_cc1 -target-feature -mips16 \
1853// RUN: -E -dM -triple=mips-none-none < /dev/null \
1854// RUN: | FileCheck -check-prefix NOMIPS16 %s
1855// NOMIPS16-NOT:#define __mips16 1
1856//
Simon Atanasyan60777612013-04-14 14:07:51 +00001857// RUN: %clang_cc1 -target-feature +micromips \
1858// RUN: -E -dM -triple=mips-none-none < /dev/null \
1859// RUN: | FileCheck -check-prefix MICROMIPS %s
1860// MICROMIPS:#define __mips_micromips 1
1861//
1862// RUN: %clang_cc1 -target-feature -micromips \
1863// RUN: -E -dM -triple=mips-none-none < /dev/null \
1864// RUN: | FileCheck -check-prefix NOMICROMIPS %s
1865// NOMICROMIPS-NOT:#define __mips_micromips 1
1866//
Simon Atanasyan9780e4a2012-07-05 20:16:22 +00001867// RUN: %clang_cc1 -target-feature +dsp \
1868// RUN: -E -dM -triple=mips-none-none < /dev/null \
1869// RUN: | FileCheck -check-prefix MIPS-DSP %s
1870// MIPS-DSP:#define __mips_dsp 1
1871// MIPS-DSP:#define __mips_dsp_rev 1
1872// MIPS-DSP-NOT:#define __mips_dspr2 1
1873//
1874// RUN: %clang_cc1 -target-feature +dspr2 \
1875// RUN: -E -dM -triple=mips-none-none < /dev/null \
1876// RUN: | FileCheck -check-prefix MIPS-DSPR2 %s
1877// MIPS-DSPR2:#define __mips_dsp 1
1878// MIPS-DSPR2:#define __mips_dsp_rev 2
1879// MIPS-DSPR2:#define __mips_dspr2 1
1880//
Jack Carter44ff1e52013-08-12 17:20:29 +00001881// RUN: %clang_cc1 -target-feature +msa \
1882// RUN: -E -dM -triple=mips-none-none < /dev/null \
1883// RUN: | FileCheck -check-prefix MIPS-MSA %s
1884// MIPS-MSA:#define __mips_msa 1
1885//
Simon Atanasyan22127ce2013-09-24 09:09:16 +00001886// RUN: %clang_cc1 -target-feature +nan2008 \
1887// RUN: -E -dM -triple=mips-none-none < /dev/null \
1888// RUN: | FileCheck -check-prefix MIPS-NAN2008 %s
1889// MIPS-NAN2008:#define __mips_nan2008 1
1890//
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001891// RUN: %clang_cc1 -target-feature -fp64 \
1892// RUN: -E -dM -triple=mips-none-none < /dev/null \
1893// RUN: | FileCheck -check-prefix MIPS32-MFP32 %s
1894// MIPS32-MFP32:#define _MIPS_FPSET 16
1895// MIPS32-MFP32:#define __mips_fpr 32
1896//
1897// RUN: %clang_cc1 -target-feature +fp64 \
1898// RUN: -E -dM -triple=mips-none-none < /dev/null \
1899// RUN: | FileCheck -check-prefix MIPS32-MFP64 %s
1900// MIPS32-MFP64:#define _MIPS_FPSET 32
1901// MIPS32-MFP64:#define __mips_fpr 64
1902//
1903// RUN: %clang_cc1 -target-feature +single-float \
1904// RUN: -E -dM -triple=mips-none-none < /dev/null \
1905// RUN: | FileCheck -check-prefix MIPS32-MFP32SF %s
1906// MIPS32-MFP32SF:#define _MIPS_FPSET 32
1907// MIPS32-MFP32SF:#define __mips_fpr 32
1908//
1909// RUN: %clang_cc1 -target-feature +fp64 \
1910// RUN: -E -dM -triple=mips64-none-none < /dev/null \
1911// RUN: | FileCheck -check-prefix MIPS64-MFP64 %s
1912// MIPS64-MFP64:#define _MIPS_FPSET 32
1913// MIPS64-MFP64:#define __mips_fpr 64
1914//
1915// RUN: %clang_cc1 -target-feature -fp64 -target-feature +single-float \
1916// RUN: -E -dM -triple=mips64-none-none < /dev/null \
1917// RUN: | FileCheck -check-prefix MIPS64-NOMFP64 %s
1918// MIPS64-NOMFP64:#define _MIPS_FPSET 32
1919// MIPS64-NOMFP64:#define __mips_fpr 32
1920//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00001921// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
Chris Lattnere963d092009-10-29 04:55:36 +00001922//
1923// MSP430:#define MSP430 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001924// MSP430-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001925// MSP430:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00001926// MSP430:#define __CHAR16_TYPE__ unsigned short
1927// MSP430:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001928// MSP430:#define __CHAR_BIT__ 8
1929// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1930// MSP430:#define __DBL_DIG__ 15
1931// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
1932// MSP430:#define __DBL_HAS_DENORM__ 1
1933// MSP430:#define __DBL_HAS_INFINITY__ 1
1934// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
1935// MSP430:#define __DBL_MANT_DIG__ 53
1936// MSP430:#define __DBL_MAX_10_EXP__ 308
1937// MSP430:#define __DBL_MAX_EXP__ 1024
1938// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
1939// MSP430:#define __DBL_MIN_10_EXP__ (-307)
1940// MSP430:#define __DBL_MIN_EXP__ (-1021)
1941// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
1942// MSP430:#define __DECIMAL_DIG__ 17
1943// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1944// MSP430:#define __FLT_DIG__ 6
1945// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
1946// MSP430:#define __FLT_EVAL_METHOD__ 0
1947// MSP430:#define __FLT_HAS_DENORM__ 1
1948// MSP430:#define __FLT_HAS_INFINITY__ 1
1949// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
1950// MSP430:#define __FLT_MANT_DIG__ 24
1951// MSP430:#define __FLT_MAX_10_EXP__ 38
1952// MSP430:#define __FLT_MAX_EXP__ 128
1953// MSP430:#define __FLT_MAX__ 3.40282347e+38F
1954// MSP430:#define __FLT_MIN_10_EXP__ (-37)
1955// MSP430:#define __FLT_MIN_EXP__ (-125)
1956// MSP430:#define __FLT_MIN__ 1.17549435e-38F
1957// MSP430:#define __FLT_RADIX__ 2
1958// MSP430:#define __INT16_TYPE__ short
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00001959// MSP430:#define __INT32_C_SUFFIX__ L
Chris Lattner55c98772009-11-12 08:08:27 +00001960// MSP430:#define __INT32_TYPE__ long int
Chris Lattnere963d092009-10-29 04:55:36 +00001961// MSP430:#define __INT8_TYPE__ char
Anton Korobeynikovef412902013-07-01 19:42:40 +00001962// MSP430:#define __INTMAX_MAX__ 9223372036854775807LL
1963// MSP430:#define __INTMAX_TYPE__ long long int
1964// MSP430:#define __INTMAX_WIDTH__ 64
1965// MSP430:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00001966// MSP430:#define __INTPTR_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001967// MSP430:#define __INT_MAX__ 32767
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001968// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00001969// MSP430:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001970// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +00001971// MSP430:#define __LDBL_HAS_DENORM__ 1
1972// MSP430:#define __LDBL_HAS_INFINITY__ 1
1973// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
1974// MSP430:#define __LDBL_MANT_DIG__ 53
1975// MSP430:#define __LDBL_MAX_10_EXP__ 308
1976// MSP430:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001977// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +00001978// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
1979// MSP430:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001980// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308L
Robert Lytton2c942c62014-03-10 12:06:29 +00001981// MSP430:#define __LITTLE_ENDIAN__ 1
Anton Korobeynikov485810e2010-01-14 21:36:52 +00001982// MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
Chris Lattnere963d092009-10-29 04:55:36 +00001983// MSP430:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001984// MSP430-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00001985// MSP430:#define __MSP430__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00001986// MSP430:#define __POINTER_WIDTH__ 16
Ken Dyck9b25f782009-11-19 13:18:59 +00001987// MSP430:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00001988// MSP430:#define __PTRDIFF_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001989// MSP430:#define __SCHAR_MAX__ 127
1990// MSP430:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00001991// MSP430:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00001992// MSP430:#define __SIZEOF_DOUBLE__ 8
1993// MSP430:#define __SIZEOF_FLOAT__ 4
1994// MSP430:#define __SIZEOF_INT__ 2
1995// MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
1996// MSP430:#define __SIZEOF_LONG_LONG__ 8
1997// MSP430:#define __SIZEOF_LONG__ 4
1998// MSP430:#define __SIZEOF_POINTER__ 2
1999// MSP430:#define __SIZEOF_PTRDIFF_T__ 2
2000// MSP430:#define __SIZEOF_SHORT__ 2
2001// MSP430:#define __SIZEOF_SIZE_T__ 2
2002// MSP430:#define __SIZEOF_WCHAR_T__ 2
2003// MSP430:#define __SIZEOF_WINT_T__ 2
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002004// MSP430:#define __SIZE_MAX__ 65535U
Chris Lattnere963d092009-10-29 04:55:36 +00002005// MSP430:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002006// MSP430:#define __SIZE_WIDTH__ 16
Anton Korobeynikovef412902013-07-01 19:42:40 +00002007// MSP430:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002008// MSP430:#define __USER_LABEL_PREFIX__ _
Chris Lattner0fb5bbd2009-11-12 08:04:33 +00002009// MSP430:#define __WCHAR_MAX__ 32767
Chris Lattnere963d092009-10-29 04:55:36 +00002010// MSP430:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002011// MSP430:#define __WCHAR_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00002012// MSP430:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002013// MSP430:#define __WINT_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00002014// MSP430:#define __clang__ 1
2015//
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002016// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s
2017//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002018// NVPTX32-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002019// NVPTX32:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002020// NVPTX32:#define __CHAR16_TYPE__ unsigned short
2021// NVPTX32:#define __CHAR32_TYPE__ unsigned int
2022// NVPTX32:#define __CHAR_BIT__ 8
2023// NVPTX32:#define __CONSTANT_CFSTRINGS__ 1
2024// NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2025// NVPTX32:#define __DBL_DIG__ 15
2026// NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16
2027// NVPTX32:#define __DBL_HAS_DENORM__ 1
2028// NVPTX32:#define __DBL_HAS_INFINITY__ 1
2029// NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1
2030// NVPTX32:#define __DBL_MANT_DIG__ 53
2031// NVPTX32:#define __DBL_MAX_10_EXP__ 308
2032// NVPTX32:#define __DBL_MAX_EXP__ 1024
2033// NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308
2034// NVPTX32:#define __DBL_MIN_10_EXP__ (-307)
2035// NVPTX32:#define __DBL_MIN_EXP__ (-1021)
2036// NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308
2037// NVPTX32:#define __DECIMAL_DIG__ 17
2038// NVPTX32:#define __FINITE_MATH_ONLY__ 0
2039// NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2040// NVPTX32:#define __FLT_DIG__ 6
2041// NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F
2042// NVPTX32:#define __FLT_EVAL_METHOD__ 0
2043// NVPTX32:#define __FLT_HAS_DENORM__ 1
2044// NVPTX32:#define __FLT_HAS_INFINITY__ 1
2045// NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1
2046// NVPTX32:#define __FLT_MANT_DIG__ 24
2047// NVPTX32:#define __FLT_MAX_10_EXP__ 38
2048// NVPTX32:#define __FLT_MAX_EXP__ 128
2049// NVPTX32:#define __FLT_MAX__ 3.40282347e+38F
2050// NVPTX32:#define __FLT_MIN_10_EXP__ (-37)
2051// NVPTX32:#define __FLT_MIN_EXP__ (-125)
2052// NVPTX32:#define __FLT_MIN__ 1.17549435e-38F
2053// NVPTX32:#define __FLT_RADIX__ 2
2054// NVPTX32:#define __INT16_TYPE__ short
2055// NVPTX32:#define __INT32_TYPE__ int
2056// NVPTX32:#define __INT64_C_SUFFIX__ LL
2057// NVPTX32:#define __INT64_TYPE__ long long int
2058// NVPTX32:#define __INT8_TYPE__ char
2059// NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL
2060// NVPTX32:#define __INTMAX_TYPE__ long long int
2061// NVPTX32:#define __INTMAX_WIDTH__ 64
2062// NVPTX32:#define __INTPTR_TYPE__ unsigned int
2063// NVPTX32:#define __INTPTR_WIDTH__ 32
2064// NVPTX32:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002065// NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002066// NVPTX32:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002067// NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002068// NVPTX32:#define __LDBL_HAS_DENORM__ 1
2069// NVPTX32:#define __LDBL_HAS_INFINITY__ 1
2070// NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1
2071// NVPTX32:#define __LDBL_MANT_DIG__ 53
2072// NVPTX32:#define __LDBL_MAX_10_EXP__ 308
2073// NVPTX32:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002074// NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002075// NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
2076// NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002077// NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308L
Robert Lytton2c942c62014-03-10 12:06:29 +00002078// NVPTX32:#define __LITTLE_ENDIAN__ 1
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002079// NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL
2080// NVPTX32:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002081// NVPTX32-NOT:#define __LP64__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002082// NVPTX32:#define __NVPTX__ 1
2083// NVPTX32:#define __POINTER_WIDTH__ 32
2084// NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1
2085// NVPTX32:#define __PTRDIFF_TYPE__ unsigned int
2086// NVPTX32:#define __PTRDIFF_WIDTH__ 32
2087// NVPTX32:#define __PTX__ 1
2088// NVPTX32:#define __SCHAR_MAX__ 127
2089// NVPTX32:#define __SHRT_MAX__ 32767
2090// NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32
2091// NVPTX32:#define __SIZEOF_DOUBLE__ 8
2092// NVPTX32:#define __SIZEOF_FLOAT__ 4
2093// NVPTX32:#define __SIZEOF_INT__ 4
2094// NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8
2095// NVPTX32:#define __SIZEOF_LONG_LONG__ 8
2096// NVPTX32:#define __SIZEOF_LONG__ 8
2097// NVPTX32:#define __SIZEOF_POINTER__ 4
2098// NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4
2099// NVPTX32:#define __SIZEOF_SHORT__ 2
2100// NVPTX32:#define __SIZEOF_SIZE_T__ 4
2101// NVPTX32:#define __SIZEOF_WCHAR_T__ 4
2102// NVPTX32:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002103// NVPTX32:#define __SIZE_MAX__ 4294967295U
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002104// NVPTX32:#define __SIZE_TYPE__ unsigned int
2105// NVPTX32:#define __SIZE_WIDTH__ 32
2106// NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int
2107// NVPTX32:#define __USER_LABEL_PREFIX__ _
2108// NVPTX32:#define __WCHAR_MAX__ 2147483647
2109// NVPTX32:#define __WCHAR_TYPE__ int
2110// NVPTX32:#define __WCHAR_WIDTH__ 32
2111// NVPTX32:#define __WINT_TYPE__ int
2112// NVPTX32:#define __WINT_WIDTH__ 32
2113//
2114// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -check-prefix NVPTX64 %s
2115//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002116// NVPTX64:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002117// NVPTX64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002118// NVPTX64:#define __CHAR16_TYPE__ unsigned short
2119// NVPTX64:#define __CHAR32_TYPE__ unsigned int
2120// NVPTX64:#define __CHAR_BIT__ 8
2121// NVPTX64:#define __CONSTANT_CFSTRINGS__ 1
2122// NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2123// NVPTX64:#define __DBL_DIG__ 15
2124// NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16
2125// NVPTX64:#define __DBL_HAS_DENORM__ 1
2126// NVPTX64:#define __DBL_HAS_INFINITY__ 1
2127// NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1
2128// NVPTX64:#define __DBL_MANT_DIG__ 53
2129// NVPTX64:#define __DBL_MAX_10_EXP__ 308
2130// NVPTX64:#define __DBL_MAX_EXP__ 1024
2131// NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308
2132// NVPTX64:#define __DBL_MIN_10_EXP__ (-307)
2133// NVPTX64:#define __DBL_MIN_EXP__ (-1021)
2134// NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308
2135// NVPTX64:#define __DECIMAL_DIG__ 17
2136// NVPTX64:#define __FINITE_MATH_ONLY__ 0
2137// NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2138// NVPTX64:#define __FLT_DIG__ 6
2139// NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F
2140// NVPTX64:#define __FLT_EVAL_METHOD__ 0
2141// NVPTX64:#define __FLT_HAS_DENORM__ 1
2142// NVPTX64:#define __FLT_HAS_INFINITY__ 1
2143// NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1
2144// NVPTX64:#define __FLT_MANT_DIG__ 24
2145// NVPTX64:#define __FLT_MAX_10_EXP__ 38
2146// NVPTX64:#define __FLT_MAX_EXP__ 128
2147// NVPTX64:#define __FLT_MAX__ 3.40282347e+38F
2148// NVPTX64:#define __FLT_MIN_10_EXP__ (-37)
2149// NVPTX64:#define __FLT_MIN_EXP__ (-125)
2150// NVPTX64:#define __FLT_MIN__ 1.17549435e-38F
2151// NVPTX64:#define __FLT_RADIX__ 2
2152// NVPTX64:#define __INT16_TYPE__ short
2153// NVPTX64:#define __INT32_TYPE__ int
2154// NVPTX64:#define __INT64_C_SUFFIX__ LL
2155// NVPTX64:#define __INT64_TYPE__ long long int
2156// NVPTX64:#define __INT8_TYPE__ char
2157// NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL
2158// NVPTX64:#define __INTMAX_TYPE__ long long int
2159// NVPTX64:#define __INTMAX_WIDTH__ 64
2160// NVPTX64:#define __INTPTR_TYPE__ long long unsigned int
2161// NVPTX64:#define __INTPTR_WIDTH__ 64
2162// NVPTX64:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002163// NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002164// NVPTX64:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002165// NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002166// NVPTX64:#define __LDBL_HAS_DENORM__ 1
2167// NVPTX64:#define __LDBL_HAS_INFINITY__ 1
2168// NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1
2169// NVPTX64:#define __LDBL_MANT_DIG__ 53
2170// NVPTX64:#define __LDBL_MAX_10_EXP__ 308
2171// NVPTX64:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002172// NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002173// NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
2174// NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002175// NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308L
Robert Lytton2c942c62014-03-10 12:06:29 +00002176// NVPTX64:#define __LITTLE_ENDIAN__ 1
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002177// NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL
2178// NVPTX64:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002179// NVPTX64:#define __LP64__ 1
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002180// NVPTX64:#define __NVPTX__ 1
2181// NVPTX64:#define __POINTER_WIDTH__ 64
2182// NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1
2183// NVPTX64:#define __PTRDIFF_TYPE__ long long unsigned int
2184// NVPTX64:#define __PTRDIFF_WIDTH__ 64
2185// NVPTX64:#define __PTX__ 1
2186// NVPTX64:#define __SCHAR_MAX__ 127
2187// NVPTX64:#define __SHRT_MAX__ 32767
2188// NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32
2189// NVPTX64:#define __SIZEOF_DOUBLE__ 8
2190// NVPTX64:#define __SIZEOF_FLOAT__ 4
2191// NVPTX64:#define __SIZEOF_INT__ 4
2192// NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8
2193// NVPTX64:#define __SIZEOF_LONG_LONG__ 8
2194// NVPTX64:#define __SIZEOF_LONG__ 8
2195// NVPTX64:#define __SIZEOF_POINTER__ 8
2196// NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8
2197// NVPTX64:#define __SIZEOF_SHORT__ 2
2198// NVPTX64:#define __SIZEOF_SIZE_T__ 8
2199// NVPTX64:#define __SIZEOF_WCHAR_T__ 4
2200// NVPTX64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002201// NVPTX64:#define __SIZE_MAX__ 18446744073709551615UL
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002202// NVPTX64:#define __SIZE_TYPE__ long long unsigned int
2203// NVPTX64:#define __SIZE_WIDTH__ 64
2204// NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int
2205// NVPTX64:#define __USER_LABEL_PREFIX__ _
2206// NVPTX64:#define __WCHAR_MAX__ 2147483647
2207// NVPTX64:#define __WCHAR_TYPE__ int
2208// NVPTX64:#define __WCHAR_WIDTH__ 32
2209// NVPTX64:#define __WINT_TYPE__ int
2210// NVPTX64:#define __WINT_WIDTH__ 32
2211//
Hal Finkel6b984f02012-07-03 16:51:04 +00002212// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -check-prefix PPC603E %s
2213//
2214// PPC603E:#define _ARCH_603 1
2215// PPC603E:#define _ARCH_603E 1
2216// PPC603E:#define _ARCH_PPC 1
2217// PPC603E:#define _ARCH_PPCGR 1
2218// PPC603E:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002219// PPC603E-NOT:#define _LP64
Hal Finkel6b984f02012-07-03 16:51:04 +00002220// PPC603E:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002221// PPC603E:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Hal Finkel6b984f02012-07-03 16:51:04 +00002222// PPC603E:#define __CHAR16_TYPE__ unsigned short
2223// PPC603E:#define __CHAR32_TYPE__ unsigned int
2224// PPC603E:#define __CHAR_BIT__ 8
2225// PPC603E:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2226// PPC603E:#define __DBL_DIG__ 15
2227// PPC603E:#define __DBL_EPSILON__ 2.2204460492503131e-16
2228// PPC603E:#define __DBL_HAS_DENORM__ 1
2229// PPC603E:#define __DBL_HAS_INFINITY__ 1
2230// PPC603E:#define __DBL_HAS_QUIET_NAN__ 1
2231// PPC603E:#define __DBL_MANT_DIG__ 53
2232// PPC603E:#define __DBL_MAX_10_EXP__ 308
2233// PPC603E:#define __DBL_MAX_EXP__ 1024
2234// PPC603E:#define __DBL_MAX__ 1.7976931348623157e+308
2235// PPC603E:#define __DBL_MIN_10_EXP__ (-307)
2236// PPC603E:#define __DBL_MIN_EXP__ (-1021)
2237// PPC603E:#define __DBL_MIN__ 2.2250738585072014e-308
2238// PPC603E:#define __DECIMAL_DIG__ 33
2239// PPC603E:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2240// PPC603E:#define __FLT_DIG__ 6
2241// PPC603E:#define __FLT_EPSILON__ 1.19209290e-7F
2242// PPC603E:#define __FLT_EVAL_METHOD__ 0
2243// PPC603E:#define __FLT_HAS_DENORM__ 1
2244// PPC603E:#define __FLT_HAS_INFINITY__ 1
2245// PPC603E:#define __FLT_HAS_QUIET_NAN__ 1
2246// PPC603E:#define __FLT_MANT_DIG__ 24
2247// PPC603E:#define __FLT_MAX_10_EXP__ 38
2248// PPC603E:#define __FLT_MAX_EXP__ 128
2249// PPC603E:#define __FLT_MAX__ 3.40282347e+38F
2250// PPC603E:#define __FLT_MIN_10_EXP__ (-37)
2251// PPC603E:#define __FLT_MIN_EXP__ (-125)
2252// PPC603E:#define __FLT_MIN__ 1.17549435e-38F
2253// PPC603E:#define __FLT_RADIX__ 2
2254// PPC603E:#define __INT16_TYPE__ short
2255// PPC603E:#define __INT32_TYPE__ int
2256// PPC603E:#define __INT64_C_SUFFIX__ LL
2257// PPC603E:#define __INT64_TYPE__ long long int
2258// PPC603E:#define __INT8_TYPE__ char
2259// PPC603E:#define __INTMAX_MAX__ 9223372036854775807LL
2260// PPC603E:#define __INTMAX_TYPE__ long long int
2261// PPC603E:#define __INTMAX_WIDTH__ 64
2262// PPC603E:#define __INTPTR_TYPE__ long int
2263// PPC603E:#define __INTPTR_WIDTH__ 32
2264// PPC603E:#define __INT_MAX__ 2147483647
2265// PPC603E:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2266// PPC603E:#define __LDBL_DIG__ 31
2267// PPC603E:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2268// PPC603E:#define __LDBL_HAS_DENORM__ 1
2269// PPC603E:#define __LDBL_HAS_INFINITY__ 1
2270// PPC603E:#define __LDBL_HAS_QUIET_NAN__ 1
2271// PPC603E:#define __LDBL_MANT_DIG__ 106
2272// PPC603E:#define __LDBL_MAX_10_EXP__ 308
2273// PPC603E:#define __LDBL_MAX_EXP__ 1024
2274// PPC603E:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2275// PPC603E:#define __LDBL_MIN_10_EXP__ (-291)
2276// PPC603E:#define __LDBL_MIN_EXP__ (-968)
2277// PPC603E:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2278// PPC603E:#define __LONG_DOUBLE_128__ 1
2279// PPC603E:#define __LONG_LONG_MAX__ 9223372036854775807LL
2280// PPC603E:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002281// PPC603E-NOT:#define __LP64__
Hal Finkel6b984f02012-07-03 16:51:04 +00002282// PPC603E:#define __NATURAL_ALIGNMENT__ 1
Hal Finkel6b984f02012-07-03 16:51:04 +00002283// PPC603E:#define __POINTER_WIDTH__ 32
2284// PPC603E:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002285// PPC603E:#define __PPC__ 1
Hal Finkel6b984f02012-07-03 16:51:04 +00002286// PPC603E:#define __PTRDIFF_TYPE__ long int
2287// PPC603E:#define __PTRDIFF_WIDTH__ 32
2288// PPC603E:#define __REGISTER_PREFIX__
2289// PPC603E:#define __SCHAR_MAX__ 127
2290// PPC603E:#define __SHRT_MAX__ 32767
2291// PPC603E:#define __SIG_ATOMIC_WIDTH__ 32
2292// PPC603E:#define __SIZEOF_DOUBLE__ 8
2293// PPC603E:#define __SIZEOF_FLOAT__ 4
2294// PPC603E:#define __SIZEOF_INT__ 4
2295// PPC603E:#define __SIZEOF_LONG_DOUBLE__ 16
2296// PPC603E:#define __SIZEOF_LONG_LONG__ 8
2297// PPC603E:#define __SIZEOF_LONG__ 4
2298// PPC603E:#define __SIZEOF_POINTER__ 4
2299// PPC603E:#define __SIZEOF_PTRDIFF_T__ 4
2300// PPC603E:#define __SIZEOF_SHORT__ 2
2301// PPC603E:#define __SIZEOF_SIZE_T__ 4
2302// PPC603E:#define __SIZEOF_WCHAR_T__ 4
2303// PPC603E:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002304// PPC603E:#define __SIZE_MAX__ 4294967295U
Hal Finkel6b984f02012-07-03 16:51:04 +00002305// PPC603E:#define __SIZE_TYPE__ long unsigned int
2306// PPC603E:#define __SIZE_WIDTH__ 32
2307// PPC603E:#define __UINTMAX_TYPE__ long long unsigned int
2308// PPC603E:#define __USER_LABEL_PREFIX__ _
2309// PPC603E:#define __WCHAR_MAX__ 2147483647
2310// PPC603E:#define __WCHAR_TYPE__ int
2311// PPC603E:#define __WCHAR_WIDTH__ 32
2312// PPC603E:#define __WINT_TYPE__ int
2313// PPC603E:#define __WINT_WIDTH__ 32
2314// PPC603E:#define __powerpc__ 1
2315// PPC603E:#define __ppc__ 1
2316//
Hal Finkel8eb59282012-06-11 22:35:19 +00002317// 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 +00002318//
2319// PPC64:#define _ARCH_PPC 1
2320// PPC64:#define _ARCH_PPC64 1
Hal Finkel6b984f02012-07-03 16:51:04 +00002321// PPC64:#define _ARCH_PPCGR 1
2322// PPC64:#define _ARCH_PPCSQ 1
2323// PPC64:#define _ARCH_PWR4 1
2324// PPC64:#define _ARCH_PWR5 1
2325// PPC64:#define _ARCH_PWR6 1
Hal Finkel8eb59282012-06-11 22:35:19 +00002326// PPC64:#define _ARCH_PWR7 1
Chris Lattnere963d092009-10-29 04:55:36 +00002327// PPC64:#define _BIG_ENDIAN 1
2328// PPC64:#define _LP64 1
2329// PPC64:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002330// PPC64:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002331// PPC64:#define __CHAR16_TYPE__ unsigned short
2332// PPC64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002333// PPC64:#define __CHAR_BIT__ 8
2334// PPC64:#define __CHAR_UNSIGNED__ 1
2335// PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2336// PPC64:#define __DBL_DIG__ 15
2337// PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
2338// PPC64:#define __DBL_HAS_DENORM__ 1
2339// PPC64:#define __DBL_HAS_INFINITY__ 1
2340// PPC64:#define __DBL_HAS_QUIET_NAN__ 1
2341// PPC64:#define __DBL_MANT_DIG__ 53
2342// PPC64:#define __DBL_MAX_10_EXP__ 308
2343// PPC64:#define __DBL_MAX_EXP__ 1024
2344// PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
2345// PPC64:#define __DBL_MIN_10_EXP__ (-307)
2346// PPC64:#define __DBL_MIN_EXP__ (-1021)
2347// PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber3435ede2012-01-31 02:07:33 +00002348// PPC64:#define __DECIMAL_DIG__ 33
Chris Lattnere963d092009-10-29 04:55:36 +00002349// PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2350// PPC64:#define __FLT_DIG__ 6
2351// PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
2352// PPC64:#define __FLT_EVAL_METHOD__ 0
2353// PPC64:#define __FLT_HAS_DENORM__ 1
2354// PPC64:#define __FLT_HAS_INFINITY__ 1
2355// PPC64:#define __FLT_HAS_QUIET_NAN__ 1
2356// PPC64:#define __FLT_MANT_DIG__ 24
2357// PPC64:#define __FLT_MAX_10_EXP__ 38
2358// PPC64:#define __FLT_MAX_EXP__ 128
2359// PPC64:#define __FLT_MAX__ 3.40282347e+38F
2360// PPC64:#define __FLT_MIN_10_EXP__ (-37)
2361// PPC64:#define __FLT_MIN_EXP__ (-125)
2362// PPC64:#define __FLT_MIN__ 1.17549435e-38F
2363// PPC64:#define __FLT_RADIX__ 2
2364// PPC64:#define __INT16_TYPE__ short
2365// PPC64:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002366// PPC64:#define __INT64_C_SUFFIX__ L
Chris Lattnere963d092009-10-29 04:55:36 +00002367// PPC64:#define __INT64_TYPE__ long int
2368// PPC64:#define __INT8_TYPE__ char
2369// PPC64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck9b25f782009-11-19 13:18:59 +00002370// PPC64:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002371// PPC64:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002372// PPC64:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002373// PPC64:#define __INTPTR_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00002374// PPC64:#define __INT_MAX__ 2147483647
Nico Weber3435ede2012-01-31 02:07:33 +00002375// PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2376// PPC64:#define __LDBL_DIG__ 31
2377// PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002378// PPC64:#define __LDBL_HAS_DENORM__ 1
2379// PPC64:#define __LDBL_HAS_INFINITY__ 1
2380// PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002381// PPC64:#define __LDBL_MANT_DIG__ 106
Chris Lattnere963d092009-10-29 04:55:36 +00002382// PPC64:#define __LDBL_MAX_10_EXP__ 308
2383// PPC64:#define __LDBL_MAX_EXP__ 1024
Nico Weber3435ede2012-01-31 02:07:33 +00002384// PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2385// PPC64:#define __LDBL_MIN_10_EXP__ (-291)
2386// PPC64:#define __LDBL_MIN_EXP__ (-968)
2387// PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnere963d092009-10-29 04:55:36 +00002388// PPC64:#define __LONG_DOUBLE_128__ 1
2389// PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
2390// PPC64:#define __LONG_MAX__ 9223372036854775807L
2391// PPC64:#define __LP64__ 1
2392// PPC64:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002393// PPC64:#define __POINTER_WIDTH__ 64
2394// PPC64:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002395// PPC64:#define __PPC64__ 1
2396// PPC64:#define __PPC__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002397// PPC64:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002398// PPC64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00002399// PPC64:#define __REGISTER_PREFIX__
2400// PPC64:#define __SCHAR_MAX__ 127
2401// PPC64:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002402// PPC64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002403// PPC64:#define __SIZEOF_DOUBLE__ 8
2404// PPC64:#define __SIZEOF_FLOAT__ 4
2405// PPC64:#define __SIZEOF_INT__ 4
Nico Weber3435ede2012-01-31 02:07:33 +00002406// PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohman04f87202010-05-28 00:27:15 +00002407// PPC64:#define __SIZEOF_LONG_LONG__ 8
2408// PPC64:#define __SIZEOF_LONG__ 8
2409// PPC64:#define __SIZEOF_POINTER__ 8
2410// PPC64:#define __SIZEOF_PTRDIFF_T__ 8
2411// PPC64:#define __SIZEOF_SHORT__ 2
2412// PPC64:#define __SIZEOF_SIZE_T__ 8
2413// PPC64:#define __SIZEOF_WCHAR_T__ 4
2414// PPC64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002415// PPC64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnere963d092009-10-29 04:55:36 +00002416// PPC64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002417// PPC64:#define __SIZE_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002418// PPC64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002419// PPC64:#define __USER_LABEL_PREFIX__ _
2420// PPC64:#define __WCHAR_MAX__ 2147483647
2421// PPC64:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002422// PPC64:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002423// PPC64:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002424// PPC64:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002425// PPC64:#define __ppc64__ 1
2426// PPC64:#define __ppc__ 1
2427//
Bill Schmidt778d3872013-07-26 01:36:11 +00002428// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64LE %s
2429//
2430// PPC64LE:#define _ARCH_PPC 1
2431// PPC64LE:#define _ARCH_PPC64 1
2432// PPC64LE:#define _ARCH_PPCGR 1
2433// PPC64LE:#define _ARCH_PPCSQ 1
2434// PPC64LE:#define _ARCH_PWR4 1
2435// PPC64LE:#define _ARCH_PWR5 1
2436// PPC64LE:#define _ARCH_PWR5X 1
2437// PPC64LE:#define _ARCH_PWR6 1
2438// PPC64LE:#define _ARCH_PWR6X 1
2439// PPC64LE:#define _ARCH_PWR7 1
Will Schmidt5fa50f3c2014-03-24 21:09:16 +00002440// PPC64LE:#define _CALL_ELF 2
Bill Schmidt778d3872013-07-26 01:36:11 +00002441// PPC64LE:#define _LITTLE_ENDIAN 1
2442// PPC64LE:#define _LP64 1
2443// PPC64LE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
2444// PPC64LE:#define __CHAR16_TYPE__ unsigned short
2445// PPC64LE:#define __CHAR32_TYPE__ unsigned int
2446// PPC64LE:#define __CHAR_BIT__ 8
2447// PPC64LE:#define __CHAR_UNSIGNED__ 1
2448// PPC64LE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2449// PPC64LE:#define __DBL_DIG__ 15
2450// PPC64LE:#define __DBL_EPSILON__ 2.2204460492503131e-16
2451// PPC64LE:#define __DBL_HAS_DENORM__ 1
2452// PPC64LE:#define __DBL_HAS_INFINITY__ 1
2453// PPC64LE:#define __DBL_HAS_QUIET_NAN__ 1
2454// PPC64LE:#define __DBL_MANT_DIG__ 53
2455// PPC64LE:#define __DBL_MAX_10_EXP__ 308
2456// PPC64LE:#define __DBL_MAX_EXP__ 1024
2457// PPC64LE:#define __DBL_MAX__ 1.7976931348623157e+308
2458// PPC64LE:#define __DBL_MIN_10_EXP__ (-307)
2459// PPC64LE:#define __DBL_MIN_EXP__ (-1021)
2460// PPC64LE:#define __DBL_MIN__ 2.2250738585072014e-308
2461// PPC64LE:#define __DECIMAL_DIG__ 33
2462// PPC64LE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2463// PPC64LE:#define __FLT_DIG__ 6
2464// PPC64LE:#define __FLT_EPSILON__ 1.19209290e-7F
2465// PPC64LE:#define __FLT_EVAL_METHOD__ 0
2466// PPC64LE:#define __FLT_HAS_DENORM__ 1
2467// PPC64LE:#define __FLT_HAS_INFINITY__ 1
2468// PPC64LE:#define __FLT_HAS_QUIET_NAN__ 1
2469// PPC64LE:#define __FLT_MANT_DIG__ 24
2470// PPC64LE:#define __FLT_MAX_10_EXP__ 38
2471// PPC64LE:#define __FLT_MAX_EXP__ 128
2472// PPC64LE:#define __FLT_MAX__ 3.40282347e+38F
2473// PPC64LE:#define __FLT_MIN_10_EXP__ (-37)
2474// PPC64LE:#define __FLT_MIN_EXP__ (-125)
2475// PPC64LE:#define __FLT_MIN__ 1.17549435e-38F
2476// PPC64LE:#define __FLT_RADIX__ 2
2477// PPC64LE:#define __INT16_TYPE__ short
2478// PPC64LE:#define __INT32_TYPE__ int
2479// PPC64LE:#define __INT64_C_SUFFIX__ L
2480// PPC64LE:#define __INT64_TYPE__ long int
2481// PPC64LE:#define __INT8_TYPE__ char
2482// PPC64LE:#define __INTMAX_MAX__ 9223372036854775807L
2483// PPC64LE:#define __INTMAX_TYPE__ long int
2484// PPC64LE:#define __INTMAX_WIDTH__ 64
2485// PPC64LE:#define __INTPTR_TYPE__ long int
2486// PPC64LE:#define __INTPTR_WIDTH__ 64
2487// PPC64LE:#define __INT_MAX__ 2147483647
2488// PPC64LE:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2489// PPC64LE:#define __LDBL_DIG__ 31
2490// PPC64LE:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2491// PPC64LE:#define __LDBL_HAS_DENORM__ 1
2492// PPC64LE:#define __LDBL_HAS_INFINITY__ 1
2493// PPC64LE:#define __LDBL_HAS_QUIET_NAN__ 1
2494// PPC64LE:#define __LDBL_MANT_DIG__ 106
2495// PPC64LE:#define __LDBL_MAX_10_EXP__ 308
2496// PPC64LE:#define __LDBL_MAX_EXP__ 1024
2497// PPC64LE:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2498// PPC64LE:#define __LDBL_MIN_10_EXP__ (-291)
2499// PPC64LE:#define __LDBL_MIN_EXP__ (-968)
2500// PPC64LE:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2501// PPC64LE:#define __LITTLE_ENDIAN__ 1
2502// PPC64LE:#define __LONG_DOUBLE_128__ 1
2503// PPC64LE:#define __LONG_LONG_MAX__ 9223372036854775807LL
2504// PPC64LE:#define __LONG_MAX__ 9223372036854775807L
2505// PPC64LE:#define __LP64__ 1
2506// PPC64LE:#define __NATURAL_ALIGNMENT__ 1
2507// PPC64LE:#define __POINTER_WIDTH__ 64
2508// PPC64LE:#define __POWERPC__ 1
2509// PPC64LE:#define __PPC64__ 1
2510// PPC64LE:#define __PPC__ 1
2511// PPC64LE:#define __PTRDIFF_TYPE__ long int
2512// PPC64LE:#define __PTRDIFF_WIDTH__ 64
2513// PPC64LE:#define __REGISTER_PREFIX__
2514// PPC64LE:#define __SCHAR_MAX__ 127
2515// PPC64LE:#define __SHRT_MAX__ 32767
2516// PPC64LE:#define __SIG_ATOMIC_WIDTH__ 32
2517// PPC64LE:#define __SIZEOF_DOUBLE__ 8
2518// PPC64LE:#define __SIZEOF_FLOAT__ 4
2519// PPC64LE:#define __SIZEOF_INT__ 4
2520// PPC64LE:#define __SIZEOF_LONG_DOUBLE__ 16
2521// PPC64LE:#define __SIZEOF_LONG_LONG__ 8
2522// PPC64LE:#define __SIZEOF_LONG__ 8
2523// PPC64LE:#define __SIZEOF_POINTER__ 8
2524// PPC64LE:#define __SIZEOF_PTRDIFF_T__ 8
2525// PPC64LE:#define __SIZEOF_SHORT__ 2
2526// PPC64LE:#define __SIZEOF_SIZE_T__ 8
2527// PPC64LE:#define __SIZEOF_WCHAR_T__ 4
2528// PPC64LE:#define __SIZEOF_WINT_T__ 4
2529// PPC64LE:#define __SIZE_MAX__ 18446744073709551615UL
2530// PPC64LE:#define __SIZE_TYPE__ long unsigned int
2531// PPC64LE:#define __SIZE_WIDTH__ 64
2532// PPC64LE:#define __UINTMAX_TYPE__ long unsigned int
2533// PPC64LE:#define __USER_LABEL_PREFIX__ _
2534// PPC64LE:#define __WCHAR_MAX__ 2147483647
2535// PPC64LE:#define __WCHAR_TYPE__ int
2536// PPC64LE:#define __WCHAR_WIDTH__ 32
2537// PPC64LE:#define __WINT_TYPE__ int
2538// PPC64LE:#define __WINT_WIDTH__ 32
2539// PPC64LE:#define __ppc64__ 1
2540// PPC64LE:#define __ppc__ 1
2541//
Hal Finkeldf1e4bf2013-02-01 05:53:33 +00002542// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu a2q -fno-signed-char < /dev/null | FileCheck -check-prefix PPCA2Q %s
2543//
2544// PPCA2Q:#define _ARCH_A2 1
2545// PPCA2Q:#define _ARCH_A2Q 1
2546// PPCA2Q:#define _ARCH_PPC 1
2547// PPCA2Q:#define _ARCH_PPC64 1
2548// PPCA2Q:#define _ARCH_QP 1
2549//
2550// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-bgq-linux -fno-signed-char < /dev/null | FileCheck -check-prefix PPCBGQ %s
2551//
2552// PPCBGQ:#define __THW_BLUEGENE__ 1
2553// PPCBGQ:#define __TOS_BGQ__ 1
2554// PPCBGQ:#define __bg__ 1
2555// PPCBGQ:#define __bgq__ 1
2556//
Bill Schmidt38378a02013-02-01 20:23:10 +00002557// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu 630 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC630 %s
2558//
2559// PPC630:#define _ARCH_630 1
2560// PPC630:#define _ARCH_PPC 1
2561// PPC630:#define _ARCH_PPC64 1
2562// PPC630:#define _ARCH_PPCGR 1
2563//
2564// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR3 %s
2565//
2566// PPCPWR3:#define _ARCH_PPC 1
2567// PPCPWR3:#define _ARCH_PPC64 1
2568// PPCPWR3:#define _ARCH_PPCGR 1
2569//
2570// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER3 %s
2571//
2572// PPCPOWER3:#define _ARCH_PPC 1
2573// PPCPOWER3:#define _ARCH_PPC64 1
2574// PPCPOWER3:#define _ARCH_PPCGR 1
2575//
2576// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR4 %s
2577//
2578// PPCPWR4:#define _ARCH_PPC 1
2579// PPCPWR4:#define _ARCH_PPC64 1
2580// PPCPWR4:#define _ARCH_PPCGR 1
2581// PPCPWR4:#define _ARCH_PPCSQ 1
2582// PPCPWR4:#define _ARCH_PWR4 1
2583//
2584// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER4 %s
2585//
2586// PPCPOWER4:#define _ARCH_PPC 1
2587// PPCPOWER4:#define _ARCH_PPC64 1
2588// PPCPOWER4:#define _ARCH_PPCGR 1
2589// PPCPOWER4:#define _ARCH_PPCSQ 1
2590// PPCPOWER4:#define _ARCH_PWR4 1
2591//
2592// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5 %s
2593//
2594// PPCPWR5:#define _ARCH_PPC 1
2595// PPCPWR5:#define _ARCH_PPC64 1
2596// PPCPWR5:#define _ARCH_PPCGR 1
2597// PPCPWR5:#define _ARCH_PPCSQ 1
2598// PPCPWR5:#define _ARCH_PWR4 1
2599// PPCPWR5:#define _ARCH_PWR5 1
2600//
2601// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5 %s
2602//
2603// PPCPOWER5:#define _ARCH_PPC 1
2604// PPCPOWER5:#define _ARCH_PPC64 1
2605// PPCPOWER5:#define _ARCH_PPCGR 1
2606// PPCPOWER5:#define _ARCH_PPCSQ 1
2607// PPCPOWER5:#define _ARCH_PWR4 1
2608// PPCPOWER5:#define _ARCH_PWR5 1
2609//
2610// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5X %s
2611//
2612// PPCPWR5X:#define _ARCH_PPC 1
2613// PPCPWR5X:#define _ARCH_PPC64 1
2614// PPCPWR5X:#define _ARCH_PPCGR 1
2615// PPCPWR5X:#define _ARCH_PPCSQ 1
2616// PPCPWR5X:#define _ARCH_PWR4 1
2617// PPCPWR5X:#define _ARCH_PWR5 1
2618// PPCPWR5X:#define _ARCH_PWR5X 1
2619//
2620// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5X %s
2621//
2622// PPCPOWER5X:#define _ARCH_PPC 1
2623// PPCPOWER5X:#define _ARCH_PPC64 1
2624// PPCPOWER5X:#define _ARCH_PPCGR 1
2625// PPCPOWER5X:#define _ARCH_PPCSQ 1
2626// PPCPOWER5X:#define _ARCH_PWR4 1
2627// PPCPOWER5X:#define _ARCH_PWR5 1
2628// PPCPOWER5X:#define _ARCH_PWR5X 1
2629//
2630// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6 %s
2631//
2632// PPCPWR6:#define _ARCH_PPC 1
2633// PPCPWR6:#define _ARCH_PPC64 1
2634// PPCPWR6:#define _ARCH_PPCGR 1
2635// PPCPWR6:#define _ARCH_PPCSQ 1
2636// PPCPWR6:#define _ARCH_PWR4 1
2637// PPCPWR6:#define _ARCH_PWR5 1
2638// PPCPWR6:#define _ARCH_PWR5X 1
2639// PPCPWR6:#define _ARCH_PWR6 1
2640//
2641// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6 %s
2642//
2643// PPCPOWER6:#define _ARCH_PPC 1
2644// PPCPOWER6:#define _ARCH_PPC64 1
2645// PPCPOWER6:#define _ARCH_PPCGR 1
2646// PPCPOWER6:#define _ARCH_PPCSQ 1
2647// PPCPOWER6:#define _ARCH_PWR4 1
2648// PPCPOWER6:#define _ARCH_PWR5 1
2649// PPCPOWER6:#define _ARCH_PWR5X 1
2650// PPCPOWER6:#define _ARCH_PWR6 1
2651//
2652// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6X %s
2653//
2654// PPCPWR6X:#define _ARCH_PPC 1
2655// PPCPWR6X:#define _ARCH_PPC64 1
2656// PPCPWR6X:#define _ARCH_PPCGR 1
2657// PPCPWR6X:#define _ARCH_PPCSQ 1
2658// PPCPWR6X:#define _ARCH_PWR4 1
2659// PPCPWR6X:#define _ARCH_PWR5 1
2660// PPCPWR6X:#define _ARCH_PWR5X 1
2661// PPCPWR6X:#define _ARCH_PWR6 1
2662// PPCPWR6X:#define _ARCH_PWR6X 1
2663//
2664// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6X %s
2665//
2666// PPCPOWER6X:#define _ARCH_PPC 1
2667// PPCPOWER6X:#define _ARCH_PPC64 1
2668// PPCPOWER6X:#define _ARCH_PPCGR 1
2669// PPCPOWER6X:#define _ARCH_PPCSQ 1
2670// PPCPOWER6X:#define _ARCH_PWR4 1
2671// PPCPOWER6X:#define _ARCH_PWR5 1
2672// PPCPOWER6X:#define _ARCH_PWR5X 1
2673// PPCPOWER6X:#define _ARCH_PWR6 1
2674// PPCPOWER6X:#define _ARCH_PWR6X 1
2675//
2676// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR7 %s
2677//
2678// PPCPWR7:#define _ARCH_PPC 1
2679// PPCPWR7:#define _ARCH_PPC64 1
2680// PPCPWR7:#define _ARCH_PPCGR 1
2681// PPCPWR7:#define _ARCH_PPCSQ 1
2682// PPCPWR7:#define _ARCH_PWR4 1
2683// PPCPWR7:#define _ARCH_PWR5 1
2684// PPCPWR7:#define _ARCH_PWR5X 1
2685// PPCPWR7:#define _ARCH_PWR6 1
2686// PPCPWR7:#define _ARCH_PWR6X 1
2687// PPCPWR7:#define _ARCH_PWR7 1
2688//
2689// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER7 %s
2690//
2691// PPCPOWER7:#define _ARCH_PPC 1
2692// PPCPOWER7:#define _ARCH_PPC64 1
2693// PPCPOWER7:#define _ARCH_PPCGR 1
2694// PPCPOWER7:#define _ARCH_PPCSQ 1
2695// PPCPOWER7:#define _ARCH_PWR4 1
2696// PPCPOWER7:#define _ARCH_PWR5 1
2697// PPCPOWER7:#define _ARCH_PWR5X 1
2698// PPCPOWER7:#define _ARCH_PWR6 1
2699// PPCPOWER7:#define _ARCH_PWR6X 1
2700// PPCPOWER7:#define _ARCH_PWR7 1
2701//
Nico Weber3435ede2012-01-31 02:07:33 +00002702// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
2703//
2704// PPC64-LINUX:#define _ARCH_PPC 1
2705// PPC64-LINUX:#define _ARCH_PPC64 1
2706// PPC64-LINUX:#define _BIG_ENDIAN 1
2707// PPC64-LINUX:#define _LP64 1
2708// PPC64-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002709// PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber3435ede2012-01-31 02:07:33 +00002710// PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
2711// PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
2712// PPC64-LINUX:#define __CHAR_BIT__ 8
2713// PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
2714// PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2715// PPC64-LINUX:#define __DBL_DIG__ 15
2716// PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2717// PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
2718// PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
2719// PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2720// PPC64-LINUX:#define __DBL_MANT_DIG__ 53
2721// PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
2722// PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
2723// PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2724// PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2725// PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2726// PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2727// PPC64-LINUX:#define __DECIMAL_DIG__ 33
2728// PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2729// PPC64-LINUX:#define __FLT_DIG__ 6
2730// PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2731// PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
2732// PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
2733// PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
2734// PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2735// PPC64-LINUX:#define __FLT_MANT_DIG__ 24
2736// PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
2737// PPC64-LINUX:#define __FLT_MAX_EXP__ 128
2738// PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2739// PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2740// PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
2741// PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2742// PPC64-LINUX:#define __FLT_RADIX__ 2
2743// PPC64-LINUX:#define __INT16_TYPE__ short
2744// PPC64-LINUX:#define __INT32_TYPE__ int
2745// PPC64-LINUX:#define __INT64_C_SUFFIX__ L
2746// PPC64-LINUX:#define __INT64_TYPE__ long int
2747// PPC64-LINUX:#define __INT8_TYPE__ char
2748// PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2749// PPC64-LINUX:#define __INTMAX_TYPE__ long int
2750// PPC64-LINUX:#define __INTMAX_WIDTH__ 64
2751// PPC64-LINUX:#define __INTPTR_TYPE__ long int
2752// PPC64-LINUX:#define __INTPTR_WIDTH__ 64
2753// PPC64-LINUX:#define __INT_MAX__ 2147483647
2754// PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2755// PPC64-LINUX:#define __LDBL_DIG__ 31
2756// PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2757// PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
2758// PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2759// PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2760// PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
2761// PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
2762// PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
2763// PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2764// PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2765// PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
2766// PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2767// PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
2768// PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2769// PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2770// PPC64-LINUX:#define __LP64__ 1
2771// PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002772// PPC64-LINUX:#define __POINTER_WIDTH__ 64
2773// PPC64-LINUX:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002774// PPC64-LINUX:#define __PPC64__ 1
2775// PPC64-LINUX:#define __PPC__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002776// PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
2777// PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
2778// PPC64-LINUX:#define __REGISTER_PREFIX__
2779// PPC64-LINUX:#define __SCHAR_MAX__ 127
2780// PPC64-LINUX:#define __SHRT_MAX__ 32767
2781// PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2782// PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
2783// PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
2784// PPC64-LINUX:#define __SIZEOF_INT__ 4
2785// PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2786// PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2787// PPC64-LINUX:#define __SIZEOF_LONG__ 8
2788// PPC64-LINUX:#define __SIZEOF_POINTER__ 8
2789// PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2790// PPC64-LINUX:#define __SIZEOF_SHORT__ 2
2791// PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
2792// PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2793// PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002794// PPC64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Nico Weber3435ede2012-01-31 02:07:33 +00002795// PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
2796// PPC64-LINUX:#define __SIZE_WIDTH__ 64
2797// PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2798// PPC64-LINUX:#define __USER_LABEL_PREFIX__
2799// PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
2800// PPC64-LINUX:#define __WCHAR_TYPE__ int
2801// PPC64-LINUX:#define __WCHAR_WIDTH__ 32
2802// PPC64-LINUX:#define __WINT_TYPE__ unsigned int
2803// PPC64-LINUX:#define __WINT_UNSIGNED__ 1
2804// PPC64-LINUX:#define __WINT_WIDTH__ 32
2805// PPC64-LINUX:#define __powerpc64__ 1
2806// PPC64-LINUX:#define __powerpc__ 1
2807// PPC64-LINUX:#define __ppc64__ 1
2808// PPC64-LINUX:#define __ppc__ 1
2809//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002810// 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 +00002811//
2812// PPC:#define _ARCH_PPC 1
2813// PPC:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002814// PPC-NOT:#define _LP64
Chris Lattnere963d092009-10-29 04:55:36 +00002815// PPC:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002816// PPC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002817// PPC:#define __CHAR16_TYPE__ unsigned short
2818// PPC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002819// PPC:#define __CHAR_BIT__ 8
2820// PPC:#define __CHAR_UNSIGNED__ 1
2821// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2822// PPC:#define __DBL_DIG__ 15
2823// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2824// PPC:#define __DBL_HAS_DENORM__ 1
2825// PPC:#define __DBL_HAS_INFINITY__ 1
2826// PPC:#define __DBL_HAS_QUIET_NAN__ 1
2827// PPC:#define __DBL_MANT_DIG__ 53
2828// PPC:#define __DBL_MAX_10_EXP__ 308
2829// PPC:#define __DBL_MAX_EXP__ 1024
2830// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
2831// PPC:#define __DBL_MIN_10_EXP__ (-307)
2832// PPC:#define __DBL_MIN_EXP__ (-1021)
2833// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber3435ede2012-01-31 02:07:33 +00002834// PPC:#define __DECIMAL_DIG__ 33
Chris Lattnere963d092009-10-29 04:55:36 +00002835// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2836// PPC:#define __FLT_DIG__ 6
2837// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
2838// PPC:#define __FLT_EVAL_METHOD__ 0
2839// PPC:#define __FLT_HAS_DENORM__ 1
2840// PPC:#define __FLT_HAS_INFINITY__ 1
2841// PPC:#define __FLT_HAS_QUIET_NAN__ 1
2842// PPC:#define __FLT_MANT_DIG__ 24
2843// PPC:#define __FLT_MAX_10_EXP__ 38
2844// PPC:#define __FLT_MAX_EXP__ 128
2845// PPC:#define __FLT_MAX__ 3.40282347e+38F
2846// PPC:#define __FLT_MIN_10_EXP__ (-37)
2847// PPC:#define __FLT_MIN_EXP__ (-125)
2848// PPC:#define __FLT_MIN__ 1.17549435e-38F
2849// PPC:#define __FLT_RADIX__ 2
2850// PPC:#define __INT16_TYPE__ short
2851// PPC:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002852// PPC:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00002853// PPC:#define __INT64_TYPE__ long long int
2854// PPC:#define __INT8_TYPE__ char
2855// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00002856// PPC:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002857// PPC:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002858// PPC:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002859// PPC:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002860// PPC:#define __INT_MAX__ 2147483647
Nico Weber3435ede2012-01-31 02:07:33 +00002861// PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2862// PPC:#define __LDBL_DIG__ 31
2863// PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002864// PPC:#define __LDBL_HAS_DENORM__ 1
2865// PPC:#define __LDBL_HAS_INFINITY__ 1
2866// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002867// PPC:#define __LDBL_MANT_DIG__ 106
Chris Lattnere963d092009-10-29 04:55:36 +00002868// PPC:#define __LDBL_MAX_10_EXP__ 308
2869// PPC:#define __LDBL_MAX_EXP__ 1024
Nico Weber3435ede2012-01-31 02:07:33 +00002870// PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2871// PPC:#define __LDBL_MIN_10_EXP__ (-291)
2872// PPC:#define __LDBL_MIN_EXP__ (-968)
2873// PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnere963d092009-10-29 04:55:36 +00002874// PPC:#define __LONG_DOUBLE_128__ 1
2875// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2876// PPC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002877// PPC-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00002878// PPC:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002879// PPC:#define __POINTER_WIDTH__ 32
2880// PPC:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002881// PPC:#define __PPC__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002882// PPC:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002883// PPC:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002884// PPC:#define __REGISTER_PREFIX__
2885// PPC:#define __SCHAR_MAX__ 127
2886// PPC:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002887// PPC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002888// PPC:#define __SIZEOF_DOUBLE__ 8
2889// PPC:#define __SIZEOF_FLOAT__ 4
2890// PPC:#define __SIZEOF_INT__ 4
Nico Weber3435ede2012-01-31 02:07:33 +00002891// PPC:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohman04f87202010-05-28 00:27:15 +00002892// PPC:#define __SIZEOF_LONG_LONG__ 8
2893// PPC:#define __SIZEOF_LONG__ 4
2894// PPC:#define __SIZEOF_POINTER__ 4
2895// PPC:#define __SIZEOF_PTRDIFF_T__ 4
2896// PPC:#define __SIZEOF_SHORT__ 2
2897// PPC:#define __SIZEOF_SIZE_T__ 4
2898// PPC:#define __SIZEOF_WCHAR_T__ 4
2899// PPC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002900// PPC:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00002901// PPC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002902// PPC:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002903// PPC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002904// PPC:#define __USER_LABEL_PREFIX__ _
2905// PPC:#define __WCHAR_MAX__ 2147483647
2906// PPC:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002907// PPC:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002908// PPC:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002909// PPC:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002910// PPC:#define __ppc__ 1
2911//
Nico Weber3435ede2012-01-31 02:07:33 +00002912// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
2913//
2914// PPC-LINUX:#define _ARCH_PPC 1
2915// PPC-LINUX:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002916// PPC-LINUX-NOT:#define _LP64
Nico Weber3435ede2012-01-31 02:07:33 +00002917// PPC-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002918// PPC-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber3435ede2012-01-31 02:07:33 +00002919// PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
2920// PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
2921// PPC-LINUX:#define __CHAR_BIT__ 8
2922// PPC-LINUX:#define __CHAR_UNSIGNED__ 1
2923// PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2924// PPC-LINUX:#define __DBL_DIG__ 15
2925// PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2926// PPC-LINUX:#define __DBL_HAS_DENORM__ 1
2927// PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
2928// PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2929// PPC-LINUX:#define __DBL_MANT_DIG__ 53
2930// PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
2931// PPC-LINUX:#define __DBL_MAX_EXP__ 1024
2932// PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2933// PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2934// PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
2935// PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2936// PPC-LINUX:#define __DECIMAL_DIG__ 33
2937// PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2938// PPC-LINUX:#define __FLT_DIG__ 6
2939// PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2940// PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
2941// PPC-LINUX:#define __FLT_HAS_DENORM__ 1
2942// PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
2943// PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2944// PPC-LINUX:#define __FLT_MANT_DIG__ 24
2945// PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
2946// PPC-LINUX:#define __FLT_MAX_EXP__ 128
2947// PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2948// PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2949// PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
2950// PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2951// PPC-LINUX:#define __FLT_RADIX__ 2
2952// PPC-LINUX:#define __INT16_TYPE__ short
2953// PPC-LINUX:#define __INT32_TYPE__ int
2954// PPC-LINUX:#define __INT64_C_SUFFIX__ LL
2955// PPC-LINUX:#define __INT64_TYPE__ long long int
2956// PPC-LINUX:#define __INT8_TYPE__ char
2957// PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
2958// PPC-LINUX:#define __INTMAX_TYPE__ long long int
2959// PPC-LINUX:#define __INTMAX_WIDTH__ 64
Hal Finkel26908382012-03-02 20:54:36 +00002960// PPC-LINUX:#define __INTPTR_TYPE__ int
Nico Weber3435ede2012-01-31 02:07:33 +00002961// PPC-LINUX:#define __INTPTR_WIDTH__ 32
2962// PPC-LINUX:#define __INT_MAX__ 2147483647
2963// PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2964// PPC-LINUX:#define __LDBL_DIG__ 31
2965// PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2966// PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
2967// PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
2968// PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2969// PPC-LINUX:#define __LDBL_MANT_DIG__ 106
2970// PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
2971// PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
2972// PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2973// PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2974// PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
2975// PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2976// PPC-LINUX:#define __LONG_DOUBLE_128__ 1
2977// PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2978// PPC-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002979// PPC-LINUX-NOT:#define __LP64__
Nico Weber3435ede2012-01-31 02:07:33 +00002980// PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002981// PPC-LINUX:#define __POINTER_WIDTH__ 32
2982// PPC-LINUX:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002983// PPC-LINUX:#define __PPC__ 1
Hal Finkel26908382012-03-02 20:54:36 +00002984// PPC-LINUX:#define __PTRDIFF_TYPE__ int
Nico Weber3435ede2012-01-31 02:07:33 +00002985// PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
2986// PPC-LINUX:#define __REGISTER_PREFIX__
2987// PPC-LINUX:#define __SCHAR_MAX__ 127
2988// PPC-LINUX:#define __SHRT_MAX__ 32767
2989// PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2990// PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
2991// PPC-LINUX:#define __SIZEOF_FLOAT__ 4
2992// PPC-LINUX:#define __SIZEOF_INT__ 4
2993// PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2994// PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
2995// PPC-LINUX:#define __SIZEOF_LONG__ 4
2996// PPC-LINUX:#define __SIZEOF_POINTER__ 4
2997// PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
2998// PPC-LINUX:#define __SIZEOF_SHORT__ 2
2999// PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
3000// PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
3001// PPC-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003002// PPC-LINUX:#define __SIZE_MAX__ 4294967295U
Nico Weber3435ede2012-01-31 02:07:33 +00003003// PPC-LINUX:#define __SIZE_TYPE__ unsigned int
3004// PPC-LINUX:#define __SIZE_WIDTH__ 32
3005// PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
3006// PPC-LINUX:#define __USER_LABEL_PREFIX__
3007// PPC-LINUX:#define __WCHAR_MAX__ 2147483647
3008// PPC-LINUX:#define __WCHAR_TYPE__ int
3009// PPC-LINUX:#define __WCHAR_WIDTH__ 32
3010// PPC-LINUX:#define __WINT_TYPE__ unsigned int
3011// PPC-LINUX:#define __WINT_UNSIGNED__ 1
3012// PPC-LINUX:#define __WINT_WIDTH__ 32
3013// PPC-LINUX:#define __powerpc__ 1
3014// PPC-LINUX:#define __ppc__ 1
3015//
David Fang072d47b2013-05-16 17:51:48 +00003016// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-apple-darwin8 < /dev/null | FileCheck -check-prefix PPC-DARWIN %s
3017//
3018// PPC-DARWIN:#define _ARCH_PPC 1
3019// PPC-DARWIN:#define _BIG_ENDIAN 1
3020// PPC-DARWIN:#define __BIG_ENDIAN__ 1
3021// PPC-DARWIN:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
3022// PPC-DARWIN:#define __CHAR16_TYPE__ unsigned short
3023// PPC-DARWIN:#define __CHAR32_TYPE__ unsigned int
3024// PPC-DARWIN:#define __CHAR_BIT__ 8
3025// PPC-DARWIN:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3026// PPC-DARWIN:#define __DBL_DIG__ 15
3027// PPC-DARWIN:#define __DBL_EPSILON__ 2.2204460492503131e-16
3028// PPC-DARWIN:#define __DBL_HAS_DENORM__ 1
3029// PPC-DARWIN:#define __DBL_HAS_INFINITY__ 1
3030// PPC-DARWIN:#define __DBL_HAS_QUIET_NAN__ 1
3031// PPC-DARWIN:#define __DBL_MANT_DIG__ 53
3032// PPC-DARWIN:#define __DBL_MAX_10_EXP__ 308
3033// PPC-DARWIN:#define __DBL_MAX_EXP__ 1024
3034// PPC-DARWIN:#define __DBL_MAX__ 1.7976931348623157e+308
3035// PPC-DARWIN:#define __DBL_MIN_10_EXP__ (-307)
3036// PPC-DARWIN:#define __DBL_MIN_EXP__ (-1021)
3037// PPC-DARWIN:#define __DBL_MIN__ 2.2250738585072014e-308
3038// PPC-DARWIN:#define __DECIMAL_DIG__ 33
3039// PPC-DARWIN:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3040// PPC-DARWIN:#define __FLT_DIG__ 6
3041// PPC-DARWIN:#define __FLT_EPSILON__ 1.19209290e-7F
3042// PPC-DARWIN:#define __FLT_EVAL_METHOD__ 0
3043// PPC-DARWIN:#define __FLT_HAS_DENORM__ 1
3044// PPC-DARWIN:#define __FLT_HAS_INFINITY__ 1
3045// PPC-DARWIN:#define __FLT_HAS_QUIET_NAN__ 1
3046// PPC-DARWIN:#define __FLT_MANT_DIG__ 24
3047// PPC-DARWIN:#define __FLT_MAX_10_EXP__ 38
3048// PPC-DARWIN:#define __FLT_MAX_EXP__ 128
3049// PPC-DARWIN:#define __FLT_MAX__ 3.40282347e+38F
3050// PPC-DARWIN:#define __FLT_MIN_10_EXP__ (-37)
3051// PPC-DARWIN:#define __FLT_MIN_EXP__ (-125)
3052// PPC-DARWIN:#define __FLT_MIN__ 1.17549435e-38F
3053// PPC-DARWIN:#define __FLT_RADIX__ 2
3054// PPC-DARWIN:#define __INT16_TYPE__ short
3055// PPC-DARWIN:#define __INT32_TYPE__ int
3056// PPC-DARWIN:#define __INT64_C_SUFFIX__ LL
3057// PPC-DARWIN:#define __INT64_TYPE__ long long int
3058// PPC-DARWIN:#define __INT8_TYPE__ char
3059// PPC-DARWIN:#define __INTMAX_MAX__ 9223372036854775807LL
3060// PPC-DARWIN:#define __INTMAX_TYPE__ long long int
3061// PPC-DARWIN:#define __INTMAX_WIDTH__ 64
3062// PPC-DARWIN:#define __INTPTR_TYPE__ long int
3063// PPC-DARWIN:#define __INTPTR_WIDTH__ 32
3064// PPC-DARWIN:#define __INT_MAX__ 2147483647
3065// PPC-DARWIN:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
3066// PPC-DARWIN:#define __LDBL_DIG__ 31
3067// PPC-DARWIN:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
3068// PPC-DARWIN:#define __LDBL_HAS_DENORM__ 1
3069// PPC-DARWIN:#define __LDBL_HAS_INFINITY__ 1
3070// PPC-DARWIN:#define __LDBL_HAS_QUIET_NAN__ 1
3071// PPC-DARWIN:#define __LDBL_MANT_DIG__ 106
3072// PPC-DARWIN:#define __LDBL_MAX_10_EXP__ 308
3073// PPC-DARWIN:#define __LDBL_MAX_EXP__ 1024
3074// PPC-DARWIN:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
3075// PPC-DARWIN:#define __LDBL_MIN_10_EXP__ (-291)
3076// PPC-DARWIN:#define __LDBL_MIN_EXP__ (-968)
3077// PPC-DARWIN:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
3078// PPC-DARWIN:#define __LONG_DOUBLE_128__ 1
3079// PPC-DARWIN:#define __LONG_LONG_MAX__ 9223372036854775807LL
3080// PPC-DARWIN:#define __LONG_MAX__ 2147483647L
3081// PPC-DARWIN:#define __MACH__ 1
3082// PPC-DARWIN:#define __NATURAL_ALIGNMENT__ 1
3083// PPC-DARWIN:#define __ORDER_BIG_ENDIAN__ 4321
3084// PPC-DARWIN:#define __ORDER_LITTLE_ENDIAN__ 1234
3085// PPC-DARWIN:#define __ORDER_PDP_ENDIAN__ 3412
3086// PPC-DARWIN:#define __POINTER_WIDTH__ 32
3087// PPC-DARWIN:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00003088// PPC-DARWIN:#define __PPC__ 1
David Fang072d47b2013-05-16 17:51:48 +00003089// PPC-DARWIN:#define __PTRDIFF_TYPE__ int
3090// PPC-DARWIN:#define __PTRDIFF_WIDTH__ 32
3091// PPC-DARWIN:#define __REGISTER_PREFIX__
3092// PPC-DARWIN:#define __SCHAR_MAX__ 127
3093// PPC-DARWIN:#define __SHRT_MAX__ 32767
3094// PPC-DARWIN:#define __SIG_ATOMIC_WIDTH__ 32
3095// PPC-DARWIN:#define __SIZEOF_DOUBLE__ 8
3096// PPC-DARWIN:#define __SIZEOF_FLOAT__ 4
3097// PPC-DARWIN:#define __SIZEOF_INT__ 4
3098// PPC-DARWIN:#define __SIZEOF_LONG_DOUBLE__ 16
3099// PPC-DARWIN:#define __SIZEOF_LONG_LONG__ 8
3100// PPC-DARWIN:#define __SIZEOF_LONG__ 4
3101// PPC-DARWIN:#define __SIZEOF_POINTER__ 4
3102// PPC-DARWIN:#define __SIZEOF_PTRDIFF_T__ 4
3103// PPC-DARWIN:#define __SIZEOF_SHORT__ 2
3104// PPC-DARWIN:#define __SIZEOF_SIZE_T__ 4
3105// PPC-DARWIN:#define __SIZEOF_WCHAR_T__ 4
3106// PPC-DARWIN:#define __SIZEOF_WINT_T__ 4
3107// PPC-DARWIN:#define __SIZE_MAX__ 4294967295UL
3108// PPC-DARWIN:#define __SIZE_TYPE__ long unsigned int
3109// PPC-DARWIN:#define __SIZE_WIDTH__ 32
3110// PPC-DARWIN:#define __STDC_HOSTED__ 0
3111// PPC-DARWIN:#define __STDC_VERSION__ 199901L
3112// PPC-DARWIN:#define __STDC__ 1
3113// PPC-DARWIN:#define __UINTMAX_TYPE__ long long unsigned int
3114// PPC-DARWIN:#define __USER_LABEL_PREFIX__ _
3115// PPC-DARWIN:#define __WCHAR_MAX__ 2147483647
3116// PPC-DARWIN:#define __WCHAR_TYPE__ int
3117// PPC-DARWIN:#define __WCHAR_WIDTH__ 32
3118// PPC-DARWIN:#define __WINT_TYPE__ int
3119// PPC-DARWIN:#define __WINT_WIDTH__ 32
3120// PPC-DARWIN:#define __powerpc__ 1
3121// PPC-DARWIN:#define __ppc__ 1
3122//
Ulrich Weigand47445072013-05-06 16:26:41 +00003123// RUN: %clang_cc1 -E -dM -ffreestanding -triple=s390x-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix S390X %s
3124//
3125// S390X:#define __CHAR16_TYPE__ unsigned short
3126// S390X:#define __CHAR32_TYPE__ unsigned int
3127// S390X:#define __CHAR_BIT__ 8
3128// S390X:#define __CHAR_UNSIGNED__ 1
3129// S390X:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3130// S390X:#define __DBL_DIG__ 15
3131// S390X:#define __DBL_EPSILON__ 2.2204460492503131e-16
3132// S390X:#define __DBL_HAS_DENORM__ 1
3133// S390X:#define __DBL_HAS_INFINITY__ 1
3134// S390X:#define __DBL_HAS_QUIET_NAN__ 1
3135// S390X:#define __DBL_MANT_DIG__ 53
3136// S390X:#define __DBL_MAX_10_EXP__ 308
3137// S390X:#define __DBL_MAX_EXP__ 1024
3138// S390X:#define __DBL_MAX__ 1.7976931348623157e+308
3139// S390X:#define __DBL_MIN_10_EXP__ (-307)
3140// S390X:#define __DBL_MIN_EXP__ (-1021)
3141// S390X:#define __DBL_MIN__ 2.2250738585072014e-308
3142// S390X:#define __DECIMAL_DIG__ 36
3143// S390X:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3144// S390X:#define __FLT_DIG__ 6
3145// S390X:#define __FLT_EPSILON__ 1.19209290e-7F
3146// S390X:#define __FLT_EVAL_METHOD__ 0
3147// S390X:#define __FLT_HAS_DENORM__ 1
3148// S390X:#define __FLT_HAS_INFINITY__ 1
3149// S390X:#define __FLT_HAS_QUIET_NAN__ 1
3150// S390X:#define __FLT_MANT_DIG__ 24
3151// S390X:#define __FLT_MAX_10_EXP__ 38
3152// S390X:#define __FLT_MAX_EXP__ 128
3153// S390X:#define __FLT_MAX__ 3.40282347e+38F
3154// S390X:#define __FLT_MIN_10_EXP__ (-37)
3155// S390X:#define __FLT_MIN_EXP__ (-125)
3156// S390X:#define __FLT_MIN__ 1.17549435e-38F
3157// S390X:#define __FLT_RADIX__ 2
3158// S390X:#define __INT16_TYPE__ short
3159// S390X:#define __INT32_TYPE__ int
3160// S390X:#define __INT64_C_SUFFIX__ L
3161// S390X:#define __INT64_TYPE__ long long int
3162// S390X:#define __INT8_TYPE__ char
3163// S390X:#define __INTMAX_MAX__ 9223372036854775807LL
3164// S390X:#define __INTMAX_TYPE__ long long int
3165// S390X:#define __INTMAX_WIDTH__ 64
3166// S390X:#define __INTPTR_TYPE__ long int
3167// S390X:#define __INTPTR_WIDTH__ 64
3168// S390X:#define __INT_MAX__ 2147483647
3169// S390X:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
3170// S390X:#define __LDBL_DIG__ 33
3171// S390X:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
3172// S390X:#define __LDBL_HAS_DENORM__ 1
3173// S390X:#define __LDBL_HAS_INFINITY__ 1
3174// S390X:#define __LDBL_HAS_QUIET_NAN__ 1
3175// S390X:#define __LDBL_MANT_DIG__ 113
3176// S390X:#define __LDBL_MAX_10_EXP__ 4932
3177// S390X:#define __LDBL_MAX_EXP__ 16384
3178// S390X:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
3179// S390X:#define __LDBL_MIN_10_EXP__ (-4931)
3180// S390X:#define __LDBL_MIN_EXP__ (-16381)
3181// S390X:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
3182// S390X:#define __LONG_LONG_MAX__ 9223372036854775807LL
3183// S390X:#define __LONG_MAX__ 9223372036854775807L
3184// S390X:#define __NO_INLINE__ 1
3185// S390X:#define __POINTER_WIDTH__ 64
3186// S390X:#define __PTRDIFF_TYPE__ long int
3187// S390X:#define __PTRDIFF_WIDTH__ 64
3188// S390X:#define __SCHAR_MAX__ 127
3189// S390X:#define __SHRT_MAX__ 32767
3190// S390X:#define __SIG_ATOMIC_WIDTH__ 32
3191// S390X:#define __SIZEOF_DOUBLE__ 8
3192// S390X:#define __SIZEOF_FLOAT__ 4
3193// S390X:#define __SIZEOF_INT__ 4
3194// S390X:#define __SIZEOF_LONG_DOUBLE__ 16
3195// S390X:#define __SIZEOF_LONG_LONG__ 8
3196// S390X:#define __SIZEOF_LONG__ 8
3197// S390X:#define __SIZEOF_POINTER__ 8
3198// S390X:#define __SIZEOF_PTRDIFF_T__ 8
3199// S390X:#define __SIZEOF_SHORT__ 2
3200// S390X:#define __SIZEOF_SIZE_T__ 8
3201// S390X:#define __SIZEOF_WCHAR_T__ 4
3202// S390X:#define __SIZEOF_WINT_T__ 4
3203// S390X:#define __SIZE_TYPE__ long unsigned int
3204// S390X:#define __SIZE_WIDTH__ 64
3205// S390X:#define __UINTMAX_TYPE__ long long unsigned int
3206// S390X:#define __USER_LABEL_PREFIX__ _
3207// S390X:#define __WCHAR_MAX__ 2147483647
3208// S390X:#define __WCHAR_TYPE__ int
3209// S390X:#define __WCHAR_WIDTH__ 32
3210// S390X:#define __WINT_TYPE__ int
3211// S390X:#define __WINT_WIDTH__ 32
3212// S390X:#define __s390__ 1
3213// S390X:#define __s390x__ 1
3214//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00003215// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
Chris Lattnere963d092009-10-29 04:55:36 +00003216//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003217// SPARC-NOT:#define _LP64
Robert Lytton2c942c62014-03-10 12:06:29 +00003218// SPARC:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003219// SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00003220// SPARC:#define __CHAR16_TYPE__ unsigned short
3221// SPARC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003222// SPARC:#define __CHAR_BIT__ 8
3223// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3224// SPARC:#define __DBL_DIG__ 15
3225// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
3226// SPARC:#define __DBL_HAS_DENORM__ 1
3227// SPARC:#define __DBL_HAS_INFINITY__ 1
3228// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
3229// SPARC:#define __DBL_MANT_DIG__ 53
3230// SPARC:#define __DBL_MAX_10_EXP__ 308
3231// SPARC:#define __DBL_MAX_EXP__ 1024
3232// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
3233// SPARC:#define __DBL_MIN_10_EXP__ (-307)
3234// SPARC:#define __DBL_MIN_EXP__ (-1021)
3235// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
3236// SPARC:#define __DECIMAL_DIG__ 17
3237// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3238// SPARC:#define __FLT_DIG__ 6
3239// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
3240// SPARC:#define __FLT_EVAL_METHOD__ 0
3241// SPARC:#define __FLT_HAS_DENORM__ 1
3242// SPARC:#define __FLT_HAS_INFINITY__ 1
3243// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
3244// SPARC:#define __FLT_MANT_DIG__ 24
3245// SPARC:#define __FLT_MAX_10_EXP__ 38
3246// SPARC:#define __FLT_MAX_EXP__ 128
3247// SPARC:#define __FLT_MAX__ 3.40282347e+38F
3248// SPARC:#define __FLT_MIN_10_EXP__ (-37)
3249// SPARC:#define __FLT_MIN_EXP__ (-125)
3250// SPARC:#define __FLT_MIN__ 1.17549435e-38F
3251// SPARC:#define __FLT_RADIX__ 2
3252// SPARC:#define __INT16_TYPE__ short
3253// SPARC:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00003254// SPARC:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00003255// SPARC:#define __INT64_TYPE__ long long int
3256// SPARC:#define __INT8_TYPE__ char
3257// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00003258// SPARC:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00003259// SPARC:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00003260// SPARC:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00003261// SPARC:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003262// SPARC:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003263// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00003264// SPARC:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003265// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +00003266// SPARC:#define __LDBL_HAS_DENORM__ 1
3267// SPARC:#define __LDBL_HAS_INFINITY__ 1
3268// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
3269// SPARC:#define __LDBL_MANT_DIG__ 53
3270// SPARC:#define __LDBL_MAX_10_EXP__ 308
3271// SPARC:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003272// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +00003273// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
3274// SPARC:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003275// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnere963d092009-10-29 04:55:36 +00003276// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
3277// SPARC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003278// SPARC-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00003279// SPARC:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003280// SPARC:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00003281// SPARC:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbaracde99e2009-12-18 18:42:37 +00003282// SPARC:#define __REGISTER_PREFIX__
Chris Lattnere963d092009-10-29 04:55:36 +00003283// SPARC:#define __SCHAR_MAX__ 127
3284// SPARC:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00003285// SPARC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00003286// SPARC:#define __SIZEOF_DOUBLE__ 8
3287// SPARC:#define __SIZEOF_FLOAT__ 4
3288// SPARC:#define __SIZEOF_INT__ 4
3289// SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
3290// SPARC:#define __SIZEOF_LONG_LONG__ 8
3291// SPARC:#define __SIZEOF_LONG__ 4
3292// SPARC:#define __SIZEOF_POINTER__ 4
3293// SPARC:#define __SIZEOF_PTRDIFF_T__ 4
3294// SPARC:#define __SIZEOF_SHORT__ 2
3295// SPARC:#define __SIZEOF_SIZE_T__ 4
3296// SPARC:#define __SIZEOF_WCHAR_T__ 4
3297// SPARC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003298// SPARC:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00003299// SPARC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00003300// SPARC:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003301// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003302// SPARC:#define __USER_LABEL_PREFIX__ _
Daniel Dunbar3b17a862011-03-31 00:53:51 +00003303// SPARC:#define __VERSION__ "4.2.1 Compatible
Chris Lattnere963d092009-10-29 04:55:36 +00003304// SPARC:#define __WCHAR_MAX__ 2147483647
3305// SPARC:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00003306// SPARC:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003307// SPARC:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00003308// SPARC:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003309// SPARC:#define __sparc 1
3310// SPARC:#define __sparc__ 1
3311// SPARC:#define __sparcv8 1
3312// SPARC:#define sparc 1
3313//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00003314// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
Chris Lattnere963d092009-10-29 04:55:36 +00003315//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003316// TCE-NOT:#define _LP64
Robert Lytton2c942c62014-03-10 12:06:29 +00003317// TCE:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003318// TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00003319// TCE:#define __CHAR16_TYPE__ unsigned short
3320// TCE:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003321// TCE:#define __CHAR_BIT__ 8
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003322// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45
Chris Lattnere963d092009-10-29 04:55:36 +00003323// TCE:#define __DBL_DIG__ 6
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003324// TCE:#define __DBL_EPSILON__ 1.19209290e-7
Chris Lattnere963d092009-10-29 04:55:36 +00003325// TCE:#define __DBL_HAS_DENORM__ 1
3326// TCE:#define __DBL_HAS_INFINITY__ 1
3327// TCE:#define __DBL_HAS_QUIET_NAN__ 1
3328// TCE:#define __DBL_MANT_DIG__ 24
3329// TCE:#define __DBL_MAX_10_EXP__ 38
3330// TCE:#define __DBL_MAX_EXP__ 128
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003331// TCE:#define __DBL_MAX__ 3.40282347e+38
Chris Lattnere963d092009-10-29 04:55:36 +00003332// TCE:#define __DBL_MIN_10_EXP__ (-37)
3333// TCE:#define __DBL_MIN_EXP__ (-125)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003334// TCE:#define __DBL_MIN__ 1.17549435e-38
Chris Lattnere963d092009-10-29 04:55:36 +00003335// TCE:#define __DECIMAL_DIG__ -1
3336// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3337// TCE:#define __FLT_DIG__ 6
3338// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
3339// TCE:#define __FLT_EVAL_METHOD__ 0
3340// TCE:#define __FLT_HAS_DENORM__ 1
3341// TCE:#define __FLT_HAS_INFINITY__ 1
3342// TCE:#define __FLT_HAS_QUIET_NAN__ 1
3343// TCE:#define __FLT_MANT_DIG__ 24
3344// TCE:#define __FLT_MAX_10_EXP__ 38
3345// TCE:#define __FLT_MAX_EXP__ 128
3346// TCE:#define __FLT_MAX__ 3.40282347e+38F
3347// TCE:#define __FLT_MIN_10_EXP__ (-37)
3348// TCE:#define __FLT_MIN_EXP__ (-125)
3349// TCE:#define __FLT_MIN__ 1.17549435e-38F
3350// TCE:#define __FLT_RADIX__ 2
3351// TCE:#define __INT16_TYPE__ short
3352// TCE:#define __INT32_TYPE__ int
3353// TCE:#define __INT8_TYPE__ char
3354// TCE:#define __INTMAX_MAX__ 2147483647L
Ken Dyck9b25f782009-11-19 13:18:59 +00003355// TCE:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00003356// TCE:#define __INTMAX_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003357// TCE:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00003358// TCE:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003359// TCE:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003360// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45L
Chris Lattnere963d092009-10-29 04:55:36 +00003361// TCE:#define __LDBL_DIG__ 6
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003362// TCE:#define __LDBL_EPSILON__ 1.19209290e-7L
Chris Lattnere963d092009-10-29 04:55:36 +00003363// TCE:#define __LDBL_HAS_DENORM__ 1
3364// TCE:#define __LDBL_HAS_INFINITY__ 1
3365// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
3366// TCE:#define __LDBL_MANT_DIG__ 24
3367// TCE:#define __LDBL_MAX_10_EXP__ 38
3368// TCE:#define __LDBL_MAX_EXP__ 128
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003369// TCE:#define __LDBL_MAX__ 3.40282347e+38L
Chris Lattnere963d092009-10-29 04:55:36 +00003370// TCE:#define __LDBL_MIN_10_EXP__ (-37)
3371// TCE:#define __LDBL_MIN_EXP__ (-125)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003372// TCE:#define __LDBL_MIN__ 1.17549435e-38L
Chris Lattnere963d092009-10-29 04:55:36 +00003373// TCE:#define __LONG_LONG_MAX__ 2147483647LL
3374// TCE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003375// TCE-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00003376// TCE:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003377// TCE:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00003378// TCE:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003379// TCE:#define __SCHAR_MAX__ 127
3380// TCE:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00003381// TCE:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00003382// TCE:#define __SIZEOF_DOUBLE__ 4
3383// TCE:#define __SIZEOF_FLOAT__ 4
3384// TCE:#define __SIZEOF_INT__ 4
3385// TCE:#define __SIZEOF_LONG_DOUBLE__ 4
3386// TCE:#define __SIZEOF_LONG_LONG__ 4
3387// TCE:#define __SIZEOF_LONG__ 4
3388// TCE:#define __SIZEOF_POINTER__ 4
3389// TCE:#define __SIZEOF_PTRDIFF_T__ 4
3390// TCE:#define __SIZEOF_SHORT__ 2
3391// TCE:#define __SIZEOF_SIZE_T__ 4
3392// TCE:#define __SIZEOF_WCHAR_T__ 4
3393// TCE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003394// TCE:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00003395// TCE:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00003396// TCE:#define __SIZE_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003397// TCE:#define __TCE_V1__ 1
3398// TCE:#define __TCE__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00003399// TCE:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003400// TCE:#define __USER_LABEL_PREFIX__ _
3401// TCE:#define __WCHAR_MAX__ 2147483647
3402// TCE:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00003403// TCE:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003404// TCE:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00003405// TCE:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003406// TCE:#define __tce 1
3407// TCE:#define __tce__ 1
3408// TCE:#define tce 1
3409//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00003410// 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 +00003411//
3412// X86_64:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003413// X86_64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00003414// X86_64:#define __CHAR16_TYPE__ unsigned short
3415// X86_64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003416// X86_64:#define __CHAR_BIT__ 8
3417// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3418// X86_64:#define __DBL_DIG__ 15
3419// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
3420// X86_64:#define __DBL_HAS_DENORM__ 1
3421// X86_64:#define __DBL_HAS_INFINITY__ 1
3422// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
3423// X86_64:#define __DBL_MANT_DIG__ 53
3424// X86_64:#define __DBL_MAX_10_EXP__ 308
3425// X86_64:#define __DBL_MAX_EXP__ 1024
3426// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
3427// X86_64:#define __DBL_MIN_10_EXP__ (-307)
3428// X86_64:#define __DBL_MIN_EXP__ (-1021)
3429// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
3430// X86_64:#define __DECIMAL_DIG__ 21
3431// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3432// X86_64:#define __FLT_DIG__ 6
3433// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
3434// X86_64:#define __FLT_EVAL_METHOD__ 0
3435// X86_64:#define __FLT_HAS_DENORM__ 1
3436// X86_64:#define __FLT_HAS_INFINITY__ 1
3437// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
3438// X86_64:#define __FLT_MANT_DIG__ 24
3439// X86_64:#define __FLT_MAX_10_EXP__ 38
3440// X86_64:#define __FLT_MAX_EXP__ 128
3441// X86_64:#define __FLT_MAX__ 3.40282347e+38F
3442// X86_64:#define __FLT_MIN_10_EXP__ (-37)
3443// X86_64:#define __FLT_MIN_EXP__ (-125)
3444// X86_64:#define __FLT_MIN__ 1.17549435e-38F
3445// X86_64:#define __FLT_RADIX__ 2
3446// X86_64:#define __INT16_TYPE__ short
3447// X86_64:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00003448// X86_64:#define __INT64_C_SUFFIX__ L
Chris Lattnere963d092009-10-29 04:55:36 +00003449// X86_64:#define __INT64_TYPE__ long int
3450// X86_64:#define __INT8_TYPE__ char
3451// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck9b25f782009-11-19 13:18:59 +00003452// X86_64:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00003453// X86_64:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00003454// X86_64:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00003455// X86_64:#define __INTPTR_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003456// X86_64:#define __INT_MAX__ 2147483647
3457// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3458// X86_64:#define __LDBL_DIG__ 18
3459// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3460// X86_64:#define __LDBL_HAS_DENORM__ 1
3461// X86_64:#define __LDBL_HAS_INFINITY__ 1
3462// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
3463// X86_64:#define __LDBL_MANT_DIG__ 64
3464// X86_64:#define __LDBL_MAX_10_EXP__ 4932
3465// X86_64:#define __LDBL_MAX_EXP__ 16384
3466// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3467// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
3468// X86_64:#define __LDBL_MIN_EXP__ (-16381)
3469// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3470// X86_64:#define __LITTLE_ENDIAN__ 1
3471// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
3472// X86_64:#define __LONG_MAX__ 9223372036854775807L
3473// X86_64:#define __LP64__ 1
3474// X86_64:#define __MMX__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00003475// X86_64:#define __NO_MATH_INLINES 1
3476// X86_64:#define __POINTER_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00003477// X86_64:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00003478// X86_64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003479// X86_64:#define __REGISTER_PREFIX__
3480// X86_64:#define __SCHAR_MAX__ 127
3481// X86_64:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00003482// X86_64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00003483// X86_64:#define __SIZEOF_DOUBLE__ 8
3484// X86_64:#define __SIZEOF_FLOAT__ 4
3485// X86_64:#define __SIZEOF_INT__ 4
3486// X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
3487// X86_64:#define __SIZEOF_LONG_LONG__ 8
3488// X86_64:#define __SIZEOF_LONG__ 8
3489// X86_64:#define __SIZEOF_POINTER__ 8
3490// X86_64:#define __SIZEOF_PTRDIFF_T__ 8
3491// X86_64:#define __SIZEOF_SHORT__ 2
3492// X86_64:#define __SIZEOF_SIZE_T__ 8
3493// X86_64:#define __SIZEOF_WCHAR_T__ 4
3494// X86_64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003495// X86_64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnere963d092009-10-29 04:55:36 +00003496// X86_64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00003497// X86_64:#define __SIZE_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003498// X86_64:#define __SSE2_MATH__ 1
3499// X86_64:#define __SSE2__ 1
3500// X86_64:#define __SSE_MATH__ 1
3501// X86_64:#define __SSE__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00003502// X86_64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003503// X86_64:#define __USER_LABEL_PREFIX__ _
3504// X86_64:#define __WCHAR_MAX__ 2147483647
3505// X86_64:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00003506// X86_64:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003507// X86_64:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00003508// X86_64:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003509// X86_64:#define __amd64 1
3510// X86_64:#define __amd64__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00003511// X86_64:#define __x86_64 1
3512// X86_64:#define __x86_64__ 1
3513//
Douglas Gregore6d6e512011-01-12 21:19:25 +00003514// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
3515//
3516// X86_64-LINUX:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003517// X86_64-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregore6d6e512011-01-12 21:19:25 +00003518// X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
3519// X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
3520// X86_64-LINUX:#define __CHAR_BIT__ 8
3521// X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3522// X86_64-LINUX:#define __DBL_DIG__ 15
3523// X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
3524// X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
3525// X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
3526// X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
3527// X86_64-LINUX:#define __DBL_MANT_DIG__ 53
3528// X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
3529// X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
3530// X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
3531// X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
3532// X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
3533// X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
3534// X86_64-LINUX:#define __DECIMAL_DIG__ 21
3535// X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3536// X86_64-LINUX:#define __FLT_DIG__ 6
3537// X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
3538// X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
3539// X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
3540// X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
3541// X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
3542// X86_64-LINUX:#define __FLT_MANT_DIG__ 24
3543// X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
3544// X86_64-LINUX:#define __FLT_MAX_EXP__ 128
3545// X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
3546// X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
3547// X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
3548// X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
3549// X86_64-LINUX:#define __FLT_RADIX__ 2
3550// X86_64-LINUX:#define __INT16_TYPE__ short
3551// X86_64-LINUX:#define __INT32_TYPE__ int
3552// X86_64-LINUX:#define __INT64_C_SUFFIX__ L
3553// X86_64-LINUX:#define __INT64_TYPE__ long int
3554// X86_64-LINUX:#define __INT8_TYPE__ char
3555// X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
3556// X86_64-LINUX:#define __INTMAX_TYPE__ long int
3557// X86_64-LINUX:#define __INTMAX_WIDTH__ 64
3558// X86_64-LINUX:#define __INTPTR_TYPE__ long int
3559// X86_64-LINUX:#define __INTPTR_WIDTH__ 64
3560// X86_64-LINUX:#define __INT_MAX__ 2147483647
3561// X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3562// X86_64-LINUX:#define __LDBL_DIG__ 18
3563// X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3564// X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
3565// X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
3566// X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
3567// X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
3568// X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
3569// X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
3570// X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3571// X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
3572// X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
3573// X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3574// X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
3575// X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
3576// X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
3577// X86_64-LINUX:#define __LP64__ 1
3578// X86_64-LINUX:#define __MMX__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00003579// X86_64-LINUX:#define __NO_MATH_INLINES 1
3580// X86_64-LINUX:#define __POINTER_WIDTH__ 64
3581// X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
3582// X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
3583// X86_64-LINUX:#define __REGISTER_PREFIX__
3584// X86_64-LINUX:#define __SCHAR_MAX__ 127
3585// X86_64-LINUX:#define __SHRT_MAX__ 32767
3586// X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
3587// X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
3588// X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
3589// X86_64-LINUX:#define __SIZEOF_INT__ 4
3590// X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
3591// X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
3592// X86_64-LINUX:#define __SIZEOF_LONG__ 8
3593// X86_64-LINUX:#define __SIZEOF_POINTER__ 8
3594// X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
3595// X86_64-LINUX:#define __SIZEOF_SHORT__ 2
3596// X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
3597// X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
3598// X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003599// X86_64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Douglas Gregore6d6e512011-01-12 21:19:25 +00003600// X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
3601// X86_64-LINUX:#define __SIZE_WIDTH__ 64
3602// X86_64-LINUX:#define __SSE2_MATH__ 1
3603// X86_64-LINUX:#define __SSE2__ 1
3604// X86_64-LINUX:#define __SSE_MATH__ 1
3605// X86_64-LINUX:#define __SSE__ 1
3606// X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
3607// X86_64-LINUX:#define __USER_LABEL_PREFIX__
3608// X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
3609// X86_64-LINUX:#define __WCHAR_TYPE__ int
3610// X86_64-LINUX:#define __WCHAR_WIDTH__ 32
3611// X86_64-LINUX:#define __WINT_TYPE__ unsigned int
3612// X86_64-LINUX:#define __WINT_WIDTH__ 32
3613// X86_64-LINUX:#define __amd64 1
3614// X86_64-LINUX:#define __amd64__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00003615// X86_64-LINUX:#define __x86_64 1
3616// X86_64-LINUX:#define __x86_64__ 1
3617//
Ed Schoutend0621462013-09-29 07:54:52 +00003618// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-unknown-freebsd9.1 < /dev/null | FileCheck -check-prefix X86_64-FREEBSD %s
3619//
3620// X86_64-FREEBSD:#define __FreeBSD__ 9
3621// X86_64-FREEBSD:#define __FreeBSD_cc_version 900001
3622// X86_64-FREEBSD:#define __STDC_MB_MIGHT_NEQ_WC__ 1
3623//
Joerg Sonnenberger0e921f22013-11-11 14:00:37 +00003624// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-netbsd < /dev/null | FileCheck -check-prefix X86_64-NETBSD %s
3625//
3626// X86_64-NETBSD:#define _LP64 1
3627// X86_64-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
3628// X86_64-NETBSD:#define __CHAR16_TYPE__ unsigned short
3629// X86_64-NETBSD:#define __CHAR32_TYPE__ unsigned int
3630// X86_64-NETBSD:#define __CHAR_BIT__ 8
3631// X86_64-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3632// X86_64-NETBSD:#define __DBL_DIG__ 15
3633// X86_64-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
3634// X86_64-NETBSD:#define __DBL_HAS_DENORM__ 1
3635// X86_64-NETBSD:#define __DBL_HAS_INFINITY__ 1
3636// X86_64-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
3637// X86_64-NETBSD:#define __DBL_MANT_DIG__ 53
3638// X86_64-NETBSD:#define __DBL_MAX_10_EXP__ 308
3639// X86_64-NETBSD:#define __DBL_MAX_EXP__ 1024
3640// X86_64-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
3641// X86_64-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
3642// X86_64-NETBSD:#define __DBL_MIN_EXP__ (-1021)
3643// X86_64-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
3644// X86_64-NETBSD:#define __DECIMAL_DIG__ 21
3645// X86_64-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3646// X86_64-NETBSD:#define __FLT_DIG__ 6
3647// X86_64-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
3648// X86_64-NETBSD:#define __FLT_EVAL_METHOD__ 0
3649// X86_64-NETBSD:#define __FLT_HAS_DENORM__ 1
3650// X86_64-NETBSD:#define __FLT_HAS_INFINITY__ 1
3651// X86_64-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
3652// X86_64-NETBSD:#define __FLT_MANT_DIG__ 24
3653// X86_64-NETBSD:#define __FLT_MAX_10_EXP__ 38
3654// X86_64-NETBSD:#define __FLT_MAX_EXP__ 128
3655// X86_64-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
3656// X86_64-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
3657// X86_64-NETBSD:#define __FLT_MIN_EXP__ (-125)
3658// X86_64-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
3659// X86_64-NETBSD:#define __FLT_RADIX__ 2
3660// X86_64-NETBSD:#define __INT16_TYPE__ short
3661// X86_64-NETBSD:#define __INT32_TYPE__ int
3662// X86_64-NETBSD:#define __INT64_C_SUFFIX__ L
3663// X86_64-NETBSD:#define __INT64_TYPE__ long int
3664// X86_64-NETBSD:#define __INT8_TYPE__ char
3665// X86_64-NETBSD:#define __INTMAX_MAX__ 9223372036854775807L
3666// X86_64-NETBSD:#define __INTMAX_TYPE__ long int
3667// X86_64-NETBSD:#define __INTMAX_WIDTH__ 64
3668// X86_64-NETBSD:#define __INTPTR_TYPE__ long int
3669// X86_64-NETBSD:#define __INTPTR_WIDTH__ 64
3670// X86_64-NETBSD:#define __INT_MAX__ 2147483647
3671// X86_64-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3672// X86_64-NETBSD:#define __LDBL_DIG__ 18
3673// X86_64-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3674// X86_64-NETBSD:#define __LDBL_HAS_DENORM__ 1
3675// X86_64-NETBSD:#define __LDBL_HAS_INFINITY__ 1
3676// X86_64-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
3677// X86_64-NETBSD:#define __LDBL_MANT_DIG__ 64
3678// X86_64-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
3679// X86_64-NETBSD:#define __LDBL_MAX_EXP__ 16384
3680// X86_64-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3681// X86_64-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
3682// X86_64-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
3683// X86_64-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3684// X86_64-NETBSD:#define __LITTLE_ENDIAN__ 1
3685// X86_64-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
3686// X86_64-NETBSD:#define __LONG_MAX__ 9223372036854775807L
3687// X86_64-NETBSD:#define __LP64__ 1
3688// X86_64-NETBSD:#define __MMX__ 1
3689// X86_64-NETBSD:#define __NO_MATH_INLINES 1
3690// X86_64-NETBSD:#define __POINTER_WIDTH__ 64
3691// X86_64-NETBSD:#define __PTRDIFF_TYPE__ long int
3692// X86_64-NETBSD:#define __PTRDIFF_WIDTH__ 64
3693// X86_64-NETBSD:#define __REGISTER_PREFIX__
3694// X86_64-NETBSD:#define __SCHAR_MAX__ 127
3695// X86_64-NETBSD:#define __SHRT_MAX__ 32767
3696// X86_64-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
3697// X86_64-NETBSD:#define __SIZEOF_DOUBLE__ 8
3698// X86_64-NETBSD:#define __SIZEOF_FLOAT__ 4
3699// X86_64-NETBSD:#define __SIZEOF_INT__ 4
3700// X86_64-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 16
3701// X86_64-NETBSD:#define __SIZEOF_LONG_LONG__ 8
3702// X86_64-NETBSD:#define __SIZEOF_LONG__ 8
3703// X86_64-NETBSD:#define __SIZEOF_POINTER__ 8
3704// X86_64-NETBSD:#define __SIZEOF_PTRDIFF_T__ 8
3705// X86_64-NETBSD:#define __SIZEOF_SHORT__ 2
3706// X86_64-NETBSD:#define __SIZEOF_SIZE_T__ 8
3707// X86_64-NETBSD:#define __SIZEOF_WCHAR_T__ 4
3708// X86_64-NETBSD:#define __SIZEOF_WINT_T__ 4
3709// X86_64-NETBSD:#define __SIZE_MAX__ 18446744073709551615UL
3710// X86_64-NETBSD:#define __SIZE_TYPE__ long unsigned int
3711// X86_64-NETBSD:#define __SIZE_WIDTH__ 64
3712// X86_64-NETBSD:#define __SSE2_MATH__ 1
3713// X86_64-NETBSD:#define __SSE2__ 1
3714// X86_64-NETBSD:#define __SSE_MATH__ 1
3715// X86_64-NETBSD:#define __SSE__ 1
3716// X86_64-NETBSD:#define __UINTMAX_TYPE__ long unsigned int
3717// X86_64-NETBSD:#define __USER_LABEL_PREFIX__
3718// X86_64-NETBSD:#define __WCHAR_MAX__ 2147483647
3719// X86_64-NETBSD:#define __WCHAR_TYPE__ int
3720// X86_64-NETBSD:#define __WCHAR_WIDTH__ 32
3721// X86_64-NETBSD:#define __WINT_TYPE__ int
3722// X86_64-NETBSD:#define __WINT_WIDTH__ 32
3723// X86_64-NETBSD:#define __amd64 1
3724// X86_64-NETBSD:#define __amd64__ 1
3725// X86_64-NETBSD:#define __x86_64 1
3726// X86_64-NETBSD:#define __x86_64__ 1
3727//
Jakob Stoklund Olesen248520b2013-05-15 03:22:33 +00003728// 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 +00003729// SPARCV9:#define __INT64_TYPE__ long int
Jakob Stoklund Olesen248520b2013-05-15 03:22:33 +00003730// SPARCV9:#define __INTMAX_TYPE__ long int
3731// SPARCV9:#define __INTPTR_TYPE__ long int
3732// SPARCV9:#define __LONG_MAX__ 9223372036854775807L
3733// SPARCV9:#define __LP64__ 1
3734// SPARCV9:#define __SIZEOF_LONG__ 8
3735// SPARCV9:#define __SIZEOF_POINTER__ 8
3736//
Jakob Stoklund Olesen826df142013-05-19 17:53:37 +00003737// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-openbsd < /dev/null | FileCheck -check-prefix SPARC64-OBSD %s
3738// SPARC64-OBSD:#define __INT64_TYPE__ long long int
3739// SPARC64-OBSD:#define __INTMAX_TYPE__ long long int
3740// SPARC64-OBSD:#define __UINTMAX_TYPE__ long long unsigned int
3741//
Sylvestre Ledrufd7cd3552013-09-06 14:53:07 +00003742// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSD-DEFINE %s
3743// KFREEBSD-DEFINE:#define __FreeBSD_kernel__ 1
3744// KFREEBSD-DEFINE:#define __GLIBC__ 1
3745//
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003746// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i686-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSDI686-DEFINE %s
3747// KFREEBSDI686-DEFINE:#define __FreeBSD_kernel__ 1
3748// KFREEBSDI686-DEFINE:#define __GLIBC__ 1
3749//
David Chisnallb601c962012-07-03 20:49:52 +00003750// 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 +00003751// GNUSOURCE:#define _GNU_SOURCE 1
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003752//
Dan Gohman04f87202010-05-28 00:27:15 +00003753// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
3754// NORTTI: __GXX_ABI_VERSION
3755// NORTTI-NOT:#define __GXX_RTTI
3756// NORTTI: __STDC__
Evgeniy Stepanov94dc4c92012-04-26 12:08:09 +00003757//
3758// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
3759// ANDROID: __ANDROID__ 1
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003760//
Roman Divacky13b586f2013-07-03 19:45:54 +00003761// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd < /dev/null | FileCheck -check-prefix PPC64-FREEBSD %s
3762// PPC64-FREEBSD-NOT: #define __LONG_DOUBLE_128__ 1
Robert Lytton0e076492013-08-13 09:43:10 +00003763//
3764// RUN: %clang_cc1 -E -dM -ffreestanding -triple=xcore-none-none < /dev/null | FileCheck -check-prefix XCORE %s
Robert Lytton2c942c62014-03-10 12:06:29 +00003765// XCORE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
3766// XCORE:#define __LITTLE_ENDIAN__ 1
Robert Lytton0e076492013-08-13 09:43:10 +00003767// XCORE:#define __XS1B__ 1