blob: 70e0e9b0994c421ce32f4d0f69a3fd6c8ab96e62 [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
214//
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
218// AARCH64:#define __AARCH64EL__ 1
Kevin Qinad64f6d2014-02-24 02:45:03 +0000219// AARCH64:#define __ARM_64BIT_STATE 1
220// AARCH64:#define __ARM_ARCH 8
221// AARCH64:#define __ARM_ARCH_ISA_A64 1
222// AARCH64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
223// AARCH64:#define __CHAR16_TYPE__ unsigned short
224// AARCH64:#define __CHAR32_TYPE__ unsigned int
225// AARCH64:#define __CHAR_BIT__ 8
226// AARCH64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
227// AARCH64:#define __DBL_DIG__ 15
228// AARCH64:#define __DBL_EPSILON__ 2.2204460492503131e-16
229// AARCH64:#define __DBL_HAS_DENORM__ 1
230// AARCH64:#define __DBL_HAS_INFINITY__ 1
231// AARCH64:#define __DBL_HAS_QUIET_NAN__ 1
232// AARCH64:#define __DBL_MANT_DIG__ 53
233// AARCH64:#define __DBL_MAX_10_EXP__ 308
234// AARCH64:#define __DBL_MAX_EXP__ 1024
235// AARCH64:#define __DBL_MAX__ 1.7976931348623157e+308
236// AARCH64:#define __DBL_MIN_10_EXP__ (-307)
237// AARCH64:#define __DBL_MIN_EXP__ (-1021)
238// AARCH64:#define __DBL_MIN__ 2.2250738585072014e-308
239// AARCH64:#define __DECIMAL_DIG__ 36
240// AARCH64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
241// AARCH64:#define __FLT_DIG__ 6
242// AARCH64:#define __FLT_EPSILON__ 1.19209290e-7F
243// AARCH64:#define __FLT_EVAL_METHOD__ 0
244// AARCH64:#define __FLT_HAS_DENORM__ 1
245// AARCH64:#define __FLT_HAS_INFINITY__ 1
246// AARCH64:#define __FLT_HAS_QUIET_NAN__ 1
247// AARCH64:#define __FLT_MANT_DIG__ 24
248// AARCH64:#define __FLT_MAX_10_EXP__ 38
249// AARCH64:#define __FLT_MAX_EXP__ 128
250// AARCH64:#define __FLT_MAX__ 3.40282347e+38F
251// AARCH64:#define __FLT_MIN_10_EXP__ (-37)
252// AARCH64:#define __FLT_MIN_EXP__ (-125)
253// AARCH64:#define __FLT_MIN__ 1.17549435e-38F
254// AARCH64:#define __FLT_RADIX__ 2
255// AARCH64:#define __INT16_TYPE__ short
256// AARCH64:#define __INT32_TYPE__ int
257// AARCH64:#define __INT64_C_SUFFIX__ L
258// AARCH64:#define __INT64_TYPE__ long int
259// AARCH64:#define __INT8_TYPE__ char
260// AARCH64:#define __INTMAX_MAX__ 9223372036854775807L
261// AARCH64:#define __INTMAX_TYPE__ long int
262// AARCH64:#define __INTMAX_WIDTH__ 64
263// AARCH64:#define __INTPTR_TYPE__ long int
264// AARCH64:#define __INTPTR_WIDTH__ 64
265// AARCH64:#define __INT_MAX__ 2147483647
266// AARCH64:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
267// AARCH64:#define __LDBL_DIG__ 33
268// AARCH64:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
269// AARCH64:#define __LDBL_HAS_DENORM__ 1
270// AARCH64:#define __LDBL_HAS_INFINITY__ 1
271// AARCH64:#define __LDBL_HAS_QUIET_NAN__ 1
272// AARCH64:#define __LDBL_MANT_DIG__ 113
273// AARCH64:#define __LDBL_MAX_10_EXP__ 4932
274// AARCH64:#define __LDBL_MAX_EXP__ 16384
275// AARCH64:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
276// AARCH64:#define __LDBL_MIN_10_EXP__ (-4931)
277// AARCH64:#define __LDBL_MIN_EXP__ (-16381)
278// AARCH64:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
279// AARCH64:#define __LONG_LONG_MAX__ 9223372036854775807LL
280// AARCH64:#define __LONG_MAX__ 9223372036854775807L
281// AARCH64:#define __LP64__ 1
282// AARCH64:#define __POINTER_WIDTH__ 64
283// AARCH64:#define __PTRDIFF_TYPE__ long int
284// AARCH64:#define __PTRDIFF_WIDTH__ 64
285// AARCH64:#define __SCHAR_MAX__ 127
286// AARCH64:#define __SHRT_MAX__ 32767
287// AARCH64:#define __SIG_ATOMIC_WIDTH__ 32
288// AARCH64:#define __SIZEOF_DOUBLE__ 8
289// AARCH64:#define __SIZEOF_FLOAT__ 4
290// AARCH64:#define __SIZEOF_INT128__ 16
291// AARCH64:#define __SIZEOF_INT__ 4
292// AARCH64:#define __SIZEOF_LONG_DOUBLE__ 16
293// AARCH64:#define __SIZEOF_LONG_LONG__ 8
294// AARCH64:#define __SIZEOF_LONG__ 8
295// AARCH64:#define __SIZEOF_POINTER__ 8
296// AARCH64:#define __SIZEOF_PTRDIFF_T__ 8
297// AARCH64:#define __SIZEOF_SHORT__ 2
298// AARCH64:#define __SIZEOF_SIZE_T__ 8
299// AARCH64:#define __SIZEOF_WCHAR_T__ 4
300// AARCH64:#define __SIZEOF_WINT_T__ 4
301// AARCH64:#define __SIZE_MAX__ 18446744073709551615UL
302// AARCH64:#define __SIZE_TYPE__ long unsigned int
303// AARCH64:#define __SIZE_WIDTH__ 64
304// AARCH64:#define __UINTMAX_TYPE__ long unsigned int
305// AARCH64:#define __USER_LABEL_PREFIX__ _
306// AARCH64:#define __WCHAR_MAX__ 4294967295U
307// AARCH64:#define __WCHAR_TYPE__ unsigned int
308// AARCH64:#define __WCHAR_UNSIGNED__ 1
309// AARCH64:#define __WCHAR_WIDTH__ 32
310// AARCH64:#define __WINT_TYPE__ int
311// AARCH64:#define __WINT_WIDTH__ 32
312// AARCH64:#define __aarch64__ 1
313//
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000314// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-netbsd < /dev/null | FileCheck -check-prefix AARCH64-NETBSD %s
315//
316// AARCH64-NETBSD:#define _LP64 1
317// AARCH64-NETBSD:#define __AARCH64EL__ 1
318// AARCH64-NETBSD:#define __ARM_64BIT_STATE 1
319// AARCH64-NETBSD:#define __ARM_ARCH 8
320// AARCH64-NETBSD:#define __ARM_ARCH_ISA_A64 1
321// AARCH64-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
322// AARCH64-NETBSD:#define __CHAR16_TYPE__ unsigned short
323// AARCH64-NETBSD:#define __CHAR32_TYPE__ unsigned int
324// AARCH64-NETBSD:#define __CHAR_BIT__ 8
325// AARCH64-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
326// AARCH64-NETBSD:#define __DBL_DIG__ 15
327// AARCH64-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
328// AARCH64-NETBSD:#define __DBL_HAS_DENORM__ 1
329// AARCH64-NETBSD:#define __DBL_HAS_INFINITY__ 1
330// AARCH64-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
331// AARCH64-NETBSD:#define __DBL_MANT_DIG__ 53
332// AARCH64-NETBSD:#define __DBL_MAX_10_EXP__ 308
333// AARCH64-NETBSD:#define __DBL_MAX_EXP__ 1024
334// AARCH64-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
335// AARCH64-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
336// AARCH64-NETBSD:#define __DBL_MIN_EXP__ (-1021)
337// AARCH64-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
338// AARCH64-NETBSD:#define __DECIMAL_DIG__ 36
339// AARCH64-NETBSD:#define __ELF__ 1
340// AARCH64-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
341// AARCH64-NETBSD:#define __FLT_DIG__ 6
342// AARCH64-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
343// AARCH64-NETBSD:#define __FLT_EVAL_METHOD__ 0
344// AARCH64-NETBSD:#define __FLT_HAS_DENORM__ 1
345// AARCH64-NETBSD:#define __FLT_HAS_INFINITY__ 1
346// AARCH64-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
347// AARCH64-NETBSD:#define __FLT_MANT_DIG__ 24
348// AARCH64-NETBSD:#define __FLT_MAX_10_EXP__ 38
349// AARCH64-NETBSD:#define __FLT_MAX_EXP__ 128
350// AARCH64-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
351// AARCH64-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
352// AARCH64-NETBSD:#define __FLT_MIN_EXP__ (-125)
353// AARCH64-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
354// AARCH64-NETBSD:#define __FLT_RADIX__ 2
355// AARCH64-NETBSD:#define __INT16_TYPE__ short
356// AARCH64-NETBSD:#define __INT32_TYPE__ int
Kevin Qinad64f6d2014-02-24 02:45:03 +0000357// AARCH64-NETBSD:#define __INT64_C_SUFFIX__ L
358// AARCH64-NETBSD:#define __INT64_TYPE__ long int
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000359// AARCH64-NETBSD:#define __INT8_TYPE__ char
Kevin Qinad64f6d2014-02-24 02:45:03 +0000360// AARCH64-NETBSD:#define __INTMAX_MAX__ 9223372036854775807L
361// AARCH64-NETBSD:#define __INTMAX_TYPE__ long int
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000362// AARCH64-NETBSD:#define __INTMAX_WIDTH__ 64
363// AARCH64-NETBSD:#define __INTPTR_TYPE__ long int
364// AARCH64-NETBSD:#define __INTPTR_WIDTH__ 64
365// AARCH64-NETBSD:#define __INT_MAX__ 2147483647
366// AARCH64-NETBSD:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
367// AARCH64-NETBSD:#define __LDBL_DIG__ 33
368// AARCH64-NETBSD:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
369// AARCH64-NETBSD:#define __LDBL_HAS_DENORM__ 1
370// AARCH64-NETBSD:#define __LDBL_HAS_INFINITY__ 1
371// AARCH64-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
372// AARCH64-NETBSD:#define __LDBL_MANT_DIG__ 113
373// AARCH64-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
374// AARCH64-NETBSD:#define __LDBL_MAX_EXP__ 16384
375// AARCH64-NETBSD:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
376// AARCH64-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
377// AARCH64-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
378// AARCH64-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
379// AARCH64-NETBSD:#define __LITTLE_ENDIAN__ 1
380// AARCH64-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
381// AARCH64-NETBSD:#define __LONG_MAX__ 9223372036854775807L
382// AARCH64-NETBSD:#define __LP64__ 1
383// AARCH64-NETBSD:#define __NetBSD__ 1
384// AARCH64-NETBSD:#define __POINTER_WIDTH__ 64
385// AARCH64-NETBSD:#define __PTRDIFF_TYPE__ long int
386// AARCH64-NETBSD:#define __PTRDIFF_WIDTH__ 64
387// AARCH64-NETBSD:#define __SCHAR_MAX__ 127
388// AARCH64-NETBSD:#define __SHRT_MAX__ 32767
389// AARCH64-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
390// AARCH64-NETBSD:#define __SIZEOF_DOUBLE__ 8
391// AARCH64-NETBSD:#define __SIZEOF_FLOAT__ 4
392// AARCH64-NETBSD:#define __SIZEOF_INT__ 4
393// AARCH64-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 16
394// AARCH64-NETBSD:#define __SIZEOF_LONG_LONG__ 8
395// AARCH64-NETBSD:#define __SIZEOF_LONG__ 8
396// AARCH64-NETBSD:#define __SIZEOF_POINTER__ 8
397// AARCH64-NETBSD:#define __SIZEOF_PTRDIFF_T__ 8
398// AARCH64-NETBSD:#define __SIZEOF_SHORT__ 2
399// AARCH64-NETBSD:#define __SIZEOF_SIZE_T__ 8
400// AARCH64-NETBSD:#define __SIZEOF_WCHAR_T__ 4
401// AARCH64-NETBSD:#define __SIZEOF_WINT_T__ 4
402// AARCH64-NETBSD:#define __SIZE_MAX__ 18446744073709551615UL
403// AARCH64-NETBSD:#define __SIZE_TYPE__ long unsigned int
404// AARCH64-NETBSD:#define __SIZE_WIDTH__ 64
Kevin Qinad64f6d2014-02-24 02:45:03 +0000405// AARCH64-NETBSD:#define __UINTMAX_TYPE__ long unsigned int
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000406// AARCH64-NETBSD:#define __USER_LABEL_PREFIX__
407// AARCH64-NETBSD:#define __WCHAR_MAX__ 2147483647
408// AARCH64-NETBSD:#define __WCHAR_TYPE__ int
409// AARCH64-NETBSD:#define __WCHAR_WIDTH__ 32
410// AARCH64-NETBSD:#define __WINT_TYPE__ int
411// AARCH64-NETBSD:#define __WINT_WIDTH__ 32
412// AARCH64-NETBSD:#define __aarch64__ 1
413//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000414// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s
Chris Lattnere963d092009-10-29 04:55:36 +0000415//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000416// ARM-NOT:#define _LP64
Chris Lattnere963d092009-10-29 04:55:36 +0000417// ARM:#define __APCS_32__ 1
418// ARM:#define __ARMEL__ 1
Daniel Dunbaracde99e2009-12-18 18:42:37 +0000419// ARM:#define __ARM_ARCH_6J__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000420// ARM:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +0000421// ARM:#define __CHAR16_TYPE__ unsigned short
422// ARM:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000423// ARM:#define __CHAR_BIT__ 8
424// ARM:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
425// ARM:#define __DBL_DIG__ 15
426// ARM:#define __DBL_EPSILON__ 2.2204460492503131e-16
427// ARM:#define __DBL_HAS_DENORM__ 1
428// ARM:#define __DBL_HAS_INFINITY__ 1
429// ARM:#define __DBL_HAS_QUIET_NAN__ 1
430// ARM:#define __DBL_MANT_DIG__ 53
431// ARM:#define __DBL_MAX_10_EXP__ 308
432// ARM:#define __DBL_MAX_EXP__ 1024
433// ARM:#define __DBL_MAX__ 1.7976931348623157e+308
434// ARM:#define __DBL_MIN_10_EXP__ (-307)
435// ARM:#define __DBL_MIN_EXP__ (-1021)
436// ARM:#define __DBL_MIN__ 2.2250738585072014e-308
437// ARM:#define __DECIMAL_DIG__ 17
438// ARM:#define __FLT_DENORM_MIN__ 1.40129846e-45F
439// ARM:#define __FLT_DIG__ 6
440// ARM:#define __FLT_EPSILON__ 1.19209290e-7F
441// ARM:#define __FLT_EVAL_METHOD__ 0
442// ARM:#define __FLT_HAS_DENORM__ 1
443// ARM:#define __FLT_HAS_INFINITY__ 1
444// ARM:#define __FLT_HAS_QUIET_NAN__ 1
445// ARM:#define __FLT_MANT_DIG__ 24
446// ARM:#define __FLT_MAX_10_EXP__ 38
447// ARM:#define __FLT_MAX_EXP__ 128
448// ARM:#define __FLT_MAX__ 3.40282347e+38F
449// ARM:#define __FLT_MIN_10_EXP__ (-37)
450// ARM:#define __FLT_MIN_EXP__ (-125)
451// ARM:#define __FLT_MIN__ 1.17549435e-38F
452// ARM:#define __FLT_RADIX__ 2
453// ARM:#define __INT16_TYPE__ short
454// ARM:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +0000455// ARM:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +0000456// ARM:#define __INT64_TYPE__ long long int
457// ARM:#define __INT8_TYPE__ char
458// ARM:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +0000459// ARM:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +0000460// ARM:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +0000461// ARM:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +0000462// ARM:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000463// ARM:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000464// ARM:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +0000465// ARM:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000466// ARM:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +0000467// ARM:#define __LDBL_HAS_DENORM__ 1
468// ARM:#define __LDBL_HAS_INFINITY__ 1
469// ARM:#define __LDBL_HAS_QUIET_NAN__ 1
470// ARM:#define __LDBL_MANT_DIG__ 53
471// ARM:#define __LDBL_MAX_10_EXP__ 308
472// ARM:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000473// ARM:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +0000474// ARM:#define __LDBL_MIN_10_EXP__ (-307)
475// ARM:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000476// ARM:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnere963d092009-10-29 04:55:36 +0000477// ARM:#define __LITTLE_ENDIAN__ 1
478// ARM:#define __LONG_LONG_MAX__ 9223372036854775807LL
479// ARM:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000480// ARM-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +0000481// ARM:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000482// ARM:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +0000483// ARM:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbaracde99e2009-12-18 18:42:37 +0000484// ARM:#define __REGISTER_PREFIX__
Chris Lattnere963d092009-10-29 04:55:36 +0000485// ARM:#define __SCHAR_MAX__ 127
486// ARM:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +0000487// ARM:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +0000488// ARM:#define __SIZEOF_DOUBLE__ 8
489// ARM:#define __SIZEOF_FLOAT__ 4
490// ARM:#define __SIZEOF_INT__ 4
491// ARM:#define __SIZEOF_LONG_DOUBLE__ 8
492// ARM:#define __SIZEOF_LONG_LONG__ 8
493// ARM:#define __SIZEOF_LONG__ 4
494// ARM:#define __SIZEOF_POINTER__ 4
495// ARM:#define __SIZEOF_PTRDIFF_T__ 4
496// ARM:#define __SIZEOF_SHORT__ 2
497// ARM:#define __SIZEOF_SIZE_T__ 4
498// ARM:#define __SIZEOF_WCHAR_T__ 4
499// ARM:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000500// ARM:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +0000501// ARM:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +0000502// ARM:#define __SIZE_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000503// ARM:#define __THUMB_INTERWORK__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +0000504// ARM:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000505// ARM:#define __USER_LABEL_PREFIX__ _
James Molloyc445be42011-11-23 13:35:08 +0000506// ARM:#define __WCHAR_MAX__ 4294967295U
507// ARM:#define __WCHAR_TYPE__ unsigned int
Ken Dyck0138b9e2009-11-19 15:47:58 +0000508// ARM:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000509// ARM:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +0000510// ARM:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000511// ARM:#define __arm 1
512// ARM:#define __arm__ 1
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000513
514// 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
515//
516// ARM-NOT:#define _LP64
517// ARMEABISOFTFP:#define __APCS_32__ 1
518// ARMEABISOFTFP:#define __ARMEL__ 1
519// ARMEABISOFTFP:#define __ARM_ARCH 6
520// ARMEABISOFTFP:#define __ARM_ARCH_6J__ 1
521// ARMEABISOFTFP:#define __ARM_EABI__ 1
522// ARMEABISOFTFP:#define __ARM_PCS 1
523// ARMEABISOFTFP-NOT:#define __ARM_PCS_VFP 1
524// ARMEABISOFTFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
525// ARMEABISOFTFP:#define __CHAR16_TYPE__ unsigned short
526// ARMEABISOFTFP:#define __CHAR32_TYPE__ unsigned int
527// ARMEABISOFTFP:#define __CHAR_BIT__ 8
528// ARMEABISOFTFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
529// ARMEABISOFTFP:#define __DBL_DIG__ 15
530// ARMEABISOFTFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
531// ARMEABISOFTFP:#define __DBL_HAS_DENORM__ 1
532// ARMEABISOFTFP:#define __DBL_HAS_INFINITY__ 1
533// ARMEABISOFTFP:#define __DBL_HAS_QUIET_NAN__ 1
534// ARMEABISOFTFP:#define __DBL_MANT_DIG__ 53
535// ARMEABISOFTFP:#define __DBL_MAX_10_EXP__ 308
536// ARMEABISOFTFP:#define __DBL_MAX_EXP__ 1024
537// ARMEABISOFTFP:#define __DBL_MAX__ 1.7976931348623157e+308
538// ARMEABISOFTFP:#define __DBL_MIN_10_EXP__ (-307)
539// ARMEABISOFTFP:#define __DBL_MIN_EXP__ (-1021)
540// ARMEABISOFTFP:#define __DBL_MIN__ 2.2250738585072014e-308
541// ARMEABISOFTFP:#define __DECIMAL_DIG__ 17
542// ARMEABISOFTFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
543// ARMEABISOFTFP:#define __FLT_DIG__ 6
544// ARMEABISOFTFP:#define __FLT_EPSILON__ 1.19209290e-7F
545// ARMEABISOFTFP:#define __FLT_EVAL_METHOD__ 0
546// ARMEABISOFTFP:#define __FLT_HAS_DENORM__ 1
547// ARMEABISOFTFP:#define __FLT_HAS_INFINITY__ 1
548// ARMEABISOFTFP:#define __FLT_HAS_QUIET_NAN__ 1
549// ARMEABISOFTFP:#define __FLT_MANT_DIG__ 24
550// ARMEABISOFTFP:#define __FLT_MAX_10_EXP__ 38
551// ARMEABISOFTFP:#define __FLT_MAX_EXP__ 128
552// ARMEABISOFTFP:#define __FLT_MAX__ 3.40282347e+38F
553// ARMEABISOFTFP:#define __FLT_MIN_10_EXP__ (-37)
554// ARMEABISOFTFP:#define __FLT_MIN_EXP__ (-125)
555// ARMEABISOFTFP:#define __FLT_MIN__ 1.17549435e-38F
556// ARMEABISOFTFP:#define __FLT_RADIX__ 2
557// ARMEABISOFTFP:#define __INT16_TYPE__ short
558// ARMEABISOFTFP:#define __INT32_TYPE__ int
559// ARMEABISOFTFP:#define __INT64_C_SUFFIX__ LL
560// ARMEABISOFTFP:#define __INT64_TYPE__ long long int
561// ARMEABISOFTFP:#define __INT8_TYPE__ char
562// ARMEABISOFTFP:#define __INTMAX_MAX__ 9223372036854775807LL
563// ARMEABISOFTFP:#define __INTMAX_TYPE__ long long int
564// ARMEABISOFTFP:#define __INTMAX_WIDTH__ 64
565// ARMEABISOFTFP:#define __INTPTR_TYPE__ long int
566// ARMEABISOFTFP:#define __INTPTR_WIDTH__ 32
567// ARMEABISOFTFP:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000568// ARMEABISOFTFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000569// ARMEABISOFTFP:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000570// ARMEABISOFTFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000571// ARMEABISOFTFP:#define __LDBL_HAS_DENORM__ 1
572// ARMEABISOFTFP:#define __LDBL_HAS_INFINITY__ 1
573// ARMEABISOFTFP:#define __LDBL_HAS_QUIET_NAN__ 1
574// ARMEABISOFTFP:#define __LDBL_MANT_DIG__ 53
575// ARMEABISOFTFP:#define __LDBL_MAX_10_EXP__ 308
576// ARMEABISOFTFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000577// ARMEABISOFTFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000578// ARMEABISOFTFP:#define __LDBL_MIN_10_EXP__ (-307)
579// ARMEABISOFTFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000580// ARMEABISOFTFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000581// ARMEABISOFTFP:#define __LITTLE_ENDIAN__ 1
582// ARMEABISOFTFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
583// ARMEABISOFTFP:#define __LONG_MAX__ 2147483647L
584// ARMEABISOFTFP-NOT:#define __LP64__
585// ARMEABISOFTFP:#define __POINTER_WIDTH__ 32
586// ARMEABISOFTFP:#define __PTRDIFF_TYPE__ int
587// ARMEABISOFTFP:#define __PTRDIFF_WIDTH__ 32
588// ARMEABISOFTFP:#define __REGISTER_PREFIX__
589// ARMEABISOFTFP:#define __SCHAR_MAX__ 127
590// ARMEABISOFTFP:#define __SHRT_MAX__ 32767
591// ARMEABISOFTFP:#define __SIG_ATOMIC_WIDTH__ 32
592// ARMEABISOFTFP:#define __SIZEOF_DOUBLE__ 8
593// ARMEABISOFTFP:#define __SIZEOF_FLOAT__ 4
594// ARMEABISOFTFP:#define __SIZEOF_INT__ 4
595// ARMEABISOFTFP:#define __SIZEOF_LONG_DOUBLE__ 8
596// ARMEABISOFTFP:#define __SIZEOF_LONG_LONG__ 8
597// ARMEABISOFTFP:#define __SIZEOF_LONG__ 4
598// ARMEABISOFTFP:#define __SIZEOF_POINTER__ 4
599// ARMEABISOFTFP:#define __SIZEOF_PTRDIFF_T__ 4
600// ARMEABISOFTFP:#define __SIZEOF_SHORT__ 2
601// ARMEABISOFTFP:#define __SIZEOF_SIZE_T__ 4
602// ARMEABISOFTFP:#define __SIZEOF_WCHAR_T__ 4
603// ARMEABISOFTFP:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000604// ARMEABISOFTFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000605// ARMEABISOFTFP:#define __SIZE_TYPE__ unsigned int
606// ARMEABISOFTFP:#define __SIZE_WIDTH__ 32
607// ARMEABISOFTFP:#define __SOFTFP__ 1
608// ARMEABISOFTFP:#define __THUMB_INTERWORK__ 1
609// ARMEABISOFTFP:#define __UINTMAX_TYPE__ long long unsigned int
610// ARMEABISOFTFP:#define __USER_LABEL_PREFIX__
611// ARMEABISOFTFP:#define __WCHAR_MAX__ 4294967295U
612// ARMEABISOFTFP:#define __WCHAR_TYPE__ unsigned int
613// ARMEABISOFTFP:#define __WCHAR_WIDTH__ 32
614// ARMEABISOFTFP:#define __WINT_TYPE__ unsigned int
615// ARMEABISOFTFP:#define __WINT_WIDTH__ 32
616// ARMEABISOFTFP:#define __arm 1
617// ARMEABISOFTFP:#define __arm__ 1
618
619// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-linux-gnueabi < /dev/null | FileCheck -check-prefix ARMEABIHARDFP %s
620//
621// ARM-NOT:#define _LP64
622// ARMEABIHARDFP:#define __APCS_32__ 1
623// ARMEABIHARDFP:#define __ARMEL__ 1
624// ARMEABIHARDFP:#define __ARM_ARCH 6
625// ARMEABIHARDFP:#define __ARM_ARCH_6J__ 1
626// ARMEABIHARDFP:#define __ARM_EABI__ 1
627// ARMEABIHARDFP:#define __ARM_PCS 1
628// ARMEABIHARDFP:#define __ARM_PCS_VFP 1
629// ARMEABIHARDFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
630// ARMEABIHARDFP:#define __CHAR16_TYPE__ unsigned short
631// ARMEABIHARDFP:#define __CHAR32_TYPE__ unsigned int
632// ARMEABIHARDFP:#define __CHAR_BIT__ 8
633// ARMEABIHARDFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
634// ARMEABIHARDFP:#define __DBL_DIG__ 15
635// ARMEABIHARDFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
636// ARMEABIHARDFP:#define __DBL_HAS_DENORM__ 1
637// ARMEABIHARDFP:#define __DBL_HAS_INFINITY__ 1
638// ARMEABIHARDFP:#define __DBL_HAS_QUIET_NAN__ 1
639// ARMEABIHARDFP:#define __DBL_MANT_DIG__ 53
640// ARMEABIHARDFP:#define __DBL_MAX_10_EXP__ 308
641// ARMEABIHARDFP:#define __DBL_MAX_EXP__ 1024
642// ARMEABIHARDFP:#define __DBL_MAX__ 1.7976931348623157e+308
643// ARMEABIHARDFP:#define __DBL_MIN_10_EXP__ (-307)
644// ARMEABIHARDFP:#define __DBL_MIN_EXP__ (-1021)
645// ARMEABIHARDFP:#define __DBL_MIN__ 2.2250738585072014e-308
646// ARMEABIHARDFP:#define __DECIMAL_DIG__ 17
647// ARMEABIHARDFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
648// ARMEABIHARDFP:#define __FLT_DIG__ 6
649// ARMEABIHARDFP:#define __FLT_EPSILON__ 1.19209290e-7F
650// ARMEABIHARDFP:#define __FLT_EVAL_METHOD__ 0
651// ARMEABIHARDFP:#define __FLT_HAS_DENORM__ 1
652// ARMEABIHARDFP:#define __FLT_HAS_INFINITY__ 1
653// ARMEABIHARDFP:#define __FLT_HAS_QUIET_NAN__ 1
654// ARMEABIHARDFP:#define __FLT_MANT_DIG__ 24
655// ARMEABIHARDFP:#define __FLT_MAX_10_EXP__ 38
656// ARMEABIHARDFP:#define __FLT_MAX_EXP__ 128
657// ARMEABIHARDFP:#define __FLT_MAX__ 3.40282347e+38F
658// ARMEABIHARDFP:#define __FLT_MIN_10_EXP__ (-37)
659// ARMEABIHARDFP:#define __FLT_MIN_EXP__ (-125)
660// ARMEABIHARDFP:#define __FLT_MIN__ 1.17549435e-38F
661// ARMEABIHARDFP:#define __FLT_RADIX__ 2
662// ARMEABIHARDFP:#define __INT16_TYPE__ short
663// ARMEABIHARDFP:#define __INT32_TYPE__ int
664// ARMEABIHARDFP:#define __INT64_C_SUFFIX__ LL
665// ARMEABIHARDFP:#define __INT64_TYPE__ long long int
666// ARMEABIHARDFP:#define __INT8_TYPE__ char
667// ARMEABIHARDFP:#define __INTMAX_MAX__ 9223372036854775807LL
668// ARMEABIHARDFP:#define __INTMAX_TYPE__ long long int
669// ARMEABIHARDFP:#define __INTMAX_WIDTH__ 64
670// ARMEABIHARDFP:#define __INTPTR_TYPE__ long int
671// ARMEABIHARDFP:#define __INTPTR_WIDTH__ 32
672// ARMEABIHARDFP:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000673// ARMEABIHARDFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000674// ARMEABIHARDFP:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000675// ARMEABIHARDFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000676// ARMEABIHARDFP:#define __LDBL_HAS_DENORM__ 1
677// ARMEABIHARDFP:#define __LDBL_HAS_INFINITY__ 1
678// ARMEABIHARDFP:#define __LDBL_HAS_QUIET_NAN__ 1
679// ARMEABIHARDFP:#define __LDBL_MANT_DIG__ 53
680// ARMEABIHARDFP:#define __LDBL_MAX_10_EXP__ 308
681// ARMEABIHARDFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000682// ARMEABIHARDFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000683// ARMEABIHARDFP:#define __LDBL_MIN_10_EXP__ (-307)
684// ARMEABIHARDFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000685// ARMEABIHARDFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000686// ARMEABIHARDFP:#define __LITTLE_ENDIAN__ 1
687// ARMEABIHARDFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
688// ARMEABIHARDFP:#define __LONG_MAX__ 2147483647L
689// ARMEABIHARDFP-NOT:#define __LP64__
690// ARMEABIHARDFP:#define __POINTER_WIDTH__ 32
691// ARMEABIHARDFP:#define __PTRDIFF_TYPE__ int
692// ARMEABIHARDFP:#define __PTRDIFF_WIDTH__ 32
693// ARMEABIHARDFP:#define __REGISTER_PREFIX__
694// ARMEABIHARDFP:#define __SCHAR_MAX__ 127
695// ARMEABIHARDFP:#define __SHRT_MAX__ 32767
696// ARMEABIHARDFP:#define __SIG_ATOMIC_WIDTH__ 32
697// ARMEABIHARDFP:#define __SIZEOF_DOUBLE__ 8
698// ARMEABIHARDFP:#define __SIZEOF_FLOAT__ 4
699// ARMEABIHARDFP:#define __SIZEOF_INT__ 4
700// ARMEABIHARDFP:#define __SIZEOF_LONG_DOUBLE__ 8
701// ARMEABIHARDFP:#define __SIZEOF_LONG_LONG__ 8
702// ARMEABIHARDFP:#define __SIZEOF_LONG__ 4
703// ARMEABIHARDFP:#define __SIZEOF_POINTER__ 4
704// ARMEABIHARDFP:#define __SIZEOF_PTRDIFF_T__ 4
705// ARMEABIHARDFP:#define __SIZEOF_SHORT__ 2
706// ARMEABIHARDFP:#define __SIZEOF_SIZE_T__ 4
707// ARMEABIHARDFP:#define __SIZEOF_WCHAR_T__ 4
708// ARMEABIHARDFP:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000709// ARMEABIHARDFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000710// ARMEABIHARDFP:#define __SIZE_TYPE__ unsigned int
711// ARMEABIHARDFP:#define __SIZE_WIDTH__ 32
712// ARMEABIHARDFP-NOT:#define __SOFTFP__ 1
713// ARMEABIHARDFP:#define __THUMB_INTERWORK__ 1
714// ARMEABIHARDFP:#define __UINTMAX_TYPE__ long long unsigned int
715// ARMEABIHARDFP:#define __USER_LABEL_PREFIX__
716// ARMEABIHARDFP:#define __WCHAR_MAX__ 4294967295U
717// ARMEABIHARDFP:#define __WCHAR_TYPE__ unsigned int
718// ARMEABIHARDFP:#define __WCHAR_WIDTH__ 32
719// ARMEABIHARDFP:#define __WINT_TYPE__ unsigned int
720// ARMEABIHARDFP:#define __WINT_WIDTH__ 32
721// ARMEABIHARDFP:#define __arm 1
722// ARMEABIHARDFP:#define __arm__ 1
723
Tim Northovere77f78c2013-11-11 19:11:22 +0000724// RUN: %clang -target arm -arch armv7s -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
725// RUN: %clang -target arm -arch armv6m -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
726// RUN: %clang -target arm -arch armv7m -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
727// RUN: %clang -target arm -arch armv7em -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
728// RUN: %clang -target thumbv7-apple-darwin-eabi -arch armv7 -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
729// ARM-DARWIN-NO-EABI-NOT: #define __ARM_EABI__ 1
730
Silviu Barangaf9671dd2013-10-21 10:54:53 +0000731// Check that -mhwdiv works properly for targets which don't have the hwdiv feature enabled by default.
732
733// RUN: %clang -target arm -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-ARM %s
734// ARMHWDIV-ARM:#define __ARM_ARCH_EXT_IDIV__ 1
735
736// RUN: %clang -target arm -mthumb -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-THUMB %s
737// THUMBHWDIV-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1
738
739// RUN: %clang -target arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-FALSE %s
740// ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
741
742// RUN: %clang -target arm -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMB-FALSE %s
743// THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
744
745// RUN: %clang -target arm -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-ARM-FALSE %s
746// THUMBHWDIV-ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
747
748// RUN: %clang -target arm -mthumb -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-THUMB-FALSE %s
749// ARMHWDIV-THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
750
Weiming Zhaofb5c21a2014-01-22 18:42:13 +0000751// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armv8-none-none < /dev/null | FileCheck -check-prefix ARMv8 %s
752// ARMv8: #define __THUMB_INTERWORK__ 1
753// ARMv8-NOT: #define __thumb2__
754
755// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv8 < /dev/null | FileCheck -check-prefix Thumbv8 %s
756// Thumbv8: #define __THUMB_INTERWORK__ 1
757// Thumbv8: #define __thumb2__
758
759// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv5 < /dev/null | FileCheck -check-prefix Thumbv5 %s
760// Thumbv5: #define __THUMB_INTERWORK__ 1
761// Thumbv5-NOT: #define __thumb2__
762
763// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv6t2 < /dev/null | FileCheck -check-prefix Thumbv6t2 %s
764// Thumbv6t2: #define __THUMB_INTERWORK__ 1
765// Thumbv6t2: #define __thumb2__
766
767// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv7 < /dev/null | FileCheck -check-prefix Thumbv7 %s
768// Thumbv7: #define __THUMB_INTERWORK__ 1
769// Thumbv7: #define __thumb2__
770
Chris Lattnere963d092009-10-29 04:55:36 +0000771//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000772// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
Chris Lattnere963d092009-10-29 04:55:36 +0000773//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000774// I386-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000775// I386:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +0000776// I386:#define __CHAR16_TYPE__ unsigned short
777// I386:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000778// I386:#define __CHAR_BIT__ 8
779// I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
780// I386:#define __DBL_DIG__ 15
781// I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
782// I386:#define __DBL_HAS_DENORM__ 1
783// I386:#define __DBL_HAS_INFINITY__ 1
784// I386:#define __DBL_HAS_QUIET_NAN__ 1
785// I386:#define __DBL_MANT_DIG__ 53
786// I386:#define __DBL_MAX_10_EXP__ 308
787// I386:#define __DBL_MAX_EXP__ 1024
788// I386:#define __DBL_MAX__ 1.7976931348623157e+308
789// I386:#define __DBL_MIN_10_EXP__ (-307)
790// I386:#define __DBL_MIN_EXP__ (-1021)
791// I386:#define __DBL_MIN__ 2.2250738585072014e-308
792// I386:#define __DECIMAL_DIG__ 21
793// I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
794// I386:#define __FLT_DIG__ 6
795// I386:#define __FLT_EPSILON__ 1.19209290e-7F
Benjamin Kramercf501472011-12-28 15:47:06 +0000796// I386:#define __FLT_EVAL_METHOD__ 2
Chris Lattnere963d092009-10-29 04:55:36 +0000797// I386:#define __FLT_HAS_DENORM__ 1
798// I386:#define __FLT_HAS_INFINITY__ 1
799// I386:#define __FLT_HAS_QUIET_NAN__ 1
800// I386:#define __FLT_MANT_DIG__ 24
801// I386:#define __FLT_MAX_10_EXP__ 38
802// I386:#define __FLT_MAX_EXP__ 128
803// I386:#define __FLT_MAX__ 3.40282347e+38F
804// I386:#define __FLT_MIN_10_EXP__ (-37)
805// I386:#define __FLT_MIN_EXP__ (-125)
806// I386:#define __FLT_MIN__ 1.17549435e-38F
807// I386:#define __FLT_RADIX__ 2
808// I386:#define __INT16_TYPE__ short
809// I386:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +0000810// I386:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +0000811// I386:#define __INT64_TYPE__ long long int
812// I386:#define __INT8_TYPE__ char
813// I386:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +0000814// I386:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +0000815// I386:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +0000816// I386:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +0000817// I386:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000818// I386:#define __INT_MAX__ 2147483647
819// I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
820// I386:#define __LDBL_DIG__ 18
821// I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
822// I386:#define __LDBL_HAS_DENORM__ 1
823// I386:#define __LDBL_HAS_INFINITY__ 1
824// I386:#define __LDBL_HAS_QUIET_NAN__ 1
825// I386:#define __LDBL_MANT_DIG__ 64
826// I386:#define __LDBL_MAX_10_EXP__ 4932
827// I386:#define __LDBL_MAX_EXP__ 16384
828// I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
829// I386:#define __LDBL_MIN_10_EXP__ (-4931)
830// I386:#define __LDBL_MIN_EXP__ (-16381)
831// I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
832// I386:#define __LITTLE_ENDIAN__ 1
833// I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
834// I386:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000835// I386-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +0000836// I386:#define __NO_MATH_INLINES 1
837// I386:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000838// I386:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +0000839// I386:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000840// I386:#define __REGISTER_PREFIX__
841// I386:#define __SCHAR_MAX__ 127
842// I386:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +0000843// I386:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +0000844// I386:#define __SIZEOF_DOUBLE__ 8
845// I386:#define __SIZEOF_FLOAT__ 4
846// I386:#define __SIZEOF_INT__ 4
847// I386:#define __SIZEOF_LONG_DOUBLE__ 12
848// I386:#define __SIZEOF_LONG_LONG__ 8
849// I386:#define __SIZEOF_LONG__ 4
850// I386:#define __SIZEOF_POINTER__ 4
851// I386:#define __SIZEOF_PTRDIFF_T__ 4
852// I386:#define __SIZEOF_SHORT__ 2
853// I386:#define __SIZEOF_SIZE_T__ 4
854// I386:#define __SIZEOF_WCHAR_T__ 4
855// I386:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000856// I386:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +0000857// I386:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +0000858// I386:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000859// I386:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000860// I386:#define __USER_LABEL_PREFIX__ _
861// I386:#define __WCHAR_MAX__ 2147483647
862// I386:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +0000863// I386:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000864// I386:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +0000865// I386:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000866// I386:#define __i386 1
867// I386:#define __i386__ 1
Chris Lattnere963d092009-10-29 04:55:36 +0000868// I386:#define i386 1
869//
Benjamin Kramercf501472011-12-28 15:47:06 +0000870// 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 +0000871//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000872// I386-LINUX-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000873// I386-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregore6d6e512011-01-12 21:19:25 +0000874// I386-LINUX:#define __CHAR16_TYPE__ unsigned short
875// I386-LINUX:#define __CHAR32_TYPE__ unsigned int
876// I386-LINUX:#define __CHAR_BIT__ 8
877// I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
878// I386-LINUX:#define __DBL_DIG__ 15
879// I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
880// I386-LINUX:#define __DBL_HAS_DENORM__ 1
881// I386-LINUX:#define __DBL_HAS_INFINITY__ 1
882// I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
883// I386-LINUX:#define __DBL_MANT_DIG__ 53
884// I386-LINUX:#define __DBL_MAX_10_EXP__ 308
885// I386-LINUX:#define __DBL_MAX_EXP__ 1024
886// I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
887// I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
888// I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
889// I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
890// I386-LINUX:#define __DECIMAL_DIG__ 21
891// I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
892// I386-LINUX:#define __FLT_DIG__ 6
893// I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
894// I386-LINUX:#define __FLT_EVAL_METHOD__ 0
895// I386-LINUX:#define __FLT_HAS_DENORM__ 1
896// I386-LINUX:#define __FLT_HAS_INFINITY__ 1
897// I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
898// I386-LINUX:#define __FLT_MANT_DIG__ 24
899// I386-LINUX:#define __FLT_MAX_10_EXP__ 38
900// I386-LINUX:#define __FLT_MAX_EXP__ 128
901// I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
902// I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
903// I386-LINUX:#define __FLT_MIN_EXP__ (-125)
904// I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
905// I386-LINUX:#define __FLT_RADIX__ 2
906// I386-LINUX:#define __INT16_TYPE__ short
907// I386-LINUX:#define __INT32_TYPE__ int
908// I386-LINUX:#define __INT64_C_SUFFIX__ LL
909// I386-LINUX:#define __INT64_TYPE__ long long int
910// I386-LINUX:#define __INT8_TYPE__ char
911// I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
912// I386-LINUX:#define __INTMAX_TYPE__ long long int
913// I386-LINUX:#define __INTMAX_WIDTH__ 64
914// I386-LINUX:#define __INTPTR_TYPE__ int
915// I386-LINUX:#define __INTPTR_WIDTH__ 32
916// I386-LINUX:#define __INT_MAX__ 2147483647
917// I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
918// I386-LINUX:#define __LDBL_DIG__ 18
919// I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
920// I386-LINUX:#define __LDBL_HAS_DENORM__ 1
921// I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
922// I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
923// I386-LINUX:#define __LDBL_MANT_DIG__ 64
924// I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
925// I386-LINUX:#define __LDBL_MAX_EXP__ 16384
926// I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
927// I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
928// I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
929// I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
930// I386-LINUX:#define __LITTLE_ENDIAN__ 1
931// I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
932// I386-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000933// I386-LINUX-NOT:#define __LP64__
Douglas Gregore6d6e512011-01-12 21:19:25 +0000934// I386-LINUX:#define __NO_MATH_INLINES 1
935// I386-LINUX:#define __POINTER_WIDTH__ 32
936// I386-LINUX:#define __PTRDIFF_TYPE__ int
937// I386-LINUX:#define __PTRDIFF_WIDTH__ 32
938// I386-LINUX:#define __REGISTER_PREFIX__
939// I386-LINUX:#define __SCHAR_MAX__ 127
940// I386-LINUX:#define __SHRT_MAX__ 32767
941// I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
942// I386-LINUX:#define __SIZEOF_DOUBLE__ 8
943// I386-LINUX:#define __SIZEOF_FLOAT__ 4
944// I386-LINUX:#define __SIZEOF_INT__ 4
945// I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
946// I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
947// I386-LINUX:#define __SIZEOF_LONG__ 4
948// I386-LINUX:#define __SIZEOF_POINTER__ 4
949// I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
950// I386-LINUX:#define __SIZEOF_SHORT__ 2
951// I386-LINUX:#define __SIZEOF_SIZE_T__ 4
952// I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
953// I386-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000954// I386-LINUX:#define __SIZE_MAX__ 4294967295U
Douglas Gregore6d6e512011-01-12 21:19:25 +0000955// I386-LINUX:#define __SIZE_TYPE__ unsigned int
956// I386-LINUX:#define __SIZE_WIDTH__ 32
957// I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
958// I386-LINUX:#define __USER_LABEL_PREFIX__
959// I386-LINUX:#define __WCHAR_MAX__ 2147483647
960// I386-LINUX:#define __WCHAR_TYPE__ int
961// I386-LINUX:#define __WCHAR_WIDTH__ 32
962// I386-LINUX:#define __WINT_TYPE__ unsigned int
963// I386-LINUX:#define __WINT_WIDTH__ 32
964// I386-LINUX:#define __i386 1
965// I386-LINUX:#define __i386__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +0000966// I386-LINUX:#define i386 1
967//
Joerg Sonnenberger0e921f22013-11-11 14:00:37 +0000968// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd < /dev/null | FileCheck -check-prefix I386-NETBSD %s
969//
970// I386-NETBSD-NOT:#define _LP64
971// I386-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
972// I386-NETBSD:#define __CHAR16_TYPE__ unsigned short
973// I386-NETBSD:#define __CHAR32_TYPE__ unsigned int
974// I386-NETBSD:#define __CHAR_BIT__ 8
975// I386-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
976// I386-NETBSD:#define __DBL_DIG__ 15
977// I386-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
978// I386-NETBSD:#define __DBL_HAS_DENORM__ 1
979// I386-NETBSD:#define __DBL_HAS_INFINITY__ 1
980// I386-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
981// I386-NETBSD:#define __DBL_MANT_DIG__ 53
982// I386-NETBSD:#define __DBL_MAX_10_EXP__ 308
983// I386-NETBSD:#define __DBL_MAX_EXP__ 1024
984// I386-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
985// I386-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
986// I386-NETBSD:#define __DBL_MIN_EXP__ (-1021)
987// I386-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
988// I386-NETBSD:#define __DECIMAL_DIG__ 21
989// I386-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
990// I386-NETBSD:#define __FLT_DIG__ 6
991// I386-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
992// I386-NETBSD:#define __FLT_EVAL_METHOD__ 2
993// I386-NETBSD:#define __FLT_HAS_DENORM__ 1
994// I386-NETBSD:#define __FLT_HAS_INFINITY__ 1
995// I386-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
996// I386-NETBSD:#define __FLT_MANT_DIG__ 24
997// I386-NETBSD:#define __FLT_MAX_10_EXP__ 38
998// I386-NETBSD:#define __FLT_MAX_EXP__ 128
999// I386-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
1000// I386-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
1001// I386-NETBSD:#define __FLT_MIN_EXP__ (-125)
1002// I386-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
1003// I386-NETBSD:#define __FLT_RADIX__ 2
1004// I386-NETBSD:#define __INT16_TYPE__ short
1005// I386-NETBSD:#define __INT32_TYPE__ int
1006// I386-NETBSD:#define __INT64_C_SUFFIX__ LL
1007// I386-NETBSD:#define __INT64_TYPE__ long long int
1008// I386-NETBSD:#define __INT8_TYPE__ char
1009// I386-NETBSD:#define __INTMAX_MAX__ 9223372036854775807LL
1010// I386-NETBSD:#define __INTMAX_TYPE__ long long int
1011// I386-NETBSD:#define __INTMAX_WIDTH__ 64
1012// I386-NETBSD:#define __INTPTR_TYPE__ int
1013// I386-NETBSD:#define __INTPTR_WIDTH__ 32
1014// I386-NETBSD:#define __INT_MAX__ 2147483647
1015// I386-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1016// I386-NETBSD:#define __LDBL_DIG__ 18
1017// I386-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1018// I386-NETBSD:#define __LDBL_HAS_DENORM__ 1
1019// I386-NETBSD:#define __LDBL_HAS_INFINITY__ 1
1020// I386-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
1021// I386-NETBSD:#define __LDBL_MANT_DIG__ 64
1022// I386-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
1023// I386-NETBSD:#define __LDBL_MAX_EXP__ 16384
1024// I386-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1025// I386-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
1026// I386-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
1027// I386-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1028// I386-NETBSD:#define __LITTLE_ENDIAN__ 1
1029// I386-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
1030// I386-NETBSD:#define __LONG_MAX__ 2147483647L
1031// I386-NETBSD-NOT:#define __LP64__
1032// I386-NETBSD:#define __NO_MATH_INLINES 1
1033// I386-NETBSD:#define __POINTER_WIDTH__ 32
1034// I386-NETBSD:#define __PTRDIFF_TYPE__ int
1035// I386-NETBSD:#define __PTRDIFF_WIDTH__ 32
1036// I386-NETBSD:#define __REGISTER_PREFIX__
1037// I386-NETBSD:#define __SCHAR_MAX__ 127
1038// I386-NETBSD:#define __SHRT_MAX__ 32767
1039// I386-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
1040// I386-NETBSD:#define __SIZEOF_DOUBLE__ 8
1041// I386-NETBSD:#define __SIZEOF_FLOAT__ 4
1042// I386-NETBSD:#define __SIZEOF_INT__ 4
1043// I386-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 12
1044// I386-NETBSD:#define __SIZEOF_LONG_LONG__ 8
1045// I386-NETBSD:#define __SIZEOF_LONG__ 4
1046// I386-NETBSD:#define __SIZEOF_POINTER__ 4
1047// I386-NETBSD:#define __SIZEOF_PTRDIFF_T__ 4
1048// I386-NETBSD:#define __SIZEOF_SHORT__ 2
1049// I386-NETBSD:#define __SIZEOF_SIZE_T__ 4
1050// I386-NETBSD:#define __SIZEOF_WCHAR_T__ 4
1051// I386-NETBSD:#define __SIZEOF_WINT_T__ 4
1052// I386-NETBSD:#define __SIZE_MAX__ 4294967295U
1053// I386-NETBSD:#define __SIZE_TYPE__ unsigned int
1054// I386-NETBSD:#define __SIZE_WIDTH__ 32
1055// I386-NETBSD:#define __UINTMAX_TYPE__ long long unsigned int
1056// I386-NETBSD:#define __USER_LABEL_PREFIX__
1057// I386-NETBSD:#define __WCHAR_MAX__ 2147483647
1058// I386-NETBSD:#define __WCHAR_TYPE__ int
1059// I386-NETBSD:#define __WCHAR_WIDTH__ 32
1060// I386-NETBSD:#define __WINT_TYPE__ int
1061// I386-NETBSD:#define __WINT_WIDTH__ 32
1062// I386-NETBSD:#define __i386 1
1063// I386-NETBSD:#define __i386__ 1
1064// I386-NETBSD:#define i386 1
1065//
1066// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD-SSE %s
1067// I386-NETBSD-SSE:#define __FLT_EVAL_METHOD__ 0
1068// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 < /dev/null | FileCheck -check-prefix I386-NETBSD6 %s
1069// I386-NETBSD6:#define __FLT_EVAL_METHOD__ 1
1070// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD6-SSE %s
1071// I386-NETBSD6-SSE:#define __FLT_EVAL_METHOD__ 1
1072
1073//
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001074// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none < /dev/null | FileCheck -check-prefix MIPS32BE %s
1075//
1076// MIPS32BE:#define MIPSEB 1
1077// MIPS32BE:#define _ABIO32 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001078// MIPS32BE-NOT:#define _LP64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001079// MIPS32BE:#define _MIPSEB 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001080// MIPS32BE:#define _MIPS_ARCH "mips32r2"
1081// MIPS32BE:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001082// MIPS32BE:#define _MIPS_FPSET 16
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001083// MIPS32BE:#define _MIPS_SIM _ABIO32
1084// MIPS32BE:#define _MIPS_SZINT 32
1085// MIPS32BE:#define _MIPS_SZLONG 32
1086// MIPS32BE:#define _MIPS_SZPTR 32
Robert Lytton2c942c62014-03-10 12:06:29 +00001087// MIPS32BE:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001088// MIPS32BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001089// MIPS32BE:#define __CHAR16_TYPE__ unsigned short
1090// MIPS32BE:#define __CHAR32_TYPE__ unsigned int
1091// MIPS32BE:#define __CHAR_BIT__ 8
1092// MIPS32BE:#define __CONSTANT_CFSTRINGS__ 1
1093// MIPS32BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1094// MIPS32BE:#define __DBL_DIG__ 15
1095// MIPS32BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
1096// MIPS32BE:#define __DBL_HAS_DENORM__ 1
1097// MIPS32BE:#define __DBL_HAS_INFINITY__ 1
1098// MIPS32BE:#define __DBL_HAS_QUIET_NAN__ 1
1099// MIPS32BE:#define __DBL_MANT_DIG__ 53
1100// MIPS32BE:#define __DBL_MAX_10_EXP__ 308
1101// MIPS32BE:#define __DBL_MAX_EXP__ 1024
1102// MIPS32BE:#define __DBL_MAX__ 1.7976931348623157e+308
1103// MIPS32BE:#define __DBL_MIN_10_EXP__ (-307)
1104// MIPS32BE:#define __DBL_MIN_EXP__ (-1021)
1105// MIPS32BE:#define __DBL_MIN__ 2.2250738585072014e-308
1106// MIPS32BE:#define __DECIMAL_DIG__ 17
1107// MIPS32BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1108// MIPS32BE:#define __FLT_DIG__ 6
1109// MIPS32BE:#define __FLT_EPSILON__ 1.19209290e-7F
1110// MIPS32BE:#define __FLT_EVAL_METHOD__ 0
1111// MIPS32BE:#define __FLT_HAS_DENORM__ 1
1112// MIPS32BE:#define __FLT_HAS_INFINITY__ 1
1113// MIPS32BE:#define __FLT_HAS_QUIET_NAN__ 1
1114// MIPS32BE:#define __FLT_MANT_DIG__ 24
1115// MIPS32BE:#define __FLT_MAX_10_EXP__ 38
1116// MIPS32BE:#define __FLT_MAX_EXP__ 128
1117// MIPS32BE:#define __FLT_MAX__ 3.40282347e+38F
1118// MIPS32BE:#define __FLT_MIN_10_EXP__ (-37)
1119// MIPS32BE:#define __FLT_MIN_EXP__ (-125)
1120// MIPS32BE:#define __FLT_MIN__ 1.17549435e-38F
1121// MIPS32BE:#define __FLT_RADIX__ 2
1122// MIPS32BE:#define __INT16_TYPE__ short
1123// MIPS32BE:#define __INT32_TYPE__ int
1124// MIPS32BE:#define __INT64_C_SUFFIX__ LL
1125// MIPS32BE:#define __INT64_TYPE__ long long int
1126// MIPS32BE:#define __INT8_TYPE__ char
1127// MIPS32BE:#define __INTMAX_MAX__ 9223372036854775807LL
1128// MIPS32BE:#define __INTMAX_TYPE__ long long int
1129// MIPS32BE:#define __INTMAX_WIDTH__ 64
1130// MIPS32BE:#define __INTPTR_TYPE__ long int
1131// MIPS32BE:#define __INTPTR_WIDTH__ 32
1132// MIPS32BE:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001133// MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001134// MIPS32BE:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001135// MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001136// MIPS32BE:#define __LDBL_HAS_DENORM__ 1
1137// MIPS32BE:#define __LDBL_HAS_INFINITY__ 1
1138// MIPS32BE:#define __LDBL_HAS_QUIET_NAN__ 1
1139// MIPS32BE:#define __LDBL_MANT_DIG__ 53
1140// MIPS32BE:#define __LDBL_MAX_10_EXP__ 308
1141// MIPS32BE:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001142// MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001143// MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307)
1144// MIPS32BE:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001145// MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001146// MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1147// MIPS32BE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001148// MIPS32BE-NOT:#define __LP64__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001149// MIPS32BE:#define __MIPSEB 1
1150// MIPS32BE:#define __MIPSEB__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001151// MIPS32BE:#define __POINTER_WIDTH__ 32
1152// MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1
1153// MIPS32BE:#define __PTRDIFF_TYPE__ int
1154// MIPS32BE:#define __PTRDIFF_WIDTH__ 32
1155// MIPS32BE:#define __REGISTER_PREFIX__
1156// MIPS32BE:#define __SCHAR_MAX__ 127
1157// MIPS32BE:#define __SHRT_MAX__ 32767
1158// MIPS32BE:#define __SIG_ATOMIC_WIDTH__ 32
1159// MIPS32BE:#define __SIZEOF_DOUBLE__ 8
1160// MIPS32BE:#define __SIZEOF_FLOAT__ 4
1161// MIPS32BE:#define __SIZEOF_INT__ 4
1162// MIPS32BE:#define __SIZEOF_LONG_DOUBLE__ 8
1163// MIPS32BE:#define __SIZEOF_LONG_LONG__ 8
1164// MIPS32BE:#define __SIZEOF_LONG__ 4
1165// MIPS32BE:#define __SIZEOF_POINTER__ 4
1166// MIPS32BE:#define __SIZEOF_PTRDIFF_T__ 4
1167// MIPS32BE:#define __SIZEOF_SHORT__ 2
1168// MIPS32BE:#define __SIZEOF_SIZE_T__ 4
1169// MIPS32BE:#define __SIZEOF_WCHAR_T__ 4
1170// MIPS32BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001171// MIPS32BE:#define __SIZE_MAX__ 4294967295U
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001172// MIPS32BE:#define __SIZE_TYPE__ unsigned int
1173// MIPS32BE:#define __SIZE_WIDTH__ 32
1174// MIPS32BE:#define __STDC_HOSTED__ 0
1175// MIPS32BE:#define __STDC_VERSION__ 199901L
1176// MIPS32BE:#define __STDC__ 1
1177// MIPS32BE:#define __UINTMAX_TYPE__ long long unsigned int
1178// MIPS32BE:#define __USER_LABEL_PREFIX__ _
1179// MIPS32BE:#define __WCHAR_MAX__ 2147483647
1180// MIPS32BE:#define __WCHAR_TYPE__ int
1181// MIPS32BE:#define __WCHAR_WIDTH__ 32
1182// MIPS32BE:#define __WINT_TYPE__ int
1183// MIPS32BE:#define __WINT_WIDTH__ 32
1184// MIPS32BE:#define __clang__ 1
1185// MIPS32BE:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001186// MIPS32BE:#define __mips 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001187// MIPS32BE:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001188// MIPS32BE:#define __mips_fpr 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001189// MIPS32BE:#define __mips_hard_float 1
1190// MIPS32BE:#define __mips_o32 1
1191// MIPS32BE:#define _mips 1
1192// MIPS32BE:#define mips 1
1193//
1194// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -check-prefix MIPS32EL %s
1195//
1196// MIPS32EL:#define MIPSEL 1
1197// MIPS32EL:#define _ABIO32 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001198// MIPS32EL-NOT:#define _LP64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001199// MIPS32EL:#define _MIPSEL 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001200// MIPS32EL:#define _MIPS_ARCH "mips32r2"
1201// MIPS32EL:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001202// MIPS32EL:#define _MIPS_FPSET 16
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001203// MIPS32EL:#define _MIPS_SIM _ABIO32
1204// MIPS32EL:#define _MIPS_SZINT 32
1205// MIPS32EL:#define _MIPS_SZLONG 32
1206// MIPS32EL:#define _MIPS_SZPTR 32
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001207// MIPS32EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001208// MIPS32EL:#define __CHAR16_TYPE__ unsigned short
1209// MIPS32EL:#define __CHAR32_TYPE__ unsigned int
1210// MIPS32EL:#define __CHAR_BIT__ 8
1211// MIPS32EL:#define __CONSTANT_CFSTRINGS__ 1
1212// MIPS32EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1213// MIPS32EL:#define __DBL_DIG__ 15
1214// MIPS32EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1215// MIPS32EL:#define __DBL_HAS_DENORM__ 1
1216// MIPS32EL:#define __DBL_HAS_INFINITY__ 1
1217// MIPS32EL:#define __DBL_HAS_QUIET_NAN__ 1
1218// MIPS32EL:#define __DBL_MANT_DIG__ 53
1219// MIPS32EL:#define __DBL_MAX_10_EXP__ 308
1220// MIPS32EL:#define __DBL_MAX_EXP__ 1024
1221// MIPS32EL:#define __DBL_MAX__ 1.7976931348623157e+308
1222// MIPS32EL:#define __DBL_MIN_10_EXP__ (-307)
1223// MIPS32EL:#define __DBL_MIN_EXP__ (-1021)
1224// MIPS32EL:#define __DBL_MIN__ 2.2250738585072014e-308
1225// MIPS32EL:#define __DECIMAL_DIG__ 17
1226// MIPS32EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1227// MIPS32EL:#define __FLT_DIG__ 6
1228// MIPS32EL:#define __FLT_EPSILON__ 1.19209290e-7F
1229// MIPS32EL:#define __FLT_EVAL_METHOD__ 0
1230// MIPS32EL:#define __FLT_HAS_DENORM__ 1
1231// MIPS32EL:#define __FLT_HAS_INFINITY__ 1
1232// MIPS32EL:#define __FLT_HAS_QUIET_NAN__ 1
1233// MIPS32EL:#define __FLT_MANT_DIG__ 24
1234// MIPS32EL:#define __FLT_MAX_10_EXP__ 38
1235// MIPS32EL:#define __FLT_MAX_EXP__ 128
1236// MIPS32EL:#define __FLT_MAX__ 3.40282347e+38F
1237// MIPS32EL:#define __FLT_MIN_10_EXP__ (-37)
1238// MIPS32EL:#define __FLT_MIN_EXP__ (-125)
1239// MIPS32EL:#define __FLT_MIN__ 1.17549435e-38F
1240// MIPS32EL:#define __FLT_RADIX__ 2
1241// MIPS32EL:#define __INT16_TYPE__ short
1242// MIPS32EL:#define __INT32_TYPE__ int
1243// MIPS32EL:#define __INT64_C_SUFFIX__ LL
1244// MIPS32EL:#define __INT64_TYPE__ long long int
1245// MIPS32EL:#define __INT8_TYPE__ char
1246// MIPS32EL:#define __INTMAX_MAX__ 9223372036854775807LL
1247// MIPS32EL:#define __INTMAX_TYPE__ long long int
1248// MIPS32EL:#define __INTMAX_WIDTH__ 64
1249// MIPS32EL:#define __INTPTR_TYPE__ long int
1250// MIPS32EL:#define __INTPTR_WIDTH__ 32
1251// MIPS32EL:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001252// MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001253// MIPS32EL:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001254// MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001255// MIPS32EL:#define __LDBL_HAS_DENORM__ 1
1256// MIPS32EL:#define __LDBL_HAS_INFINITY__ 1
1257// MIPS32EL:#define __LDBL_HAS_QUIET_NAN__ 1
1258// MIPS32EL:#define __LDBL_MANT_DIG__ 53
1259// MIPS32EL:#define __LDBL_MAX_10_EXP__ 308
1260// MIPS32EL:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001261// MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001262// MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307)
1263// MIPS32EL:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001264// MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308L
Robert Lytton2c942c62014-03-10 12:06:29 +00001265// MIPS32EL:#define __LITTLE_ENDIAN__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001266// MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1267// MIPS32EL:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001268// MIPS32EL-NOT:#define __LP64__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001269// MIPS32EL:#define __MIPSEL 1
1270// MIPS32EL:#define __MIPSEL__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001271// MIPS32EL:#define __POINTER_WIDTH__ 32
1272// MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1273// MIPS32EL:#define __PTRDIFF_TYPE__ int
1274// MIPS32EL:#define __PTRDIFF_WIDTH__ 32
1275// MIPS32EL:#define __REGISTER_PREFIX__
1276// MIPS32EL:#define __SCHAR_MAX__ 127
1277// MIPS32EL:#define __SHRT_MAX__ 32767
1278// MIPS32EL:#define __SIG_ATOMIC_WIDTH__ 32
1279// MIPS32EL:#define __SIZEOF_DOUBLE__ 8
1280// MIPS32EL:#define __SIZEOF_FLOAT__ 4
1281// MIPS32EL:#define __SIZEOF_INT__ 4
1282// MIPS32EL:#define __SIZEOF_LONG_DOUBLE__ 8
1283// MIPS32EL:#define __SIZEOF_LONG_LONG__ 8
1284// MIPS32EL:#define __SIZEOF_LONG__ 4
1285// MIPS32EL:#define __SIZEOF_POINTER__ 4
1286// MIPS32EL:#define __SIZEOF_PTRDIFF_T__ 4
1287// MIPS32EL:#define __SIZEOF_SHORT__ 2
1288// MIPS32EL:#define __SIZEOF_SIZE_T__ 4
1289// MIPS32EL:#define __SIZEOF_WCHAR_T__ 4
1290// MIPS32EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001291// MIPS32EL:#define __SIZE_MAX__ 4294967295U
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001292// MIPS32EL:#define __SIZE_TYPE__ unsigned int
1293// MIPS32EL:#define __SIZE_WIDTH__ 32
1294// MIPS32EL:#define __UINTMAX_TYPE__ long long unsigned int
1295// MIPS32EL:#define __USER_LABEL_PREFIX__ _
1296// MIPS32EL:#define __WCHAR_MAX__ 2147483647
1297// MIPS32EL:#define __WCHAR_TYPE__ int
1298// MIPS32EL:#define __WCHAR_WIDTH__ 32
1299// MIPS32EL:#define __WINT_TYPE__ int
1300// MIPS32EL:#define __WINT_WIDTH__ 32
1301// MIPS32EL:#define __clang__ 1
1302// MIPS32EL:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001303// MIPS32EL:#define __mips 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001304// MIPS32EL:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001305// MIPS32EL:#define __mips_fpr 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001306// MIPS32EL:#define __mips_hard_float 1
1307// MIPS32EL:#define __mips_o32 1
1308// MIPS32EL:#define _mips 1
1309// MIPS32EL:#define mips 1
1310//
1311// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -check-prefix MIPS64BE %s
1312//
1313// MIPS64BE:#define MIPSEB 1
1314// MIPS64BE:#define _ABI64 3
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001315// MIPS64BE:#define _LP64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001316// MIPS64BE:#define _MIPSEB 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001317// MIPS64BE:#define _MIPS_ARCH "mips64r2"
1318// MIPS64BE:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001319// MIPS64BE:#define _MIPS_FPSET 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001320// MIPS64BE:#define _MIPS_SIM _ABI64
1321// MIPS64BE:#define _MIPS_SZINT 32
1322// MIPS64BE:#define _MIPS_SZLONG 64
1323// MIPS64BE:#define _MIPS_SZPTR 64
Robert Lytton2c942c62014-03-10 12:06:29 +00001324// MIPS64BE:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001325// MIPS64BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001326// MIPS64BE:#define __CHAR16_TYPE__ unsigned short
1327// MIPS64BE:#define __CHAR32_TYPE__ unsigned int
1328// MIPS64BE:#define __CHAR_BIT__ 8
1329// MIPS64BE:#define __CONSTANT_CFSTRINGS__ 1
1330// MIPS64BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1331// MIPS64BE:#define __DBL_DIG__ 15
1332// MIPS64BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
1333// MIPS64BE:#define __DBL_HAS_DENORM__ 1
1334// MIPS64BE:#define __DBL_HAS_INFINITY__ 1
1335// MIPS64BE:#define __DBL_HAS_QUIET_NAN__ 1
1336// MIPS64BE:#define __DBL_MANT_DIG__ 53
1337// MIPS64BE:#define __DBL_MAX_10_EXP__ 308
1338// MIPS64BE:#define __DBL_MAX_EXP__ 1024
1339// MIPS64BE:#define __DBL_MAX__ 1.7976931348623157e+308
1340// MIPS64BE:#define __DBL_MIN_10_EXP__ (-307)
1341// MIPS64BE:#define __DBL_MIN_EXP__ (-1021)
1342// MIPS64BE:#define __DBL_MIN__ 2.2250738585072014e-308
1343// MIPS64BE:#define __DECIMAL_DIG__ 36
1344// MIPS64BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1345// MIPS64BE:#define __FLT_DIG__ 6
1346// MIPS64BE:#define __FLT_EPSILON__ 1.19209290e-7F
1347// MIPS64BE:#define __FLT_EVAL_METHOD__ 0
1348// MIPS64BE:#define __FLT_HAS_DENORM__ 1
1349// MIPS64BE:#define __FLT_HAS_INFINITY__ 1
1350// MIPS64BE:#define __FLT_HAS_QUIET_NAN__ 1
1351// MIPS64BE:#define __FLT_MANT_DIG__ 24
1352// MIPS64BE:#define __FLT_MAX_10_EXP__ 38
1353// MIPS64BE:#define __FLT_MAX_EXP__ 128
1354// MIPS64BE:#define __FLT_MAX__ 3.40282347e+38F
1355// MIPS64BE:#define __FLT_MIN_10_EXP__ (-37)
1356// MIPS64BE:#define __FLT_MIN_EXP__ (-125)
1357// MIPS64BE:#define __FLT_MIN__ 1.17549435e-38F
1358// MIPS64BE:#define __FLT_RADIX__ 2
1359// MIPS64BE:#define __INT16_TYPE__ short
1360// MIPS64BE:#define __INT32_TYPE__ int
1361// MIPS64BE:#define __INT64_C_SUFFIX__ LL
1362// MIPS64BE:#define __INT64_TYPE__ long long int
1363// MIPS64BE:#define __INT8_TYPE__ char
1364// MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807LL
1365// MIPS64BE:#define __INTMAX_TYPE__ long long int
1366// MIPS64BE:#define __INTMAX_WIDTH__ 64
1367// MIPS64BE:#define __INTPTR_TYPE__ long int
1368// MIPS64BE:#define __INTPTR_WIDTH__ 64
1369// MIPS64BE:#define __INT_MAX__ 2147483647
1370// MIPS64BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1371// MIPS64BE:#define __LDBL_DIG__ 33
1372// MIPS64BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1373// MIPS64BE:#define __LDBL_HAS_DENORM__ 1
1374// MIPS64BE:#define __LDBL_HAS_INFINITY__ 1
1375// MIPS64BE:#define __LDBL_HAS_QUIET_NAN__ 1
1376// MIPS64BE:#define __LDBL_MANT_DIG__ 113
1377// MIPS64BE:#define __LDBL_MAX_10_EXP__ 4932
1378// MIPS64BE:#define __LDBL_MAX_EXP__ 16384
1379// MIPS64BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1380// MIPS64BE:#define __LDBL_MIN_10_EXP__ (-4931)
1381// MIPS64BE:#define __LDBL_MIN_EXP__ (-16381)
1382// MIPS64BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1383// MIPS64BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1384// MIPS64BE:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001385// MIPS64BE:#define __LP64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001386// MIPS64BE:#define __MIPSEB 1
1387// MIPS64BE:#define __MIPSEB__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001388// MIPS64BE:#define __POINTER_WIDTH__ 64
1389// MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1
1390// MIPS64BE:#define __PTRDIFF_TYPE__ long int
1391// MIPS64BE:#define __PTRDIFF_WIDTH__ 64
1392// MIPS64BE:#define __REGISTER_PREFIX__
1393// MIPS64BE:#define __SCHAR_MAX__ 127
1394// MIPS64BE:#define __SHRT_MAX__ 32767
1395// MIPS64BE:#define __SIG_ATOMIC_WIDTH__ 32
1396// MIPS64BE:#define __SIZEOF_DOUBLE__ 8
1397// MIPS64BE:#define __SIZEOF_FLOAT__ 4
1398// MIPS64BE:#define __SIZEOF_INT__ 4
1399// MIPS64BE:#define __SIZEOF_LONG_DOUBLE__ 16
1400// MIPS64BE:#define __SIZEOF_LONG_LONG__ 8
1401// MIPS64BE:#define __SIZEOF_LONG__ 8
1402// MIPS64BE:#define __SIZEOF_POINTER__ 8
1403// MIPS64BE:#define __SIZEOF_PTRDIFF_T__ 8
1404// MIPS64BE:#define __SIZEOF_SHORT__ 2
1405// MIPS64BE:#define __SIZEOF_SIZE_T__ 8
1406// MIPS64BE:#define __SIZEOF_WCHAR_T__ 4
1407// MIPS64BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001408// MIPS64BE:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001409// MIPS64BE:#define __SIZE_TYPE__ long unsigned int
1410// MIPS64BE:#define __SIZE_WIDTH__ 64
1411// MIPS64BE:#define __UINTMAX_TYPE__ long long unsigned int
1412// MIPS64BE:#define __USER_LABEL_PREFIX__ _
1413// MIPS64BE:#define __WCHAR_MAX__ 2147483647
1414// MIPS64BE:#define __WCHAR_TYPE__ int
1415// MIPS64BE:#define __WCHAR_WIDTH__ 32
1416// MIPS64BE:#define __WINT_TYPE__ int
1417// MIPS64BE:#define __WINT_WIDTH__ 32
1418// MIPS64BE:#define __clang__ 1
1419// MIPS64BE:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001420// MIPS64BE:#define __mips 64
Simon Atanasyanc6a0be02012-08-29 20:50:11 +00001421// MIPS64BE:#define __mips64 1
1422// MIPS64BE:#define __mips64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001423// MIPS64BE:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001424// MIPS64BE:#define __mips_fpr 64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001425// MIPS64BE:#define __mips_hard_float 1
1426// MIPS64BE:#define __mips_n64 1
1427// MIPS64BE:#define _mips 1
1428// MIPS64BE:#define mips 1
1429//
1430// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -check-prefix MIPS64EL %s
1431//
1432// MIPS64EL:#define MIPSEL 1
1433// MIPS64EL:#define _ABI64 3
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001434// MIPS64EL:#define _LP64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001435// MIPS64EL:#define _MIPSEL 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001436// MIPS64EL:#define _MIPS_ARCH "mips64r2"
1437// MIPS64EL:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001438// MIPS64EL:#define _MIPS_FPSET 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001439// MIPS64EL:#define _MIPS_SIM _ABI64
1440// MIPS64EL:#define _MIPS_SZINT 32
1441// MIPS64EL:#define _MIPS_SZLONG 64
1442// MIPS64EL:#define _MIPS_SZPTR 64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001443// MIPS64EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001444// MIPS64EL:#define __CHAR16_TYPE__ unsigned short
1445// MIPS64EL:#define __CHAR32_TYPE__ unsigned int
1446// MIPS64EL:#define __CHAR_BIT__ 8
1447// MIPS64EL:#define __CONSTANT_CFSTRINGS__ 1
1448// MIPS64EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1449// MIPS64EL:#define __DBL_DIG__ 15
1450// MIPS64EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1451// MIPS64EL:#define __DBL_HAS_DENORM__ 1
1452// MIPS64EL:#define __DBL_HAS_INFINITY__ 1
1453// MIPS64EL:#define __DBL_HAS_QUIET_NAN__ 1
1454// MIPS64EL:#define __DBL_MANT_DIG__ 53
1455// MIPS64EL:#define __DBL_MAX_10_EXP__ 308
1456// MIPS64EL:#define __DBL_MAX_EXP__ 1024
1457// MIPS64EL:#define __DBL_MAX__ 1.7976931348623157e+308
1458// MIPS64EL:#define __DBL_MIN_10_EXP__ (-307)
1459// MIPS64EL:#define __DBL_MIN_EXP__ (-1021)
1460// MIPS64EL:#define __DBL_MIN__ 2.2250738585072014e-308
1461// MIPS64EL:#define __DECIMAL_DIG__ 36
1462// MIPS64EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1463// MIPS64EL:#define __FLT_DIG__ 6
1464// MIPS64EL:#define __FLT_EPSILON__ 1.19209290e-7F
1465// MIPS64EL:#define __FLT_EVAL_METHOD__ 0
1466// MIPS64EL:#define __FLT_HAS_DENORM__ 1
1467// MIPS64EL:#define __FLT_HAS_INFINITY__ 1
1468// MIPS64EL:#define __FLT_HAS_QUIET_NAN__ 1
1469// MIPS64EL:#define __FLT_MANT_DIG__ 24
1470// MIPS64EL:#define __FLT_MAX_10_EXP__ 38
1471// MIPS64EL:#define __FLT_MAX_EXP__ 128
1472// MIPS64EL:#define __FLT_MAX__ 3.40282347e+38F
1473// MIPS64EL:#define __FLT_MIN_10_EXP__ (-37)
1474// MIPS64EL:#define __FLT_MIN_EXP__ (-125)
1475// MIPS64EL:#define __FLT_MIN__ 1.17549435e-38F
1476// MIPS64EL:#define __FLT_RADIX__ 2
1477// MIPS64EL:#define __INT16_TYPE__ short
1478// MIPS64EL:#define __INT32_TYPE__ int
1479// MIPS64EL:#define __INT64_C_SUFFIX__ LL
1480// MIPS64EL:#define __INT64_TYPE__ long long int
1481// MIPS64EL:#define __INT8_TYPE__ char
1482// MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807LL
1483// MIPS64EL:#define __INTMAX_TYPE__ long long int
1484// MIPS64EL:#define __INTMAX_WIDTH__ 64
1485// MIPS64EL:#define __INTPTR_TYPE__ long int
1486// MIPS64EL:#define __INTPTR_WIDTH__ 64
1487// MIPS64EL:#define __INT_MAX__ 2147483647
1488// MIPS64EL:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1489// MIPS64EL:#define __LDBL_DIG__ 33
1490// MIPS64EL:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1491// MIPS64EL:#define __LDBL_HAS_DENORM__ 1
1492// MIPS64EL:#define __LDBL_HAS_INFINITY__ 1
1493// MIPS64EL:#define __LDBL_HAS_QUIET_NAN__ 1
1494// MIPS64EL:#define __LDBL_MANT_DIG__ 113
1495// MIPS64EL:#define __LDBL_MAX_10_EXP__ 4932
1496// MIPS64EL:#define __LDBL_MAX_EXP__ 16384
1497// MIPS64EL:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1498// MIPS64EL:#define __LDBL_MIN_10_EXP__ (-4931)
1499// MIPS64EL:#define __LDBL_MIN_EXP__ (-16381)
1500// MIPS64EL:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
Robert Lytton2c942c62014-03-10 12:06:29 +00001501// MIPS64EL:#define __LITTLE_ENDIAN__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001502// MIPS64EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1503// MIPS64EL:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001504// MIPS64EL:#define __LP64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001505// MIPS64EL:#define __MIPSEL 1
1506// MIPS64EL:#define __MIPSEL__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001507// MIPS64EL:#define __POINTER_WIDTH__ 64
1508// MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1509// MIPS64EL:#define __PTRDIFF_TYPE__ long int
1510// MIPS64EL:#define __PTRDIFF_WIDTH__ 64
1511// MIPS64EL:#define __REGISTER_PREFIX__
1512// MIPS64EL:#define __SCHAR_MAX__ 127
1513// MIPS64EL:#define __SHRT_MAX__ 32767
1514// MIPS64EL:#define __SIG_ATOMIC_WIDTH__ 32
1515// MIPS64EL:#define __SIZEOF_DOUBLE__ 8
1516// MIPS64EL:#define __SIZEOF_FLOAT__ 4
1517// MIPS64EL:#define __SIZEOF_INT__ 4
1518// MIPS64EL:#define __SIZEOF_LONG_DOUBLE__ 16
1519// MIPS64EL:#define __SIZEOF_LONG_LONG__ 8
1520// MIPS64EL:#define __SIZEOF_LONG__ 8
1521// MIPS64EL:#define __SIZEOF_POINTER__ 8
1522// MIPS64EL:#define __SIZEOF_PTRDIFF_T__ 8
1523// MIPS64EL:#define __SIZEOF_SHORT__ 2
1524// MIPS64EL:#define __SIZEOF_SIZE_T__ 8
1525// MIPS64EL:#define __SIZEOF_WCHAR_T__ 4
1526// MIPS64EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001527// MIPS64EL:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001528// MIPS64EL:#define __SIZE_TYPE__ long unsigned int
1529// MIPS64EL:#define __SIZE_WIDTH__ 64
1530// MIPS64EL:#define __UINTMAX_TYPE__ long long unsigned int
1531// MIPS64EL:#define __USER_LABEL_PREFIX__ _
1532// MIPS64EL:#define __WCHAR_MAX__ 2147483647
1533// MIPS64EL:#define __WCHAR_TYPE__ int
1534// MIPS64EL:#define __WCHAR_WIDTH__ 32
1535// MIPS64EL:#define __WINT_TYPE__ int
1536// MIPS64EL:#define __WINT_WIDTH__ 32
1537// MIPS64EL:#define __clang__ 1
1538// MIPS64EL:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001539// MIPS64EL:#define __mips 64
Simon Atanasyanc6a0be02012-08-29 20:50:11 +00001540// MIPS64EL:#define __mips64 1
1541// MIPS64EL:#define __mips64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001542// MIPS64EL:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001543// MIPS64EL:#define __mips_fpr 64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001544// MIPS64EL:#define __mips_hard_float 1
1545// MIPS64EL:#define __mips_n64 1
1546// MIPS64EL:#define _mips 1
1547// MIPS64EL:#define mips 1
1548//
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001549// Check MIPS arch macros
1550//
1551// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
1552// RUN: < /dev/null \
1553// RUN: | FileCheck -check-prefix MIPS-ARCH-DEF32 %s
1554//
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001555// MIPS-ARCH-DEF32:#define _MIPS_ARCH "mips32r2"
1556// MIPS-ARCH-DEF32:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001557//
1558// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-nones \
1559// RUN: -target-cpu mips32 < /dev/null \
1560// RUN: | FileCheck -check-prefix MIPS-ARCH-32 %s
1561//
1562// MIPS-ARCH-32:#define _MIPS_ARCH "mips32"
1563// MIPS-ARCH-32:#define _MIPS_ARCH_MIPS32 1
1564//
1565// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
1566// RUN: -target-cpu mips32r2 < /dev/null \
1567// RUN: | FileCheck -check-prefix MIPS-ARCH-32R2 %s
1568//
1569// MIPS-ARCH-32R2:#define _MIPS_ARCH "mips32r2"
1570// MIPS-ARCH-32R2:#define _MIPS_ARCH_MIPS32R2 1
1571//
1572// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1573// RUN: < /dev/null \
1574// RUN: | FileCheck -check-prefix MIPS-ARCH-DEF64 %s
1575//
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001576// MIPS-ARCH-DEF64:#define _MIPS_ARCH "mips64r2"
1577// MIPS-ARCH-DEF64:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001578//
1579// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1580// RUN: -target-cpu mips64 < /dev/null \
1581// RUN: | FileCheck -check-prefix MIPS-ARCH-64 %s
1582//
1583// MIPS-ARCH-64:#define _MIPS_ARCH "mips64"
1584// MIPS-ARCH-64:#define _MIPS_ARCH_MIPS64 1
1585//
1586// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1587// RUN: -target-cpu mips64r2 < /dev/null \
1588// RUN: | FileCheck -check-prefix MIPS-ARCH-64R2 %s
1589//
1590// MIPS-ARCH-64R2:#define _MIPS_ARCH "mips64r2"
1591// MIPS-ARCH-64R2:#define _MIPS_ARCH_MIPS64R2 1
1592//
Simon Atanasyan5e21c802012-04-06 17:51:49 +00001593// Check MIPS float ABI macros
1594//
1595// RUN: %clang_cc1 -E -dM -ffreestanding \
1596// RUN: -triple=mips-none-none < /dev/null \
1597// RUN: | FileCheck -check-prefix MIPS-FABI-HARD %s
1598// MIPS-FABI-HARD:#define __mips_hard_float 1
1599//
1600// RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \
1601// RUN: -triple=mips-none-none < /dev/null \
1602// RUN: | FileCheck -check-prefix MIPS-FABI-SOFT %s
1603// MIPS-FABI-SOFT:#define __mips_soft_float 1
1604//
1605// RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \
1606// RUN: -triple=mips-none-none < /dev/null \
1607// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE %s
Simon Atanasyand3d173d2012-06-05 13:06:56 +00001608// MIPS-FABI-SINGLE:#define __mips_hard_float 1
Simon Atanasyan5e21c802012-04-06 17:51:49 +00001609// MIPS-FABI-SINGLE:#define __mips_single_float 1
1610//
Simon Atanasyan16071912013-04-14 14:07:30 +00001611// RUN: %clang_cc1 -target-feature +soft-float -target-feature +single-float \
1612// RUN: -E -dM -ffreestanding -triple=mips-none-none < /dev/null \
1613// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE-SOFT %s
1614// MIPS-FABI-SINGLE-SOFT:#define __mips_single_float 1
1615// MIPS-FABI-SINGLE-SOFT:#define __mips_soft_float 1
1616//
Simon Atanasyan72244b62012-07-05 16:06:06 +00001617// Check MIPS features macros
1618//
1619// RUN: %clang_cc1 -target-feature +mips16 \
1620// RUN: -E -dM -triple=mips-none-none < /dev/null \
1621// RUN: | FileCheck -check-prefix MIPS16 %s
1622// MIPS16:#define __mips16 1
1623//
1624// RUN: %clang_cc1 -target-feature -mips16 \
1625// RUN: -E -dM -triple=mips-none-none < /dev/null \
1626// RUN: | FileCheck -check-prefix NOMIPS16 %s
1627// NOMIPS16-NOT:#define __mips16 1
1628//
Simon Atanasyan60777612013-04-14 14:07:51 +00001629// RUN: %clang_cc1 -target-feature +micromips \
1630// RUN: -E -dM -triple=mips-none-none < /dev/null \
1631// RUN: | FileCheck -check-prefix MICROMIPS %s
1632// MICROMIPS:#define __mips_micromips 1
1633//
1634// RUN: %clang_cc1 -target-feature -micromips \
1635// RUN: -E -dM -triple=mips-none-none < /dev/null \
1636// RUN: | FileCheck -check-prefix NOMICROMIPS %s
1637// NOMICROMIPS-NOT:#define __mips_micromips 1
1638//
Simon Atanasyan9780e4a2012-07-05 20:16:22 +00001639// RUN: %clang_cc1 -target-feature +dsp \
1640// RUN: -E -dM -triple=mips-none-none < /dev/null \
1641// RUN: | FileCheck -check-prefix MIPS-DSP %s
1642// MIPS-DSP:#define __mips_dsp 1
1643// MIPS-DSP:#define __mips_dsp_rev 1
1644// MIPS-DSP-NOT:#define __mips_dspr2 1
1645//
1646// RUN: %clang_cc1 -target-feature +dspr2 \
1647// RUN: -E -dM -triple=mips-none-none < /dev/null \
1648// RUN: | FileCheck -check-prefix MIPS-DSPR2 %s
1649// MIPS-DSPR2:#define __mips_dsp 1
1650// MIPS-DSPR2:#define __mips_dsp_rev 2
1651// MIPS-DSPR2:#define __mips_dspr2 1
1652//
Jack Carter44ff1e52013-08-12 17:20:29 +00001653// RUN: %clang_cc1 -target-feature +msa \
1654// RUN: -E -dM -triple=mips-none-none < /dev/null \
1655// RUN: | FileCheck -check-prefix MIPS-MSA %s
1656// MIPS-MSA:#define __mips_msa 1
1657//
Simon Atanasyan22127ce2013-09-24 09:09:16 +00001658// RUN: %clang_cc1 -target-feature +nan2008 \
1659// RUN: -E -dM -triple=mips-none-none < /dev/null \
1660// RUN: | FileCheck -check-prefix MIPS-NAN2008 %s
1661// MIPS-NAN2008:#define __mips_nan2008 1
1662//
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001663// RUN: %clang_cc1 -target-feature -fp64 \
1664// RUN: -E -dM -triple=mips-none-none < /dev/null \
1665// RUN: | FileCheck -check-prefix MIPS32-MFP32 %s
1666// MIPS32-MFP32:#define _MIPS_FPSET 16
1667// MIPS32-MFP32:#define __mips_fpr 32
1668//
1669// RUN: %clang_cc1 -target-feature +fp64 \
1670// RUN: -E -dM -triple=mips-none-none < /dev/null \
1671// RUN: | FileCheck -check-prefix MIPS32-MFP64 %s
1672// MIPS32-MFP64:#define _MIPS_FPSET 32
1673// MIPS32-MFP64:#define __mips_fpr 64
1674//
1675// RUN: %clang_cc1 -target-feature +single-float \
1676// RUN: -E -dM -triple=mips-none-none < /dev/null \
1677// RUN: | FileCheck -check-prefix MIPS32-MFP32SF %s
1678// MIPS32-MFP32SF:#define _MIPS_FPSET 32
1679// MIPS32-MFP32SF:#define __mips_fpr 32
1680//
1681// RUN: %clang_cc1 -target-feature +fp64 \
1682// RUN: -E -dM -triple=mips64-none-none < /dev/null \
1683// RUN: | FileCheck -check-prefix MIPS64-MFP64 %s
1684// MIPS64-MFP64:#define _MIPS_FPSET 32
1685// MIPS64-MFP64:#define __mips_fpr 64
1686//
1687// RUN: %clang_cc1 -target-feature -fp64 -target-feature +single-float \
1688// RUN: -E -dM -triple=mips64-none-none < /dev/null \
1689// RUN: | FileCheck -check-prefix MIPS64-NOMFP64 %s
1690// MIPS64-NOMFP64:#define _MIPS_FPSET 32
1691// MIPS64-NOMFP64:#define __mips_fpr 32
1692//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00001693// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
Chris Lattnere963d092009-10-29 04:55:36 +00001694//
1695// MSP430:#define MSP430 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001696// MSP430-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001697// MSP430:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00001698// MSP430:#define __CHAR16_TYPE__ unsigned short
1699// MSP430:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001700// MSP430:#define __CHAR_BIT__ 8
1701// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1702// MSP430:#define __DBL_DIG__ 15
1703// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
1704// MSP430:#define __DBL_HAS_DENORM__ 1
1705// MSP430:#define __DBL_HAS_INFINITY__ 1
1706// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
1707// MSP430:#define __DBL_MANT_DIG__ 53
1708// MSP430:#define __DBL_MAX_10_EXP__ 308
1709// MSP430:#define __DBL_MAX_EXP__ 1024
1710// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
1711// MSP430:#define __DBL_MIN_10_EXP__ (-307)
1712// MSP430:#define __DBL_MIN_EXP__ (-1021)
1713// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
1714// MSP430:#define __DECIMAL_DIG__ 17
1715// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1716// MSP430:#define __FLT_DIG__ 6
1717// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
1718// MSP430:#define __FLT_EVAL_METHOD__ 0
1719// MSP430:#define __FLT_HAS_DENORM__ 1
1720// MSP430:#define __FLT_HAS_INFINITY__ 1
1721// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
1722// MSP430:#define __FLT_MANT_DIG__ 24
1723// MSP430:#define __FLT_MAX_10_EXP__ 38
1724// MSP430:#define __FLT_MAX_EXP__ 128
1725// MSP430:#define __FLT_MAX__ 3.40282347e+38F
1726// MSP430:#define __FLT_MIN_10_EXP__ (-37)
1727// MSP430:#define __FLT_MIN_EXP__ (-125)
1728// MSP430:#define __FLT_MIN__ 1.17549435e-38F
1729// MSP430:#define __FLT_RADIX__ 2
1730// MSP430:#define __INT16_TYPE__ short
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00001731// MSP430:#define __INT32_C_SUFFIX__ L
Chris Lattner55c98772009-11-12 08:08:27 +00001732// MSP430:#define __INT32_TYPE__ long int
Chris Lattnere963d092009-10-29 04:55:36 +00001733// MSP430:#define __INT8_TYPE__ char
Anton Korobeynikovef412902013-07-01 19:42:40 +00001734// MSP430:#define __INTMAX_MAX__ 9223372036854775807LL
1735// MSP430:#define __INTMAX_TYPE__ long long int
1736// MSP430:#define __INTMAX_WIDTH__ 64
1737// MSP430:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00001738// MSP430:#define __INTPTR_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001739// MSP430:#define __INT_MAX__ 32767
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001740// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00001741// MSP430:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001742// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +00001743// MSP430:#define __LDBL_HAS_DENORM__ 1
1744// MSP430:#define __LDBL_HAS_INFINITY__ 1
1745// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
1746// MSP430:#define __LDBL_MANT_DIG__ 53
1747// MSP430:#define __LDBL_MAX_10_EXP__ 308
1748// MSP430:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001749// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +00001750// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
1751// MSP430:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001752// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308L
Robert Lytton2c942c62014-03-10 12:06:29 +00001753// MSP430:#define __LITTLE_ENDIAN__ 1
Anton Korobeynikov485810e2010-01-14 21:36:52 +00001754// MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
Chris Lattnere963d092009-10-29 04:55:36 +00001755// MSP430:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001756// MSP430-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00001757// MSP430:#define __MSP430__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00001758// MSP430:#define __POINTER_WIDTH__ 16
Ken Dyck9b25f782009-11-19 13:18:59 +00001759// MSP430:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00001760// MSP430:#define __PTRDIFF_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001761// MSP430:#define __SCHAR_MAX__ 127
1762// MSP430:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00001763// MSP430:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00001764// MSP430:#define __SIZEOF_DOUBLE__ 8
1765// MSP430:#define __SIZEOF_FLOAT__ 4
1766// MSP430:#define __SIZEOF_INT__ 2
1767// MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
1768// MSP430:#define __SIZEOF_LONG_LONG__ 8
1769// MSP430:#define __SIZEOF_LONG__ 4
1770// MSP430:#define __SIZEOF_POINTER__ 2
1771// MSP430:#define __SIZEOF_PTRDIFF_T__ 2
1772// MSP430:#define __SIZEOF_SHORT__ 2
1773// MSP430:#define __SIZEOF_SIZE_T__ 2
1774// MSP430:#define __SIZEOF_WCHAR_T__ 2
1775// MSP430:#define __SIZEOF_WINT_T__ 2
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001776// MSP430:#define __SIZE_MAX__ 65535U
Chris Lattnere963d092009-10-29 04:55:36 +00001777// MSP430:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00001778// MSP430:#define __SIZE_WIDTH__ 16
Anton Korobeynikovef412902013-07-01 19:42:40 +00001779// MSP430:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001780// MSP430:#define __USER_LABEL_PREFIX__ _
Chris Lattner0fb5bbd2009-11-12 08:04:33 +00001781// MSP430:#define __WCHAR_MAX__ 32767
Chris Lattnere963d092009-10-29 04:55:36 +00001782// MSP430:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00001783// MSP430:#define __WCHAR_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001784// MSP430:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00001785// MSP430:#define __WINT_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001786// MSP430:#define __clang__ 1
1787//
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001788// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s
1789//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001790// NVPTX32-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001791// NVPTX32:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001792// NVPTX32:#define __CHAR16_TYPE__ unsigned short
1793// NVPTX32:#define __CHAR32_TYPE__ unsigned int
1794// NVPTX32:#define __CHAR_BIT__ 8
1795// NVPTX32:#define __CONSTANT_CFSTRINGS__ 1
1796// NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1797// NVPTX32:#define __DBL_DIG__ 15
1798// NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16
1799// NVPTX32:#define __DBL_HAS_DENORM__ 1
1800// NVPTX32:#define __DBL_HAS_INFINITY__ 1
1801// NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1
1802// NVPTX32:#define __DBL_MANT_DIG__ 53
1803// NVPTX32:#define __DBL_MAX_10_EXP__ 308
1804// NVPTX32:#define __DBL_MAX_EXP__ 1024
1805// NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308
1806// NVPTX32:#define __DBL_MIN_10_EXP__ (-307)
1807// NVPTX32:#define __DBL_MIN_EXP__ (-1021)
1808// NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308
1809// NVPTX32:#define __DECIMAL_DIG__ 17
1810// NVPTX32:#define __FINITE_MATH_ONLY__ 0
1811// NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1812// NVPTX32:#define __FLT_DIG__ 6
1813// NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F
1814// NVPTX32:#define __FLT_EVAL_METHOD__ 0
1815// NVPTX32:#define __FLT_HAS_DENORM__ 1
1816// NVPTX32:#define __FLT_HAS_INFINITY__ 1
1817// NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1
1818// NVPTX32:#define __FLT_MANT_DIG__ 24
1819// NVPTX32:#define __FLT_MAX_10_EXP__ 38
1820// NVPTX32:#define __FLT_MAX_EXP__ 128
1821// NVPTX32:#define __FLT_MAX__ 3.40282347e+38F
1822// NVPTX32:#define __FLT_MIN_10_EXP__ (-37)
1823// NVPTX32:#define __FLT_MIN_EXP__ (-125)
1824// NVPTX32:#define __FLT_MIN__ 1.17549435e-38F
1825// NVPTX32:#define __FLT_RADIX__ 2
1826// NVPTX32:#define __INT16_TYPE__ short
1827// NVPTX32:#define __INT32_TYPE__ int
1828// NVPTX32:#define __INT64_C_SUFFIX__ LL
1829// NVPTX32:#define __INT64_TYPE__ long long int
1830// NVPTX32:#define __INT8_TYPE__ char
1831// NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL
1832// NVPTX32:#define __INTMAX_TYPE__ long long int
1833// NVPTX32:#define __INTMAX_WIDTH__ 64
1834// NVPTX32:#define __INTPTR_TYPE__ unsigned int
1835// NVPTX32:#define __INTPTR_WIDTH__ 32
1836// NVPTX32:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001837// NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001838// NVPTX32:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001839// NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001840// NVPTX32:#define __LDBL_HAS_DENORM__ 1
1841// NVPTX32:#define __LDBL_HAS_INFINITY__ 1
1842// NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1
1843// NVPTX32:#define __LDBL_MANT_DIG__ 53
1844// NVPTX32:#define __LDBL_MAX_10_EXP__ 308
1845// NVPTX32:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001846// NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001847// NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
1848// NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001849// NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308L
Robert Lytton2c942c62014-03-10 12:06:29 +00001850// NVPTX32:#define __LITTLE_ENDIAN__ 1
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001851// NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL
1852// NVPTX32:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001853// NVPTX32-NOT:#define __LP64__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001854// NVPTX32:#define __NVPTX__ 1
1855// NVPTX32:#define __POINTER_WIDTH__ 32
1856// NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1
1857// NVPTX32:#define __PTRDIFF_TYPE__ unsigned int
1858// NVPTX32:#define __PTRDIFF_WIDTH__ 32
1859// NVPTX32:#define __PTX__ 1
1860// NVPTX32:#define __SCHAR_MAX__ 127
1861// NVPTX32:#define __SHRT_MAX__ 32767
1862// NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32
1863// NVPTX32:#define __SIZEOF_DOUBLE__ 8
1864// NVPTX32:#define __SIZEOF_FLOAT__ 4
1865// NVPTX32:#define __SIZEOF_INT__ 4
1866// NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8
1867// NVPTX32:#define __SIZEOF_LONG_LONG__ 8
1868// NVPTX32:#define __SIZEOF_LONG__ 8
1869// NVPTX32:#define __SIZEOF_POINTER__ 4
1870// NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4
1871// NVPTX32:#define __SIZEOF_SHORT__ 2
1872// NVPTX32:#define __SIZEOF_SIZE_T__ 4
1873// NVPTX32:#define __SIZEOF_WCHAR_T__ 4
1874// NVPTX32:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001875// NVPTX32:#define __SIZE_MAX__ 4294967295U
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001876// NVPTX32:#define __SIZE_TYPE__ unsigned int
1877// NVPTX32:#define __SIZE_WIDTH__ 32
1878// NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int
1879// NVPTX32:#define __USER_LABEL_PREFIX__ _
1880// NVPTX32:#define __WCHAR_MAX__ 2147483647
1881// NVPTX32:#define __WCHAR_TYPE__ int
1882// NVPTX32:#define __WCHAR_WIDTH__ 32
1883// NVPTX32:#define __WINT_TYPE__ int
1884// NVPTX32:#define __WINT_WIDTH__ 32
1885//
1886// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -check-prefix NVPTX64 %s
1887//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001888// NVPTX64:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001889// NVPTX64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001890// NVPTX64:#define __CHAR16_TYPE__ unsigned short
1891// NVPTX64:#define __CHAR32_TYPE__ unsigned int
1892// NVPTX64:#define __CHAR_BIT__ 8
1893// NVPTX64:#define __CONSTANT_CFSTRINGS__ 1
1894// NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1895// NVPTX64:#define __DBL_DIG__ 15
1896// NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1897// NVPTX64:#define __DBL_HAS_DENORM__ 1
1898// NVPTX64:#define __DBL_HAS_INFINITY__ 1
1899// NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1
1900// NVPTX64:#define __DBL_MANT_DIG__ 53
1901// NVPTX64:#define __DBL_MAX_10_EXP__ 308
1902// NVPTX64:#define __DBL_MAX_EXP__ 1024
1903// NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308
1904// NVPTX64:#define __DBL_MIN_10_EXP__ (-307)
1905// NVPTX64:#define __DBL_MIN_EXP__ (-1021)
1906// NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308
1907// NVPTX64:#define __DECIMAL_DIG__ 17
1908// NVPTX64:#define __FINITE_MATH_ONLY__ 0
1909// NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1910// NVPTX64:#define __FLT_DIG__ 6
1911// NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F
1912// NVPTX64:#define __FLT_EVAL_METHOD__ 0
1913// NVPTX64:#define __FLT_HAS_DENORM__ 1
1914// NVPTX64:#define __FLT_HAS_INFINITY__ 1
1915// NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1
1916// NVPTX64:#define __FLT_MANT_DIG__ 24
1917// NVPTX64:#define __FLT_MAX_10_EXP__ 38
1918// NVPTX64:#define __FLT_MAX_EXP__ 128
1919// NVPTX64:#define __FLT_MAX__ 3.40282347e+38F
1920// NVPTX64:#define __FLT_MIN_10_EXP__ (-37)
1921// NVPTX64:#define __FLT_MIN_EXP__ (-125)
1922// NVPTX64:#define __FLT_MIN__ 1.17549435e-38F
1923// NVPTX64:#define __FLT_RADIX__ 2
1924// NVPTX64:#define __INT16_TYPE__ short
1925// NVPTX64:#define __INT32_TYPE__ int
1926// NVPTX64:#define __INT64_C_SUFFIX__ LL
1927// NVPTX64:#define __INT64_TYPE__ long long int
1928// NVPTX64:#define __INT8_TYPE__ char
1929// NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL
1930// NVPTX64:#define __INTMAX_TYPE__ long long int
1931// NVPTX64:#define __INTMAX_WIDTH__ 64
1932// NVPTX64:#define __INTPTR_TYPE__ long long unsigned int
1933// NVPTX64:#define __INTPTR_WIDTH__ 64
1934// NVPTX64:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001935// NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001936// NVPTX64:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001937// NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001938// NVPTX64:#define __LDBL_HAS_DENORM__ 1
1939// NVPTX64:#define __LDBL_HAS_INFINITY__ 1
1940// NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1
1941// NVPTX64:#define __LDBL_MANT_DIG__ 53
1942// NVPTX64:#define __LDBL_MAX_10_EXP__ 308
1943// NVPTX64:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001944// NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001945// NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
1946// NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001947// NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308L
Robert Lytton2c942c62014-03-10 12:06:29 +00001948// NVPTX64:#define __LITTLE_ENDIAN__ 1
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001949// NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1950// NVPTX64:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001951// NVPTX64:#define __LP64__ 1
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001952// NVPTX64:#define __NVPTX__ 1
1953// NVPTX64:#define __POINTER_WIDTH__ 64
1954// NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1
1955// NVPTX64:#define __PTRDIFF_TYPE__ long long unsigned int
1956// NVPTX64:#define __PTRDIFF_WIDTH__ 64
1957// NVPTX64:#define __PTX__ 1
1958// NVPTX64:#define __SCHAR_MAX__ 127
1959// NVPTX64:#define __SHRT_MAX__ 32767
1960// NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32
1961// NVPTX64:#define __SIZEOF_DOUBLE__ 8
1962// NVPTX64:#define __SIZEOF_FLOAT__ 4
1963// NVPTX64:#define __SIZEOF_INT__ 4
1964// NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8
1965// NVPTX64:#define __SIZEOF_LONG_LONG__ 8
1966// NVPTX64:#define __SIZEOF_LONG__ 8
1967// NVPTX64:#define __SIZEOF_POINTER__ 8
1968// NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8
1969// NVPTX64:#define __SIZEOF_SHORT__ 2
1970// NVPTX64:#define __SIZEOF_SIZE_T__ 8
1971// NVPTX64:#define __SIZEOF_WCHAR_T__ 4
1972// NVPTX64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001973// NVPTX64:#define __SIZE_MAX__ 18446744073709551615UL
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001974// NVPTX64:#define __SIZE_TYPE__ long long unsigned int
1975// NVPTX64:#define __SIZE_WIDTH__ 64
1976// NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int
1977// NVPTX64:#define __USER_LABEL_PREFIX__ _
1978// NVPTX64:#define __WCHAR_MAX__ 2147483647
1979// NVPTX64:#define __WCHAR_TYPE__ int
1980// NVPTX64:#define __WCHAR_WIDTH__ 32
1981// NVPTX64:#define __WINT_TYPE__ int
1982// NVPTX64:#define __WINT_WIDTH__ 32
1983//
Hal Finkel6b984f02012-07-03 16:51:04 +00001984// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -check-prefix PPC603E %s
1985//
1986// PPC603E:#define _ARCH_603 1
1987// PPC603E:#define _ARCH_603E 1
1988// PPC603E:#define _ARCH_PPC 1
1989// PPC603E:#define _ARCH_PPCGR 1
1990// PPC603E:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001991// PPC603E-NOT:#define _LP64
Hal Finkel6b984f02012-07-03 16:51:04 +00001992// PPC603E:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001993// PPC603E:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Hal Finkel6b984f02012-07-03 16:51:04 +00001994// PPC603E:#define __CHAR16_TYPE__ unsigned short
1995// PPC603E:#define __CHAR32_TYPE__ unsigned int
1996// PPC603E:#define __CHAR_BIT__ 8
1997// PPC603E:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1998// PPC603E:#define __DBL_DIG__ 15
1999// PPC603E:#define __DBL_EPSILON__ 2.2204460492503131e-16
2000// PPC603E:#define __DBL_HAS_DENORM__ 1
2001// PPC603E:#define __DBL_HAS_INFINITY__ 1
2002// PPC603E:#define __DBL_HAS_QUIET_NAN__ 1
2003// PPC603E:#define __DBL_MANT_DIG__ 53
2004// PPC603E:#define __DBL_MAX_10_EXP__ 308
2005// PPC603E:#define __DBL_MAX_EXP__ 1024
2006// PPC603E:#define __DBL_MAX__ 1.7976931348623157e+308
2007// PPC603E:#define __DBL_MIN_10_EXP__ (-307)
2008// PPC603E:#define __DBL_MIN_EXP__ (-1021)
2009// PPC603E:#define __DBL_MIN__ 2.2250738585072014e-308
2010// PPC603E:#define __DECIMAL_DIG__ 33
2011// PPC603E:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2012// PPC603E:#define __FLT_DIG__ 6
2013// PPC603E:#define __FLT_EPSILON__ 1.19209290e-7F
2014// PPC603E:#define __FLT_EVAL_METHOD__ 0
2015// PPC603E:#define __FLT_HAS_DENORM__ 1
2016// PPC603E:#define __FLT_HAS_INFINITY__ 1
2017// PPC603E:#define __FLT_HAS_QUIET_NAN__ 1
2018// PPC603E:#define __FLT_MANT_DIG__ 24
2019// PPC603E:#define __FLT_MAX_10_EXP__ 38
2020// PPC603E:#define __FLT_MAX_EXP__ 128
2021// PPC603E:#define __FLT_MAX__ 3.40282347e+38F
2022// PPC603E:#define __FLT_MIN_10_EXP__ (-37)
2023// PPC603E:#define __FLT_MIN_EXP__ (-125)
2024// PPC603E:#define __FLT_MIN__ 1.17549435e-38F
2025// PPC603E:#define __FLT_RADIX__ 2
2026// PPC603E:#define __INT16_TYPE__ short
2027// PPC603E:#define __INT32_TYPE__ int
2028// PPC603E:#define __INT64_C_SUFFIX__ LL
2029// PPC603E:#define __INT64_TYPE__ long long int
2030// PPC603E:#define __INT8_TYPE__ char
2031// PPC603E:#define __INTMAX_MAX__ 9223372036854775807LL
2032// PPC603E:#define __INTMAX_TYPE__ long long int
2033// PPC603E:#define __INTMAX_WIDTH__ 64
2034// PPC603E:#define __INTPTR_TYPE__ long int
2035// PPC603E:#define __INTPTR_WIDTH__ 32
2036// PPC603E:#define __INT_MAX__ 2147483647
2037// PPC603E:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2038// PPC603E:#define __LDBL_DIG__ 31
2039// PPC603E:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2040// PPC603E:#define __LDBL_HAS_DENORM__ 1
2041// PPC603E:#define __LDBL_HAS_INFINITY__ 1
2042// PPC603E:#define __LDBL_HAS_QUIET_NAN__ 1
2043// PPC603E:#define __LDBL_MANT_DIG__ 106
2044// PPC603E:#define __LDBL_MAX_10_EXP__ 308
2045// PPC603E:#define __LDBL_MAX_EXP__ 1024
2046// PPC603E:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2047// PPC603E:#define __LDBL_MIN_10_EXP__ (-291)
2048// PPC603E:#define __LDBL_MIN_EXP__ (-968)
2049// PPC603E:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2050// PPC603E:#define __LONG_DOUBLE_128__ 1
2051// PPC603E:#define __LONG_LONG_MAX__ 9223372036854775807LL
2052// PPC603E:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002053// PPC603E-NOT:#define __LP64__
Hal Finkel6b984f02012-07-03 16:51:04 +00002054// PPC603E:#define __NATURAL_ALIGNMENT__ 1
Hal Finkel6b984f02012-07-03 16:51:04 +00002055// PPC603E:#define __POINTER_WIDTH__ 32
2056// PPC603E:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002057// PPC603E:#define __PPC__ 1
Hal Finkel6b984f02012-07-03 16:51:04 +00002058// PPC603E:#define __PTRDIFF_TYPE__ long int
2059// PPC603E:#define __PTRDIFF_WIDTH__ 32
2060// PPC603E:#define __REGISTER_PREFIX__
2061// PPC603E:#define __SCHAR_MAX__ 127
2062// PPC603E:#define __SHRT_MAX__ 32767
2063// PPC603E:#define __SIG_ATOMIC_WIDTH__ 32
2064// PPC603E:#define __SIZEOF_DOUBLE__ 8
2065// PPC603E:#define __SIZEOF_FLOAT__ 4
2066// PPC603E:#define __SIZEOF_INT__ 4
2067// PPC603E:#define __SIZEOF_LONG_DOUBLE__ 16
2068// PPC603E:#define __SIZEOF_LONG_LONG__ 8
2069// PPC603E:#define __SIZEOF_LONG__ 4
2070// PPC603E:#define __SIZEOF_POINTER__ 4
2071// PPC603E:#define __SIZEOF_PTRDIFF_T__ 4
2072// PPC603E:#define __SIZEOF_SHORT__ 2
2073// PPC603E:#define __SIZEOF_SIZE_T__ 4
2074// PPC603E:#define __SIZEOF_WCHAR_T__ 4
2075// PPC603E:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002076// PPC603E:#define __SIZE_MAX__ 4294967295U
Hal Finkel6b984f02012-07-03 16:51:04 +00002077// PPC603E:#define __SIZE_TYPE__ long unsigned int
2078// PPC603E:#define __SIZE_WIDTH__ 32
2079// PPC603E:#define __UINTMAX_TYPE__ long long unsigned int
2080// PPC603E:#define __USER_LABEL_PREFIX__ _
2081// PPC603E:#define __WCHAR_MAX__ 2147483647
2082// PPC603E:#define __WCHAR_TYPE__ int
2083// PPC603E:#define __WCHAR_WIDTH__ 32
2084// PPC603E:#define __WINT_TYPE__ int
2085// PPC603E:#define __WINT_WIDTH__ 32
2086// PPC603E:#define __powerpc__ 1
2087// PPC603E:#define __ppc__ 1
2088//
Hal Finkel8eb59282012-06-11 22:35:19 +00002089// 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 +00002090//
2091// PPC64:#define _ARCH_PPC 1
2092// PPC64:#define _ARCH_PPC64 1
Hal Finkel6b984f02012-07-03 16:51:04 +00002093// PPC64:#define _ARCH_PPCGR 1
2094// PPC64:#define _ARCH_PPCSQ 1
2095// PPC64:#define _ARCH_PWR4 1
2096// PPC64:#define _ARCH_PWR5 1
2097// PPC64:#define _ARCH_PWR6 1
Hal Finkel8eb59282012-06-11 22:35:19 +00002098// PPC64:#define _ARCH_PWR7 1
Chris Lattnere963d092009-10-29 04:55:36 +00002099// PPC64:#define _BIG_ENDIAN 1
2100// PPC64:#define _LP64 1
2101// PPC64:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002102// PPC64:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002103// PPC64:#define __CHAR16_TYPE__ unsigned short
2104// PPC64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002105// PPC64:#define __CHAR_BIT__ 8
2106// PPC64:#define __CHAR_UNSIGNED__ 1
2107// PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2108// PPC64:#define __DBL_DIG__ 15
2109// PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
2110// PPC64:#define __DBL_HAS_DENORM__ 1
2111// PPC64:#define __DBL_HAS_INFINITY__ 1
2112// PPC64:#define __DBL_HAS_QUIET_NAN__ 1
2113// PPC64:#define __DBL_MANT_DIG__ 53
2114// PPC64:#define __DBL_MAX_10_EXP__ 308
2115// PPC64:#define __DBL_MAX_EXP__ 1024
2116// PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
2117// PPC64:#define __DBL_MIN_10_EXP__ (-307)
2118// PPC64:#define __DBL_MIN_EXP__ (-1021)
2119// PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber3435ede2012-01-31 02:07:33 +00002120// PPC64:#define __DECIMAL_DIG__ 33
Chris Lattnere963d092009-10-29 04:55:36 +00002121// PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2122// PPC64:#define __FLT_DIG__ 6
2123// PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
2124// PPC64:#define __FLT_EVAL_METHOD__ 0
2125// PPC64:#define __FLT_HAS_DENORM__ 1
2126// PPC64:#define __FLT_HAS_INFINITY__ 1
2127// PPC64:#define __FLT_HAS_QUIET_NAN__ 1
2128// PPC64:#define __FLT_MANT_DIG__ 24
2129// PPC64:#define __FLT_MAX_10_EXP__ 38
2130// PPC64:#define __FLT_MAX_EXP__ 128
2131// PPC64:#define __FLT_MAX__ 3.40282347e+38F
2132// PPC64:#define __FLT_MIN_10_EXP__ (-37)
2133// PPC64:#define __FLT_MIN_EXP__ (-125)
2134// PPC64:#define __FLT_MIN__ 1.17549435e-38F
2135// PPC64:#define __FLT_RADIX__ 2
2136// PPC64:#define __INT16_TYPE__ short
2137// PPC64:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002138// PPC64:#define __INT64_C_SUFFIX__ L
Chris Lattnere963d092009-10-29 04:55:36 +00002139// PPC64:#define __INT64_TYPE__ long int
2140// PPC64:#define __INT8_TYPE__ char
2141// PPC64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck9b25f782009-11-19 13:18:59 +00002142// PPC64:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002143// PPC64:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002144// PPC64:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002145// PPC64:#define __INTPTR_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00002146// PPC64:#define __INT_MAX__ 2147483647
Nico Weber3435ede2012-01-31 02:07:33 +00002147// PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2148// PPC64:#define __LDBL_DIG__ 31
2149// PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002150// PPC64:#define __LDBL_HAS_DENORM__ 1
2151// PPC64:#define __LDBL_HAS_INFINITY__ 1
2152// PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002153// PPC64:#define __LDBL_MANT_DIG__ 106
Chris Lattnere963d092009-10-29 04:55:36 +00002154// PPC64:#define __LDBL_MAX_10_EXP__ 308
2155// PPC64:#define __LDBL_MAX_EXP__ 1024
Nico Weber3435ede2012-01-31 02:07:33 +00002156// PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2157// PPC64:#define __LDBL_MIN_10_EXP__ (-291)
2158// PPC64:#define __LDBL_MIN_EXP__ (-968)
2159// PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnere963d092009-10-29 04:55:36 +00002160// PPC64:#define __LONG_DOUBLE_128__ 1
2161// PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
2162// PPC64:#define __LONG_MAX__ 9223372036854775807L
2163// PPC64:#define __LP64__ 1
2164// PPC64:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002165// PPC64:#define __POINTER_WIDTH__ 64
2166// PPC64:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002167// PPC64:#define __PPC64__ 1
2168// PPC64:#define __PPC__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002169// PPC64:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002170// PPC64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00002171// PPC64:#define __REGISTER_PREFIX__
2172// PPC64:#define __SCHAR_MAX__ 127
2173// PPC64:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002174// PPC64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002175// PPC64:#define __SIZEOF_DOUBLE__ 8
2176// PPC64:#define __SIZEOF_FLOAT__ 4
2177// PPC64:#define __SIZEOF_INT__ 4
Nico Weber3435ede2012-01-31 02:07:33 +00002178// PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohman04f87202010-05-28 00:27:15 +00002179// PPC64:#define __SIZEOF_LONG_LONG__ 8
2180// PPC64:#define __SIZEOF_LONG__ 8
2181// PPC64:#define __SIZEOF_POINTER__ 8
2182// PPC64:#define __SIZEOF_PTRDIFF_T__ 8
2183// PPC64:#define __SIZEOF_SHORT__ 2
2184// PPC64:#define __SIZEOF_SIZE_T__ 8
2185// PPC64:#define __SIZEOF_WCHAR_T__ 4
2186// PPC64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002187// PPC64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnere963d092009-10-29 04:55:36 +00002188// PPC64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002189// PPC64:#define __SIZE_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002190// PPC64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002191// PPC64:#define __USER_LABEL_PREFIX__ _
2192// PPC64:#define __WCHAR_MAX__ 2147483647
2193// PPC64:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002194// PPC64:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002195// PPC64:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002196// PPC64:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002197// PPC64:#define __ppc64__ 1
2198// PPC64:#define __ppc__ 1
2199//
Bill Schmidt778d3872013-07-26 01:36:11 +00002200// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64LE %s
2201//
2202// PPC64LE:#define _ARCH_PPC 1
2203// PPC64LE:#define _ARCH_PPC64 1
2204// PPC64LE:#define _ARCH_PPCGR 1
2205// PPC64LE:#define _ARCH_PPCSQ 1
2206// PPC64LE:#define _ARCH_PWR4 1
2207// PPC64LE:#define _ARCH_PWR5 1
2208// PPC64LE:#define _ARCH_PWR5X 1
2209// PPC64LE:#define _ARCH_PWR6 1
2210// PPC64LE:#define _ARCH_PWR6X 1
2211// PPC64LE:#define _ARCH_PWR7 1
2212// PPC64LE:#define _LITTLE_ENDIAN 1
2213// PPC64LE:#define _LP64 1
2214// PPC64LE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
2215// PPC64LE:#define __CHAR16_TYPE__ unsigned short
2216// PPC64LE:#define __CHAR32_TYPE__ unsigned int
2217// PPC64LE:#define __CHAR_BIT__ 8
2218// PPC64LE:#define __CHAR_UNSIGNED__ 1
2219// PPC64LE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2220// PPC64LE:#define __DBL_DIG__ 15
2221// PPC64LE:#define __DBL_EPSILON__ 2.2204460492503131e-16
2222// PPC64LE:#define __DBL_HAS_DENORM__ 1
2223// PPC64LE:#define __DBL_HAS_INFINITY__ 1
2224// PPC64LE:#define __DBL_HAS_QUIET_NAN__ 1
2225// PPC64LE:#define __DBL_MANT_DIG__ 53
2226// PPC64LE:#define __DBL_MAX_10_EXP__ 308
2227// PPC64LE:#define __DBL_MAX_EXP__ 1024
2228// PPC64LE:#define __DBL_MAX__ 1.7976931348623157e+308
2229// PPC64LE:#define __DBL_MIN_10_EXP__ (-307)
2230// PPC64LE:#define __DBL_MIN_EXP__ (-1021)
2231// PPC64LE:#define __DBL_MIN__ 2.2250738585072014e-308
2232// PPC64LE:#define __DECIMAL_DIG__ 33
2233// PPC64LE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2234// PPC64LE:#define __FLT_DIG__ 6
2235// PPC64LE:#define __FLT_EPSILON__ 1.19209290e-7F
2236// PPC64LE:#define __FLT_EVAL_METHOD__ 0
2237// PPC64LE:#define __FLT_HAS_DENORM__ 1
2238// PPC64LE:#define __FLT_HAS_INFINITY__ 1
2239// PPC64LE:#define __FLT_HAS_QUIET_NAN__ 1
2240// PPC64LE:#define __FLT_MANT_DIG__ 24
2241// PPC64LE:#define __FLT_MAX_10_EXP__ 38
2242// PPC64LE:#define __FLT_MAX_EXP__ 128
2243// PPC64LE:#define __FLT_MAX__ 3.40282347e+38F
2244// PPC64LE:#define __FLT_MIN_10_EXP__ (-37)
2245// PPC64LE:#define __FLT_MIN_EXP__ (-125)
2246// PPC64LE:#define __FLT_MIN__ 1.17549435e-38F
2247// PPC64LE:#define __FLT_RADIX__ 2
2248// PPC64LE:#define __INT16_TYPE__ short
2249// PPC64LE:#define __INT32_TYPE__ int
2250// PPC64LE:#define __INT64_C_SUFFIX__ L
2251// PPC64LE:#define __INT64_TYPE__ long int
2252// PPC64LE:#define __INT8_TYPE__ char
2253// PPC64LE:#define __INTMAX_MAX__ 9223372036854775807L
2254// PPC64LE:#define __INTMAX_TYPE__ long int
2255// PPC64LE:#define __INTMAX_WIDTH__ 64
2256// PPC64LE:#define __INTPTR_TYPE__ long int
2257// PPC64LE:#define __INTPTR_WIDTH__ 64
2258// PPC64LE:#define __INT_MAX__ 2147483647
2259// PPC64LE:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2260// PPC64LE:#define __LDBL_DIG__ 31
2261// PPC64LE:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2262// PPC64LE:#define __LDBL_HAS_DENORM__ 1
2263// PPC64LE:#define __LDBL_HAS_INFINITY__ 1
2264// PPC64LE:#define __LDBL_HAS_QUIET_NAN__ 1
2265// PPC64LE:#define __LDBL_MANT_DIG__ 106
2266// PPC64LE:#define __LDBL_MAX_10_EXP__ 308
2267// PPC64LE:#define __LDBL_MAX_EXP__ 1024
2268// PPC64LE:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2269// PPC64LE:#define __LDBL_MIN_10_EXP__ (-291)
2270// PPC64LE:#define __LDBL_MIN_EXP__ (-968)
2271// PPC64LE:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2272// PPC64LE:#define __LITTLE_ENDIAN__ 1
2273// PPC64LE:#define __LONG_DOUBLE_128__ 1
2274// PPC64LE:#define __LONG_LONG_MAX__ 9223372036854775807LL
2275// PPC64LE:#define __LONG_MAX__ 9223372036854775807L
2276// PPC64LE:#define __LP64__ 1
2277// PPC64LE:#define __NATURAL_ALIGNMENT__ 1
2278// PPC64LE:#define __POINTER_WIDTH__ 64
2279// PPC64LE:#define __POWERPC__ 1
2280// PPC64LE:#define __PPC64__ 1
2281// PPC64LE:#define __PPC__ 1
2282// PPC64LE:#define __PTRDIFF_TYPE__ long int
2283// PPC64LE:#define __PTRDIFF_WIDTH__ 64
2284// PPC64LE:#define __REGISTER_PREFIX__
2285// PPC64LE:#define __SCHAR_MAX__ 127
2286// PPC64LE:#define __SHRT_MAX__ 32767
2287// PPC64LE:#define __SIG_ATOMIC_WIDTH__ 32
2288// PPC64LE:#define __SIZEOF_DOUBLE__ 8
2289// PPC64LE:#define __SIZEOF_FLOAT__ 4
2290// PPC64LE:#define __SIZEOF_INT__ 4
2291// PPC64LE:#define __SIZEOF_LONG_DOUBLE__ 16
2292// PPC64LE:#define __SIZEOF_LONG_LONG__ 8
2293// PPC64LE:#define __SIZEOF_LONG__ 8
2294// PPC64LE:#define __SIZEOF_POINTER__ 8
2295// PPC64LE:#define __SIZEOF_PTRDIFF_T__ 8
2296// PPC64LE:#define __SIZEOF_SHORT__ 2
2297// PPC64LE:#define __SIZEOF_SIZE_T__ 8
2298// PPC64LE:#define __SIZEOF_WCHAR_T__ 4
2299// PPC64LE:#define __SIZEOF_WINT_T__ 4
2300// PPC64LE:#define __SIZE_MAX__ 18446744073709551615UL
2301// PPC64LE:#define __SIZE_TYPE__ long unsigned int
2302// PPC64LE:#define __SIZE_WIDTH__ 64
2303// PPC64LE:#define __UINTMAX_TYPE__ long unsigned int
2304// PPC64LE:#define __USER_LABEL_PREFIX__ _
2305// PPC64LE:#define __WCHAR_MAX__ 2147483647
2306// PPC64LE:#define __WCHAR_TYPE__ int
2307// PPC64LE:#define __WCHAR_WIDTH__ 32
2308// PPC64LE:#define __WINT_TYPE__ int
2309// PPC64LE:#define __WINT_WIDTH__ 32
2310// PPC64LE:#define __ppc64__ 1
2311// PPC64LE:#define __ppc__ 1
2312//
Hal Finkeldf1e4bf2013-02-01 05:53:33 +00002313// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu a2q -fno-signed-char < /dev/null | FileCheck -check-prefix PPCA2Q %s
2314//
2315// PPCA2Q:#define _ARCH_A2 1
2316// PPCA2Q:#define _ARCH_A2Q 1
2317// PPCA2Q:#define _ARCH_PPC 1
2318// PPCA2Q:#define _ARCH_PPC64 1
2319// PPCA2Q:#define _ARCH_QP 1
2320//
2321// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-bgq-linux -fno-signed-char < /dev/null | FileCheck -check-prefix PPCBGQ %s
2322//
2323// PPCBGQ:#define __THW_BLUEGENE__ 1
2324// PPCBGQ:#define __TOS_BGQ__ 1
2325// PPCBGQ:#define __bg__ 1
2326// PPCBGQ:#define __bgq__ 1
2327//
Bill Schmidt38378a02013-02-01 20:23:10 +00002328// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu 630 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC630 %s
2329//
2330// PPC630:#define _ARCH_630 1
2331// PPC630:#define _ARCH_PPC 1
2332// PPC630:#define _ARCH_PPC64 1
2333// PPC630:#define _ARCH_PPCGR 1
2334//
2335// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR3 %s
2336//
2337// PPCPWR3:#define _ARCH_PPC 1
2338// PPCPWR3:#define _ARCH_PPC64 1
2339// PPCPWR3:#define _ARCH_PPCGR 1
2340//
2341// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER3 %s
2342//
2343// PPCPOWER3:#define _ARCH_PPC 1
2344// PPCPOWER3:#define _ARCH_PPC64 1
2345// PPCPOWER3:#define _ARCH_PPCGR 1
2346//
2347// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR4 %s
2348//
2349// PPCPWR4:#define _ARCH_PPC 1
2350// PPCPWR4:#define _ARCH_PPC64 1
2351// PPCPWR4:#define _ARCH_PPCGR 1
2352// PPCPWR4:#define _ARCH_PPCSQ 1
2353// PPCPWR4:#define _ARCH_PWR4 1
2354//
2355// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER4 %s
2356//
2357// PPCPOWER4:#define _ARCH_PPC 1
2358// PPCPOWER4:#define _ARCH_PPC64 1
2359// PPCPOWER4:#define _ARCH_PPCGR 1
2360// PPCPOWER4:#define _ARCH_PPCSQ 1
2361// PPCPOWER4:#define _ARCH_PWR4 1
2362//
2363// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5 %s
2364//
2365// PPCPWR5:#define _ARCH_PPC 1
2366// PPCPWR5:#define _ARCH_PPC64 1
2367// PPCPWR5:#define _ARCH_PPCGR 1
2368// PPCPWR5:#define _ARCH_PPCSQ 1
2369// PPCPWR5:#define _ARCH_PWR4 1
2370// PPCPWR5:#define _ARCH_PWR5 1
2371//
2372// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5 %s
2373//
2374// PPCPOWER5:#define _ARCH_PPC 1
2375// PPCPOWER5:#define _ARCH_PPC64 1
2376// PPCPOWER5:#define _ARCH_PPCGR 1
2377// PPCPOWER5:#define _ARCH_PPCSQ 1
2378// PPCPOWER5:#define _ARCH_PWR4 1
2379// PPCPOWER5:#define _ARCH_PWR5 1
2380//
2381// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5X %s
2382//
2383// PPCPWR5X:#define _ARCH_PPC 1
2384// PPCPWR5X:#define _ARCH_PPC64 1
2385// PPCPWR5X:#define _ARCH_PPCGR 1
2386// PPCPWR5X:#define _ARCH_PPCSQ 1
2387// PPCPWR5X:#define _ARCH_PWR4 1
2388// PPCPWR5X:#define _ARCH_PWR5 1
2389// PPCPWR5X:#define _ARCH_PWR5X 1
2390//
2391// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5X %s
2392//
2393// PPCPOWER5X:#define _ARCH_PPC 1
2394// PPCPOWER5X:#define _ARCH_PPC64 1
2395// PPCPOWER5X:#define _ARCH_PPCGR 1
2396// PPCPOWER5X:#define _ARCH_PPCSQ 1
2397// PPCPOWER5X:#define _ARCH_PWR4 1
2398// PPCPOWER5X:#define _ARCH_PWR5 1
2399// PPCPOWER5X:#define _ARCH_PWR5X 1
2400//
2401// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6 %s
2402//
2403// PPCPWR6:#define _ARCH_PPC 1
2404// PPCPWR6:#define _ARCH_PPC64 1
2405// PPCPWR6:#define _ARCH_PPCGR 1
2406// PPCPWR6:#define _ARCH_PPCSQ 1
2407// PPCPWR6:#define _ARCH_PWR4 1
2408// PPCPWR6:#define _ARCH_PWR5 1
2409// PPCPWR6:#define _ARCH_PWR5X 1
2410// PPCPWR6:#define _ARCH_PWR6 1
2411//
2412// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6 %s
2413//
2414// PPCPOWER6:#define _ARCH_PPC 1
2415// PPCPOWER6:#define _ARCH_PPC64 1
2416// PPCPOWER6:#define _ARCH_PPCGR 1
2417// PPCPOWER6:#define _ARCH_PPCSQ 1
2418// PPCPOWER6:#define _ARCH_PWR4 1
2419// PPCPOWER6:#define _ARCH_PWR5 1
2420// PPCPOWER6:#define _ARCH_PWR5X 1
2421// PPCPOWER6:#define _ARCH_PWR6 1
2422//
2423// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6X %s
2424//
2425// PPCPWR6X:#define _ARCH_PPC 1
2426// PPCPWR6X:#define _ARCH_PPC64 1
2427// PPCPWR6X:#define _ARCH_PPCGR 1
2428// PPCPWR6X:#define _ARCH_PPCSQ 1
2429// PPCPWR6X:#define _ARCH_PWR4 1
2430// PPCPWR6X:#define _ARCH_PWR5 1
2431// PPCPWR6X:#define _ARCH_PWR5X 1
2432// PPCPWR6X:#define _ARCH_PWR6 1
2433// PPCPWR6X:#define _ARCH_PWR6X 1
2434//
2435// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6X %s
2436//
2437// PPCPOWER6X:#define _ARCH_PPC 1
2438// PPCPOWER6X:#define _ARCH_PPC64 1
2439// PPCPOWER6X:#define _ARCH_PPCGR 1
2440// PPCPOWER6X:#define _ARCH_PPCSQ 1
2441// PPCPOWER6X:#define _ARCH_PWR4 1
2442// PPCPOWER6X:#define _ARCH_PWR5 1
2443// PPCPOWER6X:#define _ARCH_PWR5X 1
2444// PPCPOWER6X:#define _ARCH_PWR6 1
2445// PPCPOWER6X:#define _ARCH_PWR6X 1
2446//
2447// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR7 %s
2448//
2449// PPCPWR7:#define _ARCH_PPC 1
2450// PPCPWR7:#define _ARCH_PPC64 1
2451// PPCPWR7:#define _ARCH_PPCGR 1
2452// PPCPWR7:#define _ARCH_PPCSQ 1
2453// PPCPWR7:#define _ARCH_PWR4 1
2454// PPCPWR7:#define _ARCH_PWR5 1
2455// PPCPWR7:#define _ARCH_PWR5X 1
2456// PPCPWR7:#define _ARCH_PWR6 1
2457// PPCPWR7:#define _ARCH_PWR6X 1
2458// PPCPWR7:#define _ARCH_PWR7 1
2459//
2460// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER7 %s
2461//
2462// PPCPOWER7:#define _ARCH_PPC 1
2463// PPCPOWER7:#define _ARCH_PPC64 1
2464// PPCPOWER7:#define _ARCH_PPCGR 1
2465// PPCPOWER7:#define _ARCH_PPCSQ 1
2466// PPCPOWER7:#define _ARCH_PWR4 1
2467// PPCPOWER7:#define _ARCH_PWR5 1
2468// PPCPOWER7:#define _ARCH_PWR5X 1
2469// PPCPOWER7:#define _ARCH_PWR6 1
2470// PPCPOWER7:#define _ARCH_PWR6X 1
2471// PPCPOWER7:#define _ARCH_PWR7 1
2472//
Nico Weber3435ede2012-01-31 02:07:33 +00002473// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
2474//
2475// PPC64-LINUX:#define _ARCH_PPC 1
2476// PPC64-LINUX:#define _ARCH_PPC64 1
2477// PPC64-LINUX:#define _BIG_ENDIAN 1
2478// PPC64-LINUX:#define _LP64 1
2479// PPC64-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002480// PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber3435ede2012-01-31 02:07:33 +00002481// PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
2482// PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
2483// PPC64-LINUX:#define __CHAR_BIT__ 8
2484// PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
2485// PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2486// PPC64-LINUX:#define __DBL_DIG__ 15
2487// PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2488// PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
2489// PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
2490// PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2491// PPC64-LINUX:#define __DBL_MANT_DIG__ 53
2492// PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
2493// PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
2494// PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2495// PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2496// PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2497// PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2498// PPC64-LINUX:#define __DECIMAL_DIG__ 33
2499// PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2500// PPC64-LINUX:#define __FLT_DIG__ 6
2501// PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2502// PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
2503// PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
2504// PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
2505// PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2506// PPC64-LINUX:#define __FLT_MANT_DIG__ 24
2507// PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
2508// PPC64-LINUX:#define __FLT_MAX_EXP__ 128
2509// PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2510// PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2511// PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
2512// PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2513// PPC64-LINUX:#define __FLT_RADIX__ 2
2514// PPC64-LINUX:#define __INT16_TYPE__ short
2515// PPC64-LINUX:#define __INT32_TYPE__ int
2516// PPC64-LINUX:#define __INT64_C_SUFFIX__ L
2517// PPC64-LINUX:#define __INT64_TYPE__ long int
2518// PPC64-LINUX:#define __INT8_TYPE__ char
2519// PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2520// PPC64-LINUX:#define __INTMAX_TYPE__ long int
2521// PPC64-LINUX:#define __INTMAX_WIDTH__ 64
2522// PPC64-LINUX:#define __INTPTR_TYPE__ long int
2523// PPC64-LINUX:#define __INTPTR_WIDTH__ 64
2524// PPC64-LINUX:#define __INT_MAX__ 2147483647
2525// PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2526// PPC64-LINUX:#define __LDBL_DIG__ 31
2527// PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2528// PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
2529// PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2530// PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2531// PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
2532// PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
2533// PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
2534// PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2535// PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2536// PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
2537// PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2538// PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
2539// PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2540// PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2541// PPC64-LINUX:#define __LP64__ 1
2542// PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002543// PPC64-LINUX:#define __POINTER_WIDTH__ 64
2544// PPC64-LINUX:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002545// PPC64-LINUX:#define __PPC64__ 1
2546// PPC64-LINUX:#define __PPC__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002547// PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
2548// PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
2549// PPC64-LINUX:#define __REGISTER_PREFIX__
2550// PPC64-LINUX:#define __SCHAR_MAX__ 127
2551// PPC64-LINUX:#define __SHRT_MAX__ 32767
2552// PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2553// PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
2554// PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
2555// PPC64-LINUX:#define __SIZEOF_INT__ 4
2556// PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2557// PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2558// PPC64-LINUX:#define __SIZEOF_LONG__ 8
2559// PPC64-LINUX:#define __SIZEOF_POINTER__ 8
2560// PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2561// PPC64-LINUX:#define __SIZEOF_SHORT__ 2
2562// PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
2563// PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2564// PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002565// PPC64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Nico Weber3435ede2012-01-31 02:07:33 +00002566// PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
2567// PPC64-LINUX:#define __SIZE_WIDTH__ 64
2568// PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2569// PPC64-LINUX:#define __USER_LABEL_PREFIX__
2570// PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
2571// PPC64-LINUX:#define __WCHAR_TYPE__ int
2572// PPC64-LINUX:#define __WCHAR_WIDTH__ 32
2573// PPC64-LINUX:#define __WINT_TYPE__ unsigned int
2574// PPC64-LINUX:#define __WINT_UNSIGNED__ 1
2575// PPC64-LINUX:#define __WINT_WIDTH__ 32
2576// PPC64-LINUX:#define __powerpc64__ 1
2577// PPC64-LINUX:#define __powerpc__ 1
2578// PPC64-LINUX:#define __ppc64__ 1
2579// PPC64-LINUX:#define __ppc__ 1
2580//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002581// 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 +00002582//
2583// PPC:#define _ARCH_PPC 1
2584// PPC:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002585// PPC-NOT:#define _LP64
Chris Lattnere963d092009-10-29 04:55:36 +00002586// PPC:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002587// PPC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002588// PPC:#define __CHAR16_TYPE__ unsigned short
2589// PPC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002590// PPC:#define __CHAR_BIT__ 8
2591// PPC:#define __CHAR_UNSIGNED__ 1
2592// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2593// PPC:#define __DBL_DIG__ 15
2594// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2595// PPC:#define __DBL_HAS_DENORM__ 1
2596// PPC:#define __DBL_HAS_INFINITY__ 1
2597// PPC:#define __DBL_HAS_QUIET_NAN__ 1
2598// PPC:#define __DBL_MANT_DIG__ 53
2599// PPC:#define __DBL_MAX_10_EXP__ 308
2600// PPC:#define __DBL_MAX_EXP__ 1024
2601// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
2602// PPC:#define __DBL_MIN_10_EXP__ (-307)
2603// PPC:#define __DBL_MIN_EXP__ (-1021)
2604// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber3435ede2012-01-31 02:07:33 +00002605// PPC:#define __DECIMAL_DIG__ 33
Chris Lattnere963d092009-10-29 04:55:36 +00002606// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2607// PPC:#define __FLT_DIG__ 6
2608// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
2609// PPC:#define __FLT_EVAL_METHOD__ 0
2610// PPC:#define __FLT_HAS_DENORM__ 1
2611// PPC:#define __FLT_HAS_INFINITY__ 1
2612// PPC:#define __FLT_HAS_QUIET_NAN__ 1
2613// PPC:#define __FLT_MANT_DIG__ 24
2614// PPC:#define __FLT_MAX_10_EXP__ 38
2615// PPC:#define __FLT_MAX_EXP__ 128
2616// PPC:#define __FLT_MAX__ 3.40282347e+38F
2617// PPC:#define __FLT_MIN_10_EXP__ (-37)
2618// PPC:#define __FLT_MIN_EXP__ (-125)
2619// PPC:#define __FLT_MIN__ 1.17549435e-38F
2620// PPC:#define __FLT_RADIX__ 2
2621// PPC:#define __INT16_TYPE__ short
2622// PPC:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002623// PPC:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00002624// PPC:#define __INT64_TYPE__ long long int
2625// PPC:#define __INT8_TYPE__ char
2626// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00002627// PPC:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002628// PPC:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002629// PPC:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002630// PPC:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002631// PPC:#define __INT_MAX__ 2147483647
Nico Weber3435ede2012-01-31 02:07:33 +00002632// PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2633// PPC:#define __LDBL_DIG__ 31
2634// PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002635// PPC:#define __LDBL_HAS_DENORM__ 1
2636// PPC:#define __LDBL_HAS_INFINITY__ 1
2637// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002638// PPC:#define __LDBL_MANT_DIG__ 106
Chris Lattnere963d092009-10-29 04:55:36 +00002639// PPC:#define __LDBL_MAX_10_EXP__ 308
2640// PPC:#define __LDBL_MAX_EXP__ 1024
Nico Weber3435ede2012-01-31 02:07:33 +00002641// PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2642// PPC:#define __LDBL_MIN_10_EXP__ (-291)
2643// PPC:#define __LDBL_MIN_EXP__ (-968)
2644// PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnere963d092009-10-29 04:55:36 +00002645// PPC:#define __LONG_DOUBLE_128__ 1
2646// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2647// PPC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002648// PPC-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00002649// PPC:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002650// PPC:#define __POINTER_WIDTH__ 32
2651// PPC:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002652// PPC:#define __PPC__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002653// PPC:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002654// PPC:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002655// PPC:#define __REGISTER_PREFIX__
2656// PPC:#define __SCHAR_MAX__ 127
2657// PPC:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002658// PPC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002659// PPC:#define __SIZEOF_DOUBLE__ 8
2660// PPC:#define __SIZEOF_FLOAT__ 4
2661// PPC:#define __SIZEOF_INT__ 4
Nico Weber3435ede2012-01-31 02:07:33 +00002662// PPC:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohman04f87202010-05-28 00:27:15 +00002663// PPC:#define __SIZEOF_LONG_LONG__ 8
2664// PPC:#define __SIZEOF_LONG__ 4
2665// PPC:#define __SIZEOF_POINTER__ 4
2666// PPC:#define __SIZEOF_PTRDIFF_T__ 4
2667// PPC:#define __SIZEOF_SHORT__ 2
2668// PPC:#define __SIZEOF_SIZE_T__ 4
2669// PPC:#define __SIZEOF_WCHAR_T__ 4
2670// PPC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002671// PPC:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00002672// PPC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002673// PPC:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002674// PPC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002675// PPC:#define __USER_LABEL_PREFIX__ _
2676// PPC:#define __WCHAR_MAX__ 2147483647
2677// PPC:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002678// PPC:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002679// PPC:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002680// PPC:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002681// PPC:#define __ppc__ 1
2682//
Nico Weber3435ede2012-01-31 02:07:33 +00002683// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
2684//
2685// PPC-LINUX:#define _ARCH_PPC 1
2686// PPC-LINUX:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002687// PPC-LINUX-NOT:#define _LP64
Nico Weber3435ede2012-01-31 02:07:33 +00002688// PPC-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002689// PPC-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber3435ede2012-01-31 02:07:33 +00002690// PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
2691// PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
2692// PPC-LINUX:#define __CHAR_BIT__ 8
2693// PPC-LINUX:#define __CHAR_UNSIGNED__ 1
2694// PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2695// PPC-LINUX:#define __DBL_DIG__ 15
2696// PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2697// PPC-LINUX:#define __DBL_HAS_DENORM__ 1
2698// PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
2699// PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2700// PPC-LINUX:#define __DBL_MANT_DIG__ 53
2701// PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
2702// PPC-LINUX:#define __DBL_MAX_EXP__ 1024
2703// PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2704// PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2705// PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
2706// PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2707// PPC-LINUX:#define __DECIMAL_DIG__ 33
2708// PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2709// PPC-LINUX:#define __FLT_DIG__ 6
2710// PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2711// PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
2712// PPC-LINUX:#define __FLT_HAS_DENORM__ 1
2713// PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
2714// PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2715// PPC-LINUX:#define __FLT_MANT_DIG__ 24
2716// PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
2717// PPC-LINUX:#define __FLT_MAX_EXP__ 128
2718// PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2719// PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2720// PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
2721// PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2722// PPC-LINUX:#define __FLT_RADIX__ 2
2723// PPC-LINUX:#define __INT16_TYPE__ short
2724// PPC-LINUX:#define __INT32_TYPE__ int
2725// PPC-LINUX:#define __INT64_C_SUFFIX__ LL
2726// PPC-LINUX:#define __INT64_TYPE__ long long int
2727// PPC-LINUX:#define __INT8_TYPE__ char
2728// PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
2729// PPC-LINUX:#define __INTMAX_TYPE__ long long int
2730// PPC-LINUX:#define __INTMAX_WIDTH__ 64
Hal Finkel26908382012-03-02 20:54:36 +00002731// PPC-LINUX:#define __INTPTR_TYPE__ int
Nico Weber3435ede2012-01-31 02:07:33 +00002732// PPC-LINUX:#define __INTPTR_WIDTH__ 32
2733// PPC-LINUX:#define __INT_MAX__ 2147483647
2734// PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2735// PPC-LINUX:#define __LDBL_DIG__ 31
2736// PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2737// PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
2738// PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
2739// PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2740// PPC-LINUX:#define __LDBL_MANT_DIG__ 106
2741// PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
2742// PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
2743// PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2744// PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2745// PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
2746// PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2747// PPC-LINUX:#define __LONG_DOUBLE_128__ 1
2748// PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2749// PPC-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002750// PPC-LINUX-NOT:#define __LP64__
Nico Weber3435ede2012-01-31 02:07:33 +00002751// PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002752// PPC-LINUX:#define __POINTER_WIDTH__ 32
2753// PPC-LINUX:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002754// PPC-LINUX:#define __PPC__ 1
Hal Finkel26908382012-03-02 20:54:36 +00002755// PPC-LINUX:#define __PTRDIFF_TYPE__ int
Nico Weber3435ede2012-01-31 02:07:33 +00002756// PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
2757// PPC-LINUX:#define __REGISTER_PREFIX__
2758// PPC-LINUX:#define __SCHAR_MAX__ 127
2759// PPC-LINUX:#define __SHRT_MAX__ 32767
2760// PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2761// PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
2762// PPC-LINUX:#define __SIZEOF_FLOAT__ 4
2763// PPC-LINUX:#define __SIZEOF_INT__ 4
2764// PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2765// PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
2766// PPC-LINUX:#define __SIZEOF_LONG__ 4
2767// PPC-LINUX:#define __SIZEOF_POINTER__ 4
2768// PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
2769// PPC-LINUX:#define __SIZEOF_SHORT__ 2
2770// PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
2771// PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
2772// PPC-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002773// PPC-LINUX:#define __SIZE_MAX__ 4294967295U
Nico Weber3435ede2012-01-31 02:07:33 +00002774// PPC-LINUX:#define __SIZE_TYPE__ unsigned int
2775// PPC-LINUX:#define __SIZE_WIDTH__ 32
2776// PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
2777// PPC-LINUX:#define __USER_LABEL_PREFIX__
2778// PPC-LINUX:#define __WCHAR_MAX__ 2147483647
2779// PPC-LINUX:#define __WCHAR_TYPE__ int
2780// PPC-LINUX:#define __WCHAR_WIDTH__ 32
2781// PPC-LINUX:#define __WINT_TYPE__ unsigned int
2782// PPC-LINUX:#define __WINT_UNSIGNED__ 1
2783// PPC-LINUX:#define __WINT_WIDTH__ 32
2784// PPC-LINUX:#define __powerpc__ 1
2785// PPC-LINUX:#define __ppc__ 1
2786//
David Fang072d47b2013-05-16 17:51:48 +00002787// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-apple-darwin8 < /dev/null | FileCheck -check-prefix PPC-DARWIN %s
2788//
2789// PPC-DARWIN:#define _ARCH_PPC 1
2790// PPC-DARWIN:#define _BIG_ENDIAN 1
2791// PPC-DARWIN:#define __BIG_ENDIAN__ 1
2792// PPC-DARWIN:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2793// PPC-DARWIN:#define __CHAR16_TYPE__ unsigned short
2794// PPC-DARWIN:#define __CHAR32_TYPE__ unsigned int
2795// PPC-DARWIN:#define __CHAR_BIT__ 8
2796// PPC-DARWIN:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2797// PPC-DARWIN:#define __DBL_DIG__ 15
2798// PPC-DARWIN:#define __DBL_EPSILON__ 2.2204460492503131e-16
2799// PPC-DARWIN:#define __DBL_HAS_DENORM__ 1
2800// PPC-DARWIN:#define __DBL_HAS_INFINITY__ 1
2801// PPC-DARWIN:#define __DBL_HAS_QUIET_NAN__ 1
2802// PPC-DARWIN:#define __DBL_MANT_DIG__ 53
2803// PPC-DARWIN:#define __DBL_MAX_10_EXP__ 308
2804// PPC-DARWIN:#define __DBL_MAX_EXP__ 1024
2805// PPC-DARWIN:#define __DBL_MAX__ 1.7976931348623157e+308
2806// PPC-DARWIN:#define __DBL_MIN_10_EXP__ (-307)
2807// PPC-DARWIN:#define __DBL_MIN_EXP__ (-1021)
2808// PPC-DARWIN:#define __DBL_MIN__ 2.2250738585072014e-308
2809// PPC-DARWIN:#define __DECIMAL_DIG__ 33
2810// PPC-DARWIN:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2811// PPC-DARWIN:#define __FLT_DIG__ 6
2812// PPC-DARWIN:#define __FLT_EPSILON__ 1.19209290e-7F
2813// PPC-DARWIN:#define __FLT_EVAL_METHOD__ 0
2814// PPC-DARWIN:#define __FLT_HAS_DENORM__ 1
2815// PPC-DARWIN:#define __FLT_HAS_INFINITY__ 1
2816// PPC-DARWIN:#define __FLT_HAS_QUIET_NAN__ 1
2817// PPC-DARWIN:#define __FLT_MANT_DIG__ 24
2818// PPC-DARWIN:#define __FLT_MAX_10_EXP__ 38
2819// PPC-DARWIN:#define __FLT_MAX_EXP__ 128
2820// PPC-DARWIN:#define __FLT_MAX__ 3.40282347e+38F
2821// PPC-DARWIN:#define __FLT_MIN_10_EXP__ (-37)
2822// PPC-DARWIN:#define __FLT_MIN_EXP__ (-125)
2823// PPC-DARWIN:#define __FLT_MIN__ 1.17549435e-38F
2824// PPC-DARWIN:#define __FLT_RADIX__ 2
2825// PPC-DARWIN:#define __INT16_TYPE__ short
2826// PPC-DARWIN:#define __INT32_TYPE__ int
2827// PPC-DARWIN:#define __INT64_C_SUFFIX__ LL
2828// PPC-DARWIN:#define __INT64_TYPE__ long long int
2829// PPC-DARWIN:#define __INT8_TYPE__ char
2830// PPC-DARWIN:#define __INTMAX_MAX__ 9223372036854775807LL
2831// PPC-DARWIN:#define __INTMAX_TYPE__ long long int
2832// PPC-DARWIN:#define __INTMAX_WIDTH__ 64
2833// PPC-DARWIN:#define __INTPTR_TYPE__ long int
2834// PPC-DARWIN:#define __INTPTR_WIDTH__ 32
2835// PPC-DARWIN:#define __INT_MAX__ 2147483647
2836// PPC-DARWIN:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2837// PPC-DARWIN:#define __LDBL_DIG__ 31
2838// PPC-DARWIN:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2839// PPC-DARWIN:#define __LDBL_HAS_DENORM__ 1
2840// PPC-DARWIN:#define __LDBL_HAS_INFINITY__ 1
2841// PPC-DARWIN:#define __LDBL_HAS_QUIET_NAN__ 1
2842// PPC-DARWIN:#define __LDBL_MANT_DIG__ 106
2843// PPC-DARWIN:#define __LDBL_MAX_10_EXP__ 308
2844// PPC-DARWIN:#define __LDBL_MAX_EXP__ 1024
2845// PPC-DARWIN:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2846// PPC-DARWIN:#define __LDBL_MIN_10_EXP__ (-291)
2847// PPC-DARWIN:#define __LDBL_MIN_EXP__ (-968)
2848// PPC-DARWIN:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2849// PPC-DARWIN:#define __LONG_DOUBLE_128__ 1
2850// PPC-DARWIN:#define __LONG_LONG_MAX__ 9223372036854775807LL
2851// PPC-DARWIN:#define __LONG_MAX__ 2147483647L
2852// PPC-DARWIN:#define __MACH__ 1
2853// PPC-DARWIN:#define __NATURAL_ALIGNMENT__ 1
2854// PPC-DARWIN:#define __ORDER_BIG_ENDIAN__ 4321
2855// PPC-DARWIN:#define __ORDER_LITTLE_ENDIAN__ 1234
2856// PPC-DARWIN:#define __ORDER_PDP_ENDIAN__ 3412
2857// PPC-DARWIN:#define __POINTER_WIDTH__ 32
2858// PPC-DARWIN:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002859// PPC-DARWIN:#define __PPC__ 1
David Fang072d47b2013-05-16 17:51:48 +00002860// PPC-DARWIN:#define __PTRDIFF_TYPE__ int
2861// PPC-DARWIN:#define __PTRDIFF_WIDTH__ 32
2862// PPC-DARWIN:#define __REGISTER_PREFIX__
2863// PPC-DARWIN:#define __SCHAR_MAX__ 127
2864// PPC-DARWIN:#define __SHRT_MAX__ 32767
2865// PPC-DARWIN:#define __SIG_ATOMIC_WIDTH__ 32
2866// PPC-DARWIN:#define __SIZEOF_DOUBLE__ 8
2867// PPC-DARWIN:#define __SIZEOF_FLOAT__ 4
2868// PPC-DARWIN:#define __SIZEOF_INT__ 4
2869// PPC-DARWIN:#define __SIZEOF_LONG_DOUBLE__ 16
2870// PPC-DARWIN:#define __SIZEOF_LONG_LONG__ 8
2871// PPC-DARWIN:#define __SIZEOF_LONG__ 4
2872// PPC-DARWIN:#define __SIZEOF_POINTER__ 4
2873// PPC-DARWIN:#define __SIZEOF_PTRDIFF_T__ 4
2874// PPC-DARWIN:#define __SIZEOF_SHORT__ 2
2875// PPC-DARWIN:#define __SIZEOF_SIZE_T__ 4
2876// PPC-DARWIN:#define __SIZEOF_WCHAR_T__ 4
2877// PPC-DARWIN:#define __SIZEOF_WINT_T__ 4
2878// PPC-DARWIN:#define __SIZE_MAX__ 4294967295UL
2879// PPC-DARWIN:#define __SIZE_TYPE__ long unsigned int
2880// PPC-DARWIN:#define __SIZE_WIDTH__ 32
2881// PPC-DARWIN:#define __STDC_HOSTED__ 0
2882// PPC-DARWIN:#define __STDC_VERSION__ 199901L
2883// PPC-DARWIN:#define __STDC__ 1
2884// PPC-DARWIN:#define __UINTMAX_TYPE__ long long unsigned int
2885// PPC-DARWIN:#define __USER_LABEL_PREFIX__ _
2886// PPC-DARWIN:#define __WCHAR_MAX__ 2147483647
2887// PPC-DARWIN:#define __WCHAR_TYPE__ int
2888// PPC-DARWIN:#define __WCHAR_WIDTH__ 32
2889// PPC-DARWIN:#define __WINT_TYPE__ int
2890// PPC-DARWIN:#define __WINT_WIDTH__ 32
2891// PPC-DARWIN:#define __powerpc__ 1
2892// PPC-DARWIN:#define __ppc__ 1
2893//
Ulrich Weigand47445072013-05-06 16:26:41 +00002894// RUN: %clang_cc1 -E -dM -ffreestanding -triple=s390x-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix S390X %s
2895//
2896// S390X:#define __CHAR16_TYPE__ unsigned short
2897// S390X:#define __CHAR32_TYPE__ unsigned int
2898// S390X:#define __CHAR_BIT__ 8
2899// S390X:#define __CHAR_UNSIGNED__ 1
2900// S390X:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2901// S390X:#define __DBL_DIG__ 15
2902// S390X:#define __DBL_EPSILON__ 2.2204460492503131e-16
2903// S390X:#define __DBL_HAS_DENORM__ 1
2904// S390X:#define __DBL_HAS_INFINITY__ 1
2905// S390X:#define __DBL_HAS_QUIET_NAN__ 1
2906// S390X:#define __DBL_MANT_DIG__ 53
2907// S390X:#define __DBL_MAX_10_EXP__ 308
2908// S390X:#define __DBL_MAX_EXP__ 1024
2909// S390X:#define __DBL_MAX__ 1.7976931348623157e+308
2910// S390X:#define __DBL_MIN_10_EXP__ (-307)
2911// S390X:#define __DBL_MIN_EXP__ (-1021)
2912// S390X:#define __DBL_MIN__ 2.2250738585072014e-308
2913// S390X:#define __DECIMAL_DIG__ 36
2914// S390X:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2915// S390X:#define __FLT_DIG__ 6
2916// S390X:#define __FLT_EPSILON__ 1.19209290e-7F
2917// S390X:#define __FLT_EVAL_METHOD__ 0
2918// S390X:#define __FLT_HAS_DENORM__ 1
2919// S390X:#define __FLT_HAS_INFINITY__ 1
2920// S390X:#define __FLT_HAS_QUIET_NAN__ 1
2921// S390X:#define __FLT_MANT_DIG__ 24
2922// S390X:#define __FLT_MAX_10_EXP__ 38
2923// S390X:#define __FLT_MAX_EXP__ 128
2924// S390X:#define __FLT_MAX__ 3.40282347e+38F
2925// S390X:#define __FLT_MIN_10_EXP__ (-37)
2926// S390X:#define __FLT_MIN_EXP__ (-125)
2927// S390X:#define __FLT_MIN__ 1.17549435e-38F
2928// S390X:#define __FLT_RADIX__ 2
2929// S390X:#define __INT16_TYPE__ short
2930// S390X:#define __INT32_TYPE__ int
2931// S390X:#define __INT64_C_SUFFIX__ L
2932// S390X:#define __INT64_TYPE__ long long int
2933// S390X:#define __INT8_TYPE__ char
2934// S390X:#define __INTMAX_MAX__ 9223372036854775807LL
2935// S390X:#define __INTMAX_TYPE__ long long int
2936// S390X:#define __INTMAX_WIDTH__ 64
2937// S390X:#define __INTPTR_TYPE__ long int
2938// S390X:#define __INTPTR_WIDTH__ 64
2939// S390X:#define __INT_MAX__ 2147483647
2940// S390X:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
2941// S390X:#define __LDBL_DIG__ 33
2942// S390X:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
2943// S390X:#define __LDBL_HAS_DENORM__ 1
2944// S390X:#define __LDBL_HAS_INFINITY__ 1
2945// S390X:#define __LDBL_HAS_QUIET_NAN__ 1
2946// S390X:#define __LDBL_MANT_DIG__ 113
2947// S390X:#define __LDBL_MAX_10_EXP__ 4932
2948// S390X:#define __LDBL_MAX_EXP__ 16384
2949// S390X:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
2950// S390X:#define __LDBL_MIN_10_EXP__ (-4931)
2951// S390X:#define __LDBL_MIN_EXP__ (-16381)
2952// S390X:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
2953// S390X:#define __LONG_LONG_MAX__ 9223372036854775807LL
2954// S390X:#define __LONG_MAX__ 9223372036854775807L
2955// S390X:#define __NO_INLINE__ 1
2956// S390X:#define __POINTER_WIDTH__ 64
2957// S390X:#define __PTRDIFF_TYPE__ long int
2958// S390X:#define __PTRDIFF_WIDTH__ 64
2959// S390X:#define __SCHAR_MAX__ 127
2960// S390X:#define __SHRT_MAX__ 32767
2961// S390X:#define __SIG_ATOMIC_WIDTH__ 32
2962// S390X:#define __SIZEOF_DOUBLE__ 8
2963// S390X:#define __SIZEOF_FLOAT__ 4
2964// S390X:#define __SIZEOF_INT__ 4
2965// S390X:#define __SIZEOF_LONG_DOUBLE__ 16
2966// S390X:#define __SIZEOF_LONG_LONG__ 8
2967// S390X:#define __SIZEOF_LONG__ 8
2968// S390X:#define __SIZEOF_POINTER__ 8
2969// S390X:#define __SIZEOF_PTRDIFF_T__ 8
2970// S390X:#define __SIZEOF_SHORT__ 2
2971// S390X:#define __SIZEOF_SIZE_T__ 8
2972// S390X:#define __SIZEOF_WCHAR_T__ 4
2973// S390X:#define __SIZEOF_WINT_T__ 4
2974// S390X:#define __SIZE_TYPE__ long unsigned int
2975// S390X:#define __SIZE_WIDTH__ 64
2976// S390X:#define __UINTMAX_TYPE__ long long unsigned int
2977// S390X:#define __USER_LABEL_PREFIX__ _
2978// S390X:#define __WCHAR_MAX__ 2147483647
2979// S390X:#define __WCHAR_TYPE__ int
2980// S390X:#define __WCHAR_WIDTH__ 32
2981// S390X:#define __WINT_TYPE__ int
2982// S390X:#define __WINT_WIDTH__ 32
2983// S390X:#define __s390__ 1
2984// S390X:#define __s390x__ 1
2985//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002986// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
Chris Lattnere963d092009-10-29 04:55:36 +00002987//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002988// SPARC-NOT:#define _LP64
Robert Lytton2c942c62014-03-10 12:06:29 +00002989// SPARC:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002990// SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002991// SPARC:#define __CHAR16_TYPE__ unsigned short
2992// SPARC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002993// SPARC:#define __CHAR_BIT__ 8
2994// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2995// SPARC:#define __DBL_DIG__ 15
2996// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2997// SPARC:#define __DBL_HAS_DENORM__ 1
2998// SPARC:#define __DBL_HAS_INFINITY__ 1
2999// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
3000// SPARC:#define __DBL_MANT_DIG__ 53
3001// SPARC:#define __DBL_MAX_10_EXP__ 308
3002// SPARC:#define __DBL_MAX_EXP__ 1024
3003// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
3004// SPARC:#define __DBL_MIN_10_EXP__ (-307)
3005// SPARC:#define __DBL_MIN_EXP__ (-1021)
3006// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
3007// SPARC:#define __DECIMAL_DIG__ 17
3008// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3009// SPARC:#define __FLT_DIG__ 6
3010// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
3011// SPARC:#define __FLT_EVAL_METHOD__ 0
3012// SPARC:#define __FLT_HAS_DENORM__ 1
3013// SPARC:#define __FLT_HAS_INFINITY__ 1
3014// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
3015// SPARC:#define __FLT_MANT_DIG__ 24
3016// SPARC:#define __FLT_MAX_10_EXP__ 38
3017// SPARC:#define __FLT_MAX_EXP__ 128
3018// SPARC:#define __FLT_MAX__ 3.40282347e+38F
3019// SPARC:#define __FLT_MIN_10_EXP__ (-37)
3020// SPARC:#define __FLT_MIN_EXP__ (-125)
3021// SPARC:#define __FLT_MIN__ 1.17549435e-38F
3022// SPARC:#define __FLT_RADIX__ 2
3023// SPARC:#define __INT16_TYPE__ short
3024// SPARC:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00003025// SPARC:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00003026// SPARC:#define __INT64_TYPE__ long long int
3027// SPARC:#define __INT8_TYPE__ char
3028// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00003029// SPARC:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00003030// SPARC:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00003031// SPARC:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00003032// SPARC:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003033// SPARC:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003034// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00003035// SPARC:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003036// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +00003037// SPARC:#define __LDBL_HAS_DENORM__ 1
3038// SPARC:#define __LDBL_HAS_INFINITY__ 1
3039// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
3040// SPARC:#define __LDBL_MANT_DIG__ 53
3041// SPARC:#define __LDBL_MAX_10_EXP__ 308
3042// SPARC:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003043// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +00003044// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
3045// SPARC:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003046// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnere963d092009-10-29 04:55:36 +00003047// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
3048// SPARC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003049// SPARC-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00003050// SPARC:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003051// SPARC:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00003052// SPARC:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbaracde99e2009-12-18 18:42:37 +00003053// SPARC:#define __REGISTER_PREFIX__
Chris Lattnere963d092009-10-29 04:55:36 +00003054// SPARC:#define __SCHAR_MAX__ 127
3055// SPARC:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00003056// SPARC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00003057// SPARC:#define __SIZEOF_DOUBLE__ 8
3058// SPARC:#define __SIZEOF_FLOAT__ 4
3059// SPARC:#define __SIZEOF_INT__ 4
3060// SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
3061// SPARC:#define __SIZEOF_LONG_LONG__ 8
3062// SPARC:#define __SIZEOF_LONG__ 4
3063// SPARC:#define __SIZEOF_POINTER__ 4
3064// SPARC:#define __SIZEOF_PTRDIFF_T__ 4
3065// SPARC:#define __SIZEOF_SHORT__ 2
3066// SPARC:#define __SIZEOF_SIZE_T__ 4
3067// SPARC:#define __SIZEOF_WCHAR_T__ 4
3068// SPARC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003069// SPARC:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00003070// SPARC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00003071// SPARC:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003072// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003073// SPARC:#define __USER_LABEL_PREFIX__ _
Daniel Dunbar3b17a862011-03-31 00:53:51 +00003074// SPARC:#define __VERSION__ "4.2.1 Compatible
Chris Lattnere963d092009-10-29 04:55:36 +00003075// SPARC:#define __WCHAR_MAX__ 2147483647
3076// SPARC:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00003077// SPARC:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003078// SPARC:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00003079// SPARC:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003080// SPARC:#define __sparc 1
3081// SPARC:#define __sparc__ 1
3082// SPARC:#define __sparcv8 1
3083// SPARC:#define sparc 1
3084//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00003085// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
Chris Lattnere963d092009-10-29 04:55:36 +00003086//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003087// TCE-NOT:#define _LP64
Robert Lytton2c942c62014-03-10 12:06:29 +00003088// TCE:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003089// TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00003090// TCE:#define __CHAR16_TYPE__ unsigned short
3091// TCE:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003092// TCE:#define __CHAR_BIT__ 8
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003093// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45
Chris Lattnere963d092009-10-29 04:55:36 +00003094// TCE:#define __DBL_DIG__ 6
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003095// TCE:#define __DBL_EPSILON__ 1.19209290e-7
Chris Lattnere963d092009-10-29 04:55:36 +00003096// TCE:#define __DBL_HAS_DENORM__ 1
3097// TCE:#define __DBL_HAS_INFINITY__ 1
3098// TCE:#define __DBL_HAS_QUIET_NAN__ 1
3099// TCE:#define __DBL_MANT_DIG__ 24
3100// TCE:#define __DBL_MAX_10_EXP__ 38
3101// TCE:#define __DBL_MAX_EXP__ 128
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003102// TCE:#define __DBL_MAX__ 3.40282347e+38
Chris Lattnere963d092009-10-29 04:55:36 +00003103// TCE:#define __DBL_MIN_10_EXP__ (-37)
3104// TCE:#define __DBL_MIN_EXP__ (-125)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003105// TCE:#define __DBL_MIN__ 1.17549435e-38
Chris Lattnere963d092009-10-29 04:55:36 +00003106// TCE:#define __DECIMAL_DIG__ -1
3107// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3108// TCE:#define __FLT_DIG__ 6
3109// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
3110// TCE:#define __FLT_EVAL_METHOD__ 0
3111// TCE:#define __FLT_HAS_DENORM__ 1
3112// TCE:#define __FLT_HAS_INFINITY__ 1
3113// TCE:#define __FLT_HAS_QUIET_NAN__ 1
3114// TCE:#define __FLT_MANT_DIG__ 24
3115// TCE:#define __FLT_MAX_10_EXP__ 38
3116// TCE:#define __FLT_MAX_EXP__ 128
3117// TCE:#define __FLT_MAX__ 3.40282347e+38F
3118// TCE:#define __FLT_MIN_10_EXP__ (-37)
3119// TCE:#define __FLT_MIN_EXP__ (-125)
3120// TCE:#define __FLT_MIN__ 1.17549435e-38F
3121// TCE:#define __FLT_RADIX__ 2
3122// TCE:#define __INT16_TYPE__ short
3123// TCE:#define __INT32_TYPE__ int
3124// TCE:#define __INT8_TYPE__ char
3125// TCE:#define __INTMAX_MAX__ 2147483647L
Ken Dyck9b25f782009-11-19 13:18:59 +00003126// TCE:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00003127// TCE:#define __INTMAX_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003128// TCE:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00003129// TCE:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003130// TCE:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003131// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45L
Chris Lattnere963d092009-10-29 04:55:36 +00003132// TCE:#define __LDBL_DIG__ 6
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003133// TCE:#define __LDBL_EPSILON__ 1.19209290e-7L
Chris Lattnere963d092009-10-29 04:55:36 +00003134// TCE:#define __LDBL_HAS_DENORM__ 1
3135// TCE:#define __LDBL_HAS_INFINITY__ 1
3136// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
3137// TCE:#define __LDBL_MANT_DIG__ 24
3138// TCE:#define __LDBL_MAX_10_EXP__ 38
3139// TCE:#define __LDBL_MAX_EXP__ 128
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003140// TCE:#define __LDBL_MAX__ 3.40282347e+38L
Chris Lattnere963d092009-10-29 04:55:36 +00003141// TCE:#define __LDBL_MIN_10_EXP__ (-37)
3142// TCE:#define __LDBL_MIN_EXP__ (-125)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003143// TCE:#define __LDBL_MIN__ 1.17549435e-38L
Chris Lattnere963d092009-10-29 04:55:36 +00003144// TCE:#define __LONG_LONG_MAX__ 2147483647LL
3145// TCE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003146// TCE-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00003147// TCE:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003148// TCE:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00003149// TCE:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003150// TCE:#define __SCHAR_MAX__ 127
3151// TCE:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00003152// TCE:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00003153// TCE:#define __SIZEOF_DOUBLE__ 4
3154// TCE:#define __SIZEOF_FLOAT__ 4
3155// TCE:#define __SIZEOF_INT__ 4
3156// TCE:#define __SIZEOF_LONG_DOUBLE__ 4
3157// TCE:#define __SIZEOF_LONG_LONG__ 4
3158// TCE:#define __SIZEOF_LONG__ 4
3159// TCE:#define __SIZEOF_POINTER__ 4
3160// TCE:#define __SIZEOF_PTRDIFF_T__ 4
3161// TCE:#define __SIZEOF_SHORT__ 2
3162// TCE:#define __SIZEOF_SIZE_T__ 4
3163// TCE:#define __SIZEOF_WCHAR_T__ 4
3164// TCE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003165// TCE:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00003166// TCE:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00003167// TCE:#define __SIZE_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003168// TCE:#define __TCE_V1__ 1
3169// TCE:#define __TCE__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00003170// TCE:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003171// TCE:#define __USER_LABEL_PREFIX__ _
3172// TCE:#define __WCHAR_MAX__ 2147483647
3173// TCE:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00003174// TCE:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003175// TCE:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00003176// TCE:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003177// TCE:#define __tce 1
3178// TCE:#define __tce__ 1
3179// TCE:#define tce 1
3180//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00003181// 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 +00003182//
3183// X86_64:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003184// X86_64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00003185// X86_64:#define __CHAR16_TYPE__ unsigned short
3186// X86_64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003187// X86_64:#define __CHAR_BIT__ 8
3188// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3189// X86_64:#define __DBL_DIG__ 15
3190// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
3191// X86_64:#define __DBL_HAS_DENORM__ 1
3192// X86_64:#define __DBL_HAS_INFINITY__ 1
3193// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
3194// X86_64:#define __DBL_MANT_DIG__ 53
3195// X86_64:#define __DBL_MAX_10_EXP__ 308
3196// X86_64:#define __DBL_MAX_EXP__ 1024
3197// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
3198// X86_64:#define __DBL_MIN_10_EXP__ (-307)
3199// X86_64:#define __DBL_MIN_EXP__ (-1021)
3200// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
3201// X86_64:#define __DECIMAL_DIG__ 21
3202// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3203// X86_64:#define __FLT_DIG__ 6
3204// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
3205// X86_64:#define __FLT_EVAL_METHOD__ 0
3206// X86_64:#define __FLT_HAS_DENORM__ 1
3207// X86_64:#define __FLT_HAS_INFINITY__ 1
3208// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
3209// X86_64:#define __FLT_MANT_DIG__ 24
3210// X86_64:#define __FLT_MAX_10_EXP__ 38
3211// X86_64:#define __FLT_MAX_EXP__ 128
3212// X86_64:#define __FLT_MAX__ 3.40282347e+38F
3213// X86_64:#define __FLT_MIN_10_EXP__ (-37)
3214// X86_64:#define __FLT_MIN_EXP__ (-125)
3215// X86_64:#define __FLT_MIN__ 1.17549435e-38F
3216// X86_64:#define __FLT_RADIX__ 2
3217// X86_64:#define __INT16_TYPE__ short
3218// X86_64:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00003219// X86_64:#define __INT64_C_SUFFIX__ L
Chris Lattnere963d092009-10-29 04:55:36 +00003220// X86_64:#define __INT64_TYPE__ long int
3221// X86_64:#define __INT8_TYPE__ char
3222// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck9b25f782009-11-19 13:18:59 +00003223// X86_64:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00003224// X86_64:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00003225// X86_64:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00003226// X86_64:#define __INTPTR_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003227// X86_64:#define __INT_MAX__ 2147483647
3228// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3229// X86_64:#define __LDBL_DIG__ 18
3230// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3231// X86_64:#define __LDBL_HAS_DENORM__ 1
3232// X86_64:#define __LDBL_HAS_INFINITY__ 1
3233// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
3234// X86_64:#define __LDBL_MANT_DIG__ 64
3235// X86_64:#define __LDBL_MAX_10_EXP__ 4932
3236// X86_64:#define __LDBL_MAX_EXP__ 16384
3237// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3238// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
3239// X86_64:#define __LDBL_MIN_EXP__ (-16381)
3240// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3241// X86_64:#define __LITTLE_ENDIAN__ 1
3242// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
3243// X86_64:#define __LONG_MAX__ 9223372036854775807L
3244// X86_64:#define __LP64__ 1
3245// X86_64:#define __MMX__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00003246// X86_64:#define __NO_MATH_INLINES 1
3247// X86_64:#define __POINTER_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00003248// X86_64:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00003249// X86_64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003250// X86_64:#define __REGISTER_PREFIX__
3251// X86_64:#define __SCHAR_MAX__ 127
3252// X86_64:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00003253// X86_64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00003254// X86_64:#define __SIZEOF_DOUBLE__ 8
3255// X86_64:#define __SIZEOF_FLOAT__ 4
3256// X86_64:#define __SIZEOF_INT__ 4
3257// X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
3258// X86_64:#define __SIZEOF_LONG_LONG__ 8
3259// X86_64:#define __SIZEOF_LONG__ 8
3260// X86_64:#define __SIZEOF_POINTER__ 8
3261// X86_64:#define __SIZEOF_PTRDIFF_T__ 8
3262// X86_64:#define __SIZEOF_SHORT__ 2
3263// X86_64:#define __SIZEOF_SIZE_T__ 8
3264// X86_64:#define __SIZEOF_WCHAR_T__ 4
3265// X86_64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003266// X86_64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnere963d092009-10-29 04:55:36 +00003267// X86_64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00003268// X86_64:#define __SIZE_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003269// X86_64:#define __SSE2_MATH__ 1
3270// X86_64:#define __SSE2__ 1
3271// X86_64:#define __SSE_MATH__ 1
3272// X86_64:#define __SSE__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00003273// X86_64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003274// X86_64:#define __USER_LABEL_PREFIX__ _
3275// X86_64:#define __WCHAR_MAX__ 2147483647
3276// X86_64:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00003277// X86_64:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003278// X86_64:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00003279// X86_64:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003280// X86_64:#define __amd64 1
3281// X86_64:#define __amd64__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00003282// X86_64:#define __x86_64 1
3283// X86_64:#define __x86_64__ 1
3284//
Douglas Gregore6d6e512011-01-12 21:19:25 +00003285// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
3286//
3287// X86_64-LINUX:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003288// X86_64-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregore6d6e512011-01-12 21:19:25 +00003289// X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
3290// X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
3291// X86_64-LINUX:#define __CHAR_BIT__ 8
3292// X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3293// X86_64-LINUX:#define __DBL_DIG__ 15
3294// X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
3295// X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
3296// X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
3297// X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
3298// X86_64-LINUX:#define __DBL_MANT_DIG__ 53
3299// X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
3300// X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
3301// X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
3302// X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
3303// X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
3304// X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
3305// X86_64-LINUX:#define __DECIMAL_DIG__ 21
3306// X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3307// X86_64-LINUX:#define __FLT_DIG__ 6
3308// X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
3309// X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
3310// X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
3311// X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
3312// X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
3313// X86_64-LINUX:#define __FLT_MANT_DIG__ 24
3314// X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
3315// X86_64-LINUX:#define __FLT_MAX_EXP__ 128
3316// X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
3317// X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
3318// X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
3319// X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
3320// X86_64-LINUX:#define __FLT_RADIX__ 2
3321// X86_64-LINUX:#define __INT16_TYPE__ short
3322// X86_64-LINUX:#define __INT32_TYPE__ int
3323// X86_64-LINUX:#define __INT64_C_SUFFIX__ L
3324// X86_64-LINUX:#define __INT64_TYPE__ long int
3325// X86_64-LINUX:#define __INT8_TYPE__ char
3326// X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
3327// X86_64-LINUX:#define __INTMAX_TYPE__ long int
3328// X86_64-LINUX:#define __INTMAX_WIDTH__ 64
3329// X86_64-LINUX:#define __INTPTR_TYPE__ long int
3330// X86_64-LINUX:#define __INTPTR_WIDTH__ 64
3331// X86_64-LINUX:#define __INT_MAX__ 2147483647
3332// X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3333// X86_64-LINUX:#define __LDBL_DIG__ 18
3334// X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3335// X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
3336// X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
3337// X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
3338// X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
3339// X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
3340// X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
3341// X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3342// X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
3343// X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
3344// X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3345// X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
3346// X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
3347// X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
3348// X86_64-LINUX:#define __LP64__ 1
3349// X86_64-LINUX:#define __MMX__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00003350// X86_64-LINUX:#define __NO_MATH_INLINES 1
3351// X86_64-LINUX:#define __POINTER_WIDTH__ 64
3352// X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
3353// X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
3354// X86_64-LINUX:#define __REGISTER_PREFIX__
3355// X86_64-LINUX:#define __SCHAR_MAX__ 127
3356// X86_64-LINUX:#define __SHRT_MAX__ 32767
3357// X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
3358// X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
3359// X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
3360// X86_64-LINUX:#define __SIZEOF_INT__ 4
3361// X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
3362// X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
3363// X86_64-LINUX:#define __SIZEOF_LONG__ 8
3364// X86_64-LINUX:#define __SIZEOF_POINTER__ 8
3365// X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
3366// X86_64-LINUX:#define __SIZEOF_SHORT__ 2
3367// X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
3368// X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
3369// X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003370// X86_64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Douglas Gregore6d6e512011-01-12 21:19:25 +00003371// X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
3372// X86_64-LINUX:#define __SIZE_WIDTH__ 64
3373// X86_64-LINUX:#define __SSE2_MATH__ 1
3374// X86_64-LINUX:#define __SSE2__ 1
3375// X86_64-LINUX:#define __SSE_MATH__ 1
3376// X86_64-LINUX:#define __SSE__ 1
3377// X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
3378// X86_64-LINUX:#define __USER_LABEL_PREFIX__
3379// X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
3380// X86_64-LINUX:#define __WCHAR_TYPE__ int
3381// X86_64-LINUX:#define __WCHAR_WIDTH__ 32
3382// X86_64-LINUX:#define __WINT_TYPE__ unsigned int
3383// X86_64-LINUX:#define __WINT_WIDTH__ 32
3384// X86_64-LINUX:#define __amd64 1
3385// X86_64-LINUX:#define __amd64__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00003386// X86_64-LINUX:#define __x86_64 1
3387// X86_64-LINUX:#define __x86_64__ 1
3388//
Ed Schoutend0621462013-09-29 07:54:52 +00003389// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-unknown-freebsd9.1 < /dev/null | FileCheck -check-prefix X86_64-FREEBSD %s
3390//
3391// X86_64-FREEBSD:#define __FreeBSD__ 9
3392// X86_64-FREEBSD:#define __FreeBSD_cc_version 900001
3393// X86_64-FREEBSD:#define __STDC_MB_MIGHT_NEQ_WC__ 1
3394//
Joerg Sonnenberger0e921f22013-11-11 14:00:37 +00003395// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-netbsd < /dev/null | FileCheck -check-prefix X86_64-NETBSD %s
3396//
3397// X86_64-NETBSD:#define _LP64 1
3398// X86_64-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
3399// X86_64-NETBSD:#define __CHAR16_TYPE__ unsigned short
3400// X86_64-NETBSD:#define __CHAR32_TYPE__ unsigned int
3401// X86_64-NETBSD:#define __CHAR_BIT__ 8
3402// X86_64-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3403// X86_64-NETBSD:#define __DBL_DIG__ 15
3404// X86_64-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
3405// X86_64-NETBSD:#define __DBL_HAS_DENORM__ 1
3406// X86_64-NETBSD:#define __DBL_HAS_INFINITY__ 1
3407// X86_64-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
3408// X86_64-NETBSD:#define __DBL_MANT_DIG__ 53
3409// X86_64-NETBSD:#define __DBL_MAX_10_EXP__ 308
3410// X86_64-NETBSD:#define __DBL_MAX_EXP__ 1024
3411// X86_64-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
3412// X86_64-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
3413// X86_64-NETBSD:#define __DBL_MIN_EXP__ (-1021)
3414// X86_64-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
3415// X86_64-NETBSD:#define __DECIMAL_DIG__ 21
3416// X86_64-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3417// X86_64-NETBSD:#define __FLT_DIG__ 6
3418// X86_64-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
3419// X86_64-NETBSD:#define __FLT_EVAL_METHOD__ 0
3420// X86_64-NETBSD:#define __FLT_HAS_DENORM__ 1
3421// X86_64-NETBSD:#define __FLT_HAS_INFINITY__ 1
3422// X86_64-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
3423// X86_64-NETBSD:#define __FLT_MANT_DIG__ 24
3424// X86_64-NETBSD:#define __FLT_MAX_10_EXP__ 38
3425// X86_64-NETBSD:#define __FLT_MAX_EXP__ 128
3426// X86_64-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
3427// X86_64-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
3428// X86_64-NETBSD:#define __FLT_MIN_EXP__ (-125)
3429// X86_64-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
3430// X86_64-NETBSD:#define __FLT_RADIX__ 2
3431// X86_64-NETBSD:#define __INT16_TYPE__ short
3432// X86_64-NETBSD:#define __INT32_TYPE__ int
3433// X86_64-NETBSD:#define __INT64_C_SUFFIX__ L
3434// X86_64-NETBSD:#define __INT64_TYPE__ long int
3435// X86_64-NETBSD:#define __INT8_TYPE__ char
3436// X86_64-NETBSD:#define __INTMAX_MAX__ 9223372036854775807L
3437// X86_64-NETBSD:#define __INTMAX_TYPE__ long int
3438// X86_64-NETBSD:#define __INTMAX_WIDTH__ 64
3439// X86_64-NETBSD:#define __INTPTR_TYPE__ long int
3440// X86_64-NETBSD:#define __INTPTR_WIDTH__ 64
3441// X86_64-NETBSD:#define __INT_MAX__ 2147483647
3442// X86_64-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3443// X86_64-NETBSD:#define __LDBL_DIG__ 18
3444// X86_64-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3445// X86_64-NETBSD:#define __LDBL_HAS_DENORM__ 1
3446// X86_64-NETBSD:#define __LDBL_HAS_INFINITY__ 1
3447// X86_64-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
3448// X86_64-NETBSD:#define __LDBL_MANT_DIG__ 64
3449// X86_64-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
3450// X86_64-NETBSD:#define __LDBL_MAX_EXP__ 16384
3451// X86_64-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3452// X86_64-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
3453// X86_64-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
3454// X86_64-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3455// X86_64-NETBSD:#define __LITTLE_ENDIAN__ 1
3456// X86_64-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
3457// X86_64-NETBSD:#define __LONG_MAX__ 9223372036854775807L
3458// X86_64-NETBSD:#define __LP64__ 1
3459// X86_64-NETBSD:#define __MMX__ 1
3460// X86_64-NETBSD:#define __NO_MATH_INLINES 1
3461// X86_64-NETBSD:#define __POINTER_WIDTH__ 64
3462// X86_64-NETBSD:#define __PTRDIFF_TYPE__ long int
3463// X86_64-NETBSD:#define __PTRDIFF_WIDTH__ 64
3464// X86_64-NETBSD:#define __REGISTER_PREFIX__
3465// X86_64-NETBSD:#define __SCHAR_MAX__ 127
3466// X86_64-NETBSD:#define __SHRT_MAX__ 32767
3467// X86_64-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
3468// X86_64-NETBSD:#define __SIZEOF_DOUBLE__ 8
3469// X86_64-NETBSD:#define __SIZEOF_FLOAT__ 4
3470// X86_64-NETBSD:#define __SIZEOF_INT__ 4
3471// X86_64-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 16
3472// X86_64-NETBSD:#define __SIZEOF_LONG_LONG__ 8
3473// X86_64-NETBSD:#define __SIZEOF_LONG__ 8
3474// X86_64-NETBSD:#define __SIZEOF_POINTER__ 8
3475// X86_64-NETBSD:#define __SIZEOF_PTRDIFF_T__ 8
3476// X86_64-NETBSD:#define __SIZEOF_SHORT__ 2
3477// X86_64-NETBSD:#define __SIZEOF_SIZE_T__ 8
3478// X86_64-NETBSD:#define __SIZEOF_WCHAR_T__ 4
3479// X86_64-NETBSD:#define __SIZEOF_WINT_T__ 4
3480// X86_64-NETBSD:#define __SIZE_MAX__ 18446744073709551615UL
3481// X86_64-NETBSD:#define __SIZE_TYPE__ long unsigned int
3482// X86_64-NETBSD:#define __SIZE_WIDTH__ 64
3483// X86_64-NETBSD:#define __SSE2_MATH__ 1
3484// X86_64-NETBSD:#define __SSE2__ 1
3485// X86_64-NETBSD:#define __SSE_MATH__ 1
3486// X86_64-NETBSD:#define __SSE__ 1
3487// X86_64-NETBSD:#define __UINTMAX_TYPE__ long unsigned int
3488// X86_64-NETBSD:#define __USER_LABEL_PREFIX__
3489// X86_64-NETBSD:#define __WCHAR_MAX__ 2147483647
3490// X86_64-NETBSD:#define __WCHAR_TYPE__ int
3491// X86_64-NETBSD:#define __WCHAR_WIDTH__ 32
3492// X86_64-NETBSD:#define __WINT_TYPE__ int
3493// X86_64-NETBSD:#define __WINT_WIDTH__ 32
3494// X86_64-NETBSD:#define __amd64 1
3495// X86_64-NETBSD:#define __amd64__ 1
3496// X86_64-NETBSD:#define __x86_64 1
3497// X86_64-NETBSD:#define __x86_64__ 1
3498//
Jakob Stoklund Olesen248520b2013-05-15 03:22:33 +00003499// 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 +00003500// SPARCV9:#define __INT64_TYPE__ long int
Jakob Stoklund Olesen248520b2013-05-15 03:22:33 +00003501// SPARCV9:#define __INTMAX_TYPE__ long int
3502// SPARCV9:#define __INTPTR_TYPE__ long int
3503// SPARCV9:#define __LONG_MAX__ 9223372036854775807L
3504// SPARCV9:#define __LP64__ 1
3505// SPARCV9:#define __SIZEOF_LONG__ 8
3506// SPARCV9:#define __SIZEOF_POINTER__ 8
3507//
Jakob Stoklund Olesen826df142013-05-19 17:53:37 +00003508// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-openbsd < /dev/null | FileCheck -check-prefix SPARC64-OBSD %s
3509// SPARC64-OBSD:#define __INT64_TYPE__ long long int
3510// SPARC64-OBSD:#define __INTMAX_TYPE__ long long int
3511// SPARC64-OBSD:#define __UINTMAX_TYPE__ long long unsigned int
3512//
Sylvestre Ledrufd7cd3552013-09-06 14:53:07 +00003513// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSD-DEFINE %s
3514// KFREEBSD-DEFINE:#define __FreeBSD_kernel__ 1
3515// KFREEBSD-DEFINE:#define __GLIBC__ 1
3516//
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003517// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i686-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSDI686-DEFINE %s
3518// KFREEBSDI686-DEFINE:#define __FreeBSD_kernel__ 1
3519// KFREEBSDI686-DEFINE:#define __GLIBC__ 1
3520//
David Chisnallb601c962012-07-03 20:49:52 +00003521// 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 +00003522// GNUSOURCE:#define _GNU_SOURCE 1
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003523//
Dan Gohman04f87202010-05-28 00:27:15 +00003524// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
3525// NORTTI: __GXX_ABI_VERSION
3526// NORTTI-NOT:#define __GXX_RTTI
3527// NORTTI: __STDC__
Evgeniy Stepanov94dc4c92012-04-26 12:08:09 +00003528//
3529// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
3530// ANDROID: __ANDROID__ 1
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003531//
Roman Divacky13b586f2013-07-03 19:45:54 +00003532// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd < /dev/null | FileCheck -check-prefix PPC64-FREEBSD %s
3533// PPC64-FREEBSD-NOT: #define __LONG_DOUBLE_128__ 1
Robert Lytton0e076492013-08-13 09:43:10 +00003534//
3535// RUN: %clang_cc1 -E -dM -ffreestanding -triple=xcore-none-none < /dev/null | FileCheck -check-prefix XCORE %s
Robert Lytton2c942c62014-03-10 12:06:29 +00003536// XCORE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
3537// XCORE:#define __LITTLE_ENDIAN__ 1
Robert Lytton0e076492013-08-13 09:43:10 +00003538// XCORE:#define __XS1B__ 1