blob: 7b4abd4d79d422f27cb6932e9e0e14fca35ae8a1 [file] [log] [blame]
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00001// RUN: %clang_cc1 -E -dM -x assembler-with-cpp < /dev/null | FileCheck -check-prefix ASM %s
Chris Lattnere963d092009-10-29 04:55:36 +00002//
3// ASM:#define __ASSEMBLER__ 1
4//
5//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00006// RUN: %clang_cc1 -fblocks -E -dM < /dev/null | FileCheck -check-prefix BLOCKS %s
Chris Lattnere963d092009-10-29 04:55:36 +00007//
8// BLOCKS:#define __BLOCKS__ 1
9// BLOCKS:#define __block __attribute__((__blocks__(byref)))
10//
Richard Smith0a715422013-05-07 19:32:56 +000011//
12// RUN: %clang_cc1 -x c++ -std=c++1y -E -dM < /dev/null | FileCheck -check-prefix CXX1Y %s
13//
14// CXX1Y:#define __GNUG__
15// CXX1Y:#define __GXX_EXPERIMENTAL_CXX0X__ 1
16// CXX1Y:#define __GXX_RTTI 1
17// CXX1Y:#define __GXX_WEAK__ 1
18// CXX1Y:#define __cplusplus 201305L
19// CXX1Y:#define __private_extern__ extern
20//
21//
Richard Smith89645bc2013-01-02 12:01:23 +000022// RUN: %clang_cc1 -x c++ -std=c++11 -E -dM < /dev/null | FileCheck -check-prefix CXX11 %s
Chris Lattnere963d092009-10-29 04:55:36 +000023//
Richard Smith89645bc2013-01-02 12:01:23 +000024// CXX11:#define __GNUG__
25// CXX11:#define __GXX_EXPERIMENTAL_CXX0X__ 1
26// CXX11:#define __GXX_RTTI 1
27// CXX11:#define __GXX_WEAK__ 1
28// CXX11:#define __cplusplus 201103L
29// CXX11:#define __private_extern__ extern
Chris Lattnere963d092009-10-29 04:55:36 +000030//
31//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +000032// RUN: %clang_cc1 -x c++ -std=c++98 -E -dM < /dev/null | FileCheck -check-prefix CXX98 %s
Chris Lattnere963d092009-10-29 04:55:36 +000033//
Chris Lattnere963d092009-10-29 04:55:36 +000034// CXX98:#define __GNUG__
Dan Gohman04f87202010-05-28 00:27:15 +000035// CXX98:#define __GXX_RTTI 1
Chris Lattnere963d092009-10-29 04:55:36 +000036// CXX98:#define __GXX_WEAK__ 1
37// CXX98:#define __cplusplus 199711L
38// CXX98:#define __private_extern__ extern
39//
40//
Chandler Carruth30483fb2011-04-23 19:48:40 +000041// RUN: %clang_cc1 -fdeprecated-macro -E -dM < /dev/null | FileCheck -check-prefix DEPRECATED %s
42//
43// DEPRECATED:#define __DEPRECATED 1
44//
45//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +000046// RUN: %clang_cc1 -std=c99 -E -dM < /dev/null | FileCheck -check-prefix C99 %s
Chris Lattnere963d092009-10-29 04:55:36 +000047//
48// C99:#define __STDC_VERSION__ 199901L
49// C99:#define __STRICT_ANSI__ 1
50//
51//
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
92// GXX1Y:#define __cplusplus 201305L
93// 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//
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000205// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-netbsd < /dev/null | FileCheck -check-prefix AARCH64-NETBSD %s
206//
207// AARCH64-NETBSD:#define _LP64 1
208// AARCH64-NETBSD:#define __AARCH64EL__ 1
David Majnemer158ba132014-02-09 05:30:48 +0000209// AARCH64-NETBSD:#define __ALIGNOF_MAX_ALIGN_T__ 16
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000210// AARCH64-NETBSD:#define __ARM_64BIT_STATE 1
211// AARCH64-NETBSD:#define __ARM_ARCH 8
212// AARCH64-NETBSD:#define __ARM_ARCH_ISA_A64 1
213// AARCH64-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
214// AARCH64-NETBSD:#define __CHAR16_TYPE__ unsigned short
215// AARCH64-NETBSD:#define __CHAR32_TYPE__ unsigned int
216// AARCH64-NETBSD:#define __CHAR_BIT__ 8
217// AARCH64-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
218// AARCH64-NETBSD:#define __DBL_DIG__ 15
219// AARCH64-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
220// AARCH64-NETBSD:#define __DBL_HAS_DENORM__ 1
221// AARCH64-NETBSD:#define __DBL_HAS_INFINITY__ 1
222// AARCH64-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
223// AARCH64-NETBSD:#define __DBL_MANT_DIG__ 53
224// AARCH64-NETBSD:#define __DBL_MAX_10_EXP__ 308
225// AARCH64-NETBSD:#define __DBL_MAX_EXP__ 1024
226// AARCH64-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
227// AARCH64-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
228// AARCH64-NETBSD:#define __DBL_MIN_EXP__ (-1021)
229// AARCH64-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
230// AARCH64-NETBSD:#define __DECIMAL_DIG__ 36
231// AARCH64-NETBSD:#define __ELF__ 1
232// AARCH64-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
233// AARCH64-NETBSD:#define __FLT_DIG__ 6
234// AARCH64-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
235// AARCH64-NETBSD:#define __FLT_EVAL_METHOD__ 0
236// AARCH64-NETBSD:#define __FLT_HAS_DENORM__ 1
237// AARCH64-NETBSD:#define __FLT_HAS_INFINITY__ 1
238// AARCH64-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
239// AARCH64-NETBSD:#define __FLT_MANT_DIG__ 24
240// AARCH64-NETBSD:#define __FLT_MAX_10_EXP__ 38
241// AARCH64-NETBSD:#define __FLT_MAX_EXP__ 128
242// AARCH64-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
243// AARCH64-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
244// AARCH64-NETBSD:#define __FLT_MIN_EXP__ (-125)
245// AARCH64-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
246// AARCH64-NETBSD:#define __FLT_RADIX__ 2
247// AARCH64-NETBSD:#define __INT16_TYPE__ short
248// AARCH64-NETBSD:#define __INT32_TYPE__ int
249// AARCH64-NETBSD:#define __INT64_C_SUFFIX__ LL
250// AARCH64-NETBSD:#define __INT64_TYPE__ long long int
251// AARCH64-NETBSD:#define __INT8_TYPE__ char
252// AARCH64-NETBSD:#define __INTMAX_MAX__ 9223372036854775807LL
253// AARCH64-NETBSD:#define __INTMAX_TYPE__ long long int
254// AARCH64-NETBSD:#define __INTMAX_WIDTH__ 64
255// AARCH64-NETBSD:#define __INTPTR_TYPE__ long int
256// AARCH64-NETBSD:#define __INTPTR_WIDTH__ 64
257// AARCH64-NETBSD:#define __INT_MAX__ 2147483647
258// AARCH64-NETBSD:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
259// AARCH64-NETBSD:#define __LDBL_DIG__ 33
260// AARCH64-NETBSD:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
261// AARCH64-NETBSD:#define __LDBL_HAS_DENORM__ 1
262// AARCH64-NETBSD:#define __LDBL_HAS_INFINITY__ 1
263// AARCH64-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
264// AARCH64-NETBSD:#define __LDBL_MANT_DIG__ 113
265// AARCH64-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
266// AARCH64-NETBSD:#define __LDBL_MAX_EXP__ 16384
267// AARCH64-NETBSD:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
268// AARCH64-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
269// AARCH64-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
270// AARCH64-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
271// AARCH64-NETBSD:#define __LITTLE_ENDIAN__ 1
272// AARCH64-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
273// AARCH64-NETBSD:#define __LONG_MAX__ 9223372036854775807L
274// AARCH64-NETBSD:#define __LP64__ 1
275// AARCH64-NETBSD:#define __NetBSD__ 1
276// AARCH64-NETBSD:#define __POINTER_WIDTH__ 64
277// AARCH64-NETBSD:#define __PTRDIFF_TYPE__ long int
278// AARCH64-NETBSD:#define __PTRDIFF_WIDTH__ 64
279// AARCH64-NETBSD:#define __SCHAR_MAX__ 127
280// AARCH64-NETBSD:#define __SHRT_MAX__ 32767
281// AARCH64-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
282// AARCH64-NETBSD:#define __SIZEOF_DOUBLE__ 8
283// AARCH64-NETBSD:#define __SIZEOF_FLOAT__ 4
284// AARCH64-NETBSD:#define __SIZEOF_INT__ 4
285// AARCH64-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 16
286// AARCH64-NETBSD:#define __SIZEOF_LONG_LONG__ 8
287// AARCH64-NETBSD:#define __SIZEOF_LONG__ 8
288// AARCH64-NETBSD:#define __SIZEOF_POINTER__ 8
289// AARCH64-NETBSD:#define __SIZEOF_PTRDIFF_T__ 8
290// AARCH64-NETBSD:#define __SIZEOF_SHORT__ 2
291// AARCH64-NETBSD:#define __SIZEOF_SIZE_T__ 8
292// AARCH64-NETBSD:#define __SIZEOF_WCHAR_T__ 4
293// AARCH64-NETBSD:#define __SIZEOF_WINT_T__ 4
294// AARCH64-NETBSD:#define __SIZE_MAX__ 18446744073709551615UL
295// AARCH64-NETBSD:#define __SIZE_TYPE__ long unsigned int
296// AARCH64-NETBSD:#define __SIZE_WIDTH__ 64
297// AARCH64-NETBSD:#define __UINTMAX_TYPE__ long long unsigned int
298// AARCH64-NETBSD:#define __USER_LABEL_PREFIX__
299// AARCH64-NETBSD:#define __WCHAR_MAX__ 2147483647
300// AARCH64-NETBSD:#define __WCHAR_TYPE__ int
301// AARCH64-NETBSD:#define __WCHAR_WIDTH__ 32
302// AARCH64-NETBSD:#define __WINT_TYPE__ int
303// AARCH64-NETBSD:#define __WINT_WIDTH__ 32
304// AARCH64-NETBSD:#define __aarch64__ 1
305//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000306// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s
Chris Lattnere963d092009-10-29 04:55:36 +0000307//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000308// ARM-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +0000309// ARM:#define __ALIGNOF_MAX_ALIGN_T__ 8
Chris Lattnere963d092009-10-29 04:55:36 +0000310// ARM:#define __APCS_32__ 1
311// ARM:#define __ARMEL__ 1
Daniel Dunbaracde99e2009-12-18 18:42:37 +0000312// ARM:#define __ARM_ARCH_6J__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000313// ARM:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +0000314// ARM:#define __CHAR16_TYPE__ unsigned short
315// ARM:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000316// ARM:#define __CHAR_BIT__ 8
317// ARM:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
318// ARM:#define __DBL_DIG__ 15
319// ARM:#define __DBL_EPSILON__ 2.2204460492503131e-16
320// ARM:#define __DBL_HAS_DENORM__ 1
321// ARM:#define __DBL_HAS_INFINITY__ 1
322// ARM:#define __DBL_HAS_QUIET_NAN__ 1
323// ARM:#define __DBL_MANT_DIG__ 53
324// ARM:#define __DBL_MAX_10_EXP__ 308
325// ARM:#define __DBL_MAX_EXP__ 1024
326// ARM:#define __DBL_MAX__ 1.7976931348623157e+308
327// ARM:#define __DBL_MIN_10_EXP__ (-307)
328// ARM:#define __DBL_MIN_EXP__ (-1021)
329// ARM:#define __DBL_MIN__ 2.2250738585072014e-308
330// ARM:#define __DECIMAL_DIG__ 17
331// ARM:#define __FLT_DENORM_MIN__ 1.40129846e-45F
332// ARM:#define __FLT_DIG__ 6
333// ARM:#define __FLT_EPSILON__ 1.19209290e-7F
334// ARM:#define __FLT_EVAL_METHOD__ 0
335// ARM:#define __FLT_HAS_DENORM__ 1
336// ARM:#define __FLT_HAS_INFINITY__ 1
337// ARM:#define __FLT_HAS_QUIET_NAN__ 1
338// ARM:#define __FLT_MANT_DIG__ 24
339// ARM:#define __FLT_MAX_10_EXP__ 38
340// ARM:#define __FLT_MAX_EXP__ 128
341// ARM:#define __FLT_MAX__ 3.40282347e+38F
342// ARM:#define __FLT_MIN_10_EXP__ (-37)
343// ARM:#define __FLT_MIN_EXP__ (-125)
344// ARM:#define __FLT_MIN__ 1.17549435e-38F
345// ARM:#define __FLT_RADIX__ 2
346// ARM:#define __INT16_TYPE__ short
347// ARM:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +0000348// ARM:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +0000349// ARM:#define __INT64_TYPE__ long long int
350// ARM:#define __INT8_TYPE__ char
351// ARM:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +0000352// ARM:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +0000353// ARM:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +0000354// ARM:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +0000355// ARM:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000356// ARM:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000357// ARM:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +0000358// ARM:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000359// ARM:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +0000360// ARM:#define __LDBL_HAS_DENORM__ 1
361// ARM:#define __LDBL_HAS_INFINITY__ 1
362// ARM:#define __LDBL_HAS_QUIET_NAN__ 1
363// ARM:#define __LDBL_MANT_DIG__ 53
364// ARM:#define __LDBL_MAX_10_EXP__ 308
365// ARM:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000366// ARM:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +0000367// ARM:#define __LDBL_MIN_10_EXP__ (-307)
368// ARM:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000369// ARM:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnere963d092009-10-29 04:55:36 +0000370// ARM:#define __LITTLE_ENDIAN__ 1
371// ARM:#define __LONG_LONG_MAX__ 9223372036854775807LL
372// ARM:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000373// ARM-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +0000374// ARM:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000375// ARM:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +0000376// ARM:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbaracde99e2009-12-18 18:42:37 +0000377// ARM:#define __REGISTER_PREFIX__
Chris Lattnere963d092009-10-29 04:55:36 +0000378// ARM:#define __SCHAR_MAX__ 127
379// ARM:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +0000380// ARM:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +0000381// ARM:#define __SIZEOF_DOUBLE__ 8
382// ARM:#define __SIZEOF_FLOAT__ 4
383// ARM:#define __SIZEOF_INT__ 4
384// ARM:#define __SIZEOF_LONG_DOUBLE__ 8
385// ARM:#define __SIZEOF_LONG_LONG__ 8
386// ARM:#define __SIZEOF_LONG__ 4
387// ARM:#define __SIZEOF_POINTER__ 4
388// ARM:#define __SIZEOF_PTRDIFF_T__ 4
389// ARM:#define __SIZEOF_SHORT__ 2
390// ARM:#define __SIZEOF_SIZE_T__ 4
391// ARM:#define __SIZEOF_WCHAR_T__ 4
392// ARM:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000393// ARM:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +0000394// ARM:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +0000395// ARM:#define __SIZE_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000396// ARM:#define __THUMB_INTERWORK__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +0000397// ARM:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000398// ARM:#define __USER_LABEL_PREFIX__ _
James Molloyc445be42011-11-23 13:35:08 +0000399// ARM:#define __WCHAR_MAX__ 4294967295U
400// ARM:#define __WCHAR_TYPE__ unsigned int
Ken Dyck0138b9e2009-11-19 15:47:58 +0000401// ARM:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000402// ARM:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +0000403// ARM:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000404// ARM:#define __arm 1
405// ARM:#define __arm__ 1
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000406
407// 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
408//
409// ARM-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +0000410// ARMEABISOFTFP:#define __ALIGNOF_MAX_ALIGN_T__ 8
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000411// ARMEABISOFTFP:#define __APCS_32__ 1
412// ARMEABISOFTFP:#define __ARMEL__ 1
413// ARMEABISOFTFP:#define __ARM_ARCH 6
414// ARMEABISOFTFP:#define __ARM_ARCH_6J__ 1
415// ARMEABISOFTFP:#define __ARM_EABI__ 1
416// ARMEABISOFTFP:#define __ARM_PCS 1
417// ARMEABISOFTFP-NOT:#define __ARM_PCS_VFP 1
418// ARMEABISOFTFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
419// ARMEABISOFTFP:#define __CHAR16_TYPE__ unsigned short
420// ARMEABISOFTFP:#define __CHAR32_TYPE__ unsigned int
421// ARMEABISOFTFP:#define __CHAR_BIT__ 8
422// ARMEABISOFTFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
423// ARMEABISOFTFP:#define __DBL_DIG__ 15
424// ARMEABISOFTFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
425// ARMEABISOFTFP:#define __DBL_HAS_DENORM__ 1
426// ARMEABISOFTFP:#define __DBL_HAS_INFINITY__ 1
427// ARMEABISOFTFP:#define __DBL_HAS_QUIET_NAN__ 1
428// ARMEABISOFTFP:#define __DBL_MANT_DIG__ 53
429// ARMEABISOFTFP:#define __DBL_MAX_10_EXP__ 308
430// ARMEABISOFTFP:#define __DBL_MAX_EXP__ 1024
431// ARMEABISOFTFP:#define __DBL_MAX__ 1.7976931348623157e+308
432// ARMEABISOFTFP:#define __DBL_MIN_10_EXP__ (-307)
433// ARMEABISOFTFP:#define __DBL_MIN_EXP__ (-1021)
434// ARMEABISOFTFP:#define __DBL_MIN__ 2.2250738585072014e-308
435// ARMEABISOFTFP:#define __DECIMAL_DIG__ 17
436// ARMEABISOFTFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
437// ARMEABISOFTFP:#define __FLT_DIG__ 6
438// ARMEABISOFTFP:#define __FLT_EPSILON__ 1.19209290e-7F
439// ARMEABISOFTFP:#define __FLT_EVAL_METHOD__ 0
440// ARMEABISOFTFP:#define __FLT_HAS_DENORM__ 1
441// ARMEABISOFTFP:#define __FLT_HAS_INFINITY__ 1
442// ARMEABISOFTFP:#define __FLT_HAS_QUIET_NAN__ 1
443// ARMEABISOFTFP:#define __FLT_MANT_DIG__ 24
444// ARMEABISOFTFP:#define __FLT_MAX_10_EXP__ 38
445// ARMEABISOFTFP:#define __FLT_MAX_EXP__ 128
446// ARMEABISOFTFP:#define __FLT_MAX__ 3.40282347e+38F
447// ARMEABISOFTFP:#define __FLT_MIN_10_EXP__ (-37)
448// ARMEABISOFTFP:#define __FLT_MIN_EXP__ (-125)
449// ARMEABISOFTFP:#define __FLT_MIN__ 1.17549435e-38F
450// ARMEABISOFTFP:#define __FLT_RADIX__ 2
451// ARMEABISOFTFP:#define __INT16_TYPE__ short
452// ARMEABISOFTFP:#define __INT32_TYPE__ int
453// ARMEABISOFTFP:#define __INT64_C_SUFFIX__ LL
454// ARMEABISOFTFP:#define __INT64_TYPE__ long long int
455// ARMEABISOFTFP:#define __INT8_TYPE__ char
456// ARMEABISOFTFP:#define __INTMAX_MAX__ 9223372036854775807LL
457// ARMEABISOFTFP:#define __INTMAX_TYPE__ long long int
458// ARMEABISOFTFP:#define __INTMAX_WIDTH__ 64
459// ARMEABISOFTFP:#define __INTPTR_TYPE__ long int
460// ARMEABISOFTFP:#define __INTPTR_WIDTH__ 32
461// ARMEABISOFTFP:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000462// ARMEABISOFTFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000463// ARMEABISOFTFP:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000464// ARMEABISOFTFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000465// ARMEABISOFTFP:#define __LDBL_HAS_DENORM__ 1
466// ARMEABISOFTFP:#define __LDBL_HAS_INFINITY__ 1
467// ARMEABISOFTFP:#define __LDBL_HAS_QUIET_NAN__ 1
468// ARMEABISOFTFP:#define __LDBL_MANT_DIG__ 53
469// ARMEABISOFTFP:#define __LDBL_MAX_10_EXP__ 308
470// ARMEABISOFTFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000471// ARMEABISOFTFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000472// ARMEABISOFTFP:#define __LDBL_MIN_10_EXP__ (-307)
473// ARMEABISOFTFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000474// ARMEABISOFTFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000475// ARMEABISOFTFP:#define __LITTLE_ENDIAN__ 1
476// ARMEABISOFTFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
477// ARMEABISOFTFP:#define __LONG_MAX__ 2147483647L
478// ARMEABISOFTFP-NOT:#define __LP64__
479// ARMEABISOFTFP:#define __POINTER_WIDTH__ 32
480// ARMEABISOFTFP:#define __PTRDIFF_TYPE__ int
481// ARMEABISOFTFP:#define __PTRDIFF_WIDTH__ 32
482// ARMEABISOFTFP:#define __REGISTER_PREFIX__
483// ARMEABISOFTFP:#define __SCHAR_MAX__ 127
484// ARMEABISOFTFP:#define __SHRT_MAX__ 32767
485// ARMEABISOFTFP:#define __SIG_ATOMIC_WIDTH__ 32
486// ARMEABISOFTFP:#define __SIZEOF_DOUBLE__ 8
487// ARMEABISOFTFP:#define __SIZEOF_FLOAT__ 4
488// ARMEABISOFTFP:#define __SIZEOF_INT__ 4
489// ARMEABISOFTFP:#define __SIZEOF_LONG_DOUBLE__ 8
490// ARMEABISOFTFP:#define __SIZEOF_LONG_LONG__ 8
491// ARMEABISOFTFP:#define __SIZEOF_LONG__ 4
492// ARMEABISOFTFP:#define __SIZEOF_POINTER__ 4
493// ARMEABISOFTFP:#define __SIZEOF_PTRDIFF_T__ 4
494// ARMEABISOFTFP:#define __SIZEOF_SHORT__ 2
495// ARMEABISOFTFP:#define __SIZEOF_SIZE_T__ 4
496// ARMEABISOFTFP:#define __SIZEOF_WCHAR_T__ 4
497// ARMEABISOFTFP:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000498// ARMEABISOFTFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000499// ARMEABISOFTFP:#define __SIZE_TYPE__ unsigned int
500// ARMEABISOFTFP:#define __SIZE_WIDTH__ 32
501// ARMEABISOFTFP:#define __SOFTFP__ 1
502// ARMEABISOFTFP:#define __THUMB_INTERWORK__ 1
503// ARMEABISOFTFP:#define __UINTMAX_TYPE__ long long unsigned int
504// ARMEABISOFTFP:#define __USER_LABEL_PREFIX__
505// ARMEABISOFTFP:#define __WCHAR_MAX__ 4294967295U
506// ARMEABISOFTFP:#define __WCHAR_TYPE__ unsigned int
507// ARMEABISOFTFP:#define __WCHAR_WIDTH__ 32
508// ARMEABISOFTFP:#define __WINT_TYPE__ unsigned int
509// ARMEABISOFTFP:#define __WINT_WIDTH__ 32
510// ARMEABISOFTFP:#define __arm 1
511// ARMEABISOFTFP:#define __arm__ 1
512
513// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-linux-gnueabi < /dev/null | FileCheck -check-prefix ARMEABIHARDFP %s
514//
515// ARM-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +0000516// ARMEABIHARDFP:#define __ALIGNOF_MAX_ALIGN_T__ 8
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000517// ARMEABIHARDFP:#define __APCS_32__ 1
518// ARMEABIHARDFP:#define __ARMEL__ 1
519// ARMEABIHARDFP:#define __ARM_ARCH 6
520// ARMEABIHARDFP:#define __ARM_ARCH_6J__ 1
521// ARMEABIHARDFP:#define __ARM_EABI__ 1
522// ARMEABIHARDFP:#define __ARM_PCS 1
523// ARMEABIHARDFP:#define __ARM_PCS_VFP 1
524// ARMEABIHARDFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
525// ARMEABIHARDFP:#define __CHAR16_TYPE__ unsigned short
526// ARMEABIHARDFP:#define __CHAR32_TYPE__ unsigned int
527// ARMEABIHARDFP:#define __CHAR_BIT__ 8
528// ARMEABIHARDFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
529// ARMEABIHARDFP:#define __DBL_DIG__ 15
530// ARMEABIHARDFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
531// ARMEABIHARDFP:#define __DBL_HAS_DENORM__ 1
532// ARMEABIHARDFP:#define __DBL_HAS_INFINITY__ 1
533// ARMEABIHARDFP:#define __DBL_HAS_QUIET_NAN__ 1
534// ARMEABIHARDFP:#define __DBL_MANT_DIG__ 53
535// ARMEABIHARDFP:#define __DBL_MAX_10_EXP__ 308
536// ARMEABIHARDFP:#define __DBL_MAX_EXP__ 1024
537// ARMEABIHARDFP:#define __DBL_MAX__ 1.7976931348623157e+308
538// ARMEABIHARDFP:#define __DBL_MIN_10_EXP__ (-307)
539// ARMEABIHARDFP:#define __DBL_MIN_EXP__ (-1021)
540// ARMEABIHARDFP:#define __DBL_MIN__ 2.2250738585072014e-308
541// ARMEABIHARDFP:#define __DECIMAL_DIG__ 17
542// ARMEABIHARDFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
543// ARMEABIHARDFP:#define __FLT_DIG__ 6
544// ARMEABIHARDFP:#define __FLT_EPSILON__ 1.19209290e-7F
545// ARMEABIHARDFP:#define __FLT_EVAL_METHOD__ 0
546// ARMEABIHARDFP:#define __FLT_HAS_DENORM__ 1
547// ARMEABIHARDFP:#define __FLT_HAS_INFINITY__ 1
548// ARMEABIHARDFP:#define __FLT_HAS_QUIET_NAN__ 1
549// ARMEABIHARDFP:#define __FLT_MANT_DIG__ 24
550// ARMEABIHARDFP:#define __FLT_MAX_10_EXP__ 38
551// ARMEABIHARDFP:#define __FLT_MAX_EXP__ 128
552// ARMEABIHARDFP:#define __FLT_MAX__ 3.40282347e+38F
553// ARMEABIHARDFP:#define __FLT_MIN_10_EXP__ (-37)
554// ARMEABIHARDFP:#define __FLT_MIN_EXP__ (-125)
555// ARMEABIHARDFP:#define __FLT_MIN__ 1.17549435e-38F
556// ARMEABIHARDFP:#define __FLT_RADIX__ 2
557// ARMEABIHARDFP:#define __INT16_TYPE__ short
558// ARMEABIHARDFP:#define __INT32_TYPE__ int
559// ARMEABIHARDFP:#define __INT64_C_SUFFIX__ LL
560// ARMEABIHARDFP:#define __INT64_TYPE__ long long int
561// ARMEABIHARDFP:#define __INT8_TYPE__ char
562// ARMEABIHARDFP:#define __INTMAX_MAX__ 9223372036854775807LL
563// ARMEABIHARDFP:#define __INTMAX_TYPE__ long long int
564// ARMEABIHARDFP:#define __INTMAX_WIDTH__ 64
565// ARMEABIHARDFP:#define __INTPTR_TYPE__ long int
566// ARMEABIHARDFP:#define __INTPTR_WIDTH__ 32
567// ARMEABIHARDFP:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000568// ARMEABIHARDFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000569// ARMEABIHARDFP:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000570// ARMEABIHARDFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000571// ARMEABIHARDFP:#define __LDBL_HAS_DENORM__ 1
572// ARMEABIHARDFP:#define __LDBL_HAS_INFINITY__ 1
573// ARMEABIHARDFP:#define __LDBL_HAS_QUIET_NAN__ 1
574// ARMEABIHARDFP:#define __LDBL_MANT_DIG__ 53
575// ARMEABIHARDFP:#define __LDBL_MAX_10_EXP__ 308
576// ARMEABIHARDFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000577// ARMEABIHARDFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000578// ARMEABIHARDFP:#define __LDBL_MIN_10_EXP__ (-307)
579// ARMEABIHARDFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000580// ARMEABIHARDFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000581// ARMEABIHARDFP:#define __LITTLE_ENDIAN__ 1
582// ARMEABIHARDFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
583// ARMEABIHARDFP:#define __LONG_MAX__ 2147483647L
584// ARMEABIHARDFP-NOT:#define __LP64__
585// ARMEABIHARDFP:#define __POINTER_WIDTH__ 32
586// ARMEABIHARDFP:#define __PTRDIFF_TYPE__ int
587// ARMEABIHARDFP:#define __PTRDIFF_WIDTH__ 32
588// ARMEABIHARDFP:#define __REGISTER_PREFIX__
589// ARMEABIHARDFP:#define __SCHAR_MAX__ 127
590// ARMEABIHARDFP:#define __SHRT_MAX__ 32767
591// ARMEABIHARDFP:#define __SIG_ATOMIC_WIDTH__ 32
592// ARMEABIHARDFP:#define __SIZEOF_DOUBLE__ 8
593// ARMEABIHARDFP:#define __SIZEOF_FLOAT__ 4
594// ARMEABIHARDFP:#define __SIZEOF_INT__ 4
595// ARMEABIHARDFP:#define __SIZEOF_LONG_DOUBLE__ 8
596// ARMEABIHARDFP:#define __SIZEOF_LONG_LONG__ 8
597// ARMEABIHARDFP:#define __SIZEOF_LONG__ 4
598// ARMEABIHARDFP:#define __SIZEOF_POINTER__ 4
599// ARMEABIHARDFP:#define __SIZEOF_PTRDIFF_T__ 4
600// ARMEABIHARDFP:#define __SIZEOF_SHORT__ 2
601// ARMEABIHARDFP:#define __SIZEOF_SIZE_T__ 4
602// ARMEABIHARDFP:#define __SIZEOF_WCHAR_T__ 4
603// ARMEABIHARDFP:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000604// ARMEABIHARDFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000605// ARMEABIHARDFP:#define __SIZE_TYPE__ unsigned int
606// ARMEABIHARDFP:#define __SIZE_WIDTH__ 32
607// ARMEABIHARDFP-NOT:#define __SOFTFP__ 1
608// ARMEABIHARDFP:#define __THUMB_INTERWORK__ 1
609// ARMEABIHARDFP:#define __UINTMAX_TYPE__ long long unsigned int
610// ARMEABIHARDFP:#define __USER_LABEL_PREFIX__
611// ARMEABIHARDFP:#define __WCHAR_MAX__ 4294967295U
612// ARMEABIHARDFP:#define __WCHAR_TYPE__ unsigned int
613// ARMEABIHARDFP:#define __WCHAR_WIDTH__ 32
614// ARMEABIHARDFP:#define __WINT_TYPE__ unsigned int
615// ARMEABIHARDFP:#define __WINT_WIDTH__ 32
616// ARMEABIHARDFP:#define __arm 1
617// ARMEABIHARDFP:#define __arm__ 1
618
Tim Northovere77f78c2013-11-11 19:11:22 +0000619// RUN: %clang -target arm -arch armv7s -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
620// RUN: %clang -target arm -arch armv6m -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
621// RUN: %clang -target arm -arch armv7m -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
622// RUN: %clang -target arm -arch armv7em -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
623// RUN: %clang -target thumbv7-apple-darwin-eabi -arch armv7 -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
624// ARM-DARWIN-NO-EABI-NOT: #define __ARM_EABI__ 1
625
Silviu Barangaf9671dd2013-10-21 10:54:53 +0000626// Check that -mhwdiv works properly for targets which don't have the hwdiv feature enabled by default.
627
628// RUN: %clang -target arm -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-ARM %s
629// ARMHWDIV-ARM:#define __ARM_ARCH_EXT_IDIV__ 1
630
631// RUN: %clang -target arm -mthumb -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-THUMB %s
632// THUMBHWDIV-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1
633
634// RUN: %clang -target arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-FALSE %s
635// ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
636
637// RUN: %clang -target arm -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMB-FALSE %s
638// THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
639
640// RUN: %clang -target arm -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-ARM-FALSE %s
641// THUMBHWDIV-ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
642
643// RUN: %clang -target arm -mthumb -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-THUMB-FALSE %s
644// ARMHWDIV-THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
645
Weiming Zhaofb5c21a2014-01-22 18:42:13 +0000646// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armv8-none-none < /dev/null | FileCheck -check-prefix ARMv8 %s
647// ARMv8: #define __THUMB_INTERWORK__ 1
648// ARMv8-NOT: #define __thumb2__
649
650// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv8 < /dev/null | FileCheck -check-prefix Thumbv8 %s
651// Thumbv8: #define __THUMB_INTERWORK__ 1
652// Thumbv8: #define __thumb2__
653
654// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv5 < /dev/null | FileCheck -check-prefix Thumbv5 %s
655// Thumbv5: #define __THUMB_INTERWORK__ 1
656// Thumbv5-NOT: #define __thumb2__
657
658// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv6t2 < /dev/null | FileCheck -check-prefix Thumbv6t2 %s
659// Thumbv6t2: #define __THUMB_INTERWORK__ 1
660// Thumbv6t2: #define __thumb2__
661
662// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv7 < /dev/null | FileCheck -check-prefix Thumbv7 %s
663// Thumbv7: #define __THUMB_INTERWORK__ 1
664// Thumbv7: #define __thumb2__
665
Chris Lattnere963d092009-10-29 04:55:36 +0000666//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000667// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
Chris Lattnere963d092009-10-29 04:55:36 +0000668//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000669// I386-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +0000670// I386:#define __ALIGNOF_MAX_ALIGN_T__ 16
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000671// I386:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +0000672// I386:#define __CHAR16_TYPE__ unsigned short
673// I386:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000674// I386:#define __CHAR_BIT__ 8
675// I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
676// I386:#define __DBL_DIG__ 15
677// I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
678// I386:#define __DBL_HAS_DENORM__ 1
679// I386:#define __DBL_HAS_INFINITY__ 1
680// I386:#define __DBL_HAS_QUIET_NAN__ 1
681// I386:#define __DBL_MANT_DIG__ 53
682// I386:#define __DBL_MAX_10_EXP__ 308
683// I386:#define __DBL_MAX_EXP__ 1024
684// I386:#define __DBL_MAX__ 1.7976931348623157e+308
685// I386:#define __DBL_MIN_10_EXP__ (-307)
686// I386:#define __DBL_MIN_EXP__ (-1021)
687// I386:#define __DBL_MIN__ 2.2250738585072014e-308
688// I386:#define __DECIMAL_DIG__ 21
689// I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
690// I386:#define __FLT_DIG__ 6
691// I386:#define __FLT_EPSILON__ 1.19209290e-7F
Benjamin Kramercf501472011-12-28 15:47:06 +0000692// I386:#define __FLT_EVAL_METHOD__ 2
Chris Lattnere963d092009-10-29 04:55:36 +0000693// I386:#define __FLT_HAS_DENORM__ 1
694// I386:#define __FLT_HAS_INFINITY__ 1
695// I386:#define __FLT_HAS_QUIET_NAN__ 1
696// I386:#define __FLT_MANT_DIG__ 24
697// I386:#define __FLT_MAX_10_EXP__ 38
698// I386:#define __FLT_MAX_EXP__ 128
699// I386:#define __FLT_MAX__ 3.40282347e+38F
700// I386:#define __FLT_MIN_10_EXP__ (-37)
701// I386:#define __FLT_MIN_EXP__ (-125)
702// I386:#define __FLT_MIN__ 1.17549435e-38F
703// I386:#define __FLT_RADIX__ 2
704// I386:#define __INT16_TYPE__ short
705// I386:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +0000706// I386:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +0000707// I386:#define __INT64_TYPE__ long long int
708// I386:#define __INT8_TYPE__ char
709// I386:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +0000710// I386:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +0000711// I386:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +0000712// I386:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +0000713// I386:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000714// I386:#define __INT_MAX__ 2147483647
715// I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
716// I386:#define __LDBL_DIG__ 18
717// I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
718// I386:#define __LDBL_HAS_DENORM__ 1
719// I386:#define __LDBL_HAS_INFINITY__ 1
720// I386:#define __LDBL_HAS_QUIET_NAN__ 1
721// I386:#define __LDBL_MANT_DIG__ 64
722// I386:#define __LDBL_MAX_10_EXP__ 4932
723// I386:#define __LDBL_MAX_EXP__ 16384
724// I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
725// I386:#define __LDBL_MIN_10_EXP__ (-4931)
726// I386:#define __LDBL_MIN_EXP__ (-16381)
727// I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
728// I386:#define __LITTLE_ENDIAN__ 1
729// I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
730// I386:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000731// I386-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +0000732// I386:#define __NO_MATH_INLINES 1
733// I386:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000734// I386:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +0000735// I386:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000736// I386:#define __REGISTER_PREFIX__
737// I386:#define __SCHAR_MAX__ 127
738// I386:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +0000739// I386:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +0000740// I386:#define __SIZEOF_DOUBLE__ 8
741// I386:#define __SIZEOF_FLOAT__ 4
742// I386:#define __SIZEOF_INT__ 4
743// I386:#define __SIZEOF_LONG_DOUBLE__ 12
744// I386:#define __SIZEOF_LONG_LONG__ 8
745// I386:#define __SIZEOF_LONG__ 4
746// I386:#define __SIZEOF_POINTER__ 4
747// I386:#define __SIZEOF_PTRDIFF_T__ 4
748// I386:#define __SIZEOF_SHORT__ 2
749// I386:#define __SIZEOF_SIZE_T__ 4
750// I386:#define __SIZEOF_WCHAR_T__ 4
751// I386:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000752// I386:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +0000753// I386:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +0000754// I386:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000755// I386:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000756// I386:#define __USER_LABEL_PREFIX__ _
757// I386:#define __WCHAR_MAX__ 2147483647
758// I386:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +0000759// I386:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000760// I386:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +0000761// I386:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000762// I386:#define __i386 1
763// I386:#define __i386__ 1
Chris Lattnere963d092009-10-29 04:55:36 +0000764// I386:#define i386 1
765//
Benjamin Kramercf501472011-12-28 15:47:06 +0000766// 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 +0000767//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000768// I386-LINUX-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +0000769// I386-LINUX:#define __ALIGNOF_MAX_ALIGN_T__ 16
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000770// I386-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregore6d6e512011-01-12 21:19:25 +0000771// I386-LINUX:#define __CHAR16_TYPE__ unsigned short
772// I386-LINUX:#define __CHAR32_TYPE__ unsigned int
773// I386-LINUX:#define __CHAR_BIT__ 8
774// I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
775// I386-LINUX:#define __DBL_DIG__ 15
776// I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
777// I386-LINUX:#define __DBL_HAS_DENORM__ 1
778// I386-LINUX:#define __DBL_HAS_INFINITY__ 1
779// I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
780// I386-LINUX:#define __DBL_MANT_DIG__ 53
781// I386-LINUX:#define __DBL_MAX_10_EXP__ 308
782// I386-LINUX:#define __DBL_MAX_EXP__ 1024
783// I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
784// I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
785// I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
786// I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
787// I386-LINUX:#define __DECIMAL_DIG__ 21
788// I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
789// I386-LINUX:#define __FLT_DIG__ 6
790// I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
791// I386-LINUX:#define __FLT_EVAL_METHOD__ 0
792// I386-LINUX:#define __FLT_HAS_DENORM__ 1
793// I386-LINUX:#define __FLT_HAS_INFINITY__ 1
794// I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
795// I386-LINUX:#define __FLT_MANT_DIG__ 24
796// I386-LINUX:#define __FLT_MAX_10_EXP__ 38
797// I386-LINUX:#define __FLT_MAX_EXP__ 128
798// I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
799// I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
800// I386-LINUX:#define __FLT_MIN_EXP__ (-125)
801// I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
802// I386-LINUX:#define __FLT_RADIX__ 2
803// I386-LINUX:#define __INT16_TYPE__ short
804// I386-LINUX:#define __INT32_TYPE__ int
805// I386-LINUX:#define __INT64_C_SUFFIX__ LL
806// I386-LINUX:#define __INT64_TYPE__ long long int
807// I386-LINUX:#define __INT8_TYPE__ char
808// I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
809// I386-LINUX:#define __INTMAX_TYPE__ long long int
810// I386-LINUX:#define __INTMAX_WIDTH__ 64
811// I386-LINUX:#define __INTPTR_TYPE__ int
812// I386-LINUX:#define __INTPTR_WIDTH__ 32
813// I386-LINUX:#define __INT_MAX__ 2147483647
814// I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
815// I386-LINUX:#define __LDBL_DIG__ 18
816// I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
817// I386-LINUX:#define __LDBL_HAS_DENORM__ 1
818// I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
819// I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
820// I386-LINUX:#define __LDBL_MANT_DIG__ 64
821// I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
822// I386-LINUX:#define __LDBL_MAX_EXP__ 16384
823// I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
824// I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
825// I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
826// I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
827// I386-LINUX:#define __LITTLE_ENDIAN__ 1
828// I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
829// I386-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000830// I386-LINUX-NOT:#define __LP64__
Douglas Gregore6d6e512011-01-12 21:19:25 +0000831// I386-LINUX:#define __NO_MATH_INLINES 1
832// I386-LINUX:#define __POINTER_WIDTH__ 32
833// I386-LINUX:#define __PTRDIFF_TYPE__ int
834// I386-LINUX:#define __PTRDIFF_WIDTH__ 32
835// I386-LINUX:#define __REGISTER_PREFIX__
836// I386-LINUX:#define __SCHAR_MAX__ 127
837// I386-LINUX:#define __SHRT_MAX__ 32767
838// I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
839// I386-LINUX:#define __SIZEOF_DOUBLE__ 8
840// I386-LINUX:#define __SIZEOF_FLOAT__ 4
841// I386-LINUX:#define __SIZEOF_INT__ 4
842// I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
843// I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
844// I386-LINUX:#define __SIZEOF_LONG__ 4
845// I386-LINUX:#define __SIZEOF_POINTER__ 4
846// I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
847// I386-LINUX:#define __SIZEOF_SHORT__ 2
848// I386-LINUX:#define __SIZEOF_SIZE_T__ 4
849// I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
850// I386-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000851// I386-LINUX:#define __SIZE_MAX__ 4294967295U
Douglas Gregore6d6e512011-01-12 21:19:25 +0000852// I386-LINUX:#define __SIZE_TYPE__ unsigned int
853// I386-LINUX:#define __SIZE_WIDTH__ 32
854// I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
855// I386-LINUX:#define __USER_LABEL_PREFIX__
856// I386-LINUX:#define __WCHAR_MAX__ 2147483647
857// I386-LINUX:#define __WCHAR_TYPE__ int
858// I386-LINUX:#define __WCHAR_WIDTH__ 32
859// I386-LINUX:#define __WINT_TYPE__ unsigned int
860// I386-LINUX:#define __WINT_WIDTH__ 32
861// I386-LINUX:#define __i386 1
862// I386-LINUX:#define __i386__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +0000863// I386-LINUX:#define i386 1
864//
Joerg Sonnenberger0e921f22013-11-11 14:00:37 +0000865// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd < /dev/null | FileCheck -check-prefix I386-NETBSD %s
866//
867// I386-NETBSD-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +0000868// I386-NETBSD:#define __ALIGNOF_MAX_ALIGN_T__ 16
Joerg Sonnenberger0e921f22013-11-11 14:00:37 +0000869// I386-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
870// I386-NETBSD:#define __CHAR16_TYPE__ unsigned short
871// I386-NETBSD:#define __CHAR32_TYPE__ unsigned int
872// I386-NETBSD:#define __CHAR_BIT__ 8
873// I386-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
874// I386-NETBSD:#define __DBL_DIG__ 15
875// I386-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
876// I386-NETBSD:#define __DBL_HAS_DENORM__ 1
877// I386-NETBSD:#define __DBL_HAS_INFINITY__ 1
878// I386-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
879// I386-NETBSD:#define __DBL_MANT_DIG__ 53
880// I386-NETBSD:#define __DBL_MAX_10_EXP__ 308
881// I386-NETBSD:#define __DBL_MAX_EXP__ 1024
882// I386-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
883// I386-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
884// I386-NETBSD:#define __DBL_MIN_EXP__ (-1021)
885// I386-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
886// I386-NETBSD:#define __DECIMAL_DIG__ 21
887// I386-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
888// I386-NETBSD:#define __FLT_DIG__ 6
889// I386-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
890// I386-NETBSD:#define __FLT_EVAL_METHOD__ 2
891// I386-NETBSD:#define __FLT_HAS_DENORM__ 1
892// I386-NETBSD:#define __FLT_HAS_INFINITY__ 1
893// I386-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
894// I386-NETBSD:#define __FLT_MANT_DIG__ 24
895// I386-NETBSD:#define __FLT_MAX_10_EXP__ 38
896// I386-NETBSD:#define __FLT_MAX_EXP__ 128
897// I386-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
898// I386-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
899// I386-NETBSD:#define __FLT_MIN_EXP__ (-125)
900// I386-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
901// I386-NETBSD:#define __FLT_RADIX__ 2
902// I386-NETBSD:#define __INT16_TYPE__ short
903// I386-NETBSD:#define __INT32_TYPE__ int
904// I386-NETBSD:#define __INT64_C_SUFFIX__ LL
905// I386-NETBSD:#define __INT64_TYPE__ long long int
906// I386-NETBSD:#define __INT8_TYPE__ char
907// I386-NETBSD:#define __INTMAX_MAX__ 9223372036854775807LL
908// I386-NETBSD:#define __INTMAX_TYPE__ long long int
909// I386-NETBSD:#define __INTMAX_WIDTH__ 64
910// I386-NETBSD:#define __INTPTR_TYPE__ int
911// I386-NETBSD:#define __INTPTR_WIDTH__ 32
912// I386-NETBSD:#define __INT_MAX__ 2147483647
913// I386-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
914// I386-NETBSD:#define __LDBL_DIG__ 18
915// I386-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
916// I386-NETBSD:#define __LDBL_HAS_DENORM__ 1
917// I386-NETBSD:#define __LDBL_HAS_INFINITY__ 1
918// I386-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
919// I386-NETBSD:#define __LDBL_MANT_DIG__ 64
920// I386-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
921// I386-NETBSD:#define __LDBL_MAX_EXP__ 16384
922// I386-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
923// I386-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
924// I386-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
925// I386-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
926// I386-NETBSD:#define __LITTLE_ENDIAN__ 1
927// I386-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
928// I386-NETBSD:#define __LONG_MAX__ 2147483647L
929// I386-NETBSD-NOT:#define __LP64__
930// I386-NETBSD:#define __NO_MATH_INLINES 1
931// I386-NETBSD:#define __POINTER_WIDTH__ 32
932// I386-NETBSD:#define __PTRDIFF_TYPE__ int
933// I386-NETBSD:#define __PTRDIFF_WIDTH__ 32
934// I386-NETBSD:#define __REGISTER_PREFIX__
935// I386-NETBSD:#define __SCHAR_MAX__ 127
936// I386-NETBSD:#define __SHRT_MAX__ 32767
937// I386-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
938// I386-NETBSD:#define __SIZEOF_DOUBLE__ 8
939// I386-NETBSD:#define __SIZEOF_FLOAT__ 4
940// I386-NETBSD:#define __SIZEOF_INT__ 4
941// I386-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 12
942// I386-NETBSD:#define __SIZEOF_LONG_LONG__ 8
943// I386-NETBSD:#define __SIZEOF_LONG__ 4
944// I386-NETBSD:#define __SIZEOF_POINTER__ 4
945// I386-NETBSD:#define __SIZEOF_PTRDIFF_T__ 4
946// I386-NETBSD:#define __SIZEOF_SHORT__ 2
947// I386-NETBSD:#define __SIZEOF_SIZE_T__ 4
948// I386-NETBSD:#define __SIZEOF_WCHAR_T__ 4
949// I386-NETBSD:#define __SIZEOF_WINT_T__ 4
950// I386-NETBSD:#define __SIZE_MAX__ 4294967295U
951// I386-NETBSD:#define __SIZE_TYPE__ unsigned int
952// I386-NETBSD:#define __SIZE_WIDTH__ 32
953// I386-NETBSD:#define __UINTMAX_TYPE__ long long unsigned int
954// I386-NETBSD:#define __USER_LABEL_PREFIX__
955// I386-NETBSD:#define __WCHAR_MAX__ 2147483647
956// I386-NETBSD:#define __WCHAR_TYPE__ int
957// I386-NETBSD:#define __WCHAR_WIDTH__ 32
958// I386-NETBSD:#define __WINT_TYPE__ int
959// I386-NETBSD:#define __WINT_WIDTH__ 32
960// I386-NETBSD:#define __i386 1
961// I386-NETBSD:#define __i386__ 1
962// I386-NETBSD:#define i386 1
963//
964// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD-SSE %s
965// I386-NETBSD-SSE:#define __FLT_EVAL_METHOD__ 0
966// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 < /dev/null | FileCheck -check-prefix I386-NETBSD6 %s
967// I386-NETBSD6:#define __FLT_EVAL_METHOD__ 1
968// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD6-SSE %s
969// I386-NETBSD6-SSE:#define __FLT_EVAL_METHOD__ 1
970
971//
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000972// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none < /dev/null | FileCheck -check-prefix MIPS32BE %s
973//
974// MIPS32BE:#define MIPSEB 1
975// MIPS32BE:#define _ABIO32 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000976// MIPS32BE-NOT:#define _LP64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000977// MIPS32BE:#define _MIPSEB 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +0000978// MIPS32BE:#define _MIPS_ARCH "mips32r2"
979// MIPS32BE:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +0000980// MIPS32BE:#define _MIPS_FPSET 16
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000981// MIPS32BE:#define _MIPS_SIM _ABIO32
982// MIPS32BE:#define _MIPS_SZINT 32
983// MIPS32BE:#define _MIPS_SZLONG 32
984// MIPS32BE:#define _MIPS_SZPTR 32
David Majnemer158ba132014-02-09 05:30:48 +0000985// MIPS32BE:#define __ALIGNOF_MAX_ALIGN_T__ 8
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000986// MIPS32BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000987// MIPS32BE:#define __CHAR16_TYPE__ unsigned short
988// MIPS32BE:#define __CHAR32_TYPE__ unsigned int
989// MIPS32BE:#define __CHAR_BIT__ 8
990// MIPS32BE:#define __CONSTANT_CFSTRINGS__ 1
991// MIPS32BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
992// MIPS32BE:#define __DBL_DIG__ 15
993// MIPS32BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
994// MIPS32BE:#define __DBL_HAS_DENORM__ 1
995// MIPS32BE:#define __DBL_HAS_INFINITY__ 1
996// MIPS32BE:#define __DBL_HAS_QUIET_NAN__ 1
997// MIPS32BE:#define __DBL_MANT_DIG__ 53
998// MIPS32BE:#define __DBL_MAX_10_EXP__ 308
999// MIPS32BE:#define __DBL_MAX_EXP__ 1024
1000// MIPS32BE:#define __DBL_MAX__ 1.7976931348623157e+308
1001// MIPS32BE:#define __DBL_MIN_10_EXP__ (-307)
1002// MIPS32BE:#define __DBL_MIN_EXP__ (-1021)
1003// MIPS32BE:#define __DBL_MIN__ 2.2250738585072014e-308
1004// MIPS32BE:#define __DECIMAL_DIG__ 17
1005// MIPS32BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1006// MIPS32BE:#define __FLT_DIG__ 6
1007// MIPS32BE:#define __FLT_EPSILON__ 1.19209290e-7F
1008// MIPS32BE:#define __FLT_EVAL_METHOD__ 0
1009// MIPS32BE:#define __FLT_HAS_DENORM__ 1
1010// MIPS32BE:#define __FLT_HAS_INFINITY__ 1
1011// MIPS32BE:#define __FLT_HAS_QUIET_NAN__ 1
1012// MIPS32BE:#define __FLT_MANT_DIG__ 24
1013// MIPS32BE:#define __FLT_MAX_10_EXP__ 38
1014// MIPS32BE:#define __FLT_MAX_EXP__ 128
1015// MIPS32BE:#define __FLT_MAX__ 3.40282347e+38F
1016// MIPS32BE:#define __FLT_MIN_10_EXP__ (-37)
1017// MIPS32BE:#define __FLT_MIN_EXP__ (-125)
1018// MIPS32BE:#define __FLT_MIN__ 1.17549435e-38F
1019// MIPS32BE:#define __FLT_RADIX__ 2
1020// MIPS32BE:#define __INT16_TYPE__ short
1021// MIPS32BE:#define __INT32_TYPE__ int
1022// MIPS32BE:#define __INT64_C_SUFFIX__ LL
1023// MIPS32BE:#define __INT64_TYPE__ long long int
1024// MIPS32BE:#define __INT8_TYPE__ char
1025// MIPS32BE:#define __INTMAX_MAX__ 9223372036854775807LL
1026// MIPS32BE:#define __INTMAX_TYPE__ long long int
1027// MIPS32BE:#define __INTMAX_WIDTH__ 64
1028// MIPS32BE:#define __INTPTR_TYPE__ long int
1029// MIPS32BE:#define __INTPTR_WIDTH__ 32
1030// MIPS32BE:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001031// MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001032// MIPS32BE:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001033// MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001034// MIPS32BE:#define __LDBL_HAS_DENORM__ 1
1035// MIPS32BE:#define __LDBL_HAS_INFINITY__ 1
1036// MIPS32BE:#define __LDBL_HAS_QUIET_NAN__ 1
1037// MIPS32BE:#define __LDBL_MANT_DIG__ 53
1038// MIPS32BE:#define __LDBL_MAX_10_EXP__ 308
1039// MIPS32BE:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001040// MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001041// MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307)
1042// MIPS32BE:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001043// MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001044// MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1045// MIPS32BE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001046// MIPS32BE-NOT:#define __LP64__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001047// MIPS32BE:#define __MIPSEB 1
1048// MIPS32BE:#define __MIPSEB__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001049// MIPS32BE:#define __POINTER_WIDTH__ 32
1050// MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1
1051// MIPS32BE:#define __PTRDIFF_TYPE__ int
1052// MIPS32BE:#define __PTRDIFF_WIDTH__ 32
1053// MIPS32BE:#define __REGISTER_PREFIX__
1054// MIPS32BE:#define __SCHAR_MAX__ 127
1055// MIPS32BE:#define __SHRT_MAX__ 32767
1056// MIPS32BE:#define __SIG_ATOMIC_WIDTH__ 32
1057// MIPS32BE:#define __SIZEOF_DOUBLE__ 8
1058// MIPS32BE:#define __SIZEOF_FLOAT__ 4
1059// MIPS32BE:#define __SIZEOF_INT__ 4
1060// MIPS32BE:#define __SIZEOF_LONG_DOUBLE__ 8
1061// MIPS32BE:#define __SIZEOF_LONG_LONG__ 8
1062// MIPS32BE:#define __SIZEOF_LONG__ 4
1063// MIPS32BE:#define __SIZEOF_POINTER__ 4
1064// MIPS32BE:#define __SIZEOF_PTRDIFF_T__ 4
1065// MIPS32BE:#define __SIZEOF_SHORT__ 2
1066// MIPS32BE:#define __SIZEOF_SIZE_T__ 4
1067// MIPS32BE:#define __SIZEOF_WCHAR_T__ 4
1068// MIPS32BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001069// MIPS32BE:#define __SIZE_MAX__ 4294967295U
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001070// MIPS32BE:#define __SIZE_TYPE__ unsigned int
1071// MIPS32BE:#define __SIZE_WIDTH__ 32
1072// MIPS32BE:#define __STDC_HOSTED__ 0
1073// MIPS32BE:#define __STDC_VERSION__ 199901L
1074// MIPS32BE:#define __STDC__ 1
1075// MIPS32BE:#define __UINTMAX_TYPE__ long long unsigned int
1076// MIPS32BE:#define __USER_LABEL_PREFIX__ _
1077// MIPS32BE:#define __WCHAR_MAX__ 2147483647
1078// MIPS32BE:#define __WCHAR_TYPE__ int
1079// MIPS32BE:#define __WCHAR_WIDTH__ 32
1080// MIPS32BE:#define __WINT_TYPE__ int
1081// MIPS32BE:#define __WINT_WIDTH__ 32
1082// MIPS32BE:#define __clang__ 1
1083// MIPS32BE:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001084// MIPS32BE:#define __mips 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001085// MIPS32BE:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001086// MIPS32BE:#define __mips_fpr 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001087// MIPS32BE:#define __mips_hard_float 1
1088// MIPS32BE:#define __mips_o32 1
1089// MIPS32BE:#define _mips 1
1090// MIPS32BE:#define mips 1
1091//
1092// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -check-prefix MIPS32EL %s
1093//
1094// MIPS32EL:#define MIPSEL 1
1095// MIPS32EL:#define _ABIO32 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001096// MIPS32EL-NOT:#define _LP64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001097// MIPS32EL:#define _MIPSEL 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001098// MIPS32EL:#define _MIPS_ARCH "mips32r2"
1099// MIPS32EL:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001100// MIPS32EL:#define _MIPS_FPSET 16
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001101// MIPS32EL:#define _MIPS_SIM _ABIO32
1102// MIPS32EL:#define _MIPS_SZINT 32
1103// MIPS32EL:#define _MIPS_SZLONG 32
1104// MIPS32EL:#define _MIPS_SZPTR 32
David Majnemer158ba132014-02-09 05:30:48 +00001105// MIPS32EL:#define __ALIGNOF_MAX_ALIGN_T__ 8
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001106// MIPS32EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001107// MIPS32EL:#define __CHAR16_TYPE__ unsigned short
1108// MIPS32EL:#define __CHAR32_TYPE__ unsigned int
1109// MIPS32EL:#define __CHAR_BIT__ 8
1110// MIPS32EL:#define __CONSTANT_CFSTRINGS__ 1
1111// MIPS32EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1112// MIPS32EL:#define __DBL_DIG__ 15
1113// MIPS32EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1114// MIPS32EL:#define __DBL_HAS_DENORM__ 1
1115// MIPS32EL:#define __DBL_HAS_INFINITY__ 1
1116// MIPS32EL:#define __DBL_HAS_QUIET_NAN__ 1
1117// MIPS32EL:#define __DBL_MANT_DIG__ 53
1118// MIPS32EL:#define __DBL_MAX_10_EXP__ 308
1119// MIPS32EL:#define __DBL_MAX_EXP__ 1024
1120// MIPS32EL:#define __DBL_MAX__ 1.7976931348623157e+308
1121// MIPS32EL:#define __DBL_MIN_10_EXP__ (-307)
1122// MIPS32EL:#define __DBL_MIN_EXP__ (-1021)
1123// MIPS32EL:#define __DBL_MIN__ 2.2250738585072014e-308
1124// MIPS32EL:#define __DECIMAL_DIG__ 17
1125// MIPS32EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1126// MIPS32EL:#define __FLT_DIG__ 6
1127// MIPS32EL:#define __FLT_EPSILON__ 1.19209290e-7F
1128// MIPS32EL:#define __FLT_EVAL_METHOD__ 0
1129// MIPS32EL:#define __FLT_HAS_DENORM__ 1
1130// MIPS32EL:#define __FLT_HAS_INFINITY__ 1
1131// MIPS32EL:#define __FLT_HAS_QUIET_NAN__ 1
1132// MIPS32EL:#define __FLT_MANT_DIG__ 24
1133// MIPS32EL:#define __FLT_MAX_10_EXP__ 38
1134// MIPS32EL:#define __FLT_MAX_EXP__ 128
1135// MIPS32EL:#define __FLT_MAX__ 3.40282347e+38F
1136// MIPS32EL:#define __FLT_MIN_10_EXP__ (-37)
1137// MIPS32EL:#define __FLT_MIN_EXP__ (-125)
1138// MIPS32EL:#define __FLT_MIN__ 1.17549435e-38F
1139// MIPS32EL:#define __FLT_RADIX__ 2
1140// MIPS32EL:#define __INT16_TYPE__ short
1141// MIPS32EL:#define __INT32_TYPE__ int
1142// MIPS32EL:#define __INT64_C_SUFFIX__ LL
1143// MIPS32EL:#define __INT64_TYPE__ long long int
1144// MIPS32EL:#define __INT8_TYPE__ char
1145// MIPS32EL:#define __INTMAX_MAX__ 9223372036854775807LL
1146// MIPS32EL:#define __INTMAX_TYPE__ long long int
1147// MIPS32EL:#define __INTMAX_WIDTH__ 64
1148// MIPS32EL:#define __INTPTR_TYPE__ long int
1149// MIPS32EL:#define __INTPTR_WIDTH__ 32
1150// MIPS32EL:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001151// MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001152// MIPS32EL:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001153// MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001154// MIPS32EL:#define __LDBL_HAS_DENORM__ 1
1155// MIPS32EL:#define __LDBL_HAS_INFINITY__ 1
1156// MIPS32EL:#define __LDBL_HAS_QUIET_NAN__ 1
1157// MIPS32EL:#define __LDBL_MANT_DIG__ 53
1158// MIPS32EL:#define __LDBL_MAX_10_EXP__ 308
1159// MIPS32EL:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001160// MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001161// MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307)
1162// MIPS32EL:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001163// MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001164// MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1165// MIPS32EL:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001166// MIPS32EL-NOT:#define __LP64__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001167// MIPS32EL:#define __MIPSEL 1
1168// MIPS32EL:#define __MIPSEL__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001169// MIPS32EL:#define __POINTER_WIDTH__ 32
1170// MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1171// MIPS32EL:#define __PTRDIFF_TYPE__ int
1172// MIPS32EL:#define __PTRDIFF_WIDTH__ 32
1173// MIPS32EL:#define __REGISTER_PREFIX__
1174// MIPS32EL:#define __SCHAR_MAX__ 127
1175// MIPS32EL:#define __SHRT_MAX__ 32767
1176// MIPS32EL:#define __SIG_ATOMIC_WIDTH__ 32
1177// MIPS32EL:#define __SIZEOF_DOUBLE__ 8
1178// MIPS32EL:#define __SIZEOF_FLOAT__ 4
1179// MIPS32EL:#define __SIZEOF_INT__ 4
1180// MIPS32EL:#define __SIZEOF_LONG_DOUBLE__ 8
1181// MIPS32EL:#define __SIZEOF_LONG_LONG__ 8
1182// MIPS32EL:#define __SIZEOF_LONG__ 4
1183// MIPS32EL:#define __SIZEOF_POINTER__ 4
1184// MIPS32EL:#define __SIZEOF_PTRDIFF_T__ 4
1185// MIPS32EL:#define __SIZEOF_SHORT__ 2
1186// MIPS32EL:#define __SIZEOF_SIZE_T__ 4
1187// MIPS32EL:#define __SIZEOF_WCHAR_T__ 4
1188// MIPS32EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001189// MIPS32EL:#define __SIZE_MAX__ 4294967295U
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001190// MIPS32EL:#define __SIZE_TYPE__ unsigned int
1191// MIPS32EL:#define __SIZE_WIDTH__ 32
1192// MIPS32EL:#define __UINTMAX_TYPE__ long long unsigned int
1193// MIPS32EL:#define __USER_LABEL_PREFIX__ _
1194// MIPS32EL:#define __WCHAR_MAX__ 2147483647
1195// MIPS32EL:#define __WCHAR_TYPE__ int
1196// MIPS32EL:#define __WCHAR_WIDTH__ 32
1197// MIPS32EL:#define __WINT_TYPE__ int
1198// MIPS32EL:#define __WINT_WIDTH__ 32
1199// MIPS32EL:#define __clang__ 1
1200// MIPS32EL:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001201// MIPS32EL:#define __mips 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001202// MIPS32EL:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001203// MIPS32EL:#define __mips_fpr 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001204// MIPS32EL:#define __mips_hard_float 1
1205// MIPS32EL:#define __mips_o32 1
1206// MIPS32EL:#define _mips 1
1207// MIPS32EL:#define mips 1
1208//
1209// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -check-prefix MIPS64BE %s
1210//
1211// MIPS64BE:#define MIPSEB 1
1212// MIPS64BE:#define _ABI64 3
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001213// MIPS64BE:#define _LP64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001214// MIPS64BE:#define _MIPSEB 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001215// MIPS64BE:#define _MIPS_ARCH "mips64r2"
1216// MIPS64BE:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001217// MIPS64BE:#define _MIPS_FPSET 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001218// MIPS64BE:#define _MIPS_SIM _ABI64
1219// MIPS64BE:#define _MIPS_SZINT 32
1220// MIPS64BE:#define _MIPS_SZLONG 64
1221// MIPS64BE:#define _MIPS_SZPTR 64
David Majnemer158ba132014-02-09 05:30:48 +00001222// MIPS64BE:#define __ALIGNOF_MAX_ALIGN_T__ 16
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001223// MIPS64BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001224// MIPS64BE:#define __CHAR16_TYPE__ unsigned short
1225// MIPS64BE:#define __CHAR32_TYPE__ unsigned int
1226// MIPS64BE:#define __CHAR_BIT__ 8
1227// MIPS64BE:#define __CONSTANT_CFSTRINGS__ 1
1228// MIPS64BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1229// MIPS64BE:#define __DBL_DIG__ 15
1230// MIPS64BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
1231// MIPS64BE:#define __DBL_HAS_DENORM__ 1
1232// MIPS64BE:#define __DBL_HAS_INFINITY__ 1
1233// MIPS64BE:#define __DBL_HAS_QUIET_NAN__ 1
1234// MIPS64BE:#define __DBL_MANT_DIG__ 53
1235// MIPS64BE:#define __DBL_MAX_10_EXP__ 308
1236// MIPS64BE:#define __DBL_MAX_EXP__ 1024
1237// MIPS64BE:#define __DBL_MAX__ 1.7976931348623157e+308
1238// MIPS64BE:#define __DBL_MIN_10_EXP__ (-307)
1239// MIPS64BE:#define __DBL_MIN_EXP__ (-1021)
1240// MIPS64BE:#define __DBL_MIN__ 2.2250738585072014e-308
1241// MIPS64BE:#define __DECIMAL_DIG__ 36
1242// MIPS64BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1243// MIPS64BE:#define __FLT_DIG__ 6
1244// MIPS64BE:#define __FLT_EPSILON__ 1.19209290e-7F
1245// MIPS64BE:#define __FLT_EVAL_METHOD__ 0
1246// MIPS64BE:#define __FLT_HAS_DENORM__ 1
1247// MIPS64BE:#define __FLT_HAS_INFINITY__ 1
1248// MIPS64BE:#define __FLT_HAS_QUIET_NAN__ 1
1249// MIPS64BE:#define __FLT_MANT_DIG__ 24
1250// MIPS64BE:#define __FLT_MAX_10_EXP__ 38
1251// MIPS64BE:#define __FLT_MAX_EXP__ 128
1252// MIPS64BE:#define __FLT_MAX__ 3.40282347e+38F
1253// MIPS64BE:#define __FLT_MIN_10_EXP__ (-37)
1254// MIPS64BE:#define __FLT_MIN_EXP__ (-125)
1255// MIPS64BE:#define __FLT_MIN__ 1.17549435e-38F
1256// MIPS64BE:#define __FLT_RADIX__ 2
1257// MIPS64BE:#define __INT16_TYPE__ short
1258// MIPS64BE:#define __INT32_TYPE__ int
1259// MIPS64BE:#define __INT64_C_SUFFIX__ LL
1260// MIPS64BE:#define __INT64_TYPE__ long long int
1261// MIPS64BE:#define __INT8_TYPE__ char
1262// MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807LL
1263// MIPS64BE:#define __INTMAX_TYPE__ long long int
1264// MIPS64BE:#define __INTMAX_WIDTH__ 64
1265// MIPS64BE:#define __INTPTR_TYPE__ long int
1266// MIPS64BE:#define __INTPTR_WIDTH__ 64
1267// MIPS64BE:#define __INT_MAX__ 2147483647
1268// MIPS64BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1269// MIPS64BE:#define __LDBL_DIG__ 33
1270// MIPS64BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1271// MIPS64BE:#define __LDBL_HAS_DENORM__ 1
1272// MIPS64BE:#define __LDBL_HAS_INFINITY__ 1
1273// MIPS64BE:#define __LDBL_HAS_QUIET_NAN__ 1
1274// MIPS64BE:#define __LDBL_MANT_DIG__ 113
1275// MIPS64BE:#define __LDBL_MAX_10_EXP__ 4932
1276// MIPS64BE:#define __LDBL_MAX_EXP__ 16384
1277// MIPS64BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1278// MIPS64BE:#define __LDBL_MIN_10_EXP__ (-4931)
1279// MIPS64BE:#define __LDBL_MIN_EXP__ (-16381)
1280// MIPS64BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1281// MIPS64BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1282// MIPS64BE:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001283// MIPS64BE:#define __LP64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001284// MIPS64BE:#define __MIPSEB 1
1285// MIPS64BE:#define __MIPSEB__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001286// MIPS64BE:#define __POINTER_WIDTH__ 64
1287// MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1
1288// MIPS64BE:#define __PTRDIFF_TYPE__ long int
1289// MIPS64BE:#define __PTRDIFF_WIDTH__ 64
1290// MIPS64BE:#define __REGISTER_PREFIX__
1291// MIPS64BE:#define __SCHAR_MAX__ 127
1292// MIPS64BE:#define __SHRT_MAX__ 32767
1293// MIPS64BE:#define __SIG_ATOMIC_WIDTH__ 32
1294// MIPS64BE:#define __SIZEOF_DOUBLE__ 8
1295// MIPS64BE:#define __SIZEOF_FLOAT__ 4
1296// MIPS64BE:#define __SIZEOF_INT__ 4
1297// MIPS64BE:#define __SIZEOF_LONG_DOUBLE__ 16
1298// MIPS64BE:#define __SIZEOF_LONG_LONG__ 8
1299// MIPS64BE:#define __SIZEOF_LONG__ 8
1300// MIPS64BE:#define __SIZEOF_POINTER__ 8
1301// MIPS64BE:#define __SIZEOF_PTRDIFF_T__ 8
1302// MIPS64BE:#define __SIZEOF_SHORT__ 2
1303// MIPS64BE:#define __SIZEOF_SIZE_T__ 8
1304// MIPS64BE:#define __SIZEOF_WCHAR_T__ 4
1305// MIPS64BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001306// MIPS64BE:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001307// MIPS64BE:#define __SIZE_TYPE__ long unsigned int
1308// MIPS64BE:#define __SIZE_WIDTH__ 64
1309// MIPS64BE:#define __UINTMAX_TYPE__ long long unsigned int
1310// MIPS64BE:#define __USER_LABEL_PREFIX__ _
1311// MIPS64BE:#define __WCHAR_MAX__ 2147483647
1312// MIPS64BE:#define __WCHAR_TYPE__ int
1313// MIPS64BE:#define __WCHAR_WIDTH__ 32
1314// MIPS64BE:#define __WINT_TYPE__ int
1315// MIPS64BE:#define __WINT_WIDTH__ 32
1316// MIPS64BE:#define __clang__ 1
1317// MIPS64BE:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001318// MIPS64BE:#define __mips 64
Simon Atanasyanc6a0be02012-08-29 20:50:11 +00001319// MIPS64BE:#define __mips64 1
1320// MIPS64BE:#define __mips64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001321// MIPS64BE:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001322// MIPS64BE:#define __mips_fpr 64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001323// MIPS64BE:#define __mips_hard_float 1
1324// MIPS64BE:#define __mips_n64 1
1325// MIPS64BE:#define _mips 1
1326// MIPS64BE:#define mips 1
1327//
1328// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -check-prefix MIPS64EL %s
1329//
1330// MIPS64EL:#define MIPSEL 1
1331// MIPS64EL:#define _ABI64 3
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001332// MIPS64EL:#define _LP64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001333// MIPS64EL:#define _MIPSEL 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001334// MIPS64EL:#define _MIPS_ARCH "mips64r2"
1335// MIPS64EL:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001336// MIPS64EL:#define _MIPS_FPSET 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001337// MIPS64EL:#define _MIPS_SIM _ABI64
1338// MIPS64EL:#define _MIPS_SZINT 32
1339// MIPS64EL:#define _MIPS_SZLONG 64
1340// MIPS64EL:#define _MIPS_SZPTR 64
David Majnemer158ba132014-02-09 05:30:48 +00001341// MIPS64EL:#define __ALIGNOF_MAX_ALIGN_T__ 16
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001342// MIPS64EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001343// MIPS64EL:#define __CHAR16_TYPE__ unsigned short
1344// MIPS64EL:#define __CHAR32_TYPE__ unsigned int
1345// MIPS64EL:#define __CHAR_BIT__ 8
1346// MIPS64EL:#define __CONSTANT_CFSTRINGS__ 1
1347// MIPS64EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1348// MIPS64EL:#define __DBL_DIG__ 15
1349// MIPS64EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1350// MIPS64EL:#define __DBL_HAS_DENORM__ 1
1351// MIPS64EL:#define __DBL_HAS_INFINITY__ 1
1352// MIPS64EL:#define __DBL_HAS_QUIET_NAN__ 1
1353// MIPS64EL:#define __DBL_MANT_DIG__ 53
1354// MIPS64EL:#define __DBL_MAX_10_EXP__ 308
1355// MIPS64EL:#define __DBL_MAX_EXP__ 1024
1356// MIPS64EL:#define __DBL_MAX__ 1.7976931348623157e+308
1357// MIPS64EL:#define __DBL_MIN_10_EXP__ (-307)
1358// MIPS64EL:#define __DBL_MIN_EXP__ (-1021)
1359// MIPS64EL:#define __DBL_MIN__ 2.2250738585072014e-308
1360// MIPS64EL:#define __DECIMAL_DIG__ 36
1361// MIPS64EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1362// MIPS64EL:#define __FLT_DIG__ 6
1363// MIPS64EL:#define __FLT_EPSILON__ 1.19209290e-7F
1364// MIPS64EL:#define __FLT_EVAL_METHOD__ 0
1365// MIPS64EL:#define __FLT_HAS_DENORM__ 1
1366// MIPS64EL:#define __FLT_HAS_INFINITY__ 1
1367// MIPS64EL:#define __FLT_HAS_QUIET_NAN__ 1
1368// MIPS64EL:#define __FLT_MANT_DIG__ 24
1369// MIPS64EL:#define __FLT_MAX_10_EXP__ 38
1370// MIPS64EL:#define __FLT_MAX_EXP__ 128
1371// MIPS64EL:#define __FLT_MAX__ 3.40282347e+38F
1372// MIPS64EL:#define __FLT_MIN_10_EXP__ (-37)
1373// MIPS64EL:#define __FLT_MIN_EXP__ (-125)
1374// MIPS64EL:#define __FLT_MIN__ 1.17549435e-38F
1375// MIPS64EL:#define __FLT_RADIX__ 2
1376// MIPS64EL:#define __INT16_TYPE__ short
1377// MIPS64EL:#define __INT32_TYPE__ int
1378// MIPS64EL:#define __INT64_C_SUFFIX__ LL
1379// MIPS64EL:#define __INT64_TYPE__ long long int
1380// MIPS64EL:#define __INT8_TYPE__ char
1381// MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807LL
1382// MIPS64EL:#define __INTMAX_TYPE__ long long int
1383// MIPS64EL:#define __INTMAX_WIDTH__ 64
1384// MIPS64EL:#define __INTPTR_TYPE__ long int
1385// MIPS64EL:#define __INTPTR_WIDTH__ 64
1386// MIPS64EL:#define __INT_MAX__ 2147483647
1387// MIPS64EL:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1388// MIPS64EL:#define __LDBL_DIG__ 33
1389// MIPS64EL:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1390// MIPS64EL:#define __LDBL_HAS_DENORM__ 1
1391// MIPS64EL:#define __LDBL_HAS_INFINITY__ 1
1392// MIPS64EL:#define __LDBL_HAS_QUIET_NAN__ 1
1393// MIPS64EL:#define __LDBL_MANT_DIG__ 113
1394// MIPS64EL:#define __LDBL_MAX_10_EXP__ 4932
1395// MIPS64EL:#define __LDBL_MAX_EXP__ 16384
1396// MIPS64EL:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1397// MIPS64EL:#define __LDBL_MIN_10_EXP__ (-4931)
1398// MIPS64EL:#define __LDBL_MIN_EXP__ (-16381)
1399// MIPS64EL:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1400// MIPS64EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1401// MIPS64EL:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001402// MIPS64EL:#define __LP64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001403// MIPS64EL:#define __MIPSEL 1
1404// MIPS64EL:#define __MIPSEL__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001405// MIPS64EL:#define __POINTER_WIDTH__ 64
1406// MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1407// MIPS64EL:#define __PTRDIFF_TYPE__ long int
1408// MIPS64EL:#define __PTRDIFF_WIDTH__ 64
1409// MIPS64EL:#define __REGISTER_PREFIX__
1410// MIPS64EL:#define __SCHAR_MAX__ 127
1411// MIPS64EL:#define __SHRT_MAX__ 32767
1412// MIPS64EL:#define __SIG_ATOMIC_WIDTH__ 32
1413// MIPS64EL:#define __SIZEOF_DOUBLE__ 8
1414// MIPS64EL:#define __SIZEOF_FLOAT__ 4
1415// MIPS64EL:#define __SIZEOF_INT__ 4
1416// MIPS64EL:#define __SIZEOF_LONG_DOUBLE__ 16
1417// MIPS64EL:#define __SIZEOF_LONG_LONG__ 8
1418// MIPS64EL:#define __SIZEOF_LONG__ 8
1419// MIPS64EL:#define __SIZEOF_POINTER__ 8
1420// MIPS64EL:#define __SIZEOF_PTRDIFF_T__ 8
1421// MIPS64EL:#define __SIZEOF_SHORT__ 2
1422// MIPS64EL:#define __SIZEOF_SIZE_T__ 8
1423// MIPS64EL:#define __SIZEOF_WCHAR_T__ 4
1424// MIPS64EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001425// MIPS64EL:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001426// MIPS64EL:#define __SIZE_TYPE__ long unsigned int
1427// MIPS64EL:#define __SIZE_WIDTH__ 64
1428// MIPS64EL:#define __UINTMAX_TYPE__ long long unsigned int
1429// MIPS64EL:#define __USER_LABEL_PREFIX__ _
1430// MIPS64EL:#define __WCHAR_MAX__ 2147483647
1431// MIPS64EL:#define __WCHAR_TYPE__ int
1432// MIPS64EL:#define __WCHAR_WIDTH__ 32
1433// MIPS64EL:#define __WINT_TYPE__ int
1434// MIPS64EL:#define __WINT_WIDTH__ 32
1435// MIPS64EL:#define __clang__ 1
1436// MIPS64EL:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001437// MIPS64EL:#define __mips 64
Simon Atanasyanc6a0be02012-08-29 20:50:11 +00001438// MIPS64EL:#define __mips64 1
1439// MIPS64EL:#define __mips64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001440// MIPS64EL:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001441// MIPS64EL:#define __mips_fpr 64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001442// MIPS64EL:#define __mips_hard_float 1
1443// MIPS64EL:#define __mips_n64 1
1444// MIPS64EL:#define _mips 1
1445// MIPS64EL:#define mips 1
1446//
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001447// Check MIPS arch macros
1448//
1449// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
1450// RUN: < /dev/null \
1451// RUN: | FileCheck -check-prefix MIPS-ARCH-DEF32 %s
1452//
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001453// MIPS-ARCH-DEF32:#define _MIPS_ARCH "mips32r2"
1454// MIPS-ARCH-DEF32:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001455//
1456// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-nones \
1457// RUN: -target-cpu mips32 < /dev/null \
1458// RUN: | FileCheck -check-prefix MIPS-ARCH-32 %s
1459//
1460// MIPS-ARCH-32:#define _MIPS_ARCH "mips32"
1461// MIPS-ARCH-32:#define _MIPS_ARCH_MIPS32 1
1462//
1463// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
1464// RUN: -target-cpu mips32r2 < /dev/null \
1465// RUN: | FileCheck -check-prefix MIPS-ARCH-32R2 %s
1466//
1467// MIPS-ARCH-32R2:#define _MIPS_ARCH "mips32r2"
1468// MIPS-ARCH-32R2:#define _MIPS_ARCH_MIPS32R2 1
1469//
1470// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1471// RUN: < /dev/null \
1472// RUN: | FileCheck -check-prefix MIPS-ARCH-DEF64 %s
1473//
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001474// MIPS-ARCH-DEF64:#define _MIPS_ARCH "mips64r2"
1475// MIPS-ARCH-DEF64:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001476//
1477// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1478// RUN: -target-cpu mips64 < /dev/null \
1479// RUN: | FileCheck -check-prefix MIPS-ARCH-64 %s
1480//
1481// MIPS-ARCH-64:#define _MIPS_ARCH "mips64"
1482// MIPS-ARCH-64:#define _MIPS_ARCH_MIPS64 1
1483//
1484// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1485// RUN: -target-cpu mips64r2 < /dev/null \
1486// RUN: | FileCheck -check-prefix MIPS-ARCH-64R2 %s
1487//
1488// MIPS-ARCH-64R2:#define _MIPS_ARCH "mips64r2"
1489// MIPS-ARCH-64R2:#define _MIPS_ARCH_MIPS64R2 1
1490//
Simon Atanasyan5e21c802012-04-06 17:51:49 +00001491// Check MIPS float ABI macros
1492//
1493// RUN: %clang_cc1 -E -dM -ffreestanding \
1494// RUN: -triple=mips-none-none < /dev/null \
1495// RUN: | FileCheck -check-prefix MIPS-FABI-HARD %s
1496// MIPS-FABI-HARD:#define __mips_hard_float 1
1497//
1498// RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \
1499// RUN: -triple=mips-none-none < /dev/null \
1500// RUN: | FileCheck -check-prefix MIPS-FABI-SOFT %s
1501// MIPS-FABI-SOFT:#define __mips_soft_float 1
1502//
1503// RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \
1504// RUN: -triple=mips-none-none < /dev/null \
1505// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE %s
Simon Atanasyand3d173d2012-06-05 13:06:56 +00001506// MIPS-FABI-SINGLE:#define __mips_hard_float 1
Simon Atanasyan5e21c802012-04-06 17:51:49 +00001507// MIPS-FABI-SINGLE:#define __mips_single_float 1
1508//
Simon Atanasyan16071912013-04-14 14:07:30 +00001509// RUN: %clang_cc1 -target-feature +soft-float -target-feature +single-float \
1510// RUN: -E -dM -ffreestanding -triple=mips-none-none < /dev/null \
1511// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE-SOFT %s
1512// MIPS-FABI-SINGLE-SOFT:#define __mips_single_float 1
1513// MIPS-FABI-SINGLE-SOFT:#define __mips_soft_float 1
1514//
Simon Atanasyan72244b62012-07-05 16:06:06 +00001515// Check MIPS features macros
1516//
1517// RUN: %clang_cc1 -target-feature +mips16 \
1518// RUN: -E -dM -triple=mips-none-none < /dev/null \
1519// RUN: | FileCheck -check-prefix MIPS16 %s
1520// MIPS16:#define __mips16 1
1521//
1522// RUN: %clang_cc1 -target-feature -mips16 \
1523// RUN: -E -dM -triple=mips-none-none < /dev/null \
1524// RUN: | FileCheck -check-prefix NOMIPS16 %s
1525// NOMIPS16-NOT:#define __mips16 1
1526//
Simon Atanasyan60777612013-04-14 14:07:51 +00001527// RUN: %clang_cc1 -target-feature +micromips \
1528// RUN: -E -dM -triple=mips-none-none < /dev/null \
1529// RUN: | FileCheck -check-prefix MICROMIPS %s
1530// MICROMIPS:#define __mips_micromips 1
1531//
1532// RUN: %clang_cc1 -target-feature -micromips \
1533// RUN: -E -dM -triple=mips-none-none < /dev/null \
1534// RUN: | FileCheck -check-prefix NOMICROMIPS %s
1535// NOMICROMIPS-NOT:#define __mips_micromips 1
1536//
Simon Atanasyan9780e4a2012-07-05 20:16:22 +00001537// RUN: %clang_cc1 -target-feature +dsp \
1538// RUN: -E -dM -triple=mips-none-none < /dev/null \
1539// RUN: | FileCheck -check-prefix MIPS-DSP %s
1540// MIPS-DSP:#define __mips_dsp 1
1541// MIPS-DSP:#define __mips_dsp_rev 1
1542// MIPS-DSP-NOT:#define __mips_dspr2 1
1543//
1544// RUN: %clang_cc1 -target-feature +dspr2 \
1545// RUN: -E -dM -triple=mips-none-none < /dev/null \
1546// RUN: | FileCheck -check-prefix MIPS-DSPR2 %s
1547// MIPS-DSPR2:#define __mips_dsp 1
1548// MIPS-DSPR2:#define __mips_dsp_rev 2
1549// MIPS-DSPR2:#define __mips_dspr2 1
1550//
Jack Carter44ff1e52013-08-12 17:20:29 +00001551// RUN: %clang_cc1 -target-feature +msa \
1552// RUN: -E -dM -triple=mips-none-none < /dev/null \
1553// RUN: | FileCheck -check-prefix MIPS-MSA %s
1554// MIPS-MSA:#define __mips_msa 1
1555//
Simon Atanasyan22127ce2013-09-24 09:09:16 +00001556// RUN: %clang_cc1 -target-feature +nan2008 \
1557// RUN: -E -dM -triple=mips-none-none < /dev/null \
1558// RUN: | FileCheck -check-prefix MIPS-NAN2008 %s
1559// MIPS-NAN2008:#define __mips_nan2008 1
1560//
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001561// RUN: %clang_cc1 -target-feature -fp64 \
1562// RUN: -E -dM -triple=mips-none-none < /dev/null \
1563// RUN: | FileCheck -check-prefix MIPS32-MFP32 %s
1564// MIPS32-MFP32:#define _MIPS_FPSET 16
1565// MIPS32-MFP32:#define __mips_fpr 32
1566//
1567// RUN: %clang_cc1 -target-feature +fp64 \
1568// RUN: -E -dM -triple=mips-none-none < /dev/null \
1569// RUN: | FileCheck -check-prefix MIPS32-MFP64 %s
1570// MIPS32-MFP64:#define _MIPS_FPSET 32
1571// MIPS32-MFP64:#define __mips_fpr 64
1572//
1573// RUN: %clang_cc1 -target-feature +single-float \
1574// RUN: -E -dM -triple=mips-none-none < /dev/null \
1575// RUN: | FileCheck -check-prefix MIPS32-MFP32SF %s
1576// MIPS32-MFP32SF:#define _MIPS_FPSET 32
1577// MIPS32-MFP32SF:#define __mips_fpr 32
1578//
1579// RUN: %clang_cc1 -target-feature +fp64 \
1580// RUN: -E -dM -triple=mips64-none-none < /dev/null \
1581// RUN: | FileCheck -check-prefix MIPS64-MFP64 %s
1582// MIPS64-MFP64:#define _MIPS_FPSET 32
1583// MIPS64-MFP64:#define __mips_fpr 64
1584//
1585// RUN: %clang_cc1 -target-feature -fp64 -target-feature +single-float \
1586// RUN: -E -dM -triple=mips64-none-none < /dev/null \
1587// RUN: | FileCheck -check-prefix MIPS64-NOMFP64 %s
1588// MIPS64-NOMFP64:#define _MIPS_FPSET 32
1589// MIPS64-NOMFP64:#define __mips_fpr 32
1590//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00001591// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
Chris Lattnere963d092009-10-29 04:55:36 +00001592//
1593// MSP430:#define MSP430 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001594// MSP430-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +00001595// MPS430:#define __ALIGNOF_MAX_ALIGN_T__ 4
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001596// MSP430:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00001597// MSP430:#define __CHAR16_TYPE__ unsigned short
1598// MSP430:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001599// MSP430:#define __CHAR_BIT__ 8
1600// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1601// MSP430:#define __DBL_DIG__ 15
1602// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
1603// MSP430:#define __DBL_HAS_DENORM__ 1
1604// MSP430:#define __DBL_HAS_INFINITY__ 1
1605// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
1606// MSP430:#define __DBL_MANT_DIG__ 53
1607// MSP430:#define __DBL_MAX_10_EXP__ 308
1608// MSP430:#define __DBL_MAX_EXP__ 1024
1609// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
1610// MSP430:#define __DBL_MIN_10_EXP__ (-307)
1611// MSP430:#define __DBL_MIN_EXP__ (-1021)
1612// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
1613// MSP430:#define __DECIMAL_DIG__ 17
1614// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1615// MSP430:#define __FLT_DIG__ 6
1616// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
1617// MSP430:#define __FLT_EVAL_METHOD__ 0
1618// MSP430:#define __FLT_HAS_DENORM__ 1
1619// MSP430:#define __FLT_HAS_INFINITY__ 1
1620// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
1621// MSP430:#define __FLT_MANT_DIG__ 24
1622// MSP430:#define __FLT_MAX_10_EXP__ 38
1623// MSP430:#define __FLT_MAX_EXP__ 128
1624// MSP430:#define __FLT_MAX__ 3.40282347e+38F
1625// MSP430:#define __FLT_MIN_10_EXP__ (-37)
1626// MSP430:#define __FLT_MIN_EXP__ (-125)
1627// MSP430:#define __FLT_MIN__ 1.17549435e-38F
1628// MSP430:#define __FLT_RADIX__ 2
1629// MSP430:#define __INT16_TYPE__ short
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00001630// MSP430:#define __INT32_C_SUFFIX__ L
Chris Lattner55c98772009-11-12 08:08:27 +00001631// MSP430:#define __INT32_TYPE__ long int
Chris Lattnere963d092009-10-29 04:55:36 +00001632// MSP430:#define __INT8_TYPE__ char
Anton Korobeynikovef412902013-07-01 19:42:40 +00001633// MSP430:#define __INTMAX_MAX__ 9223372036854775807LL
1634// MSP430:#define __INTMAX_TYPE__ long long int
1635// MSP430:#define __INTMAX_WIDTH__ 64
1636// MSP430:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00001637// MSP430:#define __INTPTR_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001638// MSP430:#define __INT_MAX__ 32767
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001639// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00001640// MSP430:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001641// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +00001642// MSP430:#define __LDBL_HAS_DENORM__ 1
1643// MSP430:#define __LDBL_HAS_INFINITY__ 1
1644// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
1645// MSP430:#define __LDBL_MANT_DIG__ 53
1646// MSP430:#define __LDBL_MAX_10_EXP__ 308
1647// MSP430:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001648// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +00001649// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
1650// MSP430:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001651// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikov485810e2010-01-14 21:36:52 +00001652// MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
Chris Lattnere963d092009-10-29 04:55:36 +00001653// MSP430:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001654// MSP430-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00001655// MSP430:#define __MSP430__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00001656// MSP430:#define __POINTER_WIDTH__ 16
Ken Dyck9b25f782009-11-19 13:18:59 +00001657// MSP430:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00001658// MSP430:#define __PTRDIFF_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001659// MSP430:#define __SCHAR_MAX__ 127
1660// MSP430:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00001661// MSP430:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00001662// MSP430:#define __SIZEOF_DOUBLE__ 8
1663// MSP430:#define __SIZEOF_FLOAT__ 4
1664// MSP430:#define __SIZEOF_INT__ 2
1665// MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
1666// MSP430:#define __SIZEOF_LONG_LONG__ 8
1667// MSP430:#define __SIZEOF_LONG__ 4
1668// MSP430:#define __SIZEOF_POINTER__ 2
1669// MSP430:#define __SIZEOF_PTRDIFF_T__ 2
1670// MSP430:#define __SIZEOF_SHORT__ 2
1671// MSP430:#define __SIZEOF_SIZE_T__ 2
1672// MSP430:#define __SIZEOF_WCHAR_T__ 2
1673// MSP430:#define __SIZEOF_WINT_T__ 2
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001674// MSP430:#define __SIZE_MAX__ 65535U
Chris Lattnere963d092009-10-29 04:55:36 +00001675// MSP430:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00001676// MSP430:#define __SIZE_WIDTH__ 16
Anton Korobeynikovef412902013-07-01 19:42:40 +00001677// MSP430:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001678// MSP430:#define __USER_LABEL_PREFIX__ _
Chris Lattner0fb5bbd2009-11-12 08:04:33 +00001679// MSP430:#define __WCHAR_MAX__ 32767
Chris Lattnere963d092009-10-29 04:55:36 +00001680// MSP430:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00001681// MSP430:#define __WCHAR_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001682// MSP430:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00001683// MSP430:#define __WINT_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001684// MSP430:#define __clang__ 1
1685//
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001686// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s
1687//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001688// NVPTX32-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +00001689// NVPTX32:#define __ALIGNOF_MAX_ALIGN_T__ 8
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001690// NVPTX32:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001691// NVPTX32:#define __CHAR16_TYPE__ unsigned short
1692// NVPTX32:#define __CHAR32_TYPE__ unsigned int
1693// NVPTX32:#define __CHAR_BIT__ 8
1694// NVPTX32:#define __CONSTANT_CFSTRINGS__ 1
1695// NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1696// NVPTX32:#define __DBL_DIG__ 15
1697// NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16
1698// NVPTX32:#define __DBL_HAS_DENORM__ 1
1699// NVPTX32:#define __DBL_HAS_INFINITY__ 1
1700// NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1
1701// NVPTX32:#define __DBL_MANT_DIG__ 53
1702// NVPTX32:#define __DBL_MAX_10_EXP__ 308
1703// NVPTX32:#define __DBL_MAX_EXP__ 1024
1704// NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308
1705// NVPTX32:#define __DBL_MIN_10_EXP__ (-307)
1706// NVPTX32:#define __DBL_MIN_EXP__ (-1021)
1707// NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308
1708// NVPTX32:#define __DECIMAL_DIG__ 17
1709// NVPTX32:#define __FINITE_MATH_ONLY__ 0
1710// NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1711// NVPTX32:#define __FLT_DIG__ 6
1712// NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F
1713// NVPTX32:#define __FLT_EVAL_METHOD__ 0
1714// NVPTX32:#define __FLT_HAS_DENORM__ 1
1715// NVPTX32:#define __FLT_HAS_INFINITY__ 1
1716// NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1
1717// NVPTX32:#define __FLT_MANT_DIG__ 24
1718// NVPTX32:#define __FLT_MAX_10_EXP__ 38
1719// NVPTX32:#define __FLT_MAX_EXP__ 128
1720// NVPTX32:#define __FLT_MAX__ 3.40282347e+38F
1721// NVPTX32:#define __FLT_MIN_10_EXP__ (-37)
1722// NVPTX32:#define __FLT_MIN_EXP__ (-125)
1723// NVPTX32:#define __FLT_MIN__ 1.17549435e-38F
1724// NVPTX32:#define __FLT_RADIX__ 2
1725// NVPTX32:#define __INT16_TYPE__ short
1726// NVPTX32:#define __INT32_TYPE__ int
1727// NVPTX32:#define __INT64_C_SUFFIX__ LL
1728// NVPTX32:#define __INT64_TYPE__ long long int
1729// NVPTX32:#define __INT8_TYPE__ char
1730// NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL
1731// NVPTX32:#define __INTMAX_TYPE__ long long int
1732// NVPTX32:#define __INTMAX_WIDTH__ 64
1733// NVPTX32:#define __INTPTR_TYPE__ unsigned int
1734// NVPTX32:#define __INTPTR_WIDTH__ 32
1735// NVPTX32:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001736// NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001737// NVPTX32:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001738// NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001739// NVPTX32:#define __LDBL_HAS_DENORM__ 1
1740// NVPTX32:#define __LDBL_HAS_INFINITY__ 1
1741// NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1
1742// NVPTX32:#define __LDBL_MANT_DIG__ 53
1743// NVPTX32:#define __LDBL_MAX_10_EXP__ 308
1744// NVPTX32:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001745// NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001746// NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
1747// NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001748// NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001749// NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL
1750// NVPTX32:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001751// NVPTX32-NOT:#define __LP64__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001752// NVPTX32:#define __NVPTX__ 1
1753// NVPTX32:#define __POINTER_WIDTH__ 32
1754// NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1
1755// NVPTX32:#define __PTRDIFF_TYPE__ unsigned int
1756// NVPTX32:#define __PTRDIFF_WIDTH__ 32
1757// NVPTX32:#define __PTX__ 1
1758// NVPTX32:#define __SCHAR_MAX__ 127
1759// NVPTX32:#define __SHRT_MAX__ 32767
1760// NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32
1761// NVPTX32:#define __SIZEOF_DOUBLE__ 8
1762// NVPTX32:#define __SIZEOF_FLOAT__ 4
1763// NVPTX32:#define __SIZEOF_INT__ 4
1764// NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8
1765// NVPTX32:#define __SIZEOF_LONG_LONG__ 8
1766// NVPTX32:#define __SIZEOF_LONG__ 8
1767// NVPTX32:#define __SIZEOF_POINTER__ 4
1768// NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4
1769// NVPTX32:#define __SIZEOF_SHORT__ 2
1770// NVPTX32:#define __SIZEOF_SIZE_T__ 4
1771// NVPTX32:#define __SIZEOF_WCHAR_T__ 4
1772// NVPTX32:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001773// NVPTX32:#define __SIZE_MAX__ 4294967295U
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001774// NVPTX32:#define __SIZE_TYPE__ unsigned int
1775// NVPTX32:#define __SIZE_WIDTH__ 32
1776// NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int
1777// NVPTX32:#define __USER_LABEL_PREFIX__ _
1778// NVPTX32:#define __WCHAR_MAX__ 2147483647
1779// NVPTX32:#define __WCHAR_TYPE__ int
1780// NVPTX32:#define __WCHAR_WIDTH__ 32
1781// NVPTX32:#define __WINT_TYPE__ int
1782// NVPTX32:#define __WINT_WIDTH__ 32
1783//
1784// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -check-prefix NVPTX64 %s
1785//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001786// NVPTX64:#define _LP64 1
David Majnemer158ba132014-02-09 05:30:48 +00001787// NVPTX64:#define __ALIGNOF_MAX_ALIGN_T__ 8
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001788// NVPTX64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001789// NVPTX64:#define __CHAR16_TYPE__ unsigned short
1790// NVPTX64:#define __CHAR32_TYPE__ unsigned int
1791// NVPTX64:#define __CHAR_BIT__ 8
1792// NVPTX64:#define __CONSTANT_CFSTRINGS__ 1
1793// NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1794// NVPTX64:#define __DBL_DIG__ 15
1795// NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1796// NVPTX64:#define __DBL_HAS_DENORM__ 1
1797// NVPTX64:#define __DBL_HAS_INFINITY__ 1
1798// NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1
1799// NVPTX64:#define __DBL_MANT_DIG__ 53
1800// NVPTX64:#define __DBL_MAX_10_EXP__ 308
1801// NVPTX64:#define __DBL_MAX_EXP__ 1024
1802// NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308
1803// NVPTX64:#define __DBL_MIN_10_EXP__ (-307)
1804// NVPTX64:#define __DBL_MIN_EXP__ (-1021)
1805// NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308
1806// NVPTX64:#define __DECIMAL_DIG__ 17
1807// NVPTX64:#define __FINITE_MATH_ONLY__ 0
1808// NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1809// NVPTX64:#define __FLT_DIG__ 6
1810// NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F
1811// NVPTX64:#define __FLT_EVAL_METHOD__ 0
1812// NVPTX64:#define __FLT_HAS_DENORM__ 1
1813// NVPTX64:#define __FLT_HAS_INFINITY__ 1
1814// NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1
1815// NVPTX64:#define __FLT_MANT_DIG__ 24
1816// NVPTX64:#define __FLT_MAX_10_EXP__ 38
1817// NVPTX64:#define __FLT_MAX_EXP__ 128
1818// NVPTX64:#define __FLT_MAX__ 3.40282347e+38F
1819// NVPTX64:#define __FLT_MIN_10_EXP__ (-37)
1820// NVPTX64:#define __FLT_MIN_EXP__ (-125)
1821// NVPTX64:#define __FLT_MIN__ 1.17549435e-38F
1822// NVPTX64:#define __FLT_RADIX__ 2
1823// NVPTX64:#define __INT16_TYPE__ short
1824// NVPTX64:#define __INT32_TYPE__ int
1825// NVPTX64:#define __INT64_C_SUFFIX__ LL
1826// NVPTX64:#define __INT64_TYPE__ long long int
1827// NVPTX64:#define __INT8_TYPE__ char
1828// NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL
1829// NVPTX64:#define __INTMAX_TYPE__ long long int
1830// NVPTX64:#define __INTMAX_WIDTH__ 64
1831// NVPTX64:#define __INTPTR_TYPE__ long long unsigned int
1832// NVPTX64:#define __INTPTR_WIDTH__ 64
1833// NVPTX64:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001834// NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001835// NVPTX64:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001836// NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001837// NVPTX64:#define __LDBL_HAS_DENORM__ 1
1838// NVPTX64:#define __LDBL_HAS_INFINITY__ 1
1839// NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1
1840// NVPTX64:#define __LDBL_MANT_DIG__ 53
1841// NVPTX64:#define __LDBL_MAX_10_EXP__ 308
1842// NVPTX64:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001843// NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001844// NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
1845// NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001846// NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001847// NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1848// NVPTX64:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001849// NVPTX64:#define __LP64__ 1
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001850// NVPTX64:#define __NVPTX__ 1
1851// NVPTX64:#define __POINTER_WIDTH__ 64
1852// NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1
1853// NVPTX64:#define __PTRDIFF_TYPE__ long long unsigned int
1854// NVPTX64:#define __PTRDIFF_WIDTH__ 64
1855// NVPTX64:#define __PTX__ 1
1856// NVPTX64:#define __SCHAR_MAX__ 127
1857// NVPTX64:#define __SHRT_MAX__ 32767
1858// NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32
1859// NVPTX64:#define __SIZEOF_DOUBLE__ 8
1860// NVPTX64:#define __SIZEOF_FLOAT__ 4
1861// NVPTX64:#define __SIZEOF_INT__ 4
1862// NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8
1863// NVPTX64:#define __SIZEOF_LONG_LONG__ 8
1864// NVPTX64:#define __SIZEOF_LONG__ 8
1865// NVPTX64:#define __SIZEOF_POINTER__ 8
1866// NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8
1867// NVPTX64:#define __SIZEOF_SHORT__ 2
1868// NVPTX64:#define __SIZEOF_SIZE_T__ 8
1869// NVPTX64:#define __SIZEOF_WCHAR_T__ 4
1870// NVPTX64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001871// NVPTX64:#define __SIZE_MAX__ 18446744073709551615UL
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001872// NVPTX64:#define __SIZE_TYPE__ long long unsigned int
1873// NVPTX64:#define __SIZE_WIDTH__ 64
1874// NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int
1875// NVPTX64:#define __USER_LABEL_PREFIX__ _
1876// NVPTX64:#define __WCHAR_MAX__ 2147483647
1877// NVPTX64:#define __WCHAR_TYPE__ int
1878// NVPTX64:#define __WCHAR_WIDTH__ 32
1879// NVPTX64:#define __WINT_TYPE__ int
1880// NVPTX64:#define __WINT_WIDTH__ 32
1881//
Hal Finkel6b984f02012-07-03 16:51:04 +00001882// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -check-prefix PPC603E %s
1883//
1884// PPC603E:#define _ARCH_603 1
1885// PPC603E:#define _ARCH_603E 1
1886// PPC603E:#define _ARCH_PPC 1
1887// PPC603E:#define _ARCH_PPCGR 1
1888// PPC603E:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001889// PPC603E-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +00001890// PPC603E:#define __ALIGNOF_MAX_ALIGN_T__ 8
Hal Finkel6b984f02012-07-03 16:51:04 +00001891// PPC603E:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001892// PPC603E:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Hal Finkel6b984f02012-07-03 16:51:04 +00001893// PPC603E:#define __CHAR16_TYPE__ unsigned short
1894// PPC603E:#define __CHAR32_TYPE__ unsigned int
1895// PPC603E:#define __CHAR_BIT__ 8
1896// PPC603E:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1897// PPC603E:#define __DBL_DIG__ 15
1898// PPC603E:#define __DBL_EPSILON__ 2.2204460492503131e-16
1899// PPC603E:#define __DBL_HAS_DENORM__ 1
1900// PPC603E:#define __DBL_HAS_INFINITY__ 1
1901// PPC603E:#define __DBL_HAS_QUIET_NAN__ 1
1902// PPC603E:#define __DBL_MANT_DIG__ 53
1903// PPC603E:#define __DBL_MAX_10_EXP__ 308
1904// PPC603E:#define __DBL_MAX_EXP__ 1024
1905// PPC603E:#define __DBL_MAX__ 1.7976931348623157e+308
1906// PPC603E:#define __DBL_MIN_10_EXP__ (-307)
1907// PPC603E:#define __DBL_MIN_EXP__ (-1021)
1908// PPC603E:#define __DBL_MIN__ 2.2250738585072014e-308
1909// PPC603E:#define __DECIMAL_DIG__ 33
1910// PPC603E:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1911// PPC603E:#define __FLT_DIG__ 6
1912// PPC603E:#define __FLT_EPSILON__ 1.19209290e-7F
1913// PPC603E:#define __FLT_EVAL_METHOD__ 0
1914// PPC603E:#define __FLT_HAS_DENORM__ 1
1915// PPC603E:#define __FLT_HAS_INFINITY__ 1
1916// PPC603E:#define __FLT_HAS_QUIET_NAN__ 1
1917// PPC603E:#define __FLT_MANT_DIG__ 24
1918// PPC603E:#define __FLT_MAX_10_EXP__ 38
1919// PPC603E:#define __FLT_MAX_EXP__ 128
1920// PPC603E:#define __FLT_MAX__ 3.40282347e+38F
1921// PPC603E:#define __FLT_MIN_10_EXP__ (-37)
1922// PPC603E:#define __FLT_MIN_EXP__ (-125)
1923// PPC603E:#define __FLT_MIN__ 1.17549435e-38F
1924// PPC603E:#define __FLT_RADIX__ 2
1925// PPC603E:#define __INT16_TYPE__ short
1926// PPC603E:#define __INT32_TYPE__ int
1927// PPC603E:#define __INT64_C_SUFFIX__ LL
1928// PPC603E:#define __INT64_TYPE__ long long int
1929// PPC603E:#define __INT8_TYPE__ char
1930// PPC603E:#define __INTMAX_MAX__ 9223372036854775807LL
1931// PPC603E:#define __INTMAX_TYPE__ long long int
1932// PPC603E:#define __INTMAX_WIDTH__ 64
1933// PPC603E:#define __INTPTR_TYPE__ long int
1934// PPC603E:#define __INTPTR_WIDTH__ 32
1935// PPC603E:#define __INT_MAX__ 2147483647
1936// PPC603E:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1937// PPC603E:#define __LDBL_DIG__ 31
1938// PPC603E:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1939// PPC603E:#define __LDBL_HAS_DENORM__ 1
1940// PPC603E:#define __LDBL_HAS_INFINITY__ 1
1941// PPC603E:#define __LDBL_HAS_QUIET_NAN__ 1
1942// PPC603E:#define __LDBL_MANT_DIG__ 106
1943// PPC603E:#define __LDBL_MAX_10_EXP__ 308
1944// PPC603E:#define __LDBL_MAX_EXP__ 1024
1945// PPC603E:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1946// PPC603E:#define __LDBL_MIN_10_EXP__ (-291)
1947// PPC603E:#define __LDBL_MIN_EXP__ (-968)
1948// PPC603E:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1949// PPC603E:#define __LONG_DOUBLE_128__ 1
1950// PPC603E:#define __LONG_LONG_MAX__ 9223372036854775807LL
1951// PPC603E:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001952// PPC603E-NOT:#define __LP64__
Hal Finkel6b984f02012-07-03 16:51:04 +00001953// PPC603E:#define __NATURAL_ALIGNMENT__ 1
Hal Finkel6b984f02012-07-03 16:51:04 +00001954// PPC603E:#define __POINTER_WIDTH__ 32
1955// PPC603E:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00001956// PPC603E:#define __PPC__ 1
Hal Finkel6b984f02012-07-03 16:51:04 +00001957// PPC603E:#define __PTRDIFF_TYPE__ long int
1958// PPC603E:#define __PTRDIFF_WIDTH__ 32
1959// PPC603E:#define __REGISTER_PREFIX__
1960// PPC603E:#define __SCHAR_MAX__ 127
1961// PPC603E:#define __SHRT_MAX__ 32767
1962// PPC603E:#define __SIG_ATOMIC_WIDTH__ 32
1963// PPC603E:#define __SIZEOF_DOUBLE__ 8
1964// PPC603E:#define __SIZEOF_FLOAT__ 4
1965// PPC603E:#define __SIZEOF_INT__ 4
1966// PPC603E:#define __SIZEOF_LONG_DOUBLE__ 16
1967// PPC603E:#define __SIZEOF_LONG_LONG__ 8
1968// PPC603E:#define __SIZEOF_LONG__ 4
1969// PPC603E:#define __SIZEOF_POINTER__ 4
1970// PPC603E:#define __SIZEOF_PTRDIFF_T__ 4
1971// PPC603E:#define __SIZEOF_SHORT__ 2
1972// PPC603E:#define __SIZEOF_SIZE_T__ 4
1973// PPC603E:#define __SIZEOF_WCHAR_T__ 4
1974// PPC603E:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001975// PPC603E:#define __SIZE_MAX__ 4294967295U
Hal Finkel6b984f02012-07-03 16:51:04 +00001976// PPC603E:#define __SIZE_TYPE__ long unsigned int
1977// PPC603E:#define __SIZE_WIDTH__ 32
1978// PPC603E:#define __UINTMAX_TYPE__ long long unsigned int
1979// PPC603E:#define __USER_LABEL_PREFIX__ _
1980// PPC603E:#define __WCHAR_MAX__ 2147483647
1981// PPC603E:#define __WCHAR_TYPE__ int
1982// PPC603E:#define __WCHAR_WIDTH__ 32
1983// PPC603E:#define __WINT_TYPE__ int
1984// PPC603E:#define __WINT_WIDTH__ 32
1985// PPC603E:#define __powerpc__ 1
1986// PPC603E:#define __ppc__ 1
1987//
Hal Finkel8eb59282012-06-11 22:35:19 +00001988// 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 +00001989//
1990// PPC64:#define _ARCH_PPC 1
1991// PPC64:#define _ARCH_PPC64 1
Hal Finkel6b984f02012-07-03 16:51:04 +00001992// PPC64:#define _ARCH_PPCGR 1
1993// PPC64:#define _ARCH_PPCSQ 1
1994// PPC64:#define _ARCH_PWR4 1
1995// PPC64:#define _ARCH_PWR5 1
1996// PPC64:#define _ARCH_PWR6 1
Hal Finkel8eb59282012-06-11 22:35:19 +00001997// PPC64:#define _ARCH_PWR7 1
Chris Lattnere963d092009-10-29 04:55:36 +00001998// PPC64:#define _BIG_ENDIAN 1
1999// PPC64:#define _LP64 1
David Majnemer158ba132014-02-09 05:30:48 +00002000// PPC64:#define __ALIGNOF_MAX_ALIGN_T__ 8
Chris Lattnere963d092009-10-29 04:55:36 +00002001// PPC64:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002002// PPC64:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002003// PPC64:#define __CHAR16_TYPE__ unsigned short
2004// PPC64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002005// PPC64:#define __CHAR_BIT__ 8
2006// PPC64:#define __CHAR_UNSIGNED__ 1
2007// PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2008// PPC64:#define __DBL_DIG__ 15
2009// PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
2010// PPC64:#define __DBL_HAS_DENORM__ 1
2011// PPC64:#define __DBL_HAS_INFINITY__ 1
2012// PPC64:#define __DBL_HAS_QUIET_NAN__ 1
2013// PPC64:#define __DBL_MANT_DIG__ 53
2014// PPC64:#define __DBL_MAX_10_EXP__ 308
2015// PPC64:#define __DBL_MAX_EXP__ 1024
2016// PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
2017// PPC64:#define __DBL_MIN_10_EXP__ (-307)
2018// PPC64:#define __DBL_MIN_EXP__ (-1021)
2019// PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber3435ede2012-01-31 02:07:33 +00002020// PPC64:#define __DECIMAL_DIG__ 33
Chris Lattnere963d092009-10-29 04:55:36 +00002021// PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2022// PPC64:#define __FLT_DIG__ 6
2023// PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
2024// PPC64:#define __FLT_EVAL_METHOD__ 0
2025// PPC64:#define __FLT_HAS_DENORM__ 1
2026// PPC64:#define __FLT_HAS_INFINITY__ 1
2027// PPC64:#define __FLT_HAS_QUIET_NAN__ 1
2028// PPC64:#define __FLT_MANT_DIG__ 24
2029// PPC64:#define __FLT_MAX_10_EXP__ 38
2030// PPC64:#define __FLT_MAX_EXP__ 128
2031// PPC64:#define __FLT_MAX__ 3.40282347e+38F
2032// PPC64:#define __FLT_MIN_10_EXP__ (-37)
2033// PPC64:#define __FLT_MIN_EXP__ (-125)
2034// PPC64:#define __FLT_MIN__ 1.17549435e-38F
2035// PPC64:#define __FLT_RADIX__ 2
2036// PPC64:#define __INT16_TYPE__ short
2037// PPC64:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002038// PPC64:#define __INT64_C_SUFFIX__ L
Chris Lattnere963d092009-10-29 04:55:36 +00002039// PPC64:#define __INT64_TYPE__ long int
2040// PPC64:#define __INT8_TYPE__ char
2041// PPC64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck9b25f782009-11-19 13:18:59 +00002042// PPC64:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002043// PPC64:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002044// PPC64:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002045// PPC64:#define __INTPTR_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00002046// PPC64:#define __INT_MAX__ 2147483647
Nico Weber3435ede2012-01-31 02:07:33 +00002047// PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2048// PPC64:#define __LDBL_DIG__ 31
2049// PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002050// PPC64:#define __LDBL_HAS_DENORM__ 1
2051// PPC64:#define __LDBL_HAS_INFINITY__ 1
2052// PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002053// PPC64:#define __LDBL_MANT_DIG__ 106
Chris Lattnere963d092009-10-29 04:55:36 +00002054// PPC64:#define __LDBL_MAX_10_EXP__ 308
2055// PPC64:#define __LDBL_MAX_EXP__ 1024
Nico Weber3435ede2012-01-31 02:07:33 +00002056// PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2057// PPC64:#define __LDBL_MIN_10_EXP__ (-291)
2058// PPC64:#define __LDBL_MIN_EXP__ (-968)
2059// PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnere963d092009-10-29 04:55:36 +00002060// PPC64:#define __LONG_DOUBLE_128__ 1
2061// PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
2062// PPC64:#define __LONG_MAX__ 9223372036854775807L
2063// PPC64:#define __LP64__ 1
2064// PPC64:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002065// PPC64:#define __POINTER_WIDTH__ 64
2066// PPC64:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002067// PPC64:#define __PPC64__ 1
2068// PPC64:#define __PPC__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002069// PPC64:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002070// PPC64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00002071// PPC64:#define __REGISTER_PREFIX__
2072// PPC64:#define __SCHAR_MAX__ 127
2073// PPC64:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002074// PPC64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002075// PPC64:#define __SIZEOF_DOUBLE__ 8
2076// PPC64:#define __SIZEOF_FLOAT__ 4
2077// PPC64:#define __SIZEOF_INT__ 4
Nico Weber3435ede2012-01-31 02:07:33 +00002078// PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohman04f87202010-05-28 00:27:15 +00002079// PPC64:#define __SIZEOF_LONG_LONG__ 8
2080// PPC64:#define __SIZEOF_LONG__ 8
2081// PPC64:#define __SIZEOF_POINTER__ 8
2082// PPC64:#define __SIZEOF_PTRDIFF_T__ 8
2083// PPC64:#define __SIZEOF_SHORT__ 2
2084// PPC64:#define __SIZEOF_SIZE_T__ 8
2085// PPC64:#define __SIZEOF_WCHAR_T__ 4
2086// PPC64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002087// PPC64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnere963d092009-10-29 04:55:36 +00002088// PPC64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002089// PPC64:#define __SIZE_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002090// PPC64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002091// PPC64:#define __USER_LABEL_PREFIX__ _
2092// PPC64:#define __WCHAR_MAX__ 2147483647
2093// PPC64:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002094// PPC64:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002095// PPC64:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002096// PPC64:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002097// PPC64:#define __ppc64__ 1
2098// PPC64:#define __ppc__ 1
2099//
Bill Schmidt778d3872013-07-26 01:36:11 +00002100// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64LE %s
2101//
2102// PPC64LE:#define _ARCH_PPC 1
2103// PPC64LE:#define _ARCH_PPC64 1
2104// PPC64LE:#define _ARCH_PPCGR 1
2105// PPC64LE:#define _ARCH_PPCSQ 1
2106// PPC64LE:#define _ARCH_PWR4 1
2107// PPC64LE:#define _ARCH_PWR5 1
2108// PPC64LE:#define _ARCH_PWR5X 1
2109// PPC64LE:#define _ARCH_PWR6 1
2110// PPC64LE:#define _ARCH_PWR6X 1
2111// PPC64LE:#define _ARCH_PWR7 1
2112// PPC64LE:#define _LITTLE_ENDIAN 1
2113// PPC64LE:#define _LP64 1
David Majnemer158ba132014-02-09 05:30:48 +00002114// PPC64LE:#define __ALIGNOF_MAX_ALIGN_T__ 8
Bill Schmidt778d3872013-07-26 01:36:11 +00002115// PPC64LE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
2116// PPC64LE:#define __CHAR16_TYPE__ unsigned short
2117// PPC64LE:#define __CHAR32_TYPE__ unsigned int
2118// PPC64LE:#define __CHAR_BIT__ 8
2119// PPC64LE:#define __CHAR_UNSIGNED__ 1
2120// PPC64LE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2121// PPC64LE:#define __DBL_DIG__ 15
2122// PPC64LE:#define __DBL_EPSILON__ 2.2204460492503131e-16
2123// PPC64LE:#define __DBL_HAS_DENORM__ 1
2124// PPC64LE:#define __DBL_HAS_INFINITY__ 1
2125// PPC64LE:#define __DBL_HAS_QUIET_NAN__ 1
2126// PPC64LE:#define __DBL_MANT_DIG__ 53
2127// PPC64LE:#define __DBL_MAX_10_EXP__ 308
2128// PPC64LE:#define __DBL_MAX_EXP__ 1024
2129// PPC64LE:#define __DBL_MAX__ 1.7976931348623157e+308
2130// PPC64LE:#define __DBL_MIN_10_EXP__ (-307)
2131// PPC64LE:#define __DBL_MIN_EXP__ (-1021)
2132// PPC64LE:#define __DBL_MIN__ 2.2250738585072014e-308
2133// PPC64LE:#define __DECIMAL_DIG__ 33
2134// PPC64LE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2135// PPC64LE:#define __FLT_DIG__ 6
2136// PPC64LE:#define __FLT_EPSILON__ 1.19209290e-7F
2137// PPC64LE:#define __FLT_EVAL_METHOD__ 0
2138// PPC64LE:#define __FLT_HAS_DENORM__ 1
2139// PPC64LE:#define __FLT_HAS_INFINITY__ 1
2140// PPC64LE:#define __FLT_HAS_QUIET_NAN__ 1
2141// PPC64LE:#define __FLT_MANT_DIG__ 24
2142// PPC64LE:#define __FLT_MAX_10_EXP__ 38
2143// PPC64LE:#define __FLT_MAX_EXP__ 128
2144// PPC64LE:#define __FLT_MAX__ 3.40282347e+38F
2145// PPC64LE:#define __FLT_MIN_10_EXP__ (-37)
2146// PPC64LE:#define __FLT_MIN_EXP__ (-125)
2147// PPC64LE:#define __FLT_MIN__ 1.17549435e-38F
2148// PPC64LE:#define __FLT_RADIX__ 2
2149// PPC64LE:#define __INT16_TYPE__ short
2150// PPC64LE:#define __INT32_TYPE__ int
2151// PPC64LE:#define __INT64_C_SUFFIX__ L
2152// PPC64LE:#define __INT64_TYPE__ long int
2153// PPC64LE:#define __INT8_TYPE__ char
2154// PPC64LE:#define __INTMAX_MAX__ 9223372036854775807L
2155// PPC64LE:#define __INTMAX_TYPE__ long int
2156// PPC64LE:#define __INTMAX_WIDTH__ 64
2157// PPC64LE:#define __INTPTR_TYPE__ long int
2158// PPC64LE:#define __INTPTR_WIDTH__ 64
2159// PPC64LE:#define __INT_MAX__ 2147483647
2160// PPC64LE:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2161// PPC64LE:#define __LDBL_DIG__ 31
2162// PPC64LE:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2163// PPC64LE:#define __LDBL_HAS_DENORM__ 1
2164// PPC64LE:#define __LDBL_HAS_INFINITY__ 1
2165// PPC64LE:#define __LDBL_HAS_QUIET_NAN__ 1
2166// PPC64LE:#define __LDBL_MANT_DIG__ 106
2167// PPC64LE:#define __LDBL_MAX_10_EXP__ 308
2168// PPC64LE:#define __LDBL_MAX_EXP__ 1024
2169// PPC64LE:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2170// PPC64LE:#define __LDBL_MIN_10_EXP__ (-291)
2171// PPC64LE:#define __LDBL_MIN_EXP__ (-968)
2172// PPC64LE:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2173// PPC64LE:#define __LITTLE_ENDIAN__ 1
2174// PPC64LE:#define __LONG_DOUBLE_128__ 1
2175// PPC64LE:#define __LONG_LONG_MAX__ 9223372036854775807LL
2176// PPC64LE:#define __LONG_MAX__ 9223372036854775807L
2177// PPC64LE:#define __LP64__ 1
2178// PPC64LE:#define __NATURAL_ALIGNMENT__ 1
2179// PPC64LE:#define __POINTER_WIDTH__ 64
2180// PPC64LE:#define __POWERPC__ 1
2181// PPC64LE:#define __PPC64__ 1
2182// PPC64LE:#define __PPC__ 1
2183// PPC64LE:#define __PTRDIFF_TYPE__ long int
2184// PPC64LE:#define __PTRDIFF_WIDTH__ 64
2185// PPC64LE:#define __REGISTER_PREFIX__
2186// PPC64LE:#define __SCHAR_MAX__ 127
2187// PPC64LE:#define __SHRT_MAX__ 32767
2188// PPC64LE:#define __SIG_ATOMIC_WIDTH__ 32
2189// PPC64LE:#define __SIZEOF_DOUBLE__ 8
2190// PPC64LE:#define __SIZEOF_FLOAT__ 4
2191// PPC64LE:#define __SIZEOF_INT__ 4
2192// PPC64LE:#define __SIZEOF_LONG_DOUBLE__ 16
2193// PPC64LE:#define __SIZEOF_LONG_LONG__ 8
2194// PPC64LE:#define __SIZEOF_LONG__ 8
2195// PPC64LE:#define __SIZEOF_POINTER__ 8
2196// PPC64LE:#define __SIZEOF_PTRDIFF_T__ 8
2197// PPC64LE:#define __SIZEOF_SHORT__ 2
2198// PPC64LE:#define __SIZEOF_SIZE_T__ 8
2199// PPC64LE:#define __SIZEOF_WCHAR_T__ 4
2200// PPC64LE:#define __SIZEOF_WINT_T__ 4
2201// PPC64LE:#define __SIZE_MAX__ 18446744073709551615UL
2202// PPC64LE:#define __SIZE_TYPE__ long unsigned int
2203// PPC64LE:#define __SIZE_WIDTH__ 64
2204// PPC64LE:#define __UINTMAX_TYPE__ long unsigned int
2205// PPC64LE:#define __USER_LABEL_PREFIX__ _
2206// PPC64LE:#define __WCHAR_MAX__ 2147483647
2207// PPC64LE:#define __WCHAR_TYPE__ int
2208// PPC64LE:#define __WCHAR_WIDTH__ 32
2209// PPC64LE:#define __WINT_TYPE__ int
2210// PPC64LE:#define __WINT_WIDTH__ 32
2211// PPC64LE:#define __ppc64__ 1
2212// PPC64LE:#define __ppc__ 1
2213//
Hal Finkeldf1e4bf2013-02-01 05:53:33 +00002214// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu a2q -fno-signed-char < /dev/null | FileCheck -check-prefix PPCA2Q %s
2215//
2216// PPCA2Q:#define _ARCH_A2 1
2217// PPCA2Q:#define _ARCH_A2Q 1
2218// PPCA2Q:#define _ARCH_PPC 1
2219// PPCA2Q:#define _ARCH_PPC64 1
2220// PPCA2Q:#define _ARCH_QP 1
2221//
2222// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-bgq-linux -fno-signed-char < /dev/null | FileCheck -check-prefix PPCBGQ %s
2223//
2224// PPCBGQ:#define __THW_BLUEGENE__ 1
2225// PPCBGQ:#define __TOS_BGQ__ 1
2226// PPCBGQ:#define __bg__ 1
2227// PPCBGQ:#define __bgq__ 1
2228//
Bill Schmidt38378a02013-02-01 20:23:10 +00002229// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu 630 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC630 %s
2230//
2231// PPC630:#define _ARCH_630 1
2232// PPC630:#define _ARCH_PPC 1
2233// PPC630:#define _ARCH_PPC64 1
2234// PPC630:#define _ARCH_PPCGR 1
2235//
2236// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR3 %s
2237//
2238// PPCPWR3:#define _ARCH_PPC 1
2239// PPCPWR3:#define _ARCH_PPC64 1
2240// PPCPWR3:#define _ARCH_PPCGR 1
2241//
2242// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER3 %s
2243//
2244// PPCPOWER3:#define _ARCH_PPC 1
2245// PPCPOWER3:#define _ARCH_PPC64 1
2246// PPCPOWER3:#define _ARCH_PPCGR 1
2247//
2248// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR4 %s
2249//
2250// PPCPWR4:#define _ARCH_PPC 1
2251// PPCPWR4:#define _ARCH_PPC64 1
2252// PPCPWR4:#define _ARCH_PPCGR 1
2253// PPCPWR4:#define _ARCH_PPCSQ 1
2254// PPCPWR4:#define _ARCH_PWR4 1
2255//
2256// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER4 %s
2257//
2258// PPCPOWER4:#define _ARCH_PPC 1
2259// PPCPOWER4:#define _ARCH_PPC64 1
2260// PPCPOWER4:#define _ARCH_PPCGR 1
2261// PPCPOWER4:#define _ARCH_PPCSQ 1
2262// PPCPOWER4:#define _ARCH_PWR4 1
2263//
2264// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5 %s
2265//
2266// PPCPWR5:#define _ARCH_PPC 1
2267// PPCPWR5:#define _ARCH_PPC64 1
2268// PPCPWR5:#define _ARCH_PPCGR 1
2269// PPCPWR5:#define _ARCH_PPCSQ 1
2270// PPCPWR5:#define _ARCH_PWR4 1
2271// PPCPWR5:#define _ARCH_PWR5 1
2272//
2273// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5 %s
2274//
2275// PPCPOWER5:#define _ARCH_PPC 1
2276// PPCPOWER5:#define _ARCH_PPC64 1
2277// PPCPOWER5:#define _ARCH_PPCGR 1
2278// PPCPOWER5:#define _ARCH_PPCSQ 1
2279// PPCPOWER5:#define _ARCH_PWR4 1
2280// PPCPOWER5:#define _ARCH_PWR5 1
2281//
2282// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5X %s
2283//
2284// PPCPWR5X:#define _ARCH_PPC 1
2285// PPCPWR5X:#define _ARCH_PPC64 1
2286// PPCPWR5X:#define _ARCH_PPCGR 1
2287// PPCPWR5X:#define _ARCH_PPCSQ 1
2288// PPCPWR5X:#define _ARCH_PWR4 1
2289// PPCPWR5X:#define _ARCH_PWR5 1
2290// PPCPWR5X:#define _ARCH_PWR5X 1
2291//
2292// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5X %s
2293//
2294// PPCPOWER5X:#define _ARCH_PPC 1
2295// PPCPOWER5X:#define _ARCH_PPC64 1
2296// PPCPOWER5X:#define _ARCH_PPCGR 1
2297// PPCPOWER5X:#define _ARCH_PPCSQ 1
2298// PPCPOWER5X:#define _ARCH_PWR4 1
2299// PPCPOWER5X:#define _ARCH_PWR5 1
2300// PPCPOWER5X:#define _ARCH_PWR5X 1
2301//
2302// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6 %s
2303//
2304// PPCPWR6:#define _ARCH_PPC 1
2305// PPCPWR6:#define _ARCH_PPC64 1
2306// PPCPWR6:#define _ARCH_PPCGR 1
2307// PPCPWR6:#define _ARCH_PPCSQ 1
2308// PPCPWR6:#define _ARCH_PWR4 1
2309// PPCPWR6:#define _ARCH_PWR5 1
2310// PPCPWR6:#define _ARCH_PWR5X 1
2311// PPCPWR6:#define _ARCH_PWR6 1
2312//
2313// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6 %s
2314//
2315// PPCPOWER6:#define _ARCH_PPC 1
2316// PPCPOWER6:#define _ARCH_PPC64 1
2317// PPCPOWER6:#define _ARCH_PPCGR 1
2318// PPCPOWER6:#define _ARCH_PPCSQ 1
2319// PPCPOWER6:#define _ARCH_PWR4 1
2320// PPCPOWER6:#define _ARCH_PWR5 1
2321// PPCPOWER6:#define _ARCH_PWR5X 1
2322// PPCPOWER6:#define _ARCH_PWR6 1
2323//
2324// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6X %s
2325//
2326// PPCPWR6X:#define _ARCH_PPC 1
2327// PPCPWR6X:#define _ARCH_PPC64 1
2328// PPCPWR6X:#define _ARCH_PPCGR 1
2329// PPCPWR6X:#define _ARCH_PPCSQ 1
2330// PPCPWR6X:#define _ARCH_PWR4 1
2331// PPCPWR6X:#define _ARCH_PWR5 1
2332// PPCPWR6X:#define _ARCH_PWR5X 1
2333// PPCPWR6X:#define _ARCH_PWR6 1
2334// PPCPWR6X:#define _ARCH_PWR6X 1
2335//
2336// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6X %s
2337//
2338// PPCPOWER6X:#define _ARCH_PPC 1
2339// PPCPOWER6X:#define _ARCH_PPC64 1
2340// PPCPOWER6X:#define _ARCH_PPCGR 1
2341// PPCPOWER6X:#define _ARCH_PPCSQ 1
2342// PPCPOWER6X:#define _ARCH_PWR4 1
2343// PPCPOWER6X:#define _ARCH_PWR5 1
2344// PPCPOWER6X:#define _ARCH_PWR5X 1
2345// PPCPOWER6X:#define _ARCH_PWR6 1
2346// PPCPOWER6X:#define _ARCH_PWR6X 1
2347//
2348// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR7 %s
2349//
2350// PPCPWR7:#define _ARCH_PPC 1
2351// PPCPWR7:#define _ARCH_PPC64 1
2352// PPCPWR7:#define _ARCH_PPCGR 1
2353// PPCPWR7:#define _ARCH_PPCSQ 1
2354// PPCPWR7:#define _ARCH_PWR4 1
2355// PPCPWR7:#define _ARCH_PWR5 1
2356// PPCPWR7:#define _ARCH_PWR5X 1
2357// PPCPWR7:#define _ARCH_PWR6 1
2358// PPCPWR7:#define _ARCH_PWR6X 1
2359// PPCPWR7:#define _ARCH_PWR7 1
2360//
2361// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER7 %s
2362//
2363// PPCPOWER7:#define _ARCH_PPC 1
2364// PPCPOWER7:#define _ARCH_PPC64 1
2365// PPCPOWER7:#define _ARCH_PPCGR 1
2366// PPCPOWER7:#define _ARCH_PPCSQ 1
2367// PPCPOWER7:#define _ARCH_PWR4 1
2368// PPCPOWER7:#define _ARCH_PWR5 1
2369// PPCPOWER7:#define _ARCH_PWR5X 1
2370// PPCPOWER7:#define _ARCH_PWR6 1
2371// PPCPOWER7:#define _ARCH_PWR6X 1
2372// PPCPOWER7:#define _ARCH_PWR7 1
2373//
Nico Weber3435ede2012-01-31 02:07:33 +00002374// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
2375//
2376// PPC64-LINUX:#define _ARCH_PPC 1
2377// PPC64-LINUX:#define _ARCH_PPC64 1
2378// PPC64-LINUX:#define _BIG_ENDIAN 1
2379// PPC64-LINUX:#define _LP64 1
David Majnemer158ba132014-02-09 05:30:48 +00002380// PPC64-LINUX:#define __ALIGNOF_MAX_ALIGN_T__ 8
Nico Weber3435ede2012-01-31 02:07:33 +00002381// PPC64-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002382// PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber3435ede2012-01-31 02:07:33 +00002383// PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
2384// PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
2385// PPC64-LINUX:#define __CHAR_BIT__ 8
2386// PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
2387// PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2388// PPC64-LINUX:#define __DBL_DIG__ 15
2389// PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2390// PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
2391// PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
2392// PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2393// PPC64-LINUX:#define __DBL_MANT_DIG__ 53
2394// PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
2395// PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
2396// PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2397// PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2398// PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2399// PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2400// PPC64-LINUX:#define __DECIMAL_DIG__ 33
2401// PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2402// PPC64-LINUX:#define __FLT_DIG__ 6
2403// PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2404// PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
2405// PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
2406// PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
2407// PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2408// PPC64-LINUX:#define __FLT_MANT_DIG__ 24
2409// PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
2410// PPC64-LINUX:#define __FLT_MAX_EXP__ 128
2411// PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2412// PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2413// PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
2414// PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2415// PPC64-LINUX:#define __FLT_RADIX__ 2
2416// PPC64-LINUX:#define __INT16_TYPE__ short
2417// PPC64-LINUX:#define __INT32_TYPE__ int
2418// PPC64-LINUX:#define __INT64_C_SUFFIX__ L
2419// PPC64-LINUX:#define __INT64_TYPE__ long int
2420// PPC64-LINUX:#define __INT8_TYPE__ char
2421// PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2422// PPC64-LINUX:#define __INTMAX_TYPE__ long int
2423// PPC64-LINUX:#define __INTMAX_WIDTH__ 64
2424// PPC64-LINUX:#define __INTPTR_TYPE__ long int
2425// PPC64-LINUX:#define __INTPTR_WIDTH__ 64
2426// PPC64-LINUX:#define __INT_MAX__ 2147483647
2427// PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2428// PPC64-LINUX:#define __LDBL_DIG__ 31
2429// PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2430// PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
2431// PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2432// PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2433// PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
2434// PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
2435// PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
2436// PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2437// PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2438// PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
2439// PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2440// PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
2441// PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2442// PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2443// PPC64-LINUX:#define __LP64__ 1
2444// PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002445// PPC64-LINUX:#define __POINTER_WIDTH__ 64
2446// PPC64-LINUX:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002447// PPC64-LINUX:#define __PPC64__ 1
2448// PPC64-LINUX:#define __PPC__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002449// PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
2450// PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
2451// PPC64-LINUX:#define __REGISTER_PREFIX__
2452// PPC64-LINUX:#define __SCHAR_MAX__ 127
2453// PPC64-LINUX:#define __SHRT_MAX__ 32767
2454// PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2455// PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
2456// PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
2457// PPC64-LINUX:#define __SIZEOF_INT__ 4
2458// PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2459// PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2460// PPC64-LINUX:#define __SIZEOF_LONG__ 8
2461// PPC64-LINUX:#define __SIZEOF_POINTER__ 8
2462// PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2463// PPC64-LINUX:#define __SIZEOF_SHORT__ 2
2464// PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
2465// PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2466// PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002467// PPC64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Nico Weber3435ede2012-01-31 02:07:33 +00002468// PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
2469// PPC64-LINUX:#define __SIZE_WIDTH__ 64
2470// PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2471// PPC64-LINUX:#define __USER_LABEL_PREFIX__
2472// PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
2473// PPC64-LINUX:#define __WCHAR_TYPE__ int
2474// PPC64-LINUX:#define __WCHAR_WIDTH__ 32
2475// PPC64-LINUX:#define __WINT_TYPE__ unsigned int
2476// PPC64-LINUX:#define __WINT_UNSIGNED__ 1
2477// PPC64-LINUX:#define __WINT_WIDTH__ 32
2478// PPC64-LINUX:#define __powerpc64__ 1
2479// PPC64-LINUX:#define __powerpc__ 1
2480// PPC64-LINUX:#define __ppc64__ 1
2481// PPC64-LINUX:#define __ppc__ 1
2482//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002483// 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 +00002484//
2485// PPC:#define _ARCH_PPC 1
2486// PPC:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002487// PPC-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +00002488// PPC:#define __ALIGNOF_MAX_ALIGN_T__ 8
Chris Lattnere963d092009-10-29 04:55:36 +00002489// PPC:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002490// PPC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002491// PPC:#define __CHAR16_TYPE__ unsigned short
2492// PPC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002493// PPC:#define __CHAR_BIT__ 8
2494// PPC:#define __CHAR_UNSIGNED__ 1
2495// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2496// PPC:#define __DBL_DIG__ 15
2497// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2498// PPC:#define __DBL_HAS_DENORM__ 1
2499// PPC:#define __DBL_HAS_INFINITY__ 1
2500// PPC:#define __DBL_HAS_QUIET_NAN__ 1
2501// PPC:#define __DBL_MANT_DIG__ 53
2502// PPC:#define __DBL_MAX_10_EXP__ 308
2503// PPC:#define __DBL_MAX_EXP__ 1024
2504// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
2505// PPC:#define __DBL_MIN_10_EXP__ (-307)
2506// PPC:#define __DBL_MIN_EXP__ (-1021)
2507// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber3435ede2012-01-31 02:07:33 +00002508// PPC:#define __DECIMAL_DIG__ 33
Chris Lattnere963d092009-10-29 04:55:36 +00002509// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2510// PPC:#define __FLT_DIG__ 6
2511// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
2512// PPC:#define __FLT_EVAL_METHOD__ 0
2513// PPC:#define __FLT_HAS_DENORM__ 1
2514// PPC:#define __FLT_HAS_INFINITY__ 1
2515// PPC:#define __FLT_HAS_QUIET_NAN__ 1
2516// PPC:#define __FLT_MANT_DIG__ 24
2517// PPC:#define __FLT_MAX_10_EXP__ 38
2518// PPC:#define __FLT_MAX_EXP__ 128
2519// PPC:#define __FLT_MAX__ 3.40282347e+38F
2520// PPC:#define __FLT_MIN_10_EXP__ (-37)
2521// PPC:#define __FLT_MIN_EXP__ (-125)
2522// PPC:#define __FLT_MIN__ 1.17549435e-38F
2523// PPC:#define __FLT_RADIX__ 2
2524// PPC:#define __INT16_TYPE__ short
2525// PPC:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002526// PPC:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00002527// PPC:#define __INT64_TYPE__ long long int
2528// PPC:#define __INT8_TYPE__ char
2529// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00002530// PPC:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002531// PPC:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002532// PPC:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002533// PPC:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002534// PPC:#define __INT_MAX__ 2147483647
Nico Weber3435ede2012-01-31 02:07:33 +00002535// PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2536// PPC:#define __LDBL_DIG__ 31
2537// PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002538// PPC:#define __LDBL_HAS_DENORM__ 1
2539// PPC:#define __LDBL_HAS_INFINITY__ 1
2540// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002541// PPC:#define __LDBL_MANT_DIG__ 106
Chris Lattnere963d092009-10-29 04:55:36 +00002542// PPC:#define __LDBL_MAX_10_EXP__ 308
2543// PPC:#define __LDBL_MAX_EXP__ 1024
Nico Weber3435ede2012-01-31 02:07:33 +00002544// PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2545// PPC:#define __LDBL_MIN_10_EXP__ (-291)
2546// PPC:#define __LDBL_MIN_EXP__ (-968)
2547// PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnere963d092009-10-29 04:55:36 +00002548// PPC:#define __LONG_DOUBLE_128__ 1
2549// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2550// PPC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002551// PPC-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00002552// PPC:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002553// PPC:#define __POINTER_WIDTH__ 32
2554// PPC:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002555// PPC:#define __PPC__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002556// PPC:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002557// PPC:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002558// PPC:#define __REGISTER_PREFIX__
2559// PPC:#define __SCHAR_MAX__ 127
2560// PPC:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002561// PPC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002562// PPC:#define __SIZEOF_DOUBLE__ 8
2563// PPC:#define __SIZEOF_FLOAT__ 4
2564// PPC:#define __SIZEOF_INT__ 4
Nico Weber3435ede2012-01-31 02:07:33 +00002565// PPC:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohman04f87202010-05-28 00:27:15 +00002566// PPC:#define __SIZEOF_LONG_LONG__ 8
2567// PPC:#define __SIZEOF_LONG__ 4
2568// PPC:#define __SIZEOF_POINTER__ 4
2569// PPC:#define __SIZEOF_PTRDIFF_T__ 4
2570// PPC:#define __SIZEOF_SHORT__ 2
2571// PPC:#define __SIZEOF_SIZE_T__ 4
2572// PPC:#define __SIZEOF_WCHAR_T__ 4
2573// PPC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002574// PPC:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00002575// PPC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002576// PPC:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002577// PPC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002578// PPC:#define __USER_LABEL_PREFIX__ _
2579// PPC:#define __WCHAR_MAX__ 2147483647
2580// PPC:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002581// PPC:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002582// PPC:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002583// PPC:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002584// PPC:#define __ppc__ 1
2585//
Nico Weber3435ede2012-01-31 02:07:33 +00002586// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
2587//
2588// PPC-LINUX:#define _ARCH_PPC 1
2589// PPC-LINUX:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002590// PPC-LINUX-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +00002591// PPC-LINUX:#define __ALIGNOF_MAX_ALIGN_T__ 8
Nico Weber3435ede2012-01-31 02:07:33 +00002592// PPC-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002593// PPC-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber3435ede2012-01-31 02:07:33 +00002594// PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
2595// PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
2596// PPC-LINUX:#define __CHAR_BIT__ 8
2597// PPC-LINUX:#define __CHAR_UNSIGNED__ 1
2598// PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2599// PPC-LINUX:#define __DBL_DIG__ 15
2600// PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2601// PPC-LINUX:#define __DBL_HAS_DENORM__ 1
2602// PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
2603// PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2604// PPC-LINUX:#define __DBL_MANT_DIG__ 53
2605// PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
2606// PPC-LINUX:#define __DBL_MAX_EXP__ 1024
2607// PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2608// PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2609// PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
2610// PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2611// PPC-LINUX:#define __DECIMAL_DIG__ 33
2612// PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2613// PPC-LINUX:#define __FLT_DIG__ 6
2614// PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2615// PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
2616// PPC-LINUX:#define __FLT_HAS_DENORM__ 1
2617// PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
2618// PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2619// PPC-LINUX:#define __FLT_MANT_DIG__ 24
2620// PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
2621// PPC-LINUX:#define __FLT_MAX_EXP__ 128
2622// PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2623// PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2624// PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
2625// PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2626// PPC-LINUX:#define __FLT_RADIX__ 2
2627// PPC-LINUX:#define __INT16_TYPE__ short
2628// PPC-LINUX:#define __INT32_TYPE__ int
2629// PPC-LINUX:#define __INT64_C_SUFFIX__ LL
2630// PPC-LINUX:#define __INT64_TYPE__ long long int
2631// PPC-LINUX:#define __INT8_TYPE__ char
2632// PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
2633// PPC-LINUX:#define __INTMAX_TYPE__ long long int
2634// PPC-LINUX:#define __INTMAX_WIDTH__ 64
Hal Finkel26908382012-03-02 20:54:36 +00002635// PPC-LINUX:#define __INTPTR_TYPE__ int
Nico Weber3435ede2012-01-31 02:07:33 +00002636// PPC-LINUX:#define __INTPTR_WIDTH__ 32
2637// PPC-LINUX:#define __INT_MAX__ 2147483647
2638// PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2639// PPC-LINUX:#define __LDBL_DIG__ 31
2640// PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2641// PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
2642// PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
2643// PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2644// PPC-LINUX:#define __LDBL_MANT_DIG__ 106
2645// PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
2646// PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
2647// PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2648// PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2649// PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
2650// PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2651// PPC-LINUX:#define __LONG_DOUBLE_128__ 1
2652// PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2653// PPC-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002654// PPC-LINUX-NOT:#define __LP64__
Nico Weber3435ede2012-01-31 02:07:33 +00002655// PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002656// PPC-LINUX:#define __POINTER_WIDTH__ 32
2657// PPC-LINUX:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002658// PPC-LINUX:#define __PPC__ 1
Hal Finkel26908382012-03-02 20:54:36 +00002659// PPC-LINUX:#define __PTRDIFF_TYPE__ int
Nico Weber3435ede2012-01-31 02:07:33 +00002660// PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
2661// PPC-LINUX:#define __REGISTER_PREFIX__
2662// PPC-LINUX:#define __SCHAR_MAX__ 127
2663// PPC-LINUX:#define __SHRT_MAX__ 32767
2664// PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2665// PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
2666// PPC-LINUX:#define __SIZEOF_FLOAT__ 4
2667// PPC-LINUX:#define __SIZEOF_INT__ 4
2668// PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2669// PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
2670// PPC-LINUX:#define __SIZEOF_LONG__ 4
2671// PPC-LINUX:#define __SIZEOF_POINTER__ 4
2672// PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
2673// PPC-LINUX:#define __SIZEOF_SHORT__ 2
2674// PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
2675// PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
2676// PPC-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002677// PPC-LINUX:#define __SIZE_MAX__ 4294967295U
Nico Weber3435ede2012-01-31 02:07:33 +00002678// PPC-LINUX:#define __SIZE_TYPE__ unsigned int
2679// PPC-LINUX:#define __SIZE_WIDTH__ 32
2680// PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
2681// PPC-LINUX:#define __USER_LABEL_PREFIX__
2682// PPC-LINUX:#define __WCHAR_MAX__ 2147483647
2683// PPC-LINUX:#define __WCHAR_TYPE__ int
2684// PPC-LINUX:#define __WCHAR_WIDTH__ 32
2685// PPC-LINUX:#define __WINT_TYPE__ unsigned int
2686// PPC-LINUX:#define __WINT_UNSIGNED__ 1
2687// PPC-LINUX:#define __WINT_WIDTH__ 32
2688// PPC-LINUX:#define __powerpc__ 1
2689// PPC-LINUX:#define __ppc__ 1
2690//
David Fang072d47b2013-05-16 17:51:48 +00002691// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-apple-darwin8 < /dev/null | FileCheck -check-prefix PPC-DARWIN %s
2692//
2693// PPC-DARWIN:#define _ARCH_PPC 1
2694// PPC-DARWIN:#define _BIG_ENDIAN 1
David Majnemer158ba132014-02-09 05:30:48 +00002695// PPC-DARWIN:#define __ALIGNOF_MAX_ALIGN_T__ 16
David Fang072d47b2013-05-16 17:51:48 +00002696// PPC-DARWIN:#define __BIG_ENDIAN__ 1
2697// PPC-DARWIN:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2698// PPC-DARWIN:#define __CHAR16_TYPE__ unsigned short
2699// PPC-DARWIN:#define __CHAR32_TYPE__ unsigned int
2700// PPC-DARWIN:#define __CHAR_BIT__ 8
2701// PPC-DARWIN:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2702// PPC-DARWIN:#define __DBL_DIG__ 15
2703// PPC-DARWIN:#define __DBL_EPSILON__ 2.2204460492503131e-16
2704// PPC-DARWIN:#define __DBL_HAS_DENORM__ 1
2705// PPC-DARWIN:#define __DBL_HAS_INFINITY__ 1
2706// PPC-DARWIN:#define __DBL_HAS_QUIET_NAN__ 1
2707// PPC-DARWIN:#define __DBL_MANT_DIG__ 53
2708// PPC-DARWIN:#define __DBL_MAX_10_EXP__ 308
2709// PPC-DARWIN:#define __DBL_MAX_EXP__ 1024
2710// PPC-DARWIN:#define __DBL_MAX__ 1.7976931348623157e+308
2711// PPC-DARWIN:#define __DBL_MIN_10_EXP__ (-307)
2712// PPC-DARWIN:#define __DBL_MIN_EXP__ (-1021)
2713// PPC-DARWIN:#define __DBL_MIN__ 2.2250738585072014e-308
2714// PPC-DARWIN:#define __DECIMAL_DIG__ 33
2715// PPC-DARWIN:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2716// PPC-DARWIN:#define __FLT_DIG__ 6
2717// PPC-DARWIN:#define __FLT_EPSILON__ 1.19209290e-7F
2718// PPC-DARWIN:#define __FLT_EVAL_METHOD__ 0
2719// PPC-DARWIN:#define __FLT_HAS_DENORM__ 1
2720// PPC-DARWIN:#define __FLT_HAS_INFINITY__ 1
2721// PPC-DARWIN:#define __FLT_HAS_QUIET_NAN__ 1
2722// PPC-DARWIN:#define __FLT_MANT_DIG__ 24
2723// PPC-DARWIN:#define __FLT_MAX_10_EXP__ 38
2724// PPC-DARWIN:#define __FLT_MAX_EXP__ 128
2725// PPC-DARWIN:#define __FLT_MAX__ 3.40282347e+38F
2726// PPC-DARWIN:#define __FLT_MIN_10_EXP__ (-37)
2727// PPC-DARWIN:#define __FLT_MIN_EXP__ (-125)
2728// PPC-DARWIN:#define __FLT_MIN__ 1.17549435e-38F
2729// PPC-DARWIN:#define __FLT_RADIX__ 2
2730// PPC-DARWIN:#define __INT16_TYPE__ short
2731// PPC-DARWIN:#define __INT32_TYPE__ int
2732// PPC-DARWIN:#define __INT64_C_SUFFIX__ LL
2733// PPC-DARWIN:#define __INT64_TYPE__ long long int
2734// PPC-DARWIN:#define __INT8_TYPE__ char
2735// PPC-DARWIN:#define __INTMAX_MAX__ 9223372036854775807LL
2736// PPC-DARWIN:#define __INTMAX_TYPE__ long long int
2737// PPC-DARWIN:#define __INTMAX_WIDTH__ 64
2738// PPC-DARWIN:#define __INTPTR_TYPE__ long int
2739// PPC-DARWIN:#define __INTPTR_WIDTH__ 32
2740// PPC-DARWIN:#define __INT_MAX__ 2147483647
2741// PPC-DARWIN:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2742// PPC-DARWIN:#define __LDBL_DIG__ 31
2743// PPC-DARWIN:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2744// PPC-DARWIN:#define __LDBL_HAS_DENORM__ 1
2745// PPC-DARWIN:#define __LDBL_HAS_INFINITY__ 1
2746// PPC-DARWIN:#define __LDBL_HAS_QUIET_NAN__ 1
2747// PPC-DARWIN:#define __LDBL_MANT_DIG__ 106
2748// PPC-DARWIN:#define __LDBL_MAX_10_EXP__ 308
2749// PPC-DARWIN:#define __LDBL_MAX_EXP__ 1024
2750// PPC-DARWIN:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2751// PPC-DARWIN:#define __LDBL_MIN_10_EXP__ (-291)
2752// PPC-DARWIN:#define __LDBL_MIN_EXP__ (-968)
2753// PPC-DARWIN:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2754// PPC-DARWIN:#define __LONG_DOUBLE_128__ 1
2755// PPC-DARWIN:#define __LONG_LONG_MAX__ 9223372036854775807LL
2756// PPC-DARWIN:#define __LONG_MAX__ 2147483647L
2757// PPC-DARWIN:#define __MACH__ 1
2758// PPC-DARWIN:#define __NATURAL_ALIGNMENT__ 1
2759// PPC-DARWIN:#define __ORDER_BIG_ENDIAN__ 4321
2760// PPC-DARWIN:#define __ORDER_LITTLE_ENDIAN__ 1234
2761// PPC-DARWIN:#define __ORDER_PDP_ENDIAN__ 3412
2762// PPC-DARWIN:#define __POINTER_WIDTH__ 32
2763// PPC-DARWIN:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002764// PPC-DARWIN:#define __PPC__ 1
David Fang072d47b2013-05-16 17:51:48 +00002765// PPC-DARWIN:#define __PTRDIFF_TYPE__ int
2766// PPC-DARWIN:#define __PTRDIFF_WIDTH__ 32
2767// PPC-DARWIN:#define __REGISTER_PREFIX__
2768// PPC-DARWIN:#define __SCHAR_MAX__ 127
2769// PPC-DARWIN:#define __SHRT_MAX__ 32767
2770// PPC-DARWIN:#define __SIG_ATOMIC_WIDTH__ 32
2771// PPC-DARWIN:#define __SIZEOF_DOUBLE__ 8
2772// PPC-DARWIN:#define __SIZEOF_FLOAT__ 4
2773// PPC-DARWIN:#define __SIZEOF_INT__ 4
2774// PPC-DARWIN:#define __SIZEOF_LONG_DOUBLE__ 16
2775// PPC-DARWIN:#define __SIZEOF_LONG_LONG__ 8
2776// PPC-DARWIN:#define __SIZEOF_LONG__ 4
2777// PPC-DARWIN:#define __SIZEOF_POINTER__ 4
2778// PPC-DARWIN:#define __SIZEOF_PTRDIFF_T__ 4
2779// PPC-DARWIN:#define __SIZEOF_SHORT__ 2
2780// PPC-DARWIN:#define __SIZEOF_SIZE_T__ 4
2781// PPC-DARWIN:#define __SIZEOF_WCHAR_T__ 4
2782// PPC-DARWIN:#define __SIZEOF_WINT_T__ 4
2783// PPC-DARWIN:#define __SIZE_MAX__ 4294967295UL
2784// PPC-DARWIN:#define __SIZE_TYPE__ long unsigned int
2785// PPC-DARWIN:#define __SIZE_WIDTH__ 32
2786// PPC-DARWIN:#define __STDC_HOSTED__ 0
2787// PPC-DARWIN:#define __STDC_VERSION__ 199901L
2788// PPC-DARWIN:#define __STDC__ 1
2789// PPC-DARWIN:#define __UINTMAX_TYPE__ long long unsigned int
2790// PPC-DARWIN:#define __USER_LABEL_PREFIX__ _
2791// PPC-DARWIN:#define __WCHAR_MAX__ 2147483647
2792// PPC-DARWIN:#define __WCHAR_TYPE__ int
2793// PPC-DARWIN:#define __WCHAR_WIDTH__ 32
2794// PPC-DARWIN:#define __WINT_TYPE__ int
2795// PPC-DARWIN:#define __WINT_WIDTH__ 32
2796// PPC-DARWIN:#define __powerpc__ 1
2797// PPC-DARWIN:#define __ppc__ 1
2798//
Ulrich Weigand47445072013-05-06 16:26:41 +00002799// RUN: %clang_cc1 -E -dM -ffreestanding -triple=s390x-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix S390X %s
2800//
2801// S390X:#define __CHAR16_TYPE__ unsigned short
2802// S390X:#define __CHAR32_TYPE__ unsigned int
2803// S390X:#define __CHAR_BIT__ 8
2804// S390X:#define __CHAR_UNSIGNED__ 1
2805// S390X:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2806// S390X:#define __DBL_DIG__ 15
2807// S390X:#define __DBL_EPSILON__ 2.2204460492503131e-16
2808// S390X:#define __DBL_HAS_DENORM__ 1
2809// S390X:#define __DBL_HAS_INFINITY__ 1
2810// S390X:#define __DBL_HAS_QUIET_NAN__ 1
2811// S390X:#define __DBL_MANT_DIG__ 53
2812// S390X:#define __DBL_MAX_10_EXP__ 308
2813// S390X:#define __DBL_MAX_EXP__ 1024
2814// S390X:#define __DBL_MAX__ 1.7976931348623157e+308
2815// S390X:#define __DBL_MIN_10_EXP__ (-307)
2816// S390X:#define __DBL_MIN_EXP__ (-1021)
2817// S390X:#define __DBL_MIN__ 2.2250738585072014e-308
2818// S390X:#define __DECIMAL_DIG__ 36
2819// S390X:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2820// S390X:#define __FLT_DIG__ 6
2821// S390X:#define __FLT_EPSILON__ 1.19209290e-7F
2822// S390X:#define __FLT_EVAL_METHOD__ 0
2823// S390X:#define __FLT_HAS_DENORM__ 1
2824// S390X:#define __FLT_HAS_INFINITY__ 1
2825// S390X:#define __FLT_HAS_QUIET_NAN__ 1
2826// S390X:#define __FLT_MANT_DIG__ 24
2827// S390X:#define __FLT_MAX_10_EXP__ 38
2828// S390X:#define __FLT_MAX_EXP__ 128
2829// S390X:#define __FLT_MAX__ 3.40282347e+38F
2830// S390X:#define __FLT_MIN_10_EXP__ (-37)
2831// S390X:#define __FLT_MIN_EXP__ (-125)
2832// S390X:#define __FLT_MIN__ 1.17549435e-38F
2833// S390X:#define __FLT_RADIX__ 2
2834// S390X:#define __INT16_TYPE__ short
2835// S390X:#define __INT32_TYPE__ int
2836// S390X:#define __INT64_C_SUFFIX__ L
2837// S390X:#define __INT64_TYPE__ long long int
2838// S390X:#define __INT8_TYPE__ char
2839// S390X:#define __INTMAX_MAX__ 9223372036854775807LL
2840// S390X:#define __INTMAX_TYPE__ long long int
2841// S390X:#define __INTMAX_WIDTH__ 64
2842// S390X:#define __INTPTR_TYPE__ long int
2843// S390X:#define __INTPTR_WIDTH__ 64
2844// S390X:#define __INT_MAX__ 2147483647
2845// S390X:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
2846// S390X:#define __LDBL_DIG__ 33
2847// S390X:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
2848// S390X:#define __LDBL_HAS_DENORM__ 1
2849// S390X:#define __LDBL_HAS_INFINITY__ 1
2850// S390X:#define __LDBL_HAS_QUIET_NAN__ 1
2851// S390X:#define __LDBL_MANT_DIG__ 113
2852// S390X:#define __LDBL_MAX_10_EXP__ 4932
2853// S390X:#define __LDBL_MAX_EXP__ 16384
2854// S390X:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
2855// S390X:#define __LDBL_MIN_10_EXP__ (-4931)
2856// S390X:#define __LDBL_MIN_EXP__ (-16381)
2857// S390X:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
2858// S390X:#define __LONG_LONG_MAX__ 9223372036854775807LL
2859// S390X:#define __LONG_MAX__ 9223372036854775807L
2860// S390X:#define __NO_INLINE__ 1
2861// S390X:#define __POINTER_WIDTH__ 64
2862// S390X:#define __PTRDIFF_TYPE__ long int
2863// S390X:#define __PTRDIFF_WIDTH__ 64
2864// S390X:#define __SCHAR_MAX__ 127
2865// S390X:#define __SHRT_MAX__ 32767
2866// S390X:#define __SIG_ATOMIC_WIDTH__ 32
2867// S390X:#define __SIZEOF_DOUBLE__ 8
2868// S390X:#define __SIZEOF_FLOAT__ 4
2869// S390X:#define __SIZEOF_INT__ 4
2870// S390X:#define __SIZEOF_LONG_DOUBLE__ 16
2871// S390X:#define __SIZEOF_LONG_LONG__ 8
2872// S390X:#define __SIZEOF_LONG__ 8
2873// S390X:#define __SIZEOF_POINTER__ 8
2874// S390X:#define __SIZEOF_PTRDIFF_T__ 8
2875// S390X:#define __SIZEOF_SHORT__ 2
2876// S390X:#define __SIZEOF_SIZE_T__ 8
2877// S390X:#define __SIZEOF_WCHAR_T__ 4
2878// S390X:#define __SIZEOF_WINT_T__ 4
2879// S390X:#define __SIZE_TYPE__ long unsigned int
2880// S390X:#define __SIZE_WIDTH__ 64
2881// S390X:#define __UINTMAX_TYPE__ long long unsigned int
2882// S390X:#define __USER_LABEL_PREFIX__ _
2883// S390X:#define __WCHAR_MAX__ 2147483647
2884// S390X:#define __WCHAR_TYPE__ int
2885// S390X:#define __WCHAR_WIDTH__ 32
2886// S390X:#define __WINT_TYPE__ int
2887// S390X:#define __WINT_WIDTH__ 32
2888// S390X:#define __s390__ 1
2889// S390X:#define __s390x__ 1
2890//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002891// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
Chris Lattnere963d092009-10-29 04:55:36 +00002892//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002893// SPARC-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +00002894// SPARC:#define __ALIGNOF_MAX_ALIGN_T__ 8
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002895// SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002896// SPARC:#define __CHAR16_TYPE__ unsigned short
2897// SPARC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002898// SPARC:#define __CHAR_BIT__ 8
2899// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2900// SPARC:#define __DBL_DIG__ 15
2901// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2902// SPARC:#define __DBL_HAS_DENORM__ 1
2903// SPARC:#define __DBL_HAS_INFINITY__ 1
2904// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
2905// SPARC:#define __DBL_MANT_DIG__ 53
2906// SPARC:#define __DBL_MAX_10_EXP__ 308
2907// SPARC:#define __DBL_MAX_EXP__ 1024
2908// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
2909// SPARC:#define __DBL_MIN_10_EXP__ (-307)
2910// SPARC:#define __DBL_MIN_EXP__ (-1021)
2911// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
2912// SPARC:#define __DECIMAL_DIG__ 17
2913// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2914// SPARC:#define __FLT_DIG__ 6
2915// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
2916// SPARC:#define __FLT_EVAL_METHOD__ 0
2917// SPARC:#define __FLT_HAS_DENORM__ 1
2918// SPARC:#define __FLT_HAS_INFINITY__ 1
2919// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
2920// SPARC:#define __FLT_MANT_DIG__ 24
2921// SPARC:#define __FLT_MAX_10_EXP__ 38
2922// SPARC:#define __FLT_MAX_EXP__ 128
2923// SPARC:#define __FLT_MAX__ 3.40282347e+38F
2924// SPARC:#define __FLT_MIN_10_EXP__ (-37)
2925// SPARC:#define __FLT_MIN_EXP__ (-125)
2926// SPARC:#define __FLT_MIN__ 1.17549435e-38F
2927// SPARC:#define __FLT_RADIX__ 2
2928// SPARC:#define __INT16_TYPE__ short
2929// SPARC:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002930// SPARC:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00002931// SPARC:#define __INT64_TYPE__ long long int
2932// SPARC:#define __INT8_TYPE__ char
2933// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00002934// SPARC:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002935// SPARC:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002936// SPARC:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002937// SPARC:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002938// SPARC:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002939// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002940// SPARC:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002941// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +00002942// SPARC:#define __LDBL_HAS_DENORM__ 1
2943// SPARC:#define __LDBL_HAS_INFINITY__ 1
2944// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
2945// SPARC:#define __LDBL_MANT_DIG__ 53
2946// SPARC:#define __LDBL_MAX_10_EXP__ 308
2947// SPARC:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002948// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +00002949// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
2950// SPARC:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002951// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnere963d092009-10-29 04:55:36 +00002952// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2953// SPARC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002954// SPARC-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00002955// SPARC:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002956// SPARC:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002957// SPARC:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbaracde99e2009-12-18 18:42:37 +00002958// SPARC:#define __REGISTER_PREFIX__
Chris Lattnere963d092009-10-29 04:55:36 +00002959// SPARC:#define __SCHAR_MAX__ 127
2960// SPARC:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002961// SPARC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002962// SPARC:#define __SIZEOF_DOUBLE__ 8
2963// SPARC:#define __SIZEOF_FLOAT__ 4
2964// SPARC:#define __SIZEOF_INT__ 4
2965// SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
2966// SPARC:#define __SIZEOF_LONG_LONG__ 8
2967// SPARC:#define __SIZEOF_LONG__ 4
2968// SPARC:#define __SIZEOF_POINTER__ 4
2969// SPARC:#define __SIZEOF_PTRDIFF_T__ 4
2970// SPARC:#define __SIZEOF_SHORT__ 2
2971// SPARC:#define __SIZEOF_SIZE_T__ 4
2972// SPARC:#define __SIZEOF_WCHAR_T__ 4
2973// SPARC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002974// SPARC:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00002975// SPARC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002976// SPARC:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002977// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002978// SPARC:#define __USER_LABEL_PREFIX__ _
Daniel Dunbar3b17a862011-03-31 00:53:51 +00002979// SPARC:#define __VERSION__ "4.2.1 Compatible
Chris Lattnere963d092009-10-29 04:55:36 +00002980// SPARC:#define __WCHAR_MAX__ 2147483647
2981// SPARC:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002982// SPARC:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002983// SPARC:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002984// SPARC:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002985// SPARC:#define __sparc 1
2986// SPARC:#define __sparc__ 1
2987// SPARC:#define __sparcv8 1
2988// SPARC:#define sparc 1
2989//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002990// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
Chris Lattnere963d092009-10-29 04:55:36 +00002991//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002992// TCE-NOT:#define _LP64
David Majnemer158ba132014-02-09 05:30:48 +00002993// TCE:#define __ALIGNOF_MAX_ALIGN_T__ 4
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002994// TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002995// TCE:#define __CHAR16_TYPE__ unsigned short
2996// TCE:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002997// TCE:#define __CHAR_BIT__ 8
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002998// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45
Chris Lattnere963d092009-10-29 04:55:36 +00002999// TCE:#define __DBL_DIG__ 6
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003000// TCE:#define __DBL_EPSILON__ 1.19209290e-7
Chris Lattnere963d092009-10-29 04:55:36 +00003001// TCE:#define __DBL_HAS_DENORM__ 1
3002// TCE:#define __DBL_HAS_INFINITY__ 1
3003// TCE:#define __DBL_HAS_QUIET_NAN__ 1
3004// TCE:#define __DBL_MANT_DIG__ 24
3005// TCE:#define __DBL_MAX_10_EXP__ 38
3006// TCE:#define __DBL_MAX_EXP__ 128
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003007// TCE:#define __DBL_MAX__ 3.40282347e+38
Chris Lattnere963d092009-10-29 04:55:36 +00003008// TCE:#define __DBL_MIN_10_EXP__ (-37)
3009// TCE:#define __DBL_MIN_EXP__ (-125)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003010// TCE:#define __DBL_MIN__ 1.17549435e-38
Chris Lattnere963d092009-10-29 04:55:36 +00003011// TCE:#define __DECIMAL_DIG__ -1
3012// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3013// TCE:#define __FLT_DIG__ 6
3014// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
3015// TCE:#define __FLT_EVAL_METHOD__ 0
3016// TCE:#define __FLT_HAS_DENORM__ 1
3017// TCE:#define __FLT_HAS_INFINITY__ 1
3018// TCE:#define __FLT_HAS_QUIET_NAN__ 1
3019// TCE:#define __FLT_MANT_DIG__ 24
3020// TCE:#define __FLT_MAX_10_EXP__ 38
3021// TCE:#define __FLT_MAX_EXP__ 128
3022// TCE:#define __FLT_MAX__ 3.40282347e+38F
3023// TCE:#define __FLT_MIN_10_EXP__ (-37)
3024// TCE:#define __FLT_MIN_EXP__ (-125)
3025// TCE:#define __FLT_MIN__ 1.17549435e-38F
3026// TCE:#define __FLT_RADIX__ 2
3027// TCE:#define __INT16_TYPE__ short
3028// TCE:#define __INT32_TYPE__ int
3029// TCE:#define __INT8_TYPE__ char
3030// TCE:#define __INTMAX_MAX__ 2147483647L
Ken Dyck9b25f782009-11-19 13:18:59 +00003031// TCE:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00003032// TCE:#define __INTMAX_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003033// TCE:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00003034// TCE:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003035// TCE:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003036// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45L
Chris Lattnere963d092009-10-29 04:55:36 +00003037// TCE:#define __LDBL_DIG__ 6
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003038// TCE:#define __LDBL_EPSILON__ 1.19209290e-7L
Chris Lattnere963d092009-10-29 04:55:36 +00003039// TCE:#define __LDBL_HAS_DENORM__ 1
3040// TCE:#define __LDBL_HAS_INFINITY__ 1
3041// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
3042// TCE:#define __LDBL_MANT_DIG__ 24
3043// TCE:#define __LDBL_MAX_10_EXP__ 38
3044// TCE:#define __LDBL_MAX_EXP__ 128
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003045// TCE:#define __LDBL_MAX__ 3.40282347e+38L
Chris Lattnere963d092009-10-29 04:55:36 +00003046// TCE:#define __LDBL_MIN_10_EXP__ (-37)
3047// TCE:#define __LDBL_MIN_EXP__ (-125)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003048// TCE:#define __LDBL_MIN__ 1.17549435e-38L
Chris Lattnere963d092009-10-29 04:55:36 +00003049// TCE:#define __LONG_LONG_MAX__ 2147483647LL
3050// TCE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003051// TCE-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00003052// TCE:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003053// TCE:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00003054// TCE:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003055// TCE:#define __SCHAR_MAX__ 127
3056// TCE:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00003057// TCE:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00003058// TCE:#define __SIZEOF_DOUBLE__ 4
3059// TCE:#define __SIZEOF_FLOAT__ 4
3060// TCE:#define __SIZEOF_INT__ 4
3061// TCE:#define __SIZEOF_LONG_DOUBLE__ 4
3062// TCE:#define __SIZEOF_LONG_LONG__ 4
3063// TCE:#define __SIZEOF_LONG__ 4
3064// TCE:#define __SIZEOF_POINTER__ 4
3065// TCE:#define __SIZEOF_PTRDIFF_T__ 4
3066// TCE:#define __SIZEOF_SHORT__ 2
3067// TCE:#define __SIZEOF_SIZE_T__ 4
3068// TCE:#define __SIZEOF_WCHAR_T__ 4
3069// TCE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003070// TCE:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00003071// TCE:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00003072// TCE:#define __SIZE_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003073// TCE:#define __TCE_V1__ 1
3074// TCE:#define __TCE__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00003075// TCE:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003076// TCE:#define __USER_LABEL_PREFIX__ _
3077// TCE:#define __WCHAR_MAX__ 2147483647
3078// TCE:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00003079// TCE:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003080// TCE:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00003081// TCE:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003082// TCE:#define __tce 1
3083// TCE:#define __tce__ 1
3084// TCE:#define tce 1
3085//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00003086// 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 +00003087//
3088// X86_64:#define _LP64 1
David Majnemer158ba132014-02-09 05:30:48 +00003089// X86_64:#define __ALIGNOF_MAX_ALIGN_T__ 16
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003090// X86_64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00003091// X86_64:#define __CHAR16_TYPE__ unsigned short
3092// X86_64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003093// X86_64:#define __CHAR_BIT__ 8
3094// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3095// X86_64:#define __DBL_DIG__ 15
3096// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
3097// X86_64:#define __DBL_HAS_DENORM__ 1
3098// X86_64:#define __DBL_HAS_INFINITY__ 1
3099// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
3100// X86_64:#define __DBL_MANT_DIG__ 53
3101// X86_64:#define __DBL_MAX_10_EXP__ 308
3102// X86_64:#define __DBL_MAX_EXP__ 1024
3103// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
3104// X86_64:#define __DBL_MIN_10_EXP__ (-307)
3105// X86_64:#define __DBL_MIN_EXP__ (-1021)
3106// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
3107// X86_64:#define __DECIMAL_DIG__ 21
3108// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3109// X86_64:#define __FLT_DIG__ 6
3110// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
3111// X86_64:#define __FLT_EVAL_METHOD__ 0
3112// X86_64:#define __FLT_HAS_DENORM__ 1
3113// X86_64:#define __FLT_HAS_INFINITY__ 1
3114// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
3115// X86_64:#define __FLT_MANT_DIG__ 24
3116// X86_64:#define __FLT_MAX_10_EXP__ 38
3117// X86_64:#define __FLT_MAX_EXP__ 128
3118// X86_64:#define __FLT_MAX__ 3.40282347e+38F
3119// X86_64:#define __FLT_MIN_10_EXP__ (-37)
3120// X86_64:#define __FLT_MIN_EXP__ (-125)
3121// X86_64:#define __FLT_MIN__ 1.17549435e-38F
3122// X86_64:#define __FLT_RADIX__ 2
3123// X86_64:#define __INT16_TYPE__ short
3124// X86_64:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00003125// X86_64:#define __INT64_C_SUFFIX__ L
Chris Lattnere963d092009-10-29 04:55:36 +00003126// X86_64:#define __INT64_TYPE__ long int
3127// X86_64:#define __INT8_TYPE__ char
3128// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck9b25f782009-11-19 13:18:59 +00003129// X86_64:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00003130// X86_64:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00003131// X86_64:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00003132// X86_64:#define __INTPTR_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003133// X86_64:#define __INT_MAX__ 2147483647
3134// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3135// X86_64:#define __LDBL_DIG__ 18
3136// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3137// X86_64:#define __LDBL_HAS_DENORM__ 1
3138// X86_64:#define __LDBL_HAS_INFINITY__ 1
3139// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
3140// X86_64:#define __LDBL_MANT_DIG__ 64
3141// X86_64:#define __LDBL_MAX_10_EXP__ 4932
3142// X86_64:#define __LDBL_MAX_EXP__ 16384
3143// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3144// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
3145// X86_64:#define __LDBL_MIN_EXP__ (-16381)
3146// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3147// X86_64:#define __LITTLE_ENDIAN__ 1
3148// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
3149// X86_64:#define __LONG_MAX__ 9223372036854775807L
3150// X86_64:#define __LP64__ 1
3151// X86_64:#define __MMX__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00003152// X86_64:#define __NO_MATH_INLINES 1
3153// X86_64:#define __POINTER_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00003154// X86_64:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00003155// X86_64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003156// X86_64:#define __REGISTER_PREFIX__
3157// X86_64:#define __SCHAR_MAX__ 127
3158// X86_64:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00003159// X86_64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00003160// X86_64:#define __SIZEOF_DOUBLE__ 8
3161// X86_64:#define __SIZEOF_FLOAT__ 4
3162// X86_64:#define __SIZEOF_INT__ 4
3163// X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
3164// X86_64:#define __SIZEOF_LONG_LONG__ 8
3165// X86_64:#define __SIZEOF_LONG__ 8
3166// X86_64:#define __SIZEOF_POINTER__ 8
3167// X86_64:#define __SIZEOF_PTRDIFF_T__ 8
3168// X86_64:#define __SIZEOF_SHORT__ 2
3169// X86_64:#define __SIZEOF_SIZE_T__ 8
3170// X86_64:#define __SIZEOF_WCHAR_T__ 4
3171// X86_64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003172// X86_64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnere963d092009-10-29 04:55:36 +00003173// X86_64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00003174// X86_64:#define __SIZE_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003175// X86_64:#define __SSE2_MATH__ 1
3176// X86_64:#define __SSE2__ 1
3177// X86_64:#define __SSE_MATH__ 1
3178// X86_64:#define __SSE__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00003179// X86_64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003180// X86_64:#define __USER_LABEL_PREFIX__ _
3181// X86_64:#define __WCHAR_MAX__ 2147483647
3182// X86_64:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00003183// X86_64:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003184// X86_64:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00003185// X86_64:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003186// X86_64:#define __amd64 1
3187// X86_64:#define __amd64__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00003188// X86_64:#define __x86_64 1
3189// X86_64:#define __x86_64__ 1
3190//
Douglas Gregore6d6e512011-01-12 21:19:25 +00003191// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
3192//
3193// X86_64-LINUX:#define _LP64 1
David Majnemer158ba132014-02-09 05:30:48 +00003194// X86_64-LINUX:#define __ALIGNOF_MAX_ALIGN_T__ 16
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003195// X86_64-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregore6d6e512011-01-12 21:19:25 +00003196// X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
3197// X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
3198// X86_64-LINUX:#define __CHAR_BIT__ 8
3199// X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3200// X86_64-LINUX:#define __DBL_DIG__ 15
3201// X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
3202// X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
3203// X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
3204// X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
3205// X86_64-LINUX:#define __DBL_MANT_DIG__ 53
3206// X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
3207// X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
3208// X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
3209// X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
3210// X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
3211// X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
3212// X86_64-LINUX:#define __DECIMAL_DIG__ 21
3213// X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3214// X86_64-LINUX:#define __FLT_DIG__ 6
3215// X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
3216// X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
3217// X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
3218// X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
3219// X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
3220// X86_64-LINUX:#define __FLT_MANT_DIG__ 24
3221// X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
3222// X86_64-LINUX:#define __FLT_MAX_EXP__ 128
3223// X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
3224// X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
3225// X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
3226// X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
3227// X86_64-LINUX:#define __FLT_RADIX__ 2
3228// X86_64-LINUX:#define __INT16_TYPE__ short
3229// X86_64-LINUX:#define __INT32_TYPE__ int
3230// X86_64-LINUX:#define __INT64_C_SUFFIX__ L
3231// X86_64-LINUX:#define __INT64_TYPE__ long int
3232// X86_64-LINUX:#define __INT8_TYPE__ char
3233// X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
3234// X86_64-LINUX:#define __INTMAX_TYPE__ long int
3235// X86_64-LINUX:#define __INTMAX_WIDTH__ 64
3236// X86_64-LINUX:#define __INTPTR_TYPE__ long int
3237// X86_64-LINUX:#define __INTPTR_WIDTH__ 64
3238// X86_64-LINUX:#define __INT_MAX__ 2147483647
3239// X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3240// X86_64-LINUX:#define __LDBL_DIG__ 18
3241// X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3242// X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
3243// X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
3244// X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
3245// X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
3246// X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
3247// X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
3248// X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3249// X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
3250// X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
3251// X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3252// X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
3253// X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
3254// X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
3255// X86_64-LINUX:#define __LP64__ 1
3256// X86_64-LINUX:#define __MMX__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00003257// X86_64-LINUX:#define __NO_MATH_INLINES 1
3258// X86_64-LINUX:#define __POINTER_WIDTH__ 64
3259// X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
3260// X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
3261// X86_64-LINUX:#define __REGISTER_PREFIX__
3262// X86_64-LINUX:#define __SCHAR_MAX__ 127
3263// X86_64-LINUX:#define __SHRT_MAX__ 32767
3264// X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
3265// X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
3266// X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
3267// X86_64-LINUX:#define __SIZEOF_INT__ 4
3268// X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
3269// X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
3270// X86_64-LINUX:#define __SIZEOF_LONG__ 8
3271// X86_64-LINUX:#define __SIZEOF_POINTER__ 8
3272// X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
3273// X86_64-LINUX:#define __SIZEOF_SHORT__ 2
3274// X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
3275// X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
3276// X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003277// X86_64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Douglas Gregore6d6e512011-01-12 21:19:25 +00003278// X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
3279// X86_64-LINUX:#define __SIZE_WIDTH__ 64
3280// X86_64-LINUX:#define __SSE2_MATH__ 1
3281// X86_64-LINUX:#define __SSE2__ 1
3282// X86_64-LINUX:#define __SSE_MATH__ 1
3283// X86_64-LINUX:#define __SSE__ 1
3284// X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
3285// X86_64-LINUX:#define __USER_LABEL_PREFIX__
3286// X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
3287// X86_64-LINUX:#define __WCHAR_TYPE__ int
3288// X86_64-LINUX:#define __WCHAR_WIDTH__ 32
3289// X86_64-LINUX:#define __WINT_TYPE__ unsigned int
3290// X86_64-LINUX:#define __WINT_WIDTH__ 32
3291// X86_64-LINUX:#define __amd64 1
3292// X86_64-LINUX:#define __amd64__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00003293// X86_64-LINUX:#define __x86_64 1
3294// X86_64-LINUX:#define __x86_64__ 1
3295//
Ed Schoutend0621462013-09-29 07:54:52 +00003296// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-unknown-freebsd9.1 < /dev/null | FileCheck -check-prefix X86_64-FREEBSD %s
3297//
3298// X86_64-FREEBSD:#define __FreeBSD__ 9
3299// X86_64-FREEBSD:#define __FreeBSD_cc_version 900001
3300// X86_64-FREEBSD:#define __STDC_MB_MIGHT_NEQ_WC__ 1
3301//
Joerg Sonnenberger0e921f22013-11-11 14:00:37 +00003302// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-netbsd < /dev/null | FileCheck -check-prefix X86_64-NETBSD %s
3303//
3304// X86_64-NETBSD:#define _LP64 1
David Majnemer158ba132014-02-09 05:30:48 +00003305// X86_64-NETBSD:#define __ALIGNOF_MAX_ALIGN_T__ 16
Joerg Sonnenberger0e921f22013-11-11 14:00:37 +00003306// X86_64-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
3307// X86_64-NETBSD:#define __CHAR16_TYPE__ unsigned short
3308// X86_64-NETBSD:#define __CHAR32_TYPE__ unsigned int
3309// X86_64-NETBSD:#define __CHAR_BIT__ 8
3310// X86_64-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3311// X86_64-NETBSD:#define __DBL_DIG__ 15
3312// X86_64-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
3313// X86_64-NETBSD:#define __DBL_HAS_DENORM__ 1
3314// X86_64-NETBSD:#define __DBL_HAS_INFINITY__ 1
3315// X86_64-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
3316// X86_64-NETBSD:#define __DBL_MANT_DIG__ 53
3317// X86_64-NETBSD:#define __DBL_MAX_10_EXP__ 308
3318// X86_64-NETBSD:#define __DBL_MAX_EXP__ 1024
3319// X86_64-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
3320// X86_64-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
3321// X86_64-NETBSD:#define __DBL_MIN_EXP__ (-1021)
3322// X86_64-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
3323// X86_64-NETBSD:#define __DECIMAL_DIG__ 21
3324// X86_64-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3325// X86_64-NETBSD:#define __FLT_DIG__ 6
3326// X86_64-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
3327// X86_64-NETBSD:#define __FLT_EVAL_METHOD__ 0
3328// X86_64-NETBSD:#define __FLT_HAS_DENORM__ 1
3329// X86_64-NETBSD:#define __FLT_HAS_INFINITY__ 1
3330// X86_64-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
3331// X86_64-NETBSD:#define __FLT_MANT_DIG__ 24
3332// X86_64-NETBSD:#define __FLT_MAX_10_EXP__ 38
3333// X86_64-NETBSD:#define __FLT_MAX_EXP__ 128
3334// X86_64-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
3335// X86_64-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
3336// X86_64-NETBSD:#define __FLT_MIN_EXP__ (-125)
3337// X86_64-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
3338// X86_64-NETBSD:#define __FLT_RADIX__ 2
3339// X86_64-NETBSD:#define __INT16_TYPE__ short
3340// X86_64-NETBSD:#define __INT32_TYPE__ int
3341// X86_64-NETBSD:#define __INT64_C_SUFFIX__ L
3342// X86_64-NETBSD:#define __INT64_TYPE__ long int
3343// X86_64-NETBSD:#define __INT8_TYPE__ char
3344// X86_64-NETBSD:#define __INTMAX_MAX__ 9223372036854775807L
3345// X86_64-NETBSD:#define __INTMAX_TYPE__ long int
3346// X86_64-NETBSD:#define __INTMAX_WIDTH__ 64
3347// X86_64-NETBSD:#define __INTPTR_TYPE__ long int
3348// X86_64-NETBSD:#define __INTPTR_WIDTH__ 64
3349// X86_64-NETBSD:#define __INT_MAX__ 2147483647
3350// X86_64-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3351// X86_64-NETBSD:#define __LDBL_DIG__ 18
3352// X86_64-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3353// X86_64-NETBSD:#define __LDBL_HAS_DENORM__ 1
3354// X86_64-NETBSD:#define __LDBL_HAS_INFINITY__ 1
3355// X86_64-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
3356// X86_64-NETBSD:#define __LDBL_MANT_DIG__ 64
3357// X86_64-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
3358// X86_64-NETBSD:#define __LDBL_MAX_EXP__ 16384
3359// X86_64-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3360// X86_64-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
3361// X86_64-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
3362// X86_64-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3363// X86_64-NETBSD:#define __LITTLE_ENDIAN__ 1
3364// X86_64-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
3365// X86_64-NETBSD:#define __LONG_MAX__ 9223372036854775807L
3366// X86_64-NETBSD:#define __LP64__ 1
3367// X86_64-NETBSD:#define __MMX__ 1
3368// X86_64-NETBSD:#define __NO_MATH_INLINES 1
3369// X86_64-NETBSD:#define __POINTER_WIDTH__ 64
3370// X86_64-NETBSD:#define __PTRDIFF_TYPE__ long int
3371// X86_64-NETBSD:#define __PTRDIFF_WIDTH__ 64
3372// X86_64-NETBSD:#define __REGISTER_PREFIX__
3373// X86_64-NETBSD:#define __SCHAR_MAX__ 127
3374// X86_64-NETBSD:#define __SHRT_MAX__ 32767
3375// X86_64-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
3376// X86_64-NETBSD:#define __SIZEOF_DOUBLE__ 8
3377// X86_64-NETBSD:#define __SIZEOF_FLOAT__ 4
3378// X86_64-NETBSD:#define __SIZEOF_INT__ 4
3379// X86_64-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 16
3380// X86_64-NETBSD:#define __SIZEOF_LONG_LONG__ 8
3381// X86_64-NETBSD:#define __SIZEOF_LONG__ 8
3382// X86_64-NETBSD:#define __SIZEOF_POINTER__ 8
3383// X86_64-NETBSD:#define __SIZEOF_PTRDIFF_T__ 8
3384// X86_64-NETBSD:#define __SIZEOF_SHORT__ 2
3385// X86_64-NETBSD:#define __SIZEOF_SIZE_T__ 8
3386// X86_64-NETBSD:#define __SIZEOF_WCHAR_T__ 4
3387// X86_64-NETBSD:#define __SIZEOF_WINT_T__ 4
3388// X86_64-NETBSD:#define __SIZE_MAX__ 18446744073709551615UL
3389// X86_64-NETBSD:#define __SIZE_TYPE__ long unsigned int
3390// X86_64-NETBSD:#define __SIZE_WIDTH__ 64
3391// X86_64-NETBSD:#define __SSE2_MATH__ 1
3392// X86_64-NETBSD:#define __SSE2__ 1
3393// X86_64-NETBSD:#define __SSE_MATH__ 1
3394// X86_64-NETBSD:#define __SSE__ 1
3395// X86_64-NETBSD:#define __UINTMAX_TYPE__ long unsigned int
3396// X86_64-NETBSD:#define __USER_LABEL_PREFIX__
3397// X86_64-NETBSD:#define __WCHAR_MAX__ 2147483647
3398// X86_64-NETBSD:#define __WCHAR_TYPE__ int
3399// X86_64-NETBSD:#define __WCHAR_WIDTH__ 32
3400// X86_64-NETBSD:#define __WINT_TYPE__ int
3401// X86_64-NETBSD:#define __WINT_WIDTH__ 32
3402// X86_64-NETBSD:#define __amd64 1
3403// X86_64-NETBSD:#define __amd64__ 1
3404// X86_64-NETBSD:#define __x86_64 1
3405// X86_64-NETBSD:#define __x86_64__ 1
3406//
Jakob Stoklund Olesen248520b2013-05-15 03:22:33 +00003407// 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 +00003408// SPARCV9:#define __INT64_TYPE__ long int
Jakob Stoklund Olesen248520b2013-05-15 03:22:33 +00003409// SPARCV9:#define __INTMAX_TYPE__ long int
3410// SPARCV9:#define __INTPTR_TYPE__ long int
3411// SPARCV9:#define __LONG_MAX__ 9223372036854775807L
3412// SPARCV9:#define __LP64__ 1
3413// SPARCV9:#define __SIZEOF_LONG__ 8
3414// SPARCV9:#define __SIZEOF_POINTER__ 8
3415//
Jakob Stoklund Olesen826df142013-05-19 17:53:37 +00003416// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-openbsd < /dev/null | FileCheck -check-prefix SPARC64-OBSD %s
3417// SPARC64-OBSD:#define __INT64_TYPE__ long long int
3418// SPARC64-OBSD:#define __INTMAX_TYPE__ long long int
3419// SPARC64-OBSD:#define __UINTMAX_TYPE__ long long unsigned int
3420//
Sylvestre Ledrufd7cd3552013-09-06 14:53:07 +00003421// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSD-DEFINE %s
3422// KFREEBSD-DEFINE:#define __FreeBSD_kernel__ 1
3423// KFREEBSD-DEFINE:#define __GLIBC__ 1
3424//
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003425// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i686-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSDI686-DEFINE %s
3426// KFREEBSDI686-DEFINE:#define __FreeBSD_kernel__ 1
3427// KFREEBSDI686-DEFINE:#define __GLIBC__ 1
3428//
David Chisnallb601c962012-07-03 20:49:52 +00003429// 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 +00003430// GNUSOURCE:#define _GNU_SOURCE 1
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003431//
Dan Gohman04f87202010-05-28 00:27:15 +00003432// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
3433// NORTTI: __GXX_ABI_VERSION
3434// NORTTI-NOT:#define __GXX_RTTI
3435// NORTTI: __STDC__
Evgeniy Stepanov94dc4c92012-04-26 12:08:09 +00003436//
3437// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
3438// ANDROID: __ANDROID__ 1
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003439//
Roman Divacky13b586f2013-07-03 19:45:54 +00003440// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd < /dev/null | FileCheck -check-prefix PPC64-FREEBSD %s
3441// PPC64-FREEBSD-NOT: #define __LONG_DOUBLE_128__ 1
Robert Lytton0e076492013-08-13 09:43:10 +00003442//
3443// RUN: %clang_cc1 -E -dM -ffreestanding -triple=xcore-none-none < /dev/null | FileCheck -check-prefix XCORE %s
3444// XCORE:#define __XS1B__ 1