blob: e87e3adc63b6f8d5f89ada7f8a8d43fc60ffef09 [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
199//
200// SHORTWCHAR: #define __SIZEOF_WCHAR_T__ 2
201// SHORTWCHAR: #define __WCHAR_MAX__ 65535U
202// SHORTWCHAR: #define __WCHAR_TYPE__ unsigned short
203// SHORTWCHAR: #define __WCHAR_WIDTH__ 16
204//
Kevin Qinad64f6d2014-02-24 02:45:03 +0000205// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-none-none < /dev/null | FileCheck -check-prefix AARCH64 %s
206//
207// AARCH64:#define _LP64 1
208// AARCH64:#define __AARCH64EL__ 1
209// AARCH64:#define __ALIGNOF_MAX_ALIGN_T__ 16
210// AARCH64:#define __ARM_64BIT_STATE 1
211// AARCH64:#define __ARM_ARCH 8
212// AARCH64:#define __ARM_ARCH_ISA_A64 1
213// AARCH64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
214// AARCH64:#define __CHAR16_TYPE__ unsigned short
215// AARCH64:#define __CHAR32_TYPE__ unsigned int
216// AARCH64:#define __CHAR_BIT__ 8
217// AARCH64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
218// AARCH64:#define __DBL_DIG__ 15
219// AARCH64:#define __DBL_EPSILON__ 2.2204460492503131e-16
220// AARCH64:#define __DBL_HAS_DENORM__ 1
221// AARCH64:#define __DBL_HAS_INFINITY__ 1
222// AARCH64:#define __DBL_HAS_QUIET_NAN__ 1
223// AARCH64:#define __DBL_MANT_DIG__ 53
224// AARCH64:#define __DBL_MAX_10_EXP__ 308
225// AARCH64:#define __DBL_MAX_EXP__ 1024
226// AARCH64:#define __DBL_MAX__ 1.7976931348623157e+308
227// AARCH64:#define __DBL_MIN_10_EXP__ (-307)
228// AARCH64:#define __DBL_MIN_EXP__ (-1021)
229// AARCH64:#define __DBL_MIN__ 2.2250738585072014e-308
230// AARCH64:#define __DECIMAL_DIG__ 36
231// AARCH64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
232// AARCH64:#define __FLT_DIG__ 6
233// AARCH64:#define __FLT_EPSILON__ 1.19209290e-7F
234// AARCH64:#define __FLT_EVAL_METHOD__ 0
235// AARCH64:#define __FLT_HAS_DENORM__ 1
236// AARCH64:#define __FLT_HAS_INFINITY__ 1
237// AARCH64:#define __FLT_HAS_QUIET_NAN__ 1
238// AARCH64:#define __FLT_MANT_DIG__ 24
239// AARCH64:#define __FLT_MAX_10_EXP__ 38
240// AARCH64:#define __FLT_MAX_EXP__ 128
241// AARCH64:#define __FLT_MAX__ 3.40282347e+38F
242// AARCH64:#define __FLT_MIN_10_EXP__ (-37)
243// AARCH64:#define __FLT_MIN_EXP__ (-125)
244// AARCH64:#define __FLT_MIN__ 1.17549435e-38F
245// AARCH64:#define __FLT_RADIX__ 2
246// AARCH64:#define __INT16_TYPE__ short
247// AARCH64:#define __INT32_TYPE__ int
248// AARCH64:#define __INT64_C_SUFFIX__ L
249// AARCH64:#define __INT64_TYPE__ long int
250// AARCH64:#define __INT8_TYPE__ char
251// AARCH64:#define __INTMAX_MAX__ 9223372036854775807L
252// AARCH64:#define __INTMAX_TYPE__ long int
253// AARCH64:#define __INTMAX_WIDTH__ 64
254// AARCH64:#define __INTPTR_TYPE__ long int
255// AARCH64:#define __INTPTR_WIDTH__ 64
256// AARCH64:#define __INT_MAX__ 2147483647
257// AARCH64:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
258// AARCH64:#define __LDBL_DIG__ 33
259// AARCH64:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
260// AARCH64:#define __LDBL_HAS_DENORM__ 1
261// AARCH64:#define __LDBL_HAS_INFINITY__ 1
262// AARCH64:#define __LDBL_HAS_QUIET_NAN__ 1
263// AARCH64:#define __LDBL_MANT_DIG__ 113
264// AARCH64:#define __LDBL_MAX_10_EXP__ 4932
265// AARCH64:#define __LDBL_MAX_EXP__ 16384
266// AARCH64:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
267// AARCH64:#define __LDBL_MIN_10_EXP__ (-4931)
268// AARCH64:#define __LDBL_MIN_EXP__ (-16381)
269// AARCH64:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
270// AARCH64:#define __LONG_LONG_MAX__ 9223372036854775807LL
271// AARCH64:#define __LONG_MAX__ 9223372036854775807L
272// AARCH64:#define __LP64__ 1
273// AARCH64:#define __POINTER_WIDTH__ 64
274// AARCH64:#define __PTRDIFF_TYPE__ long int
275// AARCH64:#define __PTRDIFF_WIDTH__ 64
276// AARCH64:#define __SCHAR_MAX__ 127
277// AARCH64:#define __SHRT_MAX__ 32767
278// AARCH64:#define __SIG_ATOMIC_WIDTH__ 32
279// AARCH64:#define __SIZEOF_DOUBLE__ 8
280// AARCH64:#define __SIZEOF_FLOAT__ 4
281// AARCH64:#define __SIZEOF_INT128__ 16
282// AARCH64:#define __SIZEOF_INT__ 4
283// AARCH64:#define __SIZEOF_LONG_DOUBLE__ 16
284// AARCH64:#define __SIZEOF_LONG_LONG__ 8
285// AARCH64:#define __SIZEOF_LONG__ 8
286// AARCH64:#define __SIZEOF_POINTER__ 8
287// AARCH64:#define __SIZEOF_PTRDIFF_T__ 8
288// AARCH64:#define __SIZEOF_SHORT__ 2
289// AARCH64:#define __SIZEOF_SIZE_T__ 8
290// AARCH64:#define __SIZEOF_WCHAR_T__ 4
291// AARCH64:#define __SIZEOF_WINT_T__ 4
292// AARCH64:#define __SIZE_MAX__ 18446744073709551615UL
293// AARCH64:#define __SIZE_TYPE__ long unsigned int
294// AARCH64:#define __SIZE_WIDTH__ 64
295// AARCH64:#define __UINTMAX_TYPE__ long unsigned int
296// AARCH64:#define __USER_LABEL_PREFIX__ _
297// AARCH64:#define __WCHAR_MAX__ 4294967295U
298// AARCH64:#define __WCHAR_TYPE__ unsigned int
299// AARCH64:#define __WCHAR_UNSIGNED__ 1
300// AARCH64:#define __WCHAR_WIDTH__ 32
301// AARCH64:#define __WINT_TYPE__ int
302// AARCH64:#define __WINT_WIDTH__ 32
303// AARCH64:#define __aarch64__ 1
304//
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000305// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-netbsd < /dev/null | FileCheck -check-prefix AARCH64-NETBSD %s
306//
307// AARCH64-NETBSD:#define _LP64 1
308// AARCH64-NETBSD:#define __AARCH64EL__ 1
David Majnemer158ba132014-02-09 05:30:48 +0000309// AARCH64-NETBSD:#define __ALIGNOF_MAX_ALIGN_T__ 16
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000310// AARCH64-NETBSD:#define __ARM_64BIT_STATE 1
311// AARCH64-NETBSD:#define __ARM_ARCH 8
312// AARCH64-NETBSD:#define __ARM_ARCH_ISA_A64 1
313// AARCH64-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
314// AARCH64-NETBSD:#define __CHAR16_TYPE__ unsigned short
315// AARCH64-NETBSD:#define __CHAR32_TYPE__ unsigned int
316// AARCH64-NETBSD:#define __CHAR_BIT__ 8
317// AARCH64-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
318// AARCH64-NETBSD:#define __DBL_DIG__ 15
319// AARCH64-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
320// AARCH64-NETBSD:#define __DBL_HAS_DENORM__ 1
321// AARCH64-NETBSD:#define __DBL_HAS_INFINITY__ 1
322// AARCH64-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
323// AARCH64-NETBSD:#define __DBL_MANT_DIG__ 53
324// AARCH64-NETBSD:#define __DBL_MAX_10_EXP__ 308
325// AARCH64-NETBSD:#define __DBL_MAX_EXP__ 1024
326// AARCH64-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
327// AARCH64-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
328// AARCH64-NETBSD:#define __DBL_MIN_EXP__ (-1021)
329// AARCH64-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
330// AARCH64-NETBSD:#define __DECIMAL_DIG__ 36
331// AARCH64-NETBSD:#define __ELF__ 1
332// AARCH64-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
333// AARCH64-NETBSD:#define __FLT_DIG__ 6
334// AARCH64-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
335// AARCH64-NETBSD:#define __FLT_EVAL_METHOD__ 0
336// AARCH64-NETBSD:#define __FLT_HAS_DENORM__ 1
337// AARCH64-NETBSD:#define __FLT_HAS_INFINITY__ 1
338// AARCH64-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
339// AARCH64-NETBSD:#define __FLT_MANT_DIG__ 24
340// AARCH64-NETBSD:#define __FLT_MAX_10_EXP__ 38
341// AARCH64-NETBSD:#define __FLT_MAX_EXP__ 128
342// AARCH64-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
343// AARCH64-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
344// AARCH64-NETBSD:#define __FLT_MIN_EXP__ (-125)
345// AARCH64-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
346// AARCH64-NETBSD:#define __FLT_RADIX__ 2
347// AARCH64-NETBSD:#define __INT16_TYPE__ short
348// AARCH64-NETBSD:#define __INT32_TYPE__ int
Kevin Qinad64f6d2014-02-24 02:45:03 +0000349// AARCH64-NETBSD:#define __INT64_C_SUFFIX__ L
350// AARCH64-NETBSD:#define __INT64_TYPE__ long int
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000351// AARCH64-NETBSD:#define __INT8_TYPE__ char
Kevin Qinad64f6d2014-02-24 02:45:03 +0000352// AARCH64-NETBSD:#define __INTMAX_MAX__ 9223372036854775807L
353// AARCH64-NETBSD:#define __INTMAX_TYPE__ long int
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000354// AARCH64-NETBSD:#define __INTMAX_WIDTH__ 64
355// AARCH64-NETBSD:#define __INTPTR_TYPE__ long int
356// AARCH64-NETBSD:#define __INTPTR_WIDTH__ 64
357// AARCH64-NETBSD:#define __INT_MAX__ 2147483647
358// AARCH64-NETBSD:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
359// AARCH64-NETBSD:#define __LDBL_DIG__ 33
360// AARCH64-NETBSD:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
361// AARCH64-NETBSD:#define __LDBL_HAS_DENORM__ 1
362// AARCH64-NETBSD:#define __LDBL_HAS_INFINITY__ 1
363// AARCH64-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
364// AARCH64-NETBSD:#define __LDBL_MANT_DIG__ 113
365// AARCH64-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
366// AARCH64-NETBSD:#define __LDBL_MAX_EXP__ 16384
367// AARCH64-NETBSD:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
368// AARCH64-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
369// AARCH64-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
370// AARCH64-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
371// AARCH64-NETBSD:#define __LITTLE_ENDIAN__ 1
372// AARCH64-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
373// AARCH64-NETBSD:#define __LONG_MAX__ 9223372036854775807L
374// AARCH64-NETBSD:#define __LP64__ 1
375// AARCH64-NETBSD:#define __NetBSD__ 1
376// AARCH64-NETBSD:#define __POINTER_WIDTH__ 64
377// AARCH64-NETBSD:#define __PTRDIFF_TYPE__ long int
378// AARCH64-NETBSD:#define __PTRDIFF_WIDTH__ 64
379// AARCH64-NETBSD:#define __SCHAR_MAX__ 127
380// AARCH64-NETBSD:#define __SHRT_MAX__ 32767
381// AARCH64-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
382// AARCH64-NETBSD:#define __SIZEOF_DOUBLE__ 8
383// AARCH64-NETBSD:#define __SIZEOF_FLOAT__ 4
384// AARCH64-NETBSD:#define __SIZEOF_INT__ 4
385// AARCH64-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 16
386// AARCH64-NETBSD:#define __SIZEOF_LONG_LONG__ 8
387// AARCH64-NETBSD:#define __SIZEOF_LONG__ 8
388// AARCH64-NETBSD:#define __SIZEOF_POINTER__ 8
389// AARCH64-NETBSD:#define __SIZEOF_PTRDIFF_T__ 8
390// AARCH64-NETBSD:#define __SIZEOF_SHORT__ 2
391// AARCH64-NETBSD:#define __SIZEOF_SIZE_T__ 8
392// AARCH64-NETBSD:#define __SIZEOF_WCHAR_T__ 4
393// AARCH64-NETBSD:#define __SIZEOF_WINT_T__ 4
394// AARCH64-NETBSD:#define __SIZE_MAX__ 18446744073709551615UL
395// AARCH64-NETBSD:#define __SIZE_TYPE__ long unsigned int
396// AARCH64-NETBSD:#define __SIZE_WIDTH__ 64
Kevin Qinad64f6d2014-02-24 02:45:03 +0000397// AARCH64-NETBSD:#define __UINTMAX_TYPE__ long unsigned int
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000398// AARCH64-NETBSD:#define __USER_LABEL_PREFIX__
399// AARCH64-NETBSD:#define __WCHAR_MAX__ 2147483647
400// AARCH64-NETBSD:#define __WCHAR_TYPE__ int
401// AARCH64-NETBSD:#define __WCHAR_WIDTH__ 32
402// AARCH64-NETBSD:#define __WINT_TYPE__ int
403// AARCH64-NETBSD:#define __WINT_WIDTH__ 32
404// AARCH64-NETBSD:#define __aarch64__ 1
405//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000406// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s
Chris Lattnere963d092009-10-29 04:55:36 +0000407//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000408// ARM-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +0000409// ARM:#define __ALIGNOF_MAX_ALIGN_T__ 8
Chris Lattnere963d092009-10-29 04:55:36 +0000410// ARM:#define __APCS_32__ 1
411// ARM:#define __ARMEL__ 1
Daniel Dunbaracde99e2009-12-18 18:42:37 +0000412// ARM:#define __ARM_ARCH_6J__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000413// ARM:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +0000414// ARM:#define __CHAR16_TYPE__ unsigned short
415// ARM:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000416// ARM:#define __CHAR_BIT__ 8
417// ARM:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
418// ARM:#define __DBL_DIG__ 15
419// ARM:#define __DBL_EPSILON__ 2.2204460492503131e-16
420// ARM:#define __DBL_HAS_DENORM__ 1
421// ARM:#define __DBL_HAS_INFINITY__ 1
422// ARM:#define __DBL_HAS_QUIET_NAN__ 1
423// ARM:#define __DBL_MANT_DIG__ 53
424// ARM:#define __DBL_MAX_10_EXP__ 308
425// ARM:#define __DBL_MAX_EXP__ 1024
426// ARM:#define __DBL_MAX__ 1.7976931348623157e+308
427// ARM:#define __DBL_MIN_10_EXP__ (-307)
428// ARM:#define __DBL_MIN_EXP__ (-1021)
429// ARM:#define __DBL_MIN__ 2.2250738585072014e-308
430// ARM:#define __DECIMAL_DIG__ 17
431// ARM:#define __FLT_DENORM_MIN__ 1.40129846e-45F
432// ARM:#define __FLT_DIG__ 6
433// ARM:#define __FLT_EPSILON__ 1.19209290e-7F
434// ARM:#define __FLT_EVAL_METHOD__ 0
435// ARM:#define __FLT_HAS_DENORM__ 1
436// ARM:#define __FLT_HAS_INFINITY__ 1
437// ARM:#define __FLT_HAS_QUIET_NAN__ 1
438// ARM:#define __FLT_MANT_DIG__ 24
439// ARM:#define __FLT_MAX_10_EXP__ 38
440// ARM:#define __FLT_MAX_EXP__ 128
441// ARM:#define __FLT_MAX__ 3.40282347e+38F
442// ARM:#define __FLT_MIN_10_EXP__ (-37)
443// ARM:#define __FLT_MIN_EXP__ (-125)
444// ARM:#define __FLT_MIN__ 1.17549435e-38F
445// ARM:#define __FLT_RADIX__ 2
446// ARM:#define __INT16_TYPE__ short
447// ARM:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +0000448// ARM:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +0000449// ARM:#define __INT64_TYPE__ long long int
450// ARM:#define __INT8_TYPE__ char
451// ARM:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +0000452// ARM:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +0000453// ARM:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +0000454// ARM:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +0000455// ARM:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000456// ARM:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000457// ARM:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +0000458// ARM:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000459// ARM:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +0000460// ARM:#define __LDBL_HAS_DENORM__ 1
461// ARM:#define __LDBL_HAS_INFINITY__ 1
462// ARM:#define __LDBL_HAS_QUIET_NAN__ 1
463// ARM:#define __LDBL_MANT_DIG__ 53
464// ARM:#define __LDBL_MAX_10_EXP__ 308
465// ARM:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000466// ARM:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +0000467// ARM:#define __LDBL_MIN_10_EXP__ (-307)
468// ARM:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000469// ARM:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnere963d092009-10-29 04:55:36 +0000470// ARM:#define __LITTLE_ENDIAN__ 1
471// ARM:#define __LONG_LONG_MAX__ 9223372036854775807LL
472// ARM:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000473// ARM-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +0000474// ARM:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000475// ARM:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +0000476// ARM:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbaracde99e2009-12-18 18:42:37 +0000477// ARM:#define __REGISTER_PREFIX__
Chris Lattnere963d092009-10-29 04:55:36 +0000478// ARM:#define __SCHAR_MAX__ 127
479// ARM:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +0000480// ARM:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +0000481// ARM:#define __SIZEOF_DOUBLE__ 8
482// ARM:#define __SIZEOF_FLOAT__ 4
483// ARM:#define __SIZEOF_INT__ 4
484// ARM:#define __SIZEOF_LONG_DOUBLE__ 8
485// ARM:#define __SIZEOF_LONG_LONG__ 8
486// ARM:#define __SIZEOF_LONG__ 4
487// ARM:#define __SIZEOF_POINTER__ 4
488// ARM:#define __SIZEOF_PTRDIFF_T__ 4
489// ARM:#define __SIZEOF_SHORT__ 2
490// ARM:#define __SIZEOF_SIZE_T__ 4
491// ARM:#define __SIZEOF_WCHAR_T__ 4
492// ARM:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000493// ARM:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +0000494// ARM:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +0000495// ARM:#define __SIZE_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000496// ARM:#define __THUMB_INTERWORK__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +0000497// ARM:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000498// ARM:#define __USER_LABEL_PREFIX__ _
James Molloyc445be42011-11-23 13:35:08 +0000499// ARM:#define __WCHAR_MAX__ 4294967295U
500// ARM:#define __WCHAR_TYPE__ unsigned int
Ken Dyck0138b9e2009-11-19 15:47:58 +0000501// ARM:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000502// ARM:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +0000503// ARM:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000504// ARM:#define __arm 1
505// ARM:#define __arm__ 1
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000506
507// 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
508//
509// ARM-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +0000510// ARMEABISOFTFP:#define __ALIGNOF_MAX_ALIGN_T__ 8
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000511// ARMEABISOFTFP:#define __APCS_32__ 1
512// ARMEABISOFTFP:#define __ARMEL__ 1
513// ARMEABISOFTFP:#define __ARM_ARCH 6
514// ARMEABISOFTFP:#define __ARM_ARCH_6J__ 1
515// ARMEABISOFTFP:#define __ARM_EABI__ 1
516// ARMEABISOFTFP:#define __ARM_PCS 1
517// ARMEABISOFTFP-NOT:#define __ARM_PCS_VFP 1
518// ARMEABISOFTFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
519// ARMEABISOFTFP:#define __CHAR16_TYPE__ unsigned short
520// ARMEABISOFTFP:#define __CHAR32_TYPE__ unsigned int
521// ARMEABISOFTFP:#define __CHAR_BIT__ 8
522// ARMEABISOFTFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
523// ARMEABISOFTFP:#define __DBL_DIG__ 15
524// ARMEABISOFTFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
525// ARMEABISOFTFP:#define __DBL_HAS_DENORM__ 1
526// ARMEABISOFTFP:#define __DBL_HAS_INFINITY__ 1
527// ARMEABISOFTFP:#define __DBL_HAS_QUIET_NAN__ 1
528// ARMEABISOFTFP:#define __DBL_MANT_DIG__ 53
529// ARMEABISOFTFP:#define __DBL_MAX_10_EXP__ 308
530// ARMEABISOFTFP:#define __DBL_MAX_EXP__ 1024
531// ARMEABISOFTFP:#define __DBL_MAX__ 1.7976931348623157e+308
532// ARMEABISOFTFP:#define __DBL_MIN_10_EXP__ (-307)
533// ARMEABISOFTFP:#define __DBL_MIN_EXP__ (-1021)
534// ARMEABISOFTFP:#define __DBL_MIN__ 2.2250738585072014e-308
535// ARMEABISOFTFP:#define __DECIMAL_DIG__ 17
536// ARMEABISOFTFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
537// ARMEABISOFTFP:#define __FLT_DIG__ 6
538// ARMEABISOFTFP:#define __FLT_EPSILON__ 1.19209290e-7F
539// ARMEABISOFTFP:#define __FLT_EVAL_METHOD__ 0
540// ARMEABISOFTFP:#define __FLT_HAS_DENORM__ 1
541// ARMEABISOFTFP:#define __FLT_HAS_INFINITY__ 1
542// ARMEABISOFTFP:#define __FLT_HAS_QUIET_NAN__ 1
543// ARMEABISOFTFP:#define __FLT_MANT_DIG__ 24
544// ARMEABISOFTFP:#define __FLT_MAX_10_EXP__ 38
545// ARMEABISOFTFP:#define __FLT_MAX_EXP__ 128
546// ARMEABISOFTFP:#define __FLT_MAX__ 3.40282347e+38F
547// ARMEABISOFTFP:#define __FLT_MIN_10_EXP__ (-37)
548// ARMEABISOFTFP:#define __FLT_MIN_EXP__ (-125)
549// ARMEABISOFTFP:#define __FLT_MIN__ 1.17549435e-38F
550// ARMEABISOFTFP:#define __FLT_RADIX__ 2
551// ARMEABISOFTFP:#define __INT16_TYPE__ short
552// ARMEABISOFTFP:#define __INT32_TYPE__ int
553// ARMEABISOFTFP:#define __INT64_C_SUFFIX__ LL
554// ARMEABISOFTFP:#define __INT64_TYPE__ long long int
555// ARMEABISOFTFP:#define __INT8_TYPE__ char
556// ARMEABISOFTFP:#define __INTMAX_MAX__ 9223372036854775807LL
557// ARMEABISOFTFP:#define __INTMAX_TYPE__ long long int
558// ARMEABISOFTFP:#define __INTMAX_WIDTH__ 64
559// ARMEABISOFTFP:#define __INTPTR_TYPE__ long int
560// ARMEABISOFTFP:#define __INTPTR_WIDTH__ 32
561// ARMEABISOFTFP:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000562// ARMEABISOFTFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000563// ARMEABISOFTFP:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000564// ARMEABISOFTFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000565// ARMEABISOFTFP:#define __LDBL_HAS_DENORM__ 1
566// ARMEABISOFTFP:#define __LDBL_HAS_INFINITY__ 1
567// ARMEABISOFTFP:#define __LDBL_HAS_QUIET_NAN__ 1
568// ARMEABISOFTFP:#define __LDBL_MANT_DIG__ 53
569// ARMEABISOFTFP:#define __LDBL_MAX_10_EXP__ 308
570// ARMEABISOFTFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000571// ARMEABISOFTFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000572// ARMEABISOFTFP:#define __LDBL_MIN_10_EXP__ (-307)
573// ARMEABISOFTFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000574// ARMEABISOFTFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000575// ARMEABISOFTFP:#define __LITTLE_ENDIAN__ 1
576// ARMEABISOFTFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
577// ARMEABISOFTFP:#define __LONG_MAX__ 2147483647L
578// ARMEABISOFTFP-NOT:#define __LP64__
579// ARMEABISOFTFP:#define __POINTER_WIDTH__ 32
580// ARMEABISOFTFP:#define __PTRDIFF_TYPE__ int
581// ARMEABISOFTFP:#define __PTRDIFF_WIDTH__ 32
582// ARMEABISOFTFP:#define __REGISTER_PREFIX__
583// ARMEABISOFTFP:#define __SCHAR_MAX__ 127
584// ARMEABISOFTFP:#define __SHRT_MAX__ 32767
585// ARMEABISOFTFP:#define __SIG_ATOMIC_WIDTH__ 32
586// ARMEABISOFTFP:#define __SIZEOF_DOUBLE__ 8
587// ARMEABISOFTFP:#define __SIZEOF_FLOAT__ 4
588// ARMEABISOFTFP:#define __SIZEOF_INT__ 4
589// ARMEABISOFTFP:#define __SIZEOF_LONG_DOUBLE__ 8
590// ARMEABISOFTFP:#define __SIZEOF_LONG_LONG__ 8
591// ARMEABISOFTFP:#define __SIZEOF_LONG__ 4
592// ARMEABISOFTFP:#define __SIZEOF_POINTER__ 4
593// ARMEABISOFTFP:#define __SIZEOF_PTRDIFF_T__ 4
594// ARMEABISOFTFP:#define __SIZEOF_SHORT__ 2
595// ARMEABISOFTFP:#define __SIZEOF_SIZE_T__ 4
596// ARMEABISOFTFP:#define __SIZEOF_WCHAR_T__ 4
597// ARMEABISOFTFP:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000598// ARMEABISOFTFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000599// ARMEABISOFTFP:#define __SIZE_TYPE__ unsigned int
600// ARMEABISOFTFP:#define __SIZE_WIDTH__ 32
601// ARMEABISOFTFP:#define __SOFTFP__ 1
602// ARMEABISOFTFP:#define __THUMB_INTERWORK__ 1
603// ARMEABISOFTFP:#define __UINTMAX_TYPE__ long long unsigned int
604// ARMEABISOFTFP:#define __USER_LABEL_PREFIX__
605// ARMEABISOFTFP:#define __WCHAR_MAX__ 4294967295U
606// ARMEABISOFTFP:#define __WCHAR_TYPE__ unsigned int
607// ARMEABISOFTFP:#define __WCHAR_WIDTH__ 32
608// ARMEABISOFTFP:#define __WINT_TYPE__ unsigned int
609// ARMEABISOFTFP:#define __WINT_WIDTH__ 32
610// ARMEABISOFTFP:#define __arm 1
611// ARMEABISOFTFP:#define __arm__ 1
612
613// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-linux-gnueabi < /dev/null | FileCheck -check-prefix ARMEABIHARDFP %s
614//
615// ARM-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +0000616// ARMEABIHARDFP:#define __ALIGNOF_MAX_ALIGN_T__ 8
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000617// ARMEABIHARDFP:#define __APCS_32__ 1
618// ARMEABIHARDFP:#define __ARMEL__ 1
619// ARMEABIHARDFP:#define __ARM_ARCH 6
620// ARMEABIHARDFP:#define __ARM_ARCH_6J__ 1
621// ARMEABIHARDFP:#define __ARM_EABI__ 1
622// ARMEABIHARDFP:#define __ARM_PCS 1
623// ARMEABIHARDFP:#define __ARM_PCS_VFP 1
624// ARMEABIHARDFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
625// ARMEABIHARDFP:#define __CHAR16_TYPE__ unsigned short
626// ARMEABIHARDFP:#define __CHAR32_TYPE__ unsigned int
627// ARMEABIHARDFP:#define __CHAR_BIT__ 8
628// ARMEABIHARDFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
629// ARMEABIHARDFP:#define __DBL_DIG__ 15
630// ARMEABIHARDFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
631// ARMEABIHARDFP:#define __DBL_HAS_DENORM__ 1
632// ARMEABIHARDFP:#define __DBL_HAS_INFINITY__ 1
633// ARMEABIHARDFP:#define __DBL_HAS_QUIET_NAN__ 1
634// ARMEABIHARDFP:#define __DBL_MANT_DIG__ 53
635// ARMEABIHARDFP:#define __DBL_MAX_10_EXP__ 308
636// ARMEABIHARDFP:#define __DBL_MAX_EXP__ 1024
637// ARMEABIHARDFP:#define __DBL_MAX__ 1.7976931348623157e+308
638// ARMEABIHARDFP:#define __DBL_MIN_10_EXP__ (-307)
639// ARMEABIHARDFP:#define __DBL_MIN_EXP__ (-1021)
640// ARMEABIHARDFP:#define __DBL_MIN__ 2.2250738585072014e-308
641// ARMEABIHARDFP:#define __DECIMAL_DIG__ 17
642// ARMEABIHARDFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
643// ARMEABIHARDFP:#define __FLT_DIG__ 6
644// ARMEABIHARDFP:#define __FLT_EPSILON__ 1.19209290e-7F
645// ARMEABIHARDFP:#define __FLT_EVAL_METHOD__ 0
646// ARMEABIHARDFP:#define __FLT_HAS_DENORM__ 1
647// ARMEABIHARDFP:#define __FLT_HAS_INFINITY__ 1
648// ARMEABIHARDFP:#define __FLT_HAS_QUIET_NAN__ 1
649// ARMEABIHARDFP:#define __FLT_MANT_DIG__ 24
650// ARMEABIHARDFP:#define __FLT_MAX_10_EXP__ 38
651// ARMEABIHARDFP:#define __FLT_MAX_EXP__ 128
652// ARMEABIHARDFP:#define __FLT_MAX__ 3.40282347e+38F
653// ARMEABIHARDFP:#define __FLT_MIN_10_EXP__ (-37)
654// ARMEABIHARDFP:#define __FLT_MIN_EXP__ (-125)
655// ARMEABIHARDFP:#define __FLT_MIN__ 1.17549435e-38F
656// ARMEABIHARDFP:#define __FLT_RADIX__ 2
657// ARMEABIHARDFP:#define __INT16_TYPE__ short
658// ARMEABIHARDFP:#define __INT32_TYPE__ int
659// ARMEABIHARDFP:#define __INT64_C_SUFFIX__ LL
660// ARMEABIHARDFP:#define __INT64_TYPE__ long long int
661// ARMEABIHARDFP:#define __INT8_TYPE__ char
662// ARMEABIHARDFP:#define __INTMAX_MAX__ 9223372036854775807LL
663// ARMEABIHARDFP:#define __INTMAX_TYPE__ long long int
664// ARMEABIHARDFP:#define __INTMAX_WIDTH__ 64
665// ARMEABIHARDFP:#define __INTPTR_TYPE__ long int
666// ARMEABIHARDFP:#define __INTPTR_WIDTH__ 32
667// ARMEABIHARDFP:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000668// ARMEABIHARDFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000669// ARMEABIHARDFP:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000670// ARMEABIHARDFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000671// ARMEABIHARDFP:#define __LDBL_HAS_DENORM__ 1
672// ARMEABIHARDFP:#define __LDBL_HAS_INFINITY__ 1
673// ARMEABIHARDFP:#define __LDBL_HAS_QUIET_NAN__ 1
674// ARMEABIHARDFP:#define __LDBL_MANT_DIG__ 53
675// ARMEABIHARDFP:#define __LDBL_MAX_10_EXP__ 308
676// ARMEABIHARDFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000677// ARMEABIHARDFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000678// ARMEABIHARDFP:#define __LDBL_MIN_10_EXP__ (-307)
679// ARMEABIHARDFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000680// ARMEABIHARDFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000681// ARMEABIHARDFP:#define __LITTLE_ENDIAN__ 1
682// ARMEABIHARDFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
683// ARMEABIHARDFP:#define __LONG_MAX__ 2147483647L
684// ARMEABIHARDFP-NOT:#define __LP64__
685// ARMEABIHARDFP:#define __POINTER_WIDTH__ 32
686// ARMEABIHARDFP:#define __PTRDIFF_TYPE__ int
687// ARMEABIHARDFP:#define __PTRDIFF_WIDTH__ 32
688// ARMEABIHARDFP:#define __REGISTER_PREFIX__
689// ARMEABIHARDFP:#define __SCHAR_MAX__ 127
690// ARMEABIHARDFP:#define __SHRT_MAX__ 32767
691// ARMEABIHARDFP:#define __SIG_ATOMIC_WIDTH__ 32
692// ARMEABIHARDFP:#define __SIZEOF_DOUBLE__ 8
693// ARMEABIHARDFP:#define __SIZEOF_FLOAT__ 4
694// ARMEABIHARDFP:#define __SIZEOF_INT__ 4
695// ARMEABIHARDFP:#define __SIZEOF_LONG_DOUBLE__ 8
696// ARMEABIHARDFP:#define __SIZEOF_LONG_LONG__ 8
697// ARMEABIHARDFP:#define __SIZEOF_LONG__ 4
698// ARMEABIHARDFP:#define __SIZEOF_POINTER__ 4
699// ARMEABIHARDFP:#define __SIZEOF_PTRDIFF_T__ 4
700// ARMEABIHARDFP:#define __SIZEOF_SHORT__ 2
701// ARMEABIHARDFP:#define __SIZEOF_SIZE_T__ 4
702// ARMEABIHARDFP:#define __SIZEOF_WCHAR_T__ 4
703// ARMEABIHARDFP:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000704// ARMEABIHARDFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000705// ARMEABIHARDFP:#define __SIZE_TYPE__ unsigned int
706// ARMEABIHARDFP:#define __SIZE_WIDTH__ 32
707// ARMEABIHARDFP-NOT:#define __SOFTFP__ 1
708// ARMEABIHARDFP:#define __THUMB_INTERWORK__ 1
709// ARMEABIHARDFP:#define __UINTMAX_TYPE__ long long unsigned int
710// ARMEABIHARDFP:#define __USER_LABEL_PREFIX__
711// ARMEABIHARDFP:#define __WCHAR_MAX__ 4294967295U
712// ARMEABIHARDFP:#define __WCHAR_TYPE__ unsigned int
713// ARMEABIHARDFP:#define __WCHAR_WIDTH__ 32
714// ARMEABIHARDFP:#define __WINT_TYPE__ unsigned int
715// ARMEABIHARDFP:#define __WINT_WIDTH__ 32
716// ARMEABIHARDFP:#define __arm 1
717// ARMEABIHARDFP:#define __arm__ 1
718
Tim Northovere77f78c2013-11-11 19:11:22 +0000719// RUN: %clang -target arm -arch armv7s -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
720// RUN: %clang -target arm -arch armv6m -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
721// RUN: %clang -target arm -arch armv7m -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
722// RUN: %clang -target arm -arch armv7em -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
723// RUN: %clang -target thumbv7-apple-darwin-eabi -arch armv7 -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
724// ARM-DARWIN-NO-EABI-NOT: #define __ARM_EABI__ 1
725
Silviu Barangaf9671dd2013-10-21 10:54:53 +0000726// Check that -mhwdiv works properly for targets which don't have the hwdiv feature enabled by default.
727
728// RUN: %clang -target arm -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-ARM %s
729// ARMHWDIV-ARM:#define __ARM_ARCH_EXT_IDIV__ 1
730
731// RUN: %clang -target arm -mthumb -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-THUMB %s
732// THUMBHWDIV-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1
733
734// RUN: %clang -target arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-FALSE %s
735// ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
736
737// RUN: %clang -target arm -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMB-FALSE %s
738// THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
739
740// RUN: %clang -target arm -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-ARM-FALSE %s
741// THUMBHWDIV-ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
742
743// RUN: %clang -target arm -mthumb -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-THUMB-FALSE %s
744// ARMHWDIV-THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
745
Weiming Zhaofb5c21a2014-01-22 18:42:13 +0000746// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armv8-none-none < /dev/null | FileCheck -check-prefix ARMv8 %s
747// ARMv8: #define __THUMB_INTERWORK__ 1
748// ARMv8-NOT: #define __thumb2__
749
750// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv8 < /dev/null | FileCheck -check-prefix Thumbv8 %s
751// Thumbv8: #define __THUMB_INTERWORK__ 1
752// Thumbv8: #define __thumb2__
753
754// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv5 < /dev/null | FileCheck -check-prefix Thumbv5 %s
755// Thumbv5: #define __THUMB_INTERWORK__ 1
756// Thumbv5-NOT: #define __thumb2__
757
758// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv6t2 < /dev/null | FileCheck -check-prefix Thumbv6t2 %s
759// Thumbv6t2: #define __THUMB_INTERWORK__ 1
760// Thumbv6t2: #define __thumb2__
761
762// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv7 < /dev/null | FileCheck -check-prefix Thumbv7 %s
763// Thumbv7: #define __THUMB_INTERWORK__ 1
764// Thumbv7: #define __thumb2__
765
Chris Lattnere963d092009-10-29 04:55:36 +0000766//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000767// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
Chris Lattnere963d092009-10-29 04:55:36 +0000768//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000769// I386-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +0000770// I386:#define __ALIGNOF_MAX_ALIGN_T__ 16
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000771// I386:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +0000772// I386:#define __CHAR16_TYPE__ unsigned short
773// I386:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000774// I386:#define __CHAR_BIT__ 8
775// I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
776// I386:#define __DBL_DIG__ 15
777// I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
778// I386:#define __DBL_HAS_DENORM__ 1
779// I386:#define __DBL_HAS_INFINITY__ 1
780// I386:#define __DBL_HAS_QUIET_NAN__ 1
781// I386:#define __DBL_MANT_DIG__ 53
782// I386:#define __DBL_MAX_10_EXP__ 308
783// I386:#define __DBL_MAX_EXP__ 1024
784// I386:#define __DBL_MAX__ 1.7976931348623157e+308
785// I386:#define __DBL_MIN_10_EXP__ (-307)
786// I386:#define __DBL_MIN_EXP__ (-1021)
787// I386:#define __DBL_MIN__ 2.2250738585072014e-308
788// I386:#define __DECIMAL_DIG__ 21
789// I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
790// I386:#define __FLT_DIG__ 6
791// I386:#define __FLT_EPSILON__ 1.19209290e-7F
Benjamin Kramercf501472011-12-28 15:47:06 +0000792// I386:#define __FLT_EVAL_METHOD__ 2
Chris Lattnere963d092009-10-29 04:55:36 +0000793// I386:#define __FLT_HAS_DENORM__ 1
794// I386:#define __FLT_HAS_INFINITY__ 1
795// I386:#define __FLT_HAS_QUIET_NAN__ 1
796// I386:#define __FLT_MANT_DIG__ 24
797// I386:#define __FLT_MAX_10_EXP__ 38
798// I386:#define __FLT_MAX_EXP__ 128
799// I386:#define __FLT_MAX__ 3.40282347e+38F
800// I386:#define __FLT_MIN_10_EXP__ (-37)
801// I386:#define __FLT_MIN_EXP__ (-125)
802// I386:#define __FLT_MIN__ 1.17549435e-38F
803// I386:#define __FLT_RADIX__ 2
804// I386:#define __INT16_TYPE__ short
805// I386:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +0000806// I386:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +0000807// I386:#define __INT64_TYPE__ long long int
808// I386:#define __INT8_TYPE__ char
809// I386:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +0000810// I386:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +0000811// I386:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +0000812// I386:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +0000813// I386:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000814// I386:#define __INT_MAX__ 2147483647
815// I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
816// I386:#define __LDBL_DIG__ 18
817// I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
818// I386:#define __LDBL_HAS_DENORM__ 1
819// I386:#define __LDBL_HAS_INFINITY__ 1
820// I386:#define __LDBL_HAS_QUIET_NAN__ 1
821// I386:#define __LDBL_MANT_DIG__ 64
822// I386:#define __LDBL_MAX_10_EXP__ 4932
823// I386:#define __LDBL_MAX_EXP__ 16384
824// I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
825// I386:#define __LDBL_MIN_10_EXP__ (-4931)
826// I386:#define __LDBL_MIN_EXP__ (-16381)
827// I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
828// I386:#define __LITTLE_ENDIAN__ 1
829// I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
830// I386:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000831// I386-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +0000832// I386:#define __NO_MATH_INLINES 1
833// I386:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000834// I386:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +0000835// I386:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000836// I386:#define __REGISTER_PREFIX__
837// I386:#define __SCHAR_MAX__ 127
838// I386:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +0000839// I386:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +0000840// I386:#define __SIZEOF_DOUBLE__ 8
841// I386:#define __SIZEOF_FLOAT__ 4
842// I386:#define __SIZEOF_INT__ 4
843// I386:#define __SIZEOF_LONG_DOUBLE__ 12
844// I386:#define __SIZEOF_LONG_LONG__ 8
845// I386:#define __SIZEOF_LONG__ 4
846// I386:#define __SIZEOF_POINTER__ 4
847// I386:#define __SIZEOF_PTRDIFF_T__ 4
848// I386:#define __SIZEOF_SHORT__ 2
849// I386:#define __SIZEOF_SIZE_T__ 4
850// I386:#define __SIZEOF_WCHAR_T__ 4
851// I386:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000852// I386:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +0000853// I386:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +0000854// I386:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000855// I386:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000856// I386:#define __USER_LABEL_PREFIX__ _
857// I386:#define __WCHAR_MAX__ 2147483647
858// I386:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +0000859// I386:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000860// I386:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +0000861// I386:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000862// I386:#define __i386 1
863// I386:#define __i386__ 1
Chris Lattnere963d092009-10-29 04:55:36 +0000864// I386:#define i386 1
865//
Benjamin Kramercf501472011-12-28 15:47:06 +0000866// 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 +0000867//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000868// I386-LINUX-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +0000869// I386-LINUX:#define __ALIGNOF_MAX_ALIGN_T__ 16
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000870// I386-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregore6d6e512011-01-12 21:19:25 +0000871// I386-LINUX:#define __CHAR16_TYPE__ unsigned short
872// I386-LINUX:#define __CHAR32_TYPE__ unsigned int
873// I386-LINUX:#define __CHAR_BIT__ 8
874// I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
875// I386-LINUX:#define __DBL_DIG__ 15
876// I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
877// I386-LINUX:#define __DBL_HAS_DENORM__ 1
878// I386-LINUX:#define __DBL_HAS_INFINITY__ 1
879// I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
880// I386-LINUX:#define __DBL_MANT_DIG__ 53
881// I386-LINUX:#define __DBL_MAX_10_EXP__ 308
882// I386-LINUX:#define __DBL_MAX_EXP__ 1024
883// I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
884// I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
885// I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
886// I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
887// I386-LINUX:#define __DECIMAL_DIG__ 21
888// I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
889// I386-LINUX:#define __FLT_DIG__ 6
890// I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
891// I386-LINUX:#define __FLT_EVAL_METHOD__ 0
892// I386-LINUX:#define __FLT_HAS_DENORM__ 1
893// I386-LINUX:#define __FLT_HAS_INFINITY__ 1
894// I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
895// I386-LINUX:#define __FLT_MANT_DIG__ 24
896// I386-LINUX:#define __FLT_MAX_10_EXP__ 38
897// I386-LINUX:#define __FLT_MAX_EXP__ 128
898// I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
899// I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
900// I386-LINUX:#define __FLT_MIN_EXP__ (-125)
901// I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
902// I386-LINUX:#define __FLT_RADIX__ 2
903// I386-LINUX:#define __INT16_TYPE__ short
904// I386-LINUX:#define __INT32_TYPE__ int
905// I386-LINUX:#define __INT64_C_SUFFIX__ LL
906// I386-LINUX:#define __INT64_TYPE__ long long int
907// I386-LINUX:#define __INT8_TYPE__ char
908// I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
909// I386-LINUX:#define __INTMAX_TYPE__ long long int
910// I386-LINUX:#define __INTMAX_WIDTH__ 64
911// I386-LINUX:#define __INTPTR_TYPE__ int
912// I386-LINUX:#define __INTPTR_WIDTH__ 32
913// I386-LINUX:#define __INT_MAX__ 2147483647
914// I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
915// I386-LINUX:#define __LDBL_DIG__ 18
916// I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
917// I386-LINUX:#define __LDBL_HAS_DENORM__ 1
918// I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
919// I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
920// I386-LINUX:#define __LDBL_MANT_DIG__ 64
921// I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
922// I386-LINUX:#define __LDBL_MAX_EXP__ 16384
923// I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
924// I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
925// I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
926// I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
927// I386-LINUX:#define __LITTLE_ENDIAN__ 1
928// I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
929// I386-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000930// I386-LINUX-NOT:#define __LP64__
Douglas Gregore6d6e512011-01-12 21:19:25 +0000931// I386-LINUX:#define __NO_MATH_INLINES 1
932// I386-LINUX:#define __POINTER_WIDTH__ 32
933// I386-LINUX:#define __PTRDIFF_TYPE__ int
934// I386-LINUX:#define __PTRDIFF_WIDTH__ 32
935// I386-LINUX:#define __REGISTER_PREFIX__
936// I386-LINUX:#define __SCHAR_MAX__ 127
937// I386-LINUX:#define __SHRT_MAX__ 32767
938// I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
939// I386-LINUX:#define __SIZEOF_DOUBLE__ 8
940// I386-LINUX:#define __SIZEOF_FLOAT__ 4
941// I386-LINUX:#define __SIZEOF_INT__ 4
942// I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
943// I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
944// I386-LINUX:#define __SIZEOF_LONG__ 4
945// I386-LINUX:#define __SIZEOF_POINTER__ 4
946// I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
947// I386-LINUX:#define __SIZEOF_SHORT__ 2
948// I386-LINUX:#define __SIZEOF_SIZE_T__ 4
949// I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
950// I386-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000951// I386-LINUX:#define __SIZE_MAX__ 4294967295U
Douglas Gregore6d6e512011-01-12 21:19:25 +0000952// I386-LINUX:#define __SIZE_TYPE__ unsigned int
953// I386-LINUX:#define __SIZE_WIDTH__ 32
954// I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
955// I386-LINUX:#define __USER_LABEL_PREFIX__
956// I386-LINUX:#define __WCHAR_MAX__ 2147483647
957// I386-LINUX:#define __WCHAR_TYPE__ int
958// I386-LINUX:#define __WCHAR_WIDTH__ 32
959// I386-LINUX:#define __WINT_TYPE__ unsigned int
960// I386-LINUX:#define __WINT_WIDTH__ 32
961// I386-LINUX:#define __i386 1
962// I386-LINUX:#define __i386__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +0000963// I386-LINUX:#define i386 1
964//
Joerg Sonnenberger0e921f22013-11-11 14:00:37 +0000965// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd < /dev/null | FileCheck -check-prefix I386-NETBSD %s
966//
967// I386-NETBSD-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +0000968// I386-NETBSD:#define __ALIGNOF_MAX_ALIGN_T__ 16
Joerg Sonnenberger0e921f22013-11-11 14:00:37 +0000969// I386-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
970// I386-NETBSD:#define __CHAR16_TYPE__ unsigned short
971// I386-NETBSD:#define __CHAR32_TYPE__ unsigned int
972// I386-NETBSD:#define __CHAR_BIT__ 8
973// I386-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
974// I386-NETBSD:#define __DBL_DIG__ 15
975// I386-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
976// I386-NETBSD:#define __DBL_HAS_DENORM__ 1
977// I386-NETBSD:#define __DBL_HAS_INFINITY__ 1
978// I386-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
979// I386-NETBSD:#define __DBL_MANT_DIG__ 53
980// I386-NETBSD:#define __DBL_MAX_10_EXP__ 308
981// I386-NETBSD:#define __DBL_MAX_EXP__ 1024
982// I386-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
983// I386-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
984// I386-NETBSD:#define __DBL_MIN_EXP__ (-1021)
985// I386-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
986// I386-NETBSD:#define __DECIMAL_DIG__ 21
987// I386-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
988// I386-NETBSD:#define __FLT_DIG__ 6
989// I386-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
990// I386-NETBSD:#define __FLT_EVAL_METHOD__ 2
991// I386-NETBSD:#define __FLT_HAS_DENORM__ 1
992// I386-NETBSD:#define __FLT_HAS_INFINITY__ 1
993// I386-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
994// I386-NETBSD:#define __FLT_MANT_DIG__ 24
995// I386-NETBSD:#define __FLT_MAX_10_EXP__ 38
996// I386-NETBSD:#define __FLT_MAX_EXP__ 128
997// I386-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
998// I386-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
999// I386-NETBSD:#define __FLT_MIN_EXP__ (-125)
1000// I386-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
1001// I386-NETBSD:#define __FLT_RADIX__ 2
1002// I386-NETBSD:#define __INT16_TYPE__ short
1003// I386-NETBSD:#define __INT32_TYPE__ int
1004// I386-NETBSD:#define __INT64_C_SUFFIX__ LL
1005// I386-NETBSD:#define __INT64_TYPE__ long long int
1006// I386-NETBSD:#define __INT8_TYPE__ char
1007// I386-NETBSD:#define __INTMAX_MAX__ 9223372036854775807LL
1008// I386-NETBSD:#define __INTMAX_TYPE__ long long int
1009// I386-NETBSD:#define __INTMAX_WIDTH__ 64
1010// I386-NETBSD:#define __INTPTR_TYPE__ int
1011// I386-NETBSD:#define __INTPTR_WIDTH__ 32
1012// I386-NETBSD:#define __INT_MAX__ 2147483647
1013// I386-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1014// I386-NETBSD:#define __LDBL_DIG__ 18
1015// I386-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1016// I386-NETBSD:#define __LDBL_HAS_DENORM__ 1
1017// I386-NETBSD:#define __LDBL_HAS_INFINITY__ 1
1018// I386-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
1019// I386-NETBSD:#define __LDBL_MANT_DIG__ 64
1020// I386-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
1021// I386-NETBSD:#define __LDBL_MAX_EXP__ 16384
1022// I386-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1023// I386-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
1024// I386-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
1025// I386-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1026// I386-NETBSD:#define __LITTLE_ENDIAN__ 1
1027// I386-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
1028// I386-NETBSD:#define __LONG_MAX__ 2147483647L
1029// I386-NETBSD-NOT:#define __LP64__
1030// I386-NETBSD:#define __NO_MATH_INLINES 1
1031// I386-NETBSD:#define __POINTER_WIDTH__ 32
1032// I386-NETBSD:#define __PTRDIFF_TYPE__ int
1033// I386-NETBSD:#define __PTRDIFF_WIDTH__ 32
1034// I386-NETBSD:#define __REGISTER_PREFIX__
1035// I386-NETBSD:#define __SCHAR_MAX__ 127
1036// I386-NETBSD:#define __SHRT_MAX__ 32767
1037// I386-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
1038// I386-NETBSD:#define __SIZEOF_DOUBLE__ 8
1039// I386-NETBSD:#define __SIZEOF_FLOAT__ 4
1040// I386-NETBSD:#define __SIZEOF_INT__ 4
1041// I386-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 12
1042// I386-NETBSD:#define __SIZEOF_LONG_LONG__ 8
1043// I386-NETBSD:#define __SIZEOF_LONG__ 4
1044// I386-NETBSD:#define __SIZEOF_POINTER__ 4
1045// I386-NETBSD:#define __SIZEOF_PTRDIFF_T__ 4
1046// I386-NETBSD:#define __SIZEOF_SHORT__ 2
1047// I386-NETBSD:#define __SIZEOF_SIZE_T__ 4
1048// I386-NETBSD:#define __SIZEOF_WCHAR_T__ 4
1049// I386-NETBSD:#define __SIZEOF_WINT_T__ 4
1050// I386-NETBSD:#define __SIZE_MAX__ 4294967295U
1051// I386-NETBSD:#define __SIZE_TYPE__ unsigned int
1052// I386-NETBSD:#define __SIZE_WIDTH__ 32
1053// I386-NETBSD:#define __UINTMAX_TYPE__ long long unsigned int
1054// I386-NETBSD:#define __USER_LABEL_PREFIX__
1055// I386-NETBSD:#define __WCHAR_MAX__ 2147483647
1056// I386-NETBSD:#define __WCHAR_TYPE__ int
1057// I386-NETBSD:#define __WCHAR_WIDTH__ 32
1058// I386-NETBSD:#define __WINT_TYPE__ int
1059// I386-NETBSD:#define __WINT_WIDTH__ 32
1060// I386-NETBSD:#define __i386 1
1061// I386-NETBSD:#define __i386__ 1
1062// I386-NETBSD:#define i386 1
1063//
1064// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD-SSE %s
1065// I386-NETBSD-SSE:#define __FLT_EVAL_METHOD__ 0
1066// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 < /dev/null | FileCheck -check-prefix I386-NETBSD6 %s
1067// I386-NETBSD6:#define __FLT_EVAL_METHOD__ 1
1068// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD6-SSE %s
1069// I386-NETBSD6-SSE:#define __FLT_EVAL_METHOD__ 1
1070
1071//
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001072// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none < /dev/null | FileCheck -check-prefix MIPS32BE %s
1073//
1074// MIPS32BE:#define MIPSEB 1
1075// MIPS32BE:#define _ABIO32 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001076// MIPS32BE-NOT:#define _LP64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001077// MIPS32BE:#define _MIPSEB 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001078// MIPS32BE:#define _MIPS_ARCH "mips32r2"
1079// MIPS32BE:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001080// MIPS32BE:#define _MIPS_FPSET 16
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001081// MIPS32BE:#define _MIPS_SIM _ABIO32
1082// MIPS32BE:#define _MIPS_SZINT 32
1083// MIPS32BE:#define _MIPS_SZLONG 32
1084// MIPS32BE:#define _MIPS_SZPTR 32
David Majnemer158ba132014-02-09 05:30:48 +00001085// MIPS32BE:#define __ALIGNOF_MAX_ALIGN_T__ 8
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001086// MIPS32BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001087// MIPS32BE:#define __CHAR16_TYPE__ unsigned short
1088// MIPS32BE:#define __CHAR32_TYPE__ unsigned int
1089// MIPS32BE:#define __CHAR_BIT__ 8
1090// MIPS32BE:#define __CONSTANT_CFSTRINGS__ 1
1091// MIPS32BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1092// MIPS32BE:#define __DBL_DIG__ 15
1093// MIPS32BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
1094// MIPS32BE:#define __DBL_HAS_DENORM__ 1
1095// MIPS32BE:#define __DBL_HAS_INFINITY__ 1
1096// MIPS32BE:#define __DBL_HAS_QUIET_NAN__ 1
1097// MIPS32BE:#define __DBL_MANT_DIG__ 53
1098// MIPS32BE:#define __DBL_MAX_10_EXP__ 308
1099// MIPS32BE:#define __DBL_MAX_EXP__ 1024
1100// MIPS32BE:#define __DBL_MAX__ 1.7976931348623157e+308
1101// MIPS32BE:#define __DBL_MIN_10_EXP__ (-307)
1102// MIPS32BE:#define __DBL_MIN_EXP__ (-1021)
1103// MIPS32BE:#define __DBL_MIN__ 2.2250738585072014e-308
1104// MIPS32BE:#define __DECIMAL_DIG__ 17
1105// MIPS32BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1106// MIPS32BE:#define __FLT_DIG__ 6
1107// MIPS32BE:#define __FLT_EPSILON__ 1.19209290e-7F
1108// MIPS32BE:#define __FLT_EVAL_METHOD__ 0
1109// MIPS32BE:#define __FLT_HAS_DENORM__ 1
1110// MIPS32BE:#define __FLT_HAS_INFINITY__ 1
1111// MIPS32BE:#define __FLT_HAS_QUIET_NAN__ 1
1112// MIPS32BE:#define __FLT_MANT_DIG__ 24
1113// MIPS32BE:#define __FLT_MAX_10_EXP__ 38
1114// MIPS32BE:#define __FLT_MAX_EXP__ 128
1115// MIPS32BE:#define __FLT_MAX__ 3.40282347e+38F
1116// MIPS32BE:#define __FLT_MIN_10_EXP__ (-37)
1117// MIPS32BE:#define __FLT_MIN_EXP__ (-125)
1118// MIPS32BE:#define __FLT_MIN__ 1.17549435e-38F
1119// MIPS32BE:#define __FLT_RADIX__ 2
1120// MIPS32BE:#define __INT16_TYPE__ short
1121// MIPS32BE:#define __INT32_TYPE__ int
1122// MIPS32BE:#define __INT64_C_SUFFIX__ LL
1123// MIPS32BE:#define __INT64_TYPE__ long long int
1124// MIPS32BE:#define __INT8_TYPE__ char
1125// MIPS32BE:#define __INTMAX_MAX__ 9223372036854775807LL
1126// MIPS32BE:#define __INTMAX_TYPE__ long long int
1127// MIPS32BE:#define __INTMAX_WIDTH__ 64
1128// MIPS32BE:#define __INTPTR_TYPE__ long int
1129// MIPS32BE:#define __INTPTR_WIDTH__ 32
1130// MIPS32BE:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001131// MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001132// MIPS32BE:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001133// MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001134// MIPS32BE:#define __LDBL_HAS_DENORM__ 1
1135// MIPS32BE:#define __LDBL_HAS_INFINITY__ 1
1136// MIPS32BE:#define __LDBL_HAS_QUIET_NAN__ 1
1137// MIPS32BE:#define __LDBL_MANT_DIG__ 53
1138// MIPS32BE:#define __LDBL_MAX_10_EXP__ 308
1139// MIPS32BE:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001140// MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001141// MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307)
1142// MIPS32BE:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001143// MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001144// MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1145// MIPS32BE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001146// MIPS32BE-NOT:#define __LP64__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001147// MIPS32BE:#define __MIPSEB 1
1148// MIPS32BE:#define __MIPSEB__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001149// MIPS32BE:#define __POINTER_WIDTH__ 32
1150// MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1
1151// MIPS32BE:#define __PTRDIFF_TYPE__ int
1152// MIPS32BE:#define __PTRDIFF_WIDTH__ 32
1153// MIPS32BE:#define __REGISTER_PREFIX__
1154// MIPS32BE:#define __SCHAR_MAX__ 127
1155// MIPS32BE:#define __SHRT_MAX__ 32767
1156// MIPS32BE:#define __SIG_ATOMIC_WIDTH__ 32
1157// MIPS32BE:#define __SIZEOF_DOUBLE__ 8
1158// MIPS32BE:#define __SIZEOF_FLOAT__ 4
1159// MIPS32BE:#define __SIZEOF_INT__ 4
1160// MIPS32BE:#define __SIZEOF_LONG_DOUBLE__ 8
1161// MIPS32BE:#define __SIZEOF_LONG_LONG__ 8
1162// MIPS32BE:#define __SIZEOF_LONG__ 4
1163// MIPS32BE:#define __SIZEOF_POINTER__ 4
1164// MIPS32BE:#define __SIZEOF_PTRDIFF_T__ 4
1165// MIPS32BE:#define __SIZEOF_SHORT__ 2
1166// MIPS32BE:#define __SIZEOF_SIZE_T__ 4
1167// MIPS32BE:#define __SIZEOF_WCHAR_T__ 4
1168// MIPS32BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001169// MIPS32BE:#define __SIZE_MAX__ 4294967295U
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001170// MIPS32BE:#define __SIZE_TYPE__ unsigned int
1171// MIPS32BE:#define __SIZE_WIDTH__ 32
1172// MIPS32BE:#define __STDC_HOSTED__ 0
1173// MIPS32BE:#define __STDC_VERSION__ 199901L
1174// MIPS32BE:#define __STDC__ 1
1175// MIPS32BE:#define __UINTMAX_TYPE__ long long unsigned int
1176// MIPS32BE:#define __USER_LABEL_PREFIX__ _
1177// MIPS32BE:#define __WCHAR_MAX__ 2147483647
1178// MIPS32BE:#define __WCHAR_TYPE__ int
1179// MIPS32BE:#define __WCHAR_WIDTH__ 32
1180// MIPS32BE:#define __WINT_TYPE__ int
1181// MIPS32BE:#define __WINT_WIDTH__ 32
1182// MIPS32BE:#define __clang__ 1
1183// MIPS32BE:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001184// MIPS32BE:#define __mips 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001185// MIPS32BE:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001186// MIPS32BE:#define __mips_fpr 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001187// MIPS32BE:#define __mips_hard_float 1
1188// MIPS32BE:#define __mips_o32 1
1189// MIPS32BE:#define _mips 1
1190// MIPS32BE:#define mips 1
1191//
1192// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -check-prefix MIPS32EL %s
1193//
1194// MIPS32EL:#define MIPSEL 1
1195// MIPS32EL:#define _ABIO32 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001196// MIPS32EL-NOT:#define _LP64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001197// MIPS32EL:#define _MIPSEL 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001198// MIPS32EL:#define _MIPS_ARCH "mips32r2"
1199// MIPS32EL:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001200// MIPS32EL:#define _MIPS_FPSET 16
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001201// MIPS32EL:#define _MIPS_SIM _ABIO32
1202// MIPS32EL:#define _MIPS_SZINT 32
1203// MIPS32EL:#define _MIPS_SZLONG 32
1204// MIPS32EL:#define _MIPS_SZPTR 32
David Majnemer158ba132014-02-09 05:30:48 +00001205// MIPS32EL:#define __ALIGNOF_MAX_ALIGN_T__ 8
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001206// MIPS32EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001207// MIPS32EL:#define __CHAR16_TYPE__ unsigned short
1208// MIPS32EL:#define __CHAR32_TYPE__ unsigned int
1209// MIPS32EL:#define __CHAR_BIT__ 8
1210// MIPS32EL:#define __CONSTANT_CFSTRINGS__ 1
1211// MIPS32EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1212// MIPS32EL:#define __DBL_DIG__ 15
1213// MIPS32EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1214// MIPS32EL:#define __DBL_HAS_DENORM__ 1
1215// MIPS32EL:#define __DBL_HAS_INFINITY__ 1
1216// MIPS32EL:#define __DBL_HAS_QUIET_NAN__ 1
1217// MIPS32EL:#define __DBL_MANT_DIG__ 53
1218// MIPS32EL:#define __DBL_MAX_10_EXP__ 308
1219// MIPS32EL:#define __DBL_MAX_EXP__ 1024
1220// MIPS32EL:#define __DBL_MAX__ 1.7976931348623157e+308
1221// MIPS32EL:#define __DBL_MIN_10_EXP__ (-307)
1222// MIPS32EL:#define __DBL_MIN_EXP__ (-1021)
1223// MIPS32EL:#define __DBL_MIN__ 2.2250738585072014e-308
1224// MIPS32EL:#define __DECIMAL_DIG__ 17
1225// MIPS32EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1226// MIPS32EL:#define __FLT_DIG__ 6
1227// MIPS32EL:#define __FLT_EPSILON__ 1.19209290e-7F
1228// MIPS32EL:#define __FLT_EVAL_METHOD__ 0
1229// MIPS32EL:#define __FLT_HAS_DENORM__ 1
1230// MIPS32EL:#define __FLT_HAS_INFINITY__ 1
1231// MIPS32EL:#define __FLT_HAS_QUIET_NAN__ 1
1232// MIPS32EL:#define __FLT_MANT_DIG__ 24
1233// MIPS32EL:#define __FLT_MAX_10_EXP__ 38
1234// MIPS32EL:#define __FLT_MAX_EXP__ 128
1235// MIPS32EL:#define __FLT_MAX__ 3.40282347e+38F
1236// MIPS32EL:#define __FLT_MIN_10_EXP__ (-37)
1237// MIPS32EL:#define __FLT_MIN_EXP__ (-125)
1238// MIPS32EL:#define __FLT_MIN__ 1.17549435e-38F
1239// MIPS32EL:#define __FLT_RADIX__ 2
1240// MIPS32EL:#define __INT16_TYPE__ short
1241// MIPS32EL:#define __INT32_TYPE__ int
1242// MIPS32EL:#define __INT64_C_SUFFIX__ LL
1243// MIPS32EL:#define __INT64_TYPE__ long long int
1244// MIPS32EL:#define __INT8_TYPE__ char
1245// MIPS32EL:#define __INTMAX_MAX__ 9223372036854775807LL
1246// MIPS32EL:#define __INTMAX_TYPE__ long long int
1247// MIPS32EL:#define __INTMAX_WIDTH__ 64
1248// MIPS32EL:#define __INTPTR_TYPE__ long int
1249// MIPS32EL:#define __INTPTR_WIDTH__ 32
1250// MIPS32EL:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001251// MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001252// MIPS32EL:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001253// MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001254// MIPS32EL:#define __LDBL_HAS_DENORM__ 1
1255// MIPS32EL:#define __LDBL_HAS_INFINITY__ 1
1256// MIPS32EL:#define __LDBL_HAS_QUIET_NAN__ 1
1257// MIPS32EL:#define __LDBL_MANT_DIG__ 53
1258// MIPS32EL:#define __LDBL_MAX_10_EXP__ 308
1259// MIPS32EL:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001260// MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001261// MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307)
1262// MIPS32EL:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001263// MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001264// MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1265// MIPS32EL:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001266// MIPS32EL-NOT:#define __LP64__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001267// MIPS32EL:#define __MIPSEL 1
1268// MIPS32EL:#define __MIPSEL__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001269// MIPS32EL:#define __POINTER_WIDTH__ 32
1270// MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1271// MIPS32EL:#define __PTRDIFF_TYPE__ int
1272// MIPS32EL:#define __PTRDIFF_WIDTH__ 32
1273// MIPS32EL:#define __REGISTER_PREFIX__
1274// MIPS32EL:#define __SCHAR_MAX__ 127
1275// MIPS32EL:#define __SHRT_MAX__ 32767
1276// MIPS32EL:#define __SIG_ATOMIC_WIDTH__ 32
1277// MIPS32EL:#define __SIZEOF_DOUBLE__ 8
1278// MIPS32EL:#define __SIZEOF_FLOAT__ 4
1279// MIPS32EL:#define __SIZEOF_INT__ 4
1280// MIPS32EL:#define __SIZEOF_LONG_DOUBLE__ 8
1281// MIPS32EL:#define __SIZEOF_LONG_LONG__ 8
1282// MIPS32EL:#define __SIZEOF_LONG__ 4
1283// MIPS32EL:#define __SIZEOF_POINTER__ 4
1284// MIPS32EL:#define __SIZEOF_PTRDIFF_T__ 4
1285// MIPS32EL:#define __SIZEOF_SHORT__ 2
1286// MIPS32EL:#define __SIZEOF_SIZE_T__ 4
1287// MIPS32EL:#define __SIZEOF_WCHAR_T__ 4
1288// MIPS32EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001289// MIPS32EL:#define __SIZE_MAX__ 4294967295U
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001290// MIPS32EL:#define __SIZE_TYPE__ unsigned int
1291// MIPS32EL:#define __SIZE_WIDTH__ 32
1292// MIPS32EL:#define __UINTMAX_TYPE__ long long unsigned int
1293// MIPS32EL:#define __USER_LABEL_PREFIX__ _
1294// MIPS32EL:#define __WCHAR_MAX__ 2147483647
1295// MIPS32EL:#define __WCHAR_TYPE__ int
1296// MIPS32EL:#define __WCHAR_WIDTH__ 32
1297// MIPS32EL:#define __WINT_TYPE__ int
1298// MIPS32EL:#define __WINT_WIDTH__ 32
1299// MIPS32EL:#define __clang__ 1
1300// MIPS32EL:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001301// MIPS32EL:#define __mips 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001302// MIPS32EL:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001303// MIPS32EL:#define __mips_fpr 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001304// MIPS32EL:#define __mips_hard_float 1
1305// MIPS32EL:#define __mips_o32 1
1306// MIPS32EL:#define _mips 1
1307// MIPS32EL:#define mips 1
1308//
1309// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -check-prefix MIPS64BE %s
1310//
1311// MIPS64BE:#define MIPSEB 1
1312// MIPS64BE:#define _ABI64 3
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001313// MIPS64BE:#define _LP64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001314// MIPS64BE:#define _MIPSEB 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001315// MIPS64BE:#define _MIPS_ARCH "mips64r2"
1316// MIPS64BE:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001317// MIPS64BE:#define _MIPS_FPSET 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001318// MIPS64BE:#define _MIPS_SIM _ABI64
1319// MIPS64BE:#define _MIPS_SZINT 32
1320// MIPS64BE:#define _MIPS_SZLONG 64
1321// MIPS64BE:#define _MIPS_SZPTR 64
David Majnemer158ba132014-02-09 05:30:48 +00001322// MIPS64BE:#define __ALIGNOF_MAX_ALIGN_T__ 16
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001323// MIPS64BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001324// MIPS64BE:#define __CHAR16_TYPE__ unsigned short
1325// MIPS64BE:#define __CHAR32_TYPE__ unsigned int
1326// MIPS64BE:#define __CHAR_BIT__ 8
1327// MIPS64BE:#define __CONSTANT_CFSTRINGS__ 1
1328// MIPS64BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1329// MIPS64BE:#define __DBL_DIG__ 15
1330// MIPS64BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
1331// MIPS64BE:#define __DBL_HAS_DENORM__ 1
1332// MIPS64BE:#define __DBL_HAS_INFINITY__ 1
1333// MIPS64BE:#define __DBL_HAS_QUIET_NAN__ 1
1334// MIPS64BE:#define __DBL_MANT_DIG__ 53
1335// MIPS64BE:#define __DBL_MAX_10_EXP__ 308
1336// MIPS64BE:#define __DBL_MAX_EXP__ 1024
1337// MIPS64BE:#define __DBL_MAX__ 1.7976931348623157e+308
1338// MIPS64BE:#define __DBL_MIN_10_EXP__ (-307)
1339// MIPS64BE:#define __DBL_MIN_EXP__ (-1021)
1340// MIPS64BE:#define __DBL_MIN__ 2.2250738585072014e-308
1341// MIPS64BE:#define __DECIMAL_DIG__ 36
1342// MIPS64BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1343// MIPS64BE:#define __FLT_DIG__ 6
1344// MIPS64BE:#define __FLT_EPSILON__ 1.19209290e-7F
1345// MIPS64BE:#define __FLT_EVAL_METHOD__ 0
1346// MIPS64BE:#define __FLT_HAS_DENORM__ 1
1347// MIPS64BE:#define __FLT_HAS_INFINITY__ 1
1348// MIPS64BE:#define __FLT_HAS_QUIET_NAN__ 1
1349// MIPS64BE:#define __FLT_MANT_DIG__ 24
1350// MIPS64BE:#define __FLT_MAX_10_EXP__ 38
1351// MIPS64BE:#define __FLT_MAX_EXP__ 128
1352// MIPS64BE:#define __FLT_MAX__ 3.40282347e+38F
1353// MIPS64BE:#define __FLT_MIN_10_EXP__ (-37)
1354// MIPS64BE:#define __FLT_MIN_EXP__ (-125)
1355// MIPS64BE:#define __FLT_MIN__ 1.17549435e-38F
1356// MIPS64BE:#define __FLT_RADIX__ 2
1357// MIPS64BE:#define __INT16_TYPE__ short
1358// MIPS64BE:#define __INT32_TYPE__ int
1359// MIPS64BE:#define __INT64_C_SUFFIX__ LL
1360// MIPS64BE:#define __INT64_TYPE__ long long int
1361// MIPS64BE:#define __INT8_TYPE__ char
1362// MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807LL
1363// MIPS64BE:#define __INTMAX_TYPE__ long long int
1364// MIPS64BE:#define __INTMAX_WIDTH__ 64
1365// MIPS64BE:#define __INTPTR_TYPE__ long int
1366// MIPS64BE:#define __INTPTR_WIDTH__ 64
1367// MIPS64BE:#define __INT_MAX__ 2147483647
1368// MIPS64BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1369// MIPS64BE:#define __LDBL_DIG__ 33
1370// MIPS64BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1371// MIPS64BE:#define __LDBL_HAS_DENORM__ 1
1372// MIPS64BE:#define __LDBL_HAS_INFINITY__ 1
1373// MIPS64BE:#define __LDBL_HAS_QUIET_NAN__ 1
1374// MIPS64BE:#define __LDBL_MANT_DIG__ 113
1375// MIPS64BE:#define __LDBL_MAX_10_EXP__ 4932
1376// MIPS64BE:#define __LDBL_MAX_EXP__ 16384
1377// MIPS64BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1378// MIPS64BE:#define __LDBL_MIN_10_EXP__ (-4931)
1379// MIPS64BE:#define __LDBL_MIN_EXP__ (-16381)
1380// MIPS64BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1381// MIPS64BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1382// MIPS64BE:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001383// MIPS64BE:#define __LP64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001384// MIPS64BE:#define __MIPSEB 1
1385// MIPS64BE:#define __MIPSEB__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001386// MIPS64BE:#define __POINTER_WIDTH__ 64
1387// MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1
1388// MIPS64BE:#define __PTRDIFF_TYPE__ long int
1389// MIPS64BE:#define __PTRDIFF_WIDTH__ 64
1390// MIPS64BE:#define __REGISTER_PREFIX__
1391// MIPS64BE:#define __SCHAR_MAX__ 127
1392// MIPS64BE:#define __SHRT_MAX__ 32767
1393// MIPS64BE:#define __SIG_ATOMIC_WIDTH__ 32
1394// MIPS64BE:#define __SIZEOF_DOUBLE__ 8
1395// MIPS64BE:#define __SIZEOF_FLOAT__ 4
1396// MIPS64BE:#define __SIZEOF_INT__ 4
1397// MIPS64BE:#define __SIZEOF_LONG_DOUBLE__ 16
1398// MIPS64BE:#define __SIZEOF_LONG_LONG__ 8
1399// MIPS64BE:#define __SIZEOF_LONG__ 8
1400// MIPS64BE:#define __SIZEOF_POINTER__ 8
1401// MIPS64BE:#define __SIZEOF_PTRDIFF_T__ 8
1402// MIPS64BE:#define __SIZEOF_SHORT__ 2
1403// MIPS64BE:#define __SIZEOF_SIZE_T__ 8
1404// MIPS64BE:#define __SIZEOF_WCHAR_T__ 4
1405// MIPS64BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001406// MIPS64BE:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001407// MIPS64BE:#define __SIZE_TYPE__ long unsigned int
1408// MIPS64BE:#define __SIZE_WIDTH__ 64
1409// MIPS64BE:#define __UINTMAX_TYPE__ long long unsigned int
1410// MIPS64BE:#define __USER_LABEL_PREFIX__ _
1411// MIPS64BE:#define __WCHAR_MAX__ 2147483647
1412// MIPS64BE:#define __WCHAR_TYPE__ int
1413// MIPS64BE:#define __WCHAR_WIDTH__ 32
1414// MIPS64BE:#define __WINT_TYPE__ int
1415// MIPS64BE:#define __WINT_WIDTH__ 32
1416// MIPS64BE:#define __clang__ 1
1417// MIPS64BE:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001418// MIPS64BE:#define __mips 64
Simon Atanasyanc6a0be02012-08-29 20:50:11 +00001419// MIPS64BE:#define __mips64 1
1420// MIPS64BE:#define __mips64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001421// MIPS64BE:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001422// MIPS64BE:#define __mips_fpr 64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001423// MIPS64BE:#define __mips_hard_float 1
1424// MIPS64BE:#define __mips_n64 1
1425// MIPS64BE:#define _mips 1
1426// MIPS64BE:#define mips 1
1427//
1428// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -check-prefix MIPS64EL %s
1429//
1430// MIPS64EL:#define MIPSEL 1
1431// MIPS64EL:#define _ABI64 3
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001432// MIPS64EL:#define _LP64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001433// MIPS64EL:#define _MIPSEL 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001434// MIPS64EL:#define _MIPS_ARCH "mips64r2"
1435// MIPS64EL:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001436// MIPS64EL:#define _MIPS_FPSET 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001437// MIPS64EL:#define _MIPS_SIM _ABI64
1438// MIPS64EL:#define _MIPS_SZINT 32
1439// MIPS64EL:#define _MIPS_SZLONG 64
1440// MIPS64EL:#define _MIPS_SZPTR 64
David Majnemer158ba132014-02-09 05:30:48 +00001441// MIPS64EL:#define __ALIGNOF_MAX_ALIGN_T__ 16
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001442// MIPS64EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001443// MIPS64EL:#define __CHAR16_TYPE__ unsigned short
1444// MIPS64EL:#define __CHAR32_TYPE__ unsigned int
1445// MIPS64EL:#define __CHAR_BIT__ 8
1446// MIPS64EL:#define __CONSTANT_CFSTRINGS__ 1
1447// MIPS64EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1448// MIPS64EL:#define __DBL_DIG__ 15
1449// MIPS64EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1450// MIPS64EL:#define __DBL_HAS_DENORM__ 1
1451// MIPS64EL:#define __DBL_HAS_INFINITY__ 1
1452// MIPS64EL:#define __DBL_HAS_QUIET_NAN__ 1
1453// MIPS64EL:#define __DBL_MANT_DIG__ 53
1454// MIPS64EL:#define __DBL_MAX_10_EXP__ 308
1455// MIPS64EL:#define __DBL_MAX_EXP__ 1024
1456// MIPS64EL:#define __DBL_MAX__ 1.7976931348623157e+308
1457// MIPS64EL:#define __DBL_MIN_10_EXP__ (-307)
1458// MIPS64EL:#define __DBL_MIN_EXP__ (-1021)
1459// MIPS64EL:#define __DBL_MIN__ 2.2250738585072014e-308
1460// MIPS64EL:#define __DECIMAL_DIG__ 36
1461// MIPS64EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1462// MIPS64EL:#define __FLT_DIG__ 6
1463// MIPS64EL:#define __FLT_EPSILON__ 1.19209290e-7F
1464// MIPS64EL:#define __FLT_EVAL_METHOD__ 0
1465// MIPS64EL:#define __FLT_HAS_DENORM__ 1
1466// MIPS64EL:#define __FLT_HAS_INFINITY__ 1
1467// MIPS64EL:#define __FLT_HAS_QUIET_NAN__ 1
1468// MIPS64EL:#define __FLT_MANT_DIG__ 24
1469// MIPS64EL:#define __FLT_MAX_10_EXP__ 38
1470// MIPS64EL:#define __FLT_MAX_EXP__ 128
1471// MIPS64EL:#define __FLT_MAX__ 3.40282347e+38F
1472// MIPS64EL:#define __FLT_MIN_10_EXP__ (-37)
1473// MIPS64EL:#define __FLT_MIN_EXP__ (-125)
1474// MIPS64EL:#define __FLT_MIN__ 1.17549435e-38F
1475// MIPS64EL:#define __FLT_RADIX__ 2
1476// MIPS64EL:#define __INT16_TYPE__ short
1477// MIPS64EL:#define __INT32_TYPE__ int
1478// MIPS64EL:#define __INT64_C_SUFFIX__ LL
1479// MIPS64EL:#define __INT64_TYPE__ long long int
1480// MIPS64EL:#define __INT8_TYPE__ char
1481// MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807LL
1482// MIPS64EL:#define __INTMAX_TYPE__ long long int
1483// MIPS64EL:#define __INTMAX_WIDTH__ 64
1484// MIPS64EL:#define __INTPTR_TYPE__ long int
1485// MIPS64EL:#define __INTPTR_WIDTH__ 64
1486// MIPS64EL:#define __INT_MAX__ 2147483647
1487// MIPS64EL:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1488// MIPS64EL:#define __LDBL_DIG__ 33
1489// MIPS64EL:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1490// MIPS64EL:#define __LDBL_HAS_DENORM__ 1
1491// MIPS64EL:#define __LDBL_HAS_INFINITY__ 1
1492// MIPS64EL:#define __LDBL_HAS_QUIET_NAN__ 1
1493// MIPS64EL:#define __LDBL_MANT_DIG__ 113
1494// MIPS64EL:#define __LDBL_MAX_10_EXP__ 4932
1495// MIPS64EL:#define __LDBL_MAX_EXP__ 16384
1496// MIPS64EL:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1497// MIPS64EL:#define __LDBL_MIN_10_EXP__ (-4931)
1498// MIPS64EL:#define __LDBL_MIN_EXP__ (-16381)
1499// MIPS64EL:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1500// MIPS64EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1501// MIPS64EL:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001502// MIPS64EL:#define __LP64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001503// MIPS64EL:#define __MIPSEL 1
1504// MIPS64EL:#define __MIPSEL__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001505// MIPS64EL:#define __POINTER_WIDTH__ 64
1506// MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1507// MIPS64EL:#define __PTRDIFF_TYPE__ long int
1508// MIPS64EL:#define __PTRDIFF_WIDTH__ 64
1509// MIPS64EL:#define __REGISTER_PREFIX__
1510// MIPS64EL:#define __SCHAR_MAX__ 127
1511// MIPS64EL:#define __SHRT_MAX__ 32767
1512// MIPS64EL:#define __SIG_ATOMIC_WIDTH__ 32
1513// MIPS64EL:#define __SIZEOF_DOUBLE__ 8
1514// MIPS64EL:#define __SIZEOF_FLOAT__ 4
1515// MIPS64EL:#define __SIZEOF_INT__ 4
1516// MIPS64EL:#define __SIZEOF_LONG_DOUBLE__ 16
1517// MIPS64EL:#define __SIZEOF_LONG_LONG__ 8
1518// MIPS64EL:#define __SIZEOF_LONG__ 8
1519// MIPS64EL:#define __SIZEOF_POINTER__ 8
1520// MIPS64EL:#define __SIZEOF_PTRDIFF_T__ 8
1521// MIPS64EL:#define __SIZEOF_SHORT__ 2
1522// MIPS64EL:#define __SIZEOF_SIZE_T__ 8
1523// MIPS64EL:#define __SIZEOF_WCHAR_T__ 4
1524// MIPS64EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001525// MIPS64EL:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001526// MIPS64EL:#define __SIZE_TYPE__ long unsigned int
1527// MIPS64EL:#define __SIZE_WIDTH__ 64
1528// MIPS64EL:#define __UINTMAX_TYPE__ long long unsigned int
1529// MIPS64EL:#define __USER_LABEL_PREFIX__ _
1530// MIPS64EL:#define __WCHAR_MAX__ 2147483647
1531// MIPS64EL:#define __WCHAR_TYPE__ int
1532// MIPS64EL:#define __WCHAR_WIDTH__ 32
1533// MIPS64EL:#define __WINT_TYPE__ int
1534// MIPS64EL:#define __WINT_WIDTH__ 32
1535// MIPS64EL:#define __clang__ 1
1536// MIPS64EL:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001537// MIPS64EL:#define __mips 64
Simon Atanasyanc6a0be02012-08-29 20:50:11 +00001538// MIPS64EL:#define __mips64 1
1539// MIPS64EL:#define __mips64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001540// MIPS64EL:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001541// MIPS64EL:#define __mips_fpr 64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001542// MIPS64EL:#define __mips_hard_float 1
1543// MIPS64EL:#define __mips_n64 1
1544// MIPS64EL:#define _mips 1
1545// MIPS64EL:#define mips 1
1546//
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001547// Check MIPS arch macros
1548//
1549// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
1550// RUN: < /dev/null \
1551// RUN: | FileCheck -check-prefix MIPS-ARCH-DEF32 %s
1552//
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001553// MIPS-ARCH-DEF32:#define _MIPS_ARCH "mips32r2"
1554// MIPS-ARCH-DEF32:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001555//
1556// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-nones \
1557// RUN: -target-cpu mips32 < /dev/null \
1558// RUN: | FileCheck -check-prefix MIPS-ARCH-32 %s
1559//
1560// MIPS-ARCH-32:#define _MIPS_ARCH "mips32"
1561// MIPS-ARCH-32:#define _MIPS_ARCH_MIPS32 1
1562//
1563// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
1564// RUN: -target-cpu mips32r2 < /dev/null \
1565// RUN: | FileCheck -check-prefix MIPS-ARCH-32R2 %s
1566//
1567// MIPS-ARCH-32R2:#define _MIPS_ARCH "mips32r2"
1568// MIPS-ARCH-32R2:#define _MIPS_ARCH_MIPS32R2 1
1569//
1570// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1571// RUN: < /dev/null \
1572// RUN: | FileCheck -check-prefix MIPS-ARCH-DEF64 %s
1573//
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001574// MIPS-ARCH-DEF64:#define _MIPS_ARCH "mips64r2"
1575// MIPS-ARCH-DEF64:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001576//
1577// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1578// RUN: -target-cpu mips64 < /dev/null \
1579// RUN: | FileCheck -check-prefix MIPS-ARCH-64 %s
1580//
1581// MIPS-ARCH-64:#define _MIPS_ARCH "mips64"
1582// MIPS-ARCH-64:#define _MIPS_ARCH_MIPS64 1
1583//
1584// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1585// RUN: -target-cpu mips64r2 < /dev/null \
1586// RUN: | FileCheck -check-prefix MIPS-ARCH-64R2 %s
1587//
1588// MIPS-ARCH-64R2:#define _MIPS_ARCH "mips64r2"
1589// MIPS-ARCH-64R2:#define _MIPS_ARCH_MIPS64R2 1
1590//
Simon Atanasyan5e21c802012-04-06 17:51:49 +00001591// Check MIPS float ABI macros
1592//
1593// RUN: %clang_cc1 -E -dM -ffreestanding \
1594// RUN: -triple=mips-none-none < /dev/null \
1595// RUN: | FileCheck -check-prefix MIPS-FABI-HARD %s
1596// MIPS-FABI-HARD:#define __mips_hard_float 1
1597//
1598// RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \
1599// RUN: -triple=mips-none-none < /dev/null \
1600// RUN: | FileCheck -check-prefix MIPS-FABI-SOFT %s
1601// MIPS-FABI-SOFT:#define __mips_soft_float 1
1602//
1603// RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \
1604// RUN: -triple=mips-none-none < /dev/null \
1605// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE %s
Simon Atanasyand3d173d2012-06-05 13:06:56 +00001606// MIPS-FABI-SINGLE:#define __mips_hard_float 1
Simon Atanasyan5e21c802012-04-06 17:51:49 +00001607// MIPS-FABI-SINGLE:#define __mips_single_float 1
1608//
Simon Atanasyan16071912013-04-14 14:07:30 +00001609// RUN: %clang_cc1 -target-feature +soft-float -target-feature +single-float \
1610// RUN: -E -dM -ffreestanding -triple=mips-none-none < /dev/null \
1611// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE-SOFT %s
1612// MIPS-FABI-SINGLE-SOFT:#define __mips_single_float 1
1613// MIPS-FABI-SINGLE-SOFT:#define __mips_soft_float 1
1614//
Simon Atanasyan72244b62012-07-05 16:06:06 +00001615// Check MIPS features macros
1616//
1617// RUN: %clang_cc1 -target-feature +mips16 \
1618// RUN: -E -dM -triple=mips-none-none < /dev/null \
1619// RUN: | FileCheck -check-prefix MIPS16 %s
1620// MIPS16:#define __mips16 1
1621//
1622// RUN: %clang_cc1 -target-feature -mips16 \
1623// RUN: -E -dM -triple=mips-none-none < /dev/null \
1624// RUN: | FileCheck -check-prefix NOMIPS16 %s
1625// NOMIPS16-NOT:#define __mips16 1
1626//
Simon Atanasyan60777612013-04-14 14:07:51 +00001627// RUN: %clang_cc1 -target-feature +micromips \
1628// RUN: -E -dM -triple=mips-none-none < /dev/null \
1629// RUN: | FileCheck -check-prefix MICROMIPS %s
1630// MICROMIPS:#define __mips_micromips 1
1631//
1632// RUN: %clang_cc1 -target-feature -micromips \
1633// RUN: -E -dM -triple=mips-none-none < /dev/null \
1634// RUN: | FileCheck -check-prefix NOMICROMIPS %s
1635// NOMICROMIPS-NOT:#define __mips_micromips 1
1636//
Simon Atanasyan9780e4a2012-07-05 20:16:22 +00001637// RUN: %clang_cc1 -target-feature +dsp \
1638// RUN: -E -dM -triple=mips-none-none < /dev/null \
1639// RUN: | FileCheck -check-prefix MIPS-DSP %s
1640// MIPS-DSP:#define __mips_dsp 1
1641// MIPS-DSP:#define __mips_dsp_rev 1
1642// MIPS-DSP-NOT:#define __mips_dspr2 1
1643//
1644// RUN: %clang_cc1 -target-feature +dspr2 \
1645// RUN: -E -dM -triple=mips-none-none < /dev/null \
1646// RUN: | FileCheck -check-prefix MIPS-DSPR2 %s
1647// MIPS-DSPR2:#define __mips_dsp 1
1648// MIPS-DSPR2:#define __mips_dsp_rev 2
1649// MIPS-DSPR2:#define __mips_dspr2 1
1650//
Jack Carter44ff1e52013-08-12 17:20:29 +00001651// RUN: %clang_cc1 -target-feature +msa \
1652// RUN: -E -dM -triple=mips-none-none < /dev/null \
1653// RUN: | FileCheck -check-prefix MIPS-MSA %s
1654// MIPS-MSA:#define __mips_msa 1
1655//
Simon Atanasyan22127ce2013-09-24 09:09:16 +00001656// RUN: %clang_cc1 -target-feature +nan2008 \
1657// RUN: -E -dM -triple=mips-none-none < /dev/null \
1658// RUN: | FileCheck -check-prefix MIPS-NAN2008 %s
1659// MIPS-NAN2008:#define __mips_nan2008 1
1660//
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001661// RUN: %clang_cc1 -target-feature -fp64 \
1662// RUN: -E -dM -triple=mips-none-none < /dev/null \
1663// RUN: | FileCheck -check-prefix MIPS32-MFP32 %s
1664// MIPS32-MFP32:#define _MIPS_FPSET 16
1665// MIPS32-MFP32:#define __mips_fpr 32
1666//
1667// RUN: %clang_cc1 -target-feature +fp64 \
1668// RUN: -E -dM -triple=mips-none-none < /dev/null \
1669// RUN: | FileCheck -check-prefix MIPS32-MFP64 %s
1670// MIPS32-MFP64:#define _MIPS_FPSET 32
1671// MIPS32-MFP64:#define __mips_fpr 64
1672//
1673// RUN: %clang_cc1 -target-feature +single-float \
1674// RUN: -E -dM -triple=mips-none-none < /dev/null \
1675// RUN: | FileCheck -check-prefix MIPS32-MFP32SF %s
1676// MIPS32-MFP32SF:#define _MIPS_FPSET 32
1677// MIPS32-MFP32SF:#define __mips_fpr 32
1678//
1679// RUN: %clang_cc1 -target-feature +fp64 \
1680// RUN: -E -dM -triple=mips64-none-none < /dev/null \
1681// RUN: | FileCheck -check-prefix MIPS64-MFP64 %s
1682// MIPS64-MFP64:#define _MIPS_FPSET 32
1683// MIPS64-MFP64:#define __mips_fpr 64
1684//
1685// RUN: %clang_cc1 -target-feature -fp64 -target-feature +single-float \
1686// RUN: -E -dM -triple=mips64-none-none < /dev/null \
1687// RUN: | FileCheck -check-prefix MIPS64-NOMFP64 %s
1688// MIPS64-NOMFP64:#define _MIPS_FPSET 32
1689// MIPS64-NOMFP64:#define __mips_fpr 32
1690//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00001691// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
Chris Lattnere963d092009-10-29 04:55:36 +00001692//
1693// MSP430:#define MSP430 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001694// MSP430-NOT:#define _LP64
Nico Riecke6a158252014-02-16 07:29:41 +00001695// MSP430:#define __ALIGNOF_MAX_ALIGN_T__ 2
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001696// MSP430:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00001697// MSP430:#define __CHAR16_TYPE__ unsigned short
1698// MSP430:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001699// MSP430:#define __CHAR_BIT__ 8
1700// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1701// MSP430:#define __DBL_DIG__ 15
1702// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
1703// MSP430:#define __DBL_HAS_DENORM__ 1
1704// MSP430:#define __DBL_HAS_INFINITY__ 1
1705// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
1706// MSP430:#define __DBL_MANT_DIG__ 53
1707// MSP430:#define __DBL_MAX_10_EXP__ 308
1708// MSP430:#define __DBL_MAX_EXP__ 1024
1709// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
1710// MSP430:#define __DBL_MIN_10_EXP__ (-307)
1711// MSP430:#define __DBL_MIN_EXP__ (-1021)
1712// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
1713// MSP430:#define __DECIMAL_DIG__ 17
1714// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1715// MSP430:#define __FLT_DIG__ 6
1716// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
1717// MSP430:#define __FLT_EVAL_METHOD__ 0
1718// MSP430:#define __FLT_HAS_DENORM__ 1
1719// MSP430:#define __FLT_HAS_INFINITY__ 1
1720// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
1721// MSP430:#define __FLT_MANT_DIG__ 24
1722// MSP430:#define __FLT_MAX_10_EXP__ 38
1723// MSP430:#define __FLT_MAX_EXP__ 128
1724// MSP430:#define __FLT_MAX__ 3.40282347e+38F
1725// MSP430:#define __FLT_MIN_10_EXP__ (-37)
1726// MSP430:#define __FLT_MIN_EXP__ (-125)
1727// MSP430:#define __FLT_MIN__ 1.17549435e-38F
1728// MSP430:#define __FLT_RADIX__ 2
1729// MSP430:#define __INT16_TYPE__ short
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00001730// MSP430:#define __INT32_C_SUFFIX__ L
Chris Lattner55c98772009-11-12 08:08:27 +00001731// MSP430:#define __INT32_TYPE__ long int
Chris Lattnere963d092009-10-29 04:55:36 +00001732// MSP430:#define __INT8_TYPE__ char
Anton Korobeynikovef412902013-07-01 19:42:40 +00001733// MSP430:#define __INTMAX_MAX__ 9223372036854775807LL
1734// MSP430:#define __INTMAX_TYPE__ long long int
1735// MSP430:#define __INTMAX_WIDTH__ 64
1736// MSP430:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00001737// MSP430:#define __INTPTR_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001738// MSP430:#define __INT_MAX__ 32767
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001739// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00001740// MSP430:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001741// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +00001742// MSP430:#define __LDBL_HAS_DENORM__ 1
1743// MSP430:#define __LDBL_HAS_INFINITY__ 1
1744// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
1745// MSP430:#define __LDBL_MANT_DIG__ 53
1746// MSP430:#define __LDBL_MAX_10_EXP__ 308
1747// MSP430:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001748// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +00001749// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
1750// MSP430:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001751// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikov485810e2010-01-14 21:36:52 +00001752// MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
Chris Lattnere963d092009-10-29 04:55:36 +00001753// MSP430:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001754// MSP430-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00001755// MSP430:#define __MSP430__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00001756// MSP430:#define __POINTER_WIDTH__ 16
Ken Dyck9b25f782009-11-19 13:18:59 +00001757// MSP430:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00001758// MSP430:#define __PTRDIFF_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001759// MSP430:#define __SCHAR_MAX__ 127
1760// MSP430:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00001761// MSP430:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00001762// MSP430:#define __SIZEOF_DOUBLE__ 8
1763// MSP430:#define __SIZEOF_FLOAT__ 4
1764// MSP430:#define __SIZEOF_INT__ 2
1765// MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
1766// MSP430:#define __SIZEOF_LONG_LONG__ 8
1767// MSP430:#define __SIZEOF_LONG__ 4
1768// MSP430:#define __SIZEOF_POINTER__ 2
1769// MSP430:#define __SIZEOF_PTRDIFF_T__ 2
1770// MSP430:#define __SIZEOF_SHORT__ 2
1771// MSP430:#define __SIZEOF_SIZE_T__ 2
1772// MSP430:#define __SIZEOF_WCHAR_T__ 2
1773// MSP430:#define __SIZEOF_WINT_T__ 2
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001774// MSP430:#define __SIZE_MAX__ 65535U
Chris Lattnere963d092009-10-29 04:55:36 +00001775// MSP430:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00001776// MSP430:#define __SIZE_WIDTH__ 16
Anton Korobeynikovef412902013-07-01 19:42:40 +00001777// MSP430:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001778// MSP430:#define __USER_LABEL_PREFIX__ _
Chris Lattner0fb5bbd2009-11-12 08:04:33 +00001779// MSP430:#define __WCHAR_MAX__ 32767
Chris Lattnere963d092009-10-29 04:55:36 +00001780// MSP430:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00001781// MSP430:#define __WCHAR_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001782// MSP430:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00001783// MSP430:#define __WINT_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001784// MSP430:#define __clang__ 1
1785//
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001786// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s
1787//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001788// NVPTX32-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +00001789// NVPTX32:#define __ALIGNOF_MAX_ALIGN_T__ 8
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001790// NVPTX32:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001791// NVPTX32:#define __CHAR16_TYPE__ unsigned short
1792// NVPTX32:#define __CHAR32_TYPE__ unsigned int
1793// NVPTX32:#define __CHAR_BIT__ 8
1794// NVPTX32:#define __CONSTANT_CFSTRINGS__ 1
1795// NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1796// NVPTX32:#define __DBL_DIG__ 15
1797// NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16
1798// NVPTX32:#define __DBL_HAS_DENORM__ 1
1799// NVPTX32:#define __DBL_HAS_INFINITY__ 1
1800// NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1
1801// NVPTX32:#define __DBL_MANT_DIG__ 53
1802// NVPTX32:#define __DBL_MAX_10_EXP__ 308
1803// NVPTX32:#define __DBL_MAX_EXP__ 1024
1804// NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308
1805// NVPTX32:#define __DBL_MIN_10_EXP__ (-307)
1806// NVPTX32:#define __DBL_MIN_EXP__ (-1021)
1807// NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308
1808// NVPTX32:#define __DECIMAL_DIG__ 17
1809// NVPTX32:#define __FINITE_MATH_ONLY__ 0
1810// NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1811// NVPTX32:#define __FLT_DIG__ 6
1812// NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F
1813// NVPTX32:#define __FLT_EVAL_METHOD__ 0
1814// NVPTX32:#define __FLT_HAS_DENORM__ 1
1815// NVPTX32:#define __FLT_HAS_INFINITY__ 1
1816// NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1
1817// NVPTX32:#define __FLT_MANT_DIG__ 24
1818// NVPTX32:#define __FLT_MAX_10_EXP__ 38
1819// NVPTX32:#define __FLT_MAX_EXP__ 128
1820// NVPTX32:#define __FLT_MAX__ 3.40282347e+38F
1821// NVPTX32:#define __FLT_MIN_10_EXP__ (-37)
1822// NVPTX32:#define __FLT_MIN_EXP__ (-125)
1823// NVPTX32:#define __FLT_MIN__ 1.17549435e-38F
1824// NVPTX32:#define __FLT_RADIX__ 2
1825// NVPTX32:#define __INT16_TYPE__ short
1826// NVPTX32:#define __INT32_TYPE__ int
1827// NVPTX32:#define __INT64_C_SUFFIX__ LL
1828// NVPTX32:#define __INT64_TYPE__ long long int
1829// NVPTX32:#define __INT8_TYPE__ char
1830// NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL
1831// NVPTX32:#define __INTMAX_TYPE__ long long int
1832// NVPTX32:#define __INTMAX_WIDTH__ 64
1833// NVPTX32:#define __INTPTR_TYPE__ unsigned int
1834// NVPTX32:#define __INTPTR_WIDTH__ 32
1835// NVPTX32:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001836// NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001837// NVPTX32:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001838// NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001839// NVPTX32:#define __LDBL_HAS_DENORM__ 1
1840// NVPTX32:#define __LDBL_HAS_INFINITY__ 1
1841// NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1
1842// NVPTX32:#define __LDBL_MANT_DIG__ 53
1843// NVPTX32:#define __LDBL_MAX_10_EXP__ 308
1844// NVPTX32:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001845// NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001846// NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
1847// NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001848// NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001849// NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL
1850// NVPTX32:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001851// NVPTX32-NOT:#define __LP64__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001852// NVPTX32:#define __NVPTX__ 1
1853// NVPTX32:#define __POINTER_WIDTH__ 32
1854// NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1
1855// NVPTX32:#define __PTRDIFF_TYPE__ unsigned int
1856// NVPTX32:#define __PTRDIFF_WIDTH__ 32
1857// NVPTX32:#define __PTX__ 1
1858// NVPTX32:#define __SCHAR_MAX__ 127
1859// NVPTX32:#define __SHRT_MAX__ 32767
1860// NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32
1861// NVPTX32:#define __SIZEOF_DOUBLE__ 8
1862// NVPTX32:#define __SIZEOF_FLOAT__ 4
1863// NVPTX32:#define __SIZEOF_INT__ 4
1864// NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8
1865// NVPTX32:#define __SIZEOF_LONG_LONG__ 8
1866// NVPTX32:#define __SIZEOF_LONG__ 8
1867// NVPTX32:#define __SIZEOF_POINTER__ 4
1868// NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4
1869// NVPTX32:#define __SIZEOF_SHORT__ 2
1870// NVPTX32:#define __SIZEOF_SIZE_T__ 4
1871// NVPTX32:#define __SIZEOF_WCHAR_T__ 4
1872// NVPTX32:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001873// NVPTX32:#define __SIZE_MAX__ 4294967295U
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001874// NVPTX32:#define __SIZE_TYPE__ unsigned int
1875// NVPTX32:#define __SIZE_WIDTH__ 32
1876// NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int
1877// NVPTX32:#define __USER_LABEL_PREFIX__ _
1878// NVPTX32:#define __WCHAR_MAX__ 2147483647
1879// NVPTX32:#define __WCHAR_TYPE__ int
1880// NVPTX32:#define __WCHAR_WIDTH__ 32
1881// NVPTX32:#define __WINT_TYPE__ int
1882// NVPTX32:#define __WINT_WIDTH__ 32
1883//
1884// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -check-prefix NVPTX64 %s
1885//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001886// NVPTX64:#define _LP64 1
David Majnemer158ba132014-02-09 05:30:48 +00001887// NVPTX64:#define __ALIGNOF_MAX_ALIGN_T__ 8
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001888// NVPTX64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001889// NVPTX64:#define __CHAR16_TYPE__ unsigned short
1890// NVPTX64:#define __CHAR32_TYPE__ unsigned int
1891// NVPTX64:#define __CHAR_BIT__ 8
1892// NVPTX64:#define __CONSTANT_CFSTRINGS__ 1
1893// NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1894// NVPTX64:#define __DBL_DIG__ 15
1895// NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1896// NVPTX64:#define __DBL_HAS_DENORM__ 1
1897// NVPTX64:#define __DBL_HAS_INFINITY__ 1
1898// NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1
1899// NVPTX64:#define __DBL_MANT_DIG__ 53
1900// NVPTX64:#define __DBL_MAX_10_EXP__ 308
1901// NVPTX64:#define __DBL_MAX_EXP__ 1024
1902// NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308
1903// NVPTX64:#define __DBL_MIN_10_EXP__ (-307)
1904// NVPTX64:#define __DBL_MIN_EXP__ (-1021)
1905// NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308
1906// NVPTX64:#define __DECIMAL_DIG__ 17
1907// NVPTX64:#define __FINITE_MATH_ONLY__ 0
1908// NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1909// NVPTX64:#define __FLT_DIG__ 6
1910// NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F
1911// NVPTX64:#define __FLT_EVAL_METHOD__ 0
1912// NVPTX64:#define __FLT_HAS_DENORM__ 1
1913// NVPTX64:#define __FLT_HAS_INFINITY__ 1
1914// NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1
1915// NVPTX64:#define __FLT_MANT_DIG__ 24
1916// NVPTX64:#define __FLT_MAX_10_EXP__ 38
1917// NVPTX64:#define __FLT_MAX_EXP__ 128
1918// NVPTX64:#define __FLT_MAX__ 3.40282347e+38F
1919// NVPTX64:#define __FLT_MIN_10_EXP__ (-37)
1920// NVPTX64:#define __FLT_MIN_EXP__ (-125)
1921// NVPTX64:#define __FLT_MIN__ 1.17549435e-38F
1922// NVPTX64:#define __FLT_RADIX__ 2
1923// NVPTX64:#define __INT16_TYPE__ short
1924// NVPTX64:#define __INT32_TYPE__ int
1925// NVPTX64:#define __INT64_C_SUFFIX__ LL
1926// NVPTX64:#define __INT64_TYPE__ long long int
1927// NVPTX64:#define __INT8_TYPE__ char
1928// NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL
1929// NVPTX64:#define __INTMAX_TYPE__ long long int
1930// NVPTX64:#define __INTMAX_WIDTH__ 64
1931// NVPTX64:#define __INTPTR_TYPE__ long long unsigned int
1932// NVPTX64:#define __INTPTR_WIDTH__ 64
1933// NVPTX64:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001934// NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001935// NVPTX64:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001936// NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001937// NVPTX64:#define __LDBL_HAS_DENORM__ 1
1938// NVPTX64:#define __LDBL_HAS_INFINITY__ 1
1939// NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1
1940// NVPTX64:#define __LDBL_MANT_DIG__ 53
1941// NVPTX64:#define __LDBL_MAX_10_EXP__ 308
1942// NVPTX64:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001943// NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001944// NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
1945// NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001946// NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001947// NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1948// NVPTX64:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001949// NVPTX64:#define __LP64__ 1
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001950// NVPTX64:#define __NVPTX__ 1
1951// NVPTX64:#define __POINTER_WIDTH__ 64
1952// NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1
1953// NVPTX64:#define __PTRDIFF_TYPE__ long long unsigned int
1954// NVPTX64:#define __PTRDIFF_WIDTH__ 64
1955// NVPTX64:#define __PTX__ 1
1956// NVPTX64:#define __SCHAR_MAX__ 127
1957// NVPTX64:#define __SHRT_MAX__ 32767
1958// NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32
1959// NVPTX64:#define __SIZEOF_DOUBLE__ 8
1960// NVPTX64:#define __SIZEOF_FLOAT__ 4
1961// NVPTX64:#define __SIZEOF_INT__ 4
1962// NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8
1963// NVPTX64:#define __SIZEOF_LONG_LONG__ 8
1964// NVPTX64:#define __SIZEOF_LONG__ 8
1965// NVPTX64:#define __SIZEOF_POINTER__ 8
1966// NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8
1967// NVPTX64:#define __SIZEOF_SHORT__ 2
1968// NVPTX64:#define __SIZEOF_SIZE_T__ 8
1969// NVPTX64:#define __SIZEOF_WCHAR_T__ 4
1970// NVPTX64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001971// NVPTX64:#define __SIZE_MAX__ 18446744073709551615UL
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001972// NVPTX64:#define __SIZE_TYPE__ long long unsigned int
1973// NVPTX64:#define __SIZE_WIDTH__ 64
1974// NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int
1975// NVPTX64:#define __USER_LABEL_PREFIX__ _
1976// NVPTX64:#define __WCHAR_MAX__ 2147483647
1977// NVPTX64:#define __WCHAR_TYPE__ int
1978// NVPTX64:#define __WCHAR_WIDTH__ 32
1979// NVPTX64:#define __WINT_TYPE__ int
1980// NVPTX64:#define __WINT_WIDTH__ 32
1981//
Hal Finkel6b984f02012-07-03 16:51:04 +00001982// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -check-prefix PPC603E %s
1983//
1984// PPC603E:#define _ARCH_603 1
1985// PPC603E:#define _ARCH_603E 1
1986// PPC603E:#define _ARCH_PPC 1
1987// PPC603E:#define _ARCH_PPCGR 1
1988// PPC603E:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001989// PPC603E-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +00001990// PPC603E:#define __ALIGNOF_MAX_ALIGN_T__ 8
Hal Finkel6b984f02012-07-03 16:51:04 +00001991// PPC603E:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001992// PPC603E:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Hal Finkel6b984f02012-07-03 16:51:04 +00001993// PPC603E:#define __CHAR16_TYPE__ unsigned short
1994// PPC603E:#define __CHAR32_TYPE__ unsigned int
1995// PPC603E:#define __CHAR_BIT__ 8
1996// PPC603E:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1997// PPC603E:#define __DBL_DIG__ 15
1998// PPC603E:#define __DBL_EPSILON__ 2.2204460492503131e-16
1999// PPC603E:#define __DBL_HAS_DENORM__ 1
2000// PPC603E:#define __DBL_HAS_INFINITY__ 1
2001// PPC603E:#define __DBL_HAS_QUIET_NAN__ 1
2002// PPC603E:#define __DBL_MANT_DIG__ 53
2003// PPC603E:#define __DBL_MAX_10_EXP__ 308
2004// PPC603E:#define __DBL_MAX_EXP__ 1024
2005// PPC603E:#define __DBL_MAX__ 1.7976931348623157e+308
2006// PPC603E:#define __DBL_MIN_10_EXP__ (-307)
2007// PPC603E:#define __DBL_MIN_EXP__ (-1021)
2008// PPC603E:#define __DBL_MIN__ 2.2250738585072014e-308
2009// PPC603E:#define __DECIMAL_DIG__ 33
2010// PPC603E:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2011// PPC603E:#define __FLT_DIG__ 6
2012// PPC603E:#define __FLT_EPSILON__ 1.19209290e-7F
2013// PPC603E:#define __FLT_EVAL_METHOD__ 0
2014// PPC603E:#define __FLT_HAS_DENORM__ 1
2015// PPC603E:#define __FLT_HAS_INFINITY__ 1
2016// PPC603E:#define __FLT_HAS_QUIET_NAN__ 1
2017// PPC603E:#define __FLT_MANT_DIG__ 24
2018// PPC603E:#define __FLT_MAX_10_EXP__ 38
2019// PPC603E:#define __FLT_MAX_EXP__ 128
2020// PPC603E:#define __FLT_MAX__ 3.40282347e+38F
2021// PPC603E:#define __FLT_MIN_10_EXP__ (-37)
2022// PPC603E:#define __FLT_MIN_EXP__ (-125)
2023// PPC603E:#define __FLT_MIN__ 1.17549435e-38F
2024// PPC603E:#define __FLT_RADIX__ 2
2025// PPC603E:#define __INT16_TYPE__ short
2026// PPC603E:#define __INT32_TYPE__ int
2027// PPC603E:#define __INT64_C_SUFFIX__ LL
2028// PPC603E:#define __INT64_TYPE__ long long int
2029// PPC603E:#define __INT8_TYPE__ char
2030// PPC603E:#define __INTMAX_MAX__ 9223372036854775807LL
2031// PPC603E:#define __INTMAX_TYPE__ long long int
2032// PPC603E:#define __INTMAX_WIDTH__ 64
2033// PPC603E:#define __INTPTR_TYPE__ long int
2034// PPC603E:#define __INTPTR_WIDTH__ 32
2035// PPC603E:#define __INT_MAX__ 2147483647
2036// PPC603E:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2037// PPC603E:#define __LDBL_DIG__ 31
2038// PPC603E:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2039// PPC603E:#define __LDBL_HAS_DENORM__ 1
2040// PPC603E:#define __LDBL_HAS_INFINITY__ 1
2041// PPC603E:#define __LDBL_HAS_QUIET_NAN__ 1
2042// PPC603E:#define __LDBL_MANT_DIG__ 106
2043// PPC603E:#define __LDBL_MAX_10_EXP__ 308
2044// PPC603E:#define __LDBL_MAX_EXP__ 1024
2045// PPC603E:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2046// PPC603E:#define __LDBL_MIN_10_EXP__ (-291)
2047// PPC603E:#define __LDBL_MIN_EXP__ (-968)
2048// PPC603E:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2049// PPC603E:#define __LONG_DOUBLE_128__ 1
2050// PPC603E:#define __LONG_LONG_MAX__ 9223372036854775807LL
2051// PPC603E:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002052// PPC603E-NOT:#define __LP64__
Hal Finkel6b984f02012-07-03 16:51:04 +00002053// PPC603E:#define __NATURAL_ALIGNMENT__ 1
Hal Finkel6b984f02012-07-03 16:51:04 +00002054// PPC603E:#define __POINTER_WIDTH__ 32
2055// PPC603E:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002056// PPC603E:#define __PPC__ 1
Hal Finkel6b984f02012-07-03 16:51:04 +00002057// PPC603E:#define __PTRDIFF_TYPE__ long int
2058// PPC603E:#define __PTRDIFF_WIDTH__ 32
2059// PPC603E:#define __REGISTER_PREFIX__
2060// PPC603E:#define __SCHAR_MAX__ 127
2061// PPC603E:#define __SHRT_MAX__ 32767
2062// PPC603E:#define __SIG_ATOMIC_WIDTH__ 32
2063// PPC603E:#define __SIZEOF_DOUBLE__ 8
2064// PPC603E:#define __SIZEOF_FLOAT__ 4
2065// PPC603E:#define __SIZEOF_INT__ 4
2066// PPC603E:#define __SIZEOF_LONG_DOUBLE__ 16
2067// PPC603E:#define __SIZEOF_LONG_LONG__ 8
2068// PPC603E:#define __SIZEOF_LONG__ 4
2069// PPC603E:#define __SIZEOF_POINTER__ 4
2070// PPC603E:#define __SIZEOF_PTRDIFF_T__ 4
2071// PPC603E:#define __SIZEOF_SHORT__ 2
2072// PPC603E:#define __SIZEOF_SIZE_T__ 4
2073// PPC603E:#define __SIZEOF_WCHAR_T__ 4
2074// PPC603E:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002075// PPC603E:#define __SIZE_MAX__ 4294967295U
Hal Finkel6b984f02012-07-03 16:51:04 +00002076// PPC603E:#define __SIZE_TYPE__ long unsigned int
2077// PPC603E:#define __SIZE_WIDTH__ 32
2078// PPC603E:#define __UINTMAX_TYPE__ long long unsigned int
2079// PPC603E:#define __USER_LABEL_PREFIX__ _
2080// PPC603E:#define __WCHAR_MAX__ 2147483647
2081// PPC603E:#define __WCHAR_TYPE__ int
2082// PPC603E:#define __WCHAR_WIDTH__ 32
2083// PPC603E:#define __WINT_TYPE__ int
2084// PPC603E:#define __WINT_WIDTH__ 32
2085// PPC603E:#define __powerpc__ 1
2086// PPC603E:#define __ppc__ 1
2087//
Hal Finkel8eb59282012-06-11 22:35:19 +00002088// 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 +00002089//
2090// PPC64:#define _ARCH_PPC 1
2091// PPC64:#define _ARCH_PPC64 1
Hal Finkel6b984f02012-07-03 16:51:04 +00002092// PPC64:#define _ARCH_PPCGR 1
2093// PPC64:#define _ARCH_PPCSQ 1
2094// PPC64:#define _ARCH_PWR4 1
2095// PPC64:#define _ARCH_PWR5 1
2096// PPC64:#define _ARCH_PWR6 1
Hal Finkel8eb59282012-06-11 22:35:19 +00002097// PPC64:#define _ARCH_PWR7 1
Chris Lattnere963d092009-10-29 04:55:36 +00002098// PPC64:#define _BIG_ENDIAN 1
2099// PPC64:#define _LP64 1
David Majnemer158ba132014-02-09 05:30:48 +00002100// PPC64:#define __ALIGNOF_MAX_ALIGN_T__ 8
Chris Lattnere963d092009-10-29 04:55:36 +00002101// 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
David Majnemer158ba132014-02-09 05:30:48 +00002214// PPC64LE:#define __ALIGNOF_MAX_ALIGN_T__ 8
Bill Schmidt778d3872013-07-26 01:36:11 +00002215// PPC64LE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
2216// PPC64LE:#define __CHAR16_TYPE__ unsigned short
2217// PPC64LE:#define __CHAR32_TYPE__ unsigned int
2218// PPC64LE:#define __CHAR_BIT__ 8
2219// PPC64LE:#define __CHAR_UNSIGNED__ 1
2220// PPC64LE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2221// PPC64LE:#define __DBL_DIG__ 15
2222// PPC64LE:#define __DBL_EPSILON__ 2.2204460492503131e-16
2223// PPC64LE:#define __DBL_HAS_DENORM__ 1
2224// PPC64LE:#define __DBL_HAS_INFINITY__ 1
2225// PPC64LE:#define __DBL_HAS_QUIET_NAN__ 1
2226// PPC64LE:#define __DBL_MANT_DIG__ 53
2227// PPC64LE:#define __DBL_MAX_10_EXP__ 308
2228// PPC64LE:#define __DBL_MAX_EXP__ 1024
2229// PPC64LE:#define __DBL_MAX__ 1.7976931348623157e+308
2230// PPC64LE:#define __DBL_MIN_10_EXP__ (-307)
2231// PPC64LE:#define __DBL_MIN_EXP__ (-1021)
2232// PPC64LE:#define __DBL_MIN__ 2.2250738585072014e-308
2233// PPC64LE:#define __DECIMAL_DIG__ 33
2234// PPC64LE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2235// PPC64LE:#define __FLT_DIG__ 6
2236// PPC64LE:#define __FLT_EPSILON__ 1.19209290e-7F
2237// PPC64LE:#define __FLT_EVAL_METHOD__ 0
2238// PPC64LE:#define __FLT_HAS_DENORM__ 1
2239// PPC64LE:#define __FLT_HAS_INFINITY__ 1
2240// PPC64LE:#define __FLT_HAS_QUIET_NAN__ 1
2241// PPC64LE:#define __FLT_MANT_DIG__ 24
2242// PPC64LE:#define __FLT_MAX_10_EXP__ 38
2243// PPC64LE:#define __FLT_MAX_EXP__ 128
2244// PPC64LE:#define __FLT_MAX__ 3.40282347e+38F
2245// PPC64LE:#define __FLT_MIN_10_EXP__ (-37)
2246// PPC64LE:#define __FLT_MIN_EXP__ (-125)
2247// PPC64LE:#define __FLT_MIN__ 1.17549435e-38F
2248// PPC64LE:#define __FLT_RADIX__ 2
2249// PPC64LE:#define __INT16_TYPE__ short
2250// PPC64LE:#define __INT32_TYPE__ int
2251// PPC64LE:#define __INT64_C_SUFFIX__ L
2252// PPC64LE:#define __INT64_TYPE__ long int
2253// PPC64LE:#define __INT8_TYPE__ char
2254// PPC64LE:#define __INTMAX_MAX__ 9223372036854775807L
2255// PPC64LE:#define __INTMAX_TYPE__ long int
2256// PPC64LE:#define __INTMAX_WIDTH__ 64
2257// PPC64LE:#define __INTPTR_TYPE__ long int
2258// PPC64LE:#define __INTPTR_WIDTH__ 64
2259// PPC64LE:#define __INT_MAX__ 2147483647
2260// PPC64LE:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2261// PPC64LE:#define __LDBL_DIG__ 31
2262// PPC64LE:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2263// PPC64LE:#define __LDBL_HAS_DENORM__ 1
2264// PPC64LE:#define __LDBL_HAS_INFINITY__ 1
2265// PPC64LE:#define __LDBL_HAS_QUIET_NAN__ 1
2266// PPC64LE:#define __LDBL_MANT_DIG__ 106
2267// PPC64LE:#define __LDBL_MAX_10_EXP__ 308
2268// PPC64LE:#define __LDBL_MAX_EXP__ 1024
2269// PPC64LE:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2270// PPC64LE:#define __LDBL_MIN_10_EXP__ (-291)
2271// PPC64LE:#define __LDBL_MIN_EXP__ (-968)
2272// PPC64LE:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2273// PPC64LE:#define __LITTLE_ENDIAN__ 1
2274// PPC64LE:#define __LONG_DOUBLE_128__ 1
2275// PPC64LE:#define __LONG_LONG_MAX__ 9223372036854775807LL
2276// PPC64LE:#define __LONG_MAX__ 9223372036854775807L
2277// PPC64LE:#define __LP64__ 1
2278// PPC64LE:#define __NATURAL_ALIGNMENT__ 1
2279// PPC64LE:#define __POINTER_WIDTH__ 64
2280// PPC64LE:#define __POWERPC__ 1
2281// PPC64LE:#define __PPC64__ 1
2282// PPC64LE:#define __PPC__ 1
2283// PPC64LE:#define __PTRDIFF_TYPE__ long int
2284// PPC64LE:#define __PTRDIFF_WIDTH__ 64
2285// PPC64LE:#define __REGISTER_PREFIX__
2286// PPC64LE:#define __SCHAR_MAX__ 127
2287// PPC64LE:#define __SHRT_MAX__ 32767
2288// PPC64LE:#define __SIG_ATOMIC_WIDTH__ 32
2289// PPC64LE:#define __SIZEOF_DOUBLE__ 8
2290// PPC64LE:#define __SIZEOF_FLOAT__ 4
2291// PPC64LE:#define __SIZEOF_INT__ 4
2292// PPC64LE:#define __SIZEOF_LONG_DOUBLE__ 16
2293// PPC64LE:#define __SIZEOF_LONG_LONG__ 8
2294// PPC64LE:#define __SIZEOF_LONG__ 8
2295// PPC64LE:#define __SIZEOF_POINTER__ 8
2296// PPC64LE:#define __SIZEOF_PTRDIFF_T__ 8
2297// PPC64LE:#define __SIZEOF_SHORT__ 2
2298// PPC64LE:#define __SIZEOF_SIZE_T__ 8
2299// PPC64LE:#define __SIZEOF_WCHAR_T__ 4
2300// PPC64LE:#define __SIZEOF_WINT_T__ 4
2301// PPC64LE:#define __SIZE_MAX__ 18446744073709551615UL
2302// PPC64LE:#define __SIZE_TYPE__ long unsigned int
2303// PPC64LE:#define __SIZE_WIDTH__ 64
2304// PPC64LE:#define __UINTMAX_TYPE__ long unsigned int
2305// PPC64LE:#define __USER_LABEL_PREFIX__ _
2306// PPC64LE:#define __WCHAR_MAX__ 2147483647
2307// PPC64LE:#define __WCHAR_TYPE__ int
2308// PPC64LE:#define __WCHAR_WIDTH__ 32
2309// PPC64LE:#define __WINT_TYPE__ int
2310// PPC64LE:#define __WINT_WIDTH__ 32
2311// PPC64LE:#define __ppc64__ 1
2312// PPC64LE:#define __ppc__ 1
2313//
Hal Finkeldf1e4bf2013-02-01 05:53:33 +00002314// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu a2q -fno-signed-char < /dev/null | FileCheck -check-prefix PPCA2Q %s
2315//
2316// PPCA2Q:#define _ARCH_A2 1
2317// PPCA2Q:#define _ARCH_A2Q 1
2318// PPCA2Q:#define _ARCH_PPC 1
2319// PPCA2Q:#define _ARCH_PPC64 1
2320// PPCA2Q:#define _ARCH_QP 1
2321//
2322// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-bgq-linux -fno-signed-char < /dev/null | FileCheck -check-prefix PPCBGQ %s
2323//
2324// PPCBGQ:#define __THW_BLUEGENE__ 1
2325// PPCBGQ:#define __TOS_BGQ__ 1
2326// PPCBGQ:#define __bg__ 1
2327// PPCBGQ:#define __bgq__ 1
2328//
Bill Schmidt38378a02013-02-01 20:23:10 +00002329// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu 630 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC630 %s
2330//
2331// PPC630:#define _ARCH_630 1
2332// PPC630:#define _ARCH_PPC 1
2333// PPC630:#define _ARCH_PPC64 1
2334// PPC630:#define _ARCH_PPCGR 1
2335//
2336// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR3 %s
2337//
2338// PPCPWR3:#define _ARCH_PPC 1
2339// PPCPWR3:#define _ARCH_PPC64 1
2340// PPCPWR3:#define _ARCH_PPCGR 1
2341//
2342// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER3 %s
2343//
2344// PPCPOWER3:#define _ARCH_PPC 1
2345// PPCPOWER3:#define _ARCH_PPC64 1
2346// PPCPOWER3:#define _ARCH_PPCGR 1
2347//
2348// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR4 %s
2349//
2350// PPCPWR4:#define _ARCH_PPC 1
2351// PPCPWR4:#define _ARCH_PPC64 1
2352// PPCPWR4:#define _ARCH_PPCGR 1
2353// PPCPWR4:#define _ARCH_PPCSQ 1
2354// PPCPWR4:#define _ARCH_PWR4 1
2355//
2356// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER4 %s
2357//
2358// PPCPOWER4:#define _ARCH_PPC 1
2359// PPCPOWER4:#define _ARCH_PPC64 1
2360// PPCPOWER4:#define _ARCH_PPCGR 1
2361// PPCPOWER4:#define _ARCH_PPCSQ 1
2362// PPCPOWER4:#define _ARCH_PWR4 1
2363//
2364// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5 %s
2365//
2366// PPCPWR5:#define _ARCH_PPC 1
2367// PPCPWR5:#define _ARCH_PPC64 1
2368// PPCPWR5:#define _ARCH_PPCGR 1
2369// PPCPWR5:#define _ARCH_PPCSQ 1
2370// PPCPWR5:#define _ARCH_PWR4 1
2371// PPCPWR5:#define _ARCH_PWR5 1
2372//
2373// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5 %s
2374//
2375// PPCPOWER5:#define _ARCH_PPC 1
2376// PPCPOWER5:#define _ARCH_PPC64 1
2377// PPCPOWER5:#define _ARCH_PPCGR 1
2378// PPCPOWER5:#define _ARCH_PPCSQ 1
2379// PPCPOWER5:#define _ARCH_PWR4 1
2380// PPCPOWER5:#define _ARCH_PWR5 1
2381//
2382// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5X %s
2383//
2384// PPCPWR5X:#define _ARCH_PPC 1
2385// PPCPWR5X:#define _ARCH_PPC64 1
2386// PPCPWR5X:#define _ARCH_PPCGR 1
2387// PPCPWR5X:#define _ARCH_PPCSQ 1
2388// PPCPWR5X:#define _ARCH_PWR4 1
2389// PPCPWR5X:#define _ARCH_PWR5 1
2390// PPCPWR5X:#define _ARCH_PWR5X 1
2391//
2392// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5X %s
2393//
2394// PPCPOWER5X:#define _ARCH_PPC 1
2395// PPCPOWER5X:#define _ARCH_PPC64 1
2396// PPCPOWER5X:#define _ARCH_PPCGR 1
2397// PPCPOWER5X:#define _ARCH_PPCSQ 1
2398// PPCPOWER5X:#define _ARCH_PWR4 1
2399// PPCPOWER5X:#define _ARCH_PWR5 1
2400// PPCPOWER5X:#define _ARCH_PWR5X 1
2401//
2402// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6 %s
2403//
2404// PPCPWR6:#define _ARCH_PPC 1
2405// PPCPWR6:#define _ARCH_PPC64 1
2406// PPCPWR6:#define _ARCH_PPCGR 1
2407// PPCPWR6:#define _ARCH_PPCSQ 1
2408// PPCPWR6:#define _ARCH_PWR4 1
2409// PPCPWR6:#define _ARCH_PWR5 1
2410// PPCPWR6:#define _ARCH_PWR5X 1
2411// PPCPWR6:#define _ARCH_PWR6 1
2412//
2413// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6 %s
2414//
2415// PPCPOWER6:#define _ARCH_PPC 1
2416// PPCPOWER6:#define _ARCH_PPC64 1
2417// PPCPOWER6:#define _ARCH_PPCGR 1
2418// PPCPOWER6:#define _ARCH_PPCSQ 1
2419// PPCPOWER6:#define _ARCH_PWR4 1
2420// PPCPOWER6:#define _ARCH_PWR5 1
2421// PPCPOWER6:#define _ARCH_PWR5X 1
2422// PPCPOWER6:#define _ARCH_PWR6 1
2423//
2424// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6X %s
2425//
2426// PPCPWR6X:#define _ARCH_PPC 1
2427// PPCPWR6X:#define _ARCH_PPC64 1
2428// PPCPWR6X:#define _ARCH_PPCGR 1
2429// PPCPWR6X:#define _ARCH_PPCSQ 1
2430// PPCPWR6X:#define _ARCH_PWR4 1
2431// PPCPWR6X:#define _ARCH_PWR5 1
2432// PPCPWR6X:#define _ARCH_PWR5X 1
2433// PPCPWR6X:#define _ARCH_PWR6 1
2434// PPCPWR6X:#define _ARCH_PWR6X 1
2435//
2436// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6X %s
2437//
2438// PPCPOWER6X:#define _ARCH_PPC 1
2439// PPCPOWER6X:#define _ARCH_PPC64 1
2440// PPCPOWER6X:#define _ARCH_PPCGR 1
2441// PPCPOWER6X:#define _ARCH_PPCSQ 1
2442// PPCPOWER6X:#define _ARCH_PWR4 1
2443// PPCPOWER6X:#define _ARCH_PWR5 1
2444// PPCPOWER6X:#define _ARCH_PWR5X 1
2445// PPCPOWER6X:#define _ARCH_PWR6 1
2446// PPCPOWER6X:#define _ARCH_PWR6X 1
2447//
2448// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR7 %s
2449//
2450// PPCPWR7:#define _ARCH_PPC 1
2451// PPCPWR7:#define _ARCH_PPC64 1
2452// PPCPWR7:#define _ARCH_PPCGR 1
2453// PPCPWR7:#define _ARCH_PPCSQ 1
2454// PPCPWR7:#define _ARCH_PWR4 1
2455// PPCPWR7:#define _ARCH_PWR5 1
2456// PPCPWR7:#define _ARCH_PWR5X 1
2457// PPCPWR7:#define _ARCH_PWR6 1
2458// PPCPWR7:#define _ARCH_PWR6X 1
2459// PPCPWR7:#define _ARCH_PWR7 1
2460//
2461// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER7 %s
2462//
2463// PPCPOWER7:#define _ARCH_PPC 1
2464// PPCPOWER7:#define _ARCH_PPC64 1
2465// PPCPOWER7:#define _ARCH_PPCGR 1
2466// PPCPOWER7:#define _ARCH_PPCSQ 1
2467// PPCPOWER7:#define _ARCH_PWR4 1
2468// PPCPOWER7:#define _ARCH_PWR5 1
2469// PPCPOWER7:#define _ARCH_PWR5X 1
2470// PPCPOWER7:#define _ARCH_PWR6 1
2471// PPCPOWER7:#define _ARCH_PWR6X 1
2472// PPCPOWER7:#define _ARCH_PWR7 1
2473//
Nico Weber3435ede2012-01-31 02:07:33 +00002474// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
2475//
2476// PPC64-LINUX:#define _ARCH_PPC 1
2477// PPC64-LINUX:#define _ARCH_PPC64 1
2478// PPC64-LINUX:#define _BIG_ENDIAN 1
2479// PPC64-LINUX:#define _LP64 1
David Majnemer158ba132014-02-09 05:30:48 +00002480// PPC64-LINUX:#define __ALIGNOF_MAX_ALIGN_T__ 8
Nico Weber3435ede2012-01-31 02:07:33 +00002481// PPC64-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002482// PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber3435ede2012-01-31 02:07:33 +00002483// PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
2484// PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
2485// PPC64-LINUX:#define __CHAR_BIT__ 8
2486// PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
2487// PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2488// PPC64-LINUX:#define __DBL_DIG__ 15
2489// PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2490// PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
2491// PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
2492// PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2493// PPC64-LINUX:#define __DBL_MANT_DIG__ 53
2494// PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
2495// PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
2496// PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2497// PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2498// PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2499// PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2500// PPC64-LINUX:#define __DECIMAL_DIG__ 33
2501// PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2502// PPC64-LINUX:#define __FLT_DIG__ 6
2503// PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2504// PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
2505// PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
2506// PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
2507// PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2508// PPC64-LINUX:#define __FLT_MANT_DIG__ 24
2509// PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
2510// PPC64-LINUX:#define __FLT_MAX_EXP__ 128
2511// PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2512// PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2513// PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
2514// PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2515// PPC64-LINUX:#define __FLT_RADIX__ 2
2516// PPC64-LINUX:#define __INT16_TYPE__ short
2517// PPC64-LINUX:#define __INT32_TYPE__ int
2518// PPC64-LINUX:#define __INT64_C_SUFFIX__ L
2519// PPC64-LINUX:#define __INT64_TYPE__ long int
2520// PPC64-LINUX:#define __INT8_TYPE__ char
2521// PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2522// PPC64-LINUX:#define __INTMAX_TYPE__ long int
2523// PPC64-LINUX:#define __INTMAX_WIDTH__ 64
2524// PPC64-LINUX:#define __INTPTR_TYPE__ long int
2525// PPC64-LINUX:#define __INTPTR_WIDTH__ 64
2526// PPC64-LINUX:#define __INT_MAX__ 2147483647
2527// PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2528// PPC64-LINUX:#define __LDBL_DIG__ 31
2529// PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2530// PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
2531// PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2532// PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2533// PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
2534// PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
2535// PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
2536// PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2537// PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2538// PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
2539// PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2540// PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
2541// PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2542// PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2543// PPC64-LINUX:#define __LP64__ 1
2544// PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002545// PPC64-LINUX:#define __POINTER_WIDTH__ 64
2546// PPC64-LINUX:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002547// PPC64-LINUX:#define __PPC64__ 1
2548// PPC64-LINUX:#define __PPC__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002549// PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
2550// PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
2551// PPC64-LINUX:#define __REGISTER_PREFIX__
2552// PPC64-LINUX:#define __SCHAR_MAX__ 127
2553// PPC64-LINUX:#define __SHRT_MAX__ 32767
2554// PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2555// PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
2556// PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
2557// PPC64-LINUX:#define __SIZEOF_INT__ 4
2558// PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2559// PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2560// PPC64-LINUX:#define __SIZEOF_LONG__ 8
2561// PPC64-LINUX:#define __SIZEOF_POINTER__ 8
2562// PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2563// PPC64-LINUX:#define __SIZEOF_SHORT__ 2
2564// PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
2565// PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2566// PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002567// PPC64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Nico Weber3435ede2012-01-31 02:07:33 +00002568// PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
2569// PPC64-LINUX:#define __SIZE_WIDTH__ 64
2570// PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2571// PPC64-LINUX:#define __USER_LABEL_PREFIX__
2572// PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
2573// PPC64-LINUX:#define __WCHAR_TYPE__ int
2574// PPC64-LINUX:#define __WCHAR_WIDTH__ 32
2575// PPC64-LINUX:#define __WINT_TYPE__ unsigned int
2576// PPC64-LINUX:#define __WINT_UNSIGNED__ 1
2577// PPC64-LINUX:#define __WINT_WIDTH__ 32
2578// PPC64-LINUX:#define __powerpc64__ 1
2579// PPC64-LINUX:#define __powerpc__ 1
2580// PPC64-LINUX:#define __ppc64__ 1
2581// PPC64-LINUX:#define __ppc__ 1
2582//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002583// 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 +00002584//
2585// PPC:#define _ARCH_PPC 1
2586// PPC:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002587// PPC-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +00002588// PPC:#define __ALIGNOF_MAX_ALIGN_T__ 8
Chris Lattnere963d092009-10-29 04:55:36 +00002589// PPC:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002590// PPC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002591// PPC:#define __CHAR16_TYPE__ unsigned short
2592// PPC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002593// PPC:#define __CHAR_BIT__ 8
2594// PPC:#define __CHAR_UNSIGNED__ 1
2595// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2596// PPC:#define __DBL_DIG__ 15
2597// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2598// PPC:#define __DBL_HAS_DENORM__ 1
2599// PPC:#define __DBL_HAS_INFINITY__ 1
2600// PPC:#define __DBL_HAS_QUIET_NAN__ 1
2601// PPC:#define __DBL_MANT_DIG__ 53
2602// PPC:#define __DBL_MAX_10_EXP__ 308
2603// PPC:#define __DBL_MAX_EXP__ 1024
2604// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
2605// PPC:#define __DBL_MIN_10_EXP__ (-307)
2606// PPC:#define __DBL_MIN_EXP__ (-1021)
2607// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber3435ede2012-01-31 02:07:33 +00002608// PPC:#define __DECIMAL_DIG__ 33
Chris Lattnere963d092009-10-29 04:55:36 +00002609// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2610// PPC:#define __FLT_DIG__ 6
2611// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
2612// PPC:#define __FLT_EVAL_METHOD__ 0
2613// PPC:#define __FLT_HAS_DENORM__ 1
2614// PPC:#define __FLT_HAS_INFINITY__ 1
2615// PPC:#define __FLT_HAS_QUIET_NAN__ 1
2616// PPC:#define __FLT_MANT_DIG__ 24
2617// PPC:#define __FLT_MAX_10_EXP__ 38
2618// PPC:#define __FLT_MAX_EXP__ 128
2619// PPC:#define __FLT_MAX__ 3.40282347e+38F
2620// PPC:#define __FLT_MIN_10_EXP__ (-37)
2621// PPC:#define __FLT_MIN_EXP__ (-125)
2622// PPC:#define __FLT_MIN__ 1.17549435e-38F
2623// PPC:#define __FLT_RADIX__ 2
2624// PPC:#define __INT16_TYPE__ short
2625// PPC:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002626// PPC:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00002627// PPC:#define __INT64_TYPE__ long long int
2628// PPC:#define __INT8_TYPE__ char
2629// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00002630// PPC:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002631// PPC:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002632// PPC:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002633// PPC:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002634// PPC:#define __INT_MAX__ 2147483647
Nico Weber3435ede2012-01-31 02:07:33 +00002635// PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2636// PPC:#define __LDBL_DIG__ 31
2637// PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002638// PPC:#define __LDBL_HAS_DENORM__ 1
2639// PPC:#define __LDBL_HAS_INFINITY__ 1
2640// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002641// PPC:#define __LDBL_MANT_DIG__ 106
Chris Lattnere963d092009-10-29 04:55:36 +00002642// PPC:#define __LDBL_MAX_10_EXP__ 308
2643// PPC:#define __LDBL_MAX_EXP__ 1024
Nico Weber3435ede2012-01-31 02:07:33 +00002644// PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2645// PPC:#define __LDBL_MIN_10_EXP__ (-291)
2646// PPC:#define __LDBL_MIN_EXP__ (-968)
2647// PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnere963d092009-10-29 04:55:36 +00002648// PPC:#define __LONG_DOUBLE_128__ 1
2649// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2650// PPC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002651// PPC-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00002652// PPC:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002653// PPC:#define __POINTER_WIDTH__ 32
2654// PPC:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002655// PPC:#define __PPC__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002656// PPC:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002657// PPC:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002658// PPC:#define __REGISTER_PREFIX__
2659// PPC:#define __SCHAR_MAX__ 127
2660// PPC:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002661// PPC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002662// PPC:#define __SIZEOF_DOUBLE__ 8
2663// PPC:#define __SIZEOF_FLOAT__ 4
2664// PPC:#define __SIZEOF_INT__ 4
Nico Weber3435ede2012-01-31 02:07:33 +00002665// PPC:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohman04f87202010-05-28 00:27:15 +00002666// PPC:#define __SIZEOF_LONG_LONG__ 8
2667// PPC:#define __SIZEOF_LONG__ 4
2668// PPC:#define __SIZEOF_POINTER__ 4
2669// PPC:#define __SIZEOF_PTRDIFF_T__ 4
2670// PPC:#define __SIZEOF_SHORT__ 2
2671// PPC:#define __SIZEOF_SIZE_T__ 4
2672// PPC:#define __SIZEOF_WCHAR_T__ 4
2673// PPC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002674// PPC:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00002675// PPC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002676// PPC:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002677// PPC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002678// PPC:#define __USER_LABEL_PREFIX__ _
2679// PPC:#define __WCHAR_MAX__ 2147483647
2680// PPC:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002681// PPC:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002682// PPC:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002683// PPC:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002684// PPC:#define __ppc__ 1
2685//
Nico Weber3435ede2012-01-31 02:07:33 +00002686// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
2687//
2688// PPC-LINUX:#define _ARCH_PPC 1
2689// PPC-LINUX:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002690// PPC-LINUX-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +00002691// PPC-LINUX:#define __ALIGNOF_MAX_ALIGN_T__ 8
Nico Weber3435ede2012-01-31 02:07:33 +00002692// PPC-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002693// PPC-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber3435ede2012-01-31 02:07:33 +00002694// PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
2695// PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
2696// PPC-LINUX:#define __CHAR_BIT__ 8
2697// PPC-LINUX:#define __CHAR_UNSIGNED__ 1
2698// PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2699// PPC-LINUX:#define __DBL_DIG__ 15
2700// PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2701// PPC-LINUX:#define __DBL_HAS_DENORM__ 1
2702// PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
2703// PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2704// PPC-LINUX:#define __DBL_MANT_DIG__ 53
2705// PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
2706// PPC-LINUX:#define __DBL_MAX_EXP__ 1024
2707// PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2708// PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2709// PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
2710// PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2711// PPC-LINUX:#define __DECIMAL_DIG__ 33
2712// PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2713// PPC-LINUX:#define __FLT_DIG__ 6
2714// PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2715// PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
2716// PPC-LINUX:#define __FLT_HAS_DENORM__ 1
2717// PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
2718// PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2719// PPC-LINUX:#define __FLT_MANT_DIG__ 24
2720// PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
2721// PPC-LINUX:#define __FLT_MAX_EXP__ 128
2722// PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2723// PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2724// PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
2725// PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2726// PPC-LINUX:#define __FLT_RADIX__ 2
2727// PPC-LINUX:#define __INT16_TYPE__ short
2728// PPC-LINUX:#define __INT32_TYPE__ int
2729// PPC-LINUX:#define __INT64_C_SUFFIX__ LL
2730// PPC-LINUX:#define __INT64_TYPE__ long long int
2731// PPC-LINUX:#define __INT8_TYPE__ char
2732// PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
2733// PPC-LINUX:#define __INTMAX_TYPE__ long long int
2734// PPC-LINUX:#define __INTMAX_WIDTH__ 64
Hal Finkel26908382012-03-02 20:54:36 +00002735// PPC-LINUX:#define __INTPTR_TYPE__ int
Nico Weber3435ede2012-01-31 02:07:33 +00002736// PPC-LINUX:#define __INTPTR_WIDTH__ 32
2737// PPC-LINUX:#define __INT_MAX__ 2147483647
2738// PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2739// PPC-LINUX:#define __LDBL_DIG__ 31
2740// PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2741// PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
2742// PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
2743// PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2744// PPC-LINUX:#define __LDBL_MANT_DIG__ 106
2745// PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
2746// PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
2747// PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2748// PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2749// PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
2750// PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2751// PPC-LINUX:#define __LONG_DOUBLE_128__ 1
2752// PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2753// PPC-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002754// PPC-LINUX-NOT:#define __LP64__
Nico Weber3435ede2012-01-31 02:07:33 +00002755// PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002756// PPC-LINUX:#define __POINTER_WIDTH__ 32
2757// PPC-LINUX:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002758// PPC-LINUX:#define __PPC__ 1
Hal Finkel26908382012-03-02 20:54:36 +00002759// PPC-LINUX:#define __PTRDIFF_TYPE__ int
Nico Weber3435ede2012-01-31 02:07:33 +00002760// PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
2761// PPC-LINUX:#define __REGISTER_PREFIX__
2762// PPC-LINUX:#define __SCHAR_MAX__ 127
2763// PPC-LINUX:#define __SHRT_MAX__ 32767
2764// PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2765// PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
2766// PPC-LINUX:#define __SIZEOF_FLOAT__ 4
2767// PPC-LINUX:#define __SIZEOF_INT__ 4
2768// PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2769// PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
2770// PPC-LINUX:#define __SIZEOF_LONG__ 4
2771// PPC-LINUX:#define __SIZEOF_POINTER__ 4
2772// PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
2773// PPC-LINUX:#define __SIZEOF_SHORT__ 2
2774// PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
2775// PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
2776// PPC-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002777// PPC-LINUX:#define __SIZE_MAX__ 4294967295U
Nico Weber3435ede2012-01-31 02:07:33 +00002778// PPC-LINUX:#define __SIZE_TYPE__ unsigned int
2779// PPC-LINUX:#define __SIZE_WIDTH__ 32
2780// PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
2781// PPC-LINUX:#define __USER_LABEL_PREFIX__
2782// PPC-LINUX:#define __WCHAR_MAX__ 2147483647
2783// PPC-LINUX:#define __WCHAR_TYPE__ int
2784// PPC-LINUX:#define __WCHAR_WIDTH__ 32
2785// PPC-LINUX:#define __WINT_TYPE__ unsigned int
2786// PPC-LINUX:#define __WINT_UNSIGNED__ 1
2787// PPC-LINUX:#define __WINT_WIDTH__ 32
2788// PPC-LINUX:#define __powerpc__ 1
2789// PPC-LINUX:#define __ppc__ 1
2790//
David Fang072d47b2013-05-16 17:51:48 +00002791// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-apple-darwin8 < /dev/null | FileCheck -check-prefix PPC-DARWIN %s
2792//
2793// PPC-DARWIN:#define _ARCH_PPC 1
2794// PPC-DARWIN:#define _BIG_ENDIAN 1
David Majnemer158ba132014-02-09 05:30:48 +00002795// PPC-DARWIN:#define __ALIGNOF_MAX_ALIGN_T__ 16
David Fang072d47b2013-05-16 17:51:48 +00002796// PPC-DARWIN:#define __BIG_ENDIAN__ 1
2797// PPC-DARWIN:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2798// PPC-DARWIN:#define __CHAR16_TYPE__ unsigned short
2799// PPC-DARWIN:#define __CHAR32_TYPE__ unsigned int
2800// PPC-DARWIN:#define __CHAR_BIT__ 8
2801// PPC-DARWIN:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2802// PPC-DARWIN:#define __DBL_DIG__ 15
2803// PPC-DARWIN:#define __DBL_EPSILON__ 2.2204460492503131e-16
2804// PPC-DARWIN:#define __DBL_HAS_DENORM__ 1
2805// PPC-DARWIN:#define __DBL_HAS_INFINITY__ 1
2806// PPC-DARWIN:#define __DBL_HAS_QUIET_NAN__ 1
2807// PPC-DARWIN:#define __DBL_MANT_DIG__ 53
2808// PPC-DARWIN:#define __DBL_MAX_10_EXP__ 308
2809// PPC-DARWIN:#define __DBL_MAX_EXP__ 1024
2810// PPC-DARWIN:#define __DBL_MAX__ 1.7976931348623157e+308
2811// PPC-DARWIN:#define __DBL_MIN_10_EXP__ (-307)
2812// PPC-DARWIN:#define __DBL_MIN_EXP__ (-1021)
2813// PPC-DARWIN:#define __DBL_MIN__ 2.2250738585072014e-308
2814// PPC-DARWIN:#define __DECIMAL_DIG__ 33
2815// PPC-DARWIN:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2816// PPC-DARWIN:#define __FLT_DIG__ 6
2817// PPC-DARWIN:#define __FLT_EPSILON__ 1.19209290e-7F
2818// PPC-DARWIN:#define __FLT_EVAL_METHOD__ 0
2819// PPC-DARWIN:#define __FLT_HAS_DENORM__ 1
2820// PPC-DARWIN:#define __FLT_HAS_INFINITY__ 1
2821// PPC-DARWIN:#define __FLT_HAS_QUIET_NAN__ 1
2822// PPC-DARWIN:#define __FLT_MANT_DIG__ 24
2823// PPC-DARWIN:#define __FLT_MAX_10_EXP__ 38
2824// PPC-DARWIN:#define __FLT_MAX_EXP__ 128
2825// PPC-DARWIN:#define __FLT_MAX__ 3.40282347e+38F
2826// PPC-DARWIN:#define __FLT_MIN_10_EXP__ (-37)
2827// PPC-DARWIN:#define __FLT_MIN_EXP__ (-125)
2828// PPC-DARWIN:#define __FLT_MIN__ 1.17549435e-38F
2829// PPC-DARWIN:#define __FLT_RADIX__ 2
2830// PPC-DARWIN:#define __INT16_TYPE__ short
2831// PPC-DARWIN:#define __INT32_TYPE__ int
2832// PPC-DARWIN:#define __INT64_C_SUFFIX__ LL
2833// PPC-DARWIN:#define __INT64_TYPE__ long long int
2834// PPC-DARWIN:#define __INT8_TYPE__ char
2835// PPC-DARWIN:#define __INTMAX_MAX__ 9223372036854775807LL
2836// PPC-DARWIN:#define __INTMAX_TYPE__ long long int
2837// PPC-DARWIN:#define __INTMAX_WIDTH__ 64
2838// PPC-DARWIN:#define __INTPTR_TYPE__ long int
2839// PPC-DARWIN:#define __INTPTR_WIDTH__ 32
2840// PPC-DARWIN:#define __INT_MAX__ 2147483647
2841// PPC-DARWIN:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2842// PPC-DARWIN:#define __LDBL_DIG__ 31
2843// PPC-DARWIN:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2844// PPC-DARWIN:#define __LDBL_HAS_DENORM__ 1
2845// PPC-DARWIN:#define __LDBL_HAS_INFINITY__ 1
2846// PPC-DARWIN:#define __LDBL_HAS_QUIET_NAN__ 1
2847// PPC-DARWIN:#define __LDBL_MANT_DIG__ 106
2848// PPC-DARWIN:#define __LDBL_MAX_10_EXP__ 308
2849// PPC-DARWIN:#define __LDBL_MAX_EXP__ 1024
2850// PPC-DARWIN:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2851// PPC-DARWIN:#define __LDBL_MIN_10_EXP__ (-291)
2852// PPC-DARWIN:#define __LDBL_MIN_EXP__ (-968)
2853// PPC-DARWIN:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2854// PPC-DARWIN:#define __LONG_DOUBLE_128__ 1
2855// PPC-DARWIN:#define __LONG_LONG_MAX__ 9223372036854775807LL
2856// PPC-DARWIN:#define __LONG_MAX__ 2147483647L
2857// PPC-DARWIN:#define __MACH__ 1
2858// PPC-DARWIN:#define __NATURAL_ALIGNMENT__ 1
2859// PPC-DARWIN:#define __ORDER_BIG_ENDIAN__ 4321
2860// PPC-DARWIN:#define __ORDER_LITTLE_ENDIAN__ 1234
2861// PPC-DARWIN:#define __ORDER_PDP_ENDIAN__ 3412
2862// PPC-DARWIN:#define __POINTER_WIDTH__ 32
2863// PPC-DARWIN:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002864// PPC-DARWIN:#define __PPC__ 1
David Fang072d47b2013-05-16 17:51:48 +00002865// PPC-DARWIN:#define __PTRDIFF_TYPE__ int
2866// PPC-DARWIN:#define __PTRDIFF_WIDTH__ 32
2867// PPC-DARWIN:#define __REGISTER_PREFIX__
2868// PPC-DARWIN:#define __SCHAR_MAX__ 127
2869// PPC-DARWIN:#define __SHRT_MAX__ 32767
2870// PPC-DARWIN:#define __SIG_ATOMIC_WIDTH__ 32
2871// PPC-DARWIN:#define __SIZEOF_DOUBLE__ 8
2872// PPC-DARWIN:#define __SIZEOF_FLOAT__ 4
2873// PPC-DARWIN:#define __SIZEOF_INT__ 4
2874// PPC-DARWIN:#define __SIZEOF_LONG_DOUBLE__ 16
2875// PPC-DARWIN:#define __SIZEOF_LONG_LONG__ 8
2876// PPC-DARWIN:#define __SIZEOF_LONG__ 4
2877// PPC-DARWIN:#define __SIZEOF_POINTER__ 4
2878// PPC-DARWIN:#define __SIZEOF_PTRDIFF_T__ 4
2879// PPC-DARWIN:#define __SIZEOF_SHORT__ 2
2880// PPC-DARWIN:#define __SIZEOF_SIZE_T__ 4
2881// PPC-DARWIN:#define __SIZEOF_WCHAR_T__ 4
2882// PPC-DARWIN:#define __SIZEOF_WINT_T__ 4
2883// PPC-DARWIN:#define __SIZE_MAX__ 4294967295UL
2884// PPC-DARWIN:#define __SIZE_TYPE__ long unsigned int
2885// PPC-DARWIN:#define __SIZE_WIDTH__ 32
2886// PPC-DARWIN:#define __STDC_HOSTED__ 0
2887// PPC-DARWIN:#define __STDC_VERSION__ 199901L
2888// PPC-DARWIN:#define __STDC__ 1
2889// PPC-DARWIN:#define __UINTMAX_TYPE__ long long unsigned int
2890// PPC-DARWIN:#define __USER_LABEL_PREFIX__ _
2891// PPC-DARWIN:#define __WCHAR_MAX__ 2147483647
2892// PPC-DARWIN:#define __WCHAR_TYPE__ int
2893// PPC-DARWIN:#define __WCHAR_WIDTH__ 32
2894// PPC-DARWIN:#define __WINT_TYPE__ int
2895// PPC-DARWIN:#define __WINT_WIDTH__ 32
2896// PPC-DARWIN:#define __powerpc__ 1
2897// PPC-DARWIN:#define __ppc__ 1
2898//
Ulrich Weigand47445072013-05-06 16:26:41 +00002899// RUN: %clang_cc1 -E -dM -ffreestanding -triple=s390x-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix S390X %s
2900//
2901// S390X:#define __CHAR16_TYPE__ unsigned short
2902// S390X:#define __CHAR32_TYPE__ unsigned int
2903// S390X:#define __CHAR_BIT__ 8
2904// S390X:#define __CHAR_UNSIGNED__ 1
2905// S390X:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2906// S390X:#define __DBL_DIG__ 15
2907// S390X:#define __DBL_EPSILON__ 2.2204460492503131e-16
2908// S390X:#define __DBL_HAS_DENORM__ 1
2909// S390X:#define __DBL_HAS_INFINITY__ 1
2910// S390X:#define __DBL_HAS_QUIET_NAN__ 1
2911// S390X:#define __DBL_MANT_DIG__ 53
2912// S390X:#define __DBL_MAX_10_EXP__ 308
2913// S390X:#define __DBL_MAX_EXP__ 1024
2914// S390X:#define __DBL_MAX__ 1.7976931348623157e+308
2915// S390X:#define __DBL_MIN_10_EXP__ (-307)
2916// S390X:#define __DBL_MIN_EXP__ (-1021)
2917// S390X:#define __DBL_MIN__ 2.2250738585072014e-308
2918// S390X:#define __DECIMAL_DIG__ 36
2919// S390X:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2920// S390X:#define __FLT_DIG__ 6
2921// S390X:#define __FLT_EPSILON__ 1.19209290e-7F
2922// S390X:#define __FLT_EVAL_METHOD__ 0
2923// S390X:#define __FLT_HAS_DENORM__ 1
2924// S390X:#define __FLT_HAS_INFINITY__ 1
2925// S390X:#define __FLT_HAS_QUIET_NAN__ 1
2926// S390X:#define __FLT_MANT_DIG__ 24
2927// S390X:#define __FLT_MAX_10_EXP__ 38
2928// S390X:#define __FLT_MAX_EXP__ 128
2929// S390X:#define __FLT_MAX__ 3.40282347e+38F
2930// S390X:#define __FLT_MIN_10_EXP__ (-37)
2931// S390X:#define __FLT_MIN_EXP__ (-125)
2932// S390X:#define __FLT_MIN__ 1.17549435e-38F
2933// S390X:#define __FLT_RADIX__ 2
2934// S390X:#define __INT16_TYPE__ short
2935// S390X:#define __INT32_TYPE__ int
2936// S390X:#define __INT64_C_SUFFIX__ L
2937// S390X:#define __INT64_TYPE__ long long int
2938// S390X:#define __INT8_TYPE__ char
2939// S390X:#define __INTMAX_MAX__ 9223372036854775807LL
2940// S390X:#define __INTMAX_TYPE__ long long int
2941// S390X:#define __INTMAX_WIDTH__ 64
2942// S390X:#define __INTPTR_TYPE__ long int
2943// S390X:#define __INTPTR_WIDTH__ 64
2944// S390X:#define __INT_MAX__ 2147483647
2945// S390X:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
2946// S390X:#define __LDBL_DIG__ 33
2947// S390X:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
2948// S390X:#define __LDBL_HAS_DENORM__ 1
2949// S390X:#define __LDBL_HAS_INFINITY__ 1
2950// S390X:#define __LDBL_HAS_QUIET_NAN__ 1
2951// S390X:#define __LDBL_MANT_DIG__ 113
2952// S390X:#define __LDBL_MAX_10_EXP__ 4932
2953// S390X:#define __LDBL_MAX_EXP__ 16384
2954// S390X:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
2955// S390X:#define __LDBL_MIN_10_EXP__ (-4931)
2956// S390X:#define __LDBL_MIN_EXP__ (-16381)
2957// S390X:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
2958// S390X:#define __LONG_LONG_MAX__ 9223372036854775807LL
2959// S390X:#define __LONG_MAX__ 9223372036854775807L
2960// S390X:#define __NO_INLINE__ 1
2961// S390X:#define __POINTER_WIDTH__ 64
2962// S390X:#define __PTRDIFF_TYPE__ long int
2963// S390X:#define __PTRDIFF_WIDTH__ 64
2964// S390X:#define __SCHAR_MAX__ 127
2965// S390X:#define __SHRT_MAX__ 32767
2966// S390X:#define __SIG_ATOMIC_WIDTH__ 32
2967// S390X:#define __SIZEOF_DOUBLE__ 8
2968// S390X:#define __SIZEOF_FLOAT__ 4
2969// S390X:#define __SIZEOF_INT__ 4
2970// S390X:#define __SIZEOF_LONG_DOUBLE__ 16
2971// S390X:#define __SIZEOF_LONG_LONG__ 8
2972// S390X:#define __SIZEOF_LONG__ 8
2973// S390X:#define __SIZEOF_POINTER__ 8
2974// S390X:#define __SIZEOF_PTRDIFF_T__ 8
2975// S390X:#define __SIZEOF_SHORT__ 2
2976// S390X:#define __SIZEOF_SIZE_T__ 8
2977// S390X:#define __SIZEOF_WCHAR_T__ 4
2978// S390X:#define __SIZEOF_WINT_T__ 4
2979// S390X:#define __SIZE_TYPE__ long unsigned int
2980// S390X:#define __SIZE_WIDTH__ 64
2981// S390X:#define __UINTMAX_TYPE__ long long unsigned int
2982// S390X:#define __USER_LABEL_PREFIX__ _
2983// S390X:#define __WCHAR_MAX__ 2147483647
2984// S390X:#define __WCHAR_TYPE__ int
2985// S390X:#define __WCHAR_WIDTH__ 32
2986// S390X:#define __WINT_TYPE__ int
2987// S390X:#define __WINT_WIDTH__ 32
2988// S390X:#define __s390__ 1
2989// S390X:#define __s390x__ 1
2990//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002991// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
Chris Lattnere963d092009-10-29 04:55:36 +00002992//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002993// SPARC-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +00002994// SPARC:#define __ALIGNOF_MAX_ALIGN_T__ 8
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002995// SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002996// SPARC:#define __CHAR16_TYPE__ unsigned short
2997// SPARC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002998// SPARC:#define __CHAR_BIT__ 8
2999// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3000// SPARC:#define __DBL_DIG__ 15
3001// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
3002// SPARC:#define __DBL_HAS_DENORM__ 1
3003// SPARC:#define __DBL_HAS_INFINITY__ 1
3004// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
3005// SPARC:#define __DBL_MANT_DIG__ 53
3006// SPARC:#define __DBL_MAX_10_EXP__ 308
3007// SPARC:#define __DBL_MAX_EXP__ 1024
3008// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
3009// SPARC:#define __DBL_MIN_10_EXP__ (-307)
3010// SPARC:#define __DBL_MIN_EXP__ (-1021)
3011// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
3012// SPARC:#define __DECIMAL_DIG__ 17
3013// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3014// SPARC:#define __FLT_DIG__ 6
3015// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
3016// SPARC:#define __FLT_EVAL_METHOD__ 0
3017// SPARC:#define __FLT_HAS_DENORM__ 1
3018// SPARC:#define __FLT_HAS_INFINITY__ 1
3019// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
3020// SPARC:#define __FLT_MANT_DIG__ 24
3021// SPARC:#define __FLT_MAX_10_EXP__ 38
3022// SPARC:#define __FLT_MAX_EXP__ 128
3023// SPARC:#define __FLT_MAX__ 3.40282347e+38F
3024// SPARC:#define __FLT_MIN_10_EXP__ (-37)
3025// SPARC:#define __FLT_MIN_EXP__ (-125)
3026// SPARC:#define __FLT_MIN__ 1.17549435e-38F
3027// SPARC:#define __FLT_RADIX__ 2
3028// SPARC:#define __INT16_TYPE__ short
3029// SPARC:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00003030// SPARC:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00003031// SPARC:#define __INT64_TYPE__ long long int
3032// SPARC:#define __INT8_TYPE__ char
3033// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00003034// SPARC:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00003035// SPARC:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00003036// SPARC:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00003037// SPARC:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003038// SPARC:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003039// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00003040// SPARC:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003041// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +00003042// SPARC:#define __LDBL_HAS_DENORM__ 1
3043// SPARC:#define __LDBL_HAS_INFINITY__ 1
3044// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
3045// SPARC:#define __LDBL_MANT_DIG__ 53
3046// SPARC:#define __LDBL_MAX_10_EXP__ 308
3047// SPARC:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003048// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +00003049// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
3050// SPARC:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003051// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnere963d092009-10-29 04:55:36 +00003052// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
3053// SPARC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003054// SPARC-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00003055// SPARC:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003056// SPARC:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00003057// SPARC:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbaracde99e2009-12-18 18:42:37 +00003058// SPARC:#define __REGISTER_PREFIX__
Chris Lattnere963d092009-10-29 04:55:36 +00003059// SPARC:#define __SCHAR_MAX__ 127
3060// SPARC:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00003061// SPARC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00003062// SPARC:#define __SIZEOF_DOUBLE__ 8
3063// SPARC:#define __SIZEOF_FLOAT__ 4
3064// SPARC:#define __SIZEOF_INT__ 4
3065// SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
3066// SPARC:#define __SIZEOF_LONG_LONG__ 8
3067// SPARC:#define __SIZEOF_LONG__ 4
3068// SPARC:#define __SIZEOF_POINTER__ 4
3069// SPARC:#define __SIZEOF_PTRDIFF_T__ 4
3070// SPARC:#define __SIZEOF_SHORT__ 2
3071// SPARC:#define __SIZEOF_SIZE_T__ 4
3072// SPARC:#define __SIZEOF_WCHAR_T__ 4
3073// SPARC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003074// SPARC:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00003075// SPARC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00003076// SPARC:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003077// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003078// SPARC:#define __USER_LABEL_PREFIX__ _
Daniel Dunbar3b17a862011-03-31 00:53:51 +00003079// SPARC:#define __VERSION__ "4.2.1 Compatible
Chris Lattnere963d092009-10-29 04:55:36 +00003080// SPARC:#define __WCHAR_MAX__ 2147483647
3081// SPARC:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00003082// SPARC:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003083// SPARC:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00003084// SPARC:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003085// SPARC:#define __sparc 1
3086// SPARC:#define __sparc__ 1
3087// SPARC:#define __sparcv8 1
3088// SPARC:#define sparc 1
3089//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00003090// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
Chris Lattnere963d092009-10-29 04:55:36 +00003091//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003092// TCE-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +00003093// TCE:#define __ALIGNOF_MAX_ALIGN_T__ 4
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003094// TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00003095// TCE:#define __CHAR16_TYPE__ unsigned short
3096// TCE:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003097// TCE:#define __CHAR_BIT__ 8
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003098// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45
Chris Lattnere963d092009-10-29 04:55:36 +00003099// TCE:#define __DBL_DIG__ 6
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003100// TCE:#define __DBL_EPSILON__ 1.19209290e-7
Chris Lattnere963d092009-10-29 04:55:36 +00003101// TCE:#define __DBL_HAS_DENORM__ 1
3102// TCE:#define __DBL_HAS_INFINITY__ 1
3103// TCE:#define __DBL_HAS_QUIET_NAN__ 1
3104// TCE:#define __DBL_MANT_DIG__ 24
3105// TCE:#define __DBL_MAX_10_EXP__ 38
3106// TCE:#define __DBL_MAX_EXP__ 128
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003107// TCE:#define __DBL_MAX__ 3.40282347e+38
Chris Lattnere963d092009-10-29 04:55:36 +00003108// TCE:#define __DBL_MIN_10_EXP__ (-37)
3109// TCE:#define __DBL_MIN_EXP__ (-125)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003110// TCE:#define __DBL_MIN__ 1.17549435e-38
Chris Lattnere963d092009-10-29 04:55:36 +00003111// TCE:#define __DECIMAL_DIG__ -1
3112// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3113// TCE:#define __FLT_DIG__ 6
3114// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
3115// TCE:#define __FLT_EVAL_METHOD__ 0
3116// TCE:#define __FLT_HAS_DENORM__ 1
3117// TCE:#define __FLT_HAS_INFINITY__ 1
3118// TCE:#define __FLT_HAS_QUIET_NAN__ 1
3119// TCE:#define __FLT_MANT_DIG__ 24
3120// TCE:#define __FLT_MAX_10_EXP__ 38
3121// TCE:#define __FLT_MAX_EXP__ 128
3122// TCE:#define __FLT_MAX__ 3.40282347e+38F
3123// TCE:#define __FLT_MIN_10_EXP__ (-37)
3124// TCE:#define __FLT_MIN_EXP__ (-125)
3125// TCE:#define __FLT_MIN__ 1.17549435e-38F
3126// TCE:#define __FLT_RADIX__ 2
3127// TCE:#define __INT16_TYPE__ short
3128// TCE:#define __INT32_TYPE__ int
3129// TCE:#define __INT8_TYPE__ char
3130// TCE:#define __INTMAX_MAX__ 2147483647L
Ken Dyck9b25f782009-11-19 13:18:59 +00003131// TCE:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00003132// TCE:#define __INTMAX_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003133// TCE:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00003134// TCE:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003135// TCE:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003136// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45L
Chris Lattnere963d092009-10-29 04:55:36 +00003137// TCE:#define __LDBL_DIG__ 6
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003138// TCE:#define __LDBL_EPSILON__ 1.19209290e-7L
Chris Lattnere963d092009-10-29 04:55:36 +00003139// TCE:#define __LDBL_HAS_DENORM__ 1
3140// TCE:#define __LDBL_HAS_INFINITY__ 1
3141// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
3142// TCE:#define __LDBL_MANT_DIG__ 24
3143// TCE:#define __LDBL_MAX_10_EXP__ 38
3144// TCE:#define __LDBL_MAX_EXP__ 128
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003145// TCE:#define __LDBL_MAX__ 3.40282347e+38L
Chris Lattnere963d092009-10-29 04:55:36 +00003146// TCE:#define __LDBL_MIN_10_EXP__ (-37)
3147// TCE:#define __LDBL_MIN_EXP__ (-125)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003148// TCE:#define __LDBL_MIN__ 1.17549435e-38L
Chris Lattnere963d092009-10-29 04:55:36 +00003149// TCE:#define __LONG_LONG_MAX__ 2147483647LL
3150// TCE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003151// TCE-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00003152// TCE:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003153// TCE:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00003154// TCE:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003155// TCE:#define __SCHAR_MAX__ 127
3156// TCE:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00003157// TCE:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00003158// TCE:#define __SIZEOF_DOUBLE__ 4
3159// TCE:#define __SIZEOF_FLOAT__ 4
3160// TCE:#define __SIZEOF_INT__ 4
3161// TCE:#define __SIZEOF_LONG_DOUBLE__ 4
3162// TCE:#define __SIZEOF_LONG_LONG__ 4
3163// TCE:#define __SIZEOF_LONG__ 4
3164// TCE:#define __SIZEOF_POINTER__ 4
3165// TCE:#define __SIZEOF_PTRDIFF_T__ 4
3166// TCE:#define __SIZEOF_SHORT__ 2
3167// TCE:#define __SIZEOF_SIZE_T__ 4
3168// TCE:#define __SIZEOF_WCHAR_T__ 4
3169// TCE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003170// TCE:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00003171// TCE:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00003172// TCE:#define __SIZE_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003173// TCE:#define __TCE_V1__ 1
3174// TCE:#define __TCE__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00003175// TCE:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003176// TCE:#define __USER_LABEL_PREFIX__ _
3177// TCE:#define __WCHAR_MAX__ 2147483647
3178// TCE:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00003179// TCE:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003180// TCE:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00003181// TCE:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003182// TCE:#define __tce 1
3183// TCE:#define __tce__ 1
3184// TCE:#define tce 1
3185//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00003186// 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 +00003187//
3188// X86_64:#define _LP64 1
David Majnemer158ba132014-02-09 05:30:48 +00003189// X86_64:#define __ALIGNOF_MAX_ALIGN_T__ 16
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003190// X86_64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00003191// X86_64:#define __CHAR16_TYPE__ unsigned short
3192// X86_64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003193// X86_64:#define __CHAR_BIT__ 8
3194// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3195// X86_64:#define __DBL_DIG__ 15
3196// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
3197// X86_64:#define __DBL_HAS_DENORM__ 1
3198// X86_64:#define __DBL_HAS_INFINITY__ 1
3199// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
3200// X86_64:#define __DBL_MANT_DIG__ 53
3201// X86_64:#define __DBL_MAX_10_EXP__ 308
3202// X86_64:#define __DBL_MAX_EXP__ 1024
3203// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
3204// X86_64:#define __DBL_MIN_10_EXP__ (-307)
3205// X86_64:#define __DBL_MIN_EXP__ (-1021)
3206// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
3207// X86_64:#define __DECIMAL_DIG__ 21
3208// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3209// X86_64:#define __FLT_DIG__ 6
3210// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
3211// X86_64:#define __FLT_EVAL_METHOD__ 0
3212// X86_64:#define __FLT_HAS_DENORM__ 1
3213// X86_64:#define __FLT_HAS_INFINITY__ 1
3214// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
3215// X86_64:#define __FLT_MANT_DIG__ 24
3216// X86_64:#define __FLT_MAX_10_EXP__ 38
3217// X86_64:#define __FLT_MAX_EXP__ 128
3218// X86_64:#define __FLT_MAX__ 3.40282347e+38F
3219// X86_64:#define __FLT_MIN_10_EXP__ (-37)
3220// X86_64:#define __FLT_MIN_EXP__ (-125)
3221// X86_64:#define __FLT_MIN__ 1.17549435e-38F
3222// X86_64:#define __FLT_RADIX__ 2
3223// X86_64:#define __INT16_TYPE__ short
3224// X86_64:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00003225// X86_64:#define __INT64_C_SUFFIX__ L
Chris Lattnere963d092009-10-29 04:55:36 +00003226// X86_64:#define __INT64_TYPE__ long int
3227// X86_64:#define __INT8_TYPE__ char
3228// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck9b25f782009-11-19 13:18:59 +00003229// X86_64:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00003230// X86_64:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00003231// X86_64:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00003232// X86_64:#define __INTPTR_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003233// X86_64:#define __INT_MAX__ 2147483647
3234// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3235// X86_64:#define __LDBL_DIG__ 18
3236// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3237// X86_64:#define __LDBL_HAS_DENORM__ 1
3238// X86_64:#define __LDBL_HAS_INFINITY__ 1
3239// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
3240// X86_64:#define __LDBL_MANT_DIG__ 64
3241// X86_64:#define __LDBL_MAX_10_EXP__ 4932
3242// X86_64:#define __LDBL_MAX_EXP__ 16384
3243// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3244// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
3245// X86_64:#define __LDBL_MIN_EXP__ (-16381)
3246// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3247// X86_64:#define __LITTLE_ENDIAN__ 1
3248// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
3249// X86_64:#define __LONG_MAX__ 9223372036854775807L
3250// X86_64:#define __LP64__ 1
3251// X86_64:#define __MMX__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00003252// X86_64:#define __NO_MATH_INLINES 1
3253// X86_64:#define __POINTER_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00003254// X86_64:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00003255// X86_64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003256// X86_64:#define __REGISTER_PREFIX__
3257// X86_64:#define __SCHAR_MAX__ 127
3258// X86_64:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00003259// X86_64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00003260// X86_64:#define __SIZEOF_DOUBLE__ 8
3261// X86_64:#define __SIZEOF_FLOAT__ 4
3262// X86_64:#define __SIZEOF_INT__ 4
3263// X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
3264// X86_64:#define __SIZEOF_LONG_LONG__ 8
3265// X86_64:#define __SIZEOF_LONG__ 8
3266// X86_64:#define __SIZEOF_POINTER__ 8
3267// X86_64:#define __SIZEOF_PTRDIFF_T__ 8
3268// X86_64:#define __SIZEOF_SHORT__ 2
3269// X86_64:#define __SIZEOF_SIZE_T__ 8
3270// X86_64:#define __SIZEOF_WCHAR_T__ 4
3271// X86_64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003272// X86_64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnere963d092009-10-29 04:55:36 +00003273// X86_64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00003274// X86_64:#define __SIZE_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003275// X86_64:#define __SSE2_MATH__ 1
3276// X86_64:#define __SSE2__ 1
3277// X86_64:#define __SSE_MATH__ 1
3278// X86_64:#define __SSE__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00003279// X86_64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003280// X86_64:#define __USER_LABEL_PREFIX__ _
3281// X86_64:#define __WCHAR_MAX__ 2147483647
3282// X86_64:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00003283// X86_64:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003284// X86_64:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00003285// X86_64:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003286// X86_64:#define __amd64 1
3287// X86_64:#define __amd64__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00003288// X86_64:#define __x86_64 1
3289// X86_64:#define __x86_64__ 1
3290//
Douglas Gregore6d6e512011-01-12 21:19:25 +00003291// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
3292//
3293// X86_64-LINUX:#define _LP64 1
David Majnemer158ba132014-02-09 05:30:48 +00003294// X86_64-LINUX:#define __ALIGNOF_MAX_ALIGN_T__ 16
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003295// X86_64-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregore6d6e512011-01-12 21:19:25 +00003296// X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
3297// X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
3298// X86_64-LINUX:#define __CHAR_BIT__ 8
3299// X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3300// X86_64-LINUX:#define __DBL_DIG__ 15
3301// X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
3302// X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
3303// X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
3304// X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
3305// X86_64-LINUX:#define __DBL_MANT_DIG__ 53
3306// X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
3307// X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
3308// X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
3309// X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
3310// X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
3311// X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
3312// X86_64-LINUX:#define __DECIMAL_DIG__ 21
3313// X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3314// X86_64-LINUX:#define __FLT_DIG__ 6
3315// X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
3316// X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
3317// X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
3318// X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
3319// X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
3320// X86_64-LINUX:#define __FLT_MANT_DIG__ 24
3321// X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
3322// X86_64-LINUX:#define __FLT_MAX_EXP__ 128
3323// X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
3324// X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
3325// X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
3326// X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
3327// X86_64-LINUX:#define __FLT_RADIX__ 2
3328// X86_64-LINUX:#define __INT16_TYPE__ short
3329// X86_64-LINUX:#define __INT32_TYPE__ int
3330// X86_64-LINUX:#define __INT64_C_SUFFIX__ L
3331// X86_64-LINUX:#define __INT64_TYPE__ long int
3332// X86_64-LINUX:#define __INT8_TYPE__ char
3333// X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
3334// X86_64-LINUX:#define __INTMAX_TYPE__ long int
3335// X86_64-LINUX:#define __INTMAX_WIDTH__ 64
3336// X86_64-LINUX:#define __INTPTR_TYPE__ long int
3337// X86_64-LINUX:#define __INTPTR_WIDTH__ 64
3338// X86_64-LINUX:#define __INT_MAX__ 2147483647
3339// X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3340// X86_64-LINUX:#define __LDBL_DIG__ 18
3341// X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3342// X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
3343// X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
3344// X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
3345// X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
3346// X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
3347// X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
3348// X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3349// X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
3350// X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
3351// X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3352// X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
3353// X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
3354// X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
3355// X86_64-LINUX:#define __LP64__ 1
3356// X86_64-LINUX:#define __MMX__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00003357// X86_64-LINUX:#define __NO_MATH_INLINES 1
3358// X86_64-LINUX:#define __POINTER_WIDTH__ 64
3359// X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
3360// X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
3361// X86_64-LINUX:#define __REGISTER_PREFIX__
3362// X86_64-LINUX:#define __SCHAR_MAX__ 127
3363// X86_64-LINUX:#define __SHRT_MAX__ 32767
3364// X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
3365// X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
3366// X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
3367// X86_64-LINUX:#define __SIZEOF_INT__ 4
3368// X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
3369// X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
3370// X86_64-LINUX:#define __SIZEOF_LONG__ 8
3371// X86_64-LINUX:#define __SIZEOF_POINTER__ 8
3372// X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
3373// X86_64-LINUX:#define __SIZEOF_SHORT__ 2
3374// X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
3375// X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
3376// X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003377// X86_64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Douglas Gregore6d6e512011-01-12 21:19:25 +00003378// X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
3379// X86_64-LINUX:#define __SIZE_WIDTH__ 64
3380// X86_64-LINUX:#define __SSE2_MATH__ 1
3381// X86_64-LINUX:#define __SSE2__ 1
3382// X86_64-LINUX:#define __SSE_MATH__ 1
3383// X86_64-LINUX:#define __SSE__ 1
3384// X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
3385// X86_64-LINUX:#define __USER_LABEL_PREFIX__
3386// X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
3387// X86_64-LINUX:#define __WCHAR_TYPE__ int
3388// X86_64-LINUX:#define __WCHAR_WIDTH__ 32
3389// X86_64-LINUX:#define __WINT_TYPE__ unsigned int
3390// X86_64-LINUX:#define __WINT_WIDTH__ 32
3391// X86_64-LINUX:#define __amd64 1
3392// X86_64-LINUX:#define __amd64__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00003393// X86_64-LINUX:#define __x86_64 1
3394// X86_64-LINUX:#define __x86_64__ 1
3395//
Ed Schoutend0621462013-09-29 07:54:52 +00003396// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-unknown-freebsd9.1 < /dev/null | FileCheck -check-prefix X86_64-FREEBSD %s
3397//
3398// X86_64-FREEBSD:#define __FreeBSD__ 9
3399// X86_64-FREEBSD:#define __FreeBSD_cc_version 900001
3400// X86_64-FREEBSD:#define __STDC_MB_MIGHT_NEQ_WC__ 1
3401//
Joerg Sonnenberger0e921f22013-11-11 14:00:37 +00003402// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-netbsd < /dev/null | FileCheck -check-prefix X86_64-NETBSD %s
3403//
3404// X86_64-NETBSD:#define _LP64 1
David Majnemer158ba132014-02-09 05:30:48 +00003405// X86_64-NETBSD:#define __ALIGNOF_MAX_ALIGN_T__ 16
Joerg Sonnenberger0e921f22013-11-11 14:00:37 +00003406// X86_64-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
3407// X86_64-NETBSD:#define __CHAR16_TYPE__ unsigned short
3408// X86_64-NETBSD:#define __CHAR32_TYPE__ unsigned int
3409// X86_64-NETBSD:#define __CHAR_BIT__ 8
3410// X86_64-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3411// X86_64-NETBSD:#define __DBL_DIG__ 15
3412// X86_64-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
3413// X86_64-NETBSD:#define __DBL_HAS_DENORM__ 1
3414// X86_64-NETBSD:#define __DBL_HAS_INFINITY__ 1
3415// X86_64-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
3416// X86_64-NETBSD:#define __DBL_MANT_DIG__ 53
3417// X86_64-NETBSD:#define __DBL_MAX_10_EXP__ 308
3418// X86_64-NETBSD:#define __DBL_MAX_EXP__ 1024
3419// X86_64-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
3420// X86_64-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
3421// X86_64-NETBSD:#define __DBL_MIN_EXP__ (-1021)
3422// X86_64-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
3423// X86_64-NETBSD:#define __DECIMAL_DIG__ 21
3424// X86_64-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3425// X86_64-NETBSD:#define __FLT_DIG__ 6
3426// X86_64-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
3427// X86_64-NETBSD:#define __FLT_EVAL_METHOD__ 0
3428// X86_64-NETBSD:#define __FLT_HAS_DENORM__ 1
3429// X86_64-NETBSD:#define __FLT_HAS_INFINITY__ 1
3430// X86_64-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
3431// X86_64-NETBSD:#define __FLT_MANT_DIG__ 24
3432// X86_64-NETBSD:#define __FLT_MAX_10_EXP__ 38
3433// X86_64-NETBSD:#define __FLT_MAX_EXP__ 128
3434// X86_64-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
3435// X86_64-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
3436// X86_64-NETBSD:#define __FLT_MIN_EXP__ (-125)
3437// X86_64-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
3438// X86_64-NETBSD:#define __FLT_RADIX__ 2
3439// X86_64-NETBSD:#define __INT16_TYPE__ short
3440// X86_64-NETBSD:#define __INT32_TYPE__ int
3441// X86_64-NETBSD:#define __INT64_C_SUFFIX__ L
3442// X86_64-NETBSD:#define __INT64_TYPE__ long int
3443// X86_64-NETBSD:#define __INT8_TYPE__ char
3444// X86_64-NETBSD:#define __INTMAX_MAX__ 9223372036854775807L
3445// X86_64-NETBSD:#define __INTMAX_TYPE__ long int
3446// X86_64-NETBSD:#define __INTMAX_WIDTH__ 64
3447// X86_64-NETBSD:#define __INTPTR_TYPE__ long int
3448// X86_64-NETBSD:#define __INTPTR_WIDTH__ 64
3449// X86_64-NETBSD:#define __INT_MAX__ 2147483647
3450// X86_64-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3451// X86_64-NETBSD:#define __LDBL_DIG__ 18
3452// X86_64-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3453// X86_64-NETBSD:#define __LDBL_HAS_DENORM__ 1
3454// X86_64-NETBSD:#define __LDBL_HAS_INFINITY__ 1
3455// X86_64-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
3456// X86_64-NETBSD:#define __LDBL_MANT_DIG__ 64
3457// X86_64-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
3458// X86_64-NETBSD:#define __LDBL_MAX_EXP__ 16384
3459// X86_64-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3460// X86_64-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
3461// X86_64-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
3462// X86_64-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3463// X86_64-NETBSD:#define __LITTLE_ENDIAN__ 1
3464// X86_64-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
3465// X86_64-NETBSD:#define __LONG_MAX__ 9223372036854775807L
3466// X86_64-NETBSD:#define __LP64__ 1
3467// X86_64-NETBSD:#define __MMX__ 1
3468// X86_64-NETBSD:#define __NO_MATH_INLINES 1
3469// X86_64-NETBSD:#define __POINTER_WIDTH__ 64
3470// X86_64-NETBSD:#define __PTRDIFF_TYPE__ long int
3471// X86_64-NETBSD:#define __PTRDIFF_WIDTH__ 64
3472// X86_64-NETBSD:#define __REGISTER_PREFIX__
3473// X86_64-NETBSD:#define __SCHAR_MAX__ 127
3474// X86_64-NETBSD:#define __SHRT_MAX__ 32767
3475// X86_64-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
3476// X86_64-NETBSD:#define __SIZEOF_DOUBLE__ 8
3477// X86_64-NETBSD:#define __SIZEOF_FLOAT__ 4
3478// X86_64-NETBSD:#define __SIZEOF_INT__ 4
3479// X86_64-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 16
3480// X86_64-NETBSD:#define __SIZEOF_LONG_LONG__ 8
3481// X86_64-NETBSD:#define __SIZEOF_LONG__ 8
3482// X86_64-NETBSD:#define __SIZEOF_POINTER__ 8
3483// X86_64-NETBSD:#define __SIZEOF_PTRDIFF_T__ 8
3484// X86_64-NETBSD:#define __SIZEOF_SHORT__ 2
3485// X86_64-NETBSD:#define __SIZEOF_SIZE_T__ 8
3486// X86_64-NETBSD:#define __SIZEOF_WCHAR_T__ 4
3487// X86_64-NETBSD:#define __SIZEOF_WINT_T__ 4
3488// X86_64-NETBSD:#define __SIZE_MAX__ 18446744073709551615UL
3489// X86_64-NETBSD:#define __SIZE_TYPE__ long unsigned int
3490// X86_64-NETBSD:#define __SIZE_WIDTH__ 64
3491// X86_64-NETBSD:#define __SSE2_MATH__ 1
3492// X86_64-NETBSD:#define __SSE2__ 1
3493// X86_64-NETBSD:#define __SSE_MATH__ 1
3494// X86_64-NETBSD:#define __SSE__ 1
3495// X86_64-NETBSD:#define __UINTMAX_TYPE__ long unsigned int
3496// X86_64-NETBSD:#define __USER_LABEL_PREFIX__
3497// X86_64-NETBSD:#define __WCHAR_MAX__ 2147483647
3498// X86_64-NETBSD:#define __WCHAR_TYPE__ int
3499// X86_64-NETBSD:#define __WCHAR_WIDTH__ 32
3500// X86_64-NETBSD:#define __WINT_TYPE__ int
3501// X86_64-NETBSD:#define __WINT_WIDTH__ 32
3502// X86_64-NETBSD:#define __amd64 1
3503// X86_64-NETBSD:#define __amd64__ 1
3504// X86_64-NETBSD:#define __x86_64 1
3505// X86_64-NETBSD:#define __x86_64__ 1
3506//
Jakob Stoklund Olesen248520b2013-05-15 03:22:33 +00003507// 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 +00003508// SPARCV9:#define __INT64_TYPE__ long int
Jakob Stoklund Olesen248520b2013-05-15 03:22:33 +00003509// SPARCV9:#define __INTMAX_TYPE__ long int
3510// SPARCV9:#define __INTPTR_TYPE__ long int
3511// SPARCV9:#define __LONG_MAX__ 9223372036854775807L
3512// SPARCV9:#define __LP64__ 1
3513// SPARCV9:#define __SIZEOF_LONG__ 8
3514// SPARCV9:#define __SIZEOF_POINTER__ 8
3515//
Jakob Stoklund Olesen826df142013-05-19 17:53:37 +00003516// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-openbsd < /dev/null | FileCheck -check-prefix SPARC64-OBSD %s
3517// SPARC64-OBSD:#define __INT64_TYPE__ long long int
3518// SPARC64-OBSD:#define __INTMAX_TYPE__ long long int
3519// SPARC64-OBSD:#define __UINTMAX_TYPE__ long long unsigned int
3520//
Sylvestre Ledrufd7cd3552013-09-06 14:53:07 +00003521// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSD-DEFINE %s
3522// KFREEBSD-DEFINE:#define __FreeBSD_kernel__ 1
3523// KFREEBSD-DEFINE:#define __GLIBC__ 1
3524//
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003525// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i686-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSDI686-DEFINE %s
3526// KFREEBSDI686-DEFINE:#define __FreeBSD_kernel__ 1
3527// KFREEBSDI686-DEFINE:#define __GLIBC__ 1
3528//
David Chisnallb601c962012-07-03 20:49:52 +00003529// 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 +00003530// GNUSOURCE:#define _GNU_SOURCE 1
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003531//
Dan Gohman04f87202010-05-28 00:27:15 +00003532// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
3533// NORTTI: __GXX_ABI_VERSION
3534// NORTTI-NOT:#define __GXX_RTTI
3535// NORTTI: __STDC__
Evgeniy Stepanov94dc4c92012-04-26 12:08:09 +00003536//
3537// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
3538// ANDROID: __ANDROID__ 1
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003539//
Roman Divacky13b586f2013-07-03 19:45:54 +00003540// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd < /dev/null | FileCheck -check-prefix PPC64-FREEBSD %s
3541// PPC64-FREEBSD-NOT: #define __LONG_DOUBLE_128__ 1
Robert Lytton0e076492013-08-13 09:43:10 +00003542//
3543// RUN: %clang_cc1 -E -dM -ffreestanding -triple=xcore-none-none < /dev/null | FileCheck -check-prefix XCORE %s
3544// XCORE:#define __XS1B__ 1