blob: 630266f51b1ab52a7d7627bd57a0d62a5fb42743 [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
209// AARCH64-NETBSD:#define __ARM_64BIT_STATE 1
210// AARCH64-NETBSD:#define __ARM_ARCH 8
211// AARCH64-NETBSD:#define __ARM_ARCH_ISA_A64 1
212// AARCH64-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
213// AARCH64-NETBSD:#define __CHAR16_TYPE__ unsigned short
214// AARCH64-NETBSD:#define __CHAR32_TYPE__ unsigned int
215// AARCH64-NETBSD:#define __CHAR_BIT__ 8
216// AARCH64-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
217// AARCH64-NETBSD:#define __DBL_DIG__ 15
218// AARCH64-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
219// AARCH64-NETBSD:#define __DBL_HAS_DENORM__ 1
220// AARCH64-NETBSD:#define __DBL_HAS_INFINITY__ 1
221// AARCH64-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
222// AARCH64-NETBSD:#define __DBL_MANT_DIG__ 53
223// AARCH64-NETBSD:#define __DBL_MAX_10_EXP__ 308
224// AARCH64-NETBSD:#define __DBL_MAX_EXP__ 1024
225// AARCH64-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
226// AARCH64-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
227// AARCH64-NETBSD:#define __DBL_MIN_EXP__ (-1021)
228// AARCH64-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
229// AARCH64-NETBSD:#define __DECIMAL_DIG__ 36
230// AARCH64-NETBSD:#define __ELF__ 1
231// AARCH64-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
232// AARCH64-NETBSD:#define __FLT_DIG__ 6
233// AARCH64-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
234// AARCH64-NETBSD:#define __FLT_EVAL_METHOD__ 0
235// AARCH64-NETBSD:#define __FLT_HAS_DENORM__ 1
236// AARCH64-NETBSD:#define __FLT_HAS_INFINITY__ 1
237// AARCH64-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
238// AARCH64-NETBSD:#define __FLT_MANT_DIG__ 24
239// AARCH64-NETBSD:#define __FLT_MAX_10_EXP__ 38
240// AARCH64-NETBSD:#define __FLT_MAX_EXP__ 128
241// AARCH64-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
242// AARCH64-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
243// AARCH64-NETBSD:#define __FLT_MIN_EXP__ (-125)
244// AARCH64-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
245// AARCH64-NETBSD:#define __FLT_RADIX__ 2
246// AARCH64-NETBSD:#define __INT16_TYPE__ short
247// AARCH64-NETBSD:#define __INT32_TYPE__ int
248// AARCH64-NETBSD:#define __INT64_C_SUFFIX__ LL
249// AARCH64-NETBSD:#define __INT64_TYPE__ long long int
250// AARCH64-NETBSD:#define __INT8_TYPE__ char
251// AARCH64-NETBSD:#define __INTMAX_MAX__ 9223372036854775807LL
252// AARCH64-NETBSD:#define __INTMAX_TYPE__ long long int
253// AARCH64-NETBSD:#define __INTMAX_WIDTH__ 64
254// AARCH64-NETBSD:#define __INTPTR_TYPE__ long int
255// AARCH64-NETBSD:#define __INTPTR_WIDTH__ 64
256// AARCH64-NETBSD:#define __INT_MAX__ 2147483647
257// AARCH64-NETBSD:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
258// AARCH64-NETBSD:#define __LDBL_DIG__ 33
259// AARCH64-NETBSD:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
260// AARCH64-NETBSD:#define __LDBL_HAS_DENORM__ 1
261// AARCH64-NETBSD:#define __LDBL_HAS_INFINITY__ 1
262// AARCH64-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
263// AARCH64-NETBSD:#define __LDBL_MANT_DIG__ 113
264// AARCH64-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
265// AARCH64-NETBSD:#define __LDBL_MAX_EXP__ 16384
266// AARCH64-NETBSD:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
267// AARCH64-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
268// AARCH64-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
269// AARCH64-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
270// AARCH64-NETBSD:#define __LITTLE_ENDIAN__ 1
271// AARCH64-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
272// AARCH64-NETBSD:#define __LONG_MAX__ 9223372036854775807L
273// AARCH64-NETBSD:#define __LP64__ 1
274// AARCH64-NETBSD:#define __NetBSD__ 1
275// AARCH64-NETBSD:#define __POINTER_WIDTH__ 64
276// AARCH64-NETBSD:#define __PTRDIFF_TYPE__ long int
277// AARCH64-NETBSD:#define __PTRDIFF_WIDTH__ 64
278// AARCH64-NETBSD:#define __SCHAR_MAX__ 127
279// AARCH64-NETBSD:#define __SHRT_MAX__ 32767
280// AARCH64-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
281// AARCH64-NETBSD:#define __SIZEOF_DOUBLE__ 8
282// AARCH64-NETBSD:#define __SIZEOF_FLOAT__ 4
283// AARCH64-NETBSD:#define __SIZEOF_INT__ 4
284// AARCH64-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 16
285// AARCH64-NETBSD:#define __SIZEOF_LONG_LONG__ 8
286// AARCH64-NETBSD:#define __SIZEOF_LONG__ 8
287// AARCH64-NETBSD:#define __SIZEOF_POINTER__ 8
288// AARCH64-NETBSD:#define __SIZEOF_PTRDIFF_T__ 8
289// AARCH64-NETBSD:#define __SIZEOF_SHORT__ 2
290// AARCH64-NETBSD:#define __SIZEOF_SIZE_T__ 8
291// AARCH64-NETBSD:#define __SIZEOF_WCHAR_T__ 4
292// AARCH64-NETBSD:#define __SIZEOF_WINT_T__ 4
293// AARCH64-NETBSD:#define __SIZE_MAX__ 18446744073709551615UL
294// AARCH64-NETBSD:#define __SIZE_TYPE__ long unsigned int
295// AARCH64-NETBSD:#define __SIZE_WIDTH__ 64
296// AARCH64-NETBSD:#define __UINTMAX_TYPE__ long long unsigned int
297// AARCH64-NETBSD:#define __USER_LABEL_PREFIX__
298// AARCH64-NETBSD:#define __WCHAR_MAX__ 2147483647
299// AARCH64-NETBSD:#define __WCHAR_TYPE__ int
300// AARCH64-NETBSD:#define __WCHAR_WIDTH__ 32
301// AARCH64-NETBSD:#define __WINT_TYPE__ int
302// AARCH64-NETBSD:#define __WINT_WIDTH__ 32
303// AARCH64-NETBSD:#define __aarch64__ 1
304//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000305// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s
Chris Lattnere963d092009-10-29 04:55:36 +0000306//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000307// ARM-NOT:#define _LP64
Chris Lattnere963d092009-10-29 04:55:36 +0000308// ARM:#define __APCS_32__ 1
309// ARM:#define __ARMEL__ 1
Daniel Dunbaracde99e2009-12-18 18:42:37 +0000310// ARM:#define __ARM_ARCH_6J__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000311// ARM:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +0000312// ARM:#define __CHAR16_TYPE__ unsigned short
313// ARM:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000314// ARM:#define __CHAR_BIT__ 8
315// ARM:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
316// ARM:#define __DBL_DIG__ 15
317// ARM:#define __DBL_EPSILON__ 2.2204460492503131e-16
318// ARM:#define __DBL_HAS_DENORM__ 1
319// ARM:#define __DBL_HAS_INFINITY__ 1
320// ARM:#define __DBL_HAS_QUIET_NAN__ 1
321// ARM:#define __DBL_MANT_DIG__ 53
322// ARM:#define __DBL_MAX_10_EXP__ 308
323// ARM:#define __DBL_MAX_EXP__ 1024
324// ARM:#define __DBL_MAX__ 1.7976931348623157e+308
325// ARM:#define __DBL_MIN_10_EXP__ (-307)
326// ARM:#define __DBL_MIN_EXP__ (-1021)
327// ARM:#define __DBL_MIN__ 2.2250738585072014e-308
328// ARM:#define __DECIMAL_DIG__ 17
329// ARM:#define __FLT_DENORM_MIN__ 1.40129846e-45F
330// ARM:#define __FLT_DIG__ 6
331// ARM:#define __FLT_EPSILON__ 1.19209290e-7F
332// ARM:#define __FLT_EVAL_METHOD__ 0
333// ARM:#define __FLT_HAS_DENORM__ 1
334// ARM:#define __FLT_HAS_INFINITY__ 1
335// ARM:#define __FLT_HAS_QUIET_NAN__ 1
336// ARM:#define __FLT_MANT_DIG__ 24
337// ARM:#define __FLT_MAX_10_EXP__ 38
338// ARM:#define __FLT_MAX_EXP__ 128
339// ARM:#define __FLT_MAX__ 3.40282347e+38F
340// ARM:#define __FLT_MIN_10_EXP__ (-37)
341// ARM:#define __FLT_MIN_EXP__ (-125)
342// ARM:#define __FLT_MIN__ 1.17549435e-38F
343// ARM:#define __FLT_RADIX__ 2
344// ARM:#define __INT16_TYPE__ short
345// ARM:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +0000346// ARM:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +0000347// ARM:#define __INT64_TYPE__ long long int
348// ARM:#define __INT8_TYPE__ char
349// ARM:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +0000350// ARM:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +0000351// ARM:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +0000352// ARM:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +0000353// ARM:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000354// ARM:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000355// ARM:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +0000356// ARM:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000357// ARM:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +0000358// ARM:#define __LDBL_HAS_DENORM__ 1
359// ARM:#define __LDBL_HAS_INFINITY__ 1
360// ARM:#define __LDBL_HAS_QUIET_NAN__ 1
361// ARM:#define __LDBL_MANT_DIG__ 53
362// ARM:#define __LDBL_MAX_10_EXP__ 308
363// ARM:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000364// ARM:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +0000365// ARM:#define __LDBL_MIN_10_EXP__ (-307)
366// ARM:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000367// ARM:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnere963d092009-10-29 04:55:36 +0000368// ARM:#define __LITTLE_ENDIAN__ 1
369// ARM:#define __LONG_LONG_MAX__ 9223372036854775807LL
370// ARM:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000371// ARM-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +0000372// ARM:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000373// ARM:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +0000374// ARM:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbaracde99e2009-12-18 18:42:37 +0000375// ARM:#define __REGISTER_PREFIX__
Chris Lattnere963d092009-10-29 04:55:36 +0000376// ARM:#define __SCHAR_MAX__ 127
377// ARM:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +0000378// ARM:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +0000379// ARM:#define __SIZEOF_DOUBLE__ 8
380// ARM:#define __SIZEOF_FLOAT__ 4
381// ARM:#define __SIZEOF_INT__ 4
382// ARM:#define __SIZEOF_LONG_DOUBLE__ 8
383// ARM:#define __SIZEOF_LONG_LONG__ 8
384// ARM:#define __SIZEOF_LONG__ 4
385// ARM:#define __SIZEOF_POINTER__ 4
386// ARM:#define __SIZEOF_PTRDIFF_T__ 4
387// ARM:#define __SIZEOF_SHORT__ 2
388// ARM:#define __SIZEOF_SIZE_T__ 4
389// ARM:#define __SIZEOF_WCHAR_T__ 4
390// ARM:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000391// ARM:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +0000392// ARM:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +0000393// ARM:#define __SIZE_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000394// ARM:#define __THUMB_INTERWORK__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +0000395// ARM:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000396// ARM:#define __USER_LABEL_PREFIX__ _
James Molloyc445be42011-11-23 13:35:08 +0000397// ARM:#define __WCHAR_MAX__ 4294967295U
398// ARM:#define __WCHAR_TYPE__ unsigned int
Ken Dyck0138b9e2009-11-19 15:47:58 +0000399// ARM:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000400// ARM:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +0000401// ARM:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000402// ARM:#define __arm 1
403// ARM:#define __arm__ 1
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000404
405// 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
406//
407// ARM-NOT:#define _LP64
408// ARMEABISOFTFP:#define __APCS_32__ 1
409// ARMEABISOFTFP:#define __ARMEL__ 1
410// ARMEABISOFTFP:#define __ARM_ARCH 6
411// ARMEABISOFTFP:#define __ARM_ARCH_6J__ 1
412// ARMEABISOFTFP:#define __ARM_EABI__ 1
413// ARMEABISOFTFP:#define __ARM_PCS 1
414// ARMEABISOFTFP-NOT:#define __ARM_PCS_VFP 1
415// ARMEABISOFTFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
416// ARMEABISOFTFP:#define __CHAR16_TYPE__ unsigned short
417// ARMEABISOFTFP:#define __CHAR32_TYPE__ unsigned int
418// ARMEABISOFTFP:#define __CHAR_BIT__ 8
419// ARMEABISOFTFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
420// ARMEABISOFTFP:#define __DBL_DIG__ 15
421// ARMEABISOFTFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
422// ARMEABISOFTFP:#define __DBL_HAS_DENORM__ 1
423// ARMEABISOFTFP:#define __DBL_HAS_INFINITY__ 1
424// ARMEABISOFTFP:#define __DBL_HAS_QUIET_NAN__ 1
425// ARMEABISOFTFP:#define __DBL_MANT_DIG__ 53
426// ARMEABISOFTFP:#define __DBL_MAX_10_EXP__ 308
427// ARMEABISOFTFP:#define __DBL_MAX_EXP__ 1024
428// ARMEABISOFTFP:#define __DBL_MAX__ 1.7976931348623157e+308
429// ARMEABISOFTFP:#define __DBL_MIN_10_EXP__ (-307)
430// ARMEABISOFTFP:#define __DBL_MIN_EXP__ (-1021)
431// ARMEABISOFTFP:#define __DBL_MIN__ 2.2250738585072014e-308
432// ARMEABISOFTFP:#define __DECIMAL_DIG__ 17
433// ARMEABISOFTFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
434// ARMEABISOFTFP:#define __FLT_DIG__ 6
435// ARMEABISOFTFP:#define __FLT_EPSILON__ 1.19209290e-7F
436// ARMEABISOFTFP:#define __FLT_EVAL_METHOD__ 0
437// ARMEABISOFTFP:#define __FLT_HAS_DENORM__ 1
438// ARMEABISOFTFP:#define __FLT_HAS_INFINITY__ 1
439// ARMEABISOFTFP:#define __FLT_HAS_QUIET_NAN__ 1
440// ARMEABISOFTFP:#define __FLT_MANT_DIG__ 24
441// ARMEABISOFTFP:#define __FLT_MAX_10_EXP__ 38
442// ARMEABISOFTFP:#define __FLT_MAX_EXP__ 128
443// ARMEABISOFTFP:#define __FLT_MAX__ 3.40282347e+38F
444// ARMEABISOFTFP:#define __FLT_MIN_10_EXP__ (-37)
445// ARMEABISOFTFP:#define __FLT_MIN_EXP__ (-125)
446// ARMEABISOFTFP:#define __FLT_MIN__ 1.17549435e-38F
447// ARMEABISOFTFP:#define __FLT_RADIX__ 2
448// ARMEABISOFTFP:#define __INT16_TYPE__ short
449// ARMEABISOFTFP:#define __INT32_TYPE__ int
450// ARMEABISOFTFP:#define __INT64_C_SUFFIX__ LL
451// ARMEABISOFTFP:#define __INT64_TYPE__ long long int
452// ARMEABISOFTFP:#define __INT8_TYPE__ char
453// ARMEABISOFTFP:#define __INTMAX_MAX__ 9223372036854775807LL
454// ARMEABISOFTFP:#define __INTMAX_TYPE__ long long int
455// ARMEABISOFTFP:#define __INTMAX_WIDTH__ 64
456// ARMEABISOFTFP:#define __INTPTR_TYPE__ long int
457// ARMEABISOFTFP:#define __INTPTR_WIDTH__ 32
458// ARMEABISOFTFP:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000459// ARMEABISOFTFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000460// ARMEABISOFTFP:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000461// ARMEABISOFTFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000462// ARMEABISOFTFP:#define __LDBL_HAS_DENORM__ 1
463// ARMEABISOFTFP:#define __LDBL_HAS_INFINITY__ 1
464// ARMEABISOFTFP:#define __LDBL_HAS_QUIET_NAN__ 1
465// ARMEABISOFTFP:#define __LDBL_MANT_DIG__ 53
466// ARMEABISOFTFP:#define __LDBL_MAX_10_EXP__ 308
467// ARMEABISOFTFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000468// ARMEABISOFTFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000469// ARMEABISOFTFP:#define __LDBL_MIN_10_EXP__ (-307)
470// ARMEABISOFTFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000471// ARMEABISOFTFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000472// ARMEABISOFTFP:#define __LITTLE_ENDIAN__ 1
473// ARMEABISOFTFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
474// ARMEABISOFTFP:#define __LONG_MAX__ 2147483647L
475// ARMEABISOFTFP-NOT:#define __LP64__
476// ARMEABISOFTFP:#define __POINTER_WIDTH__ 32
477// ARMEABISOFTFP:#define __PTRDIFF_TYPE__ int
478// ARMEABISOFTFP:#define __PTRDIFF_WIDTH__ 32
479// ARMEABISOFTFP:#define __REGISTER_PREFIX__
480// ARMEABISOFTFP:#define __SCHAR_MAX__ 127
481// ARMEABISOFTFP:#define __SHRT_MAX__ 32767
482// ARMEABISOFTFP:#define __SIG_ATOMIC_WIDTH__ 32
483// ARMEABISOFTFP:#define __SIZEOF_DOUBLE__ 8
484// ARMEABISOFTFP:#define __SIZEOF_FLOAT__ 4
485// ARMEABISOFTFP:#define __SIZEOF_INT__ 4
486// ARMEABISOFTFP:#define __SIZEOF_LONG_DOUBLE__ 8
487// ARMEABISOFTFP:#define __SIZEOF_LONG_LONG__ 8
488// ARMEABISOFTFP:#define __SIZEOF_LONG__ 4
489// ARMEABISOFTFP:#define __SIZEOF_POINTER__ 4
490// ARMEABISOFTFP:#define __SIZEOF_PTRDIFF_T__ 4
491// ARMEABISOFTFP:#define __SIZEOF_SHORT__ 2
492// ARMEABISOFTFP:#define __SIZEOF_SIZE_T__ 4
493// ARMEABISOFTFP:#define __SIZEOF_WCHAR_T__ 4
494// ARMEABISOFTFP:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000495// ARMEABISOFTFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000496// ARMEABISOFTFP:#define __SIZE_TYPE__ unsigned int
497// ARMEABISOFTFP:#define __SIZE_WIDTH__ 32
498// ARMEABISOFTFP:#define __SOFTFP__ 1
499// ARMEABISOFTFP:#define __THUMB_INTERWORK__ 1
500// ARMEABISOFTFP:#define __UINTMAX_TYPE__ long long unsigned int
501// ARMEABISOFTFP:#define __USER_LABEL_PREFIX__
502// ARMEABISOFTFP:#define __WCHAR_MAX__ 4294967295U
503// ARMEABISOFTFP:#define __WCHAR_TYPE__ unsigned int
504// ARMEABISOFTFP:#define __WCHAR_WIDTH__ 32
505// ARMEABISOFTFP:#define __WINT_TYPE__ unsigned int
506// ARMEABISOFTFP:#define __WINT_WIDTH__ 32
507// ARMEABISOFTFP:#define __arm 1
508// ARMEABISOFTFP:#define __arm__ 1
509
510// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-linux-gnueabi < /dev/null | FileCheck -check-prefix ARMEABIHARDFP %s
511//
512// ARM-NOT:#define _LP64
513// ARMEABIHARDFP:#define __APCS_32__ 1
514// ARMEABIHARDFP:#define __ARMEL__ 1
515// ARMEABIHARDFP:#define __ARM_ARCH 6
516// ARMEABIHARDFP:#define __ARM_ARCH_6J__ 1
517// ARMEABIHARDFP:#define __ARM_EABI__ 1
518// ARMEABIHARDFP:#define __ARM_PCS 1
519// ARMEABIHARDFP:#define __ARM_PCS_VFP 1
520// ARMEABIHARDFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
521// ARMEABIHARDFP:#define __CHAR16_TYPE__ unsigned short
522// ARMEABIHARDFP:#define __CHAR32_TYPE__ unsigned int
523// ARMEABIHARDFP:#define __CHAR_BIT__ 8
524// ARMEABIHARDFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
525// ARMEABIHARDFP:#define __DBL_DIG__ 15
526// ARMEABIHARDFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
527// ARMEABIHARDFP:#define __DBL_HAS_DENORM__ 1
528// ARMEABIHARDFP:#define __DBL_HAS_INFINITY__ 1
529// ARMEABIHARDFP:#define __DBL_HAS_QUIET_NAN__ 1
530// ARMEABIHARDFP:#define __DBL_MANT_DIG__ 53
531// ARMEABIHARDFP:#define __DBL_MAX_10_EXP__ 308
532// ARMEABIHARDFP:#define __DBL_MAX_EXP__ 1024
533// ARMEABIHARDFP:#define __DBL_MAX__ 1.7976931348623157e+308
534// ARMEABIHARDFP:#define __DBL_MIN_10_EXP__ (-307)
535// ARMEABIHARDFP:#define __DBL_MIN_EXP__ (-1021)
536// ARMEABIHARDFP:#define __DBL_MIN__ 2.2250738585072014e-308
537// ARMEABIHARDFP:#define __DECIMAL_DIG__ 17
538// ARMEABIHARDFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
539// ARMEABIHARDFP:#define __FLT_DIG__ 6
540// ARMEABIHARDFP:#define __FLT_EPSILON__ 1.19209290e-7F
541// ARMEABIHARDFP:#define __FLT_EVAL_METHOD__ 0
542// ARMEABIHARDFP:#define __FLT_HAS_DENORM__ 1
543// ARMEABIHARDFP:#define __FLT_HAS_INFINITY__ 1
544// ARMEABIHARDFP:#define __FLT_HAS_QUIET_NAN__ 1
545// ARMEABIHARDFP:#define __FLT_MANT_DIG__ 24
546// ARMEABIHARDFP:#define __FLT_MAX_10_EXP__ 38
547// ARMEABIHARDFP:#define __FLT_MAX_EXP__ 128
548// ARMEABIHARDFP:#define __FLT_MAX__ 3.40282347e+38F
549// ARMEABIHARDFP:#define __FLT_MIN_10_EXP__ (-37)
550// ARMEABIHARDFP:#define __FLT_MIN_EXP__ (-125)
551// ARMEABIHARDFP:#define __FLT_MIN__ 1.17549435e-38F
552// ARMEABIHARDFP:#define __FLT_RADIX__ 2
553// ARMEABIHARDFP:#define __INT16_TYPE__ short
554// ARMEABIHARDFP:#define __INT32_TYPE__ int
555// ARMEABIHARDFP:#define __INT64_C_SUFFIX__ LL
556// ARMEABIHARDFP:#define __INT64_TYPE__ long long int
557// ARMEABIHARDFP:#define __INT8_TYPE__ char
558// ARMEABIHARDFP:#define __INTMAX_MAX__ 9223372036854775807LL
559// ARMEABIHARDFP:#define __INTMAX_TYPE__ long long int
560// ARMEABIHARDFP:#define __INTMAX_WIDTH__ 64
561// ARMEABIHARDFP:#define __INTPTR_TYPE__ long int
562// ARMEABIHARDFP:#define __INTPTR_WIDTH__ 32
563// ARMEABIHARDFP:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000564// ARMEABIHARDFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000565// ARMEABIHARDFP:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000566// ARMEABIHARDFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000567// ARMEABIHARDFP:#define __LDBL_HAS_DENORM__ 1
568// ARMEABIHARDFP:#define __LDBL_HAS_INFINITY__ 1
569// ARMEABIHARDFP:#define __LDBL_HAS_QUIET_NAN__ 1
570// ARMEABIHARDFP:#define __LDBL_MANT_DIG__ 53
571// ARMEABIHARDFP:#define __LDBL_MAX_10_EXP__ 308
572// ARMEABIHARDFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000573// ARMEABIHARDFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000574// ARMEABIHARDFP:#define __LDBL_MIN_10_EXP__ (-307)
575// ARMEABIHARDFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000576// ARMEABIHARDFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000577// ARMEABIHARDFP:#define __LITTLE_ENDIAN__ 1
578// ARMEABIHARDFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
579// ARMEABIHARDFP:#define __LONG_MAX__ 2147483647L
580// ARMEABIHARDFP-NOT:#define __LP64__
581// ARMEABIHARDFP:#define __POINTER_WIDTH__ 32
582// ARMEABIHARDFP:#define __PTRDIFF_TYPE__ int
583// ARMEABIHARDFP:#define __PTRDIFF_WIDTH__ 32
584// ARMEABIHARDFP:#define __REGISTER_PREFIX__
585// ARMEABIHARDFP:#define __SCHAR_MAX__ 127
586// ARMEABIHARDFP:#define __SHRT_MAX__ 32767
587// ARMEABIHARDFP:#define __SIG_ATOMIC_WIDTH__ 32
588// ARMEABIHARDFP:#define __SIZEOF_DOUBLE__ 8
589// ARMEABIHARDFP:#define __SIZEOF_FLOAT__ 4
590// ARMEABIHARDFP:#define __SIZEOF_INT__ 4
591// ARMEABIHARDFP:#define __SIZEOF_LONG_DOUBLE__ 8
592// ARMEABIHARDFP:#define __SIZEOF_LONG_LONG__ 8
593// ARMEABIHARDFP:#define __SIZEOF_LONG__ 4
594// ARMEABIHARDFP:#define __SIZEOF_POINTER__ 4
595// ARMEABIHARDFP:#define __SIZEOF_PTRDIFF_T__ 4
596// ARMEABIHARDFP:#define __SIZEOF_SHORT__ 2
597// ARMEABIHARDFP:#define __SIZEOF_SIZE_T__ 4
598// ARMEABIHARDFP:#define __SIZEOF_WCHAR_T__ 4
599// ARMEABIHARDFP:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000600// ARMEABIHARDFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000601// ARMEABIHARDFP:#define __SIZE_TYPE__ unsigned int
602// ARMEABIHARDFP:#define __SIZE_WIDTH__ 32
603// ARMEABIHARDFP-NOT:#define __SOFTFP__ 1
604// ARMEABIHARDFP:#define __THUMB_INTERWORK__ 1
605// ARMEABIHARDFP:#define __UINTMAX_TYPE__ long long unsigned int
606// ARMEABIHARDFP:#define __USER_LABEL_PREFIX__
607// ARMEABIHARDFP:#define __WCHAR_MAX__ 4294967295U
608// ARMEABIHARDFP:#define __WCHAR_TYPE__ unsigned int
609// ARMEABIHARDFP:#define __WCHAR_WIDTH__ 32
610// ARMEABIHARDFP:#define __WINT_TYPE__ unsigned int
611// ARMEABIHARDFP:#define __WINT_WIDTH__ 32
612// ARMEABIHARDFP:#define __arm 1
613// ARMEABIHARDFP:#define __arm__ 1
614
Tim Northovere77f78c2013-11-11 19:11:22 +0000615// RUN: %clang -target arm -arch armv7s -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
616// RUN: %clang -target arm -arch armv6m -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
617// RUN: %clang -target arm -arch armv7m -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
618// RUN: %clang -target arm -arch armv7em -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
619// RUN: %clang -target thumbv7-apple-darwin-eabi -arch armv7 -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
620// ARM-DARWIN-NO-EABI-NOT: #define __ARM_EABI__ 1
621
Silviu Barangaf9671dd2013-10-21 10:54:53 +0000622// Check that -mhwdiv works properly for targets which don't have the hwdiv feature enabled by default.
623
624// RUN: %clang -target arm -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-ARM %s
625// ARMHWDIV-ARM:#define __ARM_ARCH_EXT_IDIV__ 1
626
627// RUN: %clang -target arm -mthumb -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-THUMB %s
628// THUMBHWDIV-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1
629
630// RUN: %clang -target arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-FALSE %s
631// ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
632
633// RUN: %clang -target arm -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMB-FALSE %s
634// THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
635
636// RUN: %clang -target arm -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-ARM-FALSE %s
637// THUMBHWDIV-ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
638
639// RUN: %clang -target arm -mthumb -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-THUMB-FALSE %s
640// ARMHWDIV-THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
641
Weiming Zhaofb5c21a2014-01-22 18:42:13 +0000642// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armv8-none-none < /dev/null | FileCheck -check-prefix ARMv8 %s
643// ARMv8: #define __THUMB_INTERWORK__ 1
644// ARMv8-NOT: #define __thumb2__
645
646// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv8 < /dev/null | FileCheck -check-prefix Thumbv8 %s
647// Thumbv8: #define __THUMB_INTERWORK__ 1
648// Thumbv8: #define __thumb2__
649
650// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv5 < /dev/null | FileCheck -check-prefix Thumbv5 %s
651// Thumbv5: #define __THUMB_INTERWORK__ 1
652// Thumbv5-NOT: #define __thumb2__
653
654// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv6t2 < /dev/null | FileCheck -check-prefix Thumbv6t2 %s
655// Thumbv6t2: #define __THUMB_INTERWORK__ 1
656// Thumbv6t2: #define __thumb2__
657
658// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv7 < /dev/null | FileCheck -check-prefix Thumbv7 %s
659// Thumbv7: #define __THUMB_INTERWORK__ 1
660// Thumbv7: #define __thumb2__
661
Chris Lattnere963d092009-10-29 04:55:36 +0000662//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000663// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
Chris Lattnere963d092009-10-29 04:55:36 +0000664//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000665// I386-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000666// I386:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +0000667// I386:#define __CHAR16_TYPE__ unsigned short
668// I386:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000669// I386:#define __CHAR_BIT__ 8
670// I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
671// I386:#define __DBL_DIG__ 15
672// I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
673// I386:#define __DBL_HAS_DENORM__ 1
674// I386:#define __DBL_HAS_INFINITY__ 1
675// I386:#define __DBL_HAS_QUIET_NAN__ 1
676// I386:#define __DBL_MANT_DIG__ 53
677// I386:#define __DBL_MAX_10_EXP__ 308
678// I386:#define __DBL_MAX_EXP__ 1024
679// I386:#define __DBL_MAX__ 1.7976931348623157e+308
680// I386:#define __DBL_MIN_10_EXP__ (-307)
681// I386:#define __DBL_MIN_EXP__ (-1021)
682// I386:#define __DBL_MIN__ 2.2250738585072014e-308
683// I386:#define __DECIMAL_DIG__ 21
684// I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
685// I386:#define __FLT_DIG__ 6
686// I386:#define __FLT_EPSILON__ 1.19209290e-7F
Benjamin Kramercf501472011-12-28 15:47:06 +0000687// I386:#define __FLT_EVAL_METHOD__ 2
Chris Lattnere963d092009-10-29 04:55:36 +0000688// I386:#define __FLT_HAS_DENORM__ 1
689// I386:#define __FLT_HAS_INFINITY__ 1
690// I386:#define __FLT_HAS_QUIET_NAN__ 1
691// I386:#define __FLT_MANT_DIG__ 24
692// I386:#define __FLT_MAX_10_EXP__ 38
693// I386:#define __FLT_MAX_EXP__ 128
694// I386:#define __FLT_MAX__ 3.40282347e+38F
695// I386:#define __FLT_MIN_10_EXP__ (-37)
696// I386:#define __FLT_MIN_EXP__ (-125)
697// I386:#define __FLT_MIN__ 1.17549435e-38F
698// I386:#define __FLT_RADIX__ 2
699// I386:#define __INT16_TYPE__ short
700// I386:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +0000701// I386:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +0000702// I386:#define __INT64_TYPE__ long long int
703// I386:#define __INT8_TYPE__ char
704// I386:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +0000705// I386:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +0000706// I386:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +0000707// I386:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +0000708// I386:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000709// I386:#define __INT_MAX__ 2147483647
710// I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
711// I386:#define __LDBL_DIG__ 18
712// I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
713// I386:#define __LDBL_HAS_DENORM__ 1
714// I386:#define __LDBL_HAS_INFINITY__ 1
715// I386:#define __LDBL_HAS_QUIET_NAN__ 1
716// I386:#define __LDBL_MANT_DIG__ 64
717// I386:#define __LDBL_MAX_10_EXP__ 4932
718// I386:#define __LDBL_MAX_EXP__ 16384
719// I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
720// I386:#define __LDBL_MIN_10_EXP__ (-4931)
721// I386:#define __LDBL_MIN_EXP__ (-16381)
722// I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
723// I386:#define __LITTLE_ENDIAN__ 1
724// I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
725// I386:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000726// I386-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +0000727// I386:#define __NO_MATH_INLINES 1
728// I386:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000729// I386:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +0000730// I386:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000731// I386:#define __REGISTER_PREFIX__
732// I386:#define __SCHAR_MAX__ 127
733// I386:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +0000734// I386:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +0000735// I386:#define __SIZEOF_DOUBLE__ 8
736// I386:#define __SIZEOF_FLOAT__ 4
737// I386:#define __SIZEOF_INT__ 4
738// I386:#define __SIZEOF_LONG_DOUBLE__ 12
739// I386:#define __SIZEOF_LONG_LONG__ 8
740// I386:#define __SIZEOF_LONG__ 4
741// I386:#define __SIZEOF_POINTER__ 4
742// I386:#define __SIZEOF_PTRDIFF_T__ 4
743// I386:#define __SIZEOF_SHORT__ 2
744// I386:#define __SIZEOF_SIZE_T__ 4
745// I386:#define __SIZEOF_WCHAR_T__ 4
746// I386:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000747// I386:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +0000748// I386:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +0000749// I386:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000750// I386:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000751// I386:#define __USER_LABEL_PREFIX__ _
752// I386:#define __WCHAR_MAX__ 2147483647
753// I386:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +0000754// I386:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000755// I386:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +0000756// I386:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000757// I386:#define __i386 1
758// I386:#define __i386__ 1
Chris Lattnere963d092009-10-29 04:55:36 +0000759// I386:#define i386 1
760//
Benjamin Kramercf501472011-12-28 15:47:06 +0000761// 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 +0000762//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000763// I386-LINUX-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000764// I386-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregore6d6e512011-01-12 21:19:25 +0000765// I386-LINUX:#define __CHAR16_TYPE__ unsigned short
766// I386-LINUX:#define __CHAR32_TYPE__ unsigned int
767// I386-LINUX:#define __CHAR_BIT__ 8
768// I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
769// I386-LINUX:#define __DBL_DIG__ 15
770// I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
771// I386-LINUX:#define __DBL_HAS_DENORM__ 1
772// I386-LINUX:#define __DBL_HAS_INFINITY__ 1
773// I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
774// I386-LINUX:#define __DBL_MANT_DIG__ 53
775// I386-LINUX:#define __DBL_MAX_10_EXP__ 308
776// I386-LINUX:#define __DBL_MAX_EXP__ 1024
777// I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
778// I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
779// I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
780// I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
781// I386-LINUX:#define __DECIMAL_DIG__ 21
782// I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
783// I386-LINUX:#define __FLT_DIG__ 6
784// I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
785// I386-LINUX:#define __FLT_EVAL_METHOD__ 0
786// I386-LINUX:#define __FLT_HAS_DENORM__ 1
787// I386-LINUX:#define __FLT_HAS_INFINITY__ 1
788// I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
789// I386-LINUX:#define __FLT_MANT_DIG__ 24
790// I386-LINUX:#define __FLT_MAX_10_EXP__ 38
791// I386-LINUX:#define __FLT_MAX_EXP__ 128
792// I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
793// I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
794// I386-LINUX:#define __FLT_MIN_EXP__ (-125)
795// I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
796// I386-LINUX:#define __FLT_RADIX__ 2
797// I386-LINUX:#define __INT16_TYPE__ short
798// I386-LINUX:#define __INT32_TYPE__ int
799// I386-LINUX:#define __INT64_C_SUFFIX__ LL
800// I386-LINUX:#define __INT64_TYPE__ long long int
801// I386-LINUX:#define __INT8_TYPE__ char
802// I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
803// I386-LINUX:#define __INTMAX_TYPE__ long long int
804// I386-LINUX:#define __INTMAX_WIDTH__ 64
805// I386-LINUX:#define __INTPTR_TYPE__ int
806// I386-LINUX:#define __INTPTR_WIDTH__ 32
807// I386-LINUX:#define __INT_MAX__ 2147483647
808// I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
809// I386-LINUX:#define __LDBL_DIG__ 18
810// I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
811// I386-LINUX:#define __LDBL_HAS_DENORM__ 1
812// I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
813// I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
814// I386-LINUX:#define __LDBL_MANT_DIG__ 64
815// I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
816// I386-LINUX:#define __LDBL_MAX_EXP__ 16384
817// I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
818// I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
819// I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
820// I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
821// I386-LINUX:#define __LITTLE_ENDIAN__ 1
822// I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
823// I386-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000824// I386-LINUX-NOT:#define __LP64__
Douglas Gregore6d6e512011-01-12 21:19:25 +0000825// I386-LINUX:#define __NO_MATH_INLINES 1
826// I386-LINUX:#define __POINTER_WIDTH__ 32
827// I386-LINUX:#define __PTRDIFF_TYPE__ int
828// I386-LINUX:#define __PTRDIFF_WIDTH__ 32
829// I386-LINUX:#define __REGISTER_PREFIX__
830// I386-LINUX:#define __SCHAR_MAX__ 127
831// I386-LINUX:#define __SHRT_MAX__ 32767
832// I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
833// I386-LINUX:#define __SIZEOF_DOUBLE__ 8
834// I386-LINUX:#define __SIZEOF_FLOAT__ 4
835// I386-LINUX:#define __SIZEOF_INT__ 4
836// I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
837// I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
838// I386-LINUX:#define __SIZEOF_LONG__ 4
839// I386-LINUX:#define __SIZEOF_POINTER__ 4
840// I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
841// I386-LINUX:#define __SIZEOF_SHORT__ 2
842// I386-LINUX:#define __SIZEOF_SIZE_T__ 4
843// I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
844// I386-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000845// I386-LINUX:#define __SIZE_MAX__ 4294967295U
Douglas Gregore6d6e512011-01-12 21:19:25 +0000846// I386-LINUX:#define __SIZE_TYPE__ unsigned int
847// I386-LINUX:#define __SIZE_WIDTH__ 32
848// I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
849// I386-LINUX:#define __USER_LABEL_PREFIX__
850// I386-LINUX:#define __WCHAR_MAX__ 2147483647
851// I386-LINUX:#define __WCHAR_TYPE__ int
852// I386-LINUX:#define __WCHAR_WIDTH__ 32
853// I386-LINUX:#define __WINT_TYPE__ unsigned int
854// I386-LINUX:#define __WINT_WIDTH__ 32
855// I386-LINUX:#define __i386 1
856// I386-LINUX:#define __i386__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +0000857// I386-LINUX:#define i386 1
858//
Joerg Sonnenberger0e921f22013-11-11 14:00:37 +0000859// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd < /dev/null | FileCheck -check-prefix I386-NETBSD %s
860//
861// I386-NETBSD-NOT:#define _LP64
862// I386-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
863// I386-NETBSD:#define __CHAR16_TYPE__ unsigned short
864// I386-NETBSD:#define __CHAR32_TYPE__ unsigned int
865// I386-NETBSD:#define __CHAR_BIT__ 8
866// I386-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
867// I386-NETBSD:#define __DBL_DIG__ 15
868// I386-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
869// I386-NETBSD:#define __DBL_HAS_DENORM__ 1
870// I386-NETBSD:#define __DBL_HAS_INFINITY__ 1
871// I386-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
872// I386-NETBSD:#define __DBL_MANT_DIG__ 53
873// I386-NETBSD:#define __DBL_MAX_10_EXP__ 308
874// I386-NETBSD:#define __DBL_MAX_EXP__ 1024
875// I386-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
876// I386-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
877// I386-NETBSD:#define __DBL_MIN_EXP__ (-1021)
878// I386-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
879// I386-NETBSD:#define __DECIMAL_DIG__ 21
880// I386-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
881// I386-NETBSD:#define __FLT_DIG__ 6
882// I386-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
883// I386-NETBSD:#define __FLT_EVAL_METHOD__ 2
884// I386-NETBSD:#define __FLT_HAS_DENORM__ 1
885// I386-NETBSD:#define __FLT_HAS_INFINITY__ 1
886// I386-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
887// I386-NETBSD:#define __FLT_MANT_DIG__ 24
888// I386-NETBSD:#define __FLT_MAX_10_EXP__ 38
889// I386-NETBSD:#define __FLT_MAX_EXP__ 128
890// I386-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
891// I386-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
892// I386-NETBSD:#define __FLT_MIN_EXP__ (-125)
893// I386-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
894// I386-NETBSD:#define __FLT_RADIX__ 2
895// I386-NETBSD:#define __INT16_TYPE__ short
896// I386-NETBSD:#define __INT32_TYPE__ int
897// I386-NETBSD:#define __INT64_C_SUFFIX__ LL
898// I386-NETBSD:#define __INT64_TYPE__ long long int
899// I386-NETBSD:#define __INT8_TYPE__ char
900// I386-NETBSD:#define __INTMAX_MAX__ 9223372036854775807LL
901// I386-NETBSD:#define __INTMAX_TYPE__ long long int
902// I386-NETBSD:#define __INTMAX_WIDTH__ 64
903// I386-NETBSD:#define __INTPTR_TYPE__ int
904// I386-NETBSD:#define __INTPTR_WIDTH__ 32
905// I386-NETBSD:#define __INT_MAX__ 2147483647
906// I386-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
907// I386-NETBSD:#define __LDBL_DIG__ 18
908// I386-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
909// I386-NETBSD:#define __LDBL_HAS_DENORM__ 1
910// I386-NETBSD:#define __LDBL_HAS_INFINITY__ 1
911// I386-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
912// I386-NETBSD:#define __LDBL_MANT_DIG__ 64
913// I386-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
914// I386-NETBSD:#define __LDBL_MAX_EXP__ 16384
915// I386-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
916// I386-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
917// I386-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
918// I386-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
919// I386-NETBSD:#define __LITTLE_ENDIAN__ 1
920// I386-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
921// I386-NETBSD:#define __LONG_MAX__ 2147483647L
922// I386-NETBSD-NOT:#define __LP64__
923// I386-NETBSD:#define __NO_MATH_INLINES 1
924// I386-NETBSD:#define __POINTER_WIDTH__ 32
925// I386-NETBSD:#define __PTRDIFF_TYPE__ int
926// I386-NETBSD:#define __PTRDIFF_WIDTH__ 32
927// I386-NETBSD:#define __REGISTER_PREFIX__
928// I386-NETBSD:#define __SCHAR_MAX__ 127
929// I386-NETBSD:#define __SHRT_MAX__ 32767
930// I386-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
931// I386-NETBSD:#define __SIZEOF_DOUBLE__ 8
932// I386-NETBSD:#define __SIZEOF_FLOAT__ 4
933// I386-NETBSD:#define __SIZEOF_INT__ 4
934// I386-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 12
935// I386-NETBSD:#define __SIZEOF_LONG_LONG__ 8
936// I386-NETBSD:#define __SIZEOF_LONG__ 4
937// I386-NETBSD:#define __SIZEOF_POINTER__ 4
938// I386-NETBSD:#define __SIZEOF_PTRDIFF_T__ 4
939// I386-NETBSD:#define __SIZEOF_SHORT__ 2
940// I386-NETBSD:#define __SIZEOF_SIZE_T__ 4
941// I386-NETBSD:#define __SIZEOF_WCHAR_T__ 4
942// I386-NETBSD:#define __SIZEOF_WINT_T__ 4
943// I386-NETBSD:#define __SIZE_MAX__ 4294967295U
944// I386-NETBSD:#define __SIZE_TYPE__ unsigned int
945// I386-NETBSD:#define __SIZE_WIDTH__ 32
946// I386-NETBSD:#define __UINTMAX_TYPE__ long long unsigned int
947// I386-NETBSD:#define __USER_LABEL_PREFIX__
948// I386-NETBSD:#define __WCHAR_MAX__ 2147483647
949// I386-NETBSD:#define __WCHAR_TYPE__ int
950// I386-NETBSD:#define __WCHAR_WIDTH__ 32
951// I386-NETBSD:#define __WINT_TYPE__ int
952// I386-NETBSD:#define __WINT_WIDTH__ 32
953// I386-NETBSD:#define __i386 1
954// I386-NETBSD:#define __i386__ 1
955// I386-NETBSD:#define i386 1
956//
957// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD-SSE %s
958// I386-NETBSD-SSE:#define __FLT_EVAL_METHOD__ 0
959// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 < /dev/null | FileCheck -check-prefix I386-NETBSD6 %s
960// I386-NETBSD6:#define __FLT_EVAL_METHOD__ 1
961// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD6-SSE %s
962// I386-NETBSD6-SSE:#define __FLT_EVAL_METHOD__ 1
963
964//
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000965// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none < /dev/null | FileCheck -check-prefix MIPS32BE %s
966//
967// MIPS32BE:#define MIPSEB 1
968// MIPS32BE:#define _ABIO32 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000969// MIPS32BE-NOT:#define _LP64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000970// MIPS32BE:#define _MIPSEB 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +0000971// MIPS32BE:#define _MIPS_ARCH "mips32r2"
972// MIPS32BE:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +0000973// MIPS32BE:#define _MIPS_FPSET 16
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000974// MIPS32BE:#define _MIPS_SIM _ABIO32
975// MIPS32BE:#define _MIPS_SZINT 32
976// MIPS32BE:#define _MIPS_SZLONG 32
977// MIPS32BE:#define _MIPS_SZPTR 32
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000978// MIPS32BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000979// MIPS32BE:#define __CHAR16_TYPE__ unsigned short
980// MIPS32BE:#define __CHAR32_TYPE__ unsigned int
981// MIPS32BE:#define __CHAR_BIT__ 8
982// MIPS32BE:#define __CONSTANT_CFSTRINGS__ 1
983// MIPS32BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
984// MIPS32BE:#define __DBL_DIG__ 15
985// MIPS32BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
986// MIPS32BE:#define __DBL_HAS_DENORM__ 1
987// MIPS32BE:#define __DBL_HAS_INFINITY__ 1
988// MIPS32BE:#define __DBL_HAS_QUIET_NAN__ 1
989// MIPS32BE:#define __DBL_MANT_DIG__ 53
990// MIPS32BE:#define __DBL_MAX_10_EXP__ 308
991// MIPS32BE:#define __DBL_MAX_EXP__ 1024
992// MIPS32BE:#define __DBL_MAX__ 1.7976931348623157e+308
993// MIPS32BE:#define __DBL_MIN_10_EXP__ (-307)
994// MIPS32BE:#define __DBL_MIN_EXP__ (-1021)
995// MIPS32BE:#define __DBL_MIN__ 2.2250738585072014e-308
996// MIPS32BE:#define __DECIMAL_DIG__ 17
997// MIPS32BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
998// MIPS32BE:#define __FLT_DIG__ 6
999// MIPS32BE:#define __FLT_EPSILON__ 1.19209290e-7F
1000// MIPS32BE:#define __FLT_EVAL_METHOD__ 0
1001// MIPS32BE:#define __FLT_HAS_DENORM__ 1
1002// MIPS32BE:#define __FLT_HAS_INFINITY__ 1
1003// MIPS32BE:#define __FLT_HAS_QUIET_NAN__ 1
1004// MIPS32BE:#define __FLT_MANT_DIG__ 24
1005// MIPS32BE:#define __FLT_MAX_10_EXP__ 38
1006// MIPS32BE:#define __FLT_MAX_EXP__ 128
1007// MIPS32BE:#define __FLT_MAX__ 3.40282347e+38F
1008// MIPS32BE:#define __FLT_MIN_10_EXP__ (-37)
1009// MIPS32BE:#define __FLT_MIN_EXP__ (-125)
1010// MIPS32BE:#define __FLT_MIN__ 1.17549435e-38F
1011// MIPS32BE:#define __FLT_RADIX__ 2
1012// MIPS32BE:#define __INT16_TYPE__ short
1013// MIPS32BE:#define __INT32_TYPE__ int
1014// MIPS32BE:#define __INT64_C_SUFFIX__ LL
1015// MIPS32BE:#define __INT64_TYPE__ long long int
1016// MIPS32BE:#define __INT8_TYPE__ char
1017// MIPS32BE:#define __INTMAX_MAX__ 9223372036854775807LL
1018// MIPS32BE:#define __INTMAX_TYPE__ long long int
1019// MIPS32BE:#define __INTMAX_WIDTH__ 64
1020// MIPS32BE:#define __INTPTR_TYPE__ long int
1021// MIPS32BE:#define __INTPTR_WIDTH__ 32
1022// MIPS32BE:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001023// MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001024// MIPS32BE:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001025// MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001026// MIPS32BE:#define __LDBL_HAS_DENORM__ 1
1027// MIPS32BE:#define __LDBL_HAS_INFINITY__ 1
1028// MIPS32BE:#define __LDBL_HAS_QUIET_NAN__ 1
1029// MIPS32BE:#define __LDBL_MANT_DIG__ 53
1030// MIPS32BE:#define __LDBL_MAX_10_EXP__ 308
1031// MIPS32BE:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001032// MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001033// MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307)
1034// MIPS32BE:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001035// MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001036// MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1037// MIPS32BE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001038// MIPS32BE-NOT:#define __LP64__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001039// MIPS32BE:#define __MIPSEB 1
1040// MIPS32BE:#define __MIPSEB__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001041// MIPS32BE:#define __POINTER_WIDTH__ 32
1042// MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1
1043// MIPS32BE:#define __PTRDIFF_TYPE__ int
1044// MIPS32BE:#define __PTRDIFF_WIDTH__ 32
1045// MIPS32BE:#define __REGISTER_PREFIX__
1046// MIPS32BE:#define __SCHAR_MAX__ 127
1047// MIPS32BE:#define __SHRT_MAX__ 32767
1048// MIPS32BE:#define __SIG_ATOMIC_WIDTH__ 32
1049// MIPS32BE:#define __SIZEOF_DOUBLE__ 8
1050// MIPS32BE:#define __SIZEOF_FLOAT__ 4
1051// MIPS32BE:#define __SIZEOF_INT__ 4
1052// MIPS32BE:#define __SIZEOF_LONG_DOUBLE__ 8
1053// MIPS32BE:#define __SIZEOF_LONG_LONG__ 8
1054// MIPS32BE:#define __SIZEOF_LONG__ 4
1055// MIPS32BE:#define __SIZEOF_POINTER__ 4
1056// MIPS32BE:#define __SIZEOF_PTRDIFF_T__ 4
1057// MIPS32BE:#define __SIZEOF_SHORT__ 2
1058// MIPS32BE:#define __SIZEOF_SIZE_T__ 4
1059// MIPS32BE:#define __SIZEOF_WCHAR_T__ 4
1060// MIPS32BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001061// MIPS32BE:#define __SIZE_MAX__ 4294967295U
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001062// MIPS32BE:#define __SIZE_TYPE__ unsigned int
1063// MIPS32BE:#define __SIZE_WIDTH__ 32
1064// MIPS32BE:#define __STDC_HOSTED__ 0
1065// MIPS32BE:#define __STDC_VERSION__ 199901L
1066// MIPS32BE:#define __STDC__ 1
1067// MIPS32BE:#define __UINTMAX_TYPE__ long long unsigned int
1068// MIPS32BE:#define __USER_LABEL_PREFIX__ _
1069// MIPS32BE:#define __WCHAR_MAX__ 2147483647
1070// MIPS32BE:#define __WCHAR_TYPE__ int
1071// MIPS32BE:#define __WCHAR_WIDTH__ 32
1072// MIPS32BE:#define __WINT_TYPE__ int
1073// MIPS32BE:#define __WINT_WIDTH__ 32
1074// MIPS32BE:#define __clang__ 1
1075// MIPS32BE:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001076// MIPS32BE:#define __mips 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001077// MIPS32BE:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001078// MIPS32BE:#define __mips_fpr 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001079// MIPS32BE:#define __mips_hard_float 1
1080// MIPS32BE:#define __mips_o32 1
1081// MIPS32BE:#define _mips 1
1082// MIPS32BE:#define mips 1
1083//
1084// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -check-prefix MIPS32EL %s
1085//
1086// MIPS32EL:#define MIPSEL 1
1087// MIPS32EL:#define _ABIO32 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001088// MIPS32EL-NOT:#define _LP64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001089// MIPS32EL:#define _MIPSEL 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001090// MIPS32EL:#define _MIPS_ARCH "mips32r2"
1091// MIPS32EL:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001092// MIPS32EL:#define _MIPS_FPSET 16
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001093// MIPS32EL:#define _MIPS_SIM _ABIO32
1094// MIPS32EL:#define _MIPS_SZINT 32
1095// MIPS32EL:#define _MIPS_SZLONG 32
1096// MIPS32EL:#define _MIPS_SZPTR 32
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001097// MIPS32EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001098// MIPS32EL:#define __CHAR16_TYPE__ unsigned short
1099// MIPS32EL:#define __CHAR32_TYPE__ unsigned int
1100// MIPS32EL:#define __CHAR_BIT__ 8
1101// MIPS32EL:#define __CONSTANT_CFSTRINGS__ 1
1102// MIPS32EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1103// MIPS32EL:#define __DBL_DIG__ 15
1104// MIPS32EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1105// MIPS32EL:#define __DBL_HAS_DENORM__ 1
1106// MIPS32EL:#define __DBL_HAS_INFINITY__ 1
1107// MIPS32EL:#define __DBL_HAS_QUIET_NAN__ 1
1108// MIPS32EL:#define __DBL_MANT_DIG__ 53
1109// MIPS32EL:#define __DBL_MAX_10_EXP__ 308
1110// MIPS32EL:#define __DBL_MAX_EXP__ 1024
1111// MIPS32EL:#define __DBL_MAX__ 1.7976931348623157e+308
1112// MIPS32EL:#define __DBL_MIN_10_EXP__ (-307)
1113// MIPS32EL:#define __DBL_MIN_EXP__ (-1021)
1114// MIPS32EL:#define __DBL_MIN__ 2.2250738585072014e-308
1115// MIPS32EL:#define __DECIMAL_DIG__ 17
1116// MIPS32EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1117// MIPS32EL:#define __FLT_DIG__ 6
1118// MIPS32EL:#define __FLT_EPSILON__ 1.19209290e-7F
1119// MIPS32EL:#define __FLT_EVAL_METHOD__ 0
1120// MIPS32EL:#define __FLT_HAS_DENORM__ 1
1121// MIPS32EL:#define __FLT_HAS_INFINITY__ 1
1122// MIPS32EL:#define __FLT_HAS_QUIET_NAN__ 1
1123// MIPS32EL:#define __FLT_MANT_DIG__ 24
1124// MIPS32EL:#define __FLT_MAX_10_EXP__ 38
1125// MIPS32EL:#define __FLT_MAX_EXP__ 128
1126// MIPS32EL:#define __FLT_MAX__ 3.40282347e+38F
1127// MIPS32EL:#define __FLT_MIN_10_EXP__ (-37)
1128// MIPS32EL:#define __FLT_MIN_EXP__ (-125)
1129// MIPS32EL:#define __FLT_MIN__ 1.17549435e-38F
1130// MIPS32EL:#define __FLT_RADIX__ 2
1131// MIPS32EL:#define __INT16_TYPE__ short
1132// MIPS32EL:#define __INT32_TYPE__ int
1133// MIPS32EL:#define __INT64_C_SUFFIX__ LL
1134// MIPS32EL:#define __INT64_TYPE__ long long int
1135// MIPS32EL:#define __INT8_TYPE__ char
1136// MIPS32EL:#define __INTMAX_MAX__ 9223372036854775807LL
1137// MIPS32EL:#define __INTMAX_TYPE__ long long int
1138// MIPS32EL:#define __INTMAX_WIDTH__ 64
1139// MIPS32EL:#define __INTPTR_TYPE__ long int
1140// MIPS32EL:#define __INTPTR_WIDTH__ 32
1141// MIPS32EL:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001142// MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001143// MIPS32EL:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001144// MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001145// MIPS32EL:#define __LDBL_HAS_DENORM__ 1
1146// MIPS32EL:#define __LDBL_HAS_INFINITY__ 1
1147// MIPS32EL:#define __LDBL_HAS_QUIET_NAN__ 1
1148// MIPS32EL:#define __LDBL_MANT_DIG__ 53
1149// MIPS32EL:#define __LDBL_MAX_10_EXP__ 308
1150// MIPS32EL:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001151// MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001152// MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307)
1153// MIPS32EL:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001154// MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001155// MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1156// MIPS32EL:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001157// MIPS32EL-NOT:#define __LP64__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001158// MIPS32EL:#define __MIPSEL 1
1159// MIPS32EL:#define __MIPSEL__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001160// MIPS32EL:#define __POINTER_WIDTH__ 32
1161// MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1162// MIPS32EL:#define __PTRDIFF_TYPE__ int
1163// MIPS32EL:#define __PTRDIFF_WIDTH__ 32
1164// MIPS32EL:#define __REGISTER_PREFIX__
1165// MIPS32EL:#define __SCHAR_MAX__ 127
1166// MIPS32EL:#define __SHRT_MAX__ 32767
1167// MIPS32EL:#define __SIG_ATOMIC_WIDTH__ 32
1168// MIPS32EL:#define __SIZEOF_DOUBLE__ 8
1169// MIPS32EL:#define __SIZEOF_FLOAT__ 4
1170// MIPS32EL:#define __SIZEOF_INT__ 4
1171// MIPS32EL:#define __SIZEOF_LONG_DOUBLE__ 8
1172// MIPS32EL:#define __SIZEOF_LONG_LONG__ 8
1173// MIPS32EL:#define __SIZEOF_LONG__ 4
1174// MIPS32EL:#define __SIZEOF_POINTER__ 4
1175// MIPS32EL:#define __SIZEOF_PTRDIFF_T__ 4
1176// MIPS32EL:#define __SIZEOF_SHORT__ 2
1177// MIPS32EL:#define __SIZEOF_SIZE_T__ 4
1178// MIPS32EL:#define __SIZEOF_WCHAR_T__ 4
1179// MIPS32EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001180// MIPS32EL:#define __SIZE_MAX__ 4294967295U
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001181// MIPS32EL:#define __SIZE_TYPE__ unsigned int
1182// MIPS32EL:#define __SIZE_WIDTH__ 32
1183// MIPS32EL:#define __UINTMAX_TYPE__ long long unsigned int
1184// MIPS32EL:#define __USER_LABEL_PREFIX__ _
1185// MIPS32EL:#define __WCHAR_MAX__ 2147483647
1186// MIPS32EL:#define __WCHAR_TYPE__ int
1187// MIPS32EL:#define __WCHAR_WIDTH__ 32
1188// MIPS32EL:#define __WINT_TYPE__ int
1189// MIPS32EL:#define __WINT_WIDTH__ 32
1190// MIPS32EL:#define __clang__ 1
1191// MIPS32EL:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001192// MIPS32EL:#define __mips 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001193// MIPS32EL:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001194// MIPS32EL:#define __mips_fpr 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001195// MIPS32EL:#define __mips_hard_float 1
1196// MIPS32EL:#define __mips_o32 1
1197// MIPS32EL:#define _mips 1
1198// MIPS32EL:#define mips 1
1199//
1200// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -check-prefix MIPS64BE %s
1201//
1202// MIPS64BE:#define MIPSEB 1
1203// MIPS64BE:#define _ABI64 3
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001204// MIPS64BE:#define _LP64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001205// MIPS64BE:#define _MIPSEB 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001206// MIPS64BE:#define _MIPS_ARCH "mips64r2"
1207// MIPS64BE:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001208// MIPS64BE:#define _MIPS_FPSET 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001209// MIPS64BE:#define _MIPS_SIM _ABI64
1210// MIPS64BE:#define _MIPS_SZINT 32
1211// MIPS64BE:#define _MIPS_SZLONG 64
1212// MIPS64BE:#define _MIPS_SZPTR 64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001213// MIPS64BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001214// MIPS64BE:#define __CHAR16_TYPE__ unsigned short
1215// MIPS64BE:#define __CHAR32_TYPE__ unsigned int
1216// MIPS64BE:#define __CHAR_BIT__ 8
1217// MIPS64BE:#define __CONSTANT_CFSTRINGS__ 1
1218// MIPS64BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1219// MIPS64BE:#define __DBL_DIG__ 15
1220// MIPS64BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
1221// MIPS64BE:#define __DBL_HAS_DENORM__ 1
1222// MIPS64BE:#define __DBL_HAS_INFINITY__ 1
1223// MIPS64BE:#define __DBL_HAS_QUIET_NAN__ 1
1224// MIPS64BE:#define __DBL_MANT_DIG__ 53
1225// MIPS64BE:#define __DBL_MAX_10_EXP__ 308
1226// MIPS64BE:#define __DBL_MAX_EXP__ 1024
1227// MIPS64BE:#define __DBL_MAX__ 1.7976931348623157e+308
1228// MIPS64BE:#define __DBL_MIN_10_EXP__ (-307)
1229// MIPS64BE:#define __DBL_MIN_EXP__ (-1021)
1230// MIPS64BE:#define __DBL_MIN__ 2.2250738585072014e-308
1231// MIPS64BE:#define __DECIMAL_DIG__ 36
1232// MIPS64BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1233// MIPS64BE:#define __FLT_DIG__ 6
1234// MIPS64BE:#define __FLT_EPSILON__ 1.19209290e-7F
1235// MIPS64BE:#define __FLT_EVAL_METHOD__ 0
1236// MIPS64BE:#define __FLT_HAS_DENORM__ 1
1237// MIPS64BE:#define __FLT_HAS_INFINITY__ 1
1238// MIPS64BE:#define __FLT_HAS_QUIET_NAN__ 1
1239// MIPS64BE:#define __FLT_MANT_DIG__ 24
1240// MIPS64BE:#define __FLT_MAX_10_EXP__ 38
1241// MIPS64BE:#define __FLT_MAX_EXP__ 128
1242// MIPS64BE:#define __FLT_MAX__ 3.40282347e+38F
1243// MIPS64BE:#define __FLT_MIN_10_EXP__ (-37)
1244// MIPS64BE:#define __FLT_MIN_EXP__ (-125)
1245// MIPS64BE:#define __FLT_MIN__ 1.17549435e-38F
1246// MIPS64BE:#define __FLT_RADIX__ 2
1247// MIPS64BE:#define __INT16_TYPE__ short
1248// MIPS64BE:#define __INT32_TYPE__ int
1249// MIPS64BE:#define __INT64_C_SUFFIX__ LL
1250// MIPS64BE:#define __INT64_TYPE__ long long int
1251// MIPS64BE:#define __INT8_TYPE__ char
1252// MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807LL
1253// MIPS64BE:#define __INTMAX_TYPE__ long long int
1254// MIPS64BE:#define __INTMAX_WIDTH__ 64
1255// MIPS64BE:#define __INTPTR_TYPE__ long int
1256// MIPS64BE:#define __INTPTR_WIDTH__ 64
1257// MIPS64BE:#define __INT_MAX__ 2147483647
1258// MIPS64BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1259// MIPS64BE:#define __LDBL_DIG__ 33
1260// MIPS64BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1261// MIPS64BE:#define __LDBL_HAS_DENORM__ 1
1262// MIPS64BE:#define __LDBL_HAS_INFINITY__ 1
1263// MIPS64BE:#define __LDBL_HAS_QUIET_NAN__ 1
1264// MIPS64BE:#define __LDBL_MANT_DIG__ 113
1265// MIPS64BE:#define __LDBL_MAX_10_EXP__ 4932
1266// MIPS64BE:#define __LDBL_MAX_EXP__ 16384
1267// MIPS64BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1268// MIPS64BE:#define __LDBL_MIN_10_EXP__ (-4931)
1269// MIPS64BE:#define __LDBL_MIN_EXP__ (-16381)
1270// MIPS64BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1271// MIPS64BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1272// MIPS64BE:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001273// MIPS64BE:#define __LP64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001274// MIPS64BE:#define __MIPSEB 1
1275// MIPS64BE:#define __MIPSEB__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001276// MIPS64BE:#define __POINTER_WIDTH__ 64
1277// MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1
1278// MIPS64BE:#define __PTRDIFF_TYPE__ long int
1279// MIPS64BE:#define __PTRDIFF_WIDTH__ 64
1280// MIPS64BE:#define __REGISTER_PREFIX__
1281// MIPS64BE:#define __SCHAR_MAX__ 127
1282// MIPS64BE:#define __SHRT_MAX__ 32767
1283// MIPS64BE:#define __SIG_ATOMIC_WIDTH__ 32
1284// MIPS64BE:#define __SIZEOF_DOUBLE__ 8
1285// MIPS64BE:#define __SIZEOF_FLOAT__ 4
1286// MIPS64BE:#define __SIZEOF_INT__ 4
1287// MIPS64BE:#define __SIZEOF_LONG_DOUBLE__ 16
1288// MIPS64BE:#define __SIZEOF_LONG_LONG__ 8
1289// MIPS64BE:#define __SIZEOF_LONG__ 8
1290// MIPS64BE:#define __SIZEOF_POINTER__ 8
1291// MIPS64BE:#define __SIZEOF_PTRDIFF_T__ 8
1292// MIPS64BE:#define __SIZEOF_SHORT__ 2
1293// MIPS64BE:#define __SIZEOF_SIZE_T__ 8
1294// MIPS64BE:#define __SIZEOF_WCHAR_T__ 4
1295// MIPS64BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001296// MIPS64BE:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001297// MIPS64BE:#define __SIZE_TYPE__ long unsigned int
1298// MIPS64BE:#define __SIZE_WIDTH__ 64
1299// MIPS64BE:#define __UINTMAX_TYPE__ long long unsigned int
1300// MIPS64BE:#define __USER_LABEL_PREFIX__ _
1301// MIPS64BE:#define __WCHAR_MAX__ 2147483647
1302// MIPS64BE:#define __WCHAR_TYPE__ int
1303// MIPS64BE:#define __WCHAR_WIDTH__ 32
1304// MIPS64BE:#define __WINT_TYPE__ int
1305// MIPS64BE:#define __WINT_WIDTH__ 32
1306// MIPS64BE:#define __clang__ 1
1307// MIPS64BE:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001308// MIPS64BE:#define __mips 64
Simon Atanasyanc6a0be02012-08-29 20:50:11 +00001309// MIPS64BE:#define __mips64 1
1310// MIPS64BE:#define __mips64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001311// MIPS64BE:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001312// MIPS64BE:#define __mips_fpr 64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001313// MIPS64BE:#define __mips_hard_float 1
1314// MIPS64BE:#define __mips_n64 1
1315// MIPS64BE:#define _mips 1
1316// MIPS64BE:#define mips 1
1317//
1318// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -check-prefix MIPS64EL %s
1319//
1320// MIPS64EL:#define MIPSEL 1
1321// MIPS64EL:#define _ABI64 3
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001322// MIPS64EL:#define _LP64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001323// MIPS64EL:#define _MIPSEL 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001324// MIPS64EL:#define _MIPS_ARCH "mips64r2"
1325// MIPS64EL:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001326// MIPS64EL:#define _MIPS_FPSET 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001327// MIPS64EL:#define _MIPS_SIM _ABI64
1328// MIPS64EL:#define _MIPS_SZINT 32
1329// MIPS64EL:#define _MIPS_SZLONG 64
1330// MIPS64EL:#define _MIPS_SZPTR 64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001331// MIPS64EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001332// MIPS64EL:#define __CHAR16_TYPE__ unsigned short
1333// MIPS64EL:#define __CHAR32_TYPE__ unsigned int
1334// MIPS64EL:#define __CHAR_BIT__ 8
1335// MIPS64EL:#define __CONSTANT_CFSTRINGS__ 1
1336// MIPS64EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1337// MIPS64EL:#define __DBL_DIG__ 15
1338// MIPS64EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1339// MIPS64EL:#define __DBL_HAS_DENORM__ 1
1340// MIPS64EL:#define __DBL_HAS_INFINITY__ 1
1341// MIPS64EL:#define __DBL_HAS_QUIET_NAN__ 1
1342// MIPS64EL:#define __DBL_MANT_DIG__ 53
1343// MIPS64EL:#define __DBL_MAX_10_EXP__ 308
1344// MIPS64EL:#define __DBL_MAX_EXP__ 1024
1345// MIPS64EL:#define __DBL_MAX__ 1.7976931348623157e+308
1346// MIPS64EL:#define __DBL_MIN_10_EXP__ (-307)
1347// MIPS64EL:#define __DBL_MIN_EXP__ (-1021)
1348// MIPS64EL:#define __DBL_MIN__ 2.2250738585072014e-308
1349// MIPS64EL:#define __DECIMAL_DIG__ 36
1350// MIPS64EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1351// MIPS64EL:#define __FLT_DIG__ 6
1352// MIPS64EL:#define __FLT_EPSILON__ 1.19209290e-7F
1353// MIPS64EL:#define __FLT_EVAL_METHOD__ 0
1354// MIPS64EL:#define __FLT_HAS_DENORM__ 1
1355// MIPS64EL:#define __FLT_HAS_INFINITY__ 1
1356// MIPS64EL:#define __FLT_HAS_QUIET_NAN__ 1
1357// MIPS64EL:#define __FLT_MANT_DIG__ 24
1358// MIPS64EL:#define __FLT_MAX_10_EXP__ 38
1359// MIPS64EL:#define __FLT_MAX_EXP__ 128
1360// MIPS64EL:#define __FLT_MAX__ 3.40282347e+38F
1361// MIPS64EL:#define __FLT_MIN_10_EXP__ (-37)
1362// MIPS64EL:#define __FLT_MIN_EXP__ (-125)
1363// MIPS64EL:#define __FLT_MIN__ 1.17549435e-38F
1364// MIPS64EL:#define __FLT_RADIX__ 2
1365// MIPS64EL:#define __INT16_TYPE__ short
1366// MIPS64EL:#define __INT32_TYPE__ int
1367// MIPS64EL:#define __INT64_C_SUFFIX__ LL
1368// MIPS64EL:#define __INT64_TYPE__ long long int
1369// MIPS64EL:#define __INT8_TYPE__ char
1370// MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807LL
1371// MIPS64EL:#define __INTMAX_TYPE__ long long int
1372// MIPS64EL:#define __INTMAX_WIDTH__ 64
1373// MIPS64EL:#define __INTPTR_TYPE__ long int
1374// MIPS64EL:#define __INTPTR_WIDTH__ 64
1375// MIPS64EL:#define __INT_MAX__ 2147483647
1376// MIPS64EL:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1377// MIPS64EL:#define __LDBL_DIG__ 33
1378// MIPS64EL:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1379// MIPS64EL:#define __LDBL_HAS_DENORM__ 1
1380// MIPS64EL:#define __LDBL_HAS_INFINITY__ 1
1381// MIPS64EL:#define __LDBL_HAS_QUIET_NAN__ 1
1382// MIPS64EL:#define __LDBL_MANT_DIG__ 113
1383// MIPS64EL:#define __LDBL_MAX_10_EXP__ 4932
1384// MIPS64EL:#define __LDBL_MAX_EXP__ 16384
1385// MIPS64EL:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1386// MIPS64EL:#define __LDBL_MIN_10_EXP__ (-4931)
1387// MIPS64EL:#define __LDBL_MIN_EXP__ (-16381)
1388// MIPS64EL:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1389// MIPS64EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1390// MIPS64EL:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001391// MIPS64EL:#define __LP64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001392// MIPS64EL:#define __MIPSEL 1
1393// MIPS64EL:#define __MIPSEL__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001394// MIPS64EL:#define __POINTER_WIDTH__ 64
1395// MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1396// MIPS64EL:#define __PTRDIFF_TYPE__ long int
1397// MIPS64EL:#define __PTRDIFF_WIDTH__ 64
1398// MIPS64EL:#define __REGISTER_PREFIX__
1399// MIPS64EL:#define __SCHAR_MAX__ 127
1400// MIPS64EL:#define __SHRT_MAX__ 32767
1401// MIPS64EL:#define __SIG_ATOMIC_WIDTH__ 32
1402// MIPS64EL:#define __SIZEOF_DOUBLE__ 8
1403// MIPS64EL:#define __SIZEOF_FLOAT__ 4
1404// MIPS64EL:#define __SIZEOF_INT__ 4
1405// MIPS64EL:#define __SIZEOF_LONG_DOUBLE__ 16
1406// MIPS64EL:#define __SIZEOF_LONG_LONG__ 8
1407// MIPS64EL:#define __SIZEOF_LONG__ 8
1408// MIPS64EL:#define __SIZEOF_POINTER__ 8
1409// MIPS64EL:#define __SIZEOF_PTRDIFF_T__ 8
1410// MIPS64EL:#define __SIZEOF_SHORT__ 2
1411// MIPS64EL:#define __SIZEOF_SIZE_T__ 8
1412// MIPS64EL:#define __SIZEOF_WCHAR_T__ 4
1413// MIPS64EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001414// MIPS64EL:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001415// MIPS64EL:#define __SIZE_TYPE__ long unsigned int
1416// MIPS64EL:#define __SIZE_WIDTH__ 64
1417// MIPS64EL:#define __UINTMAX_TYPE__ long long unsigned int
1418// MIPS64EL:#define __USER_LABEL_PREFIX__ _
1419// MIPS64EL:#define __WCHAR_MAX__ 2147483647
1420// MIPS64EL:#define __WCHAR_TYPE__ int
1421// MIPS64EL:#define __WCHAR_WIDTH__ 32
1422// MIPS64EL:#define __WINT_TYPE__ int
1423// MIPS64EL:#define __WINT_WIDTH__ 32
1424// MIPS64EL:#define __clang__ 1
1425// MIPS64EL:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001426// MIPS64EL:#define __mips 64
Simon Atanasyanc6a0be02012-08-29 20:50:11 +00001427// MIPS64EL:#define __mips64 1
1428// MIPS64EL:#define __mips64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001429// MIPS64EL:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001430// MIPS64EL:#define __mips_fpr 64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001431// MIPS64EL:#define __mips_hard_float 1
1432// MIPS64EL:#define __mips_n64 1
1433// MIPS64EL:#define _mips 1
1434// MIPS64EL:#define mips 1
1435//
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001436// Check MIPS arch macros
1437//
1438// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
1439// RUN: < /dev/null \
1440// RUN: | FileCheck -check-prefix MIPS-ARCH-DEF32 %s
1441//
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001442// MIPS-ARCH-DEF32:#define _MIPS_ARCH "mips32r2"
1443// MIPS-ARCH-DEF32:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001444//
1445// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-nones \
1446// RUN: -target-cpu mips32 < /dev/null \
1447// RUN: | FileCheck -check-prefix MIPS-ARCH-32 %s
1448//
1449// MIPS-ARCH-32:#define _MIPS_ARCH "mips32"
1450// MIPS-ARCH-32:#define _MIPS_ARCH_MIPS32 1
1451//
1452// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
1453// RUN: -target-cpu mips32r2 < /dev/null \
1454// RUN: | FileCheck -check-prefix MIPS-ARCH-32R2 %s
1455//
1456// MIPS-ARCH-32R2:#define _MIPS_ARCH "mips32r2"
1457// MIPS-ARCH-32R2:#define _MIPS_ARCH_MIPS32R2 1
1458//
1459// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1460// RUN: < /dev/null \
1461// RUN: | FileCheck -check-prefix MIPS-ARCH-DEF64 %s
1462//
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001463// MIPS-ARCH-DEF64:#define _MIPS_ARCH "mips64r2"
1464// MIPS-ARCH-DEF64:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001465//
1466// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1467// RUN: -target-cpu mips64 < /dev/null \
1468// RUN: | FileCheck -check-prefix MIPS-ARCH-64 %s
1469//
1470// MIPS-ARCH-64:#define _MIPS_ARCH "mips64"
1471// MIPS-ARCH-64:#define _MIPS_ARCH_MIPS64 1
1472//
1473// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1474// RUN: -target-cpu mips64r2 < /dev/null \
1475// RUN: | FileCheck -check-prefix MIPS-ARCH-64R2 %s
1476//
1477// MIPS-ARCH-64R2:#define _MIPS_ARCH "mips64r2"
1478// MIPS-ARCH-64R2:#define _MIPS_ARCH_MIPS64R2 1
1479//
Simon Atanasyan5e21c802012-04-06 17:51:49 +00001480// Check MIPS float ABI macros
1481//
1482// RUN: %clang_cc1 -E -dM -ffreestanding \
1483// RUN: -triple=mips-none-none < /dev/null \
1484// RUN: | FileCheck -check-prefix MIPS-FABI-HARD %s
1485// MIPS-FABI-HARD:#define __mips_hard_float 1
1486//
1487// RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \
1488// RUN: -triple=mips-none-none < /dev/null \
1489// RUN: | FileCheck -check-prefix MIPS-FABI-SOFT %s
1490// MIPS-FABI-SOFT:#define __mips_soft_float 1
1491//
1492// RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \
1493// RUN: -triple=mips-none-none < /dev/null \
1494// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE %s
Simon Atanasyand3d173d2012-06-05 13:06:56 +00001495// MIPS-FABI-SINGLE:#define __mips_hard_float 1
Simon Atanasyan5e21c802012-04-06 17:51:49 +00001496// MIPS-FABI-SINGLE:#define __mips_single_float 1
1497//
Simon Atanasyan16071912013-04-14 14:07:30 +00001498// RUN: %clang_cc1 -target-feature +soft-float -target-feature +single-float \
1499// RUN: -E -dM -ffreestanding -triple=mips-none-none < /dev/null \
1500// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE-SOFT %s
1501// MIPS-FABI-SINGLE-SOFT:#define __mips_single_float 1
1502// MIPS-FABI-SINGLE-SOFT:#define __mips_soft_float 1
1503//
Simon Atanasyan72244b62012-07-05 16:06:06 +00001504// Check MIPS features macros
1505//
1506// RUN: %clang_cc1 -target-feature +mips16 \
1507// RUN: -E -dM -triple=mips-none-none < /dev/null \
1508// RUN: | FileCheck -check-prefix MIPS16 %s
1509// MIPS16:#define __mips16 1
1510//
1511// RUN: %clang_cc1 -target-feature -mips16 \
1512// RUN: -E -dM -triple=mips-none-none < /dev/null \
1513// RUN: | FileCheck -check-prefix NOMIPS16 %s
1514// NOMIPS16-NOT:#define __mips16 1
1515//
Simon Atanasyan60777612013-04-14 14:07:51 +00001516// RUN: %clang_cc1 -target-feature +micromips \
1517// RUN: -E -dM -triple=mips-none-none < /dev/null \
1518// RUN: | FileCheck -check-prefix MICROMIPS %s
1519// MICROMIPS:#define __mips_micromips 1
1520//
1521// RUN: %clang_cc1 -target-feature -micromips \
1522// RUN: -E -dM -triple=mips-none-none < /dev/null \
1523// RUN: | FileCheck -check-prefix NOMICROMIPS %s
1524// NOMICROMIPS-NOT:#define __mips_micromips 1
1525//
Simon Atanasyan9780e4a2012-07-05 20:16:22 +00001526// RUN: %clang_cc1 -target-feature +dsp \
1527// RUN: -E -dM -triple=mips-none-none < /dev/null \
1528// RUN: | FileCheck -check-prefix MIPS-DSP %s
1529// MIPS-DSP:#define __mips_dsp 1
1530// MIPS-DSP:#define __mips_dsp_rev 1
1531// MIPS-DSP-NOT:#define __mips_dspr2 1
1532//
1533// RUN: %clang_cc1 -target-feature +dspr2 \
1534// RUN: -E -dM -triple=mips-none-none < /dev/null \
1535// RUN: | FileCheck -check-prefix MIPS-DSPR2 %s
1536// MIPS-DSPR2:#define __mips_dsp 1
1537// MIPS-DSPR2:#define __mips_dsp_rev 2
1538// MIPS-DSPR2:#define __mips_dspr2 1
1539//
Jack Carter44ff1e52013-08-12 17:20:29 +00001540// RUN: %clang_cc1 -target-feature +msa \
1541// RUN: -E -dM -triple=mips-none-none < /dev/null \
1542// RUN: | FileCheck -check-prefix MIPS-MSA %s
1543// MIPS-MSA:#define __mips_msa 1
1544//
Simon Atanasyan22127ce2013-09-24 09:09:16 +00001545// RUN: %clang_cc1 -target-feature +nan2008 \
1546// RUN: -E -dM -triple=mips-none-none < /dev/null \
1547// RUN: | FileCheck -check-prefix MIPS-NAN2008 %s
1548// MIPS-NAN2008:#define __mips_nan2008 1
1549//
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001550// RUN: %clang_cc1 -target-feature -fp64 \
1551// RUN: -E -dM -triple=mips-none-none < /dev/null \
1552// RUN: | FileCheck -check-prefix MIPS32-MFP32 %s
1553// MIPS32-MFP32:#define _MIPS_FPSET 16
1554// MIPS32-MFP32:#define __mips_fpr 32
1555//
1556// RUN: %clang_cc1 -target-feature +fp64 \
1557// RUN: -E -dM -triple=mips-none-none < /dev/null \
1558// RUN: | FileCheck -check-prefix MIPS32-MFP64 %s
1559// MIPS32-MFP64:#define _MIPS_FPSET 32
1560// MIPS32-MFP64:#define __mips_fpr 64
1561//
1562// RUN: %clang_cc1 -target-feature +single-float \
1563// RUN: -E -dM -triple=mips-none-none < /dev/null \
1564// RUN: | FileCheck -check-prefix MIPS32-MFP32SF %s
1565// MIPS32-MFP32SF:#define _MIPS_FPSET 32
1566// MIPS32-MFP32SF:#define __mips_fpr 32
1567//
1568// RUN: %clang_cc1 -target-feature +fp64 \
1569// RUN: -E -dM -triple=mips64-none-none < /dev/null \
1570// RUN: | FileCheck -check-prefix MIPS64-MFP64 %s
1571// MIPS64-MFP64:#define _MIPS_FPSET 32
1572// MIPS64-MFP64:#define __mips_fpr 64
1573//
1574// RUN: %clang_cc1 -target-feature -fp64 -target-feature +single-float \
1575// RUN: -E -dM -triple=mips64-none-none < /dev/null \
1576// RUN: | FileCheck -check-prefix MIPS64-NOMFP64 %s
1577// MIPS64-NOMFP64:#define _MIPS_FPSET 32
1578// MIPS64-NOMFP64:#define __mips_fpr 32
1579//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00001580// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
Chris Lattnere963d092009-10-29 04:55:36 +00001581//
1582// MSP430:#define MSP430 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001583// MSP430-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001584// MSP430:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00001585// MSP430:#define __CHAR16_TYPE__ unsigned short
1586// MSP430:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001587// MSP430:#define __CHAR_BIT__ 8
1588// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1589// MSP430:#define __DBL_DIG__ 15
1590// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
1591// MSP430:#define __DBL_HAS_DENORM__ 1
1592// MSP430:#define __DBL_HAS_INFINITY__ 1
1593// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
1594// MSP430:#define __DBL_MANT_DIG__ 53
1595// MSP430:#define __DBL_MAX_10_EXP__ 308
1596// MSP430:#define __DBL_MAX_EXP__ 1024
1597// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
1598// MSP430:#define __DBL_MIN_10_EXP__ (-307)
1599// MSP430:#define __DBL_MIN_EXP__ (-1021)
1600// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
1601// MSP430:#define __DECIMAL_DIG__ 17
1602// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1603// MSP430:#define __FLT_DIG__ 6
1604// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
1605// MSP430:#define __FLT_EVAL_METHOD__ 0
1606// MSP430:#define __FLT_HAS_DENORM__ 1
1607// MSP430:#define __FLT_HAS_INFINITY__ 1
1608// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
1609// MSP430:#define __FLT_MANT_DIG__ 24
1610// MSP430:#define __FLT_MAX_10_EXP__ 38
1611// MSP430:#define __FLT_MAX_EXP__ 128
1612// MSP430:#define __FLT_MAX__ 3.40282347e+38F
1613// MSP430:#define __FLT_MIN_10_EXP__ (-37)
1614// MSP430:#define __FLT_MIN_EXP__ (-125)
1615// MSP430:#define __FLT_MIN__ 1.17549435e-38F
1616// MSP430:#define __FLT_RADIX__ 2
1617// MSP430:#define __INT16_TYPE__ short
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00001618// MSP430:#define __INT32_C_SUFFIX__ L
Chris Lattner55c98772009-11-12 08:08:27 +00001619// MSP430:#define __INT32_TYPE__ long int
Chris Lattnere963d092009-10-29 04:55:36 +00001620// MSP430:#define __INT8_TYPE__ char
Anton Korobeynikovef412902013-07-01 19:42:40 +00001621// MSP430:#define __INTMAX_MAX__ 9223372036854775807LL
1622// MSP430:#define __INTMAX_TYPE__ long long int
1623// MSP430:#define __INTMAX_WIDTH__ 64
1624// MSP430:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00001625// MSP430:#define __INTPTR_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001626// MSP430:#define __INT_MAX__ 32767
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001627// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00001628// MSP430:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001629// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +00001630// MSP430:#define __LDBL_HAS_DENORM__ 1
1631// MSP430:#define __LDBL_HAS_INFINITY__ 1
1632// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
1633// MSP430:#define __LDBL_MANT_DIG__ 53
1634// MSP430:#define __LDBL_MAX_10_EXP__ 308
1635// MSP430:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001636// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +00001637// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
1638// MSP430:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001639// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikov485810e2010-01-14 21:36:52 +00001640// MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
Chris Lattnere963d092009-10-29 04:55:36 +00001641// MSP430:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001642// MSP430-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00001643// MSP430:#define __MSP430__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00001644// MSP430:#define __POINTER_WIDTH__ 16
Ken Dyck9b25f782009-11-19 13:18:59 +00001645// MSP430:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00001646// MSP430:#define __PTRDIFF_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001647// MSP430:#define __SCHAR_MAX__ 127
1648// MSP430:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00001649// MSP430:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00001650// MSP430:#define __SIZEOF_DOUBLE__ 8
1651// MSP430:#define __SIZEOF_FLOAT__ 4
1652// MSP430:#define __SIZEOF_INT__ 2
1653// MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
1654// MSP430:#define __SIZEOF_LONG_LONG__ 8
1655// MSP430:#define __SIZEOF_LONG__ 4
1656// MSP430:#define __SIZEOF_POINTER__ 2
1657// MSP430:#define __SIZEOF_PTRDIFF_T__ 2
1658// MSP430:#define __SIZEOF_SHORT__ 2
1659// MSP430:#define __SIZEOF_SIZE_T__ 2
1660// MSP430:#define __SIZEOF_WCHAR_T__ 2
1661// MSP430:#define __SIZEOF_WINT_T__ 2
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001662// MSP430:#define __SIZE_MAX__ 65535U
Chris Lattnere963d092009-10-29 04:55:36 +00001663// MSP430:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00001664// MSP430:#define __SIZE_WIDTH__ 16
Anton Korobeynikovef412902013-07-01 19:42:40 +00001665// MSP430:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001666// MSP430:#define __USER_LABEL_PREFIX__ _
Chris Lattner0fb5bbd2009-11-12 08:04:33 +00001667// MSP430:#define __WCHAR_MAX__ 32767
Chris Lattnere963d092009-10-29 04:55:36 +00001668// MSP430:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00001669// MSP430:#define __WCHAR_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001670// MSP430:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00001671// MSP430:#define __WINT_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001672// MSP430:#define __clang__ 1
1673//
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001674// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s
1675//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001676// NVPTX32-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001677// NVPTX32:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001678// NVPTX32:#define __CHAR16_TYPE__ unsigned short
1679// NVPTX32:#define __CHAR32_TYPE__ unsigned int
1680// NVPTX32:#define __CHAR_BIT__ 8
1681// NVPTX32:#define __CONSTANT_CFSTRINGS__ 1
1682// NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1683// NVPTX32:#define __DBL_DIG__ 15
1684// NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16
1685// NVPTX32:#define __DBL_HAS_DENORM__ 1
1686// NVPTX32:#define __DBL_HAS_INFINITY__ 1
1687// NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1
1688// NVPTX32:#define __DBL_MANT_DIG__ 53
1689// NVPTX32:#define __DBL_MAX_10_EXP__ 308
1690// NVPTX32:#define __DBL_MAX_EXP__ 1024
1691// NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308
1692// NVPTX32:#define __DBL_MIN_10_EXP__ (-307)
1693// NVPTX32:#define __DBL_MIN_EXP__ (-1021)
1694// NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308
1695// NVPTX32:#define __DECIMAL_DIG__ 17
1696// NVPTX32:#define __FINITE_MATH_ONLY__ 0
1697// NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1698// NVPTX32:#define __FLT_DIG__ 6
1699// NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F
1700// NVPTX32:#define __FLT_EVAL_METHOD__ 0
1701// NVPTX32:#define __FLT_HAS_DENORM__ 1
1702// NVPTX32:#define __FLT_HAS_INFINITY__ 1
1703// NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1
1704// NVPTX32:#define __FLT_MANT_DIG__ 24
1705// NVPTX32:#define __FLT_MAX_10_EXP__ 38
1706// NVPTX32:#define __FLT_MAX_EXP__ 128
1707// NVPTX32:#define __FLT_MAX__ 3.40282347e+38F
1708// NVPTX32:#define __FLT_MIN_10_EXP__ (-37)
1709// NVPTX32:#define __FLT_MIN_EXP__ (-125)
1710// NVPTX32:#define __FLT_MIN__ 1.17549435e-38F
1711// NVPTX32:#define __FLT_RADIX__ 2
1712// NVPTX32:#define __INT16_TYPE__ short
1713// NVPTX32:#define __INT32_TYPE__ int
1714// NVPTX32:#define __INT64_C_SUFFIX__ LL
1715// NVPTX32:#define __INT64_TYPE__ long long int
1716// NVPTX32:#define __INT8_TYPE__ char
1717// NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL
1718// NVPTX32:#define __INTMAX_TYPE__ long long int
1719// NVPTX32:#define __INTMAX_WIDTH__ 64
1720// NVPTX32:#define __INTPTR_TYPE__ unsigned int
1721// NVPTX32:#define __INTPTR_WIDTH__ 32
1722// NVPTX32:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001723// NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001724// NVPTX32:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001725// NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001726// NVPTX32:#define __LDBL_HAS_DENORM__ 1
1727// NVPTX32:#define __LDBL_HAS_INFINITY__ 1
1728// NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1
1729// NVPTX32:#define __LDBL_MANT_DIG__ 53
1730// NVPTX32:#define __LDBL_MAX_10_EXP__ 308
1731// NVPTX32:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001732// NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001733// NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
1734// NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001735// NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001736// NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL
1737// NVPTX32:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001738// NVPTX32-NOT:#define __LP64__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001739// NVPTX32:#define __NVPTX__ 1
1740// NVPTX32:#define __POINTER_WIDTH__ 32
1741// NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1
1742// NVPTX32:#define __PTRDIFF_TYPE__ unsigned int
1743// NVPTX32:#define __PTRDIFF_WIDTH__ 32
1744// NVPTX32:#define __PTX__ 1
1745// NVPTX32:#define __SCHAR_MAX__ 127
1746// NVPTX32:#define __SHRT_MAX__ 32767
1747// NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32
1748// NVPTX32:#define __SIZEOF_DOUBLE__ 8
1749// NVPTX32:#define __SIZEOF_FLOAT__ 4
1750// NVPTX32:#define __SIZEOF_INT__ 4
1751// NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8
1752// NVPTX32:#define __SIZEOF_LONG_LONG__ 8
1753// NVPTX32:#define __SIZEOF_LONG__ 8
1754// NVPTX32:#define __SIZEOF_POINTER__ 4
1755// NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4
1756// NVPTX32:#define __SIZEOF_SHORT__ 2
1757// NVPTX32:#define __SIZEOF_SIZE_T__ 4
1758// NVPTX32:#define __SIZEOF_WCHAR_T__ 4
1759// NVPTX32:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001760// NVPTX32:#define __SIZE_MAX__ 4294967295U
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001761// NVPTX32:#define __SIZE_TYPE__ unsigned int
1762// NVPTX32:#define __SIZE_WIDTH__ 32
1763// NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int
1764// NVPTX32:#define __USER_LABEL_PREFIX__ _
1765// NVPTX32:#define __WCHAR_MAX__ 2147483647
1766// NVPTX32:#define __WCHAR_TYPE__ int
1767// NVPTX32:#define __WCHAR_WIDTH__ 32
1768// NVPTX32:#define __WINT_TYPE__ int
1769// NVPTX32:#define __WINT_WIDTH__ 32
1770//
1771// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -check-prefix NVPTX64 %s
1772//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001773// NVPTX64:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001774// NVPTX64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001775// NVPTX64:#define __CHAR16_TYPE__ unsigned short
1776// NVPTX64:#define __CHAR32_TYPE__ unsigned int
1777// NVPTX64:#define __CHAR_BIT__ 8
1778// NVPTX64:#define __CONSTANT_CFSTRINGS__ 1
1779// NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1780// NVPTX64:#define __DBL_DIG__ 15
1781// NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1782// NVPTX64:#define __DBL_HAS_DENORM__ 1
1783// NVPTX64:#define __DBL_HAS_INFINITY__ 1
1784// NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1
1785// NVPTX64:#define __DBL_MANT_DIG__ 53
1786// NVPTX64:#define __DBL_MAX_10_EXP__ 308
1787// NVPTX64:#define __DBL_MAX_EXP__ 1024
1788// NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308
1789// NVPTX64:#define __DBL_MIN_10_EXP__ (-307)
1790// NVPTX64:#define __DBL_MIN_EXP__ (-1021)
1791// NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308
1792// NVPTX64:#define __DECIMAL_DIG__ 17
1793// NVPTX64:#define __FINITE_MATH_ONLY__ 0
1794// NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1795// NVPTX64:#define __FLT_DIG__ 6
1796// NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F
1797// NVPTX64:#define __FLT_EVAL_METHOD__ 0
1798// NVPTX64:#define __FLT_HAS_DENORM__ 1
1799// NVPTX64:#define __FLT_HAS_INFINITY__ 1
1800// NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1
1801// NVPTX64:#define __FLT_MANT_DIG__ 24
1802// NVPTX64:#define __FLT_MAX_10_EXP__ 38
1803// NVPTX64:#define __FLT_MAX_EXP__ 128
1804// NVPTX64:#define __FLT_MAX__ 3.40282347e+38F
1805// NVPTX64:#define __FLT_MIN_10_EXP__ (-37)
1806// NVPTX64:#define __FLT_MIN_EXP__ (-125)
1807// NVPTX64:#define __FLT_MIN__ 1.17549435e-38F
1808// NVPTX64:#define __FLT_RADIX__ 2
1809// NVPTX64:#define __INT16_TYPE__ short
1810// NVPTX64:#define __INT32_TYPE__ int
1811// NVPTX64:#define __INT64_C_SUFFIX__ LL
1812// NVPTX64:#define __INT64_TYPE__ long long int
1813// NVPTX64:#define __INT8_TYPE__ char
1814// NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL
1815// NVPTX64:#define __INTMAX_TYPE__ long long int
1816// NVPTX64:#define __INTMAX_WIDTH__ 64
1817// NVPTX64:#define __INTPTR_TYPE__ long long unsigned int
1818// NVPTX64:#define __INTPTR_WIDTH__ 64
1819// NVPTX64:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001820// NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001821// NVPTX64:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001822// NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001823// NVPTX64:#define __LDBL_HAS_DENORM__ 1
1824// NVPTX64:#define __LDBL_HAS_INFINITY__ 1
1825// NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1
1826// NVPTX64:#define __LDBL_MANT_DIG__ 53
1827// NVPTX64:#define __LDBL_MAX_10_EXP__ 308
1828// NVPTX64:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001829// NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001830// NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
1831// NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001832// NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001833// NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1834// NVPTX64:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001835// NVPTX64:#define __LP64__ 1
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001836// NVPTX64:#define __NVPTX__ 1
1837// NVPTX64:#define __POINTER_WIDTH__ 64
1838// NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1
1839// NVPTX64:#define __PTRDIFF_TYPE__ long long unsigned int
1840// NVPTX64:#define __PTRDIFF_WIDTH__ 64
1841// NVPTX64:#define __PTX__ 1
1842// NVPTX64:#define __SCHAR_MAX__ 127
1843// NVPTX64:#define __SHRT_MAX__ 32767
1844// NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32
1845// NVPTX64:#define __SIZEOF_DOUBLE__ 8
1846// NVPTX64:#define __SIZEOF_FLOAT__ 4
1847// NVPTX64:#define __SIZEOF_INT__ 4
1848// NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8
1849// NVPTX64:#define __SIZEOF_LONG_LONG__ 8
1850// NVPTX64:#define __SIZEOF_LONG__ 8
1851// NVPTX64:#define __SIZEOF_POINTER__ 8
1852// NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8
1853// NVPTX64:#define __SIZEOF_SHORT__ 2
1854// NVPTX64:#define __SIZEOF_SIZE_T__ 8
1855// NVPTX64:#define __SIZEOF_WCHAR_T__ 4
1856// NVPTX64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001857// NVPTX64:#define __SIZE_MAX__ 18446744073709551615UL
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001858// NVPTX64:#define __SIZE_TYPE__ long long unsigned int
1859// NVPTX64:#define __SIZE_WIDTH__ 64
1860// NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int
1861// NVPTX64:#define __USER_LABEL_PREFIX__ _
1862// NVPTX64:#define __WCHAR_MAX__ 2147483647
1863// NVPTX64:#define __WCHAR_TYPE__ int
1864// NVPTX64:#define __WCHAR_WIDTH__ 32
1865// NVPTX64:#define __WINT_TYPE__ int
1866// NVPTX64:#define __WINT_WIDTH__ 32
1867//
Hal Finkel6b984f02012-07-03 16:51:04 +00001868// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -check-prefix PPC603E %s
1869//
1870// PPC603E:#define _ARCH_603 1
1871// PPC603E:#define _ARCH_603E 1
1872// PPC603E:#define _ARCH_PPC 1
1873// PPC603E:#define _ARCH_PPCGR 1
1874// PPC603E:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001875// PPC603E-NOT:#define _LP64
Hal Finkel6b984f02012-07-03 16:51:04 +00001876// PPC603E:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001877// PPC603E:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Hal Finkel6b984f02012-07-03 16:51:04 +00001878// PPC603E:#define __CHAR16_TYPE__ unsigned short
1879// PPC603E:#define __CHAR32_TYPE__ unsigned int
1880// PPC603E:#define __CHAR_BIT__ 8
1881// PPC603E:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1882// PPC603E:#define __DBL_DIG__ 15
1883// PPC603E:#define __DBL_EPSILON__ 2.2204460492503131e-16
1884// PPC603E:#define __DBL_HAS_DENORM__ 1
1885// PPC603E:#define __DBL_HAS_INFINITY__ 1
1886// PPC603E:#define __DBL_HAS_QUIET_NAN__ 1
1887// PPC603E:#define __DBL_MANT_DIG__ 53
1888// PPC603E:#define __DBL_MAX_10_EXP__ 308
1889// PPC603E:#define __DBL_MAX_EXP__ 1024
1890// PPC603E:#define __DBL_MAX__ 1.7976931348623157e+308
1891// PPC603E:#define __DBL_MIN_10_EXP__ (-307)
1892// PPC603E:#define __DBL_MIN_EXP__ (-1021)
1893// PPC603E:#define __DBL_MIN__ 2.2250738585072014e-308
1894// PPC603E:#define __DECIMAL_DIG__ 33
1895// PPC603E:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1896// PPC603E:#define __FLT_DIG__ 6
1897// PPC603E:#define __FLT_EPSILON__ 1.19209290e-7F
1898// PPC603E:#define __FLT_EVAL_METHOD__ 0
1899// PPC603E:#define __FLT_HAS_DENORM__ 1
1900// PPC603E:#define __FLT_HAS_INFINITY__ 1
1901// PPC603E:#define __FLT_HAS_QUIET_NAN__ 1
1902// PPC603E:#define __FLT_MANT_DIG__ 24
1903// PPC603E:#define __FLT_MAX_10_EXP__ 38
1904// PPC603E:#define __FLT_MAX_EXP__ 128
1905// PPC603E:#define __FLT_MAX__ 3.40282347e+38F
1906// PPC603E:#define __FLT_MIN_10_EXP__ (-37)
1907// PPC603E:#define __FLT_MIN_EXP__ (-125)
1908// PPC603E:#define __FLT_MIN__ 1.17549435e-38F
1909// PPC603E:#define __FLT_RADIX__ 2
1910// PPC603E:#define __INT16_TYPE__ short
1911// PPC603E:#define __INT32_TYPE__ int
1912// PPC603E:#define __INT64_C_SUFFIX__ LL
1913// PPC603E:#define __INT64_TYPE__ long long int
1914// PPC603E:#define __INT8_TYPE__ char
1915// PPC603E:#define __INTMAX_MAX__ 9223372036854775807LL
1916// PPC603E:#define __INTMAX_TYPE__ long long int
1917// PPC603E:#define __INTMAX_WIDTH__ 64
1918// PPC603E:#define __INTPTR_TYPE__ long int
1919// PPC603E:#define __INTPTR_WIDTH__ 32
1920// PPC603E:#define __INT_MAX__ 2147483647
1921// PPC603E:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1922// PPC603E:#define __LDBL_DIG__ 31
1923// PPC603E:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1924// PPC603E:#define __LDBL_HAS_DENORM__ 1
1925// PPC603E:#define __LDBL_HAS_INFINITY__ 1
1926// PPC603E:#define __LDBL_HAS_QUIET_NAN__ 1
1927// PPC603E:#define __LDBL_MANT_DIG__ 106
1928// PPC603E:#define __LDBL_MAX_10_EXP__ 308
1929// PPC603E:#define __LDBL_MAX_EXP__ 1024
1930// PPC603E:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1931// PPC603E:#define __LDBL_MIN_10_EXP__ (-291)
1932// PPC603E:#define __LDBL_MIN_EXP__ (-968)
1933// PPC603E:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1934// PPC603E:#define __LONG_DOUBLE_128__ 1
1935// PPC603E:#define __LONG_LONG_MAX__ 9223372036854775807LL
1936// PPC603E:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001937// PPC603E-NOT:#define __LP64__
Hal Finkel6b984f02012-07-03 16:51:04 +00001938// PPC603E:#define __NATURAL_ALIGNMENT__ 1
Hal Finkel6b984f02012-07-03 16:51:04 +00001939// PPC603E:#define __POINTER_WIDTH__ 32
1940// PPC603E:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00001941// PPC603E:#define __PPC__ 1
Hal Finkel6b984f02012-07-03 16:51:04 +00001942// PPC603E:#define __PTRDIFF_TYPE__ long int
1943// PPC603E:#define __PTRDIFF_WIDTH__ 32
1944// PPC603E:#define __REGISTER_PREFIX__
1945// PPC603E:#define __SCHAR_MAX__ 127
1946// PPC603E:#define __SHRT_MAX__ 32767
1947// PPC603E:#define __SIG_ATOMIC_WIDTH__ 32
1948// PPC603E:#define __SIZEOF_DOUBLE__ 8
1949// PPC603E:#define __SIZEOF_FLOAT__ 4
1950// PPC603E:#define __SIZEOF_INT__ 4
1951// PPC603E:#define __SIZEOF_LONG_DOUBLE__ 16
1952// PPC603E:#define __SIZEOF_LONG_LONG__ 8
1953// PPC603E:#define __SIZEOF_LONG__ 4
1954// PPC603E:#define __SIZEOF_POINTER__ 4
1955// PPC603E:#define __SIZEOF_PTRDIFF_T__ 4
1956// PPC603E:#define __SIZEOF_SHORT__ 2
1957// PPC603E:#define __SIZEOF_SIZE_T__ 4
1958// PPC603E:#define __SIZEOF_WCHAR_T__ 4
1959// PPC603E:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001960// PPC603E:#define __SIZE_MAX__ 4294967295U
Hal Finkel6b984f02012-07-03 16:51:04 +00001961// PPC603E:#define __SIZE_TYPE__ long unsigned int
1962// PPC603E:#define __SIZE_WIDTH__ 32
1963// PPC603E:#define __UINTMAX_TYPE__ long long unsigned int
1964// PPC603E:#define __USER_LABEL_PREFIX__ _
1965// PPC603E:#define __WCHAR_MAX__ 2147483647
1966// PPC603E:#define __WCHAR_TYPE__ int
1967// PPC603E:#define __WCHAR_WIDTH__ 32
1968// PPC603E:#define __WINT_TYPE__ int
1969// PPC603E:#define __WINT_WIDTH__ 32
1970// PPC603E:#define __powerpc__ 1
1971// PPC603E:#define __ppc__ 1
1972//
Hal Finkel8eb59282012-06-11 22:35:19 +00001973// 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 +00001974//
1975// PPC64:#define _ARCH_PPC 1
1976// PPC64:#define _ARCH_PPC64 1
Hal Finkel6b984f02012-07-03 16:51:04 +00001977// PPC64:#define _ARCH_PPCGR 1
1978// PPC64:#define _ARCH_PPCSQ 1
1979// PPC64:#define _ARCH_PWR4 1
1980// PPC64:#define _ARCH_PWR5 1
1981// PPC64:#define _ARCH_PWR6 1
Hal Finkel8eb59282012-06-11 22:35:19 +00001982// PPC64:#define _ARCH_PWR7 1
Chris Lattnere963d092009-10-29 04:55:36 +00001983// PPC64:#define _BIG_ENDIAN 1
1984// PPC64:#define _LP64 1
1985// PPC64:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001986// PPC64:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00001987// PPC64:#define __CHAR16_TYPE__ unsigned short
1988// PPC64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001989// PPC64:#define __CHAR_BIT__ 8
1990// PPC64:#define __CHAR_UNSIGNED__ 1
1991// PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1992// PPC64:#define __DBL_DIG__ 15
1993// PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1994// PPC64:#define __DBL_HAS_DENORM__ 1
1995// PPC64:#define __DBL_HAS_INFINITY__ 1
1996// PPC64:#define __DBL_HAS_QUIET_NAN__ 1
1997// PPC64:#define __DBL_MANT_DIG__ 53
1998// PPC64:#define __DBL_MAX_10_EXP__ 308
1999// PPC64:#define __DBL_MAX_EXP__ 1024
2000// PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
2001// PPC64:#define __DBL_MIN_10_EXP__ (-307)
2002// PPC64:#define __DBL_MIN_EXP__ (-1021)
2003// PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber3435ede2012-01-31 02:07:33 +00002004// PPC64:#define __DECIMAL_DIG__ 33
Chris Lattnere963d092009-10-29 04:55:36 +00002005// PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2006// PPC64:#define __FLT_DIG__ 6
2007// PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
2008// PPC64:#define __FLT_EVAL_METHOD__ 0
2009// PPC64:#define __FLT_HAS_DENORM__ 1
2010// PPC64:#define __FLT_HAS_INFINITY__ 1
2011// PPC64:#define __FLT_HAS_QUIET_NAN__ 1
2012// PPC64:#define __FLT_MANT_DIG__ 24
2013// PPC64:#define __FLT_MAX_10_EXP__ 38
2014// PPC64:#define __FLT_MAX_EXP__ 128
2015// PPC64:#define __FLT_MAX__ 3.40282347e+38F
2016// PPC64:#define __FLT_MIN_10_EXP__ (-37)
2017// PPC64:#define __FLT_MIN_EXP__ (-125)
2018// PPC64:#define __FLT_MIN__ 1.17549435e-38F
2019// PPC64:#define __FLT_RADIX__ 2
2020// PPC64:#define __INT16_TYPE__ short
2021// PPC64:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002022// PPC64:#define __INT64_C_SUFFIX__ L
Chris Lattnere963d092009-10-29 04:55:36 +00002023// PPC64:#define __INT64_TYPE__ long int
2024// PPC64:#define __INT8_TYPE__ char
2025// PPC64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck9b25f782009-11-19 13:18:59 +00002026// PPC64:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002027// PPC64:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002028// PPC64:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002029// PPC64:#define __INTPTR_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00002030// PPC64:#define __INT_MAX__ 2147483647
Nico Weber3435ede2012-01-31 02:07:33 +00002031// PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2032// PPC64:#define __LDBL_DIG__ 31
2033// PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002034// PPC64:#define __LDBL_HAS_DENORM__ 1
2035// PPC64:#define __LDBL_HAS_INFINITY__ 1
2036// PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002037// PPC64:#define __LDBL_MANT_DIG__ 106
Chris Lattnere963d092009-10-29 04:55:36 +00002038// PPC64:#define __LDBL_MAX_10_EXP__ 308
2039// PPC64:#define __LDBL_MAX_EXP__ 1024
Nico Weber3435ede2012-01-31 02:07:33 +00002040// PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2041// PPC64:#define __LDBL_MIN_10_EXP__ (-291)
2042// PPC64:#define __LDBL_MIN_EXP__ (-968)
2043// PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnere963d092009-10-29 04:55:36 +00002044// PPC64:#define __LONG_DOUBLE_128__ 1
2045// PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
2046// PPC64:#define __LONG_MAX__ 9223372036854775807L
2047// PPC64:#define __LP64__ 1
2048// PPC64:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002049// PPC64:#define __POINTER_WIDTH__ 64
2050// PPC64:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002051// PPC64:#define __PPC64__ 1
2052// PPC64:#define __PPC__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002053// PPC64:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002054// PPC64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00002055// PPC64:#define __REGISTER_PREFIX__
2056// PPC64:#define __SCHAR_MAX__ 127
2057// PPC64:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002058// PPC64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002059// PPC64:#define __SIZEOF_DOUBLE__ 8
2060// PPC64:#define __SIZEOF_FLOAT__ 4
2061// PPC64:#define __SIZEOF_INT__ 4
Nico Weber3435ede2012-01-31 02:07:33 +00002062// PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohman04f87202010-05-28 00:27:15 +00002063// PPC64:#define __SIZEOF_LONG_LONG__ 8
2064// PPC64:#define __SIZEOF_LONG__ 8
2065// PPC64:#define __SIZEOF_POINTER__ 8
2066// PPC64:#define __SIZEOF_PTRDIFF_T__ 8
2067// PPC64:#define __SIZEOF_SHORT__ 2
2068// PPC64:#define __SIZEOF_SIZE_T__ 8
2069// PPC64:#define __SIZEOF_WCHAR_T__ 4
2070// PPC64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002071// PPC64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnere963d092009-10-29 04:55:36 +00002072// PPC64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002073// PPC64:#define __SIZE_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002074// PPC64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002075// PPC64:#define __USER_LABEL_PREFIX__ _
2076// PPC64:#define __WCHAR_MAX__ 2147483647
2077// PPC64:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002078// PPC64:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002079// PPC64:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002080// PPC64:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002081// PPC64:#define __ppc64__ 1
2082// PPC64:#define __ppc__ 1
2083//
Bill Schmidt778d3872013-07-26 01:36:11 +00002084// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64LE %s
2085//
2086// PPC64LE:#define _ARCH_PPC 1
2087// PPC64LE:#define _ARCH_PPC64 1
2088// PPC64LE:#define _ARCH_PPCGR 1
2089// PPC64LE:#define _ARCH_PPCSQ 1
2090// PPC64LE:#define _ARCH_PWR4 1
2091// PPC64LE:#define _ARCH_PWR5 1
2092// PPC64LE:#define _ARCH_PWR5X 1
2093// PPC64LE:#define _ARCH_PWR6 1
2094// PPC64LE:#define _ARCH_PWR6X 1
2095// PPC64LE:#define _ARCH_PWR7 1
2096// PPC64LE:#define _LITTLE_ENDIAN 1
2097// PPC64LE:#define _LP64 1
2098// PPC64LE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
2099// PPC64LE:#define __CHAR16_TYPE__ unsigned short
2100// PPC64LE:#define __CHAR32_TYPE__ unsigned int
2101// PPC64LE:#define __CHAR_BIT__ 8
2102// PPC64LE:#define __CHAR_UNSIGNED__ 1
2103// PPC64LE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2104// PPC64LE:#define __DBL_DIG__ 15
2105// PPC64LE:#define __DBL_EPSILON__ 2.2204460492503131e-16
2106// PPC64LE:#define __DBL_HAS_DENORM__ 1
2107// PPC64LE:#define __DBL_HAS_INFINITY__ 1
2108// PPC64LE:#define __DBL_HAS_QUIET_NAN__ 1
2109// PPC64LE:#define __DBL_MANT_DIG__ 53
2110// PPC64LE:#define __DBL_MAX_10_EXP__ 308
2111// PPC64LE:#define __DBL_MAX_EXP__ 1024
2112// PPC64LE:#define __DBL_MAX__ 1.7976931348623157e+308
2113// PPC64LE:#define __DBL_MIN_10_EXP__ (-307)
2114// PPC64LE:#define __DBL_MIN_EXP__ (-1021)
2115// PPC64LE:#define __DBL_MIN__ 2.2250738585072014e-308
2116// PPC64LE:#define __DECIMAL_DIG__ 33
2117// PPC64LE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2118// PPC64LE:#define __FLT_DIG__ 6
2119// PPC64LE:#define __FLT_EPSILON__ 1.19209290e-7F
2120// PPC64LE:#define __FLT_EVAL_METHOD__ 0
2121// PPC64LE:#define __FLT_HAS_DENORM__ 1
2122// PPC64LE:#define __FLT_HAS_INFINITY__ 1
2123// PPC64LE:#define __FLT_HAS_QUIET_NAN__ 1
2124// PPC64LE:#define __FLT_MANT_DIG__ 24
2125// PPC64LE:#define __FLT_MAX_10_EXP__ 38
2126// PPC64LE:#define __FLT_MAX_EXP__ 128
2127// PPC64LE:#define __FLT_MAX__ 3.40282347e+38F
2128// PPC64LE:#define __FLT_MIN_10_EXP__ (-37)
2129// PPC64LE:#define __FLT_MIN_EXP__ (-125)
2130// PPC64LE:#define __FLT_MIN__ 1.17549435e-38F
2131// PPC64LE:#define __FLT_RADIX__ 2
2132// PPC64LE:#define __INT16_TYPE__ short
2133// PPC64LE:#define __INT32_TYPE__ int
2134// PPC64LE:#define __INT64_C_SUFFIX__ L
2135// PPC64LE:#define __INT64_TYPE__ long int
2136// PPC64LE:#define __INT8_TYPE__ char
2137// PPC64LE:#define __INTMAX_MAX__ 9223372036854775807L
2138// PPC64LE:#define __INTMAX_TYPE__ long int
2139// PPC64LE:#define __INTMAX_WIDTH__ 64
2140// PPC64LE:#define __INTPTR_TYPE__ long int
2141// PPC64LE:#define __INTPTR_WIDTH__ 64
2142// PPC64LE:#define __INT_MAX__ 2147483647
2143// PPC64LE:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2144// PPC64LE:#define __LDBL_DIG__ 31
2145// PPC64LE:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2146// PPC64LE:#define __LDBL_HAS_DENORM__ 1
2147// PPC64LE:#define __LDBL_HAS_INFINITY__ 1
2148// PPC64LE:#define __LDBL_HAS_QUIET_NAN__ 1
2149// PPC64LE:#define __LDBL_MANT_DIG__ 106
2150// PPC64LE:#define __LDBL_MAX_10_EXP__ 308
2151// PPC64LE:#define __LDBL_MAX_EXP__ 1024
2152// PPC64LE:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2153// PPC64LE:#define __LDBL_MIN_10_EXP__ (-291)
2154// PPC64LE:#define __LDBL_MIN_EXP__ (-968)
2155// PPC64LE:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2156// PPC64LE:#define __LITTLE_ENDIAN__ 1
2157// PPC64LE:#define __LONG_DOUBLE_128__ 1
2158// PPC64LE:#define __LONG_LONG_MAX__ 9223372036854775807LL
2159// PPC64LE:#define __LONG_MAX__ 9223372036854775807L
2160// PPC64LE:#define __LP64__ 1
2161// PPC64LE:#define __NATURAL_ALIGNMENT__ 1
2162// PPC64LE:#define __POINTER_WIDTH__ 64
2163// PPC64LE:#define __POWERPC__ 1
2164// PPC64LE:#define __PPC64__ 1
2165// PPC64LE:#define __PPC__ 1
2166// PPC64LE:#define __PTRDIFF_TYPE__ long int
2167// PPC64LE:#define __PTRDIFF_WIDTH__ 64
2168// PPC64LE:#define __REGISTER_PREFIX__
2169// PPC64LE:#define __SCHAR_MAX__ 127
2170// PPC64LE:#define __SHRT_MAX__ 32767
2171// PPC64LE:#define __SIG_ATOMIC_WIDTH__ 32
2172// PPC64LE:#define __SIZEOF_DOUBLE__ 8
2173// PPC64LE:#define __SIZEOF_FLOAT__ 4
2174// PPC64LE:#define __SIZEOF_INT__ 4
2175// PPC64LE:#define __SIZEOF_LONG_DOUBLE__ 16
2176// PPC64LE:#define __SIZEOF_LONG_LONG__ 8
2177// PPC64LE:#define __SIZEOF_LONG__ 8
2178// PPC64LE:#define __SIZEOF_POINTER__ 8
2179// PPC64LE:#define __SIZEOF_PTRDIFF_T__ 8
2180// PPC64LE:#define __SIZEOF_SHORT__ 2
2181// PPC64LE:#define __SIZEOF_SIZE_T__ 8
2182// PPC64LE:#define __SIZEOF_WCHAR_T__ 4
2183// PPC64LE:#define __SIZEOF_WINT_T__ 4
2184// PPC64LE:#define __SIZE_MAX__ 18446744073709551615UL
2185// PPC64LE:#define __SIZE_TYPE__ long unsigned int
2186// PPC64LE:#define __SIZE_WIDTH__ 64
2187// PPC64LE:#define __UINTMAX_TYPE__ long unsigned int
2188// PPC64LE:#define __USER_LABEL_PREFIX__ _
2189// PPC64LE:#define __WCHAR_MAX__ 2147483647
2190// PPC64LE:#define __WCHAR_TYPE__ int
2191// PPC64LE:#define __WCHAR_WIDTH__ 32
2192// PPC64LE:#define __WINT_TYPE__ int
2193// PPC64LE:#define __WINT_WIDTH__ 32
2194// PPC64LE:#define __ppc64__ 1
2195// PPC64LE:#define __ppc__ 1
2196//
Hal Finkeldf1e4bf2013-02-01 05:53:33 +00002197// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu a2q -fno-signed-char < /dev/null | FileCheck -check-prefix PPCA2Q %s
2198//
2199// PPCA2Q:#define _ARCH_A2 1
2200// PPCA2Q:#define _ARCH_A2Q 1
2201// PPCA2Q:#define _ARCH_PPC 1
2202// PPCA2Q:#define _ARCH_PPC64 1
2203// PPCA2Q:#define _ARCH_QP 1
2204//
2205// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-bgq-linux -fno-signed-char < /dev/null | FileCheck -check-prefix PPCBGQ %s
2206//
2207// PPCBGQ:#define __THW_BLUEGENE__ 1
2208// PPCBGQ:#define __TOS_BGQ__ 1
2209// PPCBGQ:#define __bg__ 1
2210// PPCBGQ:#define __bgq__ 1
2211//
Bill Schmidt38378a02013-02-01 20:23:10 +00002212// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu 630 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC630 %s
2213//
2214// PPC630:#define _ARCH_630 1
2215// PPC630:#define _ARCH_PPC 1
2216// PPC630:#define _ARCH_PPC64 1
2217// PPC630:#define _ARCH_PPCGR 1
2218//
2219// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR3 %s
2220//
2221// PPCPWR3:#define _ARCH_PPC 1
2222// PPCPWR3:#define _ARCH_PPC64 1
2223// PPCPWR3:#define _ARCH_PPCGR 1
2224//
2225// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER3 %s
2226//
2227// PPCPOWER3:#define _ARCH_PPC 1
2228// PPCPOWER3:#define _ARCH_PPC64 1
2229// PPCPOWER3:#define _ARCH_PPCGR 1
2230//
2231// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR4 %s
2232//
2233// PPCPWR4:#define _ARCH_PPC 1
2234// PPCPWR4:#define _ARCH_PPC64 1
2235// PPCPWR4:#define _ARCH_PPCGR 1
2236// PPCPWR4:#define _ARCH_PPCSQ 1
2237// PPCPWR4:#define _ARCH_PWR4 1
2238//
2239// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER4 %s
2240//
2241// PPCPOWER4:#define _ARCH_PPC 1
2242// PPCPOWER4:#define _ARCH_PPC64 1
2243// PPCPOWER4:#define _ARCH_PPCGR 1
2244// PPCPOWER4:#define _ARCH_PPCSQ 1
2245// PPCPOWER4:#define _ARCH_PWR4 1
2246//
2247// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5 %s
2248//
2249// PPCPWR5:#define _ARCH_PPC 1
2250// PPCPWR5:#define _ARCH_PPC64 1
2251// PPCPWR5:#define _ARCH_PPCGR 1
2252// PPCPWR5:#define _ARCH_PPCSQ 1
2253// PPCPWR5:#define _ARCH_PWR4 1
2254// PPCPWR5:#define _ARCH_PWR5 1
2255//
2256// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5 %s
2257//
2258// PPCPOWER5:#define _ARCH_PPC 1
2259// PPCPOWER5:#define _ARCH_PPC64 1
2260// PPCPOWER5:#define _ARCH_PPCGR 1
2261// PPCPOWER5:#define _ARCH_PPCSQ 1
2262// PPCPOWER5:#define _ARCH_PWR4 1
2263// PPCPOWER5:#define _ARCH_PWR5 1
2264//
2265// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5X %s
2266//
2267// PPCPWR5X:#define _ARCH_PPC 1
2268// PPCPWR5X:#define _ARCH_PPC64 1
2269// PPCPWR5X:#define _ARCH_PPCGR 1
2270// PPCPWR5X:#define _ARCH_PPCSQ 1
2271// PPCPWR5X:#define _ARCH_PWR4 1
2272// PPCPWR5X:#define _ARCH_PWR5 1
2273// PPCPWR5X:#define _ARCH_PWR5X 1
2274//
2275// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5X %s
2276//
2277// PPCPOWER5X:#define _ARCH_PPC 1
2278// PPCPOWER5X:#define _ARCH_PPC64 1
2279// PPCPOWER5X:#define _ARCH_PPCGR 1
2280// PPCPOWER5X:#define _ARCH_PPCSQ 1
2281// PPCPOWER5X:#define _ARCH_PWR4 1
2282// PPCPOWER5X:#define _ARCH_PWR5 1
2283// PPCPOWER5X:#define _ARCH_PWR5X 1
2284//
2285// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6 %s
2286//
2287// PPCPWR6:#define _ARCH_PPC 1
2288// PPCPWR6:#define _ARCH_PPC64 1
2289// PPCPWR6:#define _ARCH_PPCGR 1
2290// PPCPWR6:#define _ARCH_PPCSQ 1
2291// PPCPWR6:#define _ARCH_PWR4 1
2292// PPCPWR6:#define _ARCH_PWR5 1
2293// PPCPWR6:#define _ARCH_PWR5X 1
2294// PPCPWR6:#define _ARCH_PWR6 1
2295//
2296// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6 %s
2297//
2298// PPCPOWER6:#define _ARCH_PPC 1
2299// PPCPOWER6:#define _ARCH_PPC64 1
2300// PPCPOWER6:#define _ARCH_PPCGR 1
2301// PPCPOWER6:#define _ARCH_PPCSQ 1
2302// PPCPOWER6:#define _ARCH_PWR4 1
2303// PPCPOWER6:#define _ARCH_PWR5 1
2304// PPCPOWER6:#define _ARCH_PWR5X 1
2305// PPCPOWER6:#define _ARCH_PWR6 1
2306//
2307// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6X %s
2308//
2309// PPCPWR6X:#define _ARCH_PPC 1
2310// PPCPWR6X:#define _ARCH_PPC64 1
2311// PPCPWR6X:#define _ARCH_PPCGR 1
2312// PPCPWR6X:#define _ARCH_PPCSQ 1
2313// PPCPWR6X:#define _ARCH_PWR4 1
2314// PPCPWR6X:#define _ARCH_PWR5 1
2315// PPCPWR6X:#define _ARCH_PWR5X 1
2316// PPCPWR6X:#define _ARCH_PWR6 1
2317// PPCPWR6X:#define _ARCH_PWR6X 1
2318//
2319// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6X %s
2320//
2321// PPCPOWER6X:#define _ARCH_PPC 1
2322// PPCPOWER6X:#define _ARCH_PPC64 1
2323// PPCPOWER6X:#define _ARCH_PPCGR 1
2324// PPCPOWER6X:#define _ARCH_PPCSQ 1
2325// PPCPOWER6X:#define _ARCH_PWR4 1
2326// PPCPOWER6X:#define _ARCH_PWR5 1
2327// PPCPOWER6X:#define _ARCH_PWR5X 1
2328// PPCPOWER6X:#define _ARCH_PWR6 1
2329// PPCPOWER6X:#define _ARCH_PWR6X 1
2330//
2331// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR7 %s
2332//
2333// PPCPWR7:#define _ARCH_PPC 1
2334// PPCPWR7:#define _ARCH_PPC64 1
2335// PPCPWR7:#define _ARCH_PPCGR 1
2336// PPCPWR7:#define _ARCH_PPCSQ 1
2337// PPCPWR7:#define _ARCH_PWR4 1
2338// PPCPWR7:#define _ARCH_PWR5 1
2339// PPCPWR7:#define _ARCH_PWR5X 1
2340// PPCPWR7:#define _ARCH_PWR6 1
2341// PPCPWR7:#define _ARCH_PWR6X 1
2342// PPCPWR7:#define _ARCH_PWR7 1
2343//
2344// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER7 %s
2345//
2346// PPCPOWER7:#define _ARCH_PPC 1
2347// PPCPOWER7:#define _ARCH_PPC64 1
2348// PPCPOWER7:#define _ARCH_PPCGR 1
2349// PPCPOWER7:#define _ARCH_PPCSQ 1
2350// PPCPOWER7:#define _ARCH_PWR4 1
2351// PPCPOWER7:#define _ARCH_PWR5 1
2352// PPCPOWER7:#define _ARCH_PWR5X 1
2353// PPCPOWER7:#define _ARCH_PWR6 1
2354// PPCPOWER7:#define _ARCH_PWR6X 1
2355// PPCPOWER7:#define _ARCH_PWR7 1
2356//
Nico Weber3435ede2012-01-31 02:07:33 +00002357// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
2358//
2359// PPC64-LINUX:#define _ARCH_PPC 1
2360// PPC64-LINUX:#define _ARCH_PPC64 1
2361// PPC64-LINUX:#define _BIG_ENDIAN 1
2362// PPC64-LINUX:#define _LP64 1
2363// PPC64-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002364// PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber3435ede2012-01-31 02:07:33 +00002365// PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
2366// PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
2367// PPC64-LINUX:#define __CHAR_BIT__ 8
2368// PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
2369// PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2370// PPC64-LINUX:#define __DBL_DIG__ 15
2371// PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2372// PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
2373// PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
2374// PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2375// PPC64-LINUX:#define __DBL_MANT_DIG__ 53
2376// PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
2377// PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
2378// PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2379// PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2380// PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2381// PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2382// PPC64-LINUX:#define __DECIMAL_DIG__ 33
2383// PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2384// PPC64-LINUX:#define __FLT_DIG__ 6
2385// PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2386// PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
2387// PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
2388// PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
2389// PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2390// PPC64-LINUX:#define __FLT_MANT_DIG__ 24
2391// PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
2392// PPC64-LINUX:#define __FLT_MAX_EXP__ 128
2393// PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2394// PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2395// PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
2396// PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2397// PPC64-LINUX:#define __FLT_RADIX__ 2
2398// PPC64-LINUX:#define __INT16_TYPE__ short
2399// PPC64-LINUX:#define __INT32_TYPE__ int
2400// PPC64-LINUX:#define __INT64_C_SUFFIX__ L
2401// PPC64-LINUX:#define __INT64_TYPE__ long int
2402// PPC64-LINUX:#define __INT8_TYPE__ char
2403// PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2404// PPC64-LINUX:#define __INTMAX_TYPE__ long int
2405// PPC64-LINUX:#define __INTMAX_WIDTH__ 64
2406// PPC64-LINUX:#define __INTPTR_TYPE__ long int
2407// PPC64-LINUX:#define __INTPTR_WIDTH__ 64
2408// PPC64-LINUX:#define __INT_MAX__ 2147483647
2409// PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2410// PPC64-LINUX:#define __LDBL_DIG__ 31
2411// PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2412// PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
2413// PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2414// PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2415// PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
2416// PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
2417// PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
2418// PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2419// PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2420// PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
2421// PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2422// PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
2423// PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2424// PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2425// PPC64-LINUX:#define __LP64__ 1
2426// PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002427// PPC64-LINUX:#define __POINTER_WIDTH__ 64
2428// PPC64-LINUX:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002429// PPC64-LINUX:#define __PPC64__ 1
2430// PPC64-LINUX:#define __PPC__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002431// PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
2432// PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
2433// PPC64-LINUX:#define __REGISTER_PREFIX__
2434// PPC64-LINUX:#define __SCHAR_MAX__ 127
2435// PPC64-LINUX:#define __SHRT_MAX__ 32767
2436// PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2437// PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
2438// PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
2439// PPC64-LINUX:#define __SIZEOF_INT__ 4
2440// PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2441// PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2442// PPC64-LINUX:#define __SIZEOF_LONG__ 8
2443// PPC64-LINUX:#define __SIZEOF_POINTER__ 8
2444// PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2445// PPC64-LINUX:#define __SIZEOF_SHORT__ 2
2446// PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
2447// PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2448// PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002449// PPC64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Nico Weber3435ede2012-01-31 02:07:33 +00002450// PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
2451// PPC64-LINUX:#define __SIZE_WIDTH__ 64
2452// PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2453// PPC64-LINUX:#define __USER_LABEL_PREFIX__
2454// PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
2455// PPC64-LINUX:#define __WCHAR_TYPE__ int
2456// PPC64-LINUX:#define __WCHAR_WIDTH__ 32
2457// PPC64-LINUX:#define __WINT_TYPE__ unsigned int
2458// PPC64-LINUX:#define __WINT_UNSIGNED__ 1
2459// PPC64-LINUX:#define __WINT_WIDTH__ 32
2460// PPC64-LINUX:#define __powerpc64__ 1
2461// PPC64-LINUX:#define __powerpc__ 1
2462// PPC64-LINUX:#define __ppc64__ 1
2463// PPC64-LINUX:#define __ppc__ 1
2464//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002465// 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 +00002466//
2467// PPC:#define _ARCH_PPC 1
2468// PPC:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002469// PPC-NOT:#define _LP64
Chris Lattnere963d092009-10-29 04:55:36 +00002470// PPC:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002471// PPC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002472// PPC:#define __CHAR16_TYPE__ unsigned short
2473// PPC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002474// PPC:#define __CHAR_BIT__ 8
2475// PPC:#define __CHAR_UNSIGNED__ 1
2476// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2477// PPC:#define __DBL_DIG__ 15
2478// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2479// PPC:#define __DBL_HAS_DENORM__ 1
2480// PPC:#define __DBL_HAS_INFINITY__ 1
2481// PPC:#define __DBL_HAS_QUIET_NAN__ 1
2482// PPC:#define __DBL_MANT_DIG__ 53
2483// PPC:#define __DBL_MAX_10_EXP__ 308
2484// PPC:#define __DBL_MAX_EXP__ 1024
2485// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
2486// PPC:#define __DBL_MIN_10_EXP__ (-307)
2487// PPC:#define __DBL_MIN_EXP__ (-1021)
2488// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber3435ede2012-01-31 02:07:33 +00002489// PPC:#define __DECIMAL_DIG__ 33
Chris Lattnere963d092009-10-29 04:55:36 +00002490// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2491// PPC:#define __FLT_DIG__ 6
2492// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
2493// PPC:#define __FLT_EVAL_METHOD__ 0
2494// PPC:#define __FLT_HAS_DENORM__ 1
2495// PPC:#define __FLT_HAS_INFINITY__ 1
2496// PPC:#define __FLT_HAS_QUIET_NAN__ 1
2497// PPC:#define __FLT_MANT_DIG__ 24
2498// PPC:#define __FLT_MAX_10_EXP__ 38
2499// PPC:#define __FLT_MAX_EXP__ 128
2500// PPC:#define __FLT_MAX__ 3.40282347e+38F
2501// PPC:#define __FLT_MIN_10_EXP__ (-37)
2502// PPC:#define __FLT_MIN_EXP__ (-125)
2503// PPC:#define __FLT_MIN__ 1.17549435e-38F
2504// PPC:#define __FLT_RADIX__ 2
2505// PPC:#define __INT16_TYPE__ short
2506// PPC:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002507// PPC:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00002508// PPC:#define __INT64_TYPE__ long long int
2509// PPC:#define __INT8_TYPE__ char
2510// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00002511// PPC:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002512// PPC:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002513// PPC:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002514// PPC:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002515// PPC:#define __INT_MAX__ 2147483647
Nico Weber3435ede2012-01-31 02:07:33 +00002516// PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2517// PPC:#define __LDBL_DIG__ 31
2518// PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002519// PPC:#define __LDBL_HAS_DENORM__ 1
2520// PPC:#define __LDBL_HAS_INFINITY__ 1
2521// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002522// PPC:#define __LDBL_MANT_DIG__ 106
Chris Lattnere963d092009-10-29 04:55:36 +00002523// PPC:#define __LDBL_MAX_10_EXP__ 308
2524// PPC:#define __LDBL_MAX_EXP__ 1024
Nico Weber3435ede2012-01-31 02:07:33 +00002525// PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2526// PPC:#define __LDBL_MIN_10_EXP__ (-291)
2527// PPC:#define __LDBL_MIN_EXP__ (-968)
2528// PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnere963d092009-10-29 04:55:36 +00002529// PPC:#define __LONG_DOUBLE_128__ 1
2530// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2531// PPC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002532// PPC-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00002533// PPC:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002534// PPC:#define __POINTER_WIDTH__ 32
2535// PPC:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002536// PPC:#define __PPC__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002537// PPC:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002538// PPC:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002539// PPC:#define __REGISTER_PREFIX__
2540// PPC:#define __SCHAR_MAX__ 127
2541// PPC:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002542// PPC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002543// PPC:#define __SIZEOF_DOUBLE__ 8
2544// PPC:#define __SIZEOF_FLOAT__ 4
2545// PPC:#define __SIZEOF_INT__ 4
Nico Weber3435ede2012-01-31 02:07:33 +00002546// PPC:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohman04f87202010-05-28 00:27:15 +00002547// PPC:#define __SIZEOF_LONG_LONG__ 8
2548// PPC:#define __SIZEOF_LONG__ 4
2549// PPC:#define __SIZEOF_POINTER__ 4
2550// PPC:#define __SIZEOF_PTRDIFF_T__ 4
2551// PPC:#define __SIZEOF_SHORT__ 2
2552// PPC:#define __SIZEOF_SIZE_T__ 4
2553// PPC:#define __SIZEOF_WCHAR_T__ 4
2554// PPC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002555// PPC:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00002556// PPC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002557// PPC:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002558// PPC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002559// PPC:#define __USER_LABEL_PREFIX__ _
2560// PPC:#define __WCHAR_MAX__ 2147483647
2561// PPC:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002562// PPC:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002563// PPC:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002564// PPC:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002565// PPC:#define __ppc__ 1
2566//
Nico Weber3435ede2012-01-31 02:07:33 +00002567// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
2568//
2569// PPC-LINUX:#define _ARCH_PPC 1
2570// PPC-LINUX:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002571// PPC-LINUX-NOT:#define _LP64
Nico Weber3435ede2012-01-31 02:07:33 +00002572// PPC-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002573// PPC-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber3435ede2012-01-31 02:07:33 +00002574// PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
2575// PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
2576// PPC-LINUX:#define __CHAR_BIT__ 8
2577// PPC-LINUX:#define __CHAR_UNSIGNED__ 1
2578// PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2579// PPC-LINUX:#define __DBL_DIG__ 15
2580// PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2581// PPC-LINUX:#define __DBL_HAS_DENORM__ 1
2582// PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
2583// PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2584// PPC-LINUX:#define __DBL_MANT_DIG__ 53
2585// PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
2586// PPC-LINUX:#define __DBL_MAX_EXP__ 1024
2587// PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2588// PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2589// PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
2590// PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2591// PPC-LINUX:#define __DECIMAL_DIG__ 33
2592// PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2593// PPC-LINUX:#define __FLT_DIG__ 6
2594// PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2595// PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
2596// PPC-LINUX:#define __FLT_HAS_DENORM__ 1
2597// PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
2598// PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2599// PPC-LINUX:#define __FLT_MANT_DIG__ 24
2600// PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
2601// PPC-LINUX:#define __FLT_MAX_EXP__ 128
2602// PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2603// PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2604// PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
2605// PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2606// PPC-LINUX:#define __FLT_RADIX__ 2
2607// PPC-LINUX:#define __INT16_TYPE__ short
2608// PPC-LINUX:#define __INT32_TYPE__ int
2609// PPC-LINUX:#define __INT64_C_SUFFIX__ LL
2610// PPC-LINUX:#define __INT64_TYPE__ long long int
2611// PPC-LINUX:#define __INT8_TYPE__ char
2612// PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
2613// PPC-LINUX:#define __INTMAX_TYPE__ long long int
2614// PPC-LINUX:#define __INTMAX_WIDTH__ 64
Hal Finkel26908382012-03-02 20:54:36 +00002615// PPC-LINUX:#define __INTPTR_TYPE__ int
Nico Weber3435ede2012-01-31 02:07:33 +00002616// PPC-LINUX:#define __INTPTR_WIDTH__ 32
2617// PPC-LINUX:#define __INT_MAX__ 2147483647
2618// PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2619// PPC-LINUX:#define __LDBL_DIG__ 31
2620// PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2621// PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
2622// PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
2623// PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2624// PPC-LINUX:#define __LDBL_MANT_DIG__ 106
2625// PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
2626// PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
2627// PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2628// PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2629// PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
2630// PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2631// PPC-LINUX:#define __LONG_DOUBLE_128__ 1
2632// PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2633// PPC-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002634// PPC-LINUX-NOT:#define __LP64__
Nico Weber3435ede2012-01-31 02:07:33 +00002635// PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002636// PPC-LINUX:#define __POINTER_WIDTH__ 32
2637// PPC-LINUX:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002638// PPC-LINUX:#define __PPC__ 1
Hal Finkel26908382012-03-02 20:54:36 +00002639// PPC-LINUX:#define __PTRDIFF_TYPE__ int
Nico Weber3435ede2012-01-31 02:07:33 +00002640// PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
2641// PPC-LINUX:#define __REGISTER_PREFIX__
2642// PPC-LINUX:#define __SCHAR_MAX__ 127
2643// PPC-LINUX:#define __SHRT_MAX__ 32767
2644// PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2645// PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
2646// PPC-LINUX:#define __SIZEOF_FLOAT__ 4
2647// PPC-LINUX:#define __SIZEOF_INT__ 4
2648// PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2649// PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
2650// PPC-LINUX:#define __SIZEOF_LONG__ 4
2651// PPC-LINUX:#define __SIZEOF_POINTER__ 4
2652// PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
2653// PPC-LINUX:#define __SIZEOF_SHORT__ 2
2654// PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
2655// PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
2656// PPC-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002657// PPC-LINUX:#define __SIZE_MAX__ 4294967295U
Nico Weber3435ede2012-01-31 02:07:33 +00002658// PPC-LINUX:#define __SIZE_TYPE__ unsigned int
2659// PPC-LINUX:#define __SIZE_WIDTH__ 32
2660// PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
2661// PPC-LINUX:#define __USER_LABEL_PREFIX__
2662// PPC-LINUX:#define __WCHAR_MAX__ 2147483647
2663// PPC-LINUX:#define __WCHAR_TYPE__ int
2664// PPC-LINUX:#define __WCHAR_WIDTH__ 32
2665// PPC-LINUX:#define __WINT_TYPE__ unsigned int
2666// PPC-LINUX:#define __WINT_UNSIGNED__ 1
2667// PPC-LINUX:#define __WINT_WIDTH__ 32
2668// PPC-LINUX:#define __powerpc__ 1
2669// PPC-LINUX:#define __ppc__ 1
2670//
David Fang072d47b2013-05-16 17:51:48 +00002671// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-apple-darwin8 < /dev/null | FileCheck -check-prefix PPC-DARWIN %s
2672//
2673// PPC-DARWIN:#define _ARCH_PPC 1
2674// PPC-DARWIN:#define _BIG_ENDIAN 1
2675// PPC-DARWIN:#define __BIG_ENDIAN__ 1
2676// PPC-DARWIN:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2677// PPC-DARWIN:#define __CHAR16_TYPE__ unsigned short
2678// PPC-DARWIN:#define __CHAR32_TYPE__ unsigned int
2679// PPC-DARWIN:#define __CHAR_BIT__ 8
2680// PPC-DARWIN:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2681// PPC-DARWIN:#define __DBL_DIG__ 15
2682// PPC-DARWIN:#define __DBL_EPSILON__ 2.2204460492503131e-16
2683// PPC-DARWIN:#define __DBL_HAS_DENORM__ 1
2684// PPC-DARWIN:#define __DBL_HAS_INFINITY__ 1
2685// PPC-DARWIN:#define __DBL_HAS_QUIET_NAN__ 1
2686// PPC-DARWIN:#define __DBL_MANT_DIG__ 53
2687// PPC-DARWIN:#define __DBL_MAX_10_EXP__ 308
2688// PPC-DARWIN:#define __DBL_MAX_EXP__ 1024
2689// PPC-DARWIN:#define __DBL_MAX__ 1.7976931348623157e+308
2690// PPC-DARWIN:#define __DBL_MIN_10_EXP__ (-307)
2691// PPC-DARWIN:#define __DBL_MIN_EXP__ (-1021)
2692// PPC-DARWIN:#define __DBL_MIN__ 2.2250738585072014e-308
2693// PPC-DARWIN:#define __DECIMAL_DIG__ 33
2694// PPC-DARWIN:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2695// PPC-DARWIN:#define __FLT_DIG__ 6
2696// PPC-DARWIN:#define __FLT_EPSILON__ 1.19209290e-7F
2697// PPC-DARWIN:#define __FLT_EVAL_METHOD__ 0
2698// PPC-DARWIN:#define __FLT_HAS_DENORM__ 1
2699// PPC-DARWIN:#define __FLT_HAS_INFINITY__ 1
2700// PPC-DARWIN:#define __FLT_HAS_QUIET_NAN__ 1
2701// PPC-DARWIN:#define __FLT_MANT_DIG__ 24
2702// PPC-DARWIN:#define __FLT_MAX_10_EXP__ 38
2703// PPC-DARWIN:#define __FLT_MAX_EXP__ 128
2704// PPC-DARWIN:#define __FLT_MAX__ 3.40282347e+38F
2705// PPC-DARWIN:#define __FLT_MIN_10_EXP__ (-37)
2706// PPC-DARWIN:#define __FLT_MIN_EXP__ (-125)
2707// PPC-DARWIN:#define __FLT_MIN__ 1.17549435e-38F
2708// PPC-DARWIN:#define __FLT_RADIX__ 2
2709// PPC-DARWIN:#define __INT16_TYPE__ short
2710// PPC-DARWIN:#define __INT32_TYPE__ int
2711// PPC-DARWIN:#define __INT64_C_SUFFIX__ LL
2712// PPC-DARWIN:#define __INT64_TYPE__ long long int
2713// PPC-DARWIN:#define __INT8_TYPE__ char
2714// PPC-DARWIN:#define __INTMAX_MAX__ 9223372036854775807LL
2715// PPC-DARWIN:#define __INTMAX_TYPE__ long long int
2716// PPC-DARWIN:#define __INTMAX_WIDTH__ 64
2717// PPC-DARWIN:#define __INTPTR_TYPE__ long int
2718// PPC-DARWIN:#define __INTPTR_WIDTH__ 32
2719// PPC-DARWIN:#define __INT_MAX__ 2147483647
2720// PPC-DARWIN:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2721// PPC-DARWIN:#define __LDBL_DIG__ 31
2722// PPC-DARWIN:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2723// PPC-DARWIN:#define __LDBL_HAS_DENORM__ 1
2724// PPC-DARWIN:#define __LDBL_HAS_INFINITY__ 1
2725// PPC-DARWIN:#define __LDBL_HAS_QUIET_NAN__ 1
2726// PPC-DARWIN:#define __LDBL_MANT_DIG__ 106
2727// PPC-DARWIN:#define __LDBL_MAX_10_EXP__ 308
2728// PPC-DARWIN:#define __LDBL_MAX_EXP__ 1024
2729// PPC-DARWIN:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2730// PPC-DARWIN:#define __LDBL_MIN_10_EXP__ (-291)
2731// PPC-DARWIN:#define __LDBL_MIN_EXP__ (-968)
2732// PPC-DARWIN:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2733// PPC-DARWIN:#define __LONG_DOUBLE_128__ 1
2734// PPC-DARWIN:#define __LONG_LONG_MAX__ 9223372036854775807LL
2735// PPC-DARWIN:#define __LONG_MAX__ 2147483647L
2736// PPC-DARWIN:#define __MACH__ 1
2737// PPC-DARWIN:#define __NATURAL_ALIGNMENT__ 1
2738// PPC-DARWIN:#define __ORDER_BIG_ENDIAN__ 4321
2739// PPC-DARWIN:#define __ORDER_LITTLE_ENDIAN__ 1234
2740// PPC-DARWIN:#define __ORDER_PDP_ENDIAN__ 3412
2741// PPC-DARWIN:#define __POINTER_WIDTH__ 32
2742// PPC-DARWIN:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002743// PPC-DARWIN:#define __PPC__ 1
David Fang072d47b2013-05-16 17:51:48 +00002744// PPC-DARWIN:#define __PTRDIFF_TYPE__ int
2745// PPC-DARWIN:#define __PTRDIFF_WIDTH__ 32
2746// PPC-DARWIN:#define __REGISTER_PREFIX__
2747// PPC-DARWIN:#define __SCHAR_MAX__ 127
2748// PPC-DARWIN:#define __SHRT_MAX__ 32767
2749// PPC-DARWIN:#define __SIG_ATOMIC_WIDTH__ 32
2750// PPC-DARWIN:#define __SIZEOF_DOUBLE__ 8
2751// PPC-DARWIN:#define __SIZEOF_FLOAT__ 4
2752// PPC-DARWIN:#define __SIZEOF_INT__ 4
2753// PPC-DARWIN:#define __SIZEOF_LONG_DOUBLE__ 16
2754// PPC-DARWIN:#define __SIZEOF_LONG_LONG__ 8
2755// PPC-DARWIN:#define __SIZEOF_LONG__ 4
2756// PPC-DARWIN:#define __SIZEOF_POINTER__ 4
2757// PPC-DARWIN:#define __SIZEOF_PTRDIFF_T__ 4
2758// PPC-DARWIN:#define __SIZEOF_SHORT__ 2
2759// PPC-DARWIN:#define __SIZEOF_SIZE_T__ 4
2760// PPC-DARWIN:#define __SIZEOF_WCHAR_T__ 4
2761// PPC-DARWIN:#define __SIZEOF_WINT_T__ 4
2762// PPC-DARWIN:#define __SIZE_MAX__ 4294967295UL
2763// PPC-DARWIN:#define __SIZE_TYPE__ long unsigned int
2764// PPC-DARWIN:#define __SIZE_WIDTH__ 32
2765// PPC-DARWIN:#define __STDC_HOSTED__ 0
2766// PPC-DARWIN:#define __STDC_VERSION__ 199901L
2767// PPC-DARWIN:#define __STDC__ 1
2768// PPC-DARWIN:#define __UINTMAX_TYPE__ long long unsigned int
2769// PPC-DARWIN:#define __USER_LABEL_PREFIX__ _
2770// PPC-DARWIN:#define __WCHAR_MAX__ 2147483647
2771// PPC-DARWIN:#define __WCHAR_TYPE__ int
2772// PPC-DARWIN:#define __WCHAR_WIDTH__ 32
2773// PPC-DARWIN:#define __WINT_TYPE__ int
2774// PPC-DARWIN:#define __WINT_WIDTH__ 32
2775// PPC-DARWIN:#define __powerpc__ 1
2776// PPC-DARWIN:#define __ppc__ 1
2777//
Ulrich Weigand47445072013-05-06 16:26:41 +00002778// RUN: %clang_cc1 -E -dM -ffreestanding -triple=s390x-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix S390X %s
2779//
2780// S390X:#define __CHAR16_TYPE__ unsigned short
2781// S390X:#define __CHAR32_TYPE__ unsigned int
2782// S390X:#define __CHAR_BIT__ 8
2783// S390X:#define __CHAR_UNSIGNED__ 1
2784// S390X:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2785// S390X:#define __DBL_DIG__ 15
2786// S390X:#define __DBL_EPSILON__ 2.2204460492503131e-16
2787// S390X:#define __DBL_HAS_DENORM__ 1
2788// S390X:#define __DBL_HAS_INFINITY__ 1
2789// S390X:#define __DBL_HAS_QUIET_NAN__ 1
2790// S390X:#define __DBL_MANT_DIG__ 53
2791// S390X:#define __DBL_MAX_10_EXP__ 308
2792// S390X:#define __DBL_MAX_EXP__ 1024
2793// S390X:#define __DBL_MAX__ 1.7976931348623157e+308
2794// S390X:#define __DBL_MIN_10_EXP__ (-307)
2795// S390X:#define __DBL_MIN_EXP__ (-1021)
2796// S390X:#define __DBL_MIN__ 2.2250738585072014e-308
2797// S390X:#define __DECIMAL_DIG__ 36
2798// S390X:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2799// S390X:#define __FLT_DIG__ 6
2800// S390X:#define __FLT_EPSILON__ 1.19209290e-7F
2801// S390X:#define __FLT_EVAL_METHOD__ 0
2802// S390X:#define __FLT_HAS_DENORM__ 1
2803// S390X:#define __FLT_HAS_INFINITY__ 1
2804// S390X:#define __FLT_HAS_QUIET_NAN__ 1
2805// S390X:#define __FLT_MANT_DIG__ 24
2806// S390X:#define __FLT_MAX_10_EXP__ 38
2807// S390X:#define __FLT_MAX_EXP__ 128
2808// S390X:#define __FLT_MAX__ 3.40282347e+38F
2809// S390X:#define __FLT_MIN_10_EXP__ (-37)
2810// S390X:#define __FLT_MIN_EXP__ (-125)
2811// S390X:#define __FLT_MIN__ 1.17549435e-38F
2812// S390X:#define __FLT_RADIX__ 2
2813// S390X:#define __INT16_TYPE__ short
2814// S390X:#define __INT32_TYPE__ int
2815// S390X:#define __INT64_C_SUFFIX__ L
2816// S390X:#define __INT64_TYPE__ long long int
2817// S390X:#define __INT8_TYPE__ char
2818// S390X:#define __INTMAX_MAX__ 9223372036854775807LL
2819// S390X:#define __INTMAX_TYPE__ long long int
2820// S390X:#define __INTMAX_WIDTH__ 64
2821// S390X:#define __INTPTR_TYPE__ long int
2822// S390X:#define __INTPTR_WIDTH__ 64
2823// S390X:#define __INT_MAX__ 2147483647
2824// S390X:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
2825// S390X:#define __LDBL_DIG__ 33
2826// S390X:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
2827// S390X:#define __LDBL_HAS_DENORM__ 1
2828// S390X:#define __LDBL_HAS_INFINITY__ 1
2829// S390X:#define __LDBL_HAS_QUIET_NAN__ 1
2830// S390X:#define __LDBL_MANT_DIG__ 113
2831// S390X:#define __LDBL_MAX_10_EXP__ 4932
2832// S390X:#define __LDBL_MAX_EXP__ 16384
2833// S390X:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
2834// S390X:#define __LDBL_MIN_10_EXP__ (-4931)
2835// S390X:#define __LDBL_MIN_EXP__ (-16381)
2836// S390X:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
2837// S390X:#define __LONG_LONG_MAX__ 9223372036854775807LL
2838// S390X:#define __LONG_MAX__ 9223372036854775807L
2839// S390X:#define __NO_INLINE__ 1
2840// S390X:#define __POINTER_WIDTH__ 64
2841// S390X:#define __PTRDIFF_TYPE__ long int
2842// S390X:#define __PTRDIFF_WIDTH__ 64
2843// S390X:#define __SCHAR_MAX__ 127
2844// S390X:#define __SHRT_MAX__ 32767
2845// S390X:#define __SIG_ATOMIC_WIDTH__ 32
2846// S390X:#define __SIZEOF_DOUBLE__ 8
2847// S390X:#define __SIZEOF_FLOAT__ 4
2848// S390X:#define __SIZEOF_INT__ 4
2849// S390X:#define __SIZEOF_LONG_DOUBLE__ 16
2850// S390X:#define __SIZEOF_LONG_LONG__ 8
2851// S390X:#define __SIZEOF_LONG__ 8
2852// S390X:#define __SIZEOF_POINTER__ 8
2853// S390X:#define __SIZEOF_PTRDIFF_T__ 8
2854// S390X:#define __SIZEOF_SHORT__ 2
2855// S390X:#define __SIZEOF_SIZE_T__ 8
2856// S390X:#define __SIZEOF_WCHAR_T__ 4
2857// S390X:#define __SIZEOF_WINT_T__ 4
2858// S390X:#define __SIZE_TYPE__ long unsigned int
2859// S390X:#define __SIZE_WIDTH__ 64
2860// S390X:#define __UINTMAX_TYPE__ long long unsigned int
2861// S390X:#define __USER_LABEL_PREFIX__ _
2862// S390X:#define __WCHAR_MAX__ 2147483647
2863// S390X:#define __WCHAR_TYPE__ int
2864// S390X:#define __WCHAR_WIDTH__ 32
2865// S390X:#define __WINT_TYPE__ int
2866// S390X:#define __WINT_WIDTH__ 32
2867// S390X:#define __s390__ 1
2868// S390X:#define __s390x__ 1
2869//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002870// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
Chris Lattnere963d092009-10-29 04:55:36 +00002871//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002872// SPARC-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002873// SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002874// SPARC:#define __CHAR16_TYPE__ unsigned short
2875// SPARC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002876// SPARC:#define __CHAR_BIT__ 8
2877// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2878// SPARC:#define __DBL_DIG__ 15
2879// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2880// SPARC:#define __DBL_HAS_DENORM__ 1
2881// SPARC:#define __DBL_HAS_INFINITY__ 1
2882// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
2883// SPARC:#define __DBL_MANT_DIG__ 53
2884// SPARC:#define __DBL_MAX_10_EXP__ 308
2885// SPARC:#define __DBL_MAX_EXP__ 1024
2886// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
2887// SPARC:#define __DBL_MIN_10_EXP__ (-307)
2888// SPARC:#define __DBL_MIN_EXP__ (-1021)
2889// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
2890// SPARC:#define __DECIMAL_DIG__ 17
2891// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2892// SPARC:#define __FLT_DIG__ 6
2893// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
2894// SPARC:#define __FLT_EVAL_METHOD__ 0
2895// SPARC:#define __FLT_HAS_DENORM__ 1
2896// SPARC:#define __FLT_HAS_INFINITY__ 1
2897// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
2898// SPARC:#define __FLT_MANT_DIG__ 24
2899// SPARC:#define __FLT_MAX_10_EXP__ 38
2900// SPARC:#define __FLT_MAX_EXP__ 128
2901// SPARC:#define __FLT_MAX__ 3.40282347e+38F
2902// SPARC:#define __FLT_MIN_10_EXP__ (-37)
2903// SPARC:#define __FLT_MIN_EXP__ (-125)
2904// SPARC:#define __FLT_MIN__ 1.17549435e-38F
2905// SPARC:#define __FLT_RADIX__ 2
2906// SPARC:#define __INT16_TYPE__ short
2907// SPARC:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002908// SPARC:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00002909// SPARC:#define __INT64_TYPE__ long long int
2910// SPARC:#define __INT8_TYPE__ char
2911// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00002912// SPARC:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002913// SPARC:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002914// SPARC:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002915// SPARC:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002916// SPARC:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002917// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002918// SPARC:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002919// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +00002920// SPARC:#define __LDBL_HAS_DENORM__ 1
2921// SPARC:#define __LDBL_HAS_INFINITY__ 1
2922// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
2923// SPARC:#define __LDBL_MANT_DIG__ 53
2924// SPARC:#define __LDBL_MAX_10_EXP__ 308
2925// SPARC:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002926// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +00002927// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
2928// SPARC:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002929// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnere963d092009-10-29 04:55:36 +00002930// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2931// SPARC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002932// SPARC-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00002933// SPARC:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002934// SPARC:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002935// SPARC:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbaracde99e2009-12-18 18:42:37 +00002936// SPARC:#define __REGISTER_PREFIX__
Chris Lattnere963d092009-10-29 04:55:36 +00002937// SPARC:#define __SCHAR_MAX__ 127
2938// SPARC:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002939// SPARC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002940// SPARC:#define __SIZEOF_DOUBLE__ 8
2941// SPARC:#define __SIZEOF_FLOAT__ 4
2942// SPARC:#define __SIZEOF_INT__ 4
2943// SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
2944// SPARC:#define __SIZEOF_LONG_LONG__ 8
2945// SPARC:#define __SIZEOF_LONG__ 4
2946// SPARC:#define __SIZEOF_POINTER__ 4
2947// SPARC:#define __SIZEOF_PTRDIFF_T__ 4
2948// SPARC:#define __SIZEOF_SHORT__ 2
2949// SPARC:#define __SIZEOF_SIZE_T__ 4
2950// SPARC:#define __SIZEOF_WCHAR_T__ 4
2951// SPARC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002952// SPARC:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00002953// SPARC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002954// SPARC:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002955// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002956// SPARC:#define __USER_LABEL_PREFIX__ _
Daniel Dunbar3b17a862011-03-31 00:53:51 +00002957// SPARC:#define __VERSION__ "4.2.1 Compatible
Chris Lattnere963d092009-10-29 04:55:36 +00002958// SPARC:#define __WCHAR_MAX__ 2147483647
2959// SPARC:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002960// SPARC:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002961// SPARC:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002962// SPARC:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002963// SPARC:#define __sparc 1
2964// SPARC:#define __sparc__ 1
2965// SPARC:#define __sparcv8 1
2966// SPARC:#define sparc 1
2967//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002968// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
Chris Lattnere963d092009-10-29 04:55:36 +00002969//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002970// TCE-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002971// TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002972// TCE:#define __CHAR16_TYPE__ unsigned short
2973// TCE:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002974// TCE:#define __CHAR_BIT__ 8
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002975// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45
Chris Lattnere963d092009-10-29 04:55:36 +00002976// TCE:#define __DBL_DIG__ 6
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002977// TCE:#define __DBL_EPSILON__ 1.19209290e-7
Chris Lattnere963d092009-10-29 04:55:36 +00002978// TCE:#define __DBL_HAS_DENORM__ 1
2979// TCE:#define __DBL_HAS_INFINITY__ 1
2980// TCE:#define __DBL_HAS_QUIET_NAN__ 1
2981// TCE:#define __DBL_MANT_DIG__ 24
2982// TCE:#define __DBL_MAX_10_EXP__ 38
2983// TCE:#define __DBL_MAX_EXP__ 128
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002984// TCE:#define __DBL_MAX__ 3.40282347e+38
Chris Lattnere963d092009-10-29 04:55:36 +00002985// TCE:#define __DBL_MIN_10_EXP__ (-37)
2986// TCE:#define __DBL_MIN_EXP__ (-125)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002987// TCE:#define __DBL_MIN__ 1.17549435e-38
Chris Lattnere963d092009-10-29 04:55:36 +00002988// TCE:#define __DECIMAL_DIG__ -1
2989// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2990// TCE:#define __FLT_DIG__ 6
2991// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
2992// TCE:#define __FLT_EVAL_METHOD__ 0
2993// TCE:#define __FLT_HAS_DENORM__ 1
2994// TCE:#define __FLT_HAS_INFINITY__ 1
2995// TCE:#define __FLT_HAS_QUIET_NAN__ 1
2996// TCE:#define __FLT_MANT_DIG__ 24
2997// TCE:#define __FLT_MAX_10_EXP__ 38
2998// TCE:#define __FLT_MAX_EXP__ 128
2999// TCE:#define __FLT_MAX__ 3.40282347e+38F
3000// TCE:#define __FLT_MIN_10_EXP__ (-37)
3001// TCE:#define __FLT_MIN_EXP__ (-125)
3002// TCE:#define __FLT_MIN__ 1.17549435e-38F
3003// TCE:#define __FLT_RADIX__ 2
3004// TCE:#define __INT16_TYPE__ short
3005// TCE:#define __INT32_TYPE__ int
3006// TCE:#define __INT8_TYPE__ char
3007// TCE:#define __INTMAX_MAX__ 2147483647L
Ken Dyck9b25f782009-11-19 13:18:59 +00003008// TCE:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00003009// TCE:#define __INTMAX_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003010// TCE:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00003011// TCE:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003012// TCE:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003013// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45L
Chris Lattnere963d092009-10-29 04:55:36 +00003014// TCE:#define __LDBL_DIG__ 6
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003015// TCE:#define __LDBL_EPSILON__ 1.19209290e-7L
Chris Lattnere963d092009-10-29 04:55:36 +00003016// TCE:#define __LDBL_HAS_DENORM__ 1
3017// TCE:#define __LDBL_HAS_INFINITY__ 1
3018// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
3019// TCE:#define __LDBL_MANT_DIG__ 24
3020// TCE:#define __LDBL_MAX_10_EXP__ 38
3021// TCE:#define __LDBL_MAX_EXP__ 128
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003022// TCE:#define __LDBL_MAX__ 3.40282347e+38L
Chris Lattnere963d092009-10-29 04:55:36 +00003023// TCE:#define __LDBL_MIN_10_EXP__ (-37)
3024// TCE:#define __LDBL_MIN_EXP__ (-125)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003025// TCE:#define __LDBL_MIN__ 1.17549435e-38L
Chris Lattnere963d092009-10-29 04:55:36 +00003026// TCE:#define __LONG_LONG_MAX__ 2147483647LL
3027// TCE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003028// TCE-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00003029// TCE:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003030// TCE:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00003031// TCE:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003032// TCE:#define __SCHAR_MAX__ 127
3033// TCE:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00003034// TCE:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00003035// TCE:#define __SIZEOF_DOUBLE__ 4
3036// TCE:#define __SIZEOF_FLOAT__ 4
3037// TCE:#define __SIZEOF_INT__ 4
3038// TCE:#define __SIZEOF_LONG_DOUBLE__ 4
3039// TCE:#define __SIZEOF_LONG_LONG__ 4
3040// TCE:#define __SIZEOF_LONG__ 4
3041// TCE:#define __SIZEOF_POINTER__ 4
3042// TCE:#define __SIZEOF_PTRDIFF_T__ 4
3043// TCE:#define __SIZEOF_SHORT__ 2
3044// TCE:#define __SIZEOF_SIZE_T__ 4
3045// TCE:#define __SIZEOF_WCHAR_T__ 4
3046// TCE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003047// TCE:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00003048// TCE:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00003049// TCE:#define __SIZE_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003050// TCE:#define __TCE_V1__ 1
3051// TCE:#define __TCE__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00003052// TCE:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003053// TCE:#define __USER_LABEL_PREFIX__ _
3054// TCE:#define __WCHAR_MAX__ 2147483647
3055// TCE:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00003056// TCE:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003057// TCE:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00003058// TCE:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003059// TCE:#define __tce 1
3060// TCE:#define __tce__ 1
3061// TCE:#define tce 1
3062//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00003063// 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 +00003064//
3065// X86_64:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003066// X86_64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00003067// X86_64:#define __CHAR16_TYPE__ unsigned short
3068// X86_64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003069// X86_64:#define __CHAR_BIT__ 8
3070// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3071// X86_64:#define __DBL_DIG__ 15
3072// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
3073// X86_64:#define __DBL_HAS_DENORM__ 1
3074// X86_64:#define __DBL_HAS_INFINITY__ 1
3075// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
3076// X86_64:#define __DBL_MANT_DIG__ 53
3077// X86_64:#define __DBL_MAX_10_EXP__ 308
3078// X86_64:#define __DBL_MAX_EXP__ 1024
3079// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
3080// X86_64:#define __DBL_MIN_10_EXP__ (-307)
3081// X86_64:#define __DBL_MIN_EXP__ (-1021)
3082// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
3083// X86_64:#define __DECIMAL_DIG__ 21
3084// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3085// X86_64:#define __FLT_DIG__ 6
3086// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
3087// X86_64:#define __FLT_EVAL_METHOD__ 0
3088// X86_64:#define __FLT_HAS_DENORM__ 1
3089// X86_64:#define __FLT_HAS_INFINITY__ 1
3090// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
3091// X86_64:#define __FLT_MANT_DIG__ 24
3092// X86_64:#define __FLT_MAX_10_EXP__ 38
3093// X86_64:#define __FLT_MAX_EXP__ 128
3094// X86_64:#define __FLT_MAX__ 3.40282347e+38F
3095// X86_64:#define __FLT_MIN_10_EXP__ (-37)
3096// X86_64:#define __FLT_MIN_EXP__ (-125)
3097// X86_64:#define __FLT_MIN__ 1.17549435e-38F
3098// X86_64:#define __FLT_RADIX__ 2
3099// X86_64:#define __INT16_TYPE__ short
3100// X86_64:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00003101// X86_64:#define __INT64_C_SUFFIX__ L
Chris Lattnere963d092009-10-29 04:55:36 +00003102// X86_64:#define __INT64_TYPE__ long int
3103// X86_64:#define __INT8_TYPE__ char
3104// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck9b25f782009-11-19 13:18:59 +00003105// X86_64:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00003106// X86_64:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00003107// X86_64:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00003108// X86_64:#define __INTPTR_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003109// X86_64:#define __INT_MAX__ 2147483647
3110// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3111// X86_64:#define __LDBL_DIG__ 18
3112// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3113// X86_64:#define __LDBL_HAS_DENORM__ 1
3114// X86_64:#define __LDBL_HAS_INFINITY__ 1
3115// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
3116// X86_64:#define __LDBL_MANT_DIG__ 64
3117// X86_64:#define __LDBL_MAX_10_EXP__ 4932
3118// X86_64:#define __LDBL_MAX_EXP__ 16384
3119// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3120// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
3121// X86_64:#define __LDBL_MIN_EXP__ (-16381)
3122// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3123// X86_64:#define __LITTLE_ENDIAN__ 1
3124// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
3125// X86_64:#define __LONG_MAX__ 9223372036854775807L
3126// X86_64:#define __LP64__ 1
3127// X86_64:#define __MMX__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00003128// X86_64:#define __NO_MATH_INLINES 1
3129// X86_64:#define __POINTER_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00003130// X86_64:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00003131// X86_64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003132// X86_64:#define __REGISTER_PREFIX__
3133// X86_64:#define __SCHAR_MAX__ 127
3134// X86_64:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00003135// X86_64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00003136// X86_64:#define __SIZEOF_DOUBLE__ 8
3137// X86_64:#define __SIZEOF_FLOAT__ 4
3138// X86_64:#define __SIZEOF_INT__ 4
3139// X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
3140// X86_64:#define __SIZEOF_LONG_LONG__ 8
3141// X86_64:#define __SIZEOF_LONG__ 8
3142// X86_64:#define __SIZEOF_POINTER__ 8
3143// X86_64:#define __SIZEOF_PTRDIFF_T__ 8
3144// X86_64:#define __SIZEOF_SHORT__ 2
3145// X86_64:#define __SIZEOF_SIZE_T__ 8
3146// X86_64:#define __SIZEOF_WCHAR_T__ 4
3147// X86_64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003148// X86_64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnere963d092009-10-29 04:55:36 +00003149// X86_64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00003150// X86_64:#define __SIZE_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003151// X86_64:#define __SSE2_MATH__ 1
3152// X86_64:#define __SSE2__ 1
3153// X86_64:#define __SSE_MATH__ 1
3154// X86_64:#define __SSE__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00003155// X86_64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003156// X86_64:#define __USER_LABEL_PREFIX__ _
3157// X86_64:#define __WCHAR_MAX__ 2147483647
3158// X86_64:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00003159// X86_64:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003160// X86_64:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00003161// X86_64:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003162// X86_64:#define __amd64 1
3163// X86_64:#define __amd64__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00003164// X86_64:#define __x86_64 1
3165// X86_64:#define __x86_64__ 1
3166//
Douglas Gregore6d6e512011-01-12 21:19:25 +00003167// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
3168//
3169// X86_64-LINUX:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003170// X86_64-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregore6d6e512011-01-12 21:19:25 +00003171// X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
3172// X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
3173// X86_64-LINUX:#define __CHAR_BIT__ 8
3174// X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3175// X86_64-LINUX:#define __DBL_DIG__ 15
3176// X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
3177// X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
3178// X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
3179// X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
3180// X86_64-LINUX:#define __DBL_MANT_DIG__ 53
3181// X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
3182// X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
3183// X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
3184// X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
3185// X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
3186// X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
3187// X86_64-LINUX:#define __DECIMAL_DIG__ 21
3188// X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3189// X86_64-LINUX:#define __FLT_DIG__ 6
3190// X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
3191// X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
3192// X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
3193// X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
3194// X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
3195// X86_64-LINUX:#define __FLT_MANT_DIG__ 24
3196// X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
3197// X86_64-LINUX:#define __FLT_MAX_EXP__ 128
3198// X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
3199// X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
3200// X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
3201// X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
3202// X86_64-LINUX:#define __FLT_RADIX__ 2
3203// X86_64-LINUX:#define __INT16_TYPE__ short
3204// X86_64-LINUX:#define __INT32_TYPE__ int
3205// X86_64-LINUX:#define __INT64_C_SUFFIX__ L
3206// X86_64-LINUX:#define __INT64_TYPE__ long int
3207// X86_64-LINUX:#define __INT8_TYPE__ char
3208// X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
3209// X86_64-LINUX:#define __INTMAX_TYPE__ long int
3210// X86_64-LINUX:#define __INTMAX_WIDTH__ 64
3211// X86_64-LINUX:#define __INTPTR_TYPE__ long int
3212// X86_64-LINUX:#define __INTPTR_WIDTH__ 64
3213// X86_64-LINUX:#define __INT_MAX__ 2147483647
3214// X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3215// X86_64-LINUX:#define __LDBL_DIG__ 18
3216// X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3217// X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
3218// X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
3219// X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
3220// X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
3221// X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
3222// X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
3223// X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3224// X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
3225// X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
3226// X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3227// X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
3228// X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
3229// X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
3230// X86_64-LINUX:#define __LP64__ 1
3231// X86_64-LINUX:#define __MMX__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00003232// X86_64-LINUX:#define __NO_MATH_INLINES 1
3233// X86_64-LINUX:#define __POINTER_WIDTH__ 64
3234// X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
3235// X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
3236// X86_64-LINUX:#define __REGISTER_PREFIX__
3237// X86_64-LINUX:#define __SCHAR_MAX__ 127
3238// X86_64-LINUX:#define __SHRT_MAX__ 32767
3239// X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
3240// X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
3241// X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
3242// X86_64-LINUX:#define __SIZEOF_INT__ 4
3243// X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
3244// X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
3245// X86_64-LINUX:#define __SIZEOF_LONG__ 8
3246// X86_64-LINUX:#define __SIZEOF_POINTER__ 8
3247// X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
3248// X86_64-LINUX:#define __SIZEOF_SHORT__ 2
3249// X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
3250// X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
3251// X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003252// X86_64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Douglas Gregore6d6e512011-01-12 21:19:25 +00003253// X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
3254// X86_64-LINUX:#define __SIZE_WIDTH__ 64
3255// X86_64-LINUX:#define __SSE2_MATH__ 1
3256// X86_64-LINUX:#define __SSE2__ 1
3257// X86_64-LINUX:#define __SSE_MATH__ 1
3258// X86_64-LINUX:#define __SSE__ 1
3259// X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
3260// X86_64-LINUX:#define __USER_LABEL_PREFIX__
3261// X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
3262// X86_64-LINUX:#define __WCHAR_TYPE__ int
3263// X86_64-LINUX:#define __WCHAR_WIDTH__ 32
3264// X86_64-LINUX:#define __WINT_TYPE__ unsigned int
3265// X86_64-LINUX:#define __WINT_WIDTH__ 32
3266// X86_64-LINUX:#define __amd64 1
3267// X86_64-LINUX:#define __amd64__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00003268// X86_64-LINUX:#define __x86_64 1
3269// X86_64-LINUX:#define __x86_64__ 1
3270//
Ed Schoutend0621462013-09-29 07:54:52 +00003271// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-unknown-freebsd9.1 < /dev/null | FileCheck -check-prefix X86_64-FREEBSD %s
3272//
3273// X86_64-FREEBSD:#define __FreeBSD__ 9
3274// X86_64-FREEBSD:#define __FreeBSD_cc_version 900001
3275// X86_64-FREEBSD:#define __STDC_MB_MIGHT_NEQ_WC__ 1
3276//
Joerg Sonnenberger0e921f22013-11-11 14:00:37 +00003277// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-netbsd < /dev/null | FileCheck -check-prefix X86_64-NETBSD %s
3278//
3279// X86_64-NETBSD:#define _LP64 1
3280// X86_64-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
3281// X86_64-NETBSD:#define __CHAR16_TYPE__ unsigned short
3282// X86_64-NETBSD:#define __CHAR32_TYPE__ unsigned int
3283// X86_64-NETBSD:#define __CHAR_BIT__ 8
3284// X86_64-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3285// X86_64-NETBSD:#define __DBL_DIG__ 15
3286// X86_64-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
3287// X86_64-NETBSD:#define __DBL_HAS_DENORM__ 1
3288// X86_64-NETBSD:#define __DBL_HAS_INFINITY__ 1
3289// X86_64-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
3290// X86_64-NETBSD:#define __DBL_MANT_DIG__ 53
3291// X86_64-NETBSD:#define __DBL_MAX_10_EXP__ 308
3292// X86_64-NETBSD:#define __DBL_MAX_EXP__ 1024
3293// X86_64-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
3294// X86_64-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
3295// X86_64-NETBSD:#define __DBL_MIN_EXP__ (-1021)
3296// X86_64-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
3297// X86_64-NETBSD:#define __DECIMAL_DIG__ 21
3298// X86_64-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3299// X86_64-NETBSD:#define __FLT_DIG__ 6
3300// X86_64-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
3301// X86_64-NETBSD:#define __FLT_EVAL_METHOD__ 0
3302// X86_64-NETBSD:#define __FLT_HAS_DENORM__ 1
3303// X86_64-NETBSD:#define __FLT_HAS_INFINITY__ 1
3304// X86_64-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
3305// X86_64-NETBSD:#define __FLT_MANT_DIG__ 24
3306// X86_64-NETBSD:#define __FLT_MAX_10_EXP__ 38
3307// X86_64-NETBSD:#define __FLT_MAX_EXP__ 128
3308// X86_64-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
3309// X86_64-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
3310// X86_64-NETBSD:#define __FLT_MIN_EXP__ (-125)
3311// X86_64-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
3312// X86_64-NETBSD:#define __FLT_RADIX__ 2
3313// X86_64-NETBSD:#define __INT16_TYPE__ short
3314// X86_64-NETBSD:#define __INT32_TYPE__ int
3315// X86_64-NETBSD:#define __INT64_C_SUFFIX__ L
3316// X86_64-NETBSD:#define __INT64_TYPE__ long int
3317// X86_64-NETBSD:#define __INT8_TYPE__ char
3318// X86_64-NETBSD:#define __INTMAX_MAX__ 9223372036854775807L
3319// X86_64-NETBSD:#define __INTMAX_TYPE__ long int
3320// X86_64-NETBSD:#define __INTMAX_WIDTH__ 64
3321// X86_64-NETBSD:#define __INTPTR_TYPE__ long int
3322// X86_64-NETBSD:#define __INTPTR_WIDTH__ 64
3323// X86_64-NETBSD:#define __INT_MAX__ 2147483647
3324// X86_64-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3325// X86_64-NETBSD:#define __LDBL_DIG__ 18
3326// X86_64-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3327// X86_64-NETBSD:#define __LDBL_HAS_DENORM__ 1
3328// X86_64-NETBSD:#define __LDBL_HAS_INFINITY__ 1
3329// X86_64-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
3330// X86_64-NETBSD:#define __LDBL_MANT_DIG__ 64
3331// X86_64-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
3332// X86_64-NETBSD:#define __LDBL_MAX_EXP__ 16384
3333// X86_64-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3334// X86_64-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
3335// X86_64-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
3336// X86_64-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3337// X86_64-NETBSD:#define __LITTLE_ENDIAN__ 1
3338// X86_64-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
3339// X86_64-NETBSD:#define __LONG_MAX__ 9223372036854775807L
3340// X86_64-NETBSD:#define __LP64__ 1
3341// X86_64-NETBSD:#define __MMX__ 1
3342// X86_64-NETBSD:#define __NO_MATH_INLINES 1
3343// X86_64-NETBSD:#define __POINTER_WIDTH__ 64
3344// X86_64-NETBSD:#define __PTRDIFF_TYPE__ long int
3345// X86_64-NETBSD:#define __PTRDIFF_WIDTH__ 64
3346// X86_64-NETBSD:#define __REGISTER_PREFIX__
3347// X86_64-NETBSD:#define __SCHAR_MAX__ 127
3348// X86_64-NETBSD:#define __SHRT_MAX__ 32767
3349// X86_64-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
3350// X86_64-NETBSD:#define __SIZEOF_DOUBLE__ 8
3351// X86_64-NETBSD:#define __SIZEOF_FLOAT__ 4
3352// X86_64-NETBSD:#define __SIZEOF_INT__ 4
3353// X86_64-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 16
3354// X86_64-NETBSD:#define __SIZEOF_LONG_LONG__ 8
3355// X86_64-NETBSD:#define __SIZEOF_LONG__ 8
3356// X86_64-NETBSD:#define __SIZEOF_POINTER__ 8
3357// X86_64-NETBSD:#define __SIZEOF_PTRDIFF_T__ 8
3358// X86_64-NETBSD:#define __SIZEOF_SHORT__ 2
3359// X86_64-NETBSD:#define __SIZEOF_SIZE_T__ 8
3360// X86_64-NETBSD:#define __SIZEOF_WCHAR_T__ 4
3361// X86_64-NETBSD:#define __SIZEOF_WINT_T__ 4
3362// X86_64-NETBSD:#define __SIZE_MAX__ 18446744073709551615UL
3363// X86_64-NETBSD:#define __SIZE_TYPE__ long unsigned int
3364// X86_64-NETBSD:#define __SIZE_WIDTH__ 64
3365// X86_64-NETBSD:#define __SSE2_MATH__ 1
3366// X86_64-NETBSD:#define __SSE2__ 1
3367// X86_64-NETBSD:#define __SSE_MATH__ 1
3368// X86_64-NETBSD:#define __SSE__ 1
3369// X86_64-NETBSD:#define __UINTMAX_TYPE__ long unsigned int
3370// X86_64-NETBSD:#define __USER_LABEL_PREFIX__
3371// X86_64-NETBSD:#define __WCHAR_MAX__ 2147483647
3372// X86_64-NETBSD:#define __WCHAR_TYPE__ int
3373// X86_64-NETBSD:#define __WCHAR_WIDTH__ 32
3374// X86_64-NETBSD:#define __WINT_TYPE__ int
3375// X86_64-NETBSD:#define __WINT_WIDTH__ 32
3376// X86_64-NETBSD:#define __amd64 1
3377// X86_64-NETBSD:#define __amd64__ 1
3378// X86_64-NETBSD:#define __x86_64 1
3379// X86_64-NETBSD:#define __x86_64__ 1
3380//
Jakob Stoklund Olesen248520b2013-05-15 03:22:33 +00003381// 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 +00003382// SPARCV9:#define __INT64_TYPE__ long int
Jakob Stoklund Olesen248520b2013-05-15 03:22:33 +00003383// SPARCV9:#define __INTMAX_TYPE__ long int
3384// SPARCV9:#define __INTPTR_TYPE__ long int
3385// SPARCV9:#define __LONG_MAX__ 9223372036854775807L
3386// SPARCV9:#define __LP64__ 1
3387// SPARCV9:#define __SIZEOF_LONG__ 8
3388// SPARCV9:#define __SIZEOF_POINTER__ 8
3389//
Jakob Stoklund Olesen826df142013-05-19 17:53:37 +00003390// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-openbsd < /dev/null | FileCheck -check-prefix SPARC64-OBSD %s
3391// SPARC64-OBSD:#define __INT64_TYPE__ long long int
3392// SPARC64-OBSD:#define __INTMAX_TYPE__ long long int
3393// SPARC64-OBSD:#define __UINTMAX_TYPE__ long long unsigned int
3394//
Sylvestre Ledrufd7cd3552013-09-06 14:53:07 +00003395// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSD-DEFINE %s
3396// KFREEBSD-DEFINE:#define __FreeBSD_kernel__ 1
3397// KFREEBSD-DEFINE:#define __GLIBC__ 1
3398//
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003399// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i686-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSDI686-DEFINE %s
3400// KFREEBSDI686-DEFINE:#define __FreeBSD_kernel__ 1
3401// KFREEBSDI686-DEFINE:#define __GLIBC__ 1
3402//
David Chisnallb601c962012-07-03 20:49:52 +00003403// 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 +00003404// GNUSOURCE:#define _GNU_SOURCE 1
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003405//
Dan Gohman04f87202010-05-28 00:27:15 +00003406// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
3407// NORTTI: __GXX_ABI_VERSION
3408// NORTTI-NOT:#define __GXX_RTTI
3409// NORTTI: __STDC__
Evgeniy Stepanov94dc4c92012-04-26 12:08:09 +00003410//
3411// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
3412// ANDROID: __ANDROID__ 1
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003413//
Roman Divacky13b586f2013-07-03 19:45:54 +00003414// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd < /dev/null | FileCheck -check-prefix PPC64-FREEBSD %s
3415// PPC64-FREEBSD-NOT: #define __LONG_DOUBLE_128__ 1
Robert Lytton0e076492013-08-13 09:43:10 +00003416//
3417// RUN: %clang_cc1 -E -dM -ffreestanding -triple=xcore-none-none < /dev/null | FileCheck -check-prefix XCORE %s
3418// XCORE:#define __XS1B__ 1