blob: 4c70aec29711d05b2c3d9f89cdf8b0df885c92b1 [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//
Richard Bartonc9b5f352014-02-24 18:43:28 +0000205// RUN: %clang_cc1 -E -dM -fno-short-wchar < /dev/null | FileCheck -check-prefix SHORTWCHAR2 %s
206//
207// SHORTWCHAR2: #define __SIZEOF_WCHAR_T__ 4
208// SHORTWCHAR2: #define __WCHAR_WIDTH__ 32
209// Other definitions vary from platform to platform
210//
Kevin Qinad64f6d2014-02-24 02:45:03 +0000211// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-none-none < /dev/null | FileCheck -check-prefix AARCH64 %s
212//
213// AARCH64:#define _LP64 1
214// AARCH64:#define __AARCH64EL__ 1
215// AARCH64:#define __ALIGNOF_MAX_ALIGN_T__ 16
216// AARCH64:#define __ARM_64BIT_STATE 1
217// AARCH64:#define __ARM_ARCH 8
218// AARCH64:#define __ARM_ARCH_ISA_A64 1
219// AARCH64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
220// AARCH64:#define __CHAR16_TYPE__ unsigned short
221// AARCH64:#define __CHAR32_TYPE__ unsigned int
222// AARCH64:#define __CHAR_BIT__ 8
223// AARCH64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
224// AARCH64:#define __DBL_DIG__ 15
225// AARCH64:#define __DBL_EPSILON__ 2.2204460492503131e-16
226// AARCH64:#define __DBL_HAS_DENORM__ 1
227// AARCH64:#define __DBL_HAS_INFINITY__ 1
228// AARCH64:#define __DBL_HAS_QUIET_NAN__ 1
229// AARCH64:#define __DBL_MANT_DIG__ 53
230// AARCH64:#define __DBL_MAX_10_EXP__ 308
231// AARCH64:#define __DBL_MAX_EXP__ 1024
232// AARCH64:#define __DBL_MAX__ 1.7976931348623157e+308
233// AARCH64:#define __DBL_MIN_10_EXP__ (-307)
234// AARCH64:#define __DBL_MIN_EXP__ (-1021)
235// AARCH64:#define __DBL_MIN__ 2.2250738585072014e-308
236// AARCH64:#define __DECIMAL_DIG__ 36
237// AARCH64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
238// AARCH64:#define __FLT_DIG__ 6
239// AARCH64:#define __FLT_EPSILON__ 1.19209290e-7F
240// AARCH64:#define __FLT_EVAL_METHOD__ 0
241// AARCH64:#define __FLT_HAS_DENORM__ 1
242// AARCH64:#define __FLT_HAS_INFINITY__ 1
243// AARCH64:#define __FLT_HAS_QUIET_NAN__ 1
244// AARCH64:#define __FLT_MANT_DIG__ 24
245// AARCH64:#define __FLT_MAX_10_EXP__ 38
246// AARCH64:#define __FLT_MAX_EXP__ 128
247// AARCH64:#define __FLT_MAX__ 3.40282347e+38F
248// AARCH64:#define __FLT_MIN_10_EXP__ (-37)
249// AARCH64:#define __FLT_MIN_EXP__ (-125)
250// AARCH64:#define __FLT_MIN__ 1.17549435e-38F
251// AARCH64:#define __FLT_RADIX__ 2
252// AARCH64:#define __INT16_TYPE__ short
253// AARCH64:#define __INT32_TYPE__ int
254// AARCH64:#define __INT64_C_SUFFIX__ L
255// AARCH64:#define __INT64_TYPE__ long int
256// AARCH64:#define __INT8_TYPE__ char
257// AARCH64:#define __INTMAX_MAX__ 9223372036854775807L
258// AARCH64:#define __INTMAX_TYPE__ long int
259// AARCH64:#define __INTMAX_WIDTH__ 64
260// AARCH64:#define __INTPTR_TYPE__ long int
261// AARCH64:#define __INTPTR_WIDTH__ 64
262// AARCH64:#define __INT_MAX__ 2147483647
263// AARCH64:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
264// AARCH64:#define __LDBL_DIG__ 33
265// AARCH64:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
266// AARCH64:#define __LDBL_HAS_DENORM__ 1
267// AARCH64:#define __LDBL_HAS_INFINITY__ 1
268// AARCH64:#define __LDBL_HAS_QUIET_NAN__ 1
269// AARCH64:#define __LDBL_MANT_DIG__ 113
270// AARCH64:#define __LDBL_MAX_10_EXP__ 4932
271// AARCH64:#define __LDBL_MAX_EXP__ 16384
272// AARCH64:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
273// AARCH64:#define __LDBL_MIN_10_EXP__ (-4931)
274// AARCH64:#define __LDBL_MIN_EXP__ (-16381)
275// AARCH64:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
276// AARCH64:#define __LONG_LONG_MAX__ 9223372036854775807LL
277// AARCH64:#define __LONG_MAX__ 9223372036854775807L
278// AARCH64:#define __LP64__ 1
279// AARCH64:#define __POINTER_WIDTH__ 64
280// AARCH64:#define __PTRDIFF_TYPE__ long int
281// AARCH64:#define __PTRDIFF_WIDTH__ 64
282// AARCH64:#define __SCHAR_MAX__ 127
283// AARCH64:#define __SHRT_MAX__ 32767
284// AARCH64:#define __SIG_ATOMIC_WIDTH__ 32
285// AARCH64:#define __SIZEOF_DOUBLE__ 8
286// AARCH64:#define __SIZEOF_FLOAT__ 4
287// AARCH64:#define __SIZEOF_INT128__ 16
288// AARCH64:#define __SIZEOF_INT__ 4
289// AARCH64:#define __SIZEOF_LONG_DOUBLE__ 16
290// AARCH64:#define __SIZEOF_LONG_LONG__ 8
291// AARCH64:#define __SIZEOF_LONG__ 8
292// AARCH64:#define __SIZEOF_POINTER__ 8
293// AARCH64:#define __SIZEOF_PTRDIFF_T__ 8
294// AARCH64:#define __SIZEOF_SHORT__ 2
295// AARCH64:#define __SIZEOF_SIZE_T__ 8
296// AARCH64:#define __SIZEOF_WCHAR_T__ 4
297// AARCH64:#define __SIZEOF_WINT_T__ 4
298// AARCH64:#define __SIZE_MAX__ 18446744073709551615UL
299// AARCH64:#define __SIZE_TYPE__ long unsigned int
300// AARCH64:#define __SIZE_WIDTH__ 64
301// AARCH64:#define __UINTMAX_TYPE__ long unsigned int
302// AARCH64:#define __USER_LABEL_PREFIX__ _
303// AARCH64:#define __WCHAR_MAX__ 4294967295U
304// AARCH64:#define __WCHAR_TYPE__ unsigned int
305// AARCH64:#define __WCHAR_UNSIGNED__ 1
306// AARCH64:#define __WCHAR_WIDTH__ 32
307// AARCH64:#define __WINT_TYPE__ int
308// AARCH64:#define __WINT_WIDTH__ 32
309// AARCH64:#define __aarch64__ 1
310//
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000311// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-netbsd < /dev/null | FileCheck -check-prefix AARCH64-NETBSD %s
312//
313// AARCH64-NETBSD:#define _LP64 1
314// AARCH64-NETBSD:#define __AARCH64EL__ 1
David Majnemer158ba132014-02-09 05:30:48 +0000315// AARCH64-NETBSD:#define __ALIGNOF_MAX_ALIGN_T__ 16
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000316// AARCH64-NETBSD:#define __ARM_64BIT_STATE 1
317// AARCH64-NETBSD:#define __ARM_ARCH 8
318// AARCH64-NETBSD:#define __ARM_ARCH_ISA_A64 1
319// AARCH64-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
320// AARCH64-NETBSD:#define __CHAR16_TYPE__ unsigned short
321// AARCH64-NETBSD:#define __CHAR32_TYPE__ unsigned int
322// AARCH64-NETBSD:#define __CHAR_BIT__ 8
323// AARCH64-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
324// AARCH64-NETBSD:#define __DBL_DIG__ 15
325// AARCH64-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
326// AARCH64-NETBSD:#define __DBL_HAS_DENORM__ 1
327// AARCH64-NETBSD:#define __DBL_HAS_INFINITY__ 1
328// AARCH64-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
329// AARCH64-NETBSD:#define __DBL_MANT_DIG__ 53
330// AARCH64-NETBSD:#define __DBL_MAX_10_EXP__ 308
331// AARCH64-NETBSD:#define __DBL_MAX_EXP__ 1024
332// AARCH64-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
333// AARCH64-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
334// AARCH64-NETBSD:#define __DBL_MIN_EXP__ (-1021)
335// AARCH64-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
336// AARCH64-NETBSD:#define __DECIMAL_DIG__ 36
337// AARCH64-NETBSD:#define __ELF__ 1
338// AARCH64-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
339// AARCH64-NETBSD:#define __FLT_DIG__ 6
340// AARCH64-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
341// AARCH64-NETBSD:#define __FLT_EVAL_METHOD__ 0
342// AARCH64-NETBSD:#define __FLT_HAS_DENORM__ 1
343// AARCH64-NETBSD:#define __FLT_HAS_INFINITY__ 1
344// AARCH64-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
345// AARCH64-NETBSD:#define __FLT_MANT_DIG__ 24
346// AARCH64-NETBSD:#define __FLT_MAX_10_EXP__ 38
347// AARCH64-NETBSD:#define __FLT_MAX_EXP__ 128
348// AARCH64-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
349// AARCH64-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
350// AARCH64-NETBSD:#define __FLT_MIN_EXP__ (-125)
351// AARCH64-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
352// AARCH64-NETBSD:#define __FLT_RADIX__ 2
353// AARCH64-NETBSD:#define __INT16_TYPE__ short
354// AARCH64-NETBSD:#define __INT32_TYPE__ int
Kevin Qinad64f6d2014-02-24 02:45:03 +0000355// AARCH64-NETBSD:#define __INT64_C_SUFFIX__ L
356// AARCH64-NETBSD:#define __INT64_TYPE__ long int
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000357// AARCH64-NETBSD:#define __INT8_TYPE__ char
Kevin Qinad64f6d2014-02-24 02:45:03 +0000358// AARCH64-NETBSD:#define __INTMAX_MAX__ 9223372036854775807L
359// AARCH64-NETBSD:#define __INTMAX_TYPE__ long int
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000360// AARCH64-NETBSD:#define __INTMAX_WIDTH__ 64
361// AARCH64-NETBSD:#define __INTPTR_TYPE__ long int
362// AARCH64-NETBSD:#define __INTPTR_WIDTH__ 64
363// AARCH64-NETBSD:#define __INT_MAX__ 2147483647
364// AARCH64-NETBSD:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
365// AARCH64-NETBSD:#define __LDBL_DIG__ 33
366// AARCH64-NETBSD:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
367// AARCH64-NETBSD:#define __LDBL_HAS_DENORM__ 1
368// AARCH64-NETBSD:#define __LDBL_HAS_INFINITY__ 1
369// AARCH64-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
370// AARCH64-NETBSD:#define __LDBL_MANT_DIG__ 113
371// AARCH64-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
372// AARCH64-NETBSD:#define __LDBL_MAX_EXP__ 16384
373// AARCH64-NETBSD:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
374// AARCH64-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
375// AARCH64-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
376// AARCH64-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
377// AARCH64-NETBSD:#define __LITTLE_ENDIAN__ 1
378// AARCH64-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
379// AARCH64-NETBSD:#define __LONG_MAX__ 9223372036854775807L
380// AARCH64-NETBSD:#define __LP64__ 1
381// AARCH64-NETBSD:#define __NetBSD__ 1
382// AARCH64-NETBSD:#define __POINTER_WIDTH__ 64
383// AARCH64-NETBSD:#define __PTRDIFF_TYPE__ long int
384// AARCH64-NETBSD:#define __PTRDIFF_WIDTH__ 64
385// AARCH64-NETBSD:#define __SCHAR_MAX__ 127
386// AARCH64-NETBSD:#define __SHRT_MAX__ 32767
387// AARCH64-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
388// AARCH64-NETBSD:#define __SIZEOF_DOUBLE__ 8
389// AARCH64-NETBSD:#define __SIZEOF_FLOAT__ 4
390// AARCH64-NETBSD:#define __SIZEOF_INT__ 4
391// AARCH64-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 16
392// AARCH64-NETBSD:#define __SIZEOF_LONG_LONG__ 8
393// AARCH64-NETBSD:#define __SIZEOF_LONG__ 8
394// AARCH64-NETBSD:#define __SIZEOF_POINTER__ 8
395// AARCH64-NETBSD:#define __SIZEOF_PTRDIFF_T__ 8
396// AARCH64-NETBSD:#define __SIZEOF_SHORT__ 2
397// AARCH64-NETBSD:#define __SIZEOF_SIZE_T__ 8
398// AARCH64-NETBSD:#define __SIZEOF_WCHAR_T__ 4
399// AARCH64-NETBSD:#define __SIZEOF_WINT_T__ 4
400// AARCH64-NETBSD:#define __SIZE_MAX__ 18446744073709551615UL
401// AARCH64-NETBSD:#define __SIZE_TYPE__ long unsigned int
402// AARCH64-NETBSD:#define __SIZE_WIDTH__ 64
Kevin Qinad64f6d2014-02-24 02:45:03 +0000403// AARCH64-NETBSD:#define __UINTMAX_TYPE__ long unsigned int
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000404// AARCH64-NETBSD:#define __USER_LABEL_PREFIX__
405// AARCH64-NETBSD:#define __WCHAR_MAX__ 2147483647
406// AARCH64-NETBSD:#define __WCHAR_TYPE__ int
407// AARCH64-NETBSD:#define __WCHAR_WIDTH__ 32
408// AARCH64-NETBSD:#define __WINT_TYPE__ int
409// AARCH64-NETBSD:#define __WINT_WIDTH__ 32
410// AARCH64-NETBSD:#define __aarch64__ 1
411//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000412// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s
Chris Lattnere963d092009-10-29 04:55:36 +0000413//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000414// ARM-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +0000415// ARM:#define __ALIGNOF_MAX_ALIGN_T__ 8
Chris Lattnere963d092009-10-29 04:55:36 +0000416// ARM:#define __APCS_32__ 1
417// ARM:#define __ARMEL__ 1
Daniel Dunbaracde99e2009-12-18 18:42:37 +0000418// ARM:#define __ARM_ARCH_6J__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000419// ARM:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +0000420// ARM:#define __CHAR16_TYPE__ unsigned short
421// ARM:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000422// ARM:#define __CHAR_BIT__ 8
423// ARM:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
424// ARM:#define __DBL_DIG__ 15
425// ARM:#define __DBL_EPSILON__ 2.2204460492503131e-16
426// ARM:#define __DBL_HAS_DENORM__ 1
427// ARM:#define __DBL_HAS_INFINITY__ 1
428// ARM:#define __DBL_HAS_QUIET_NAN__ 1
429// ARM:#define __DBL_MANT_DIG__ 53
430// ARM:#define __DBL_MAX_10_EXP__ 308
431// ARM:#define __DBL_MAX_EXP__ 1024
432// ARM:#define __DBL_MAX__ 1.7976931348623157e+308
433// ARM:#define __DBL_MIN_10_EXP__ (-307)
434// ARM:#define __DBL_MIN_EXP__ (-1021)
435// ARM:#define __DBL_MIN__ 2.2250738585072014e-308
436// ARM:#define __DECIMAL_DIG__ 17
437// ARM:#define __FLT_DENORM_MIN__ 1.40129846e-45F
438// ARM:#define __FLT_DIG__ 6
439// ARM:#define __FLT_EPSILON__ 1.19209290e-7F
440// ARM:#define __FLT_EVAL_METHOD__ 0
441// ARM:#define __FLT_HAS_DENORM__ 1
442// ARM:#define __FLT_HAS_INFINITY__ 1
443// ARM:#define __FLT_HAS_QUIET_NAN__ 1
444// ARM:#define __FLT_MANT_DIG__ 24
445// ARM:#define __FLT_MAX_10_EXP__ 38
446// ARM:#define __FLT_MAX_EXP__ 128
447// ARM:#define __FLT_MAX__ 3.40282347e+38F
448// ARM:#define __FLT_MIN_10_EXP__ (-37)
449// ARM:#define __FLT_MIN_EXP__ (-125)
450// ARM:#define __FLT_MIN__ 1.17549435e-38F
451// ARM:#define __FLT_RADIX__ 2
452// ARM:#define __INT16_TYPE__ short
453// ARM:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +0000454// ARM:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +0000455// ARM:#define __INT64_TYPE__ long long int
456// ARM:#define __INT8_TYPE__ char
457// ARM:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +0000458// ARM:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +0000459// ARM:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +0000460// ARM:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +0000461// ARM:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000462// ARM:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000463// ARM:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +0000464// ARM:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000465// ARM:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +0000466// ARM:#define __LDBL_HAS_DENORM__ 1
467// ARM:#define __LDBL_HAS_INFINITY__ 1
468// ARM:#define __LDBL_HAS_QUIET_NAN__ 1
469// ARM:#define __LDBL_MANT_DIG__ 53
470// ARM:#define __LDBL_MAX_10_EXP__ 308
471// ARM:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000472// ARM:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +0000473// ARM:#define __LDBL_MIN_10_EXP__ (-307)
474// ARM:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000475// ARM:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnere963d092009-10-29 04:55:36 +0000476// ARM:#define __LITTLE_ENDIAN__ 1
477// ARM:#define __LONG_LONG_MAX__ 9223372036854775807LL
478// ARM:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000479// ARM-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +0000480// ARM:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000481// ARM:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +0000482// ARM:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbaracde99e2009-12-18 18:42:37 +0000483// ARM:#define __REGISTER_PREFIX__
Chris Lattnere963d092009-10-29 04:55:36 +0000484// ARM:#define __SCHAR_MAX__ 127
485// ARM:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +0000486// ARM:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +0000487// ARM:#define __SIZEOF_DOUBLE__ 8
488// ARM:#define __SIZEOF_FLOAT__ 4
489// ARM:#define __SIZEOF_INT__ 4
490// ARM:#define __SIZEOF_LONG_DOUBLE__ 8
491// ARM:#define __SIZEOF_LONG_LONG__ 8
492// ARM:#define __SIZEOF_LONG__ 4
493// ARM:#define __SIZEOF_POINTER__ 4
494// ARM:#define __SIZEOF_PTRDIFF_T__ 4
495// ARM:#define __SIZEOF_SHORT__ 2
496// ARM:#define __SIZEOF_SIZE_T__ 4
497// ARM:#define __SIZEOF_WCHAR_T__ 4
498// ARM:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000499// ARM:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +0000500// ARM:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +0000501// ARM:#define __SIZE_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000502// ARM:#define __THUMB_INTERWORK__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +0000503// ARM:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000504// ARM:#define __USER_LABEL_PREFIX__ _
James Molloyc445be42011-11-23 13:35:08 +0000505// ARM:#define __WCHAR_MAX__ 4294967295U
506// ARM:#define __WCHAR_TYPE__ unsigned int
Ken Dyck0138b9e2009-11-19 15:47:58 +0000507// ARM:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000508// ARM:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +0000509// ARM:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000510// ARM:#define __arm 1
511// ARM:#define __arm__ 1
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000512
513// 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
514//
515// ARM-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +0000516// ARMEABISOFTFP:#define __ALIGNOF_MAX_ALIGN_T__ 8
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000517// ARMEABISOFTFP:#define __APCS_32__ 1
518// ARMEABISOFTFP:#define __ARMEL__ 1
519// ARMEABISOFTFP:#define __ARM_ARCH 6
520// ARMEABISOFTFP:#define __ARM_ARCH_6J__ 1
521// ARMEABISOFTFP:#define __ARM_EABI__ 1
522// ARMEABISOFTFP:#define __ARM_PCS 1
523// ARMEABISOFTFP-NOT:#define __ARM_PCS_VFP 1
524// ARMEABISOFTFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
525// ARMEABISOFTFP:#define __CHAR16_TYPE__ unsigned short
526// ARMEABISOFTFP:#define __CHAR32_TYPE__ unsigned int
527// ARMEABISOFTFP:#define __CHAR_BIT__ 8
528// ARMEABISOFTFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
529// ARMEABISOFTFP:#define __DBL_DIG__ 15
530// ARMEABISOFTFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
531// ARMEABISOFTFP:#define __DBL_HAS_DENORM__ 1
532// ARMEABISOFTFP:#define __DBL_HAS_INFINITY__ 1
533// ARMEABISOFTFP:#define __DBL_HAS_QUIET_NAN__ 1
534// ARMEABISOFTFP:#define __DBL_MANT_DIG__ 53
535// ARMEABISOFTFP:#define __DBL_MAX_10_EXP__ 308
536// ARMEABISOFTFP:#define __DBL_MAX_EXP__ 1024
537// ARMEABISOFTFP:#define __DBL_MAX__ 1.7976931348623157e+308
538// ARMEABISOFTFP:#define __DBL_MIN_10_EXP__ (-307)
539// ARMEABISOFTFP:#define __DBL_MIN_EXP__ (-1021)
540// ARMEABISOFTFP:#define __DBL_MIN__ 2.2250738585072014e-308
541// ARMEABISOFTFP:#define __DECIMAL_DIG__ 17
542// ARMEABISOFTFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
543// ARMEABISOFTFP:#define __FLT_DIG__ 6
544// ARMEABISOFTFP:#define __FLT_EPSILON__ 1.19209290e-7F
545// ARMEABISOFTFP:#define __FLT_EVAL_METHOD__ 0
546// ARMEABISOFTFP:#define __FLT_HAS_DENORM__ 1
547// ARMEABISOFTFP:#define __FLT_HAS_INFINITY__ 1
548// ARMEABISOFTFP:#define __FLT_HAS_QUIET_NAN__ 1
549// ARMEABISOFTFP:#define __FLT_MANT_DIG__ 24
550// ARMEABISOFTFP:#define __FLT_MAX_10_EXP__ 38
551// ARMEABISOFTFP:#define __FLT_MAX_EXP__ 128
552// ARMEABISOFTFP:#define __FLT_MAX__ 3.40282347e+38F
553// ARMEABISOFTFP:#define __FLT_MIN_10_EXP__ (-37)
554// ARMEABISOFTFP:#define __FLT_MIN_EXP__ (-125)
555// ARMEABISOFTFP:#define __FLT_MIN__ 1.17549435e-38F
556// ARMEABISOFTFP:#define __FLT_RADIX__ 2
557// ARMEABISOFTFP:#define __INT16_TYPE__ short
558// ARMEABISOFTFP:#define __INT32_TYPE__ int
559// ARMEABISOFTFP:#define __INT64_C_SUFFIX__ LL
560// ARMEABISOFTFP:#define __INT64_TYPE__ long long int
561// ARMEABISOFTFP:#define __INT8_TYPE__ char
562// ARMEABISOFTFP:#define __INTMAX_MAX__ 9223372036854775807LL
563// ARMEABISOFTFP:#define __INTMAX_TYPE__ long long int
564// ARMEABISOFTFP:#define __INTMAX_WIDTH__ 64
565// ARMEABISOFTFP:#define __INTPTR_TYPE__ long int
566// ARMEABISOFTFP:#define __INTPTR_WIDTH__ 32
567// ARMEABISOFTFP:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000568// ARMEABISOFTFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000569// ARMEABISOFTFP:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000570// ARMEABISOFTFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000571// ARMEABISOFTFP:#define __LDBL_HAS_DENORM__ 1
572// ARMEABISOFTFP:#define __LDBL_HAS_INFINITY__ 1
573// ARMEABISOFTFP:#define __LDBL_HAS_QUIET_NAN__ 1
574// ARMEABISOFTFP:#define __LDBL_MANT_DIG__ 53
575// ARMEABISOFTFP:#define __LDBL_MAX_10_EXP__ 308
576// ARMEABISOFTFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000577// ARMEABISOFTFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000578// ARMEABISOFTFP:#define __LDBL_MIN_10_EXP__ (-307)
579// ARMEABISOFTFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000580// ARMEABISOFTFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000581// ARMEABISOFTFP:#define __LITTLE_ENDIAN__ 1
582// ARMEABISOFTFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
583// ARMEABISOFTFP:#define __LONG_MAX__ 2147483647L
584// ARMEABISOFTFP-NOT:#define __LP64__
585// ARMEABISOFTFP:#define __POINTER_WIDTH__ 32
586// ARMEABISOFTFP:#define __PTRDIFF_TYPE__ int
587// ARMEABISOFTFP:#define __PTRDIFF_WIDTH__ 32
588// ARMEABISOFTFP:#define __REGISTER_PREFIX__
589// ARMEABISOFTFP:#define __SCHAR_MAX__ 127
590// ARMEABISOFTFP:#define __SHRT_MAX__ 32767
591// ARMEABISOFTFP:#define __SIG_ATOMIC_WIDTH__ 32
592// ARMEABISOFTFP:#define __SIZEOF_DOUBLE__ 8
593// ARMEABISOFTFP:#define __SIZEOF_FLOAT__ 4
594// ARMEABISOFTFP:#define __SIZEOF_INT__ 4
595// ARMEABISOFTFP:#define __SIZEOF_LONG_DOUBLE__ 8
596// ARMEABISOFTFP:#define __SIZEOF_LONG_LONG__ 8
597// ARMEABISOFTFP:#define __SIZEOF_LONG__ 4
598// ARMEABISOFTFP:#define __SIZEOF_POINTER__ 4
599// ARMEABISOFTFP:#define __SIZEOF_PTRDIFF_T__ 4
600// ARMEABISOFTFP:#define __SIZEOF_SHORT__ 2
601// ARMEABISOFTFP:#define __SIZEOF_SIZE_T__ 4
602// ARMEABISOFTFP:#define __SIZEOF_WCHAR_T__ 4
603// ARMEABISOFTFP:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000604// ARMEABISOFTFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000605// ARMEABISOFTFP:#define __SIZE_TYPE__ unsigned int
606// ARMEABISOFTFP:#define __SIZE_WIDTH__ 32
607// ARMEABISOFTFP:#define __SOFTFP__ 1
608// ARMEABISOFTFP:#define __THUMB_INTERWORK__ 1
609// ARMEABISOFTFP:#define __UINTMAX_TYPE__ long long unsigned int
610// ARMEABISOFTFP:#define __USER_LABEL_PREFIX__
611// ARMEABISOFTFP:#define __WCHAR_MAX__ 4294967295U
612// ARMEABISOFTFP:#define __WCHAR_TYPE__ unsigned int
613// ARMEABISOFTFP:#define __WCHAR_WIDTH__ 32
614// ARMEABISOFTFP:#define __WINT_TYPE__ unsigned int
615// ARMEABISOFTFP:#define __WINT_WIDTH__ 32
616// ARMEABISOFTFP:#define __arm 1
617// ARMEABISOFTFP:#define __arm__ 1
618
619// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-linux-gnueabi < /dev/null | FileCheck -check-prefix ARMEABIHARDFP %s
620//
621// ARM-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +0000622// ARMEABIHARDFP:#define __ALIGNOF_MAX_ALIGN_T__ 8
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000623// ARMEABIHARDFP:#define __APCS_32__ 1
624// ARMEABIHARDFP:#define __ARMEL__ 1
625// ARMEABIHARDFP:#define __ARM_ARCH 6
626// ARMEABIHARDFP:#define __ARM_ARCH_6J__ 1
627// ARMEABIHARDFP:#define __ARM_EABI__ 1
628// ARMEABIHARDFP:#define __ARM_PCS 1
629// ARMEABIHARDFP:#define __ARM_PCS_VFP 1
630// ARMEABIHARDFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
631// ARMEABIHARDFP:#define __CHAR16_TYPE__ unsigned short
632// ARMEABIHARDFP:#define __CHAR32_TYPE__ unsigned int
633// ARMEABIHARDFP:#define __CHAR_BIT__ 8
634// ARMEABIHARDFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
635// ARMEABIHARDFP:#define __DBL_DIG__ 15
636// ARMEABIHARDFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
637// ARMEABIHARDFP:#define __DBL_HAS_DENORM__ 1
638// ARMEABIHARDFP:#define __DBL_HAS_INFINITY__ 1
639// ARMEABIHARDFP:#define __DBL_HAS_QUIET_NAN__ 1
640// ARMEABIHARDFP:#define __DBL_MANT_DIG__ 53
641// ARMEABIHARDFP:#define __DBL_MAX_10_EXP__ 308
642// ARMEABIHARDFP:#define __DBL_MAX_EXP__ 1024
643// ARMEABIHARDFP:#define __DBL_MAX__ 1.7976931348623157e+308
644// ARMEABIHARDFP:#define __DBL_MIN_10_EXP__ (-307)
645// ARMEABIHARDFP:#define __DBL_MIN_EXP__ (-1021)
646// ARMEABIHARDFP:#define __DBL_MIN__ 2.2250738585072014e-308
647// ARMEABIHARDFP:#define __DECIMAL_DIG__ 17
648// ARMEABIHARDFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
649// ARMEABIHARDFP:#define __FLT_DIG__ 6
650// ARMEABIHARDFP:#define __FLT_EPSILON__ 1.19209290e-7F
651// ARMEABIHARDFP:#define __FLT_EVAL_METHOD__ 0
652// ARMEABIHARDFP:#define __FLT_HAS_DENORM__ 1
653// ARMEABIHARDFP:#define __FLT_HAS_INFINITY__ 1
654// ARMEABIHARDFP:#define __FLT_HAS_QUIET_NAN__ 1
655// ARMEABIHARDFP:#define __FLT_MANT_DIG__ 24
656// ARMEABIHARDFP:#define __FLT_MAX_10_EXP__ 38
657// ARMEABIHARDFP:#define __FLT_MAX_EXP__ 128
658// ARMEABIHARDFP:#define __FLT_MAX__ 3.40282347e+38F
659// ARMEABIHARDFP:#define __FLT_MIN_10_EXP__ (-37)
660// ARMEABIHARDFP:#define __FLT_MIN_EXP__ (-125)
661// ARMEABIHARDFP:#define __FLT_MIN__ 1.17549435e-38F
662// ARMEABIHARDFP:#define __FLT_RADIX__ 2
663// ARMEABIHARDFP:#define __INT16_TYPE__ short
664// ARMEABIHARDFP:#define __INT32_TYPE__ int
665// ARMEABIHARDFP:#define __INT64_C_SUFFIX__ LL
666// ARMEABIHARDFP:#define __INT64_TYPE__ long long int
667// ARMEABIHARDFP:#define __INT8_TYPE__ char
668// ARMEABIHARDFP:#define __INTMAX_MAX__ 9223372036854775807LL
669// ARMEABIHARDFP:#define __INTMAX_TYPE__ long long int
670// ARMEABIHARDFP:#define __INTMAX_WIDTH__ 64
671// ARMEABIHARDFP:#define __INTPTR_TYPE__ long int
672// ARMEABIHARDFP:#define __INTPTR_WIDTH__ 32
673// ARMEABIHARDFP:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000674// ARMEABIHARDFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000675// ARMEABIHARDFP:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000676// ARMEABIHARDFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000677// ARMEABIHARDFP:#define __LDBL_HAS_DENORM__ 1
678// ARMEABIHARDFP:#define __LDBL_HAS_INFINITY__ 1
679// ARMEABIHARDFP:#define __LDBL_HAS_QUIET_NAN__ 1
680// ARMEABIHARDFP:#define __LDBL_MANT_DIG__ 53
681// ARMEABIHARDFP:#define __LDBL_MAX_10_EXP__ 308
682// ARMEABIHARDFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000683// ARMEABIHARDFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000684// ARMEABIHARDFP:#define __LDBL_MIN_10_EXP__ (-307)
685// ARMEABIHARDFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000686// ARMEABIHARDFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000687// ARMEABIHARDFP:#define __LITTLE_ENDIAN__ 1
688// ARMEABIHARDFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
689// ARMEABIHARDFP:#define __LONG_MAX__ 2147483647L
690// ARMEABIHARDFP-NOT:#define __LP64__
691// ARMEABIHARDFP:#define __POINTER_WIDTH__ 32
692// ARMEABIHARDFP:#define __PTRDIFF_TYPE__ int
693// ARMEABIHARDFP:#define __PTRDIFF_WIDTH__ 32
694// ARMEABIHARDFP:#define __REGISTER_PREFIX__
695// ARMEABIHARDFP:#define __SCHAR_MAX__ 127
696// ARMEABIHARDFP:#define __SHRT_MAX__ 32767
697// ARMEABIHARDFP:#define __SIG_ATOMIC_WIDTH__ 32
698// ARMEABIHARDFP:#define __SIZEOF_DOUBLE__ 8
699// ARMEABIHARDFP:#define __SIZEOF_FLOAT__ 4
700// ARMEABIHARDFP:#define __SIZEOF_INT__ 4
701// ARMEABIHARDFP:#define __SIZEOF_LONG_DOUBLE__ 8
702// ARMEABIHARDFP:#define __SIZEOF_LONG_LONG__ 8
703// ARMEABIHARDFP:#define __SIZEOF_LONG__ 4
704// ARMEABIHARDFP:#define __SIZEOF_POINTER__ 4
705// ARMEABIHARDFP:#define __SIZEOF_PTRDIFF_T__ 4
706// ARMEABIHARDFP:#define __SIZEOF_SHORT__ 2
707// ARMEABIHARDFP:#define __SIZEOF_SIZE_T__ 4
708// ARMEABIHARDFP:#define __SIZEOF_WCHAR_T__ 4
709// ARMEABIHARDFP:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000710// ARMEABIHARDFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000711// ARMEABIHARDFP:#define __SIZE_TYPE__ unsigned int
712// ARMEABIHARDFP:#define __SIZE_WIDTH__ 32
713// ARMEABIHARDFP-NOT:#define __SOFTFP__ 1
714// ARMEABIHARDFP:#define __THUMB_INTERWORK__ 1
715// ARMEABIHARDFP:#define __UINTMAX_TYPE__ long long unsigned int
716// ARMEABIHARDFP:#define __USER_LABEL_PREFIX__
717// ARMEABIHARDFP:#define __WCHAR_MAX__ 4294967295U
718// ARMEABIHARDFP:#define __WCHAR_TYPE__ unsigned int
719// ARMEABIHARDFP:#define __WCHAR_WIDTH__ 32
720// ARMEABIHARDFP:#define __WINT_TYPE__ unsigned int
721// ARMEABIHARDFP:#define __WINT_WIDTH__ 32
722// ARMEABIHARDFP:#define __arm 1
723// ARMEABIHARDFP:#define __arm__ 1
724
Tim Northovere77f78c2013-11-11 19:11:22 +0000725// RUN: %clang -target arm -arch armv7s -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
726// RUN: %clang -target arm -arch armv6m -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
727// RUN: %clang -target arm -arch armv7m -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
728// RUN: %clang -target arm -arch armv7em -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
729// RUN: %clang -target thumbv7-apple-darwin-eabi -arch armv7 -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
730// ARM-DARWIN-NO-EABI-NOT: #define __ARM_EABI__ 1
731
Silviu Barangaf9671dd2013-10-21 10:54:53 +0000732// Check that -mhwdiv works properly for targets which don't have the hwdiv feature enabled by default.
733
734// RUN: %clang -target arm -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-ARM %s
735// ARMHWDIV-ARM:#define __ARM_ARCH_EXT_IDIV__ 1
736
737// RUN: %clang -target arm -mthumb -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-THUMB %s
738// THUMBHWDIV-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1
739
740// RUN: %clang -target arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-FALSE %s
741// ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
742
743// RUN: %clang -target arm -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMB-FALSE %s
744// THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
745
746// RUN: %clang -target arm -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-ARM-FALSE %s
747// THUMBHWDIV-ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
748
749// RUN: %clang -target arm -mthumb -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-THUMB-FALSE %s
750// ARMHWDIV-THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
751
Weiming Zhaofb5c21a2014-01-22 18:42:13 +0000752// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armv8-none-none < /dev/null | FileCheck -check-prefix ARMv8 %s
753// ARMv8: #define __THUMB_INTERWORK__ 1
754// ARMv8-NOT: #define __thumb2__
755
756// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv8 < /dev/null | FileCheck -check-prefix Thumbv8 %s
757// Thumbv8: #define __THUMB_INTERWORK__ 1
758// Thumbv8: #define __thumb2__
759
760// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv5 < /dev/null | FileCheck -check-prefix Thumbv5 %s
761// Thumbv5: #define __THUMB_INTERWORK__ 1
762// Thumbv5-NOT: #define __thumb2__
763
764// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv6t2 < /dev/null | FileCheck -check-prefix Thumbv6t2 %s
765// Thumbv6t2: #define __THUMB_INTERWORK__ 1
766// Thumbv6t2: #define __thumb2__
767
768// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv7 < /dev/null | FileCheck -check-prefix Thumbv7 %s
769// Thumbv7: #define __THUMB_INTERWORK__ 1
770// Thumbv7: #define __thumb2__
771
Chris Lattnere963d092009-10-29 04:55:36 +0000772//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000773// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
Chris Lattnere963d092009-10-29 04:55:36 +0000774//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000775// I386-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +0000776// I386:#define __ALIGNOF_MAX_ALIGN_T__ 16
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000777// I386:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +0000778// I386:#define __CHAR16_TYPE__ unsigned short
779// I386:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000780// I386:#define __CHAR_BIT__ 8
781// I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
782// I386:#define __DBL_DIG__ 15
783// I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
784// I386:#define __DBL_HAS_DENORM__ 1
785// I386:#define __DBL_HAS_INFINITY__ 1
786// I386:#define __DBL_HAS_QUIET_NAN__ 1
787// I386:#define __DBL_MANT_DIG__ 53
788// I386:#define __DBL_MAX_10_EXP__ 308
789// I386:#define __DBL_MAX_EXP__ 1024
790// I386:#define __DBL_MAX__ 1.7976931348623157e+308
791// I386:#define __DBL_MIN_10_EXP__ (-307)
792// I386:#define __DBL_MIN_EXP__ (-1021)
793// I386:#define __DBL_MIN__ 2.2250738585072014e-308
794// I386:#define __DECIMAL_DIG__ 21
795// I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
796// I386:#define __FLT_DIG__ 6
797// I386:#define __FLT_EPSILON__ 1.19209290e-7F
Benjamin Kramercf501472011-12-28 15:47:06 +0000798// I386:#define __FLT_EVAL_METHOD__ 2
Chris Lattnere963d092009-10-29 04:55:36 +0000799// I386:#define __FLT_HAS_DENORM__ 1
800// I386:#define __FLT_HAS_INFINITY__ 1
801// I386:#define __FLT_HAS_QUIET_NAN__ 1
802// I386:#define __FLT_MANT_DIG__ 24
803// I386:#define __FLT_MAX_10_EXP__ 38
804// I386:#define __FLT_MAX_EXP__ 128
805// I386:#define __FLT_MAX__ 3.40282347e+38F
806// I386:#define __FLT_MIN_10_EXP__ (-37)
807// I386:#define __FLT_MIN_EXP__ (-125)
808// I386:#define __FLT_MIN__ 1.17549435e-38F
809// I386:#define __FLT_RADIX__ 2
810// I386:#define __INT16_TYPE__ short
811// I386:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +0000812// I386:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +0000813// I386:#define __INT64_TYPE__ long long int
814// I386:#define __INT8_TYPE__ char
815// I386:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +0000816// I386:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +0000817// I386:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +0000818// I386:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +0000819// I386:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000820// I386:#define __INT_MAX__ 2147483647
821// I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
822// I386:#define __LDBL_DIG__ 18
823// I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
824// I386:#define __LDBL_HAS_DENORM__ 1
825// I386:#define __LDBL_HAS_INFINITY__ 1
826// I386:#define __LDBL_HAS_QUIET_NAN__ 1
827// I386:#define __LDBL_MANT_DIG__ 64
828// I386:#define __LDBL_MAX_10_EXP__ 4932
829// I386:#define __LDBL_MAX_EXP__ 16384
830// I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
831// I386:#define __LDBL_MIN_10_EXP__ (-4931)
832// I386:#define __LDBL_MIN_EXP__ (-16381)
833// I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
834// I386:#define __LITTLE_ENDIAN__ 1
835// I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
836// I386:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000837// I386-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +0000838// I386:#define __NO_MATH_INLINES 1
839// I386:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000840// I386:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +0000841// I386:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000842// I386:#define __REGISTER_PREFIX__
843// I386:#define __SCHAR_MAX__ 127
844// I386:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +0000845// I386:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +0000846// I386:#define __SIZEOF_DOUBLE__ 8
847// I386:#define __SIZEOF_FLOAT__ 4
848// I386:#define __SIZEOF_INT__ 4
849// I386:#define __SIZEOF_LONG_DOUBLE__ 12
850// I386:#define __SIZEOF_LONG_LONG__ 8
851// I386:#define __SIZEOF_LONG__ 4
852// I386:#define __SIZEOF_POINTER__ 4
853// I386:#define __SIZEOF_PTRDIFF_T__ 4
854// I386:#define __SIZEOF_SHORT__ 2
855// I386:#define __SIZEOF_SIZE_T__ 4
856// I386:#define __SIZEOF_WCHAR_T__ 4
857// I386:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000858// I386:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +0000859// I386:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +0000860// I386:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000861// I386:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000862// I386:#define __USER_LABEL_PREFIX__ _
863// I386:#define __WCHAR_MAX__ 2147483647
864// I386:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +0000865// I386:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000866// I386:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +0000867// I386:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000868// I386:#define __i386 1
869// I386:#define __i386__ 1
Chris Lattnere963d092009-10-29 04:55:36 +0000870// I386:#define i386 1
871//
Benjamin Kramercf501472011-12-28 15:47:06 +0000872// 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 +0000873//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000874// I386-LINUX-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +0000875// I386-LINUX:#define __ALIGNOF_MAX_ALIGN_T__ 16
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000876// I386-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregore6d6e512011-01-12 21:19:25 +0000877// I386-LINUX:#define __CHAR16_TYPE__ unsigned short
878// I386-LINUX:#define __CHAR32_TYPE__ unsigned int
879// I386-LINUX:#define __CHAR_BIT__ 8
880// I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
881// I386-LINUX:#define __DBL_DIG__ 15
882// I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
883// I386-LINUX:#define __DBL_HAS_DENORM__ 1
884// I386-LINUX:#define __DBL_HAS_INFINITY__ 1
885// I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
886// I386-LINUX:#define __DBL_MANT_DIG__ 53
887// I386-LINUX:#define __DBL_MAX_10_EXP__ 308
888// I386-LINUX:#define __DBL_MAX_EXP__ 1024
889// I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
890// I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
891// I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
892// I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
893// I386-LINUX:#define __DECIMAL_DIG__ 21
894// I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
895// I386-LINUX:#define __FLT_DIG__ 6
896// I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
897// I386-LINUX:#define __FLT_EVAL_METHOD__ 0
898// I386-LINUX:#define __FLT_HAS_DENORM__ 1
899// I386-LINUX:#define __FLT_HAS_INFINITY__ 1
900// I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
901// I386-LINUX:#define __FLT_MANT_DIG__ 24
902// I386-LINUX:#define __FLT_MAX_10_EXP__ 38
903// I386-LINUX:#define __FLT_MAX_EXP__ 128
904// I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
905// I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
906// I386-LINUX:#define __FLT_MIN_EXP__ (-125)
907// I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
908// I386-LINUX:#define __FLT_RADIX__ 2
909// I386-LINUX:#define __INT16_TYPE__ short
910// I386-LINUX:#define __INT32_TYPE__ int
911// I386-LINUX:#define __INT64_C_SUFFIX__ LL
912// I386-LINUX:#define __INT64_TYPE__ long long int
913// I386-LINUX:#define __INT8_TYPE__ char
914// I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
915// I386-LINUX:#define __INTMAX_TYPE__ long long int
916// I386-LINUX:#define __INTMAX_WIDTH__ 64
917// I386-LINUX:#define __INTPTR_TYPE__ int
918// I386-LINUX:#define __INTPTR_WIDTH__ 32
919// I386-LINUX:#define __INT_MAX__ 2147483647
920// I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
921// I386-LINUX:#define __LDBL_DIG__ 18
922// I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
923// I386-LINUX:#define __LDBL_HAS_DENORM__ 1
924// I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
925// I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
926// I386-LINUX:#define __LDBL_MANT_DIG__ 64
927// I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
928// I386-LINUX:#define __LDBL_MAX_EXP__ 16384
929// I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
930// I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
931// I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
932// I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
933// I386-LINUX:#define __LITTLE_ENDIAN__ 1
934// I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
935// I386-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000936// I386-LINUX-NOT:#define __LP64__
Douglas Gregore6d6e512011-01-12 21:19:25 +0000937// I386-LINUX:#define __NO_MATH_INLINES 1
938// I386-LINUX:#define __POINTER_WIDTH__ 32
939// I386-LINUX:#define __PTRDIFF_TYPE__ int
940// I386-LINUX:#define __PTRDIFF_WIDTH__ 32
941// I386-LINUX:#define __REGISTER_PREFIX__
942// I386-LINUX:#define __SCHAR_MAX__ 127
943// I386-LINUX:#define __SHRT_MAX__ 32767
944// I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
945// I386-LINUX:#define __SIZEOF_DOUBLE__ 8
946// I386-LINUX:#define __SIZEOF_FLOAT__ 4
947// I386-LINUX:#define __SIZEOF_INT__ 4
948// I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
949// I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
950// I386-LINUX:#define __SIZEOF_LONG__ 4
951// I386-LINUX:#define __SIZEOF_POINTER__ 4
952// I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
953// I386-LINUX:#define __SIZEOF_SHORT__ 2
954// I386-LINUX:#define __SIZEOF_SIZE_T__ 4
955// I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
956// I386-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000957// I386-LINUX:#define __SIZE_MAX__ 4294967295U
Douglas Gregore6d6e512011-01-12 21:19:25 +0000958// I386-LINUX:#define __SIZE_TYPE__ unsigned int
959// I386-LINUX:#define __SIZE_WIDTH__ 32
960// I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
961// I386-LINUX:#define __USER_LABEL_PREFIX__
962// I386-LINUX:#define __WCHAR_MAX__ 2147483647
963// I386-LINUX:#define __WCHAR_TYPE__ int
964// I386-LINUX:#define __WCHAR_WIDTH__ 32
965// I386-LINUX:#define __WINT_TYPE__ unsigned int
966// I386-LINUX:#define __WINT_WIDTH__ 32
967// I386-LINUX:#define __i386 1
968// I386-LINUX:#define __i386__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +0000969// I386-LINUX:#define i386 1
970//
Joerg Sonnenberger0e921f22013-11-11 14:00:37 +0000971// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd < /dev/null | FileCheck -check-prefix I386-NETBSD %s
972//
973// I386-NETBSD-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +0000974// I386-NETBSD:#define __ALIGNOF_MAX_ALIGN_T__ 16
Joerg Sonnenberger0e921f22013-11-11 14:00:37 +0000975// I386-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
976// I386-NETBSD:#define __CHAR16_TYPE__ unsigned short
977// I386-NETBSD:#define __CHAR32_TYPE__ unsigned int
978// I386-NETBSD:#define __CHAR_BIT__ 8
979// I386-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
980// I386-NETBSD:#define __DBL_DIG__ 15
981// I386-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
982// I386-NETBSD:#define __DBL_HAS_DENORM__ 1
983// I386-NETBSD:#define __DBL_HAS_INFINITY__ 1
984// I386-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
985// I386-NETBSD:#define __DBL_MANT_DIG__ 53
986// I386-NETBSD:#define __DBL_MAX_10_EXP__ 308
987// I386-NETBSD:#define __DBL_MAX_EXP__ 1024
988// I386-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
989// I386-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
990// I386-NETBSD:#define __DBL_MIN_EXP__ (-1021)
991// I386-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
992// I386-NETBSD:#define __DECIMAL_DIG__ 21
993// I386-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
994// I386-NETBSD:#define __FLT_DIG__ 6
995// I386-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
996// I386-NETBSD:#define __FLT_EVAL_METHOD__ 2
997// I386-NETBSD:#define __FLT_HAS_DENORM__ 1
998// I386-NETBSD:#define __FLT_HAS_INFINITY__ 1
999// I386-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
1000// I386-NETBSD:#define __FLT_MANT_DIG__ 24
1001// I386-NETBSD:#define __FLT_MAX_10_EXP__ 38
1002// I386-NETBSD:#define __FLT_MAX_EXP__ 128
1003// I386-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
1004// I386-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
1005// I386-NETBSD:#define __FLT_MIN_EXP__ (-125)
1006// I386-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
1007// I386-NETBSD:#define __FLT_RADIX__ 2
1008// I386-NETBSD:#define __INT16_TYPE__ short
1009// I386-NETBSD:#define __INT32_TYPE__ int
1010// I386-NETBSD:#define __INT64_C_SUFFIX__ LL
1011// I386-NETBSD:#define __INT64_TYPE__ long long int
1012// I386-NETBSD:#define __INT8_TYPE__ char
1013// I386-NETBSD:#define __INTMAX_MAX__ 9223372036854775807LL
1014// I386-NETBSD:#define __INTMAX_TYPE__ long long int
1015// I386-NETBSD:#define __INTMAX_WIDTH__ 64
1016// I386-NETBSD:#define __INTPTR_TYPE__ int
1017// I386-NETBSD:#define __INTPTR_WIDTH__ 32
1018// I386-NETBSD:#define __INT_MAX__ 2147483647
1019// I386-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1020// I386-NETBSD:#define __LDBL_DIG__ 18
1021// I386-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1022// I386-NETBSD:#define __LDBL_HAS_DENORM__ 1
1023// I386-NETBSD:#define __LDBL_HAS_INFINITY__ 1
1024// I386-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
1025// I386-NETBSD:#define __LDBL_MANT_DIG__ 64
1026// I386-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
1027// I386-NETBSD:#define __LDBL_MAX_EXP__ 16384
1028// I386-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1029// I386-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
1030// I386-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
1031// I386-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1032// I386-NETBSD:#define __LITTLE_ENDIAN__ 1
1033// I386-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
1034// I386-NETBSD:#define __LONG_MAX__ 2147483647L
1035// I386-NETBSD-NOT:#define __LP64__
1036// I386-NETBSD:#define __NO_MATH_INLINES 1
1037// I386-NETBSD:#define __POINTER_WIDTH__ 32
1038// I386-NETBSD:#define __PTRDIFF_TYPE__ int
1039// I386-NETBSD:#define __PTRDIFF_WIDTH__ 32
1040// I386-NETBSD:#define __REGISTER_PREFIX__
1041// I386-NETBSD:#define __SCHAR_MAX__ 127
1042// I386-NETBSD:#define __SHRT_MAX__ 32767
1043// I386-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
1044// I386-NETBSD:#define __SIZEOF_DOUBLE__ 8
1045// I386-NETBSD:#define __SIZEOF_FLOAT__ 4
1046// I386-NETBSD:#define __SIZEOF_INT__ 4
1047// I386-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 12
1048// I386-NETBSD:#define __SIZEOF_LONG_LONG__ 8
1049// I386-NETBSD:#define __SIZEOF_LONG__ 4
1050// I386-NETBSD:#define __SIZEOF_POINTER__ 4
1051// I386-NETBSD:#define __SIZEOF_PTRDIFF_T__ 4
1052// I386-NETBSD:#define __SIZEOF_SHORT__ 2
1053// I386-NETBSD:#define __SIZEOF_SIZE_T__ 4
1054// I386-NETBSD:#define __SIZEOF_WCHAR_T__ 4
1055// I386-NETBSD:#define __SIZEOF_WINT_T__ 4
1056// I386-NETBSD:#define __SIZE_MAX__ 4294967295U
1057// I386-NETBSD:#define __SIZE_TYPE__ unsigned int
1058// I386-NETBSD:#define __SIZE_WIDTH__ 32
1059// I386-NETBSD:#define __UINTMAX_TYPE__ long long unsigned int
1060// I386-NETBSD:#define __USER_LABEL_PREFIX__
1061// I386-NETBSD:#define __WCHAR_MAX__ 2147483647
1062// I386-NETBSD:#define __WCHAR_TYPE__ int
1063// I386-NETBSD:#define __WCHAR_WIDTH__ 32
1064// I386-NETBSD:#define __WINT_TYPE__ int
1065// I386-NETBSD:#define __WINT_WIDTH__ 32
1066// I386-NETBSD:#define __i386 1
1067// I386-NETBSD:#define __i386__ 1
1068// I386-NETBSD:#define i386 1
1069//
1070// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD-SSE %s
1071// I386-NETBSD-SSE:#define __FLT_EVAL_METHOD__ 0
1072// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 < /dev/null | FileCheck -check-prefix I386-NETBSD6 %s
1073// I386-NETBSD6:#define __FLT_EVAL_METHOD__ 1
1074// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD6-SSE %s
1075// I386-NETBSD6-SSE:#define __FLT_EVAL_METHOD__ 1
1076
1077//
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001078// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none < /dev/null | FileCheck -check-prefix MIPS32BE %s
1079//
1080// MIPS32BE:#define MIPSEB 1
1081// MIPS32BE:#define _ABIO32 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001082// MIPS32BE-NOT:#define _LP64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001083// MIPS32BE:#define _MIPSEB 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001084// MIPS32BE:#define _MIPS_ARCH "mips32r2"
1085// MIPS32BE:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001086// MIPS32BE:#define _MIPS_FPSET 16
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001087// MIPS32BE:#define _MIPS_SIM _ABIO32
1088// MIPS32BE:#define _MIPS_SZINT 32
1089// MIPS32BE:#define _MIPS_SZLONG 32
1090// MIPS32BE:#define _MIPS_SZPTR 32
David Majnemer158ba132014-02-09 05:30:48 +00001091// MIPS32BE:#define __ALIGNOF_MAX_ALIGN_T__ 8
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001092// MIPS32BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001093// MIPS32BE:#define __CHAR16_TYPE__ unsigned short
1094// MIPS32BE:#define __CHAR32_TYPE__ unsigned int
1095// MIPS32BE:#define __CHAR_BIT__ 8
1096// MIPS32BE:#define __CONSTANT_CFSTRINGS__ 1
1097// MIPS32BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1098// MIPS32BE:#define __DBL_DIG__ 15
1099// MIPS32BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
1100// MIPS32BE:#define __DBL_HAS_DENORM__ 1
1101// MIPS32BE:#define __DBL_HAS_INFINITY__ 1
1102// MIPS32BE:#define __DBL_HAS_QUIET_NAN__ 1
1103// MIPS32BE:#define __DBL_MANT_DIG__ 53
1104// MIPS32BE:#define __DBL_MAX_10_EXP__ 308
1105// MIPS32BE:#define __DBL_MAX_EXP__ 1024
1106// MIPS32BE:#define __DBL_MAX__ 1.7976931348623157e+308
1107// MIPS32BE:#define __DBL_MIN_10_EXP__ (-307)
1108// MIPS32BE:#define __DBL_MIN_EXP__ (-1021)
1109// MIPS32BE:#define __DBL_MIN__ 2.2250738585072014e-308
1110// MIPS32BE:#define __DECIMAL_DIG__ 17
1111// MIPS32BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1112// MIPS32BE:#define __FLT_DIG__ 6
1113// MIPS32BE:#define __FLT_EPSILON__ 1.19209290e-7F
1114// MIPS32BE:#define __FLT_EVAL_METHOD__ 0
1115// MIPS32BE:#define __FLT_HAS_DENORM__ 1
1116// MIPS32BE:#define __FLT_HAS_INFINITY__ 1
1117// MIPS32BE:#define __FLT_HAS_QUIET_NAN__ 1
1118// MIPS32BE:#define __FLT_MANT_DIG__ 24
1119// MIPS32BE:#define __FLT_MAX_10_EXP__ 38
1120// MIPS32BE:#define __FLT_MAX_EXP__ 128
1121// MIPS32BE:#define __FLT_MAX__ 3.40282347e+38F
1122// MIPS32BE:#define __FLT_MIN_10_EXP__ (-37)
1123// MIPS32BE:#define __FLT_MIN_EXP__ (-125)
1124// MIPS32BE:#define __FLT_MIN__ 1.17549435e-38F
1125// MIPS32BE:#define __FLT_RADIX__ 2
1126// MIPS32BE:#define __INT16_TYPE__ short
1127// MIPS32BE:#define __INT32_TYPE__ int
1128// MIPS32BE:#define __INT64_C_SUFFIX__ LL
1129// MIPS32BE:#define __INT64_TYPE__ long long int
1130// MIPS32BE:#define __INT8_TYPE__ char
1131// MIPS32BE:#define __INTMAX_MAX__ 9223372036854775807LL
1132// MIPS32BE:#define __INTMAX_TYPE__ long long int
1133// MIPS32BE:#define __INTMAX_WIDTH__ 64
1134// MIPS32BE:#define __INTPTR_TYPE__ long int
1135// MIPS32BE:#define __INTPTR_WIDTH__ 32
1136// MIPS32BE:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001137// MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001138// MIPS32BE:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001139// MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001140// MIPS32BE:#define __LDBL_HAS_DENORM__ 1
1141// MIPS32BE:#define __LDBL_HAS_INFINITY__ 1
1142// MIPS32BE:#define __LDBL_HAS_QUIET_NAN__ 1
1143// MIPS32BE:#define __LDBL_MANT_DIG__ 53
1144// MIPS32BE:#define __LDBL_MAX_10_EXP__ 308
1145// MIPS32BE:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001146// MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001147// MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307)
1148// MIPS32BE:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001149// MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001150// MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1151// MIPS32BE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001152// MIPS32BE-NOT:#define __LP64__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001153// MIPS32BE:#define __MIPSEB 1
1154// MIPS32BE:#define __MIPSEB__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001155// MIPS32BE:#define __POINTER_WIDTH__ 32
1156// MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1
1157// MIPS32BE:#define __PTRDIFF_TYPE__ int
1158// MIPS32BE:#define __PTRDIFF_WIDTH__ 32
1159// MIPS32BE:#define __REGISTER_PREFIX__
1160// MIPS32BE:#define __SCHAR_MAX__ 127
1161// MIPS32BE:#define __SHRT_MAX__ 32767
1162// MIPS32BE:#define __SIG_ATOMIC_WIDTH__ 32
1163// MIPS32BE:#define __SIZEOF_DOUBLE__ 8
1164// MIPS32BE:#define __SIZEOF_FLOAT__ 4
1165// MIPS32BE:#define __SIZEOF_INT__ 4
1166// MIPS32BE:#define __SIZEOF_LONG_DOUBLE__ 8
1167// MIPS32BE:#define __SIZEOF_LONG_LONG__ 8
1168// MIPS32BE:#define __SIZEOF_LONG__ 4
1169// MIPS32BE:#define __SIZEOF_POINTER__ 4
1170// MIPS32BE:#define __SIZEOF_PTRDIFF_T__ 4
1171// MIPS32BE:#define __SIZEOF_SHORT__ 2
1172// MIPS32BE:#define __SIZEOF_SIZE_T__ 4
1173// MIPS32BE:#define __SIZEOF_WCHAR_T__ 4
1174// MIPS32BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001175// MIPS32BE:#define __SIZE_MAX__ 4294967295U
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001176// MIPS32BE:#define __SIZE_TYPE__ unsigned int
1177// MIPS32BE:#define __SIZE_WIDTH__ 32
1178// MIPS32BE:#define __STDC_HOSTED__ 0
1179// MIPS32BE:#define __STDC_VERSION__ 199901L
1180// MIPS32BE:#define __STDC__ 1
1181// MIPS32BE:#define __UINTMAX_TYPE__ long long unsigned int
1182// MIPS32BE:#define __USER_LABEL_PREFIX__ _
1183// MIPS32BE:#define __WCHAR_MAX__ 2147483647
1184// MIPS32BE:#define __WCHAR_TYPE__ int
1185// MIPS32BE:#define __WCHAR_WIDTH__ 32
1186// MIPS32BE:#define __WINT_TYPE__ int
1187// MIPS32BE:#define __WINT_WIDTH__ 32
1188// MIPS32BE:#define __clang__ 1
1189// MIPS32BE:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001190// MIPS32BE:#define __mips 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001191// MIPS32BE:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001192// MIPS32BE:#define __mips_fpr 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001193// MIPS32BE:#define __mips_hard_float 1
1194// MIPS32BE:#define __mips_o32 1
1195// MIPS32BE:#define _mips 1
1196// MIPS32BE:#define mips 1
1197//
1198// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -check-prefix MIPS32EL %s
1199//
1200// MIPS32EL:#define MIPSEL 1
1201// MIPS32EL:#define _ABIO32 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001202// MIPS32EL-NOT:#define _LP64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001203// MIPS32EL:#define _MIPSEL 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001204// MIPS32EL:#define _MIPS_ARCH "mips32r2"
1205// MIPS32EL:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001206// MIPS32EL:#define _MIPS_FPSET 16
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001207// MIPS32EL:#define _MIPS_SIM _ABIO32
1208// MIPS32EL:#define _MIPS_SZINT 32
1209// MIPS32EL:#define _MIPS_SZLONG 32
1210// MIPS32EL:#define _MIPS_SZPTR 32
David Majnemer158ba132014-02-09 05:30:48 +00001211// MIPS32EL:#define __ALIGNOF_MAX_ALIGN_T__ 8
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001212// MIPS32EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001213// MIPS32EL:#define __CHAR16_TYPE__ unsigned short
1214// MIPS32EL:#define __CHAR32_TYPE__ unsigned int
1215// MIPS32EL:#define __CHAR_BIT__ 8
1216// MIPS32EL:#define __CONSTANT_CFSTRINGS__ 1
1217// MIPS32EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1218// MIPS32EL:#define __DBL_DIG__ 15
1219// MIPS32EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1220// MIPS32EL:#define __DBL_HAS_DENORM__ 1
1221// MIPS32EL:#define __DBL_HAS_INFINITY__ 1
1222// MIPS32EL:#define __DBL_HAS_QUIET_NAN__ 1
1223// MIPS32EL:#define __DBL_MANT_DIG__ 53
1224// MIPS32EL:#define __DBL_MAX_10_EXP__ 308
1225// MIPS32EL:#define __DBL_MAX_EXP__ 1024
1226// MIPS32EL:#define __DBL_MAX__ 1.7976931348623157e+308
1227// MIPS32EL:#define __DBL_MIN_10_EXP__ (-307)
1228// MIPS32EL:#define __DBL_MIN_EXP__ (-1021)
1229// MIPS32EL:#define __DBL_MIN__ 2.2250738585072014e-308
1230// MIPS32EL:#define __DECIMAL_DIG__ 17
1231// MIPS32EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1232// MIPS32EL:#define __FLT_DIG__ 6
1233// MIPS32EL:#define __FLT_EPSILON__ 1.19209290e-7F
1234// MIPS32EL:#define __FLT_EVAL_METHOD__ 0
1235// MIPS32EL:#define __FLT_HAS_DENORM__ 1
1236// MIPS32EL:#define __FLT_HAS_INFINITY__ 1
1237// MIPS32EL:#define __FLT_HAS_QUIET_NAN__ 1
1238// MIPS32EL:#define __FLT_MANT_DIG__ 24
1239// MIPS32EL:#define __FLT_MAX_10_EXP__ 38
1240// MIPS32EL:#define __FLT_MAX_EXP__ 128
1241// MIPS32EL:#define __FLT_MAX__ 3.40282347e+38F
1242// MIPS32EL:#define __FLT_MIN_10_EXP__ (-37)
1243// MIPS32EL:#define __FLT_MIN_EXP__ (-125)
1244// MIPS32EL:#define __FLT_MIN__ 1.17549435e-38F
1245// MIPS32EL:#define __FLT_RADIX__ 2
1246// MIPS32EL:#define __INT16_TYPE__ short
1247// MIPS32EL:#define __INT32_TYPE__ int
1248// MIPS32EL:#define __INT64_C_SUFFIX__ LL
1249// MIPS32EL:#define __INT64_TYPE__ long long int
1250// MIPS32EL:#define __INT8_TYPE__ char
1251// MIPS32EL:#define __INTMAX_MAX__ 9223372036854775807LL
1252// MIPS32EL:#define __INTMAX_TYPE__ long long int
1253// MIPS32EL:#define __INTMAX_WIDTH__ 64
1254// MIPS32EL:#define __INTPTR_TYPE__ long int
1255// MIPS32EL:#define __INTPTR_WIDTH__ 32
1256// MIPS32EL:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001257// MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001258// MIPS32EL:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001259// MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001260// MIPS32EL:#define __LDBL_HAS_DENORM__ 1
1261// MIPS32EL:#define __LDBL_HAS_INFINITY__ 1
1262// MIPS32EL:#define __LDBL_HAS_QUIET_NAN__ 1
1263// MIPS32EL:#define __LDBL_MANT_DIG__ 53
1264// MIPS32EL:#define __LDBL_MAX_10_EXP__ 308
1265// MIPS32EL:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001266// MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001267// MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307)
1268// MIPS32EL:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001269// MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001270// MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1271// MIPS32EL:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001272// MIPS32EL-NOT:#define __LP64__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001273// MIPS32EL:#define __MIPSEL 1
1274// MIPS32EL:#define __MIPSEL__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001275// MIPS32EL:#define __POINTER_WIDTH__ 32
1276// MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1277// MIPS32EL:#define __PTRDIFF_TYPE__ int
1278// MIPS32EL:#define __PTRDIFF_WIDTH__ 32
1279// MIPS32EL:#define __REGISTER_PREFIX__
1280// MIPS32EL:#define __SCHAR_MAX__ 127
1281// MIPS32EL:#define __SHRT_MAX__ 32767
1282// MIPS32EL:#define __SIG_ATOMIC_WIDTH__ 32
1283// MIPS32EL:#define __SIZEOF_DOUBLE__ 8
1284// MIPS32EL:#define __SIZEOF_FLOAT__ 4
1285// MIPS32EL:#define __SIZEOF_INT__ 4
1286// MIPS32EL:#define __SIZEOF_LONG_DOUBLE__ 8
1287// MIPS32EL:#define __SIZEOF_LONG_LONG__ 8
1288// MIPS32EL:#define __SIZEOF_LONG__ 4
1289// MIPS32EL:#define __SIZEOF_POINTER__ 4
1290// MIPS32EL:#define __SIZEOF_PTRDIFF_T__ 4
1291// MIPS32EL:#define __SIZEOF_SHORT__ 2
1292// MIPS32EL:#define __SIZEOF_SIZE_T__ 4
1293// MIPS32EL:#define __SIZEOF_WCHAR_T__ 4
1294// MIPS32EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001295// MIPS32EL:#define __SIZE_MAX__ 4294967295U
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001296// MIPS32EL:#define __SIZE_TYPE__ unsigned int
1297// MIPS32EL:#define __SIZE_WIDTH__ 32
1298// MIPS32EL:#define __UINTMAX_TYPE__ long long unsigned int
1299// MIPS32EL:#define __USER_LABEL_PREFIX__ _
1300// MIPS32EL:#define __WCHAR_MAX__ 2147483647
1301// MIPS32EL:#define __WCHAR_TYPE__ int
1302// MIPS32EL:#define __WCHAR_WIDTH__ 32
1303// MIPS32EL:#define __WINT_TYPE__ int
1304// MIPS32EL:#define __WINT_WIDTH__ 32
1305// MIPS32EL:#define __clang__ 1
1306// MIPS32EL:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001307// MIPS32EL:#define __mips 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001308// MIPS32EL:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001309// MIPS32EL:#define __mips_fpr 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001310// MIPS32EL:#define __mips_hard_float 1
1311// MIPS32EL:#define __mips_o32 1
1312// MIPS32EL:#define _mips 1
1313// MIPS32EL:#define mips 1
1314//
1315// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -check-prefix MIPS64BE %s
1316//
1317// MIPS64BE:#define MIPSEB 1
1318// MIPS64BE:#define _ABI64 3
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001319// MIPS64BE:#define _LP64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001320// MIPS64BE:#define _MIPSEB 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001321// MIPS64BE:#define _MIPS_ARCH "mips64r2"
1322// MIPS64BE:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001323// MIPS64BE:#define _MIPS_FPSET 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001324// MIPS64BE:#define _MIPS_SIM _ABI64
1325// MIPS64BE:#define _MIPS_SZINT 32
1326// MIPS64BE:#define _MIPS_SZLONG 64
1327// MIPS64BE:#define _MIPS_SZPTR 64
David Majnemer158ba132014-02-09 05:30:48 +00001328// MIPS64BE:#define __ALIGNOF_MAX_ALIGN_T__ 16
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001329// MIPS64BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001330// MIPS64BE:#define __CHAR16_TYPE__ unsigned short
1331// MIPS64BE:#define __CHAR32_TYPE__ unsigned int
1332// MIPS64BE:#define __CHAR_BIT__ 8
1333// MIPS64BE:#define __CONSTANT_CFSTRINGS__ 1
1334// MIPS64BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1335// MIPS64BE:#define __DBL_DIG__ 15
1336// MIPS64BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
1337// MIPS64BE:#define __DBL_HAS_DENORM__ 1
1338// MIPS64BE:#define __DBL_HAS_INFINITY__ 1
1339// MIPS64BE:#define __DBL_HAS_QUIET_NAN__ 1
1340// MIPS64BE:#define __DBL_MANT_DIG__ 53
1341// MIPS64BE:#define __DBL_MAX_10_EXP__ 308
1342// MIPS64BE:#define __DBL_MAX_EXP__ 1024
1343// MIPS64BE:#define __DBL_MAX__ 1.7976931348623157e+308
1344// MIPS64BE:#define __DBL_MIN_10_EXP__ (-307)
1345// MIPS64BE:#define __DBL_MIN_EXP__ (-1021)
1346// MIPS64BE:#define __DBL_MIN__ 2.2250738585072014e-308
1347// MIPS64BE:#define __DECIMAL_DIG__ 36
1348// MIPS64BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1349// MIPS64BE:#define __FLT_DIG__ 6
1350// MIPS64BE:#define __FLT_EPSILON__ 1.19209290e-7F
1351// MIPS64BE:#define __FLT_EVAL_METHOD__ 0
1352// MIPS64BE:#define __FLT_HAS_DENORM__ 1
1353// MIPS64BE:#define __FLT_HAS_INFINITY__ 1
1354// MIPS64BE:#define __FLT_HAS_QUIET_NAN__ 1
1355// MIPS64BE:#define __FLT_MANT_DIG__ 24
1356// MIPS64BE:#define __FLT_MAX_10_EXP__ 38
1357// MIPS64BE:#define __FLT_MAX_EXP__ 128
1358// MIPS64BE:#define __FLT_MAX__ 3.40282347e+38F
1359// MIPS64BE:#define __FLT_MIN_10_EXP__ (-37)
1360// MIPS64BE:#define __FLT_MIN_EXP__ (-125)
1361// MIPS64BE:#define __FLT_MIN__ 1.17549435e-38F
1362// MIPS64BE:#define __FLT_RADIX__ 2
1363// MIPS64BE:#define __INT16_TYPE__ short
1364// MIPS64BE:#define __INT32_TYPE__ int
1365// MIPS64BE:#define __INT64_C_SUFFIX__ LL
1366// MIPS64BE:#define __INT64_TYPE__ long long int
1367// MIPS64BE:#define __INT8_TYPE__ char
1368// MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807LL
1369// MIPS64BE:#define __INTMAX_TYPE__ long long int
1370// MIPS64BE:#define __INTMAX_WIDTH__ 64
1371// MIPS64BE:#define __INTPTR_TYPE__ long int
1372// MIPS64BE:#define __INTPTR_WIDTH__ 64
1373// MIPS64BE:#define __INT_MAX__ 2147483647
1374// MIPS64BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1375// MIPS64BE:#define __LDBL_DIG__ 33
1376// MIPS64BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1377// MIPS64BE:#define __LDBL_HAS_DENORM__ 1
1378// MIPS64BE:#define __LDBL_HAS_INFINITY__ 1
1379// MIPS64BE:#define __LDBL_HAS_QUIET_NAN__ 1
1380// MIPS64BE:#define __LDBL_MANT_DIG__ 113
1381// MIPS64BE:#define __LDBL_MAX_10_EXP__ 4932
1382// MIPS64BE:#define __LDBL_MAX_EXP__ 16384
1383// MIPS64BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1384// MIPS64BE:#define __LDBL_MIN_10_EXP__ (-4931)
1385// MIPS64BE:#define __LDBL_MIN_EXP__ (-16381)
1386// MIPS64BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1387// MIPS64BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1388// MIPS64BE:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001389// MIPS64BE:#define __LP64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001390// MIPS64BE:#define __MIPSEB 1
1391// MIPS64BE:#define __MIPSEB__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001392// MIPS64BE:#define __POINTER_WIDTH__ 64
1393// MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1
1394// MIPS64BE:#define __PTRDIFF_TYPE__ long int
1395// MIPS64BE:#define __PTRDIFF_WIDTH__ 64
1396// MIPS64BE:#define __REGISTER_PREFIX__
1397// MIPS64BE:#define __SCHAR_MAX__ 127
1398// MIPS64BE:#define __SHRT_MAX__ 32767
1399// MIPS64BE:#define __SIG_ATOMIC_WIDTH__ 32
1400// MIPS64BE:#define __SIZEOF_DOUBLE__ 8
1401// MIPS64BE:#define __SIZEOF_FLOAT__ 4
1402// MIPS64BE:#define __SIZEOF_INT__ 4
1403// MIPS64BE:#define __SIZEOF_LONG_DOUBLE__ 16
1404// MIPS64BE:#define __SIZEOF_LONG_LONG__ 8
1405// MIPS64BE:#define __SIZEOF_LONG__ 8
1406// MIPS64BE:#define __SIZEOF_POINTER__ 8
1407// MIPS64BE:#define __SIZEOF_PTRDIFF_T__ 8
1408// MIPS64BE:#define __SIZEOF_SHORT__ 2
1409// MIPS64BE:#define __SIZEOF_SIZE_T__ 8
1410// MIPS64BE:#define __SIZEOF_WCHAR_T__ 4
1411// MIPS64BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001412// MIPS64BE:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001413// MIPS64BE:#define __SIZE_TYPE__ long unsigned int
1414// MIPS64BE:#define __SIZE_WIDTH__ 64
1415// MIPS64BE:#define __UINTMAX_TYPE__ long long unsigned int
1416// MIPS64BE:#define __USER_LABEL_PREFIX__ _
1417// MIPS64BE:#define __WCHAR_MAX__ 2147483647
1418// MIPS64BE:#define __WCHAR_TYPE__ int
1419// MIPS64BE:#define __WCHAR_WIDTH__ 32
1420// MIPS64BE:#define __WINT_TYPE__ int
1421// MIPS64BE:#define __WINT_WIDTH__ 32
1422// MIPS64BE:#define __clang__ 1
1423// MIPS64BE:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001424// MIPS64BE:#define __mips 64
Simon Atanasyanc6a0be02012-08-29 20:50:11 +00001425// MIPS64BE:#define __mips64 1
1426// MIPS64BE:#define __mips64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001427// MIPS64BE:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001428// MIPS64BE:#define __mips_fpr 64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001429// MIPS64BE:#define __mips_hard_float 1
1430// MIPS64BE:#define __mips_n64 1
1431// MIPS64BE:#define _mips 1
1432// MIPS64BE:#define mips 1
1433//
1434// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -check-prefix MIPS64EL %s
1435//
1436// MIPS64EL:#define MIPSEL 1
1437// MIPS64EL:#define _ABI64 3
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001438// MIPS64EL:#define _LP64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001439// MIPS64EL:#define _MIPSEL 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001440// MIPS64EL:#define _MIPS_ARCH "mips64r2"
1441// MIPS64EL:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001442// MIPS64EL:#define _MIPS_FPSET 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001443// MIPS64EL:#define _MIPS_SIM _ABI64
1444// MIPS64EL:#define _MIPS_SZINT 32
1445// MIPS64EL:#define _MIPS_SZLONG 64
1446// MIPS64EL:#define _MIPS_SZPTR 64
David Majnemer158ba132014-02-09 05:30:48 +00001447// MIPS64EL:#define __ALIGNOF_MAX_ALIGN_T__ 16
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001448// MIPS64EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001449// MIPS64EL:#define __CHAR16_TYPE__ unsigned short
1450// MIPS64EL:#define __CHAR32_TYPE__ unsigned int
1451// MIPS64EL:#define __CHAR_BIT__ 8
1452// MIPS64EL:#define __CONSTANT_CFSTRINGS__ 1
1453// MIPS64EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1454// MIPS64EL:#define __DBL_DIG__ 15
1455// MIPS64EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1456// MIPS64EL:#define __DBL_HAS_DENORM__ 1
1457// MIPS64EL:#define __DBL_HAS_INFINITY__ 1
1458// MIPS64EL:#define __DBL_HAS_QUIET_NAN__ 1
1459// MIPS64EL:#define __DBL_MANT_DIG__ 53
1460// MIPS64EL:#define __DBL_MAX_10_EXP__ 308
1461// MIPS64EL:#define __DBL_MAX_EXP__ 1024
1462// MIPS64EL:#define __DBL_MAX__ 1.7976931348623157e+308
1463// MIPS64EL:#define __DBL_MIN_10_EXP__ (-307)
1464// MIPS64EL:#define __DBL_MIN_EXP__ (-1021)
1465// MIPS64EL:#define __DBL_MIN__ 2.2250738585072014e-308
1466// MIPS64EL:#define __DECIMAL_DIG__ 36
1467// MIPS64EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1468// MIPS64EL:#define __FLT_DIG__ 6
1469// MIPS64EL:#define __FLT_EPSILON__ 1.19209290e-7F
1470// MIPS64EL:#define __FLT_EVAL_METHOD__ 0
1471// MIPS64EL:#define __FLT_HAS_DENORM__ 1
1472// MIPS64EL:#define __FLT_HAS_INFINITY__ 1
1473// MIPS64EL:#define __FLT_HAS_QUIET_NAN__ 1
1474// MIPS64EL:#define __FLT_MANT_DIG__ 24
1475// MIPS64EL:#define __FLT_MAX_10_EXP__ 38
1476// MIPS64EL:#define __FLT_MAX_EXP__ 128
1477// MIPS64EL:#define __FLT_MAX__ 3.40282347e+38F
1478// MIPS64EL:#define __FLT_MIN_10_EXP__ (-37)
1479// MIPS64EL:#define __FLT_MIN_EXP__ (-125)
1480// MIPS64EL:#define __FLT_MIN__ 1.17549435e-38F
1481// MIPS64EL:#define __FLT_RADIX__ 2
1482// MIPS64EL:#define __INT16_TYPE__ short
1483// MIPS64EL:#define __INT32_TYPE__ int
1484// MIPS64EL:#define __INT64_C_SUFFIX__ LL
1485// MIPS64EL:#define __INT64_TYPE__ long long int
1486// MIPS64EL:#define __INT8_TYPE__ char
1487// MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807LL
1488// MIPS64EL:#define __INTMAX_TYPE__ long long int
1489// MIPS64EL:#define __INTMAX_WIDTH__ 64
1490// MIPS64EL:#define __INTPTR_TYPE__ long int
1491// MIPS64EL:#define __INTPTR_WIDTH__ 64
1492// MIPS64EL:#define __INT_MAX__ 2147483647
1493// MIPS64EL:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1494// MIPS64EL:#define __LDBL_DIG__ 33
1495// MIPS64EL:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1496// MIPS64EL:#define __LDBL_HAS_DENORM__ 1
1497// MIPS64EL:#define __LDBL_HAS_INFINITY__ 1
1498// MIPS64EL:#define __LDBL_HAS_QUIET_NAN__ 1
1499// MIPS64EL:#define __LDBL_MANT_DIG__ 113
1500// MIPS64EL:#define __LDBL_MAX_10_EXP__ 4932
1501// MIPS64EL:#define __LDBL_MAX_EXP__ 16384
1502// MIPS64EL:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1503// MIPS64EL:#define __LDBL_MIN_10_EXP__ (-4931)
1504// MIPS64EL:#define __LDBL_MIN_EXP__ (-16381)
1505// MIPS64EL:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1506// MIPS64EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1507// MIPS64EL:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001508// MIPS64EL:#define __LP64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001509// MIPS64EL:#define __MIPSEL 1
1510// MIPS64EL:#define __MIPSEL__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001511// MIPS64EL:#define __POINTER_WIDTH__ 64
1512// MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1513// MIPS64EL:#define __PTRDIFF_TYPE__ long int
1514// MIPS64EL:#define __PTRDIFF_WIDTH__ 64
1515// MIPS64EL:#define __REGISTER_PREFIX__
1516// MIPS64EL:#define __SCHAR_MAX__ 127
1517// MIPS64EL:#define __SHRT_MAX__ 32767
1518// MIPS64EL:#define __SIG_ATOMIC_WIDTH__ 32
1519// MIPS64EL:#define __SIZEOF_DOUBLE__ 8
1520// MIPS64EL:#define __SIZEOF_FLOAT__ 4
1521// MIPS64EL:#define __SIZEOF_INT__ 4
1522// MIPS64EL:#define __SIZEOF_LONG_DOUBLE__ 16
1523// MIPS64EL:#define __SIZEOF_LONG_LONG__ 8
1524// MIPS64EL:#define __SIZEOF_LONG__ 8
1525// MIPS64EL:#define __SIZEOF_POINTER__ 8
1526// MIPS64EL:#define __SIZEOF_PTRDIFF_T__ 8
1527// MIPS64EL:#define __SIZEOF_SHORT__ 2
1528// MIPS64EL:#define __SIZEOF_SIZE_T__ 8
1529// MIPS64EL:#define __SIZEOF_WCHAR_T__ 4
1530// MIPS64EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001531// MIPS64EL:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001532// MIPS64EL:#define __SIZE_TYPE__ long unsigned int
1533// MIPS64EL:#define __SIZE_WIDTH__ 64
1534// MIPS64EL:#define __UINTMAX_TYPE__ long long unsigned int
1535// MIPS64EL:#define __USER_LABEL_PREFIX__ _
1536// MIPS64EL:#define __WCHAR_MAX__ 2147483647
1537// MIPS64EL:#define __WCHAR_TYPE__ int
1538// MIPS64EL:#define __WCHAR_WIDTH__ 32
1539// MIPS64EL:#define __WINT_TYPE__ int
1540// MIPS64EL:#define __WINT_WIDTH__ 32
1541// MIPS64EL:#define __clang__ 1
1542// MIPS64EL:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001543// MIPS64EL:#define __mips 64
Simon Atanasyanc6a0be02012-08-29 20:50:11 +00001544// MIPS64EL:#define __mips64 1
1545// MIPS64EL:#define __mips64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001546// MIPS64EL:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001547// MIPS64EL:#define __mips_fpr 64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001548// MIPS64EL:#define __mips_hard_float 1
1549// MIPS64EL:#define __mips_n64 1
1550// MIPS64EL:#define _mips 1
1551// MIPS64EL:#define mips 1
1552//
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001553// Check MIPS arch macros
1554//
1555// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
1556// RUN: < /dev/null \
1557// RUN: | FileCheck -check-prefix MIPS-ARCH-DEF32 %s
1558//
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001559// MIPS-ARCH-DEF32:#define _MIPS_ARCH "mips32r2"
1560// MIPS-ARCH-DEF32:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001561//
1562// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-nones \
1563// RUN: -target-cpu mips32 < /dev/null \
1564// RUN: | FileCheck -check-prefix MIPS-ARCH-32 %s
1565//
1566// MIPS-ARCH-32:#define _MIPS_ARCH "mips32"
1567// MIPS-ARCH-32:#define _MIPS_ARCH_MIPS32 1
1568//
1569// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
1570// RUN: -target-cpu mips32r2 < /dev/null \
1571// RUN: | FileCheck -check-prefix MIPS-ARCH-32R2 %s
1572//
1573// MIPS-ARCH-32R2:#define _MIPS_ARCH "mips32r2"
1574// MIPS-ARCH-32R2:#define _MIPS_ARCH_MIPS32R2 1
1575//
1576// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1577// RUN: < /dev/null \
1578// RUN: | FileCheck -check-prefix MIPS-ARCH-DEF64 %s
1579//
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001580// MIPS-ARCH-DEF64:#define _MIPS_ARCH "mips64r2"
1581// MIPS-ARCH-DEF64:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001582//
1583// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1584// RUN: -target-cpu mips64 < /dev/null \
1585// RUN: | FileCheck -check-prefix MIPS-ARCH-64 %s
1586//
1587// MIPS-ARCH-64:#define _MIPS_ARCH "mips64"
1588// MIPS-ARCH-64:#define _MIPS_ARCH_MIPS64 1
1589//
1590// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1591// RUN: -target-cpu mips64r2 < /dev/null \
1592// RUN: | FileCheck -check-prefix MIPS-ARCH-64R2 %s
1593//
1594// MIPS-ARCH-64R2:#define _MIPS_ARCH "mips64r2"
1595// MIPS-ARCH-64R2:#define _MIPS_ARCH_MIPS64R2 1
1596//
Simon Atanasyan5e21c802012-04-06 17:51:49 +00001597// Check MIPS float ABI macros
1598//
1599// RUN: %clang_cc1 -E -dM -ffreestanding \
1600// RUN: -triple=mips-none-none < /dev/null \
1601// RUN: | FileCheck -check-prefix MIPS-FABI-HARD %s
1602// MIPS-FABI-HARD:#define __mips_hard_float 1
1603//
1604// RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \
1605// RUN: -triple=mips-none-none < /dev/null \
1606// RUN: | FileCheck -check-prefix MIPS-FABI-SOFT %s
1607// MIPS-FABI-SOFT:#define __mips_soft_float 1
1608//
1609// RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \
1610// RUN: -triple=mips-none-none < /dev/null \
1611// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE %s
Simon Atanasyand3d173d2012-06-05 13:06:56 +00001612// MIPS-FABI-SINGLE:#define __mips_hard_float 1
Simon Atanasyan5e21c802012-04-06 17:51:49 +00001613// MIPS-FABI-SINGLE:#define __mips_single_float 1
1614//
Simon Atanasyan16071912013-04-14 14:07:30 +00001615// RUN: %clang_cc1 -target-feature +soft-float -target-feature +single-float \
1616// RUN: -E -dM -ffreestanding -triple=mips-none-none < /dev/null \
1617// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE-SOFT %s
1618// MIPS-FABI-SINGLE-SOFT:#define __mips_single_float 1
1619// MIPS-FABI-SINGLE-SOFT:#define __mips_soft_float 1
1620//
Simon Atanasyan72244b62012-07-05 16:06:06 +00001621// Check MIPS features macros
1622//
1623// RUN: %clang_cc1 -target-feature +mips16 \
1624// RUN: -E -dM -triple=mips-none-none < /dev/null \
1625// RUN: | FileCheck -check-prefix MIPS16 %s
1626// MIPS16:#define __mips16 1
1627//
1628// RUN: %clang_cc1 -target-feature -mips16 \
1629// RUN: -E -dM -triple=mips-none-none < /dev/null \
1630// RUN: | FileCheck -check-prefix NOMIPS16 %s
1631// NOMIPS16-NOT:#define __mips16 1
1632//
Simon Atanasyan60777612013-04-14 14:07:51 +00001633// RUN: %clang_cc1 -target-feature +micromips \
1634// RUN: -E -dM -triple=mips-none-none < /dev/null \
1635// RUN: | FileCheck -check-prefix MICROMIPS %s
1636// MICROMIPS:#define __mips_micromips 1
1637//
1638// RUN: %clang_cc1 -target-feature -micromips \
1639// RUN: -E -dM -triple=mips-none-none < /dev/null \
1640// RUN: | FileCheck -check-prefix NOMICROMIPS %s
1641// NOMICROMIPS-NOT:#define __mips_micromips 1
1642//
Simon Atanasyan9780e4a2012-07-05 20:16:22 +00001643// RUN: %clang_cc1 -target-feature +dsp \
1644// RUN: -E -dM -triple=mips-none-none < /dev/null \
1645// RUN: | FileCheck -check-prefix MIPS-DSP %s
1646// MIPS-DSP:#define __mips_dsp 1
1647// MIPS-DSP:#define __mips_dsp_rev 1
1648// MIPS-DSP-NOT:#define __mips_dspr2 1
1649//
1650// RUN: %clang_cc1 -target-feature +dspr2 \
1651// RUN: -E -dM -triple=mips-none-none < /dev/null \
1652// RUN: | FileCheck -check-prefix MIPS-DSPR2 %s
1653// MIPS-DSPR2:#define __mips_dsp 1
1654// MIPS-DSPR2:#define __mips_dsp_rev 2
1655// MIPS-DSPR2:#define __mips_dspr2 1
1656//
Jack Carter44ff1e52013-08-12 17:20:29 +00001657// RUN: %clang_cc1 -target-feature +msa \
1658// RUN: -E -dM -triple=mips-none-none < /dev/null \
1659// RUN: | FileCheck -check-prefix MIPS-MSA %s
1660// MIPS-MSA:#define __mips_msa 1
1661//
Simon Atanasyan22127ce2013-09-24 09:09:16 +00001662// RUN: %clang_cc1 -target-feature +nan2008 \
1663// RUN: -E -dM -triple=mips-none-none < /dev/null \
1664// RUN: | FileCheck -check-prefix MIPS-NAN2008 %s
1665// MIPS-NAN2008:#define __mips_nan2008 1
1666//
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001667// RUN: %clang_cc1 -target-feature -fp64 \
1668// RUN: -E -dM -triple=mips-none-none < /dev/null \
1669// RUN: | FileCheck -check-prefix MIPS32-MFP32 %s
1670// MIPS32-MFP32:#define _MIPS_FPSET 16
1671// MIPS32-MFP32:#define __mips_fpr 32
1672//
1673// RUN: %clang_cc1 -target-feature +fp64 \
1674// RUN: -E -dM -triple=mips-none-none < /dev/null \
1675// RUN: | FileCheck -check-prefix MIPS32-MFP64 %s
1676// MIPS32-MFP64:#define _MIPS_FPSET 32
1677// MIPS32-MFP64:#define __mips_fpr 64
1678//
1679// RUN: %clang_cc1 -target-feature +single-float \
1680// RUN: -E -dM -triple=mips-none-none < /dev/null \
1681// RUN: | FileCheck -check-prefix MIPS32-MFP32SF %s
1682// MIPS32-MFP32SF:#define _MIPS_FPSET 32
1683// MIPS32-MFP32SF:#define __mips_fpr 32
1684//
1685// RUN: %clang_cc1 -target-feature +fp64 \
1686// RUN: -E -dM -triple=mips64-none-none < /dev/null \
1687// RUN: | FileCheck -check-prefix MIPS64-MFP64 %s
1688// MIPS64-MFP64:#define _MIPS_FPSET 32
1689// MIPS64-MFP64:#define __mips_fpr 64
1690//
1691// RUN: %clang_cc1 -target-feature -fp64 -target-feature +single-float \
1692// RUN: -E -dM -triple=mips64-none-none < /dev/null \
1693// RUN: | FileCheck -check-prefix MIPS64-NOMFP64 %s
1694// MIPS64-NOMFP64:#define _MIPS_FPSET 32
1695// MIPS64-NOMFP64:#define __mips_fpr 32
1696//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00001697// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
Chris Lattnere963d092009-10-29 04:55:36 +00001698//
1699// MSP430:#define MSP430 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001700// MSP430-NOT:#define _LP64
Nico Riecke6a158252014-02-16 07:29:41 +00001701// MSP430:#define __ALIGNOF_MAX_ALIGN_T__ 2
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001702// MSP430:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00001703// MSP430:#define __CHAR16_TYPE__ unsigned short
1704// MSP430:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001705// MSP430:#define __CHAR_BIT__ 8
1706// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1707// MSP430:#define __DBL_DIG__ 15
1708// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
1709// MSP430:#define __DBL_HAS_DENORM__ 1
1710// MSP430:#define __DBL_HAS_INFINITY__ 1
1711// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
1712// MSP430:#define __DBL_MANT_DIG__ 53
1713// MSP430:#define __DBL_MAX_10_EXP__ 308
1714// MSP430:#define __DBL_MAX_EXP__ 1024
1715// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
1716// MSP430:#define __DBL_MIN_10_EXP__ (-307)
1717// MSP430:#define __DBL_MIN_EXP__ (-1021)
1718// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
1719// MSP430:#define __DECIMAL_DIG__ 17
1720// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1721// MSP430:#define __FLT_DIG__ 6
1722// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
1723// MSP430:#define __FLT_EVAL_METHOD__ 0
1724// MSP430:#define __FLT_HAS_DENORM__ 1
1725// MSP430:#define __FLT_HAS_INFINITY__ 1
1726// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
1727// MSP430:#define __FLT_MANT_DIG__ 24
1728// MSP430:#define __FLT_MAX_10_EXP__ 38
1729// MSP430:#define __FLT_MAX_EXP__ 128
1730// MSP430:#define __FLT_MAX__ 3.40282347e+38F
1731// MSP430:#define __FLT_MIN_10_EXP__ (-37)
1732// MSP430:#define __FLT_MIN_EXP__ (-125)
1733// MSP430:#define __FLT_MIN__ 1.17549435e-38F
1734// MSP430:#define __FLT_RADIX__ 2
1735// MSP430:#define __INT16_TYPE__ short
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00001736// MSP430:#define __INT32_C_SUFFIX__ L
Chris Lattner55c98772009-11-12 08:08:27 +00001737// MSP430:#define __INT32_TYPE__ long int
Chris Lattnere963d092009-10-29 04:55:36 +00001738// MSP430:#define __INT8_TYPE__ char
Anton Korobeynikovef412902013-07-01 19:42:40 +00001739// MSP430:#define __INTMAX_MAX__ 9223372036854775807LL
1740// MSP430:#define __INTMAX_TYPE__ long long int
1741// MSP430:#define __INTMAX_WIDTH__ 64
1742// MSP430:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00001743// MSP430:#define __INTPTR_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001744// MSP430:#define __INT_MAX__ 32767
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001745// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00001746// MSP430:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001747// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +00001748// MSP430:#define __LDBL_HAS_DENORM__ 1
1749// MSP430:#define __LDBL_HAS_INFINITY__ 1
1750// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
1751// MSP430:#define __LDBL_MANT_DIG__ 53
1752// MSP430:#define __LDBL_MAX_10_EXP__ 308
1753// MSP430:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001754// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +00001755// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
1756// MSP430:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001757// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikov485810e2010-01-14 21:36:52 +00001758// MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
Chris Lattnere963d092009-10-29 04:55:36 +00001759// MSP430:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001760// MSP430-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00001761// MSP430:#define __MSP430__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00001762// MSP430:#define __POINTER_WIDTH__ 16
Ken Dyck9b25f782009-11-19 13:18:59 +00001763// MSP430:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00001764// MSP430:#define __PTRDIFF_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001765// MSP430:#define __SCHAR_MAX__ 127
1766// MSP430:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00001767// MSP430:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00001768// MSP430:#define __SIZEOF_DOUBLE__ 8
1769// MSP430:#define __SIZEOF_FLOAT__ 4
1770// MSP430:#define __SIZEOF_INT__ 2
1771// MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
1772// MSP430:#define __SIZEOF_LONG_LONG__ 8
1773// MSP430:#define __SIZEOF_LONG__ 4
1774// MSP430:#define __SIZEOF_POINTER__ 2
1775// MSP430:#define __SIZEOF_PTRDIFF_T__ 2
1776// MSP430:#define __SIZEOF_SHORT__ 2
1777// MSP430:#define __SIZEOF_SIZE_T__ 2
1778// MSP430:#define __SIZEOF_WCHAR_T__ 2
1779// MSP430:#define __SIZEOF_WINT_T__ 2
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001780// MSP430:#define __SIZE_MAX__ 65535U
Chris Lattnere963d092009-10-29 04:55:36 +00001781// MSP430:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00001782// MSP430:#define __SIZE_WIDTH__ 16
Anton Korobeynikovef412902013-07-01 19:42:40 +00001783// MSP430:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001784// MSP430:#define __USER_LABEL_PREFIX__ _
Chris Lattner0fb5bbd2009-11-12 08:04:33 +00001785// MSP430:#define __WCHAR_MAX__ 32767
Chris Lattnere963d092009-10-29 04:55:36 +00001786// MSP430:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00001787// MSP430:#define __WCHAR_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001788// MSP430:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00001789// MSP430:#define __WINT_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001790// MSP430:#define __clang__ 1
1791//
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001792// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s
1793//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001794// NVPTX32-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +00001795// NVPTX32:#define __ALIGNOF_MAX_ALIGN_T__ 8
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001796// NVPTX32:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001797// NVPTX32:#define __CHAR16_TYPE__ unsigned short
1798// NVPTX32:#define __CHAR32_TYPE__ unsigned int
1799// NVPTX32:#define __CHAR_BIT__ 8
1800// NVPTX32:#define __CONSTANT_CFSTRINGS__ 1
1801// NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1802// NVPTX32:#define __DBL_DIG__ 15
1803// NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16
1804// NVPTX32:#define __DBL_HAS_DENORM__ 1
1805// NVPTX32:#define __DBL_HAS_INFINITY__ 1
1806// NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1
1807// NVPTX32:#define __DBL_MANT_DIG__ 53
1808// NVPTX32:#define __DBL_MAX_10_EXP__ 308
1809// NVPTX32:#define __DBL_MAX_EXP__ 1024
1810// NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308
1811// NVPTX32:#define __DBL_MIN_10_EXP__ (-307)
1812// NVPTX32:#define __DBL_MIN_EXP__ (-1021)
1813// NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308
1814// NVPTX32:#define __DECIMAL_DIG__ 17
1815// NVPTX32:#define __FINITE_MATH_ONLY__ 0
1816// NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1817// NVPTX32:#define __FLT_DIG__ 6
1818// NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F
1819// NVPTX32:#define __FLT_EVAL_METHOD__ 0
1820// NVPTX32:#define __FLT_HAS_DENORM__ 1
1821// NVPTX32:#define __FLT_HAS_INFINITY__ 1
1822// NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1
1823// NVPTX32:#define __FLT_MANT_DIG__ 24
1824// NVPTX32:#define __FLT_MAX_10_EXP__ 38
1825// NVPTX32:#define __FLT_MAX_EXP__ 128
1826// NVPTX32:#define __FLT_MAX__ 3.40282347e+38F
1827// NVPTX32:#define __FLT_MIN_10_EXP__ (-37)
1828// NVPTX32:#define __FLT_MIN_EXP__ (-125)
1829// NVPTX32:#define __FLT_MIN__ 1.17549435e-38F
1830// NVPTX32:#define __FLT_RADIX__ 2
1831// NVPTX32:#define __INT16_TYPE__ short
1832// NVPTX32:#define __INT32_TYPE__ int
1833// NVPTX32:#define __INT64_C_SUFFIX__ LL
1834// NVPTX32:#define __INT64_TYPE__ long long int
1835// NVPTX32:#define __INT8_TYPE__ char
1836// NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL
1837// NVPTX32:#define __INTMAX_TYPE__ long long int
1838// NVPTX32:#define __INTMAX_WIDTH__ 64
1839// NVPTX32:#define __INTPTR_TYPE__ unsigned int
1840// NVPTX32:#define __INTPTR_WIDTH__ 32
1841// NVPTX32:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001842// NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001843// NVPTX32:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001844// NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001845// NVPTX32:#define __LDBL_HAS_DENORM__ 1
1846// NVPTX32:#define __LDBL_HAS_INFINITY__ 1
1847// NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1
1848// NVPTX32:#define __LDBL_MANT_DIG__ 53
1849// NVPTX32:#define __LDBL_MAX_10_EXP__ 308
1850// NVPTX32:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001851// NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001852// NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
1853// NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001854// NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001855// NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL
1856// NVPTX32:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001857// NVPTX32-NOT:#define __LP64__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001858// NVPTX32:#define __NVPTX__ 1
1859// NVPTX32:#define __POINTER_WIDTH__ 32
1860// NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1
1861// NVPTX32:#define __PTRDIFF_TYPE__ unsigned int
1862// NVPTX32:#define __PTRDIFF_WIDTH__ 32
1863// NVPTX32:#define __PTX__ 1
1864// NVPTX32:#define __SCHAR_MAX__ 127
1865// NVPTX32:#define __SHRT_MAX__ 32767
1866// NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32
1867// NVPTX32:#define __SIZEOF_DOUBLE__ 8
1868// NVPTX32:#define __SIZEOF_FLOAT__ 4
1869// NVPTX32:#define __SIZEOF_INT__ 4
1870// NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8
1871// NVPTX32:#define __SIZEOF_LONG_LONG__ 8
1872// NVPTX32:#define __SIZEOF_LONG__ 8
1873// NVPTX32:#define __SIZEOF_POINTER__ 4
1874// NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4
1875// NVPTX32:#define __SIZEOF_SHORT__ 2
1876// NVPTX32:#define __SIZEOF_SIZE_T__ 4
1877// NVPTX32:#define __SIZEOF_WCHAR_T__ 4
1878// NVPTX32:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001879// NVPTX32:#define __SIZE_MAX__ 4294967295U
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001880// NVPTX32:#define __SIZE_TYPE__ unsigned int
1881// NVPTX32:#define __SIZE_WIDTH__ 32
1882// NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int
1883// NVPTX32:#define __USER_LABEL_PREFIX__ _
1884// NVPTX32:#define __WCHAR_MAX__ 2147483647
1885// NVPTX32:#define __WCHAR_TYPE__ int
1886// NVPTX32:#define __WCHAR_WIDTH__ 32
1887// NVPTX32:#define __WINT_TYPE__ int
1888// NVPTX32:#define __WINT_WIDTH__ 32
1889//
1890// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -check-prefix NVPTX64 %s
1891//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001892// NVPTX64:#define _LP64 1
David Majnemer158ba132014-02-09 05:30:48 +00001893// NVPTX64:#define __ALIGNOF_MAX_ALIGN_T__ 8
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001894// NVPTX64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001895// NVPTX64:#define __CHAR16_TYPE__ unsigned short
1896// NVPTX64:#define __CHAR32_TYPE__ unsigned int
1897// NVPTX64:#define __CHAR_BIT__ 8
1898// NVPTX64:#define __CONSTANT_CFSTRINGS__ 1
1899// NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1900// NVPTX64:#define __DBL_DIG__ 15
1901// NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1902// NVPTX64:#define __DBL_HAS_DENORM__ 1
1903// NVPTX64:#define __DBL_HAS_INFINITY__ 1
1904// NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1
1905// NVPTX64:#define __DBL_MANT_DIG__ 53
1906// NVPTX64:#define __DBL_MAX_10_EXP__ 308
1907// NVPTX64:#define __DBL_MAX_EXP__ 1024
1908// NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308
1909// NVPTX64:#define __DBL_MIN_10_EXP__ (-307)
1910// NVPTX64:#define __DBL_MIN_EXP__ (-1021)
1911// NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308
1912// NVPTX64:#define __DECIMAL_DIG__ 17
1913// NVPTX64:#define __FINITE_MATH_ONLY__ 0
1914// NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1915// NVPTX64:#define __FLT_DIG__ 6
1916// NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F
1917// NVPTX64:#define __FLT_EVAL_METHOD__ 0
1918// NVPTX64:#define __FLT_HAS_DENORM__ 1
1919// NVPTX64:#define __FLT_HAS_INFINITY__ 1
1920// NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1
1921// NVPTX64:#define __FLT_MANT_DIG__ 24
1922// NVPTX64:#define __FLT_MAX_10_EXP__ 38
1923// NVPTX64:#define __FLT_MAX_EXP__ 128
1924// NVPTX64:#define __FLT_MAX__ 3.40282347e+38F
1925// NVPTX64:#define __FLT_MIN_10_EXP__ (-37)
1926// NVPTX64:#define __FLT_MIN_EXP__ (-125)
1927// NVPTX64:#define __FLT_MIN__ 1.17549435e-38F
1928// NVPTX64:#define __FLT_RADIX__ 2
1929// NVPTX64:#define __INT16_TYPE__ short
1930// NVPTX64:#define __INT32_TYPE__ int
1931// NVPTX64:#define __INT64_C_SUFFIX__ LL
1932// NVPTX64:#define __INT64_TYPE__ long long int
1933// NVPTX64:#define __INT8_TYPE__ char
1934// NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL
1935// NVPTX64:#define __INTMAX_TYPE__ long long int
1936// NVPTX64:#define __INTMAX_WIDTH__ 64
1937// NVPTX64:#define __INTPTR_TYPE__ long long unsigned int
1938// NVPTX64:#define __INTPTR_WIDTH__ 64
1939// NVPTX64:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001940// NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001941// NVPTX64:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001942// NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001943// NVPTX64:#define __LDBL_HAS_DENORM__ 1
1944// NVPTX64:#define __LDBL_HAS_INFINITY__ 1
1945// NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1
1946// NVPTX64:#define __LDBL_MANT_DIG__ 53
1947// NVPTX64:#define __LDBL_MAX_10_EXP__ 308
1948// NVPTX64:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001949// NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001950// NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
1951// NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001952// NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001953// NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1954// NVPTX64:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001955// NVPTX64:#define __LP64__ 1
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001956// NVPTX64:#define __NVPTX__ 1
1957// NVPTX64:#define __POINTER_WIDTH__ 64
1958// NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1
1959// NVPTX64:#define __PTRDIFF_TYPE__ long long unsigned int
1960// NVPTX64:#define __PTRDIFF_WIDTH__ 64
1961// NVPTX64:#define __PTX__ 1
1962// NVPTX64:#define __SCHAR_MAX__ 127
1963// NVPTX64:#define __SHRT_MAX__ 32767
1964// NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32
1965// NVPTX64:#define __SIZEOF_DOUBLE__ 8
1966// NVPTX64:#define __SIZEOF_FLOAT__ 4
1967// NVPTX64:#define __SIZEOF_INT__ 4
1968// NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8
1969// NVPTX64:#define __SIZEOF_LONG_LONG__ 8
1970// NVPTX64:#define __SIZEOF_LONG__ 8
1971// NVPTX64:#define __SIZEOF_POINTER__ 8
1972// NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8
1973// NVPTX64:#define __SIZEOF_SHORT__ 2
1974// NVPTX64:#define __SIZEOF_SIZE_T__ 8
1975// NVPTX64:#define __SIZEOF_WCHAR_T__ 4
1976// NVPTX64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001977// NVPTX64:#define __SIZE_MAX__ 18446744073709551615UL
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001978// NVPTX64:#define __SIZE_TYPE__ long long unsigned int
1979// NVPTX64:#define __SIZE_WIDTH__ 64
1980// NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int
1981// NVPTX64:#define __USER_LABEL_PREFIX__ _
1982// NVPTX64:#define __WCHAR_MAX__ 2147483647
1983// NVPTX64:#define __WCHAR_TYPE__ int
1984// NVPTX64:#define __WCHAR_WIDTH__ 32
1985// NVPTX64:#define __WINT_TYPE__ int
1986// NVPTX64:#define __WINT_WIDTH__ 32
1987//
Hal Finkel6b984f02012-07-03 16:51:04 +00001988// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -check-prefix PPC603E %s
1989//
1990// PPC603E:#define _ARCH_603 1
1991// PPC603E:#define _ARCH_603E 1
1992// PPC603E:#define _ARCH_PPC 1
1993// PPC603E:#define _ARCH_PPCGR 1
1994// PPC603E:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001995// PPC603E-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +00001996// PPC603E:#define __ALIGNOF_MAX_ALIGN_T__ 8
Hal Finkel6b984f02012-07-03 16:51:04 +00001997// PPC603E:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001998// PPC603E:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Hal Finkel6b984f02012-07-03 16:51:04 +00001999// PPC603E:#define __CHAR16_TYPE__ unsigned short
2000// PPC603E:#define __CHAR32_TYPE__ unsigned int
2001// PPC603E:#define __CHAR_BIT__ 8
2002// PPC603E:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2003// PPC603E:#define __DBL_DIG__ 15
2004// PPC603E:#define __DBL_EPSILON__ 2.2204460492503131e-16
2005// PPC603E:#define __DBL_HAS_DENORM__ 1
2006// PPC603E:#define __DBL_HAS_INFINITY__ 1
2007// PPC603E:#define __DBL_HAS_QUIET_NAN__ 1
2008// PPC603E:#define __DBL_MANT_DIG__ 53
2009// PPC603E:#define __DBL_MAX_10_EXP__ 308
2010// PPC603E:#define __DBL_MAX_EXP__ 1024
2011// PPC603E:#define __DBL_MAX__ 1.7976931348623157e+308
2012// PPC603E:#define __DBL_MIN_10_EXP__ (-307)
2013// PPC603E:#define __DBL_MIN_EXP__ (-1021)
2014// PPC603E:#define __DBL_MIN__ 2.2250738585072014e-308
2015// PPC603E:#define __DECIMAL_DIG__ 33
2016// PPC603E:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2017// PPC603E:#define __FLT_DIG__ 6
2018// PPC603E:#define __FLT_EPSILON__ 1.19209290e-7F
2019// PPC603E:#define __FLT_EVAL_METHOD__ 0
2020// PPC603E:#define __FLT_HAS_DENORM__ 1
2021// PPC603E:#define __FLT_HAS_INFINITY__ 1
2022// PPC603E:#define __FLT_HAS_QUIET_NAN__ 1
2023// PPC603E:#define __FLT_MANT_DIG__ 24
2024// PPC603E:#define __FLT_MAX_10_EXP__ 38
2025// PPC603E:#define __FLT_MAX_EXP__ 128
2026// PPC603E:#define __FLT_MAX__ 3.40282347e+38F
2027// PPC603E:#define __FLT_MIN_10_EXP__ (-37)
2028// PPC603E:#define __FLT_MIN_EXP__ (-125)
2029// PPC603E:#define __FLT_MIN__ 1.17549435e-38F
2030// PPC603E:#define __FLT_RADIX__ 2
2031// PPC603E:#define __INT16_TYPE__ short
2032// PPC603E:#define __INT32_TYPE__ int
2033// PPC603E:#define __INT64_C_SUFFIX__ LL
2034// PPC603E:#define __INT64_TYPE__ long long int
2035// PPC603E:#define __INT8_TYPE__ char
2036// PPC603E:#define __INTMAX_MAX__ 9223372036854775807LL
2037// PPC603E:#define __INTMAX_TYPE__ long long int
2038// PPC603E:#define __INTMAX_WIDTH__ 64
2039// PPC603E:#define __INTPTR_TYPE__ long int
2040// PPC603E:#define __INTPTR_WIDTH__ 32
2041// PPC603E:#define __INT_MAX__ 2147483647
2042// PPC603E:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2043// PPC603E:#define __LDBL_DIG__ 31
2044// PPC603E:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2045// PPC603E:#define __LDBL_HAS_DENORM__ 1
2046// PPC603E:#define __LDBL_HAS_INFINITY__ 1
2047// PPC603E:#define __LDBL_HAS_QUIET_NAN__ 1
2048// PPC603E:#define __LDBL_MANT_DIG__ 106
2049// PPC603E:#define __LDBL_MAX_10_EXP__ 308
2050// PPC603E:#define __LDBL_MAX_EXP__ 1024
2051// PPC603E:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2052// PPC603E:#define __LDBL_MIN_10_EXP__ (-291)
2053// PPC603E:#define __LDBL_MIN_EXP__ (-968)
2054// PPC603E:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2055// PPC603E:#define __LONG_DOUBLE_128__ 1
2056// PPC603E:#define __LONG_LONG_MAX__ 9223372036854775807LL
2057// PPC603E:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002058// PPC603E-NOT:#define __LP64__
Hal Finkel6b984f02012-07-03 16:51:04 +00002059// PPC603E:#define __NATURAL_ALIGNMENT__ 1
Hal Finkel6b984f02012-07-03 16:51:04 +00002060// PPC603E:#define __POINTER_WIDTH__ 32
2061// PPC603E:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002062// PPC603E:#define __PPC__ 1
Hal Finkel6b984f02012-07-03 16:51:04 +00002063// PPC603E:#define __PTRDIFF_TYPE__ long int
2064// PPC603E:#define __PTRDIFF_WIDTH__ 32
2065// PPC603E:#define __REGISTER_PREFIX__
2066// PPC603E:#define __SCHAR_MAX__ 127
2067// PPC603E:#define __SHRT_MAX__ 32767
2068// PPC603E:#define __SIG_ATOMIC_WIDTH__ 32
2069// PPC603E:#define __SIZEOF_DOUBLE__ 8
2070// PPC603E:#define __SIZEOF_FLOAT__ 4
2071// PPC603E:#define __SIZEOF_INT__ 4
2072// PPC603E:#define __SIZEOF_LONG_DOUBLE__ 16
2073// PPC603E:#define __SIZEOF_LONG_LONG__ 8
2074// PPC603E:#define __SIZEOF_LONG__ 4
2075// PPC603E:#define __SIZEOF_POINTER__ 4
2076// PPC603E:#define __SIZEOF_PTRDIFF_T__ 4
2077// PPC603E:#define __SIZEOF_SHORT__ 2
2078// PPC603E:#define __SIZEOF_SIZE_T__ 4
2079// PPC603E:#define __SIZEOF_WCHAR_T__ 4
2080// PPC603E:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002081// PPC603E:#define __SIZE_MAX__ 4294967295U
Hal Finkel6b984f02012-07-03 16:51:04 +00002082// PPC603E:#define __SIZE_TYPE__ long unsigned int
2083// PPC603E:#define __SIZE_WIDTH__ 32
2084// PPC603E:#define __UINTMAX_TYPE__ long long unsigned int
2085// PPC603E:#define __USER_LABEL_PREFIX__ _
2086// PPC603E:#define __WCHAR_MAX__ 2147483647
2087// PPC603E:#define __WCHAR_TYPE__ int
2088// PPC603E:#define __WCHAR_WIDTH__ 32
2089// PPC603E:#define __WINT_TYPE__ int
2090// PPC603E:#define __WINT_WIDTH__ 32
2091// PPC603E:#define __powerpc__ 1
2092// PPC603E:#define __ppc__ 1
2093//
Hal Finkel8eb59282012-06-11 22:35:19 +00002094// 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 +00002095//
2096// PPC64:#define _ARCH_PPC 1
2097// PPC64:#define _ARCH_PPC64 1
Hal Finkel6b984f02012-07-03 16:51:04 +00002098// PPC64:#define _ARCH_PPCGR 1
2099// PPC64:#define _ARCH_PPCSQ 1
2100// PPC64:#define _ARCH_PWR4 1
2101// PPC64:#define _ARCH_PWR5 1
2102// PPC64:#define _ARCH_PWR6 1
Hal Finkel8eb59282012-06-11 22:35:19 +00002103// PPC64:#define _ARCH_PWR7 1
Chris Lattnere963d092009-10-29 04:55:36 +00002104// PPC64:#define _BIG_ENDIAN 1
2105// PPC64:#define _LP64 1
David Majnemer158ba132014-02-09 05:30:48 +00002106// PPC64:#define __ALIGNOF_MAX_ALIGN_T__ 8
Chris Lattnere963d092009-10-29 04:55:36 +00002107// PPC64:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002108// PPC64:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002109// PPC64:#define __CHAR16_TYPE__ unsigned short
2110// PPC64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002111// PPC64:#define __CHAR_BIT__ 8
2112// PPC64:#define __CHAR_UNSIGNED__ 1
2113// PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2114// PPC64:#define __DBL_DIG__ 15
2115// PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
2116// PPC64:#define __DBL_HAS_DENORM__ 1
2117// PPC64:#define __DBL_HAS_INFINITY__ 1
2118// PPC64:#define __DBL_HAS_QUIET_NAN__ 1
2119// PPC64:#define __DBL_MANT_DIG__ 53
2120// PPC64:#define __DBL_MAX_10_EXP__ 308
2121// PPC64:#define __DBL_MAX_EXP__ 1024
2122// PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
2123// PPC64:#define __DBL_MIN_10_EXP__ (-307)
2124// PPC64:#define __DBL_MIN_EXP__ (-1021)
2125// PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber3435ede2012-01-31 02:07:33 +00002126// PPC64:#define __DECIMAL_DIG__ 33
Chris Lattnere963d092009-10-29 04:55:36 +00002127// PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2128// PPC64:#define __FLT_DIG__ 6
2129// PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
2130// PPC64:#define __FLT_EVAL_METHOD__ 0
2131// PPC64:#define __FLT_HAS_DENORM__ 1
2132// PPC64:#define __FLT_HAS_INFINITY__ 1
2133// PPC64:#define __FLT_HAS_QUIET_NAN__ 1
2134// PPC64:#define __FLT_MANT_DIG__ 24
2135// PPC64:#define __FLT_MAX_10_EXP__ 38
2136// PPC64:#define __FLT_MAX_EXP__ 128
2137// PPC64:#define __FLT_MAX__ 3.40282347e+38F
2138// PPC64:#define __FLT_MIN_10_EXP__ (-37)
2139// PPC64:#define __FLT_MIN_EXP__ (-125)
2140// PPC64:#define __FLT_MIN__ 1.17549435e-38F
2141// PPC64:#define __FLT_RADIX__ 2
2142// PPC64:#define __INT16_TYPE__ short
2143// PPC64:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002144// PPC64:#define __INT64_C_SUFFIX__ L
Chris Lattnere963d092009-10-29 04:55:36 +00002145// PPC64:#define __INT64_TYPE__ long int
2146// PPC64:#define __INT8_TYPE__ char
2147// PPC64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck9b25f782009-11-19 13:18:59 +00002148// PPC64:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002149// PPC64:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002150// PPC64:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002151// PPC64:#define __INTPTR_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00002152// PPC64:#define __INT_MAX__ 2147483647
Nico Weber3435ede2012-01-31 02:07:33 +00002153// PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2154// PPC64:#define __LDBL_DIG__ 31
2155// PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002156// PPC64:#define __LDBL_HAS_DENORM__ 1
2157// PPC64:#define __LDBL_HAS_INFINITY__ 1
2158// PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002159// PPC64:#define __LDBL_MANT_DIG__ 106
Chris Lattnere963d092009-10-29 04:55:36 +00002160// PPC64:#define __LDBL_MAX_10_EXP__ 308
2161// PPC64:#define __LDBL_MAX_EXP__ 1024
Nico Weber3435ede2012-01-31 02:07:33 +00002162// PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2163// PPC64:#define __LDBL_MIN_10_EXP__ (-291)
2164// PPC64:#define __LDBL_MIN_EXP__ (-968)
2165// PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnere963d092009-10-29 04:55:36 +00002166// PPC64:#define __LONG_DOUBLE_128__ 1
2167// PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
2168// PPC64:#define __LONG_MAX__ 9223372036854775807L
2169// PPC64:#define __LP64__ 1
2170// PPC64:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002171// PPC64:#define __POINTER_WIDTH__ 64
2172// PPC64:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002173// PPC64:#define __PPC64__ 1
2174// PPC64:#define __PPC__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002175// PPC64:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002176// PPC64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00002177// PPC64:#define __REGISTER_PREFIX__
2178// PPC64:#define __SCHAR_MAX__ 127
2179// PPC64:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002180// PPC64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002181// PPC64:#define __SIZEOF_DOUBLE__ 8
2182// PPC64:#define __SIZEOF_FLOAT__ 4
2183// PPC64:#define __SIZEOF_INT__ 4
Nico Weber3435ede2012-01-31 02:07:33 +00002184// PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohman04f87202010-05-28 00:27:15 +00002185// PPC64:#define __SIZEOF_LONG_LONG__ 8
2186// PPC64:#define __SIZEOF_LONG__ 8
2187// PPC64:#define __SIZEOF_POINTER__ 8
2188// PPC64:#define __SIZEOF_PTRDIFF_T__ 8
2189// PPC64:#define __SIZEOF_SHORT__ 2
2190// PPC64:#define __SIZEOF_SIZE_T__ 8
2191// PPC64:#define __SIZEOF_WCHAR_T__ 4
2192// PPC64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002193// PPC64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnere963d092009-10-29 04:55:36 +00002194// PPC64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002195// PPC64:#define __SIZE_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002196// PPC64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002197// PPC64:#define __USER_LABEL_PREFIX__ _
2198// PPC64:#define __WCHAR_MAX__ 2147483647
2199// PPC64:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002200// PPC64:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002201// PPC64:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002202// PPC64:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002203// PPC64:#define __ppc64__ 1
2204// PPC64:#define __ppc__ 1
2205//
Bill Schmidt778d3872013-07-26 01:36:11 +00002206// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64LE %s
2207//
2208// PPC64LE:#define _ARCH_PPC 1
2209// PPC64LE:#define _ARCH_PPC64 1
2210// PPC64LE:#define _ARCH_PPCGR 1
2211// PPC64LE:#define _ARCH_PPCSQ 1
2212// PPC64LE:#define _ARCH_PWR4 1
2213// PPC64LE:#define _ARCH_PWR5 1
2214// PPC64LE:#define _ARCH_PWR5X 1
2215// PPC64LE:#define _ARCH_PWR6 1
2216// PPC64LE:#define _ARCH_PWR6X 1
2217// PPC64LE:#define _ARCH_PWR7 1
2218// PPC64LE:#define _LITTLE_ENDIAN 1
2219// PPC64LE:#define _LP64 1
David Majnemer158ba132014-02-09 05:30:48 +00002220// PPC64LE:#define __ALIGNOF_MAX_ALIGN_T__ 8
Bill Schmidt778d3872013-07-26 01:36:11 +00002221// PPC64LE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
2222// PPC64LE:#define __CHAR16_TYPE__ unsigned short
2223// PPC64LE:#define __CHAR32_TYPE__ unsigned int
2224// PPC64LE:#define __CHAR_BIT__ 8
2225// PPC64LE:#define __CHAR_UNSIGNED__ 1
2226// PPC64LE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2227// PPC64LE:#define __DBL_DIG__ 15
2228// PPC64LE:#define __DBL_EPSILON__ 2.2204460492503131e-16
2229// PPC64LE:#define __DBL_HAS_DENORM__ 1
2230// PPC64LE:#define __DBL_HAS_INFINITY__ 1
2231// PPC64LE:#define __DBL_HAS_QUIET_NAN__ 1
2232// PPC64LE:#define __DBL_MANT_DIG__ 53
2233// PPC64LE:#define __DBL_MAX_10_EXP__ 308
2234// PPC64LE:#define __DBL_MAX_EXP__ 1024
2235// PPC64LE:#define __DBL_MAX__ 1.7976931348623157e+308
2236// PPC64LE:#define __DBL_MIN_10_EXP__ (-307)
2237// PPC64LE:#define __DBL_MIN_EXP__ (-1021)
2238// PPC64LE:#define __DBL_MIN__ 2.2250738585072014e-308
2239// PPC64LE:#define __DECIMAL_DIG__ 33
2240// PPC64LE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2241// PPC64LE:#define __FLT_DIG__ 6
2242// PPC64LE:#define __FLT_EPSILON__ 1.19209290e-7F
2243// PPC64LE:#define __FLT_EVAL_METHOD__ 0
2244// PPC64LE:#define __FLT_HAS_DENORM__ 1
2245// PPC64LE:#define __FLT_HAS_INFINITY__ 1
2246// PPC64LE:#define __FLT_HAS_QUIET_NAN__ 1
2247// PPC64LE:#define __FLT_MANT_DIG__ 24
2248// PPC64LE:#define __FLT_MAX_10_EXP__ 38
2249// PPC64LE:#define __FLT_MAX_EXP__ 128
2250// PPC64LE:#define __FLT_MAX__ 3.40282347e+38F
2251// PPC64LE:#define __FLT_MIN_10_EXP__ (-37)
2252// PPC64LE:#define __FLT_MIN_EXP__ (-125)
2253// PPC64LE:#define __FLT_MIN__ 1.17549435e-38F
2254// PPC64LE:#define __FLT_RADIX__ 2
2255// PPC64LE:#define __INT16_TYPE__ short
2256// PPC64LE:#define __INT32_TYPE__ int
2257// PPC64LE:#define __INT64_C_SUFFIX__ L
2258// PPC64LE:#define __INT64_TYPE__ long int
2259// PPC64LE:#define __INT8_TYPE__ char
2260// PPC64LE:#define __INTMAX_MAX__ 9223372036854775807L
2261// PPC64LE:#define __INTMAX_TYPE__ long int
2262// PPC64LE:#define __INTMAX_WIDTH__ 64
2263// PPC64LE:#define __INTPTR_TYPE__ long int
2264// PPC64LE:#define __INTPTR_WIDTH__ 64
2265// PPC64LE:#define __INT_MAX__ 2147483647
2266// PPC64LE:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2267// PPC64LE:#define __LDBL_DIG__ 31
2268// PPC64LE:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2269// PPC64LE:#define __LDBL_HAS_DENORM__ 1
2270// PPC64LE:#define __LDBL_HAS_INFINITY__ 1
2271// PPC64LE:#define __LDBL_HAS_QUIET_NAN__ 1
2272// PPC64LE:#define __LDBL_MANT_DIG__ 106
2273// PPC64LE:#define __LDBL_MAX_10_EXP__ 308
2274// PPC64LE:#define __LDBL_MAX_EXP__ 1024
2275// PPC64LE:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2276// PPC64LE:#define __LDBL_MIN_10_EXP__ (-291)
2277// PPC64LE:#define __LDBL_MIN_EXP__ (-968)
2278// PPC64LE:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2279// PPC64LE:#define __LITTLE_ENDIAN__ 1
2280// PPC64LE:#define __LONG_DOUBLE_128__ 1
2281// PPC64LE:#define __LONG_LONG_MAX__ 9223372036854775807LL
2282// PPC64LE:#define __LONG_MAX__ 9223372036854775807L
2283// PPC64LE:#define __LP64__ 1
2284// PPC64LE:#define __NATURAL_ALIGNMENT__ 1
2285// PPC64LE:#define __POINTER_WIDTH__ 64
2286// PPC64LE:#define __POWERPC__ 1
2287// PPC64LE:#define __PPC64__ 1
2288// PPC64LE:#define __PPC__ 1
2289// PPC64LE:#define __PTRDIFF_TYPE__ long int
2290// PPC64LE:#define __PTRDIFF_WIDTH__ 64
2291// PPC64LE:#define __REGISTER_PREFIX__
2292// PPC64LE:#define __SCHAR_MAX__ 127
2293// PPC64LE:#define __SHRT_MAX__ 32767
2294// PPC64LE:#define __SIG_ATOMIC_WIDTH__ 32
2295// PPC64LE:#define __SIZEOF_DOUBLE__ 8
2296// PPC64LE:#define __SIZEOF_FLOAT__ 4
2297// PPC64LE:#define __SIZEOF_INT__ 4
2298// PPC64LE:#define __SIZEOF_LONG_DOUBLE__ 16
2299// PPC64LE:#define __SIZEOF_LONG_LONG__ 8
2300// PPC64LE:#define __SIZEOF_LONG__ 8
2301// PPC64LE:#define __SIZEOF_POINTER__ 8
2302// PPC64LE:#define __SIZEOF_PTRDIFF_T__ 8
2303// PPC64LE:#define __SIZEOF_SHORT__ 2
2304// PPC64LE:#define __SIZEOF_SIZE_T__ 8
2305// PPC64LE:#define __SIZEOF_WCHAR_T__ 4
2306// PPC64LE:#define __SIZEOF_WINT_T__ 4
2307// PPC64LE:#define __SIZE_MAX__ 18446744073709551615UL
2308// PPC64LE:#define __SIZE_TYPE__ long unsigned int
2309// PPC64LE:#define __SIZE_WIDTH__ 64
2310// PPC64LE:#define __UINTMAX_TYPE__ long unsigned int
2311// PPC64LE:#define __USER_LABEL_PREFIX__ _
2312// PPC64LE:#define __WCHAR_MAX__ 2147483647
2313// PPC64LE:#define __WCHAR_TYPE__ int
2314// PPC64LE:#define __WCHAR_WIDTH__ 32
2315// PPC64LE:#define __WINT_TYPE__ int
2316// PPC64LE:#define __WINT_WIDTH__ 32
2317// PPC64LE:#define __ppc64__ 1
2318// PPC64LE:#define __ppc__ 1
2319//
Hal Finkeldf1e4bf2013-02-01 05:53:33 +00002320// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu a2q -fno-signed-char < /dev/null | FileCheck -check-prefix PPCA2Q %s
2321//
2322// PPCA2Q:#define _ARCH_A2 1
2323// PPCA2Q:#define _ARCH_A2Q 1
2324// PPCA2Q:#define _ARCH_PPC 1
2325// PPCA2Q:#define _ARCH_PPC64 1
2326// PPCA2Q:#define _ARCH_QP 1
2327//
2328// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-bgq-linux -fno-signed-char < /dev/null | FileCheck -check-prefix PPCBGQ %s
2329//
2330// PPCBGQ:#define __THW_BLUEGENE__ 1
2331// PPCBGQ:#define __TOS_BGQ__ 1
2332// PPCBGQ:#define __bg__ 1
2333// PPCBGQ:#define __bgq__ 1
2334//
Bill Schmidt38378a02013-02-01 20:23:10 +00002335// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu 630 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC630 %s
2336//
2337// PPC630:#define _ARCH_630 1
2338// PPC630:#define _ARCH_PPC 1
2339// PPC630:#define _ARCH_PPC64 1
2340// PPC630:#define _ARCH_PPCGR 1
2341//
2342// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR3 %s
2343//
2344// PPCPWR3:#define _ARCH_PPC 1
2345// PPCPWR3:#define _ARCH_PPC64 1
2346// PPCPWR3:#define _ARCH_PPCGR 1
2347//
2348// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER3 %s
2349//
2350// PPCPOWER3:#define _ARCH_PPC 1
2351// PPCPOWER3:#define _ARCH_PPC64 1
2352// PPCPOWER3:#define _ARCH_PPCGR 1
2353//
2354// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR4 %s
2355//
2356// PPCPWR4:#define _ARCH_PPC 1
2357// PPCPWR4:#define _ARCH_PPC64 1
2358// PPCPWR4:#define _ARCH_PPCGR 1
2359// PPCPWR4:#define _ARCH_PPCSQ 1
2360// PPCPWR4:#define _ARCH_PWR4 1
2361//
2362// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER4 %s
2363//
2364// PPCPOWER4:#define _ARCH_PPC 1
2365// PPCPOWER4:#define _ARCH_PPC64 1
2366// PPCPOWER4:#define _ARCH_PPCGR 1
2367// PPCPOWER4:#define _ARCH_PPCSQ 1
2368// PPCPOWER4:#define _ARCH_PWR4 1
2369//
2370// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5 %s
2371//
2372// PPCPWR5:#define _ARCH_PPC 1
2373// PPCPWR5:#define _ARCH_PPC64 1
2374// PPCPWR5:#define _ARCH_PPCGR 1
2375// PPCPWR5:#define _ARCH_PPCSQ 1
2376// PPCPWR5:#define _ARCH_PWR4 1
2377// PPCPWR5:#define _ARCH_PWR5 1
2378//
2379// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5 %s
2380//
2381// PPCPOWER5:#define _ARCH_PPC 1
2382// PPCPOWER5:#define _ARCH_PPC64 1
2383// PPCPOWER5:#define _ARCH_PPCGR 1
2384// PPCPOWER5:#define _ARCH_PPCSQ 1
2385// PPCPOWER5:#define _ARCH_PWR4 1
2386// PPCPOWER5:#define _ARCH_PWR5 1
2387//
2388// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5X %s
2389//
2390// PPCPWR5X:#define _ARCH_PPC 1
2391// PPCPWR5X:#define _ARCH_PPC64 1
2392// PPCPWR5X:#define _ARCH_PPCGR 1
2393// PPCPWR5X:#define _ARCH_PPCSQ 1
2394// PPCPWR5X:#define _ARCH_PWR4 1
2395// PPCPWR5X:#define _ARCH_PWR5 1
2396// PPCPWR5X:#define _ARCH_PWR5X 1
2397//
2398// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5X %s
2399//
2400// PPCPOWER5X:#define _ARCH_PPC 1
2401// PPCPOWER5X:#define _ARCH_PPC64 1
2402// PPCPOWER5X:#define _ARCH_PPCGR 1
2403// PPCPOWER5X:#define _ARCH_PPCSQ 1
2404// PPCPOWER5X:#define _ARCH_PWR4 1
2405// PPCPOWER5X:#define _ARCH_PWR5 1
2406// PPCPOWER5X:#define _ARCH_PWR5X 1
2407//
2408// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6 %s
2409//
2410// PPCPWR6:#define _ARCH_PPC 1
2411// PPCPWR6:#define _ARCH_PPC64 1
2412// PPCPWR6:#define _ARCH_PPCGR 1
2413// PPCPWR6:#define _ARCH_PPCSQ 1
2414// PPCPWR6:#define _ARCH_PWR4 1
2415// PPCPWR6:#define _ARCH_PWR5 1
2416// PPCPWR6:#define _ARCH_PWR5X 1
2417// PPCPWR6:#define _ARCH_PWR6 1
2418//
2419// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6 %s
2420//
2421// PPCPOWER6:#define _ARCH_PPC 1
2422// PPCPOWER6:#define _ARCH_PPC64 1
2423// PPCPOWER6:#define _ARCH_PPCGR 1
2424// PPCPOWER6:#define _ARCH_PPCSQ 1
2425// PPCPOWER6:#define _ARCH_PWR4 1
2426// PPCPOWER6:#define _ARCH_PWR5 1
2427// PPCPOWER6:#define _ARCH_PWR5X 1
2428// PPCPOWER6:#define _ARCH_PWR6 1
2429//
2430// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6X %s
2431//
2432// PPCPWR6X:#define _ARCH_PPC 1
2433// PPCPWR6X:#define _ARCH_PPC64 1
2434// PPCPWR6X:#define _ARCH_PPCGR 1
2435// PPCPWR6X:#define _ARCH_PPCSQ 1
2436// PPCPWR6X:#define _ARCH_PWR4 1
2437// PPCPWR6X:#define _ARCH_PWR5 1
2438// PPCPWR6X:#define _ARCH_PWR5X 1
2439// PPCPWR6X:#define _ARCH_PWR6 1
2440// PPCPWR6X:#define _ARCH_PWR6X 1
2441//
2442// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6X %s
2443//
2444// PPCPOWER6X:#define _ARCH_PPC 1
2445// PPCPOWER6X:#define _ARCH_PPC64 1
2446// PPCPOWER6X:#define _ARCH_PPCGR 1
2447// PPCPOWER6X:#define _ARCH_PPCSQ 1
2448// PPCPOWER6X:#define _ARCH_PWR4 1
2449// PPCPOWER6X:#define _ARCH_PWR5 1
2450// PPCPOWER6X:#define _ARCH_PWR5X 1
2451// PPCPOWER6X:#define _ARCH_PWR6 1
2452// PPCPOWER6X:#define _ARCH_PWR6X 1
2453//
2454// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR7 %s
2455//
2456// PPCPWR7:#define _ARCH_PPC 1
2457// PPCPWR7:#define _ARCH_PPC64 1
2458// PPCPWR7:#define _ARCH_PPCGR 1
2459// PPCPWR7:#define _ARCH_PPCSQ 1
2460// PPCPWR7:#define _ARCH_PWR4 1
2461// PPCPWR7:#define _ARCH_PWR5 1
2462// PPCPWR7:#define _ARCH_PWR5X 1
2463// PPCPWR7:#define _ARCH_PWR6 1
2464// PPCPWR7:#define _ARCH_PWR6X 1
2465// PPCPWR7:#define _ARCH_PWR7 1
2466//
2467// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER7 %s
2468//
2469// PPCPOWER7:#define _ARCH_PPC 1
2470// PPCPOWER7:#define _ARCH_PPC64 1
2471// PPCPOWER7:#define _ARCH_PPCGR 1
2472// PPCPOWER7:#define _ARCH_PPCSQ 1
2473// PPCPOWER7:#define _ARCH_PWR4 1
2474// PPCPOWER7:#define _ARCH_PWR5 1
2475// PPCPOWER7:#define _ARCH_PWR5X 1
2476// PPCPOWER7:#define _ARCH_PWR6 1
2477// PPCPOWER7:#define _ARCH_PWR6X 1
2478// PPCPOWER7:#define _ARCH_PWR7 1
2479//
Nico Weber3435ede2012-01-31 02:07:33 +00002480// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
2481//
2482// PPC64-LINUX:#define _ARCH_PPC 1
2483// PPC64-LINUX:#define _ARCH_PPC64 1
2484// PPC64-LINUX:#define _BIG_ENDIAN 1
2485// PPC64-LINUX:#define _LP64 1
David Majnemer158ba132014-02-09 05:30:48 +00002486// PPC64-LINUX:#define __ALIGNOF_MAX_ALIGN_T__ 8
Nico Weber3435ede2012-01-31 02:07:33 +00002487// PPC64-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002488// PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber3435ede2012-01-31 02:07:33 +00002489// PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
2490// PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
2491// PPC64-LINUX:#define __CHAR_BIT__ 8
2492// PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
2493// PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2494// PPC64-LINUX:#define __DBL_DIG__ 15
2495// PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2496// PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
2497// PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
2498// PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2499// PPC64-LINUX:#define __DBL_MANT_DIG__ 53
2500// PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
2501// PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
2502// PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2503// PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2504// PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2505// PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2506// PPC64-LINUX:#define __DECIMAL_DIG__ 33
2507// PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2508// PPC64-LINUX:#define __FLT_DIG__ 6
2509// PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2510// PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
2511// PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
2512// PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
2513// PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2514// PPC64-LINUX:#define __FLT_MANT_DIG__ 24
2515// PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
2516// PPC64-LINUX:#define __FLT_MAX_EXP__ 128
2517// PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2518// PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2519// PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
2520// PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2521// PPC64-LINUX:#define __FLT_RADIX__ 2
2522// PPC64-LINUX:#define __INT16_TYPE__ short
2523// PPC64-LINUX:#define __INT32_TYPE__ int
2524// PPC64-LINUX:#define __INT64_C_SUFFIX__ L
2525// PPC64-LINUX:#define __INT64_TYPE__ long int
2526// PPC64-LINUX:#define __INT8_TYPE__ char
2527// PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2528// PPC64-LINUX:#define __INTMAX_TYPE__ long int
2529// PPC64-LINUX:#define __INTMAX_WIDTH__ 64
2530// PPC64-LINUX:#define __INTPTR_TYPE__ long int
2531// PPC64-LINUX:#define __INTPTR_WIDTH__ 64
2532// PPC64-LINUX:#define __INT_MAX__ 2147483647
2533// PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2534// PPC64-LINUX:#define __LDBL_DIG__ 31
2535// PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2536// PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
2537// PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2538// PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2539// PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
2540// PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
2541// PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
2542// PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2543// PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2544// PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
2545// PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2546// PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
2547// PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2548// PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2549// PPC64-LINUX:#define __LP64__ 1
2550// PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002551// PPC64-LINUX:#define __POINTER_WIDTH__ 64
2552// PPC64-LINUX:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002553// PPC64-LINUX:#define __PPC64__ 1
2554// PPC64-LINUX:#define __PPC__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002555// PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
2556// PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
2557// PPC64-LINUX:#define __REGISTER_PREFIX__
2558// PPC64-LINUX:#define __SCHAR_MAX__ 127
2559// PPC64-LINUX:#define __SHRT_MAX__ 32767
2560// PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2561// PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
2562// PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
2563// PPC64-LINUX:#define __SIZEOF_INT__ 4
2564// PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2565// PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2566// PPC64-LINUX:#define __SIZEOF_LONG__ 8
2567// PPC64-LINUX:#define __SIZEOF_POINTER__ 8
2568// PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2569// PPC64-LINUX:#define __SIZEOF_SHORT__ 2
2570// PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
2571// PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2572// PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002573// PPC64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Nico Weber3435ede2012-01-31 02:07:33 +00002574// PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
2575// PPC64-LINUX:#define __SIZE_WIDTH__ 64
2576// PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2577// PPC64-LINUX:#define __USER_LABEL_PREFIX__
2578// PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
2579// PPC64-LINUX:#define __WCHAR_TYPE__ int
2580// PPC64-LINUX:#define __WCHAR_WIDTH__ 32
2581// PPC64-LINUX:#define __WINT_TYPE__ unsigned int
2582// PPC64-LINUX:#define __WINT_UNSIGNED__ 1
2583// PPC64-LINUX:#define __WINT_WIDTH__ 32
2584// PPC64-LINUX:#define __powerpc64__ 1
2585// PPC64-LINUX:#define __powerpc__ 1
2586// PPC64-LINUX:#define __ppc64__ 1
2587// PPC64-LINUX:#define __ppc__ 1
2588//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002589// 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 +00002590//
2591// PPC:#define _ARCH_PPC 1
2592// PPC:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002593// PPC-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +00002594// PPC:#define __ALIGNOF_MAX_ALIGN_T__ 8
Chris Lattnere963d092009-10-29 04:55:36 +00002595// PPC:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002596// PPC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002597// PPC:#define __CHAR16_TYPE__ unsigned short
2598// PPC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002599// PPC:#define __CHAR_BIT__ 8
2600// PPC:#define __CHAR_UNSIGNED__ 1
2601// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2602// PPC:#define __DBL_DIG__ 15
2603// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2604// PPC:#define __DBL_HAS_DENORM__ 1
2605// PPC:#define __DBL_HAS_INFINITY__ 1
2606// PPC:#define __DBL_HAS_QUIET_NAN__ 1
2607// PPC:#define __DBL_MANT_DIG__ 53
2608// PPC:#define __DBL_MAX_10_EXP__ 308
2609// PPC:#define __DBL_MAX_EXP__ 1024
2610// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
2611// PPC:#define __DBL_MIN_10_EXP__ (-307)
2612// PPC:#define __DBL_MIN_EXP__ (-1021)
2613// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber3435ede2012-01-31 02:07:33 +00002614// PPC:#define __DECIMAL_DIG__ 33
Chris Lattnere963d092009-10-29 04:55:36 +00002615// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2616// PPC:#define __FLT_DIG__ 6
2617// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
2618// PPC:#define __FLT_EVAL_METHOD__ 0
2619// PPC:#define __FLT_HAS_DENORM__ 1
2620// PPC:#define __FLT_HAS_INFINITY__ 1
2621// PPC:#define __FLT_HAS_QUIET_NAN__ 1
2622// PPC:#define __FLT_MANT_DIG__ 24
2623// PPC:#define __FLT_MAX_10_EXP__ 38
2624// PPC:#define __FLT_MAX_EXP__ 128
2625// PPC:#define __FLT_MAX__ 3.40282347e+38F
2626// PPC:#define __FLT_MIN_10_EXP__ (-37)
2627// PPC:#define __FLT_MIN_EXP__ (-125)
2628// PPC:#define __FLT_MIN__ 1.17549435e-38F
2629// PPC:#define __FLT_RADIX__ 2
2630// PPC:#define __INT16_TYPE__ short
2631// PPC:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002632// PPC:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00002633// PPC:#define __INT64_TYPE__ long long int
2634// PPC:#define __INT8_TYPE__ char
2635// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00002636// PPC:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002637// PPC:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002638// PPC:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002639// PPC:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002640// PPC:#define __INT_MAX__ 2147483647
Nico Weber3435ede2012-01-31 02:07:33 +00002641// PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2642// PPC:#define __LDBL_DIG__ 31
2643// PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002644// PPC:#define __LDBL_HAS_DENORM__ 1
2645// PPC:#define __LDBL_HAS_INFINITY__ 1
2646// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002647// PPC:#define __LDBL_MANT_DIG__ 106
Chris Lattnere963d092009-10-29 04:55:36 +00002648// PPC:#define __LDBL_MAX_10_EXP__ 308
2649// PPC:#define __LDBL_MAX_EXP__ 1024
Nico Weber3435ede2012-01-31 02:07:33 +00002650// PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2651// PPC:#define __LDBL_MIN_10_EXP__ (-291)
2652// PPC:#define __LDBL_MIN_EXP__ (-968)
2653// PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnere963d092009-10-29 04:55:36 +00002654// PPC:#define __LONG_DOUBLE_128__ 1
2655// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2656// PPC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002657// PPC-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00002658// PPC:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002659// PPC:#define __POINTER_WIDTH__ 32
2660// PPC:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002661// PPC:#define __PPC__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002662// PPC:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002663// PPC:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002664// PPC:#define __REGISTER_PREFIX__
2665// PPC:#define __SCHAR_MAX__ 127
2666// PPC:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002667// PPC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002668// PPC:#define __SIZEOF_DOUBLE__ 8
2669// PPC:#define __SIZEOF_FLOAT__ 4
2670// PPC:#define __SIZEOF_INT__ 4
Nico Weber3435ede2012-01-31 02:07:33 +00002671// PPC:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohman04f87202010-05-28 00:27:15 +00002672// PPC:#define __SIZEOF_LONG_LONG__ 8
2673// PPC:#define __SIZEOF_LONG__ 4
2674// PPC:#define __SIZEOF_POINTER__ 4
2675// PPC:#define __SIZEOF_PTRDIFF_T__ 4
2676// PPC:#define __SIZEOF_SHORT__ 2
2677// PPC:#define __SIZEOF_SIZE_T__ 4
2678// PPC:#define __SIZEOF_WCHAR_T__ 4
2679// PPC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002680// PPC:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00002681// PPC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002682// PPC:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002683// PPC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002684// PPC:#define __USER_LABEL_PREFIX__ _
2685// PPC:#define __WCHAR_MAX__ 2147483647
2686// PPC:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002687// PPC:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002688// PPC:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002689// PPC:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002690// PPC:#define __ppc__ 1
2691//
Nico Weber3435ede2012-01-31 02:07:33 +00002692// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
2693//
2694// PPC-LINUX:#define _ARCH_PPC 1
2695// PPC-LINUX:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002696// PPC-LINUX-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +00002697// PPC-LINUX:#define __ALIGNOF_MAX_ALIGN_T__ 8
Nico Weber3435ede2012-01-31 02:07:33 +00002698// PPC-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002699// PPC-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber3435ede2012-01-31 02:07:33 +00002700// PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
2701// PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
2702// PPC-LINUX:#define __CHAR_BIT__ 8
2703// PPC-LINUX:#define __CHAR_UNSIGNED__ 1
2704// PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2705// PPC-LINUX:#define __DBL_DIG__ 15
2706// PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2707// PPC-LINUX:#define __DBL_HAS_DENORM__ 1
2708// PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
2709// PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2710// PPC-LINUX:#define __DBL_MANT_DIG__ 53
2711// PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
2712// PPC-LINUX:#define __DBL_MAX_EXP__ 1024
2713// PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2714// PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2715// PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
2716// PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2717// PPC-LINUX:#define __DECIMAL_DIG__ 33
2718// PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2719// PPC-LINUX:#define __FLT_DIG__ 6
2720// PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2721// PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
2722// PPC-LINUX:#define __FLT_HAS_DENORM__ 1
2723// PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
2724// PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2725// PPC-LINUX:#define __FLT_MANT_DIG__ 24
2726// PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
2727// PPC-LINUX:#define __FLT_MAX_EXP__ 128
2728// PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2729// PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2730// PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
2731// PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2732// PPC-LINUX:#define __FLT_RADIX__ 2
2733// PPC-LINUX:#define __INT16_TYPE__ short
2734// PPC-LINUX:#define __INT32_TYPE__ int
2735// PPC-LINUX:#define __INT64_C_SUFFIX__ LL
2736// PPC-LINUX:#define __INT64_TYPE__ long long int
2737// PPC-LINUX:#define __INT8_TYPE__ char
2738// PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
2739// PPC-LINUX:#define __INTMAX_TYPE__ long long int
2740// PPC-LINUX:#define __INTMAX_WIDTH__ 64
Hal Finkel26908382012-03-02 20:54:36 +00002741// PPC-LINUX:#define __INTPTR_TYPE__ int
Nico Weber3435ede2012-01-31 02:07:33 +00002742// PPC-LINUX:#define __INTPTR_WIDTH__ 32
2743// PPC-LINUX:#define __INT_MAX__ 2147483647
2744// PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2745// PPC-LINUX:#define __LDBL_DIG__ 31
2746// PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2747// PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
2748// PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
2749// PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2750// PPC-LINUX:#define __LDBL_MANT_DIG__ 106
2751// PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
2752// PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
2753// PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2754// PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2755// PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
2756// PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2757// PPC-LINUX:#define __LONG_DOUBLE_128__ 1
2758// PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2759// PPC-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002760// PPC-LINUX-NOT:#define __LP64__
Nico Weber3435ede2012-01-31 02:07:33 +00002761// PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002762// PPC-LINUX:#define __POINTER_WIDTH__ 32
2763// PPC-LINUX:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002764// PPC-LINUX:#define __PPC__ 1
Hal Finkel26908382012-03-02 20:54:36 +00002765// PPC-LINUX:#define __PTRDIFF_TYPE__ int
Nico Weber3435ede2012-01-31 02:07:33 +00002766// PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
2767// PPC-LINUX:#define __REGISTER_PREFIX__
2768// PPC-LINUX:#define __SCHAR_MAX__ 127
2769// PPC-LINUX:#define __SHRT_MAX__ 32767
2770// PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2771// PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
2772// PPC-LINUX:#define __SIZEOF_FLOAT__ 4
2773// PPC-LINUX:#define __SIZEOF_INT__ 4
2774// PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2775// PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
2776// PPC-LINUX:#define __SIZEOF_LONG__ 4
2777// PPC-LINUX:#define __SIZEOF_POINTER__ 4
2778// PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
2779// PPC-LINUX:#define __SIZEOF_SHORT__ 2
2780// PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
2781// PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
2782// PPC-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002783// PPC-LINUX:#define __SIZE_MAX__ 4294967295U
Nico Weber3435ede2012-01-31 02:07:33 +00002784// PPC-LINUX:#define __SIZE_TYPE__ unsigned int
2785// PPC-LINUX:#define __SIZE_WIDTH__ 32
2786// PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
2787// PPC-LINUX:#define __USER_LABEL_PREFIX__
2788// PPC-LINUX:#define __WCHAR_MAX__ 2147483647
2789// PPC-LINUX:#define __WCHAR_TYPE__ int
2790// PPC-LINUX:#define __WCHAR_WIDTH__ 32
2791// PPC-LINUX:#define __WINT_TYPE__ unsigned int
2792// PPC-LINUX:#define __WINT_UNSIGNED__ 1
2793// PPC-LINUX:#define __WINT_WIDTH__ 32
2794// PPC-LINUX:#define __powerpc__ 1
2795// PPC-LINUX:#define __ppc__ 1
2796//
David Fang072d47b2013-05-16 17:51:48 +00002797// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-apple-darwin8 < /dev/null | FileCheck -check-prefix PPC-DARWIN %s
2798//
2799// PPC-DARWIN:#define _ARCH_PPC 1
2800// PPC-DARWIN:#define _BIG_ENDIAN 1
David Majnemer158ba132014-02-09 05:30:48 +00002801// PPC-DARWIN:#define __ALIGNOF_MAX_ALIGN_T__ 16
David Fang072d47b2013-05-16 17:51:48 +00002802// PPC-DARWIN:#define __BIG_ENDIAN__ 1
2803// PPC-DARWIN:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2804// PPC-DARWIN:#define __CHAR16_TYPE__ unsigned short
2805// PPC-DARWIN:#define __CHAR32_TYPE__ unsigned int
2806// PPC-DARWIN:#define __CHAR_BIT__ 8
2807// PPC-DARWIN:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2808// PPC-DARWIN:#define __DBL_DIG__ 15
2809// PPC-DARWIN:#define __DBL_EPSILON__ 2.2204460492503131e-16
2810// PPC-DARWIN:#define __DBL_HAS_DENORM__ 1
2811// PPC-DARWIN:#define __DBL_HAS_INFINITY__ 1
2812// PPC-DARWIN:#define __DBL_HAS_QUIET_NAN__ 1
2813// PPC-DARWIN:#define __DBL_MANT_DIG__ 53
2814// PPC-DARWIN:#define __DBL_MAX_10_EXP__ 308
2815// PPC-DARWIN:#define __DBL_MAX_EXP__ 1024
2816// PPC-DARWIN:#define __DBL_MAX__ 1.7976931348623157e+308
2817// PPC-DARWIN:#define __DBL_MIN_10_EXP__ (-307)
2818// PPC-DARWIN:#define __DBL_MIN_EXP__ (-1021)
2819// PPC-DARWIN:#define __DBL_MIN__ 2.2250738585072014e-308
2820// PPC-DARWIN:#define __DECIMAL_DIG__ 33
2821// PPC-DARWIN:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2822// PPC-DARWIN:#define __FLT_DIG__ 6
2823// PPC-DARWIN:#define __FLT_EPSILON__ 1.19209290e-7F
2824// PPC-DARWIN:#define __FLT_EVAL_METHOD__ 0
2825// PPC-DARWIN:#define __FLT_HAS_DENORM__ 1
2826// PPC-DARWIN:#define __FLT_HAS_INFINITY__ 1
2827// PPC-DARWIN:#define __FLT_HAS_QUIET_NAN__ 1
2828// PPC-DARWIN:#define __FLT_MANT_DIG__ 24
2829// PPC-DARWIN:#define __FLT_MAX_10_EXP__ 38
2830// PPC-DARWIN:#define __FLT_MAX_EXP__ 128
2831// PPC-DARWIN:#define __FLT_MAX__ 3.40282347e+38F
2832// PPC-DARWIN:#define __FLT_MIN_10_EXP__ (-37)
2833// PPC-DARWIN:#define __FLT_MIN_EXP__ (-125)
2834// PPC-DARWIN:#define __FLT_MIN__ 1.17549435e-38F
2835// PPC-DARWIN:#define __FLT_RADIX__ 2
2836// PPC-DARWIN:#define __INT16_TYPE__ short
2837// PPC-DARWIN:#define __INT32_TYPE__ int
2838// PPC-DARWIN:#define __INT64_C_SUFFIX__ LL
2839// PPC-DARWIN:#define __INT64_TYPE__ long long int
2840// PPC-DARWIN:#define __INT8_TYPE__ char
2841// PPC-DARWIN:#define __INTMAX_MAX__ 9223372036854775807LL
2842// PPC-DARWIN:#define __INTMAX_TYPE__ long long int
2843// PPC-DARWIN:#define __INTMAX_WIDTH__ 64
2844// PPC-DARWIN:#define __INTPTR_TYPE__ long int
2845// PPC-DARWIN:#define __INTPTR_WIDTH__ 32
2846// PPC-DARWIN:#define __INT_MAX__ 2147483647
2847// PPC-DARWIN:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2848// PPC-DARWIN:#define __LDBL_DIG__ 31
2849// PPC-DARWIN:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2850// PPC-DARWIN:#define __LDBL_HAS_DENORM__ 1
2851// PPC-DARWIN:#define __LDBL_HAS_INFINITY__ 1
2852// PPC-DARWIN:#define __LDBL_HAS_QUIET_NAN__ 1
2853// PPC-DARWIN:#define __LDBL_MANT_DIG__ 106
2854// PPC-DARWIN:#define __LDBL_MAX_10_EXP__ 308
2855// PPC-DARWIN:#define __LDBL_MAX_EXP__ 1024
2856// PPC-DARWIN:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2857// PPC-DARWIN:#define __LDBL_MIN_10_EXP__ (-291)
2858// PPC-DARWIN:#define __LDBL_MIN_EXP__ (-968)
2859// PPC-DARWIN:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2860// PPC-DARWIN:#define __LONG_DOUBLE_128__ 1
2861// PPC-DARWIN:#define __LONG_LONG_MAX__ 9223372036854775807LL
2862// PPC-DARWIN:#define __LONG_MAX__ 2147483647L
2863// PPC-DARWIN:#define __MACH__ 1
2864// PPC-DARWIN:#define __NATURAL_ALIGNMENT__ 1
2865// PPC-DARWIN:#define __ORDER_BIG_ENDIAN__ 4321
2866// PPC-DARWIN:#define __ORDER_LITTLE_ENDIAN__ 1234
2867// PPC-DARWIN:#define __ORDER_PDP_ENDIAN__ 3412
2868// PPC-DARWIN:#define __POINTER_WIDTH__ 32
2869// PPC-DARWIN:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002870// PPC-DARWIN:#define __PPC__ 1
David Fang072d47b2013-05-16 17:51:48 +00002871// PPC-DARWIN:#define __PTRDIFF_TYPE__ int
2872// PPC-DARWIN:#define __PTRDIFF_WIDTH__ 32
2873// PPC-DARWIN:#define __REGISTER_PREFIX__
2874// PPC-DARWIN:#define __SCHAR_MAX__ 127
2875// PPC-DARWIN:#define __SHRT_MAX__ 32767
2876// PPC-DARWIN:#define __SIG_ATOMIC_WIDTH__ 32
2877// PPC-DARWIN:#define __SIZEOF_DOUBLE__ 8
2878// PPC-DARWIN:#define __SIZEOF_FLOAT__ 4
2879// PPC-DARWIN:#define __SIZEOF_INT__ 4
2880// PPC-DARWIN:#define __SIZEOF_LONG_DOUBLE__ 16
2881// PPC-DARWIN:#define __SIZEOF_LONG_LONG__ 8
2882// PPC-DARWIN:#define __SIZEOF_LONG__ 4
2883// PPC-DARWIN:#define __SIZEOF_POINTER__ 4
2884// PPC-DARWIN:#define __SIZEOF_PTRDIFF_T__ 4
2885// PPC-DARWIN:#define __SIZEOF_SHORT__ 2
2886// PPC-DARWIN:#define __SIZEOF_SIZE_T__ 4
2887// PPC-DARWIN:#define __SIZEOF_WCHAR_T__ 4
2888// PPC-DARWIN:#define __SIZEOF_WINT_T__ 4
2889// PPC-DARWIN:#define __SIZE_MAX__ 4294967295UL
2890// PPC-DARWIN:#define __SIZE_TYPE__ long unsigned int
2891// PPC-DARWIN:#define __SIZE_WIDTH__ 32
2892// PPC-DARWIN:#define __STDC_HOSTED__ 0
2893// PPC-DARWIN:#define __STDC_VERSION__ 199901L
2894// PPC-DARWIN:#define __STDC__ 1
2895// PPC-DARWIN:#define __UINTMAX_TYPE__ long long unsigned int
2896// PPC-DARWIN:#define __USER_LABEL_PREFIX__ _
2897// PPC-DARWIN:#define __WCHAR_MAX__ 2147483647
2898// PPC-DARWIN:#define __WCHAR_TYPE__ int
2899// PPC-DARWIN:#define __WCHAR_WIDTH__ 32
2900// PPC-DARWIN:#define __WINT_TYPE__ int
2901// PPC-DARWIN:#define __WINT_WIDTH__ 32
2902// PPC-DARWIN:#define __powerpc__ 1
2903// PPC-DARWIN:#define __ppc__ 1
2904//
Ulrich Weigand47445072013-05-06 16:26:41 +00002905// RUN: %clang_cc1 -E -dM -ffreestanding -triple=s390x-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix S390X %s
2906//
2907// S390X:#define __CHAR16_TYPE__ unsigned short
2908// S390X:#define __CHAR32_TYPE__ unsigned int
2909// S390X:#define __CHAR_BIT__ 8
2910// S390X:#define __CHAR_UNSIGNED__ 1
2911// S390X:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2912// S390X:#define __DBL_DIG__ 15
2913// S390X:#define __DBL_EPSILON__ 2.2204460492503131e-16
2914// S390X:#define __DBL_HAS_DENORM__ 1
2915// S390X:#define __DBL_HAS_INFINITY__ 1
2916// S390X:#define __DBL_HAS_QUIET_NAN__ 1
2917// S390X:#define __DBL_MANT_DIG__ 53
2918// S390X:#define __DBL_MAX_10_EXP__ 308
2919// S390X:#define __DBL_MAX_EXP__ 1024
2920// S390X:#define __DBL_MAX__ 1.7976931348623157e+308
2921// S390X:#define __DBL_MIN_10_EXP__ (-307)
2922// S390X:#define __DBL_MIN_EXP__ (-1021)
2923// S390X:#define __DBL_MIN__ 2.2250738585072014e-308
2924// S390X:#define __DECIMAL_DIG__ 36
2925// S390X:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2926// S390X:#define __FLT_DIG__ 6
2927// S390X:#define __FLT_EPSILON__ 1.19209290e-7F
2928// S390X:#define __FLT_EVAL_METHOD__ 0
2929// S390X:#define __FLT_HAS_DENORM__ 1
2930// S390X:#define __FLT_HAS_INFINITY__ 1
2931// S390X:#define __FLT_HAS_QUIET_NAN__ 1
2932// S390X:#define __FLT_MANT_DIG__ 24
2933// S390X:#define __FLT_MAX_10_EXP__ 38
2934// S390X:#define __FLT_MAX_EXP__ 128
2935// S390X:#define __FLT_MAX__ 3.40282347e+38F
2936// S390X:#define __FLT_MIN_10_EXP__ (-37)
2937// S390X:#define __FLT_MIN_EXP__ (-125)
2938// S390X:#define __FLT_MIN__ 1.17549435e-38F
2939// S390X:#define __FLT_RADIX__ 2
2940// S390X:#define __INT16_TYPE__ short
2941// S390X:#define __INT32_TYPE__ int
2942// S390X:#define __INT64_C_SUFFIX__ L
2943// S390X:#define __INT64_TYPE__ long long int
2944// S390X:#define __INT8_TYPE__ char
2945// S390X:#define __INTMAX_MAX__ 9223372036854775807LL
2946// S390X:#define __INTMAX_TYPE__ long long int
2947// S390X:#define __INTMAX_WIDTH__ 64
2948// S390X:#define __INTPTR_TYPE__ long int
2949// S390X:#define __INTPTR_WIDTH__ 64
2950// S390X:#define __INT_MAX__ 2147483647
2951// S390X:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
2952// S390X:#define __LDBL_DIG__ 33
2953// S390X:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
2954// S390X:#define __LDBL_HAS_DENORM__ 1
2955// S390X:#define __LDBL_HAS_INFINITY__ 1
2956// S390X:#define __LDBL_HAS_QUIET_NAN__ 1
2957// S390X:#define __LDBL_MANT_DIG__ 113
2958// S390X:#define __LDBL_MAX_10_EXP__ 4932
2959// S390X:#define __LDBL_MAX_EXP__ 16384
2960// S390X:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
2961// S390X:#define __LDBL_MIN_10_EXP__ (-4931)
2962// S390X:#define __LDBL_MIN_EXP__ (-16381)
2963// S390X:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
2964// S390X:#define __LONG_LONG_MAX__ 9223372036854775807LL
2965// S390X:#define __LONG_MAX__ 9223372036854775807L
2966// S390X:#define __NO_INLINE__ 1
2967// S390X:#define __POINTER_WIDTH__ 64
2968// S390X:#define __PTRDIFF_TYPE__ long int
2969// S390X:#define __PTRDIFF_WIDTH__ 64
2970// S390X:#define __SCHAR_MAX__ 127
2971// S390X:#define __SHRT_MAX__ 32767
2972// S390X:#define __SIG_ATOMIC_WIDTH__ 32
2973// S390X:#define __SIZEOF_DOUBLE__ 8
2974// S390X:#define __SIZEOF_FLOAT__ 4
2975// S390X:#define __SIZEOF_INT__ 4
2976// S390X:#define __SIZEOF_LONG_DOUBLE__ 16
2977// S390X:#define __SIZEOF_LONG_LONG__ 8
2978// S390X:#define __SIZEOF_LONG__ 8
2979// S390X:#define __SIZEOF_POINTER__ 8
2980// S390X:#define __SIZEOF_PTRDIFF_T__ 8
2981// S390X:#define __SIZEOF_SHORT__ 2
2982// S390X:#define __SIZEOF_SIZE_T__ 8
2983// S390X:#define __SIZEOF_WCHAR_T__ 4
2984// S390X:#define __SIZEOF_WINT_T__ 4
2985// S390X:#define __SIZE_TYPE__ long unsigned int
2986// S390X:#define __SIZE_WIDTH__ 64
2987// S390X:#define __UINTMAX_TYPE__ long long unsigned int
2988// S390X:#define __USER_LABEL_PREFIX__ _
2989// S390X:#define __WCHAR_MAX__ 2147483647
2990// S390X:#define __WCHAR_TYPE__ int
2991// S390X:#define __WCHAR_WIDTH__ 32
2992// S390X:#define __WINT_TYPE__ int
2993// S390X:#define __WINT_WIDTH__ 32
2994// S390X:#define __s390__ 1
2995// S390X:#define __s390x__ 1
2996//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002997// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
Chris Lattnere963d092009-10-29 04:55:36 +00002998//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002999// SPARC-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +00003000// SPARC:#define __ALIGNOF_MAX_ALIGN_T__ 8
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003001// SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00003002// SPARC:#define __CHAR16_TYPE__ unsigned short
3003// SPARC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003004// SPARC:#define __CHAR_BIT__ 8
3005// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3006// SPARC:#define __DBL_DIG__ 15
3007// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
3008// SPARC:#define __DBL_HAS_DENORM__ 1
3009// SPARC:#define __DBL_HAS_INFINITY__ 1
3010// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
3011// SPARC:#define __DBL_MANT_DIG__ 53
3012// SPARC:#define __DBL_MAX_10_EXP__ 308
3013// SPARC:#define __DBL_MAX_EXP__ 1024
3014// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
3015// SPARC:#define __DBL_MIN_10_EXP__ (-307)
3016// SPARC:#define __DBL_MIN_EXP__ (-1021)
3017// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
3018// SPARC:#define __DECIMAL_DIG__ 17
3019// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3020// SPARC:#define __FLT_DIG__ 6
3021// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
3022// SPARC:#define __FLT_EVAL_METHOD__ 0
3023// SPARC:#define __FLT_HAS_DENORM__ 1
3024// SPARC:#define __FLT_HAS_INFINITY__ 1
3025// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
3026// SPARC:#define __FLT_MANT_DIG__ 24
3027// SPARC:#define __FLT_MAX_10_EXP__ 38
3028// SPARC:#define __FLT_MAX_EXP__ 128
3029// SPARC:#define __FLT_MAX__ 3.40282347e+38F
3030// SPARC:#define __FLT_MIN_10_EXP__ (-37)
3031// SPARC:#define __FLT_MIN_EXP__ (-125)
3032// SPARC:#define __FLT_MIN__ 1.17549435e-38F
3033// SPARC:#define __FLT_RADIX__ 2
3034// SPARC:#define __INT16_TYPE__ short
3035// SPARC:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00003036// SPARC:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00003037// SPARC:#define __INT64_TYPE__ long long int
3038// SPARC:#define __INT8_TYPE__ char
3039// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00003040// SPARC:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00003041// SPARC:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00003042// SPARC:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00003043// SPARC:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003044// SPARC:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003045// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00003046// SPARC:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003047// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +00003048// SPARC:#define __LDBL_HAS_DENORM__ 1
3049// SPARC:#define __LDBL_HAS_INFINITY__ 1
3050// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
3051// SPARC:#define __LDBL_MANT_DIG__ 53
3052// SPARC:#define __LDBL_MAX_10_EXP__ 308
3053// SPARC:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003054// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +00003055// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
3056// SPARC:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003057// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnere963d092009-10-29 04:55:36 +00003058// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
3059// SPARC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003060// SPARC-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00003061// SPARC:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003062// SPARC:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00003063// SPARC:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbaracde99e2009-12-18 18:42:37 +00003064// SPARC:#define __REGISTER_PREFIX__
Chris Lattnere963d092009-10-29 04:55:36 +00003065// SPARC:#define __SCHAR_MAX__ 127
3066// SPARC:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00003067// SPARC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00003068// SPARC:#define __SIZEOF_DOUBLE__ 8
3069// SPARC:#define __SIZEOF_FLOAT__ 4
3070// SPARC:#define __SIZEOF_INT__ 4
3071// SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
3072// SPARC:#define __SIZEOF_LONG_LONG__ 8
3073// SPARC:#define __SIZEOF_LONG__ 4
3074// SPARC:#define __SIZEOF_POINTER__ 4
3075// SPARC:#define __SIZEOF_PTRDIFF_T__ 4
3076// SPARC:#define __SIZEOF_SHORT__ 2
3077// SPARC:#define __SIZEOF_SIZE_T__ 4
3078// SPARC:#define __SIZEOF_WCHAR_T__ 4
3079// SPARC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003080// SPARC:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00003081// SPARC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00003082// SPARC:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003083// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003084// SPARC:#define __USER_LABEL_PREFIX__ _
Daniel Dunbar3b17a862011-03-31 00:53:51 +00003085// SPARC:#define __VERSION__ "4.2.1 Compatible
Chris Lattnere963d092009-10-29 04:55:36 +00003086// SPARC:#define __WCHAR_MAX__ 2147483647
3087// SPARC:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00003088// SPARC:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003089// SPARC:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00003090// SPARC:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003091// SPARC:#define __sparc 1
3092// SPARC:#define __sparc__ 1
3093// SPARC:#define __sparcv8 1
3094// SPARC:#define sparc 1
3095//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00003096// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
Chris Lattnere963d092009-10-29 04:55:36 +00003097//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003098// TCE-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +00003099// TCE:#define __ALIGNOF_MAX_ALIGN_T__ 4
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003100// TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00003101// TCE:#define __CHAR16_TYPE__ unsigned short
3102// TCE:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003103// TCE:#define __CHAR_BIT__ 8
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003104// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45
Chris Lattnere963d092009-10-29 04:55:36 +00003105// TCE:#define __DBL_DIG__ 6
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003106// TCE:#define __DBL_EPSILON__ 1.19209290e-7
Chris Lattnere963d092009-10-29 04:55:36 +00003107// TCE:#define __DBL_HAS_DENORM__ 1
3108// TCE:#define __DBL_HAS_INFINITY__ 1
3109// TCE:#define __DBL_HAS_QUIET_NAN__ 1
3110// TCE:#define __DBL_MANT_DIG__ 24
3111// TCE:#define __DBL_MAX_10_EXP__ 38
3112// TCE:#define __DBL_MAX_EXP__ 128
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003113// TCE:#define __DBL_MAX__ 3.40282347e+38
Chris Lattnere963d092009-10-29 04:55:36 +00003114// TCE:#define __DBL_MIN_10_EXP__ (-37)
3115// TCE:#define __DBL_MIN_EXP__ (-125)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003116// TCE:#define __DBL_MIN__ 1.17549435e-38
Chris Lattnere963d092009-10-29 04:55:36 +00003117// TCE:#define __DECIMAL_DIG__ -1
3118// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3119// TCE:#define __FLT_DIG__ 6
3120// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
3121// TCE:#define __FLT_EVAL_METHOD__ 0
3122// TCE:#define __FLT_HAS_DENORM__ 1
3123// TCE:#define __FLT_HAS_INFINITY__ 1
3124// TCE:#define __FLT_HAS_QUIET_NAN__ 1
3125// TCE:#define __FLT_MANT_DIG__ 24
3126// TCE:#define __FLT_MAX_10_EXP__ 38
3127// TCE:#define __FLT_MAX_EXP__ 128
3128// TCE:#define __FLT_MAX__ 3.40282347e+38F
3129// TCE:#define __FLT_MIN_10_EXP__ (-37)
3130// TCE:#define __FLT_MIN_EXP__ (-125)
3131// TCE:#define __FLT_MIN__ 1.17549435e-38F
3132// TCE:#define __FLT_RADIX__ 2
3133// TCE:#define __INT16_TYPE__ short
3134// TCE:#define __INT32_TYPE__ int
3135// TCE:#define __INT8_TYPE__ char
3136// TCE:#define __INTMAX_MAX__ 2147483647L
Ken Dyck9b25f782009-11-19 13:18:59 +00003137// TCE:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00003138// TCE:#define __INTMAX_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003139// TCE:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00003140// TCE:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003141// TCE:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003142// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45L
Chris Lattnere963d092009-10-29 04:55:36 +00003143// TCE:#define __LDBL_DIG__ 6
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003144// TCE:#define __LDBL_EPSILON__ 1.19209290e-7L
Chris Lattnere963d092009-10-29 04:55:36 +00003145// TCE:#define __LDBL_HAS_DENORM__ 1
3146// TCE:#define __LDBL_HAS_INFINITY__ 1
3147// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
3148// TCE:#define __LDBL_MANT_DIG__ 24
3149// TCE:#define __LDBL_MAX_10_EXP__ 38
3150// TCE:#define __LDBL_MAX_EXP__ 128
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003151// TCE:#define __LDBL_MAX__ 3.40282347e+38L
Chris Lattnere963d092009-10-29 04:55:36 +00003152// TCE:#define __LDBL_MIN_10_EXP__ (-37)
3153// TCE:#define __LDBL_MIN_EXP__ (-125)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003154// TCE:#define __LDBL_MIN__ 1.17549435e-38L
Chris Lattnere963d092009-10-29 04:55:36 +00003155// TCE:#define __LONG_LONG_MAX__ 2147483647LL
3156// TCE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003157// TCE-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00003158// TCE:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003159// TCE:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00003160// TCE:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003161// TCE:#define __SCHAR_MAX__ 127
3162// TCE:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00003163// TCE:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00003164// TCE:#define __SIZEOF_DOUBLE__ 4
3165// TCE:#define __SIZEOF_FLOAT__ 4
3166// TCE:#define __SIZEOF_INT__ 4
3167// TCE:#define __SIZEOF_LONG_DOUBLE__ 4
3168// TCE:#define __SIZEOF_LONG_LONG__ 4
3169// TCE:#define __SIZEOF_LONG__ 4
3170// TCE:#define __SIZEOF_POINTER__ 4
3171// TCE:#define __SIZEOF_PTRDIFF_T__ 4
3172// TCE:#define __SIZEOF_SHORT__ 2
3173// TCE:#define __SIZEOF_SIZE_T__ 4
3174// TCE:#define __SIZEOF_WCHAR_T__ 4
3175// TCE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003176// TCE:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00003177// TCE:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00003178// TCE:#define __SIZE_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003179// TCE:#define __TCE_V1__ 1
3180// TCE:#define __TCE__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00003181// TCE:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003182// TCE:#define __USER_LABEL_PREFIX__ _
3183// TCE:#define __WCHAR_MAX__ 2147483647
3184// TCE:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00003185// TCE:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003186// TCE:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00003187// TCE:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003188// TCE:#define __tce 1
3189// TCE:#define __tce__ 1
3190// TCE:#define tce 1
3191//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00003192// 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 +00003193//
3194// X86_64:#define _LP64 1
David Majnemer158ba132014-02-09 05:30:48 +00003195// X86_64:#define __ALIGNOF_MAX_ALIGN_T__ 16
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003196// X86_64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00003197// X86_64:#define __CHAR16_TYPE__ unsigned short
3198// X86_64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003199// X86_64:#define __CHAR_BIT__ 8
3200// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3201// X86_64:#define __DBL_DIG__ 15
3202// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
3203// X86_64:#define __DBL_HAS_DENORM__ 1
3204// X86_64:#define __DBL_HAS_INFINITY__ 1
3205// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
3206// X86_64:#define __DBL_MANT_DIG__ 53
3207// X86_64:#define __DBL_MAX_10_EXP__ 308
3208// X86_64:#define __DBL_MAX_EXP__ 1024
3209// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
3210// X86_64:#define __DBL_MIN_10_EXP__ (-307)
3211// X86_64:#define __DBL_MIN_EXP__ (-1021)
3212// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
3213// X86_64:#define __DECIMAL_DIG__ 21
3214// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3215// X86_64:#define __FLT_DIG__ 6
3216// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
3217// X86_64:#define __FLT_EVAL_METHOD__ 0
3218// X86_64:#define __FLT_HAS_DENORM__ 1
3219// X86_64:#define __FLT_HAS_INFINITY__ 1
3220// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
3221// X86_64:#define __FLT_MANT_DIG__ 24
3222// X86_64:#define __FLT_MAX_10_EXP__ 38
3223// X86_64:#define __FLT_MAX_EXP__ 128
3224// X86_64:#define __FLT_MAX__ 3.40282347e+38F
3225// X86_64:#define __FLT_MIN_10_EXP__ (-37)
3226// X86_64:#define __FLT_MIN_EXP__ (-125)
3227// X86_64:#define __FLT_MIN__ 1.17549435e-38F
3228// X86_64:#define __FLT_RADIX__ 2
3229// X86_64:#define __INT16_TYPE__ short
3230// X86_64:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00003231// X86_64:#define __INT64_C_SUFFIX__ L
Chris Lattnere963d092009-10-29 04:55:36 +00003232// X86_64:#define __INT64_TYPE__ long int
3233// X86_64:#define __INT8_TYPE__ char
3234// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck9b25f782009-11-19 13:18:59 +00003235// X86_64:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00003236// X86_64:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00003237// X86_64:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00003238// X86_64:#define __INTPTR_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003239// X86_64:#define __INT_MAX__ 2147483647
3240// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3241// X86_64:#define __LDBL_DIG__ 18
3242// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3243// X86_64:#define __LDBL_HAS_DENORM__ 1
3244// X86_64:#define __LDBL_HAS_INFINITY__ 1
3245// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
3246// X86_64:#define __LDBL_MANT_DIG__ 64
3247// X86_64:#define __LDBL_MAX_10_EXP__ 4932
3248// X86_64:#define __LDBL_MAX_EXP__ 16384
3249// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3250// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
3251// X86_64:#define __LDBL_MIN_EXP__ (-16381)
3252// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3253// X86_64:#define __LITTLE_ENDIAN__ 1
3254// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
3255// X86_64:#define __LONG_MAX__ 9223372036854775807L
3256// X86_64:#define __LP64__ 1
3257// X86_64:#define __MMX__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00003258// X86_64:#define __NO_MATH_INLINES 1
3259// X86_64:#define __POINTER_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00003260// X86_64:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00003261// X86_64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003262// X86_64:#define __REGISTER_PREFIX__
3263// X86_64:#define __SCHAR_MAX__ 127
3264// X86_64:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00003265// X86_64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00003266// X86_64:#define __SIZEOF_DOUBLE__ 8
3267// X86_64:#define __SIZEOF_FLOAT__ 4
3268// X86_64:#define __SIZEOF_INT__ 4
3269// X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
3270// X86_64:#define __SIZEOF_LONG_LONG__ 8
3271// X86_64:#define __SIZEOF_LONG__ 8
3272// X86_64:#define __SIZEOF_POINTER__ 8
3273// X86_64:#define __SIZEOF_PTRDIFF_T__ 8
3274// X86_64:#define __SIZEOF_SHORT__ 2
3275// X86_64:#define __SIZEOF_SIZE_T__ 8
3276// X86_64:#define __SIZEOF_WCHAR_T__ 4
3277// X86_64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003278// X86_64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnere963d092009-10-29 04:55:36 +00003279// X86_64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00003280// X86_64:#define __SIZE_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003281// X86_64:#define __SSE2_MATH__ 1
3282// X86_64:#define __SSE2__ 1
3283// X86_64:#define __SSE_MATH__ 1
3284// X86_64:#define __SSE__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00003285// X86_64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003286// X86_64:#define __USER_LABEL_PREFIX__ _
3287// X86_64:#define __WCHAR_MAX__ 2147483647
3288// X86_64:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00003289// X86_64:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003290// X86_64:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00003291// X86_64:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003292// X86_64:#define __amd64 1
3293// X86_64:#define __amd64__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00003294// X86_64:#define __x86_64 1
3295// X86_64:#define __x86_64__ 1
3296//
Douglas Gregore6d6e512011-01-12 21:19:25 +00003297// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
3298//
3299// X86_64-LINUX:#define _LP64 1
David Majnemer158ba132014-02-09 05:30:48 +00003300// X86_64-LINUX:#define __ALIGNOF_MAX_ALIGN_T__ 16
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003301// X86_64-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregore6d6e512011-01-12 21:19:25 +00003302// X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
3303// X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
3304// X86_64-LINUX:#define __CHAR_BIT__ 8
3305// X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3306// X86_64-LINUX:#define __DBL_DIG__ 15
3307// X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
3308// X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
3309// X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
3310// X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
3311// X86_64-LINUX:#define __DBL_MANT_DIG__ 53
3312// X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
3313// X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
3314// X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
3315// X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
3316// X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
3317// X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
3318// X86_64-LINUX:#define __DECIMAL_DIG__ 21
3319// X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3320// X86_64-LINUX:#define __FLT_DIG__ 6
3321// X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
3322// X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
3323// X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
3324// X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
3325// X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
3326// X86_64-LINUX:#define __FLT_MANT_DIG__ 24
3327// X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
3328// X86_64-LINUX:#define __FLT_MAX_EXP__ 128
3329// X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
3330// X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
3331// X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
3332// X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
3333// X86_64-LINUX:#define __FLT_RADIX__ 2
3334// X86_64-LINUX:#define __INT16_TYPE__ short
3335// X86_64-LINUX:#define __INT32_TYPE__ int
3336// X86_64-LINUX:#define __INT64_C_SUFFIX__ L
3337// X86_64-LINUX:#define __INT64_TYPE__ long int
3338// X86_64-LINUX:#define __INT8_TYPE__ char
3339// X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
3340// X86_64-LINUX:#define __INTMAX_TYPE__ long int
3341// X86_64-LINUX:#define __INTMAX_WIDTH__ 64
3342// X86_64-LINUX:#define __INTPTR_TYPE__ long int
3343// X86_64-LINUX:#define __INTPTR_WIDTH__ 64
3344// X86_64-LINUX:#define __INT_MAX__ 2147483647
3345// X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3346// X86_64-LINUX:#define __LDBL_DIG__ 18
3347// X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3348// X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
3349// X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
3350// X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
3351// X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
3352// X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
3353// X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
3354// X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3355// X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
3356// X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
3357// X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3358// X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
3359// X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
3360// X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
3361// X86_64-LINUX:#define __LP64__ 1
3362// X86_64-LINUX:#define __MMX__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00003363// X86_64-LINUX:#define __NO_MATH_INLINES 1
3364// X86_64-LINUX:#define __POINTER_WIDTH__ 64
3365// X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
3366// X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
3367// X86_64-LINUX:#define __REGISTER_PREFIX__
3368// X86_64-LINUX:#define __SCHAR_MAX__ 127
3369// X86_64-LINUX:#define __SHRT_MAX__ 32767
3370// X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
3371// X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
3372// X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
3373// X86_64-LINUX:#define __SIZEOF_INT__ 4
3374// X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
3375// X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
3376// X86_64-LINUX:#define __SIZEOF_LONG__ 8
3377// X86_64-LINUX:#define __SIZEOF_POINTER__ 8
3378// X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
3379// X86_64-LINUX:#define __SIZEOF_SHORT__ 2
3380// X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
3381// X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
3382// X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003383// X86_64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Douglas Gregore6d6e512011-01-12 21:19:25 +00003384// X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
3385// X86_64-LINUX:#define __SIZE_WIDTH__ 64
3386// X86_64-LINUX:#define __SSE2_MATH__ 1
3387// X86_64-LINUX:#define __SSE2__ 1
3388// X86_64-LINUX:#define __SSE_MATH__ 1
3389// X86_64-LINUX:#define __SSE__ 1
3390// X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
3391// X86_64-LINUX:#define __USER_LABEL_PREFIX__
3392// X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
3393// X86_64-LINUX:#define __WCHAR_TYPE__ int
3394// X86_64-LINUX:#define __WCHAR_WIDTH__ 32
3395// X86_64-LINUX:#define __WINT_TYPE__ unsigned int
3396// X86_64-LINUX:#define __WINT_WIDTH__ 32
3397// X86_64-LINUX:#define __amd64 1
3398// X86_64-LINUX:#define __amd64__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00003399// X86_64-LINUX:#define __x86_64 1
3400// X86_64-LINUX:#define __x86_64__ 1
3401//
Ed Schoutend0621462013-09-29 07:54:52 +00003402// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-unknown-freebsd9.1 < /dev/null | FileCheck -check-prefix X86_64-FREEBSD %s
3403//
3404// X86_64-FREEBSD:#define __FreeBSD__ 9
3405// X86_64-FREEBSD:#define __FreeBSD_cc_version 900001
3406// X86_64-FREEBSD:#define __STDC_MB_MIGHT_NEQ_WC__ 1
3407//
Joerg Sonnenberger0e921f22013-11-11 14:00:37 +00003408// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-netbsd < /dev/null | FileCheck -check-prefix X86_64-NETBSD %s
3409//
3410// X86_64-NETBSD:#define _LP64 1
David Majnemer158ba132014-02-09 05:30:48 +00003411// X86_64-NETBSD:#define __ALIGNOF_MAX_ALIGN_T__ 16
Joerg Sonnenberger0e921f22013-11-11 14:00:37 +00003412// X86_64-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
3413// X86_64-NETBSD:#define __CHAR16_TYPE__ unsigned short
3414// X86_64-NETBSD:#define __CHAR32_TYPE__ unsigned int
3415// X86_64-NETBSD:#define __CHAR_BIT__ 8
3416// X86_64-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3417// X86_64-NETBSD:#define __DBL_DIG__ 15
3418// X86_64-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
3419// X86_64-NETBSD:#define __DBL_HAS_DENORM__ 1
3420// X86_64-NETBSD:#define __DBL_HAS_INFINITY__ 1
3421// X86_64-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
3422// X86_64-NETBSD:#define __DBL_MANT_DIG__ 53
3423// X86_64-NETBSD:#define __DBL_MAX_10_EXP__ 308
3424// X86_64-NETBSD:#define __DBL_MAX_EXP__ 1024
3425// X86_64-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
3426// X86_64-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
3427// X86_64-NETBSD:#define __DBL_MIN_EXP__ (-1021)
3428// X86_64-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
3429// X86_64-NETBSD:#define __DECIMAL_DIG__ 21
3430// X86_64-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3431// X86_64-NETBSD:#define __FLT_DIG__ 6
3432// X86_64-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
3433// X86_64-NETBSD:#define __FLT_EVAL_METHOD__ 0
3434// X86_64-NETBSD:#define __FLT_HAS_DENORM__ 1
3435// X86_64-NETBSD:#define __FLT_HAS_INFINITY__ 1
3436// X86_64-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
3437// X86_64-NETBSD:#define __FLT_MANT_DIG__ 24
3438// X86_64-NETBSD:#define __FLT_MAX_10_EXP__ 38
3439// X86_64-NETBSD:#define __FLT_MAX_EXP__ 128
3440// X86_64-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
3441// X86_64-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
3442// X86_64-NETBSD:#define __FLT_MIN_EXP__ (-125)
3443// X86_64-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
3444// X86_64-NETBSD:#define __FLT_RADIX__ 2
3445// X86_64-NETBSD:#define __INT16_TYPE__ short
3446// X86_64-NETBSD:#define __INT32_TYPE__ int
3447// X86_64-NETBSD:#define __INT64_C_SUFFIX__ L
3448// X86_64-NETBSD:#define __INT64_TYPE__ long int
3449// X86_64-NETBSD:#define __INT8_TYPE__ char
3450// X86_64-NETBSD:#define __INTMAX_MAX__ 9223372036854775807L
3451// X86_64-NETBSD:#define __INTMAX_TYPE__ long int
3452// X86_64-NETBSD:#define __INTMAX_WIDTH__ 64
3453// X86_64-NETBSD:#define __INTPTR_TYPE__ long int
3454// X86_64-NETBSD:#define __INTPTR_WIDTH__ 64
3455// X86_64-NETBSD:#define __INT_MAX__ 2147483647
3456// X86_64-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3457// X86_64-NETBSD:#define __LDBL_DIG__ 18
3458// X86_64-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3459// X86_64-NETBSD:#define __LDBL_HAS_DENORM__ 1
3460// X86_64-NETBSD:#define __LDBL_HAS_INFINITY__ 1
3461// X86_64-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
3462// X86_64-NETBSD:#define __LDBL_MANT_DIG__ 64
3463// X86_64-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
3464// X86_64-NETBSD:#define __LDBL_MAX_EXP__ 16384
3465// X86_64-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3466// X86_64-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
3467// X86_64-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
3468// X86_64-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3469// X86_64-NETBSD:#define __LITTLE_ENDIAN__ 1
3470// X86_64-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
3471// X86_64-NETBSD:#define __LONG_MAX__ 9223372036854775807L
3472// X86_64-NETBSD:#define __LP64__ 1
3473// X86_64-NETBSD:#define __MMX__ 1
3474// X86_64-NETBSD:#define __NO_MATH_INLINES 1
3475// X86_64-NETBSD:#define __POINTER_WIDTH__ 64
3476// X86_64-NETBSD:#define __PTRDIFF_TYPE__ long int
3477// X86_64-NETBSD:#define __PTRDIFF_WIDTH__ 64
3478// X86_64-NETBSD:#define __REGISTER_PREFIX__
3479// X86_64-NETBSD:#define __SCHAR_MAX__ 127
3480// X86_64-NETBSD:#define __SHRT_MAX__ 32767
3481// X86_64-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
3482// X86_64-NETBSD:#define __SIZEOF_DOUBLE__ 8
3483// X86_64-NETBSD:#define __SIZEOF_FLOAT__ 4
3484// X86_64-NETBSD:#define __SIZEOF_INT__ 4
3485// X86_64-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 16
3486// X86_64-NETBSD:#define __SIZEOF_LONG_LONG__ 8
3487// X86_64-NETBSD:#define __SIZEOF_LONG__ 8
3488// X86_64-NETBSD:#define __SIZEOF_POINTER__ 8
3489// X86_64-NETBSD:#define __SIZEOF_PTRDIFF_T__ 8
3490// X86_64-NETBSD:#define __SIZEOF_SHORT__ 2
3491// X86_64-NETBSD:#define __SIZEOF_SIZE_T__ 8
3492// X86_64-NETBSD:#define __SIZEOF_WCHAR_T__ 4
3493// X86_64-NETBSD:#define __SIZEOF_WINT_T__ 4
3494// X86_64-NETBSD:#define __SIZE_MAX__ 18446744073709551615UL
3495// X86_64-NETBSD:#define __SIZE_TYPE__ long unsigned int
3496// X86_64-NETBSD:#define __SIZE_WIDTH__ 64
3497// X86_64-NETBSD:#define __SSE2_MATH__ 1
3498// X86_64-NETBSD:#define __SSE2__ 1
3499// X86_64-NETBSD:#define __SSE_MATH__ 1
3500// X86_64-NETBSD:#define __SSE__ 1
3501// X86_64-NETBSD:#define __UINTMAX_TYPE__ long unsigned int
3502// X86_64-NETBSD:#define __USER_LABEL_PREFIX__
3503// X86_64-NETBSD:#define __WCHAR_MAX__ 2147483647
3504// X86_64-NETBSD:#define __WCHAR_TYPE__ int
3505// X86_64-NETBSD:#define __WCHAR_WIDTH__ 32
3506// X86_64-NETBSD:#define __WINT_TYPE__ int
3507// X86_64-NETBSD:#define __WINT_WIDTH__ 32
3508// X86_64-NETBSD:#define __amd64 1
3509// X86_64-NETBSD:#define __amd64__ 1
3510// X86_64-NETBSD:#define __x86_64 1
3511// X86_64-NETBSD:#define __x86_64__ 1
3512//
Jakob Stoklund Olesen248520b2013-05-15 03:22:33 +00003513// 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 +00003514// SPARCV9:#define __INT64_TYPE__ long int
Jakob Stoklund Olesen248520b2013-05-15 03:22:33 +00003515// SPARCV9:#define __INTMAX_TYPE__ long int
3516// SPARCV9:#define __INTPTR_TYPE__ long int
3517// SPARCV9:#define __LONG_MAX__ 9223372036854775807L
3518// SPARCV9:#define __LP64__ 1
3519// SPARCV9:#define __SIZEOF_LONG__ 8
3520// SPARCV9:#define __SIZEOF_POINTER__ 8
3521//
Jakob Stoklund Olesen826df142013-05-19 17:53:37 +00003522// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-openbsd < /dev/null | FileCheck -check-prefix SPARC64-OBSD %s
3523// SPARC64-OBSD:#define __INT64_TYPE__ long long int
3524// SPARC64-OBSD:#define __INTMAX_TYPE__ long long int
3525// SPARC64-OBSD:#define __UINTMAX_TYPE__ long long unsigned int
3526//
Sylvestre Ledrufd7cd3552013-09-06 14:53:07 +00003527// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSD-DEFINE %s
3528// KFREEBSD-DEFINE:#define __FreeBSD_kernel__ 1
3529// KFREEBSD-DEFINE:#define __GLIBC__ 1
3530//
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003531// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i686-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSDI686-DEFINE %s
3532// KFREEBSDI686-DEFINE:#define __FreeBSD_kernel__ 1
3533// KFREEBSDI686-DEFINE:#define __GLIBC__ 1
3534//
David Chisnallb601c962012-07-03 20:49:52 +00003535// 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 +00003536// GNUSOURCE:#define _GNU_SOURCE 1
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003537//
Dan Gohman04f87202010-05-28 00:27:15 +00003538// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
3539// NORTTI: __GXX_ABI_VERSION
3540// NORTTI-NOT:#define __GXX_RTTI
3541// NORTTI: __STDC__
Evgeniy Stepanov94dc4c92012-04-26 12:08:09 +00003542//
3543// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
3544// ANDROID: __ANDROID__ 1
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003545//
Roman Divacky13b586f2013-07-03 19:45:54 +00003546// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd < /dev/null | FileCheck -check-prefix PPC64-FREEBSD %s
3547// PPC64-FREEBSD-NOT: #define __LONG_DOUBLE_128__ 1
Robert Lytton0e076492013-08-13 09:43:10 +00003548//
3549// RUN: %clang_cc1 -E -dM -ffreestanding -triple=xcore-none-none < /dev/null | FileCheck -check-prefix XCORE %s
3550// XCORE:#define __XS1B__ 1