blob: 358612fec180ba8448e600528e7e2777a9bca6ec [file] [log] [blame]
Daniel Dunbara5728872009-12-15 20:14:24 +00001// RUN: %clang_cc1 -E -dM -x assembler-with-cpp < /dev/null | FileCheck -check-prefix ASM %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00002//
3// ASM:#define __ASSEMBLER__ 1
4//
5//
Daniel Dunbara5728872009-12-15 20:14:24 +00006// RUN: %clang_cc1 -fblocks -E -dM < /dev/null | FileCheck -check-prefix BLOCKS %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00007//
8// BLOCKS:#define __BLOCKS__ 1
9// BLOCKS:#define __block __attribute__((__blocks__(byref)))
10//
Richard Smith7f0ffb32013-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
Stephen Hines651f13c2014-04-23 16:59:28 -070018// CXX1Y:#define __cplusplus 201402L
Richard Smith7f0ffb32013-05-07 19:32:56 +000019// CXX1Y:#define __private_extern__ extern
20//
21//
Richard Smith4e24f0f2013-01-02 12:01:23 +000022// RUN: %clang_cc1 -x c++ -std=c++11 -E -dM < /dev/null | FileCheck -check-prefix CXX11 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000023//
Richard Smith4e24f0f2013-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 Lattnerbceaf862009-10-29 04:55:36 +000030//
31//
Daniel Dunbara5728872009-12-15 20:14:24 +000032// RUN: %clang_cc1 -x c++ -std=c++98 -E -dM < /dev/null | FileCheck -check-prefix CXX98 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000033//
Chris Lattnerbceaf862009-10-29 04:55:36 +000034// CXX98:#define __GNUG__
Dan Gohmancfeac342010-05-28 00:27:15 +000035// CXX98:#define __GXX_RTTI 1
Chris Lattnerbceaf862009-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 Carruthf8c247d2011-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 Dunbara5728872009-12-15 20:14:24 +000046// RUN: %clang_cc1 -std=c99 -E -dM < /dev/null | FileCheck -check-prefix C99 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000047//
48// C99:#define __STDC_VERSION__ 199901L
49// C99:#define __STRICT_ANSI__ 1
50//
51//
Ed Schouten5ada7a52013-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 Dunbara5728872009-12-15 20:14:24 +000060// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix COMMON %s
Chris Lattnerbceaf862009-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 Noblesmith3b198a92012-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 Lattnerbceaf862009-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 Dunbarc4b8e922010-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 Gregorcf00ac82010-04-30 03:07:23 +000080// COMMON:#define __clang_version__
Chris Lattnerbceaf862009-10-29 04:55:36 +000081// COMMON:#define __llvm__ 1
82//
83//
Daniel Dunbara5728872009-12-15 20:14:24 +000084// RUN: %clang_cc1 -ffreestanding -E -dM < /dev/null | FileCheck -check-prefix FREESTANDING %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000085// FREESTANDING:#define __STDC_HOSTED__ 0
Richard Smith05134482012-05-03 22:18:20 +000086//
87//
Richard Smith7f0ffb32013-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
Stephen Hines651f13c2014-04-23 16:59:28 -070092// GXX1Y:#define __cplusplus 201402L
Richard Smith7f0ffb32013-05-07 19:32:56 +000093// GXX1Y:#define __private_extern__ extern
94//
95//
Richard Smith05134482012-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 Dunbara5728872009-12-15 20:14:24 +0000104// RUN: %clang_cc1 -x c++ -std=gnu++98 -E -dM < /dev/null | FileCheck -check-prefix GXX98 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000105//
Chris Lattnerbceaf862009-10-29 04:55:36 +0000106// GXX98:#define __GNUG__
107// GXX98:#define __GXX_WEAK__ 1
Richard Smith05134482012-05-03 22:18:20 +0000108// GXX98:#define __cplusplus 199711L
Chris Lattnerbceaf862009-10-29 04:55:36 +0000109// GXX98:#define __private_extern__ extern
110//
111//
Daniel Dunbara5728872009-12-15 20:14:24 +0000112// RUN: %clang_cc1 -std=iso9899:199409 -E -dM < /dev/null | FileCheck -check-prefix C94 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000113//
114// C94:#define __STDC_VERSION__ 199409L
115//
116//
Hans Wennborgc814c642013-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 Lattnerbceaf862009-10-29 04:55:36 +0000118//
119// MSEXT-NOT:#define __STDC__
Douglas Gregor72283802010-08-06 12:37:52 +0000120// MSEXT:#define _INTEGRAL_MAX_BITS 64
Hans Wennborgc814c642013-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 Lattnerbceaf862009-10-29 04:55:36 +0000135//
136//
Daniel Dunbara5728872009-12-15 20:14:24 +0000137// RUN: %clang_cc1 -x objective-c -E -dM < /dev/null | FileCheck -check-prefix OBJC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000138//
139// OBJC:#define OBJC_NEW_PROPERTIES 1
Daniel Dunbarc5a97ec2009-11-17 07:07:28 +0000140// OBJC:#define __NEXT_RUNTIME__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +0000141// OBJC:#define __OBJC__ 1
142//
Daniel Dunbarc5a97ec2009-11-17 07:07:28 +0000143//
Daniel Dunbara5728872009-12-15 20:14:24 +0000144// RUN: %clang_cc1 -x objective-c -fobjc-gc -E -dM < /dev/null | FileCheck -check-prefix OBJCGC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000145//
146// OBJCGC:#define __OBJC_GC__ 1
147//
148//
John McCalld1e40d52011-10-02 01:16:38 +0000149// RUN: %clang_cc1 -x objective-c -fobjc-exceptions -E -dM < /dev/null | FileCheck -check-prefix NONFRAGILE %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000150//
151// NONFRAGILE:#define OBJC_ZEROCOST_EXCEPTIONS 1
152// NONFRAGILE:#define __OBJC2__ 1
153//
Dylan Noblesmithf23e8d22012-08-08 16:09:15 +0000154//
Rafael Espindolaa3f55b02013-09-04 04:12:25 +0000155// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix O0 %s
Dylan Noblesmithf23e8d22012-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 Dunbara5728872009-12-15 20:14:24 +0000169// RUN: %clang_cc1 -O1 -E -dM < /dev/null | FileCheck -check-prefix O1 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000170//
Dylan Noblesmithf23e8d22012-08-08 16:09:15 +0000171// O1-NOT:#define __OPTIMIZE_SIZE__
Chris Lattnerbceaf862009-10-29 04:55:36 +0000172// O1:#define __OPTIMIZE__ 1
173//
Dylan Noblesmithf23e8d22012-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 Dunbara5728872009-12-15 20:14:24 +0000187// RUN: %clang_cc1 -fpascal-strings -E -dM < /dev/null | FileCheck -check-prefix PASCAL %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000188//
189// PASCAL:#define __PASCAL_STRINGS__ 1
190//
191//
Daniel Dunbara5728872009-12-15 20:14:24 +0000192// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix SCHAR %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000193//
194// SCHAR:#define __STDC__ 1
195// SCHAR-NOT:#define __UNSIGNED_CHAR__
196// SCHAR:#define __clang__ 1
197//
Eli Friedman1d832432010-08-03 17:34:19 +0000198// RUN: %clang_cc1 -E -dM -fshort-wchar < /dev/null | FileCheck -check-prefix SHORTWCHAR %s
Stephen Hines651f13c2014-04-23 16:59:28 -0700199// wchar_t is u16 for targeting Win32.
200// FIXME: Implement and check x86_64-cygwin.
201// RUN: %clang_cc1 -E -dM -fno-short-wchar -triple=x86_64-w64-mingw32 < /dev/null | FileCheck -check-prefix SHORTWCHAR %s
Eli Friedman1d832432010-08-03 17:34:19 +0000202//
203// SHORTWCHAR: #define __SIZEOF_WCHAR_T__ 2
204// SHORTWCHAR: #define __WCHAR_MAX__ 65535U
205// SHORTWCHAR: #define __WCHAR_TYPE__ unsigned short
206// SHORTWCHAR: #define __WCHAR_WIDTH__ 16
207//
Stephen Hines651f13c2014-04-23 16:59:28 -0700208// RUN: %clang_cc1 -E -dM -fno-short-wchar -triple=i686-unknown-unknown < /dev/null | FileCheck -check-prefix SHORTWCHAR2 %s
209// RUN: %clang_cc1 -E -dM -fno-short-wchar -triple=x86_64-unknown-unknown < /dev/null | FileCheck -check-prefix SHORTWCHAR2 %s
210//
211// SHORTWCHAR2: #define __SIZEOF_WCHAR_T__ 4
212// SHORTWCHAR2: #define __WCHAR_WIDTH__ 32
213// Other definitions vary from platform to platform
214
215// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-none-none < /dev/null | FileCheck -check-prefix AARCH64 %s
Stephen Hines6bcf27b2014-05-29 04:14:42 -0700216// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm64-none-none < /dev/null | FileCheck -check-prefix AARCH64 %s
Stephen Hines651f13c2014-04-23 16:59:28 -0700217//
218// AARCH64:#define _LP64 1
219// AARCH64-NOT:#define __AARCH64EB__ 1
220// AARCH64:#define __AARCH64EL__ 1
221// AARCH64-NOT:#define __AARCH_BIG_ENDIAN 1
222// AARCH64:#define __ARM_64BIT_STATE 1
223// AARCH64:#define __ARM_ARCH 8
224// AARCH64:#define __ARM_ARCH_ISA_A64 1
225// AARCH64-NOT:#define __ARM_BIG_ENDIAN 1
226// AARCH64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
227// AARCH64:#define __CHAR16_TYPE__ unsigned short
228// AARCH64:#define __CHAR32_TYPE__ unsigned int
229// AARCH64:#define __CHAR_BIT__ 8
230// AARCH64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
231// AARCH64:#define __DBL_DIG__ 15
232// AARCH64:#define __DBL_EPSILON__ 2.2204460492503131e-16
233// AARCH64:#define __DBL_HAS_DENORM__ 1
234// AARCH64:#define __DBL_HAS_INFINITY__ 1
235// AARCH64:#define __DBL_HAS_QUIET_NAN__ 1
236// AARCH64:#define __DBL_MANT_DIG__ 53
237// AARCH64:#define __DBL_MAX_10_EXP__ 308
238// AARCH64:#define __DBL_MAX_EXP__ 1024
239// AARCH64:#define __DBL_MAX__ 1.7976931348623157e+308
240// AARCH64:#define __DBL_MIN_10_EXP__ (-307)
241// AARCH64:#define __DBL_MIN_EXP__ (-1021)
242// AARCH64:#define __DBL_MIN__ 2.2250738585072014e-308
243// AARCH64:#define __DECIMAL_DIG__ 36
244// AARCH64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
245// AARCH64:#define __FLT_DIG__ 6
246// AARCH64:#define __FLT_EPSILON__ 1.19209290e-7F
247// AARCH64:#define __FLT_EVAL_METHOD__ 0
248// AARCH64:#define __FLT_HAS_DENORM__ 1
249// AARCH64:#define __FLT_HAS_INFINITY__ 1
250// AARCH64:#define __FLT_HAS_QUIET_NAN__ 1
251// AARCH64:#define __FLT_MANT_DIG__ 24
252// AARCH64:#define __FLT_MAX_10_EXP__ 38
253// AARCH64:#define __FLT_MAX_EXP__ 128
254// AARCH64:#define __FLT_MAX__ 3.40282347e+38F
255// AARCH64:#define __FLT_MIN_10_EXP__ (-37)
256// AARCH64:#define __FLT_MIN_EXP__ (-125)
257// AARCH64:#define __FLT_MIN__ 1.17549435e-38F
258// AARCH64:#define __FLT_RADIX__ 2
259// AARCH64:#define __INT16_TYPE__ short
260// AARCH64:#define __INT32_TYPE__ int
261// AARCH64:#define __INT64_C_SUFFIX__ L
262// AARCH64:#define __INT64_TYPE__ long int
263// AARCH64:#define __INT8_TYPE__ char
264// AARCH64:#define __INTMAX_MAX__ 9223372036854775807L
265// AARCH64:#define __INTMAX_TYPE__ long int
266// AARCH64:#define __INTMAX_WIDTH__ 64
267// AARCH64:#define __INTPTR_TYPE__ long int
268// AARCH64:#define __INTPTR_WIDTH__ 64
269// AARCH64:#define __INT_MAX__ 2147483647
270// AARCH64:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
271// AARCH64:#define __LDBL_DIG__ 33
272// AARCH64:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
273// AARCH64:#define __LDBL_HAS_DENORM__ 1
274// AARCH64:#define __LDBL_HAS_INFINITY__ 1
275// AARCH64:#define __LDBL_HAS_QUIET_NAN__ 1
276// AARCH64:#define __LDBL_MANT_DIG__ 113
277// AARCH64:#define __LDBL_MAX_10_EXP__ 4932
278// AARCH64:#define __LDBL_MAX_EXP__ 16384
279// AARCH64:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
280// AARCH64:#define __LDBL_MIN_10_EXP__ (-4931)
281// AARCH64:#define __LDBL_MIN_EXP__ (-16381)
282// AARCH64:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
283// AARCH64:#define __LONG_LONG_MAX__ 9223372036854775807LL
284// AARCH64:#define __LONG_MAX__ 9223372036854775807L
285// AARCH64:#define __LP64__ 1
286// AARCH64:#define __POINTER_WIDTH__ 64
287// AARCH64:#define __PTRDIFF_TYPE__ long int
288// AARCH64:#define __PTRDIFF_WIDTH__ 64
289// AARCH64:#define __SCHAR_MAX__ 127
290// AARCH64:#define __SHRT_MAX__ 32767
291// AARCH64:#define __SIG_ATOMIC_WIDTH__ 32
292// AARCH64:#define __SIZEOF_DOUBLE__ 8
293// AARCH64:#define __SIZEOF_FLOAT__ 4
294// AARCH64:#define __SIZEOF_INT128__ 16
295// AARCH64:#define __SIZEOF_INT__ 4
296// AARCH64:#define __SIZEOF_LONG_DOUBLE__ 16
297// AARCH64:#define __SIZEOF_LONG_LONG__ 8
298// AARCH64:#define __SIZEOF_LONG__ 8
299// AARCH64:#define __SIZEOF_POINTER__ 8
300// AARCH64:#define __SIZEOF_PTRDIFF_T__ 8
301// AARCH64:#define __SIZEOF_SHORT__ 2
302// AARCH64:#define __SIZEOF_SIZE_T__ 8
303// AARCH64:#define __SIZEOF_WCHAR_T__ 4
304// AARCH64:#define __SIZEOF_WINT_T__ 4
305// AARCH64:#define __SIZE_MAX__ 18446744073709551615UL
306// AARCH64:#define __SIZE_TYPE__ long unsigned int
307// AARCH64:#define __SIZE_WIDTH__ 64
308// AARCH64:#define __UINTMAX_TYPE__ long unsigned int
309// AARCH64:#define __USER_LABEL_PREFIX__ _
310// AARCH64:#define __WCHAR_MAX__ 4294967295U
311// AARCH64:#define __WCHAR_TYPE__ unsigned int
312// AARCH64:#define __WCHAR_UNSIGNED__ 1
313// AARCH64:#define __WCHAR_WIDTH__ 32
314// AARCH64:#define __WINT_TYPE__ int
315// AARCH64:#define __WINT_WIDTH__ 32
316// AARCH64:#define __aarch64__ 1
317//
318// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64_be-none-none < /dev/null | FileCheck -check-prefix AARCH64-BE %s
Stephen Hines6bcf27b2014-05-29 04:14:42 -0700319// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm64_be-none-none < /dev/null | FileCheck -check-prefix AARCH64-BE %s
Stephen Hines651f13c2014-04-23 16:59:28 -0700320//
321// AARCH64-BE:#define _LP64 1
322// AARCH64-BE:#define __AARCH64EB__ 1
323// AARCH64-BE-NOT:#define __AARCH64EL__ 1
324// AARCH64-BE:#define __AARCH_BIG_ENDIAN 1
325// AARCH64-BE:#define __ARM_64BIT_STATE 1
326// AARCH64-BE:#define __ARM_ARCH 8
327// AARCH64-BE:#define __ARM_ARCH_ISA_A64 1
328// AARCH64-BE:#define __ARM_BIG_ENDIAN 1
329// AARCH64-BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
330// AARCH64-BE:#define __CHAR16_TYPE__ unsigned short
331// AARCH64-BE:#define __CHAR32_TYPE__ unsigned int
332// AARCH64-BE:#define __CHAR_BIT__ 8
333// AARCH64-BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
334// AARCH64-BE:#define __DBL_DIG__ 15
335// AARCH64-BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
336// AARCH64-BE:#define __DBL_HAS_DENORM__ 1
337// AARCH64-BE:#define __DBL_HAS_INFINITY__ 1
338// AARCH64-BE:#define __DBL_HAS_QUIET_NAN__ 1
339// AARCH64-BE:#define __DBL_MANT_DIG__ 53
340// AARCH64-BE:#define __DBL_MAX_10_EXP__ 308
341// AARCH64-BE:#define __DBL_MAX_EXP__ 1024
342// AARCH64-BE:#define __DBL_MAX__ 1.7976931348623157e+308
343// AARCH64-BE:#define __DBL_MIN_10_EXP__ (-307)
344// AARCH64-BE:#define __DBL_MIN_EXP__ (-1021)
345// AARCH64-BE:#define __DBL_MIN__ 2.2250738585072014e-308
346// AARCH64-BE:#define __DECIMAL_DIG__ 36
347// AARCH64-BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
348// AARCH64-BE:#define __FLT_DIG__ 6
349// AARCH64-BE:#define __FLT_EPSILON__ 1.19209290e-7F
350// AARCH64-BE:#define __FLT_EVAL_METHOD__ 0
351// AARCH64-BE:#define __FLT_HAS_DENORM__ 1
352// AARCH64-BE:#define __FLT_HAS_INFINITY__ 1
353// AARCH64-BE:#define __FLT_HAS_QUIET_NAN__ 1
354// AARCH64-BE:#define __FLT_MANT_DIG__ 24
355// AARCH64-BE:#define __FLT_MAX_10_EXP__ 38
356// AARCH64-BE:#define __FLT_MAX_EXP__ 128
357// AARCH64-BE:#define __FLT_MAX__ 3.40282347e+38F
358// AARCH64-BE:#define __FLT_MIN_10_EXP__ (-37)
359// AARCH64-BE:#define __FLT_MIN_EXP__ (-125)
360// AARCH64-BE:#define __FLT_MIN__ 1.17549435e-38F
361// AARCH64-BE:#define __FLT_RADIX__ 2
362// AARCH64-BE:#define __INT16_TYPE__ short
363// AARCH64-BE:#define __INT32_TYPE__ int
364// AARCH64-BE:#define __INT64_C_SUFFIX__ L
365// AARCH64-BE:#define __INT64_TYPE__ long int
366// AARCH64-BE:#define __INT8_TYPE__ char
367// AARCH64-BE:#define __INTMAX_MAX__ 9223372036854775807L
368// AARCH64-BE:#define __INTMAX_TYPE__ long int
369// AARCH64-BE:#define __INTMAX_WIDTH__ 64
370// AARCH64-BE:#define __INTPTR_TYPE__ long int
371// AARCH64-BE:#define __INTPTR_WIDTH__ 64
372// AARCH64-BE:#define __INT_MAX__ 2147483647
373// AARCH64-BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
374// AARCH64-BE:#define __LDBL_DIG__ 33
375// AARCH64-BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
376// AARCH64-BE:#define __LDBL_HAS_DENORM__ 1
377// AARCH64-BE:#define __LDBL_HAS_INFINITY__ 1
378// AARCH64-BE:#define __LDBL_HAS_QUIET_NAN__ 1
379// AARCH64-BE:#define __LDBL_MANT_DIG__ 113
380// AARCH64-BE:#define __LDBL_MAX_10_EXP__ 4932
381// AARCH64-BE:#define __LDBL_MAX_EXP__ 16384
382// AARCH64-BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
383// AARCH64-BE:#define __LDBL_MIN_10_EXP__ (-4931)
384// AARCH64-BE:#define __LDBL_MIN_EXP__ (-16381)
385// AARCH64-BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
386// AARCH64-BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
387// AARCH64-BE:#define __LONG_MAX__ 9223372036854775807L
388// AARCH64-BE:#define __LP64__ 1
389// AARCH64-BE:#define __POINTER_WIDTH__ 64
390// AARCH64-BE:#define __PTRDIFF_TYPE__ long int
391// AARCH64-BE:#define __PTRDIFF_WIDTH__ 64
392// AARCH64-BE:#define __SCHAR_MAX__ 127
393// AARCH64-BE:#define __SHRT_MAX__ 32767
394// AARCH64-BE:#define __SIG_ATOMIC_WIDTH__ 32
395// AARCH64-BE:#define __SIZEOF_DOUBLE__ 8
396// AARCH64-BE:#define __SIZEOF_FLOAT__ 4
397// AARCH64-BE:#define __SIZEOF_INT128__ 16
398// AARCH64-BE:#define __SIZEOF_INT__ 4
399// AARCH64-BE:#define __SIZEOF_LONG_DOUBLE__ 16
400// AARCH64-BE:#define __SIZEOF_LONG_LONG__ 8
401// AARCH64-BE:#define __SIZEOF_LONG__ 8
402// AARCH64-BE:#define __SIZEOF_POINTER__ 8
403// AARCH64-BE:#define __SIZEOF_PTRDIFF_T__ 8
404// AARCH64-BE:#define __SIZEOF_SHORT__ 2
405// AARCH64-BE:#define __SIZEOF_SIZE_T__ 8
406// AARCH64-BE:#define __SIZEOF_WCHAR_T__ 4
407// AARCH64-BE:#define __SIZEOF_WINT_T__ 4
408// AARCH64-BE:#define __SIZE_MAX__ 18446744073709551615UL
409// AARCH64-BE:#define __SIZE_TYPE__ long unsigned int
410// AARCH64-BE:#define __SIZE_WIDTH__ 64
411// AARCH64-BE:#define __UINTMAX_TYPE__ long unsigned int
412// AARCH64-BE:#define __USER_LABEL_PREFIX__ _
413// AARCH64-BE:#define __WCHAR_MAX__ 4294967295U
414// AARCH64-BE:#define __WCHAR_TYPE__ unsigned int
415// AARCH64-BE:#define __WCHAR_UNSIGNED__ 1
416// AARCH64-BE:#define __WCHAR_WIDTH__ 32
417// AARCH64-BE:#define __WINT_TYPE__ int
418// AARCH64-BE:#define __WINT_WIDTH__ 32
419// AARCH64-BE:#define __aarch64__ 1
420//
421// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-netbsd < /dev/null | FileCheck -check-prefix AARCH64-NETBSD %s
422//
423// AARCH64-NETBSD:#define _LP64 1
424// AARCH64-NETBSD-NOT:#define __AARCH64EB__ 1
425// AARCH64-NETBSD:#define __AARCH64EL__ 1
426// AARCH64-NETBSD-NOT:#define __AARCH_BIG_ENDIAN 1
427// AARCH64-NETBSD:#define __ARM_64BIT_STATE 1
428// AARCH64-NETBSD:#define __ARM_ARCH 8
429// AARCH64-NETBSD:#define __ARM_ARCH_ISA_A64 1
430// AARCH64-NETBSD-NOT:#define __ARM_BIG_ENDIAN 1
431// AARCH64-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
432// AARCH64-NETBSD:#define __CHAR16_TYPE__ unsigned short
433// AARCH64-NETBSD:#define __CHAR32_TYPE__ unsigned int
434// AARCH64-NETBSD:#define __CHAR_BIT__ 8
435// AARCH64-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
436// AARCH64-NETBSD:#define __DBL_DIG__ 15
437// AARCH64-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
438// AARCH64-NETBSD:#define __DBL_HAS_DENORM__ 1
439// AARCH64-NETBSD:#define __DBL_HAS_INFINITY__ 1
440// AARCH64-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
441// AARCH64-NETBSD:#define __DBL_MANT_DIG__ 53
442// AARCH64-NETBSD:#define __DBL_MAX_10_EXP__ 308
443// AARCH64-NETBSD:#define __DBL_MAX_EXP__ 1024
444// AARCH64-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
445// AARCH64-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
446// AARCH64-NETBSD:#define __DBL_MIN_EXP__ (-1021)
447// AARCH64-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
448// AARCH64-NETBSD:#define __DECIMAL_DIG__ 36
449// AARCH64-NETBSD:#define __ELF__ 1
450// AARCH64-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
451// AARCH64-NETBSD:#define __FLT_DIG__ 6
452// AARCH64-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
453// AARCH64-NETBSD:#define __FLT_EVAL_METHOD__ 0
454// AARCH64-NETBSD:#define __FLT_HAS_DENORM__ 1
455// AARCH64-NETBSD:#define __FLT_HAS_INFINITY__ 1
456// AARCH64-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
457// AARCH64-NETBSD:#define __FLT_MANT_DIG__ 24
458// AARCH64-NETBSD:#define __FLT_MAX_10_EXP__ 38
459// AARCH64-NETBSD:#define __FLT_MAX_EXP__ 128
460// AARCH64-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
461// AARCH64-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
462// AARCH64-NETBSD:#define __FLT_MIN_EXP__ (-125)
463// AARCH64-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
464// AARCH64-NETBSD:#define __FLT_RADIX__ 2
465// AARCH64-NETBSD:#define __INT16_TYPE__ short
466// AARCH64-NETBSD:#define __INT32_TYPE__ int
467// AARCH64-NETBSD:#define __INT64_C_SUFFIX__ LL
468// AARCH64-NETBSD:#define __INT64_TYPE__ long long int
469// AARCH64-NETBSD:#define __INT8_TYPE__ char
470// AARCH64-NETBSD:#define __INTMAX_MAX__ 9223372036854775807LL
471// AARCH64-NETBSD:#define __INTMAX_TYPE__ long long int
472// AARCH64-NETBSD:#define __INTMAX_WIDTH__ 64
473// AARCH64-NETBSD:#define __INTPTR_TYPE__ long int
474// AARCH64-NETBSD:#define __INTPTR_WIDTH__ 64
475// AARCH64-NETBSD:#define __INT_MAX__ 2147483647
476// AARCH64-NETBSD:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
477// AARCH64-NETBSD:#define __LDBL_DIG__ 33
478// AARCH64-NETBSD:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
479// AARCH64-NETBSD:#define __LDBL_HAS_DENORM__ 1
480// AARCH64-NETBSD:#define __LDBL_HAS_INFINITY__ 1
481// AARCH64-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
482// AARCH64-NETBSD:#define __LDBL_MANT_DIG__ 113
483// AARCH64-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
484// AARCH64-NETBSD:#define __LDBL_MAX_EXP__ 16384
485// AARCH64-NETBSD:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
486// AARCH64-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
487// AARCH64-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
488// AARCH64-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
489// AARCH64-NETBSD:#define __LITTLE_ENDIAN__ 1
490// AARCH64-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
491// AARCH64-NETBSD:#define __LONG_MAX__ 9223372036854775807L
492// AARCH64-NETBSD:#define __LP64__ 1
493// AARCH64-NETBSD:#define __NetBSD__ 1
494// AARCH64-NETBSD:#define __POINTER_WIDTH__ 64
495// AARCH64-NETBSD:#define __PTRDIFF_TYPE__ long int
496// AARCH64-NETBSD:#define __PTRDIFF_WIDTH__ 64
497// AARCH64-NETBSD:#define __SCHAR_MAX__ 127
498// AARCH64-NETBSD:#define __SHRT_MAX__ 32767
499// AARCH64-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
500// AARCH64-NETBSD:#define __SIZEOF_DOUBLE__ 8
501// AARCH64-NETBSD:#define __SIZEOF_FLOAT__ 4
502// AARCH64-NETBSD:#define __SIZEOF_INT__ 4
503// AARCH64-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 16
504// AARCH64-NETBSD:#define __SIZEOF_LONG_LONG__ 8
505// AARCH64-NETBSD:#define __SIZEOF_LONG__ 8
506// AARCH64-NETBSD:#define __SIZEOF_POINTER__ 8
507// AARCH64-NETBSD:#define __SIZEOF_PTRDIFF_T__ 8
508// AARCH64-NETBSD:#define __SIZEOF_SHORT__ 2
509// AARCH64-NETBSD:#define __SIZEOF_SIZE_T__ 8
510// AARCH64-NETBSD:#define __SIZEOF_WCHAR_T__ 4
511// AARCH64-NETBSD:#define __SIZEOF_WINT_T__ 4
512// AARCH64-NETBSD:#define __SIZE_MAX__ 18446744073709551615UL
513// AARCH64-NETBSD:#define __SIZE_TYPE__ long unsigned int
514// AARCH64-NETBSD:#define __SIZE_WIDTH__ 64
515// AARCH64-NETBSD:#define __UINTMAX_TYPE__ long long unsigned int
516// AARCH64-NETBSD:#define __USER_LABEL_PREFIX__
517// AARCH64-NETBSD:#define __WCHAR_MAX__ 2147483647
518// AARCH64-NETBSD:#define __WCHAR_TYPE__ int
519// AARCH64-NETBSD:#define __WCHAR_WIDTH__ 32
520// AARCH64-NETBSD:#define __WINT_TYPE__ int
521// AARCH64-NETBSD:#define __WINT_WIDTH__ 32
522// AARCH64-NETBSD:#define __aarch64__ 1
523
Daniel Dunbara5728872009-12-15 20:14:24 +0000524// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000525//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000526// ARM-NOT:#define _LP64
Chris Lattnerbceaf862009-10-29 04:55:36 +0000527// ARM:#define __APCS_32__ 1
Stephen Hines651f13c2014-04-23 16:59:28 -0700528// ARM-NOT:#define __ARMEB__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +0000529// ARM:#define __ARMEL__ 1
Daniel Dunbareac7c532009-12-18 18:42:37 +0000530// ARM:#define __ARM_ARCH_6J__ 1
Stephen Hines651f13c2014-04-23 16:59:28 -0700531// ARM-NOT:#define __ARM_BIG_ENDIAN 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000532// ARM:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +0000533// ARM:#define __CHAR16_TYPE__ unsigned short
534// ARM:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000535// ARM:#define __CHAR_BIT__ 8
536// ARM:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
537// ARM:#define __DBL_DIG__ 15
538// ARM:#define __DBL_EPSILON__ 2.2204460492503131e-16
539// ARM:#define __DBL_HAS_DENORM__ 1
540// ARM:#define __DBL_HAS_INFINITY__ 1
541// ARM:#define __DBL_HAS_QUIET_NAN__ 1
542// ARM:#define __DBL_MANT_DIG__ 53
543// ARM:#define __DBL_MAX_10_EXP__ 308
544// ARM:#define __DBL_MAX_EXP__ 1024
545// ARM:#define __DBL_MAX__ 1.7976931348623157e+308
546// ARM:#define __DBL_MIN_10_EXP__ (-307)
547// ARM:#define __DBL_MIN_EXP__ (-1021)
548// ARM:#define __DBL_MIN__ 2.2250738585072014e-308
549// ARM:#define __DECIMAL_DIG__ 17
550// ARM:#define __FLT_DENORM_MIN__ 1.40129846e-45F
551// ARM:#define __FLT_DIG__ 6
552// ARM:#define __FLT_EPSILON__ 1.19209290e-7F
553// ARM:#define __FLT_EVAL_METHOD__ 0
554// ARM:#define __FLT_HAS_DENORM__ 1
555// ARM:#define __FLT_HAS_INFINITY__ 1
556// ARM:#define __FLT_HAS_QUIET_NAN__ 1
557// ARM:#define __FLT_MANT_DIG__ 24
558// ARM:#define __FLT_MAX_10_EXP__ 38
559// ARM:#define __FLT_MAX_EXP__ 128
560// ARM:#define __FLT_MAX__ 3.40282347e+38F
561// ARM:#define __FLT_MIN_10_EXP__ (-37)
562// ARM:#define __FLT_MIN_EXP__ (-125)
563// ARM:#define __FLT_MIN__ 1.17549435e-38F
564// ARM:#define __FLT_RADIX__ 2
565// ARM:#define __INT16_TYPE__ short
566// ARM:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000567// ARM:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000568// ARM:#define __INT64_TYPE__ long long int
569// ARM:#define __INT8_TYPE__ char
570// ARM:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +0000571// ARM:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +0000572// ARM:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000573// ARM:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000574// ARM:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000575// ARM:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +0000576// ARM:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +0000577// ARM:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +0000578// ARM:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnerbceaf862009-10-29 04:55:36 +0000579// ARM:#define __LDBL_HAS_DENORM__ 1
580// ARM:#define __LDBL_HAS_INFINITY__ 1
581// ARM:#define __LDBL_HAS_QUIET_NAN__ 1
582// ARM:#define __LDBL_MANT_DIG__ 53
583// ARM:#define __LDBL_MAX_10_EXP__ 308
584// ARM:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +0000585// ARM:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnerbceaf862009-10-29 04:55:36 +0000586// ARM:#define __LDBL_MIN_10_EXP__ (-307)
587// ARM:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +0000588// ARM:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnerbceaf862009-10-29 04:55:36 +0000589// ARM:#define __LITTLE_ENDIAN__ 1
590// ARM:#define __LONG_LONG_MAX__ 9223372036854775807LL
591// ARM:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000592// ARM-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +0000593// ARM:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000594// ARM:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +0000595// ARM:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbareac7c532009-12-18 18:42:37 +0000596// ARM:#define __REGISTER_PREFIX__
Chris Lattnerbceaf862009-10-29 04:55:36 +0000597// ARM:#define __SCHAR_MAX__ 127
598// ARM:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000599// ARM:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000600// ARM:#define __SIZEOF_DOUBLE__ 8
601// ARM:#define __SIZEOF_FLOAT__ 4
602// ARM:#define __SIZEOF_INT__ 4
603// ARM:#define __SIZEOF_LONG_DOUBLE__ 8
604// ARM:#define __SIZEOF_LONG_LONG__ 8
605// ARM:#define __SIZEOF_LONG__ 4
606// ARM:#define __SIZEOF_POINTER__ 4
607// ARM:#define __SIZEOF_PTRDIFF_T__ 4
608// ARM:#define __SIZEOF_SHORT__ 2
609// ARM:#define __SIZEOF_SIZE_T__ 4
610// ARM:#define __SIZEOF_WCHAR_T__ 4
611// ARM:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000612// ARM:#define __SIZE_MAX__ 4294967295U
Chris Lattnerbceaf862009-10-29 04:55:36 +0000613// ARM:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000614// ARM:#define __SIZE_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000615// ARM:#define __THUMB_INTERWORK__ 1
Ken Dyck8241d732009-11-19 13:18:59 +0000616// ARM:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000617// ARM:#define __USER_LABEL_PREFIX__ _
James Molloya6d81f92011-11-23 13:35:08 +0000618// ARM:#define __WCHAR_MAX__ 4294967295U
619// ARM:#define __WCHAR_TYPE__ unsigned int
Ken Dyck63e65612009-11-19 15:47:58 +0000620// ARM:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000621// ARM:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000622// ARM:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000623// ARM:#define __arm 1
624// ARM:#define __arm__ 1
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000625
Stephen Hines651f13c2014-04-23 16:59:28 -0700626// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armeb-none-none < /dev/null | FileCheck -check-prefix ARM-BE %s
627//
628// ARM-BE-NOT:#define _LP64
629// ARM-BE:#define __APCS_32__ 1
630// ARM-BE:#define __ARMEB__ 1
631// ARM-BE-NOT:#define __ARMEL__ 1
632// ARM-BE:#define __ARM_ARCH_6J__ 1
633// ARM-BE:#define __ARM_BIG_ENDIAN 1
634// ARM-BE:#define __BIG_ENDIAN__ 1
635// ARM-BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
636// ARM-BE:#define __CHAR16_TYPE__ unsigned short
637// ARM-BE:#define __CHAR32_TYPE__ unsigned int
638// ARM-BE:#define __CHAR_BIT__ 8
639// ARM-BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
640// ARM-BE:#define __DBL_DIG__ 15
641// ARM-BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
642// ARM-BE:#define __DBL_HAS_DENORM__ 1
643// ARM-BE:#define __DBL_HAS_INFINITY__ 1
644// ARM-BE:#define __DBL_HAS_QUIET_NAN__ 1
645// ARM-BE:#define __DBL_MANT_DIG__ 53
646// ARM-BE:#define __DBL_MAX_10_EXP__ 308
647// ARM-BE:#define __DBL_MAX_EXP__ 1024
648// ARM-BE:#define __DBL_MAX__ 1.7976931348623157e+308
649// ARM-BE:#define __DBL_MIN_10_EXP__ (-307)
650// ARM-BE:#define __DBL_MIN_EXP__ (-1021)
651// ARM-BE:#define __DBL_MIN__ 2.2250738585072014e-308
652// ARM-BE:#define __DECIMAL_DIG__ 17
653// ARM-BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
654// ARM-BE:#define __FLT_DIG__ 6
655// ARM-BE:#define __FLT_EPSILON__ 1.19209290e-7F
656// ARM-BE:#define __FLT_EVAL_METHOD__ 0
657// ARM-BE:#define __FLT_HAS_DENORM__ 1
658// ARM-BE:#define __FLT_HAS_INFINITY__ 1
659// ARM-BE:#define __FLT_HAS_QUIET_NAN__ 1
660// ARM-BE:#define __FLT_MANT_DIG__ 24
661// ARM-BE:#define __FLT_MAX_10_EXP__ 38
662// ARM-BE:#define __FLT_MAX_EXP__ 128
663// ARM-BE:#define __FLT_MAX__ 3.40282347e+38F
664// ARM-BE:#define __FLT_MIN_10_EXP__ (-37)
665// ARM-BE:#define __FLT_MIN_EXP__ (-125)
666// ARM-BE:#define __FLT_MIN__ 1.17549435e-38F
667// ARM-BE:#define __FLT_RADIX__ 2
668// ARM-BE:#define __INT16_TYPE__ short
669// ARM-BE:#define __INT32_TYPE__ int
670// ARM-BE:#define __INT64_C_SUFFIX__ LL
671// ARM-BE:#define __INT64_TYPE__ long long int
672// ARM-BE:#define __INT8_TYPE__ char
673// ARM-BE:#define __INTMAX_MAX__ 9223372036854775807LL
674// ARM-BE:#define __INTMAX_TYPE__ long long int
675// ARM-BE:#define __INTMAX_WIDTH__ 64
676// ARM-BE:#define __INTPTR_TYPE__ long int
677// ARM-BE:#define __INTPTR_WIDTH__ 32
678// ARM-BE:#define __INT_MAX__ 2147483647
679// ARM-BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
680// ARM-BE:#define __LDBL_DIG__ 15
681// ARM-BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
682// ARM-BE:#define __LDBL_HAS_DENORM__ 1
683// ARM-BE:#define __LDBL_HAS_INFINITY__ 1
684// ARM-BE:#define __LDBL_HAS_QUIET_NAN__ 1
685// ARM-BE:#define __LDBL_MANT_DIG__ 53
686// ARM-BE:#define __LDBL_MAX_10_EXP__ 308
687// ARM-BE:#define __LDBL_MAX_EXP__ 1024
688// ARM-BE:#define __LDBL_MAX__ 1.7976931348623157e+308L
689// ARM-BE:#define __LDBL_MIN_10_EXP__ (-307)
690// ARM-BE:#define __LDBL_MIN_EXP__ (-1021)
691// ARM-BE:#define __LDBL_MIN__ 2.2250738585072014e-308L
692// ARM-BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
693// ARM-BE:#define __LONG_MAX__ 2147483647L
694// ARM-BE-NOT:#define __LP64__
695// ARM-BE:#define __POINTER_WIDTH__ 32
696// ARM-BE:#define __PTRDIFF_TYPE__ int
697// ARM-BE:#define __PTRDIFF_WIDTH__ 32
698// ARM-BE:#define __REGISTER_PREFIX__
699// ARM-BE:#define __SCHAR_MAX__ 127
700// ARM-BE:#define __SHRT_MAX__ 32767
701// ARM-BE:#define __SIG_ATOMIC_WIDTH__ 32
702// ARM-BE:#define __SIZEOF_DOUBLE__ 8
703// ARM-BE:#define __SIZEOF_FLOAT__ 4
704// ARM-BE:#define __SIZEOF_INT__ 4
705// ARM-BE:#define __SIZEOF_LONG_DOUBLE__ 8
706// ARM-BE:#define __SIZEOF_LONG_LONG__ 8
707// ARM-BE:#define __SIZEOF_LONG__ 4
708// ARM-BE:#define __SIZEOF_POINTER__ 4
709// ARM-BE:#define __SIZEOF_PTRDIFF_T__ 4
710// ARM-BE:#define __SIZEOF_SHORT__ 2
711// ARM-BE:#define __SIZEOF_SIZE_T__ 4
712// ARM-BE:#define __SIZEOF_WCHAR_T__ 4
713// ARM-BE:#define __SIZEOF_WINT_T__ 4
714// ARM-BE:#define __SIZE_MAX__ 4294967295U
715// ARM-BE:#define __SIZE_TYPE__ unsigned int
716// ARM-BE:#define __SIZE_WIDTH__ 32
717// ARM-BE:#define __THUMB_INTERWORK__ 1
718// ARM-BE:#define __UINTMAX_TYPE__ long long unsigned int
719// ARM-BE:#define __USER_LABEL_PREFIX__ _
720// ARM-BE:#define __WCHAR_MAX__ 4294967295U
721// ARM-BE:#define __WCHAR_TYPE__ unsigned int
722// ARM-BE:#define __WCHAR_WIDTH__ 32
723// ARM-BE:#define __WINT_TYPE__ int
724// ARM-BE:#define __WINT_WIDTH__ 32
725// ARM-BE:#define __arm 1
726// ARM-BE:#define __arm__ 1
727
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000728// 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
729//
Stephen Hines651f13c2014-04-23 16:59:28 -0700730// ARMEABISOFTFP-NOT:#define _LP64
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000731// ARMEABISOFTFP:#define __APCS_32__ 1
Stephen Hines651f13c2014-04-23 16:59:28 -0700732// ARMEABISOFTFP-NOT:#define __ARMEB__ 1
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000733// ARMEABISOFTFP:#define __ARMEL__ 1
734// ARMEABISOFTFP:#define __ARM_ARCH 6
735// ARMEABISOFTFP:#define __ARM_ARCH_6J__ 1
Stephen Hines651f13c2014-04-23 16:59:28 -0700736// ARMEABISOFTFP-NOT:#define __ARM_BIG_ENDIAN 1
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000737// ARMEABISOFTFP:#define __ARM_EABI__ 1
738// ARMEABISOFTFP:#define __ARM_PCS 1
739// ARMEABISOFTFP-NOT:#define __ARM_PCS_VFP 1
740// ARMEABISOFTFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
741// ARMEABISOFTFP:#define __CHAR16_TYPE__ unsigned short
742// ARMEABISOFTFP:#define __CHAR32_TYPE__ unsigned int
743// ARMEABISOFTFP:#define __CHAR_BIT__ 8
744// ARMEABISOFTFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
745// ARMEABISOFTFP:#define __DBL_DIG__ 15
746// ARMEABISOFTFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
747// ARMEABISOFTFP:#define __DBL_HAS_DENORM__ 1
748// ARMEABISOFTFP:#define __DBL_HAS_INFINITY__ 1
749// ARMEABISOFTFP:#define __DBL_HAS_QUIET_NAN__ 1
750// ARMEABISOFTFP:#define __DBL_MANT_DIG__ 53
751// ARMEABISOFTFP:#define __DBL_MAX_10_EXP__ 308
752// ARMEABISOFTFP:#define __DBL_MAX_EXP__ 1024
753// ARMEABISOFTFP:#define __DBL_MAX__ 1.7976931348623157e+308
754// ARMEABISOFTFP:#define __DBL_MIN_10_EXP__ (-307)
755// ARMEABISOFTFP:#define __DBL_MIN_EXP__ (-1021)
756// ARMEABISOFTFP:#define __DBL_MIN__ 2.2250738585072014e-308
757// ARMEABISOFTFP:#define __DECIMAL_DIG__ 17
758// ARMEABISOFTFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
759// ARMEABISOFTFP:#define __FLT_DIG__ 6
760// ARMEABISOFTFP:#define __FLT_EPSILON__ 1.19209290e-7F
761// ARMEABISOFTFP:#define __FLT_EVAL_METHOD__ 0
762// ARMEABISOFTFP:#define __FLT_HAS_DENORM__ 1
763// ARMEABISOFTFP:#define __FLT_HAS_INFINITY__ 1
764// ARMEABISOFTFP:#define __FLT_HAS_QUIET_NAN__ 1
765// ARMEABISOFTFP:#define __FLT_MANT_DIG__ 24
766// ARMEABISOFTFP:#define __FLT_MAX_10_EXP__ 38
767// ARMEABISOFTFP:#define __FLT_MAX_EXP__ 128
768// ARMEABISOFTFP:#define __FLT_MAX__ 3.40282347e+38F
769// ARMEABISOFTFP:#define __FLT_MIN_10_EXP__ (-37)
770// ARMEABISOFTFP:#define __FLT_MIN_EXP__ (-125)
771// ARMEABISOFTFP:#define __FLT_MIN__ 1.17549435e-38F
772// ARMEABISOFTFP:#define __FLT_RADIX__ 2
773// ARMEABISOFTFP:#define __INT16_TYPE__ short
774// ARMEABISOFTFP:#define __INT32_TYPE__ int
775// ARMEABISOFTFP:#define __INT64_C_SUFFIX__ LL
776// ARMEABISOFTFP:#define __INT64_TYPE__ long long int
777// ARMEABISOFTFP:#define __INT8_TYPE__ char
778// ARMEABISOFTFP:#define __INTMAX_MAX__ 9223372036854775807LL
779// ARMEABISOFTFP:#define __INTMAX_TYPE__ long long int
780// ARMEABISOFTFP:#define __INTMAX_WIDTH__ 64
781// ARMEABISOFTFP:#define __INTPTR_TYPE__ long int
782// ARMEABISOFTFP:#define __INTPTR_WIDTH__ 32
783// ARMEABISOFTFP:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +0000784// ARMEABISOFTFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000785// ARMEABISOFTFP:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +0000786// ARMEABISOFTFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000787// ARMEABISOFTFP:#define __LDBL_HAS_DENORM__ 1
788// ARMEABISOFTFP:#define __LDBL_HAS_INFINITY__ 1
789// ARMEABISOFTFP:#define __LDBL_HAS_QUIET_NAN__ 1
790// ARMEABISOFTFP:#define __LDBL_MANT_DIG__ 53
791// ARMEABISOFTFP:#define __LDBL_MAX_10_EXP__ 308
792// ARMEABISOFTFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +0000793// ARMEABISOFTFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000794// ARMEABISOFTFP:#define __LDBL_MIN_10_EXP__ (-307)
795// ARMEABISOFTFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +0000796// ARMEABISOFTFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000797// ARMEABISOFTFP:#define __LITTLE_ENDIAN__ 1
798// ARMEABISOFTFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
799// ARMEABISOFTFP:#define __LONG_MAX__ 2147483647L
800// ARMEABISOFTFP-NOT:#define __LP64__
801// ARMEABISOFTFP:#define __POINTER_WIDTH__ 32
802// ARMEABISOFTFP:#define __PTRDIFF_TYPE__ int
803// ARMEABISOFTFP:#define __PTRDIFF_WIDTH__ 32
804// ARMEABISOFTFP:#define __REGISTER_PREFIX__
805// ARMEABISOFTFP:#define __SCHAR_MAX__ 127
806// ARMEABISOFTFP:#define __SHRT_MAX__ 32767
807// ARMEABISOFTFP:#define __SIG_ATOMIC_WIDTH__ 32
808// ARMEABISOFTFP:#define __SIZEOF_DOUBLE__ 8
809// ARMEABISOFTFP:#define __SIZEOF_FLOAT__ 4
810// ARMEABISOFTFP:#define __SIZEOF_INT__ 4
811// ARMEABISOFTFP:#define __SIZEOF_LONG_DOUBLE__ 8
812// ARMEABISOFTFP:#define __SIZEOF_LONG_LONG__ 8
813// ARMEABISOFTFP:#define __SIZEOF_LONG__ 4
814// ARMEABISOFTFP:#define __SIZEOF_POINTER__ 4
815// ARMEABISOFTFP:#define __SIZEOF_PTRDIFF_T__ 4
816// ARMEABISOFTFP:#define __SIZEOF_SHORT__ 2
817// ARMEABISOFTFP:#define __SIZEOF_SIZE_T__ 4
818// ARMEABISOFTFP:#define __SIZEOF_WCHAR_T__ 4
819// ARMEABISOFTFP:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000820// ARMEABISOFTFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000821// ARMEABISOFTFP:#define __SIZE_TYPE__ unsigned int
822// ARMEABISOFTFP:#define __SIZE_WIDTH__ 32
823// ARMEABISOFTFP:#define __SOFTFP__ 1
824// ARMEABISOFTFP:#define __THUMB_INTERWORK__ 1
825// ARMEABISOFTFP:#define __UINTMAX_TYPE__ long long unsigned int
826// ARMEABISOFTFP:#define __USER_LABEL_PREFIX__
827// ARMEABISOFTFP:#define __WCHAR_MAX__ 4294967295U
828// ARMEABISOFTFP:#define __WCHAR_TYPE__ unsigned int
829// ARMEABISOFTFP:#define __WCHAR_WIDTH__ 32
830// ARMEABISOFTFP:#define __WINT_TYPE__ unsigned int
831// ARMEABISOFTFP:#define __WINT_WIDTH__ 32
832// ARMEABISOFTFP:#define __arm 1
833// ARMEABISOFTFP:#define __arm__ 1
834
835// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-linux-gnueabi < /dev/null | FileCheck -check-prefix ARMEABIHARDFP %s
836//
Stephen Hines651f13c2014-04-23 16:59:28 -0700837// ARMEABIHARDFP-NOT:#define _LP64
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000838// ARMEABIHARDFP:#define __APCS_32__ 1
Stephen Hines651f13c2014-04-23 16:59:28 -0700839// ARMEABIHARDFP-NOT:#define __ARMEB__ 1
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000840// ARMEABIHARDFP:#define __ARMEL__ 1
841// ARMEABIHARDFP:#define __ARM_ARCH 6
842// ARMEABIHARDFP:#define __ARM_ARCH_6J__ 1
Stephen Hines651f13c2014-04-23 16:59:28 -0700843// ARMEABIHARDFP-NOT:#define __ARM_BIG_ENDIAN 1
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000844// ARMEABIHARDFP:#define __ARM_EABI__ 1
845// ARMEABIHARDFP:#define __ARM_PCS 1
846// ARMEABIHARDFP:#define __ARM_PCS_VFP 1
847// ARMEABIHARDFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
848// ARMEABIHARDFP:#define __CHAR16_TYPE__ unsigned short
849// ARMEABIHARDFP:#define __CHAR32_TYPE__ unsigned int
850// ARMEABIHARDFP:#define __CHAR_BIT__ 8
851// ARMEABIHARDFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
852// ARMEABIHARDFP:#define __DBL_DIG__ 15
853// ARMEABIHARDFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
854// ARMEABIHARDFP:#define __DBL_HAS_DENORM__ 1
855// ARMEABIHARDFP:#define __DBL_HAS_INFINITY__ 1
856// ARMEABIHARDFP:#define __DBL_HAS_QUIET_NAN__ 1
857// ARMEABIHARDFP:#define __DBL_MANT_DIG__ 53
858// ARMEABIHARDFP:#define __DBL_MAX_10_EXP__ 308
859// ARMEABIHARDFP:#define __DBL_MAX_EXP__ 1024
860// ARMEABIHARDFP:#define __DBL_MAX__ 1.7976931348623157e+308
861// ARMEABIHARDFP:#define __DBL_MIN_10_EXP__ (-307)
862// ARMEABIHARDFP:#define __DBL_MIN_EXP__ (-1021)
863// ARMEABIHARDFP:#define __DBL_MIN__ 2.2250738585072014e-308
864// ARMEABIHARDFP:#define __DECIMAL_DIG__ 17
865// ARMEABIHARDFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
866// ARMEABIHARDFP:#define __FLT_DIG__ 6
867// ARMEABIHARDFP:#define __FLT_EPSILON__ 1.19209290e-7F
868// ARMEABIHARDFP:#define __FLT_EVAL_METHOD__ 0
869// ARMEABIHARDFP:#define __FLT_HAS_DENORM__ 1
870// ARMEABIHARDFP:#define __FLT_HAS_INFINITY__ 1
871// ARMEABIHARDFP:#define __FLT_HAS_QUIET_NAN__ 1
872// ARMEABIHARDFP:#define __FLT_MANT_DIG__ 24
873// ARMEABIHARDFP:#define __FLT_MAX_10_EXP__ 38
874// ARMEABIHARDFP:#define __FLT_MAX_EXP__ 128
875// ARMEABIHARDFP:#define __FLT_MAX__ 3.40282347e+38F
876// ARMEABIHARDFP:#define __FLT_MIN_10_EXP__ (-37)
877// ARMEABIHARDFP:#define __FLT_MIN_EXP__ (-125)
878// ARMEABIHARDFP:#define __FLT_MIN__ 1.17549435e-38F
879// ARMEABIHARDFP:#define __FLT_RADIX__ 2
880// ARMEABIHARDFP:#define __INT16_TYPE__ short
881// ARMEABIHARDFP:#define __INT32_TYPE__ int
882// ARMEABIHARDFP:#define __INT64_C_SUFFIX__ LL
883// ARMEABIHARDFP:#define __INT64_TYPE__ long long int
884// ARMEABIHARDFP:#define __INT8_TYPE__ char
885// ARMEABIHARDFP:#define __INTMAX_MAX__ 9223372036854775807LL
886// ARMEABIHARDFP:#define __INTMAX_TYPE__ long long int
887// ARMEABIHARDFP:#define __INTMAX_WIDTH__ 64
888// ARMEABIHARDFP:#define __INTPTR_TYPE__ long int
889// ARMEABIHARDFP:#define __INTPTR_WIDTH__ 32
890// ARMEABIHARDFP:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +0000891// ARMEABIHARDFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000892// ARMEABIHARDFP:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +0000893// ARMEABIHARDFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000894// ARMEABIHARDFP:#define __LDBL_HAS_DENORM__ 1
895// ARMEABIHARDFP:#define __LDBL_HAS_INFINITY__ 1
896// ARMEABIHARDFP:#define __LDBL_HAS_QUIET_NAN__ 1
897// ARMEABIHARDFP:#define __LDBL_MANT_DIG__ 53
898// ARMEABIHARDFP:#define __LDBL_MAX_10_EXP__ 308
899// ARMEABIHARDFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +0000900// ARMEABIHARDFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000901// ARMEABIHARDFP:#define __LDBL_MIN_10_EXP__ (-307)
902// ARMEABIHARDFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +0000903// ARMEABIHARDFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000904// ARMEABIHARDFP:#define __LITTLE_ENDIAN__ 1
905// ARMEABIHARDFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
906// ARMEABIHARDFP:#define __LONG_MAX__ 2147483647L
907// ARMEABIHARDFP-NOT:#define __LP64__
908// ARMEABIHARDFP:#define __POINTER_WIDTH__ 32
909// ARMEABIHARDFP:#define __PTRDIFF_TYPE__ int
910// ARMEABIHARDFP:#define __PTRDIFF_WIDTH__ 32
911// ARMEABIHARDFP:#define __REGISTER_PREFIX__
912// ARMEABIHARDFP:#define __SCHAR_MAX__ 127
913// ARMEABIHARDFP:#define __SHRT_MAX__ 32767
914// ARMEABIHARDFP:#define __SIG_ATOMIC_WIDTH__ 32
915// ARMEABIHARDFP:#define __SIZEOF_DOUBLE__ 8
916// ARMEABIHARDFP:#define __SIZEOF_FLOAT__ 4
917// ARMEABIHARDFP:#define __SIZEOF_INT__ 4
918// ARMEABIHARDFP:#define __SIZEOF_LONG_DOUBLE__ 8
919// ARMEABIHARDFP:#define __SIZEOF_LONG_LONG__ 8
920// ARMEABIHARDFP:#define __SIZEOF_LONG__ 4
921// ARMEABIHARDFP:#define __SIZEOF_POINTER__ 4
922// ARMEABIHARDFP:#define __SIZEOF_PTRDIFF_T__ 4
923// ARMEABIHARDFP:#define __SIZEOF_SHORT__ 2
924// ARMEABIHARDFP:#define __SIZEOF_SIZE_T__ 4
925// ARMEABIHARDFP:#define __SIZEOF_WCHAR_T__ 4
926// ARMEABIHARDFP:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000927// ARMEABIHARDFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000928// ARMEABIHARDFP:#define __SIZE_TYPE__ unsigned int
929// ARMEABIHARDFP:#define __SIZE_WIDTH__ 32
930// ARMEABIHARDFP-NOT:#define __SOFTFP__ 1
931// ARMEABIHARDFP:#define __THUMB_INTERWORK__ 1
932// ARMEABIHARDFP:#define __UINTMAX_TYPE__ long long unsigned int
933// ARMEABIHARDFP:#define __USER_LABEL_PREFIX__
934// ARMEABIHARDFP:#define __WCHAR_MAX__ 4294967295U
935// ARMEABIHARDFP:#define __WCHAR_TYPE__ unsigned int
936// ARMEABIHARDFP:#define __WCHAR_WIDTH__ 32
937// ARMEABIHARDFP:#define __WINT_TYPE__ unsigned int
938// ARMEABIHARDFP:#define __WINT_WIDTH__ 32
939// ARMEABIHARDFP:#define __arm 1
940// ARMEABIHARDFP:#define __arm__ 1
941
Stephen Hines6bcf27b2014-05-29 04:14:42 -0700942// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-netbsd-eabi < /dev/null | FileCheck -check-prefix ARM-NETBSD %s
943//
944// ARM-NETBSD-NOT:#define _LP64
945// ARM-NETBSD:#define __APCS_32__ 1
946// ARM-NETBSD-NOT:#define __ARMEB__ 1
947// ARM-NETBSD:#define __ARMEL__ 1
948// ARM-NETBSD:#define __ARM_ARCH_6J__ 1
949// ARM-NETBSD:#define __ARM_DWARF_EH__ 1
950// ARM-NETBSD:#define __ARM_EABI__ 1
951// ARM-NETBSD-NOT:#define __ARM_BIG_ENDIAN 1
952// ARM-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
953// ARM-NETBSD:#define __CHAR16_TYPE__ unsigned short
954// ARM-NETBSD:#define __CHAR32_TYPE__ unsigned int
955// ARM-NETBSD:#define __CHAR_BIT__ 8
956// ARM-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
957// ARM-NETBSD:#define __DBL_DIG__ 15
958// ARM-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
959// ARM-NETBSD:#define __DBL_HAS_DENORM__ 1
960// ARM-NETBSD:#define __DBL_HAS_INFINITY__ 1
961// ARM-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
962// ARM-NETBSD:#define __DBL_MANT_DIG__ 53
963// ARM-NETBSD:#define __DBL_MAX_10_EXP__ 308
964// ARM-NETBSD:#define __DBL_MAX_EXP__ 1024
965// ARM-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
966// ARM-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
967// ARM-NETBSD:#define __DBL_MIN_EXP__ (-1021)
968// ARM-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
969// ARM-NETBSD:#define __DECIMAL_DIG__ 17
970// ARM-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
971// ARM-NETBSD:#define __FLT_DIG__ 6
972// ARM-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
973// ARM-NETBSD:#define __FLT_EVAL_METHOD__ 0
974// ARM-NETBSD:#define __FLT_HAS_DENORM__ 1
975// ARM-NETBSD:#define __FLT_HAS_INFINITY__ 1
976// ARM-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
977// ARM-NETBSD:#define __FLT_MANT_DIG__ 24
978// ARM-NETBSD:#define __FLT_MAX_10_EXP__ 38
979// ARM-NETBSD:#define __FLT_MAX_EXP__ 128
980// ARM-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
981// ARM-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
982// ARM-NETBSD:#define __FLT_MIN_EXP__ (-125)
983// ARM-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
984// ARM-NETBSD:#define __FLT_RADIX__ 2
985// ARM-NETBSD:#define __INT16_TYPE__ short
986// ARM-NETBSD:#define __INT32_TYPE__ int
987// ARM-NETBSD:#define __INT64_C_SUFFIX__ LL
988// ARM-NETBSD:#define __INT64_TYPE__ long long int
989// ARM-NETBSD:#define __INT8_TYPE__ char
990// ARM-NETBSD:#define __INTMAX_MAX__ 9223372036854775807LL
991// ARM-NETBSD:#define __INTMAX_TYPE__ long long int
992// ARM-NETBSD:#define __INTMAX_WIDTH__ 64
993// ARM-NETBSD:#define __INTPTR_TYPE__ long int
994// ARM-NETBSD:#define __INTPTR_WIDTH__ 32
995// ARM-NETBSD:#define __INT_MAX__ 2147483647
996// ARM-NETBSD:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
997// ARM-NETBSD:#define __LDBL_DIG__ 15
998// ARM-NETBSD:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
999// ARM-NETBSD:#define __LDBL_HAS_DENORM__ 1
1000// ARM-NETBSD:#define __LDBL_HAS_INFINITY__ 1
1001// ARM-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
1002// ARM-NETBSD:#define __LDBL_MANT_DIG__ 53
1003// ARM-NETBSD:#define __LDBL_MAX_10_EXP__ 308
1004// ARM-NETBSD:#define __LDBL_MAX_EXP__ 1024
1005// ARM-NETBSD:#define __LDBL_MAX__ 1.7976931348623157e+308L
1006// ARM-NETBSD:#define __LDBL_MIN_10_EXP__ (-307)
1007// ARM-NETBSD:#define __LDBL_MIN_EXP__ (-1021)
1008// ARM-NETBSD:#define __LDBL_MIN__ 2.2250738585072014e-308L
1009// ARM-NETBSD:#define __LITTLE_ENDIAN__ 1
1010// ARM-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
1011// ARM-NETBSD:#define __LONG_MAX__ 2147483647L
1012// ARM-NETBSD-NOT:#define __LP64__
1013// ARM-NETBSD:#define __POINTER_WIDTH__ 32
1014// ARM-NETBSD:#define __PTRDIFF_TYPE__ long int
1015// ARM-NETBSD:#define __PTRDIFF_WIDTH__ 32
1016// ARM-NETBSD:#define __REGISTER_PREFIX__
1017// ARM-NETBSD:#define __SCHAR_MAX__ 127
1018// ARM-NETBSD:#define __SHRT_MAX__ 32767
1019// ARM-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
1020// ARM-NETBSD:#define __SIZEOF_DOUBLE__ 8
1021// ARM-NETBSD:#define __SIZEOF_FLOAT__ 4
1022// ARM-NETBSD:#define __SIZEOF_INT__ 4
1023// ARM-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 8
1024// ARM-NETBSD:#define __SIZEOF_LONG_LONG__ 8
1025// ARM-NETBSD:#define __SIZEOF_LONG__ 4
1026// ARM-NETBSD:#define __SIZEOF_POINTER__ 4
1027// ARM-NETBSD:#define __SIZEOF_PTRDIFF_T__ 4
1028// ARM-NETBSD:#define __SIZEOF_SHORT__ 2
1029// ARM-NETBSD:#define __SIZEOF_SIZE_T__ 4
1030// ARM-NETBSD:#define __SIZEOF_WCHAR_T__ 4
1031// ARM-NETBSD:#define __SIZEOF_WINT_T__ 4
1032// ARM-NETBSD:#define __SIZE_MAX__ 4294967295U
1033// ARM-NETBSD:#define __SIZE_TYPE__ long unsigned int
1034// ARM-NETBSD:#define __SIZE_WIDTH__ 32
1035// ARM-NETBSD:#define __THUMB_INTERWORK__ 1
1036// ARM-NETBSD:#define __UINTMAX_TYPE__ long long unsigned int
1037// ARM-NETBSD:#define __USER_LABEL_PREFIX__
1038// ARM-NETBSD:#define __WCHAR_MAX__ 2147483647
1039// ARM-NETBSD:#define __WCHAR_TYPE__ int
1040// ARM-NETBSD:#define __WCHAR_WIDTH__ 32
1041// ARM-NETBSD:#define __WINT_TYPE__ int
1042// ARM-NETBSD:#define __WINT_WIDTH__ 32
1043// ARM-NETBSD:#define __arm 1
1044// ARM-NETBSD:#define __arm__ 1
1045
Tim Northover9b796302013-11-11 19:11:22 +00001046// RUN: %clang -target arm -arch armv7s -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
1047// RUN: %clang -target arm -arch armv6m -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
1048// RUN: %clang -target arm -arch armv7m -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
1049// RUN: %clang -target arm -arch armv7em -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
1050// RUN: %clang -target thumbv7-apple-darwin-eabi -arch armv7 -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
1051// ARM-DARWIN-NO-EABI-NOT: #define __ARM_EABI__ 1
1052
Silviu Baranga1db2e272013-10-21 10:54:53 +00001053// Check that -mhwdiv works properly for targets which don't have the hwdiv feature enabled by default.
1054
1055// RUN: %clang -target arm -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-ARM %s
1056// ARMHWDIV-ARM:#define __ARM_ARCH_EXT_IDIV__ 1
1057
1058// RUN: %clang -target arm -mthumb -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-THUMB %s
1059// THUMBHWDIV-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1
1060
1061// RUN: %clang -target arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-FALSE %s
1062// ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
1063
1064// RUN: %clang -target arm -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMB-FALSE %s
1065// THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
1066
1067// RUN: %clang -target arm -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-ARM-FALSE %s
1068// THUMBHWDIV-ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
1069
1070// RUN: %clang -target arm -mthumb -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-THUMB-FALSE %s
1071// ARMHWDIV-THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
1072
Stephen Hines651f13c2014-04-23 16:59:28 -07001073// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armv8-none-none < /dev/null | FileCheck -check-prefix ARMv8 %s
1074// ARMv8: #define __THUMB_INTERWORK__ 1
1075// ARMv8-NOT: #define __thumb2__
1076
1077// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armebv8-none-none < /dev/null | FileCheck -check-prefix ARMebv8 %s
1078// ARMebv8: #define __THUMB_INTERWORK__ 1
1079// ARMebv8-NOT: #define __thumb2__
1080
1081// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv8 < /dev/null | FileCheck -check-prefix Thumbv8 %s
1082// Thumbv8: #define __THUMB_INTERWORK__ 1
1083// Thumbv8: #define __thumb2__
1084
1085// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbebv8 < /dev/null | FileCheck -check-prefix Thumbebv8 %s
1086// Thumbebv8: #define __THUMB_INTERWORK__ 1
1087// Thumbebv8: #define __thumb2__
1088
1089// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv5 < /dev/null | FileCheck -check-prefix Thumbv5 %s
1090// Thumbv5: #define __THUMB_INTERWORK__ 1
1091// Thumbv5-NOT: #define __thumb2__
1092
1093// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv6t2 < /dev/null | FileCheck -check-prefix Thumbv6t2 %s
1094// Thumbv6t2: #define __THUMB_INTERWORK__ 1
1095// Thumbv6t2: #define __thumb2__
1096
1097// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv7 < /dev/null | FileCheck -check-prefix Thumbv7 %s
1098// Thumbv7: #define __THUMB_INTERWORK__ 1
1099// Thumbv7: #define __thumb2__
1100
1101// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbebv7 < /dev/null | FileCheck -check-prefix Thumbebv7 %s
1102// Thumbebv7: #define __THUMB_INTERWORK__ 1
1103// Thumbebv7: #define __thumb2__
1104
Chris Lattnerbceaf862009-10-29 04:55:36 +00001105//
Daniel Dunbara5728872009-12-15 20:14:24 +00001106// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00001107//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001108// I386-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001109// I386:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00001110// I386:#define __CHAR16_TYPE__ unsigned short
1111// I386:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001112// I386:#define __CHAR_BIT__ 8
1113// I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1114// I386:#define __DBL_DIG__ 15
1115// I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
1116// I386:#define __DBL_HAS_DENORM__ 1
1117// I386:#define __DBL_HAS_INFINITY__ 1
1118// I386:#define __DBL_HAS_QUIET_NAN__ 1
1119// I386:#define __DBL_MANT_DIG__ 53
1120// I386:#define __DBL_MAX_10_EXP__ 308
1121// I386:#define __DBL_MAX_EXP__ 1024
1122// I386:#define __DBL_MAX__ 1.7976931348623157e+308
1123// I386:#define __DBL_MIN_10_EXP__ (-307)
1124// I386:#define __DBL_MIN_EXP__ (-1021)
1125// I386:#define __DBL_MIN__ 2.2250738585072014e-308
1126// I386:#define __DECIMAL_DIG__ 21
1127// I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1128// I386:#define __FLT_DIG__ 6
1129// I386:#define __FLT_EPSILON__ 1.19209290e-7F
Benjamin Kramerb4066692011-12-28 15:47:06 +00001130// I386:#define __FLT_EVAL_METHOD__ 2
Chris Lattnerbceaf862009-10-29 04:55:36 +00001131// I386:#define __FLT_HAS_DENORM__ 1
1132// I386:#define __FLT_HAS_INFINITY__ 1
1133// I386:#define __FLT_HAS_QUIET_NAN__ 1
1134// I386:#define __FLT_MANT_DIG__ 24
1135// I386:#define __FLT_MAX_10_EXP__ 38
1136// I386:#define __FLT_MAX_EXP__ 128
1137// I386:#define __FLT_MAX__ 3.40282347e+38F
1138// I386:#define __FLT_MIN_10_EXP__ (-37)
1139// I386:#define __FLT_MIN_EXP__ (-125)
1140// I386:#define __FLT_MIN__ 1.17549435e-38F
1141// I386:#define __FLT_RADIX__ 2
1142// I386:#define __INT16_TYPE__ short
1143// I386:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00001144// I386:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +00001145// I386:#define __INT64_TYPE__ long long int
1146// I386:#define __INT8_TYPE__ char
1147// I386:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +00001148// I386:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +00001149// I386:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001150// I386:#define __INTPTR_TYPE__ int
Ken Dyckd896e1a2009-11-18 20:05:48 +00001151// I386:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001152// I386:#define __INT_MAX__ 2147483647
1153// I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1154// I386:#define __LDBL_DIG__ 18
1155// I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1156// I386:#define __LDBL_HAS_DENORM__ 1
1157// I386:#define __LDBL_HAS_INFINITY__ 1
1158// I386:#define __LDBL_HAS_QUIET_NAN__ 1
1159// I386:#define __LDBL_MANT_DIG__ 64
1160// I386:#define __LDBL_MAX_10_EXP__ 4932
1161// I386:#define __LDBL_MAX_EXP__ 16384
1162// I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1163// I386:#define __LDBL_MIN_10_EXP__ (-4931)
1164// I386:#define __LDBL_MIN_EXP__ (-16381)
1165// I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1166// I386:#define __LITTLE_ENDIAN__ 1
1167// I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
1168// I386:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001169// I386-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +00001170// I386:#define __NO_MATH_INLINES 1
1171// I386:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00001172// I386:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +00001173// I386:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001174// I386:#define __REGISTER_PREFIX__
1175// I386:#define __SCHAR_MAX__ 127
1176// I386:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00001177// I386:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00001178// I386:#define __SIZEOF_DOUBLE__ 8
1179// I386:#define __SIZEOF_FLOAT__ 4
1180// I386:#define __SIZEOF_INT__ 4
1181// I386:#define __SIZEOF_LONG_DOUBLE__ 12
1182// I386:#define __SIZEOF_LONG_LONG__ 8
1183// I386:#define __SIZEOF_LONG__ 4
1184// I386:#define __SIZEOF_POINTER__ 4
1185// I386:#define __SIZEOF_PTRDIFF_T__ 4
1186// I386:#define __SIZEOF_SHORT__ 2
1187// I386:#define __SIZEOF_SIZE_T__ 4
1188// I386:#define __SIZEOF_WCHAR_T__ 4
1189// I386:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001190// I386:#define __SIZE_MAX__ 4294967295U
Chris Lattnerbceaf862009-10-29 04:55:36 +00001191// I386:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00001192// I386:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00001193// I386:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001194// I386:#define __USER_LABEL_PREFIX__ _
1195// I386:#define __WCHAR_MAX__ 2147483647
1196// I386:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001197// I386:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001198// I386:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001199// I386:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001200// I386:#define __i386 1
1201// I386:#define __i386__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00001202// I386:#define i386 1
1203//
Benjamin Kramerb4066692011-12-28 15:47:06 +00001204// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-pc-linux-gnu -target-cpu pentium4 < /dev/null | FileCheck -check-prefix I386-LINUX %s
Douglas Gregor12e84642011-01-12 21:19:25 +00001205//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001206// I386-LINUX-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001207// I386-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregor12e84642011-01-12 21:19:25 +00001208// I386-LINUX:#define __CHAR16_TYPE__ unsigned short
1209// I386-LINUX:#define __CHAR32_TYPE__ unsigned int
1210// I386-LINUX:#define __CHAR_BIT__ 8
1211// I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1212// I386-LINUX:#define __DBL_DIG__ 15
1213// I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
1214// I386-LINUX:#define __DBL_HAS_DENORM__ 1
1215// I386-LINUX:#define __DBL_HAS_INFINITY__ 1
1216// I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
1217// I386-LINUX:#define __DBL_MANT_DIG__ 53
1218// I386-LINUX:#define __DBL_MAX_10_EXP__ 308
1219// I386-LINUX:#define __DBL_MAX_EXP__ 1024
1220// I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
1221// I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
1222// I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
1223// I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
1224// I386-LINUX:#define __DECIMAL_DIG__ 21
1225// I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1226// I386-LINUX:#define __FLT_DIG__ 6
1227// I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
1228// I386-LINUX:#define __FLT_EVAL_METHOD__ 0
1229// I386-LINUX:#define __FLT_HAS_DENORM__ 1
1230// I386-LINUX:#define __FLT_HAS_INFINITY__ 1
1231// I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
1232// I386-LINUX:#define __FLT_MANT_DIG__ 24
1233// I386-LINUX:#define __FLT_MAX_10_EXP__ 38
1234// I386-LINUX:#define __FLT_MAX_EXP__ 128
1235// I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
1236// I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
1237// I386-LINUX:#define __FLT_MIN_EXP__ (-125)
1238// I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
1239// I386-LINUX:#define __FLT_RADIX__ 2
1240// I386-LINUX:#define __INT16_TYPE__ short
1241// I386-LINUX:#define __INT32_TYPE__ int
1242// I386-LINUX:#define __INT64_C_SUFFIX__ LL
1243// I386-LINUX:#define __INT64_TYPE__ long long int
1244// I386-LINUX:#define __INT8_TYPE__ char
1245// I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
1246// I386-LINUX:#define __INTMAX_TYPE__ long long int
1247// I386-LINUX:#define __INTMAX_WIDTH__ 64
1248// I386-LINUX:#define __INTPTR_TYPE__ int
1249// I386-LINUX:#define __INTPTR_WIDTH__ 32
1250// I386-LINUX:#define __INT_MAX__ 2147483647
1251// I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1252// I386-LINUX:#define __LDBL_DIG__ 18
1253// I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1254// I386-LINUX:#define __LDBL_HAS_DENORM__ 1
1255// I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
1256// I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
1257// I386-LINUX:#define __LDBL_MANT_DIG__ 64
1258// I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
1259// I386-LINUX:#define __LDBL_MAX_EXP__ 16384
1260// I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1261// I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
1262// I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
1263// I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1264// I386-LINUX:#define __LITTLE_ENDIAN__ 1
1265// I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
1266// I386-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001267// I386-LINUX-NOT:#define __LP64__
Douglas Gregor12e84642011-01-12 21:19:25 +00001268// I386-LINUX:#define __NO_MATH_INLINES 1
1269// I386-LINUX:#define __POINTER_WIDTH__ 32
1270// I386-LINUX:#define __PTRDIFF_TYPE__ int
1271// I386-LINUX:#define __PTRDIFF_WIDTH__ 32
1272// I386-LINUX:#define __REGISTER_PREFIX__
1273// I386-LINUX:#define __SCHAR_MAX__ 127
1274// I386-LINUX:#define __SHRT_MAX__ 32767
1275// I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
1276// I386-LINUX:#define __SIZEOF_DOUBLE__ 8
1277// I386-LINUX:#define __SIZEOF_FLOAT__ 4
1278// I386-LINUX:#define __SIZEOF_INT__ 4
1279// I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
1280// I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
1281// I386-LINUX:#define __SIZEOF_LONG__ 4
1282// I386-LINUX:#define __SIZEOF_POINTER__ 4
1283// I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
1284// I386-LINUX:#define __SIZEOF_SHORT__ 2
1285// I386-LINUX:#define __SIZEOF_SIZE_T__ 4
1286// I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
1287// I386-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001288// I386-LINUX:#define __SIZE_MAX__ 4294967295U
Douglas Gregor12e84642011-01-12 21:19:25 +00001289// I386-LINUX:#define __SIZE_TYPE__ unsigned int
1290// I386-LINUX:#define __SIZE_WIDTH__ 32
1291// I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
1292// I386-LINUX:#define __USER_LABEL_PREFIX__
1293// I386-LINUX:#define __WCHAR_MAX__ 2147483647
1294// I386-LINUX:#define __WCHAR_TYPE__ int
1295// I386-LINUX:#define __WCHAR_WIDTH__ 32
1296// I386-LINUX:#define __WINT_TYPE__ unsigned int
1297// I386-LINUX:#define __WINT_WIDTH__ 32
1298// I386-LINUX:#define __i386 1
1299// I386-LINUX:#define __i386__ 1
Douglas Gregor12e84642011-01-12 21:19:25 +00001300// I386-LINUX:#define i386 1
1301//
Joerg Sonnenberger8daa7fe2013-11-11 14:00:37 +00001302// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd < /dev/null | FileCheck -check-prefix I386-NETBSD %s
1303//
1304// I386-NETBSD-NOT:#define _LP64
1305// I386-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1306// I386-NETBSD:#define __CHAR16_TYPE__ unsigned short
1307// I386-NETBSD:#define __CHAR32_TYPE__ unsigned int
1308// I386-NETBSD:#define __CHAR_BIT__ 8
1309// I386-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1310// I386-NETBSD:#define __DBL_DIG__ 15
1311// I386-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
1312// I386-NETBSD:#define __DBL_HAS_DENORM__ 1
1313// I386-NETBSD:#define __DBL_HAS_INFINITY__ 1
1314// I386-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
1315// I386-NETBSD:#define __DBL_MANT_DIG__ 53
1316// I386-NETBSD:#define __DBL_MAX_10_EXP__ 308
1317// I386-NETBSD:#define __DBL_MAX_EXP__ 1024
1318// I386-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
1319// I386-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
1320// I386-NETBSD:#define __DBL_MIN_EXP__ (-1021)
1321// I386-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
1322// I386-NETBSD:#define __DECIMAL_DIG__ 21
1323// I386-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1324// I386-NETBSD:#define __FLT_DIG__ 6
1325// I386-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
1326// I386-NETBSD:#define __FLT_EVAL_METHOD__ 2
1327// I386-NETBSD:#define __FLT_HAS_DENORM__ 1
1328// I386-NETBSD:#define __FLT_HAS_INFINITY__ 1
1329// I386-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
1330// I386-NETBSD:#define __FLT_MANT_DIG__ 24
1331// I386-NETBSD:#define __FLT_MAX_10_EXP__ 38
1332// I386-NETBSD:#define __FLT_MAX_EXP__ 128
1333// I386-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
1334// I386-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
1335// I386-NETBSD:#define __FLT_MIN_EXP__ (-125)
1336// I386-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
1337// I386-NETBSD:#define __FLT_RADIX__ 2
1338// I386-NETBSD:#define __INT16_TYPE__ short
1339// I386-NETBSD:#define __INT32_TYPE__ int
1340// I386-NETBSD:#define __INT64_C_SUFFIX__ LL
1341// I386-NETBSD:#define __INT64_TYPE__ long long int
1342// I386-NETBSD:#define __INT8_TYPE__ char
1343// I386-NETBSD:#define __INTMAX_MAX__ 9223372036854775807LL
1344// I386-NETBSD:#define __INTMAX_TYPE__ long long int
1345// I386-NETBSD:#define __INTMAX_WIDTH__ 64
1346// I386-NETBSD:#define __INTPTR_TYPE__ int
1347// I386-NETBSD:#define __INTPTR_WIDTH__ 32
1348// I386-NETBSD:#define __INT_MAX__ 2147483647
1349// I386-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1350// I386-NETBSD:#define __LDBL_DIG__ 18
1351// I386-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1352// I386-NETBSD:#define __LDBL_HAS_DENORM__ 1
1353// I386-NETBSD:#define __LDBL_HAS_INFINITY__ 1
1354// I386-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
1355// I386-NETBSD:#define __LDBL_MANT_DIG__ 64
1356// I386-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
1357// I386-NETBSD:#define __LDBL_MAX_EXP__ 16384
1358// I386-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1359// I386-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
1360// I386-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
1361// I386-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1362// I386-NETBSD:#define __LITTLE_ENDIAN__ 1
1363// I386-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
1364// I386-NETBSD:#define __LONG_MAX__ 2147483647L
1365// I386-NETBSD-NOT:#define __LP64__
1366// I386-NETBSD:#define __NO_MATH_INLINES 1
1367// I386-NETBSD:#define __POINTER_WIDTH__ 32
1368// I386-NETBSD:#define __PTRDIFF_TYPE__ int
1369// I386-NETBSD:#define __PTRDIFF_WIDTH__ 32
1370// I386-NETBSD:#define __REGISTER_PREFIX__
1371// I386-NETBSD:#define __SCHAR_MAX__ 127
1372// I386-NETBSD:#define __SHRT_MAX__ 32767
1373// I386-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
1374// I386-NETBSD:#define __SIZEOF_DOUBLE__ 8
1375// I386-NETBSD:#define __SIZEOF_FLOAT__ 4
1376// I386-NETBSD:#define __SIZEOF_INT__ 4
1377// I386-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 12
1378// I386-NETBSD:#define __SIZEOF_LONG_LONG__ 8
1379// I386-NETBSD:#define __SIZEOF_LONG__ 4
1380// I386-NETBSD:#define __SIZEOF_POINTER__ 4
1381// I386-NETBSD:#define __SIZEOF_PTRDIFF_T__ 4
1382// I386-NETBSD:#define __SIZEOF_SHORT__ 2
1383// I386-NETBSD:#define __SIZEOF_SIZE_T__ 4
1384// I386-NETBSD:#define __SIZEOF_WCHAR_T__ 4
1385// I386-NETBSD:#define __SIZEOF_WINT_T__ 4
1386// I386-NETBSD:#define __SIZE_MAX__ 4294967295U
1387// I386-NETBSD:#define __SIZE_TYPE__ unsigned int
1388// I386-NETBSD:#define __SIZE_WIDTH__ 32
1389// I386-NETBSD:#define __UINTMAX_TYPE__ long long unsigned int
1390// I386-NETBSD:#define __USER_LABEL_PREFIX__
1391// I386-NETBSD:#define __WCHAR_MAX__ 2147483647
1392// I386-NETBSD:#define __WCHAR_TYPE__ int
1393// I386-NETBSD:#define __WCHAR_WIDTH__ 32
1394// I386-NETBSD:#define __WINT_TYPE__ int
1395// I386-NETBSD:#define __WINT_WIDTH__ 32
1396// I386-NETBSD:#define __i386 1
1397// I386-NETBSD:#define __i386__ 1
1398// I386-NETBSD:#define i386 1
1399//
1400// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD-SSE %s
1401// I386-NETBSD-SSE:#define __FLT_EVAL_METHOD__ 0
1402// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 < /dev/null | FileCheck -check-prefix I386-NETBSD6 %s
1403// I386-NETBSD6:#define __FLT_EVAL_METHOD__ 1
1404// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD6-SSE %s
1405// I386-NETBSD6-SSE:#define __FLT_EVAL_METHOD__ 1
1406
1407//
Simon Atanasyan7a521802012-04-06 08:37:24 +00001408// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none < /dev/null | FileCheck -check-prefix MIPS32BE %s
1409//
1410// MIPS32BE:#define MIPSEB 1
1411// MIPS32BE:#define _ABIO32 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001412// MIPS32BE-NOT:#define _LP64
Simon Atanasyan7a521802012-04-06 08:37:24 +00001413// MIPS32BE:#define _MIPSEB 1
Stephen Hines651f13c2014-04-23 16:59:28 -07001414// MIPS32BE:#define _MIPS_ARCH "mips32r2"
1415// MIPS32BE:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyanddb2ad22013-10-18 13:13:53 +00001416// MIPS32BE:#define _MIPS_FPSET 16
Simon Atanasyan7a521802012-04-06 08:37:24 +00001417// MIPS32BE:#define _MIPS_SIM _ABIO32
1418// MIPS32BE:#define _MIPS_SZINT 32
1419// MIPS32BE:#define _MIPS_SZLONG 32
1420// MIPS32BE:#define _MIPS_SZPTR 32
Stephen Hines651f13c2014-04-23 16:59:28 -07001421// MIPS32BE:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001422// MIPS32BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyan7a521802012-04-06 08:37:24 +00001423// MIPS32BE:#define __CHAR16_TYPE__ unsigned short
1424// MIPS32BE:#define __CHAR32_TYPE__ unsigned int
1425// MIPS32BE:#define __CHAR_BIT__ 8
1426// MIPS32BE:#define __CONSTANT_CFSTRINGS__ 1
1427// MIPS32BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1428// MIPS32BE:#define __DBL_DIG__ 15
1429// MIPS32BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
1430// MIPS32BE:#define __DBL_HAS_DENORM__ 1
1431// MIPS32BE:#define __DBL_HAS_INFINITY__ 1
1432// MIPS32BE:#define __DBL_HAS_QUIET_NAN__ 1
1433// MIPS32BE:#define __DBL_MANT_DIG__ 53
1434// MIPS32BE:#define __DBL_MAX_10_EXP__ 308
1435// MIPS32BE:#define __DBL_MAX_EXP__ 1024
1436// MIPS32BE:#define __DBL_MAX__ 1.7976931348623157e+308
1437// MIPS32BE:#define __DBL_MIN_10_EXP__ (-307)
1438// MIPS32BE:#define __DBL_MIN_EXP__ (-1021)
1439// MIPS32BE:#define __DBL_MIN__ 2.2250738585072014e-308
1440// MIPS32BE:#define __DECIMAL_DIG__ 17
1441// MIPS32BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1442// MIPS32BE:#define __FLT_DIG__ 6
1443// MIPS32BE:#define __FLT_EPSILON__ 1.19209290e-7F
1444// MIPS32BE:#define __FLT_EVAL_METHOD__ 0
1445// MIPS32BE:#define __FLT_HAS_DENORM__ 1
1446// MIPS32BE:#define __FLT_HAS_INFINITY__ 1
1447// MIPS32BE:#define __FLT_HAS_QUIET_NAN__ 1
1448// MIPS32BE:#define __FLT_MANT_DIG__ 24
1449// MIPS32BE:#define __FLT_MAX_10_EXP__ 38
1450// MIPS32BE:#define __FLT_MAX_EXP__ 128
1451// MIPS32BE:#define __FLT_MAX__ 3.40282347e+38F
1452// MIPS32BE:#define __FLT_MIN_10_EXP__ (-37)
1453// MIPS32BE:#define __FLT_MIN_EXP__ (-125)
1454// MIPS32BE:#define __FLT_MIN__ 1.17549435e-38F
1455// MIPS32BE:#define __FLT_RADIX__ 2
1456// MIPS32BE:#define __INT16_TYPE__ short
1457// MIPS32BE:#define __INT32_TYPE__ int
1458// MIPS32BE:#define __INT64_C_SUFFIX__ LL
1459// MIPS32BE:#define __INT64_TYPE__ long long int
1460// MIPS32BE:#define __INT8_TYPE__ char
1461// MIPS32BE:#define __INTMAX_MAX__ 9223372036854775807LL
1462// MIPS32BE:#define __INTMAX_TYPE__ long long int
1463// MIPS32BE:#define __INTMAX_WIDTH__ 64
1464// MIPS32BE:#define __INTPTR_TYPE__ long int
1465// MIPS32BE:#define __INTPTR_WIDTH__ 32
1466// MIPS32BE:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00001467// MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyan7a521802012-04-06 08:37:24 +00001468// MIPS32BE:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00001469// MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyan7a521802012-04-06 08:37:24 +00001470// MIPS32BE:#define __LDBL_HAS_DENORM__ 1
1471// MIPS32BE:#define __LDBL_HAS_INFINITY__ 1
1472// MIPS32BE:#define __LDBL_HAS_QUIET_NAN__ 1
1473// MIPS32BE:#define __LDBL_MANT_DIG__ 53
1474// MIPS32BE:#define __LDBL_MAX_10_EXP__ 308
1475// MIPS32BE:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00001476// MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyan7a521802012-04-06 08:37:24 +00001477// MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307)
1478// MIPS32BE:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00001479// MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyan7a521802012-04-06 08:37:24 +00001480// MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1481// MIPS32BE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001482// MIPS32BE-NOT:#define __LP64__
Simon Atanasyan7a521802012-04-06 08:37:24 +00001483// MIPS32BE:#define __MIPSEB 1
1484// MIPS32BE:#define __MIPSEB__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001485// MIPS32BE:#define __POINTER_WIDTH__ 32
1486// MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1
1487// MIPS32BE:#define __PTRDIFF_TYPE__ int
1488// MIPS32BE:#define __PTRDIFF_WIDTH__ 32
1489// MIPS32BE:#define __REGISTER_PREFIX__
1490// MIPS32BE:#define __SCHAR_MAX__ 127
1491// MIPS32BE:#define __SHRT_MAX__ 32767
1492// MIPS32BE:#define __SIG_ATOMIC_WIDTH__ 32
1493// MIPS32BE:#define __SIZEOF_DOUBLE__ 8
1494// MIPS32BE:#define __SIZEOF_FLOAT__ 4
1495// MIPS32BE:#define __SIZEOF_INT__ 4
1496// MIPS32BE:#define __SIZEOF_LONG_DOUBLE__ 8
1497// MIPS32BE:#define __SIZEOF_LONG_LONG__ 8
1498// MIPS32BE:#define __SIZEOF_LONG__ 4
1499// MIPS32BE:#define __SIZEOF_POINTER__ 4
1500// MIPS32BE:#define __SIZEOF_PTRDIFF_T__ 4
1501// MIPS32BE:#define __SIZEOF_SHORT__ 2
1502// MIPS32BE:#define __SIZEOF_SIZE_T__ 4
1503// MIPS32BE:#define __SIZEOF_WCHAR_T__ 4
1504// MIPS32BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001505// MIPS32BE:#define __SIZE_MAX__ 4294967295U
Simon Atanasyan7a521802012-04-06 08:37:24 +00001506// MIPS32BE:#define __SIZE_TYPE__ unsigned int
1507// MIPS32BE:#define __SIZE_WIDTH__ 32
1508// MIPS32BE:#define __STDC_HOSTED__ 0
1509// MIPS32BE:#define __STDC_VERSION__ 199901L
1510// MIPS32BE:#define __STDC__ 1
1511// MIPS32BE:#define __UINTMAX_TYPE__ long long unsigned int
1512// MIPS32BE:#define __USER_LABEL_PREFIX__ _
1513// MIPS32BE:#define __WCHAR_MAX__ 2147483647
1514// MIPS32BE:#define __WCHAR_TYPE__ int
1515// MIPS32BE:#define __WCHAR_WIDTH__ 32
1516// MIPS32BE:#define __WINT_TYPE__ int
1517// MIPS32BE:#define __WINT_WIDTH__ 32
1518// MIPS32BE:#define __clang__ 1
1519// MIPS32BE:#define __llvm__ 1
Stephen Hines651f13c2014-04-23 16:59:28 -07001520// MIPS32BE:#define __mips 32
Simon Atanasyan7a521802012-04-06 08:37:24 +00001521// MIPS32BE:#define __mips__ 1
Simon Atanasyanddb2ad22013-10-18 13:13:53 +00001522// MIPS32BE:#define __mips_fpr 32
Simon Atanasyan7a521802012-04-06 08:37:24 +00001523// MIPS32BE:#define __mips_hard_float 1
1524// MIPS32BE:#define __mips_o32 1
1525// MIPS32BE:#define _mips 1
1526// MIPS32BE:#define mips 1
1527//
1528// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -check-prefix MIPS32EL %s
1529//
1530// MIPS32EL:#define MIPSEL 1
1531// MIPS32EL:#define _ABIO32 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001532// MIPS32EL-NOT:#define _LP64
Simon Atanasyan7a521802012-04-06 08:37:24 +00001533// MIPS32EL:#define _MIPSEL 1
Stephen Hines651f13c2014-04-23 16:59:28 -07001534// MIPS32EL:#define _MIPS_ARCH "mips32r2"
1535// MIPS32EL:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyanddb2ad22013-10-18 13:13:53 +00001536// MIPS32EL:#define _MIPS_FPSET 16
Simon Atanasyan7a521802012-04-06 08:37:24 +00001537// MIPS32EL:#define _MIPS_SIM _ABIO32
1538// MIPS32EL:#define _MIPS_SZINT 32
1539// MIPS32EL:#define _MIPS_SZLONG 32
1540// MIPS32EL:#define _MIPS_SZPTR 32
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001541// MIPS32EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyan7a521802012-04-06 08:37:24 +00001542// MIPS32EL:#define __CHAR16_TYPE__ unsigned short
1543// MIPS32EL:#define __CHAR32_TYPE__ unsigned int
1544// MIPS32EL:#define __CHAR_BIT__ 8
1545// MIPS32EL:#define __CONSTANT_CFSTRINGS__ 1
1546// MIPS32EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1547// MIPS32EL:#define __DBL_DIG__ 15
1548// MIPS32EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1549// MIPS32EL:#define __DBL_HAS_DENORM__ 1
1550// MIPS32EL:#define __DBL_HAS_INFINITY__ 1
1551// MIPS32EL:#define __DBL_HAS_QUIET_NAN__ 1
1552// MIPS32EL:#define __DBL_MANT_DIG__ 53
1553// MIPS32EL:#define __DBL_MAX_10_EXP__ 308
1554// MIPS32EL:#define __DBL_MAX_EXP__ 1024
1555// MIPS32EL:#define __DBL_MAX__ 1.7976931348623157e+308
1556// MIPS32EL:#define __DBL_MIN_10_EXP__ (-307)
1557// MIPS32EL:#define __DBL_MIN_EXP__ (-1021)
1558// MIPS32EL:#define __DBL_MIN__ 2.2250738585072014e-308
1559// MIPS32EL:#define __DECIMAL_DIG__ 17
1560// MIPS32EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1561// MIPS32EL:#define __FLT_DIG__ 6
1562// MIPS32EL:#define __FLT_EPSILON__ 1.19209290e-7F
1563// MIPS32EL:#define __FLT_EVAL_METHOD__ 0
1564// MIPS32EL:#define __FLT_HAS_DENORM__ 1
1565// MIPS32EL:#define __FLT_HAS_INFINITY__ 1
1566// MIPS32EL:#define __FLT_HAS_QUIET_NAN__ 1
1567// MIPS32EL:#define __FLT_MANT_DIG__ 24
1568// MIPS32EL:#define __FLT_MAX_10_EXP__ 38
1569// MIPS32EL:#define __FLT_MAX_EXP__ 128
1570// MIPS32EL:#define __FLT_MAX__ 3.40282347e+38F
1571// MIPS32EL:#define __FLT_MIN_10_EXP__ (-37)
1572// MIPS32EL:#define __FLT_MIN_EXP__ (-125)
1573// MIPS32EL:#define __FLT_MIN__ 1.17549435e-38F
1574// MIPS32EL:#define __FLT_RADIX__ 2
1575// MIPS32EL:#define __INT16_TYPE__ short
1576// MIPS32EL:#define __INT32_TYPE__ int
1577// MIPS32EL:#define __INT64_C_SUFFIX__ LL
1578// MIPS32EL:#define __INT64_TYPE__ long long int
1579// MIPS32EL:#define __INT8_TYPE__ char
1580// MIPS32EL:#define __INTMAX_MAX__ 9223372036854775807LL
1581// MIPS32EL:#define __INTMAX_TYPE__ long long int
1582// MIPS32EL:#define __INTMAX_WIDTH__ 64
1583// MIPS32EL:#define __INTPTR_TYPE__ long int
1584// MIPS32EL:#define __INTPTR_WIDTH__ 32
1585// MIPS32EL:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00001586// MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyan7a521802012-04-06 08:37:24 +00001587// MIPS32EL:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00001588// MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyan7a521802012-04-06 08:37:24 +00001589// MIPS32EL:#define __LDBL_HAS_DENORM__ 1
1590// MIPS32EL:#define __LDBL_HAS_INFINITY__ 1
1591// MIPS32EL:#define __LDBL_HAS_QUIET_NAN__ 1
1592// MIPS32EL:#define __LDBL_MANT_DIG__ 53
1593// MIPS32EL:#define __LDBL_MAX_10_EXP__ 308
1594// MIPS32EL:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00001595// MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyan7a521802012-04-06 08:37:24 +00001596// MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307)
1597// MIPS32EL:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00001598// MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308L
Stephen Hines651f13c2014-04-23 16:59:28 -07001599// MIPS32EL:#define __LITTLE_ENDIAN__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001600// MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1601// MIPS32EL:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001602// MIPS32EL-NOT:#define __LP64__
Simon Atanasyan7a521802012-04-06 08:37:24 +00001603// MIPS32EL:#define __MIPSEL 1
1604// MIPS32EL:#define __MIPSEL__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001605// MIPS32EL:#define __POINTER_WIDTH__ 32
1606// MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1607// MIPS32EL:#define __PTRDIFF_TYPE__ int
1608// MIPS32EL:#define __PTRDIFF_WIDTH__ 32
1609// MIPS32EL:#define __REGISTER_PREFIX__
1610// MIPS32EL:#define __SCHAR_MAX__ 127
1611// MIPS32EL:#define __SHRT_MAX__ 32767
1612// MIPS32EL:#define __SIG_ATOMIC_WIDTH__ 32
1613// MIPS32EL:#define __SIZEOF_DOUBLE__ 8
1614// MIPS32EL:#define __SIZEOF_FLOAT__ 4
1615// MIPS32EL:#define __SIZEOF_INT__ 4
1616// MIPS32EL:#define __SIZEOF_LONG_DOUBLE__ 8
1617// MIPS32EL:#define __SIZEOF_LONG_LONG__ 8
1618// MIPS32EL:#define __SIZEOF_LONG__ 4
1619// MIPS32EL:#define __SIZEOF_POINTER__ 4
1620// MIPS32EL:#define __SIZEOF_PTRDIFF_T__ 4
1621// MIPS32EL:#define __SIZEOF_SHORT__ 2
1622// MIPS32EL:#define __SIZEOF_SIZE_T__ 4
1623// MIPS32EL:#define __SIZEOF_WCHAR_T__ 4
1624// MIPS32EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001625// MIPS32EL:#define __SIZE_MAX__ 4294967295U
Simon Atanasyan7a521802012-04-06 08:37:24 +00001626// MIPS32EL:#define __SIZE_TYPE__ unsigned int
1627// MIPS32EL:#define __SIZE_WIDTH__ 32
1628// MIPS32EL:#define __UINTMAX_TYPE__ long long unsigned int
1629// MIPS32EL:#define __USER_LABEL_PREFIX__ _
1630// MIPS32EL:#define __WCHAR_MAX__ 2147483647
1631// MIPS32EL:#define __WCHAR_TYPE__ int
1632// MIPS32EL:#define __WCHAR_WIDTH__ 32
1633// MIPS32EL:#define __WINT_TYPE__ int
1634// MIPS32EL:#define __WINT_WIDTH__ 32
1635// MIPS32EL:#define __clang__ 1
1636// MIPS32EL:#define __llvm__ 1
Stephen Hines651f13c2014-04-23 16:59:28 -07001637// MIPS32EL:#define __mips 32
Simon Atanasyan7a521802012-04-06 08:37:24 +00001638// MIPS32EL:#define __mips__ 1
Simon Atanasyanddb2ad22013-10-18 13:13:53 +00001639// MIPS32EL:#define __mips_fpr 32
Simon Atanasyan7a521802012-04-06 08:37:24 +00001640// MIPS32EL:#define __mips_hard_float 1
1641// MIPS32EL:#define __mips_o32 1
1642// MIPS32EL:#define _mips 1
1643// MIPS32EL:#define mips 1
1644//
1645// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -check-prefix MIPS64BE %s
1646//
1647// MIPS64BE:#define MIPSEB 1
1648// MIPS64BE:#define _ABI64 3
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001649// MIPS64BE:#define _LP64 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001650// MIPS64BE:#define _MIPSEB 1
Stephen Hines651f13c2014-04-23 16:59:28 -07001651// MIPS64BE:#define _MIPS_ARCH "mips64r2"
1652// MIPS64BE:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyanddb2ad22013-10-18 13:13:53 +00001653// MIPS64BE:#define _MIPS_FPSET 32
Simon Atanasyan7a521802012-04-06 08:37:24 +00001654// MIPS64BE:#define _MIPS_SIM _ABI64
1655// MIPS64BE:#define _MIPS_SZINT 32
1656// MIPS64BE:#define _MIPS_SZLONG 64
1657// MIPS64BE:#define _MIPS_SZPTR 64
Stephen Hines651f13c2014-04-23 16:59:28 -07001658// MIPS64BE:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001659// MIPS64BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyan7a521802012-04-06 08:37:24 +00001660// MIPS64BE:#define __CHAR16_TYPE__ unsigned short
1661// MIPS64BE:#define __CHAR32_TYPE__ unsigned int
1662// MIPS64BE:#define __CHAR_BIT__ 8
1663// MIPS64BE:#define __CONSTANT_CFSTRINGS__ 1
1664// MIPS64BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1665// MIPS64BE:#define __DBL_DIG__ 15
1666// MIPS64BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
1667// MIPS64BE:#define __DBL_HAS_DENORM__ 1
1668// MIPS64BE:#define __DBL_HAS_INFINITY__ 1
1669// MIPS64BE:#define __DBL_HAS_QUIET_NAN__ 1
1670// MIPS64BE:#define __DBL_MANT_DIG__ 53
1671// MIPS64BE:#define __DBL_MAX_10_EXP__ 308
1672// MIPS64BE:#define __DBL_MAX_EXP__ 1024
1673// MIPS64BE:#define __DBL_MAX__ 1.7976931348623157e+308
1674// MIPS64BE:#define __DBL_MIN_10_EXP__ (-307)
1675// MIPS64BE:#define __DBL_MIN_EXP__ (-1021)
1676// MIPS64BE:#define __DBL_MIN__ 2.2250738585072014e-308
1677// MIPS64BE:#define __DECIMAL_DIG__ 36
1678// MIPS64BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1679// MIPS64BE:#define __FLT_DIG__ 6
1680// MIPS64BE:#define __FLT_EPSILON__ 1.19209290e-7F
1681// MIPS64BE:#define __FLT_EVAL_METHOD__ 0
1682// MIPS64BE:#define __FLT_HAS_DENORM__ 1
1683// MIPS64BE:#define __FLT_HAS_INFINITY__ 1
1684// MIPS64BE:#define __FLT_HAS_QUIET_NAN__ 1
1685// MIPS64BE:#define __FLT_MANT_DIG__ 24
1686// MIPS64BE:#define __FLT_MAX_10_EXP__ 38
1687// MIPS64BE:#define __FLT_MAX_EXP__ 128
1688// MIPS64BE:#define __FLT_MAX__ 3.40282347e+38F
1689// MIPS64BE:#define __FLT_MIN_10_EXP__ (-37)
1690// MIPS64BE:#define __FLT_MIN_EXP__ (-125)
1691// MIPS64BE:#define __FLT_MIN__ 1.17549435e-38F
1692// MIPS64BE:#define __FLT_RADIX__ 2
1693// MIPS64BE:#define __INT16_TYPE__ short
1694// MIPS64BE:#define __INT32_TYPE__ int
1695// MIPS64BE:#define __INT64_C_SUFFIX__ LL
1696// MIPS64BE:#define __INT64_TYPE__ long long int
1697// MIPS64BE:#define __INT8_TYPE__ char
1698// MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807LL
1699// MIPS64BE:#define __INTMAX_TYPE__ long long int
1700// MIPS64BE:#define __INTMAX_WIDTH__ 64
1701// MIPS64BE:#define __INTPTR_TYPE__ long int
1702// MIPS64BE:#define __INTPTR_WIDTH__ 64
1703// MIPS64BE:#define __INT_MAX__ 2147483647
1704// MIPS64BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1705// MIPS64BE:#define __LDBL_DIG__ 33
1706// MIPS64BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1707// MIPS64BE:#define __LDBL_HAS_DENORM__ 1
1708// MIPS64BE:#define __LDBL_HAS_INFINITY__ 1
1709// MIPS64BE:#define __LDBL_HAS_QUIET_NAN__ 1
1710// MIPS64BE:#define __LDBL_MANT_DIG__ 113
1711// MIPS64BE:#define __LDBL_MAX_10_EXP__ 4932
1712// MIPS64BE:#define __LDBL_MAX_EXP__ 16384
1713// MIPS64BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1714// MIPS64BE:#define __LDBL_MIN_10_EXP__ (-4931)
1715// MIPS64BE:#define __LDBL_MIN_EXP__ (-16381)
1716// MIPS64BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1717// MIPS64BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1718// MIPS64BE:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001719// MIPS64BE:#define __LP64__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001720// MIPS64BE:#define __MIPSEB 1
1721// MIPS64BE:#define __MIPSEB__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001722// MIPS64BE:#define __POINTER_WIDTH__ 64
1723// MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1
1724// MIPS64BE:#define __PTRDIFF_TYPE__ long int
1725// MIPS64BE:#define __PTRDIFF_WIDTH__ 64
1726// MIPS64BE:#define __REGISTER_PREFIX__
1727// MIPS64BE:#define __SCHAR_MAX__ 127
1728// MIPS64BE:#define __SHRT_MAX__ 32767
1729// MIPS64BE:#define __SIG_ATOMIC_WIDTH__ 32
1730// MIPS64BE:#define __SIZEOF_DOUBLE__ 8
1731// MIPS64BE:#define __SIZEOF_FLOAT__ 4
1732// MIPS64BE:#define __SIZEOF_INT__ 4
1733// MIPS64BE:#define __SIZEOF_LONG_DOUBLE__ 16
1734// MIPS64BE:#define __SIZEOF_LONG_LONG__ 8
1735// MIPS64BE:#define __SIZEOF_LONG__ 8
1736// MIPS64BE:#define __SIZEOF_POINTER__ 8
1737// MIPS64BE:#define __SIZEOF_PTRDIFF_T__ 8
1738// MIPS64BE:#define __SIZEOF_SHORT__ 2
1739// MIPS64BE:#define __SIZEOF_SIZE_T__ 8
1740// MIPS64BE:#define __SIZEOF_WCHAR_T__ 4
1741// MIPS64BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001742// MIPS64BE:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyan7a521802012-04-06 08:37:24 +00001743// MIPS64BE:#define __SIZE_TYPE__ long unsigned int
1744// MIPS64BE:#define __SIZE_WIDTH__ 64
1745// MIPS64BE:#define __UINTMAX_TYPE__ long long unsigned int
1746// MIPS64BE:#define __USER_LABEL_PREFIX__ _
1747// MIPS64BE:#define __WCHAR_MAX__ 2147483647
1748// MIPS64BE:#define __WCHAR_TYPE__ int
1749// MIPS64BE:#define __WCHAR_WIDTH__ 32
1750// MIPS64BE:#define __WINT_TYPE__ int
1751// MIPS64BE:#define __WINT_WIDTH__ 32
1752// MIPS64BE:#define __clang__ 1
1753// MIPS64BE:#define __llvm__ 1
Stephen Hines651f13c2014-04-23 16:59:28 -07001754// MIPS64BE:#define __mips 64
Simon Atanasyan600a5132012-08-29 20:50:11 +00001755// MIPS64BE:#define __mips64 1
1756// MIPS64BE:#define __mips64__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001757// MIPS64BE:#define __mips__ 1
Simon Atanasyanddb2ad22013-10-18 13:13:53 +00001758// MIPS64BE:#define __mips_fpr 64
Simon Atanasyan7a521802012-04-06 08:37:24 +00001759// MIPS64BE:#define __mips_hard_float 1
1760// MIPS64BE:#define __mips_n64 1
1761// MIPS64BE:#define _mips 1
1762// MIPS64BE:#define mips 1
1763//
1764// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -check-prefix MIPS64EL %s
1765//
1766// MIPS64EL:#define MIPSEL 1
1767// MIPS64EL:#define _ABI64 3
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001768// MIPS64EL:#define _LP64 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001769// MIPS64EL:#define _MIPSEL 1
Stephen Hines651f13c2014-04-23 16:59:28 -07001770// MIPS64EL:#define _MIPS_ARCH "mips64r2"
1771// MIPS64EL:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyanddb2ad22013-10-18 13:13:53 +00001772// MIPS64EL:#define _MIPS_FPSET 32
Simon Atanasyan7a521802012-04-06 08:37:24 +00001773// MIPS64EL:#define _MIPS_SIM _ABI64
1774// MIPS64EL:#define _MIPS_SZINT 32
1775// MIPS64EL:#define _MIPS_SZLONG 64
1776// MIPS64EL:#define _MIPS_SZPTR 64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001777// MIPS64EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyan7a521802012-04-06 08:37:24 +00001778// MIPS64EL:#define __CHAR16_TYPE__ unsigned short
1779// MIPS64EL:#define __CHAR32_TYPE__ unsigned int
1780// MIPS64EL:#define __CHAR_BIT__ 8
1781// MIPS64EL:#define __CONSTANT_CFSTRINGS__ 1
1782// MIPS64EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1783// MIPS64EL:#define __DBL_DIG__ 15
1784// MIPS64EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1785// MIPS64EL:#define __DBL_HAS_DENORM__ 1
1786// MIPS64EL:#define __DBL_HAS_INFINITY__ 1
1787// MIPS64EL:#define __DBL_HAS_QUIET_NAN__ 1
1788// MIPS64EL:#define __DBL_MANT_DIG__ 53
1789// MIPS64EL:#define __DBL_MAX_10_EXP__ 308
1790// MIPS64EL:#define __DBL_MAX_EXP__ 1024
1791// MIPS64EL:#define __DBL_MAX__ 1.7976931348623157e+308
1792// MIPS64EL:#define __DBL_MIN_10_EXP__ (-307)
1793// MIPS64EL:#define __DBL_MIN_EXP__ (-1021)
1794// MIPS64EL:#define __DBL_MIN__ 2.2250738585072014e-308
1795// MIPS64EL:#define __DECIMAL_DIG__ 36
1796// MIPS64EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1797// MIPS64EL:#define __FLT_DIG__ 6
1798// MIPS64EL:#define __FLT_EPSILON__ 1.19209290e-7F
1799// MIPS64EL:#define __FLT_EVAL_METHOD__ 0
1800// MIPS64EL:#define __FLT_HAS_DENORM__ 1
1801// MIPS64EL:#define __FLT_HAS_INFINITY__ 1
1802// MIPS64EL:#define __FLT_HAS_QUIET_NAN__ 1
1803// MIPS64EL:#define __FLT_MANT_DIG__ 24
1804// MIPS64EL:#define __FLT_MAX_10_EXP__ 38
1805// MIPS64EL:#define __FLT_MAX_EXP__ 128
1806// MIPS64EL:#define __FLT_MAX__ 3.40282347e+38F
1807// MIPS64EL:#define __FLT_MIN_10_EXP__ (-37)
1808// MIPS64EL:#define __FLT_MIN_EXP__ (-125)
1809// MIPS64EL:#define __FLT_MIN__ 1.17549435e-38F
1810// MIPS64EL:#define __FLT_RADIX__ 2
1811// MIPS64EL:#define __INT16_TYPE__ short
1812// MIPS64EL:#define __INT32_TYPE__ int
1813// MIPS64EL:#define __INT64_C_SUFFIX__ LL
1814// MIPS64EL:#define __INT64_TYPE__ long long int
1815// MIPS64EL:#define __INT8_TYPE__ char
1816// MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807LL
1817// MIPS64EL:#define __INTMAX_TYPE__ long long int
1818// MIPS64EL:#define __INTMAX_WIDTH__ 64
1819// MIPS64EL:#define __INTPTR_TYPE__ long int
1820// MIPS64EL:#define __INTPTR_WIDTH__ 64
1821// MIPS64EL:#define __INT_MAX__ 2147483647
1822// MIPS64EL:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1823// MIPS64EL:#define __LDBL_DIG__ 33
1824// MIPS64EL:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1825// MIPS64EL:#define __LDBL_HAS_DENORM__ 1
1826// MIPS64EL:#define __LDBL_HAS_INFINITY__ 1
1827// MIPS64EL:#define __LDBL_HAS_QUIET_NAN__ 1
1828// MIPS64EL:#define __LDBL_MANT_DIG__ 113
1829// MIPS64EL:#define __LDBL_MAX_10_EXP__ 4932
1830// MIPS64EL:#define __LDBL_MAX_EXP__ 16384
1831// MIPS64EL:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1832// MIPS64EL:#define __LDBL_MIN_10_EXP__ (-4931)
1833// MIPS64EL:#define __LDBL_MIN_EXP__ (-16381)
1834// MIPS64EL:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
Stephen Hines651f13c2014-04-23 16:59:28 -07001835// MIPS64EL:#define __LITTLE_ENDIAN__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001836// MIPS64EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1837// MIPS64EL:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001838// MIPS64EL:#define __LP64__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001839// MIPS64EL:#define __MIPSEL 1
1840// MIPS64EL:#define __MIPSEL__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001841// MIPS64EL:#define __POINTER_WIDTH__ 64
1842// MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1843// MIPS64EL:#define __PTRDIFF_TYPE__ long int
1844// MIPS64EL:#define __PTRDIFF_WIDTH__ 64
1845// MIPS64EL:#define __REGISTER_PREFIX__
1846// MIPS64EL:#define __SCHAR_MAX__ 127
1847// MIPS64EL:#define __SHRT_MAX__ 32767
1848// MIPS64EL:#define __SIG_ATOMIC_WIDTH__ 32
1849// MIPS64EL:#define __SIZEOF_DOUBLE__ 8
1850// MIPS64EL:#define __SIZEOF_FLOAT__ 4
1851// MIPS64EL:#define __SIZEOF_INT__ 4
1852// MIPS64EL:#define __SIZEOF_LONG_DOUBLE__ 16
1853// MIPS64EL:#define __SIZEOF_LONG_LONG__ 8
1854// MIPS64EL:#define __SIZEOF_LONG__ 8
1855// MIPS64EL:#define __SIZEOF_POINTER__ 8
1856// MIPS64EL:#define __SIZEOF_PTRDIFF_T__ 8
1857// MIPS64EL:#define __SIZEOF_SHORT__ 2
1858// MIPS64EL:#define __SIZEOF_SIZE_T__ 8
1859// MIPS64EL:#define __SIZEOF_WCHAR_T__ 4
1860// MIPS64EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001861// MIPS64EL:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyan7a521802012-04-06 08:37:24 +00001862// MIPS64EL:#define __SIZE_TYPE__ long unsigned int
1863// MIPS64EL:#define __SIZE_WIDTH__ 64
1864// MIPS64EL:#define __UINTMAX_TYPE__ long long unsigned int
1865// MIPS64EL:#define __USER_LABEL_PREFIX__ _
1866// MIPS64EL:#define __WCHAR_MAX__ 2147483647
1867// MIPS64EL:#define __WCHAR_TYPE__ int
1868// MIPS64EL:#define __WCHAR_WIDTH__ 32
1869// MIPS64EL:#define __WINT_TYPE__ int
1870// MIPS64EL:#define __WINT_WIDTH__ 32
1871// MIPS64EL:#define __clang__ 1
1872// MIPS64EL:#define __llvm__ 1
Stephen Hines651f13c2014-04-23 16:59:28 -07001873// MIPS64EL:#define __mips 64
Simon Atanasyan600a5132012-08-29 20:50:11 +00001874// MIPS64EL:#define __mips64 1
1875// MIPS64EL:#define __mips64__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001876// MIPS64EL:#define __mips__ 1
Simon Atanasyanddb2ad22013-10-18 13:13:53 +00001877// MIPS64EL:#define __mips_fpr 64
Simon Atanasyan7a521802012-04-06 08:37:24 +00001878// MIPS64EL:#define __mips_hard_float 1
1879// MIPS64EL:#define __mips_n64 1
1880// MIPS64EL:#define _mips 1
1881// MIPS64EL:#define mips 1
1882//
Stephen Hines651f13c2014-04-23 16:59:28 -07001883// Check MIPS arch macros
1884//
1885// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
1886// RUN: < /dev/null \
1887// RUN: | FileCheck -check-prefix MIPS-ARCH-DEF32 %s
1888//
1889// MIPS-ARCH-DEF32:#define _MIPS_ARCH "mips32r2"
1890// MIPS-ARCH-DEF32:#define _MIPS_ARCH_MIPS32R2 1
1891//
1892// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-nones \
1893// RUN: -target-cpu mips32 < /dev/null \
1894// RUN: | FileCheck -check-prefix MIPS-ARCH-32 %s
1895//
1896// MIPS-ARCH-32:#define _MIPS_ARCH "mips32"
1897// MIPS-ARCH-32:#define _MIPS_ARCH_MIPS32 1
1898//
1899// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
1900// RUN: -target-cpu mips32r2 < /dev/null \
1901// RUN: | FileCheck -check-prefix MIPS-ARCH-32R2 %s
1902//
1903// MIPS-ARCH-32R2:#define _MIPS_ARCH "mips32r2"
1904// MIPS-ARCH-32R2:#define _MIPS_ARCH_MIPS32R2 1
1905//
1906// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1907// RUN: < /dev/null \
1908// RUN: | FileCheck -check-prefix MIPS-ARCH-DEF64 %s
1909//
1910// MIPS-ARCH-DEF64:#define _MIPS_ARCH "mips64r2"
1911// MIPS-ARCH-DEF64:#define _MIPS_ARCH_MIPS64R2 1
1912//
1913// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1914// RUN: -target-cpu mips64 < /dev/null \
1915// RUN: | FileCheck -check-prefix MIPS-ARCH-64 %s
1916//
1917// MIPS-ARCH-64:#define _MIPS_ARCH "mips64"
1918// MIPS-ARCH-64:#define _MIPS_ARCH_MIPS64 1
1919//
1920// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1921// RUN: -target-cpu mips64r2 < /dev/null \
1922// RUN: | FileCheck -check-prefix MIPS-ARCH-64R2 %s
1923//
1924// MIPS-ARCH-64R2:#define _MIPS_ARCH "mips64r2"
1925// MIPS-ARCH-64R2:#define _MIPS_ARCH_MIPS64R2 1
1926//
Simon Atanasyanaba3f0f2012-04-06 17:51:49 +00001927// Check MIPS float ABI macros
1928//
1929// RUN: %clang_cc1 -E -dM -ffreestanding \
1930// RUN: -triple=mips-none-none < /dev/null \
1931// RUN: | FileCheck -check-prefix MIPS-FABI-HARD %s
1932// MIPS-FABI-HARD:#define __mips_hard_float 1
1933//
1934// RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \
1935// RUN: -triple=mips-none-none < /dev/null \
1936// RUN: | FileCheck -check-prefix MIPS-FABI-SOFT %s
1937// MIPS-FABI-SOFT:#define __mips_soft_float 1
1938//
1939// RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \
1940// RUN: -triple=mips-none-none < /dev/null \
1941// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE %s
Simon Atanasyan3dbcc882012-06-05 13:06:56 +00001942// MIPS-FABI-SINGLE:#define __mips_hard_float 1
Simon Atanasyanaba3f0f2012-04-06 17:51:49 +00001943// MIPS-FABI-SINGLE:#define __mips_single_float 1
1944//
Simon Atanasyand96e3152013-04-14 14:07:30 +00001945// RUN: %clang_cc1 -target-feature +soft-float -target-feature +single-float \
1946// RUN: -E -dM -ffreestanding -triple=mips-none-none < /dev/null \
1947// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE-SOFT %s
1948// MIPS-FABI-SINGLE-SOFT:#define __mips_single_float 1
1949// MIPS-FABI-SINGLE-SOFT:#define __mips_soft_float 1
1950//
Simon Atanasyan1176bcd2012-07-05 16:06:06 +00001951// Check MIPS features macros
1952//
1953// RUN: %clang_cc1 -target-feature +mips16 \
1954// RUN: -E -dM -triple=mips-none-none < /dev/null \
1955// RUN: | FileCheck -check-prefix MIPS16 %s
1956// MIPS16:#define __mips16 1
1957//
1958// RUN: %clang_cc1 -target-feature -mips16 \
1959// RUN: -E -dM -triple=mips-none-none < /dev/null \
1960// RUN: | FileCheck -check-prefix NOMIPS16 %s
1961// NOMIPS16-NOT:#define __mips16 1
1962//
Simon Atanasyan321ae792013-04-14 14:07:51 +00001963// RUN: %clang_cc1 -target-feature +micromips \
1964// RUN: -E -dM -triple=mips-none-none < /dev/null \
1965// RUN: | FileCheck -check-prefix MICROMIPS %s
1966// MICROMIPS:#define __mips_micromips 1
1967//
1968// RUN: %clang_cc1 -target-feature -micromips \
1969// RUN: -E -dM -triple=mips-none-none < /dev/null \
1970// RUN: | FileCheck -check-prefix NOMICROMIPS %s
1971// NOMICROMIPS-NOT:#define __mips_micromips 1
1972//
Simon Atanasyana1b62272012-07-05 20:16:22 +00001973// RUN: %clang_cc1 -target-feature +dsp \
1974// RUN: -E -dM -triple=mips-none-none < /dev/null \
1975// RUN: | FileCheck -check-prefix MIPS-DSP %s
1976// MIPS-DSP:#define __mips_dsp 1
1977// MIPS-DSP:#define __mips_dsp_rev 1
1978// MIPS-DSP-NOT:#define __mips_dspr2 1
1979//
1980// RUN: %clang_cc1 -target-feature +dspr2 \
1981// RUN: -E -dM -triple=mips-none-none < /dev/null \
1982// RUN: | FileCheck -check-prefix MIPS-DSPR2 %s
1983// MIPS-DSPR2:#define __mips_dsp 1
1984// MIPS-DSPR2:#define __mips_dsp_rev 2
1985// MIPS-DSPR2:#define __mips_dspr2 1
1986//
Jack Carterc613b672013-08-12 17:20:29 +00001987// RUN: %clang_cc1 -target-feature +msa \
1988// RUN: -E -dM -triple=mips-none-none < /dev/null \
1989// RUN: | FileCheck -check-prefix MIPS-MSA %s
1990// MIPS-MSA:#define __mips_msa 1
1991//
Simon Atanasyanfc12c4a2013-09-24 09:09:16 +00001992// RUN: %clang_cc1 -target-feature +nan2008 \
1993// RUN: -E -dM -triple=mips-none-none < /dev/null \
1994// RUN: | FileCheck -check-prefix MIPS-NAN2008 %s
1995// MIPS-NAN2008:#define __mips_nan2008 1
1996//
Simon Atanasyanddb2ad22013-10-18 13:13:53 +00001997// RUN: %clang_cc1 -target-feature -fp64 \
1998// RUN: -E -dM -triple=mips-none-none < /dev/null \
1999// RUN: | FileCheck -check-prefix MIPS32-MFP32 %s
2000// MIPS32-MFP32:#define _MIPS_FPSET 16
2001// MIPS32-MFP32:#define __mips_fpr 32
2002//
2003// RUN: %clang_cc1 -target-feature +fp64 \
2004// RUN: -E -dM -triple=mips-none-none < /dev/null \
2005// RUN: | FileCheck -check-prefix MIPS32-MFP64 %s
2006// MIPS32-MFP64:#define _MIPS_FPSET 32
2007// MIPS32-MFP64:#define __mips_fpr 64
2008//
2009// RUN: %clang_cc1 -target-feature +single-float \
2010// RUN: -E -dM -triple=mips-none-none < /dev/null \
2011// RUN: | FileCheck -check-prefix MIPS32-MFP32SF %s
2012// MIPS32-MFP32SF:#define _MIPS_FPSET 32
2013// MIPS32-MFP32SF:#define __mips_fpr 32
2014//
2015// RUN: %clang_cc1 -target-feature +fp64 \
2016// RUN: -E -dM -triple=mips64-none-none < /dev/null \
2017// RUN: | FileCheck -check-prefix MIPS64-MFP64 %s
2018// MIPS64-MFP64:#define _MIPS_FPSET 32
2019// MIPS64-MFP64:#define __mips_fpr 64
2020//
2021// RUN: %clang_cc1 -target-feature -fp64 -target-feature +single-float \
2022// RUN: -E -dM -triple=mips64-none-none < /dev/null \
2023// RUN: | FileCheck -check-prefix MIPS64-NOMFP64 %s
2024// MIPS64-NOMFP64:#define _MIPS_FPSET 32
2025// MIPS64-NOMFP64:#define __mips_fpr 32
2026//
Daniel Dunbara5728872009-12-15 20:14:24 +00002027// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00002028//
2029// MSP430:#define MSP430 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002030// MSP430-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002031// MSP430:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00002032// MSP430:#define __CHAR16_TYPE__ unsigned short
2033// MSP430:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002034// MSP430:#define __CHAR_BIT__ 8
2035// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2036// MSP430:#define __DBL_DIG__ 15
2037// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
2038// MSP430:#define __DBL_HAS_DENORM__ 1
2039// MSP430:#define __DBL_HAS_INFINITY__ 1
2040// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
2041// MSP430:#define __DBL_MANT_DIG__ 53
2042// MSP430:#define __DBL_MAX_10_EXP__ 308
2043// MSP430:#define __DBL_MAX_EXP__ 1024
2044// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
2045// MSP430:#define __DBL_MIN_10_EXP__ (-307)
2046// MSP430:#define __DBL_MIN_EXP__ (-1021)
2047// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
2048// MSP430:#define __DECIMAL_DIG__ 17
2049// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2050// MSP430:#define __FLT_DIG__ 6
2051// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
2052// MSP430:#define __FLT_EVAL_METHOD__ 0
2053// MSP430:#define __FLT_HAS_DENORM__ 1
2054// MSP430:#define __FLT_HAS_INFINITY__ 1
2055// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
2056// MSP430:#define __FLT_MANT_DIG__ 24
2057// MSP430:#define __FLT_MAX_10_EXP__ 38
2058// MSP430:#define __FLT_MAX_EXP__ 128
2059// MSP430:#define __FLT_MAX__ 3.40282347e+38F
2060// MSP430:#define __FLT_MIN_10_EXP__ (-37)
2061// MSP430:#define __FLT_MIN_EXP__ (-125)
2062// MSP430:#define __FLT_MIN__ 1.17549435e-38F
2063// MSP430:#define __FLT_RADIX__ 2
2064// MSP430:#define __INT16_TYPE__ short
Ken Dyckeef22ef2009-11-16 16:36:33 +00002065// MSP430:#define __INT32_C_SUFFIX__ L
Chris Lattnerdcdd2a02009-11-12 08:08:27 +00002066// MSP430:#define __INT32_TYPE__ long int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002067// MSP430:#define __INT8_TYPE__ char
Anton Korobeynikov18a295d2013-07-01 19:42:40 +00002068// MSP430:#define __INTMAX_MAX__ 9223372036854775807LL
2069// MSP430:#define __INTMAX_TYPE__ long long int
2070// MSP430:#define __INTMAX_WIDTH__ 64
2071// MSP430:#define __INTPTR_TYPE__ int
Ken Dyckd896e1a2009-11-18 20:05:48 +00002072// MSP430:#define __INTPTR_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +00002073// MSP430:#define __INT_MAX__ 32767
Eli Friedman75e8efe2012-11-10 00:20:38 +00002074// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002075// MSP430:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00002076// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002077// MSP430:#define __LDBL_HAS_DENORM__ 1
2078// MSP430:#define __LDBL_HAS_INFINITY__ 1
2079// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
2080// MSP430:#define __LDBL_MANT_DIG__ 53
2081// MSP430:#define __LDBL_MAX_10_EXP__ 308
2082// MSP430:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00002083// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002084// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
2085// MSP430:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00002086// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308L
Stephen Hines651f13c2014-04-23 16:59:28 -07002087// MSP430:#define __LITTLE_ENDIAN__ 1
Anton Korobeynikov79bff432010-01-14 21:36:52 +00002088// MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
Chris Lattnerbceaf862009-10-29 04:55:36 +00002089// MSP430:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002090// MSP430-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +00002091// MSP430:#define __MSP430__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00002092// MSP430:#define __POINTER_WIDTH__ 16
Ken Dyck8241d732009-11-19 13:18:59 +00002093// MSP430:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +00002094// MSP430:#define __PTRDIFF_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +00002095// MSP430:#define __SCHAR_MAX__ 127
2096// MSP430:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00002097// MSP430:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00002098// MSP430:#define __SIZEOF_DOUBLE__ 8
2099// MSP430:#define __SIZEOF_FLOAT__ 4
2100// MSP430:#define __SIZEOF_INT__ 2
2101// MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
2102// MSP430:#define __SIZEOF_LONG_LONG__ 8
2103// MSP430:#define __SIZEOF_LONG__ 4
2104// MSP430:#define __SIZEOF_POINTER__ 2
2105// MSP430:#define __SIZEOF_PTRDIFF_T__ 2
2106// MSP430:#define __SIZEOF_SHORT__ 2
2107// MSP430:#define __SIZEOF_SIZE_T__ 2
2108// MSP430:#define __SIZEOF_WCHAR_T__ 2
2109// MSP430:#define __SIZEOF_WINT_T__ 2
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002110// MSP430:#define __SIZE_MAX__ 65535U
Chris Lattnerbceaf862009-10-29 04:55:36 +00002111// MSP430:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00002112// MSP430:#define __SIZE_WIDTH__ 16
Anton Korobeynikov18a295d2013-07-01 19:42:40 +00002113// MSP430:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002114// MSP430:#define __USER_LABEL_PREFIX__ _
Chris Lattner91846462009-11-12 08:04:33 +00002115// MSP430:#define __WCHAR_MAX__ 32767
Chris Lattnerbceaf862009-10-29 04:55:36 +00002116// MSP430:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00002117// MSP430:#define __WCHAR_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +00002118// MSP430:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00002119// MSP430:#define __WINT_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +00002120// MSP430:#define __clang__ 1
2121//
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00002122// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s
2123//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002124// NVPTX32-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002125// NVPTX32:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00002126// NVPTX32:#define __CHAR16_TYPE__ unsigned short
2127// NVPTX32:#define __CHAR32_TYPE__ unsigned int
2128// NVPTX32:#define __CHAR_BIT__ 8
2129// NVPTX32:#define __CONSTANT_CFSTRINGS__ 1
2130// NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2131// NVPTX32:#define __DBL_DIG__ 15
2132// NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16
2133// NVPTX32:#define __DBL_HAS_DENORM__ 1
2134// NVPTX32:#define __DBL_HAS_INFINITY__ 1
2135// NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1
2136// NVPTX32:#define __DBL_MANT_DIG__ 53
2137// NVPTX32:#define __DBL_MAX_10_EXP__ 308
2138// NVPTX32:#define __DBL_MAX_EXP__ 1024
2139// NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308
2140// NVPTX32:#define __DBL_MIN_10_EXP__ (-307)
2141// NVPTX32:#define __DBL_MIN_EXP__ (-1021)
2142// NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308
2143// NVPTX32:#define __DECIMAL_DIG__ 17
2144// NVPTX32:#define __FINITE_MATH_ONLY__ 0
2145// NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2146// NVPTX32:#define __FLT_DIG__ 6
2147// NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F
2148// NVPTX32:#define __FLT_EVAL_METHOD__ 0
2149// NVPTX32:#define __FLT_HAS_DENORM__ 1
2150// NVPTX32:#define __FLT_HAS_INFINITY__ 1
2151// NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1
2152// NVPTX32:#define __FLT_MANT_DIG__ 24
2153// NVPTX32:#define __FLT_MAX_10_EXP__ 38
2154// NVPTX32:#define __FLT_MAX_EXP__ 128
2155// NVPTX32:#define __FLT_MAX__ 3.40282347e+38F
2156// NVPTX32:#define __FLT_MIN_10_EXP__ (-37)
2157// NVPTX32:#define __FLT_MIN_EXP__ (-125)
2158// NVPTX32:#define __FLT_MIN__ 1.17549435e-38F
2159// NVPTX32:#define __FLT_RADIX__ 2
2160// NVPTX32:#define __INT16_TYPE__ short
2161// NVPTX32:#define __INT32_TYPE__ int
2162// NVPTX32:#define __INT64_C_SUFFIX__ LL
2163// NVPTX32:#define __INT64_TYPE__ long long int
2164// NVPTX32:#define __INT8_TYPE__ char
2165// NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL
2166// NVPTX32:#define __INTMAX_TYPE__ long long int
2167// NVPTX32:#define __INTMAX_WIDTH__ 64
2168// NVPTX32:#define __INTPTR_TYPE__ unsigned int
2169// NVPTX32:#define __INTPTR_WIDTH__ 32
2170// NVPTX32:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00002171// NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00002172// NVPTX32:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00002173// NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00002174// NVPTX32:#define __LDBL_HAS_DENORM__ 1
2175// NVPTX32:#define __LDBL_HAS_INFINITY__ 1
2176// NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1
2177// NVPTX32:#define __LDBL_MANT_DIG__ 53
2178// NVPTX32:#define __LDBL_MAX_10_EXP__ 308
2179// NVPTX32:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00002180// NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00002181// NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
2182// NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00002183// NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308L
Stephen Hines651f13c2014-04-23 16:59:28 -07002184// NVPTX32:#define __LITTLE_ENDIAN__ 1
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00002185// NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL
2186// NVPTX32:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002187// NVPTX32-NOT:#define __LP64__
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00002188// NVPTX32:#define __NVPTX__ 1
2189// NVPTX32:#define __POINTER_WIDTH__ 32
2190// NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1
2191// NVPTX32:#define __PTRDIFF_TYPE__ unsigned int
2192// NVPTX32:#define __PTRDIFF_WIDTH__ 32
2193// NVPTX32:#define __PTX__ 1
2194// NVPTX32:#define __SCHAR_MAX__ 127
2195// NVPTX32:#define __SHRT_MAX__ 32767
2196// NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32
2197// NVPTX32:#define __SIZEOF_DOUBLE__ 8
2198// NVPTX32:#define __SIZEOF_FLOAT__ 4
2199// NVPTX32:#define __SIZEOF_INT__ 4
2200// NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8
2201// NVPTX32:#define __SIZEOF_LONG_LONG__ 8
2202// NVPTX32:#define __SIZEOF_LONG__ 8
2203// NVPTX32:#define __SIZEOF_POINTER__ 4
2204// NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4
2205// NVPTX32:#define __SIZEOF_SHORT__ 2
2206// NVPTX32:#define __SIZEOF_SIZE_T__ 4
2207// NVPTX32:#define __SIZEOF_WCHAR_T__ 4
2208// NVPTX32:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002209// NVPTX32:#define __SIZE_MAX__ 4294967295U
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00002210// NVPTX32:#define __SIZE_TYPE__ unsigned int
2211// NVPTX32:#define __SIZE_WIDTH__ 32
2212// NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int
2213// NVPTX32:#define __USER_LABEL_PREFIX__ _
2214// NVPTX32:#define __WCHAR_MAX__ 2147483647
2215// NVPTX32:#define __WCHAR_TYPE__ int
2216// NVPTX32:#define __WCHAR_WIDTH__ 32
2217// NVPTX32:#define __WINT_TYPE__ int
2218// NVPTX32:#define __WINT_WIDTH__ 32
2219//
2220// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -check-prefix NVPTX64 %s
2221//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002222// NVPTX64:#define _LP64 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002223// NVPTX64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00002224// NVPTX64:#define __CHAR16_TYPE__ unsigned short
2225// NVPTX64:#define __CHAR32_TYPE__ unsigned int
2226// NVPTX64:#define __CHAR_BIT__ 8
2227// NVPTX64:#define __CONSTANT_CFSTRINGS__ 1
2228// NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2229// NVPTX64:#define __DBL_DIG__ 15
2230// NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16
2231// NVPTX64:#define __DBL_HAS_DENORM__ 1
2232// NVPTX64:#define __DBL_HAS_INFINITY__ 1
2233// NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1
2234// NVPTX64:#define __DBL_MANT_DIG__ 53
2235// NVPTX64:#define __DBL_MAX_10_EXP__ 308
2236// NVPTX64:#define __DBL_MAX_EXP__ 1024
2237// NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308
2238// NVPTX64:#define __DBL_MIN_10_EXP__ (-307)
2239// NVPTX64:#define __DBL_MIN_EXP__ (-1021)
2240// NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308
2241// NVPTX64:#define __DECIMAL_DIG__ 17
2242// NVPTX64:#define __FINITE_MATH_ONLY__ 0
2243// NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2244// NVPTX64:#define __FLT_DIG__ 6
2245// NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F
2246// NVPTX64:#define __FLT_EVAL_METHOD__ 0
2247// NVPTX64:#define __FLT_HAS_DENORM__ 1
2248// NVPTX64:#define __FLT_HAS_INFINITY__ 1
2249// NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1
2250// NVPTX64:#define __FLT_MANT_DIG__ 24
2251// NVPTX64:#define __FLT_MAX_10_EXP__ 38
2252// NVPTX64:#define __FLT_MAX_EXP__ 128
2253// NVPTX64:#define __FLT_MAX__ 3.40282347e+38F
2254// NVPTX64:#define __FLT_MIN_10_EXP__ (-37)
2255// NVPTX64:#define __FLT_MIN_EXP__ (-125)
2256// NVPTX64:#define __FLT_MIN__ 1.17549435e-38F
2257// NVPTX64:#define __FLT_RADIX__ 2
2258// NVPTX64:#define __INT16_TYPE__ short
2259// NVPTX64:#define __INT32_TYPE__ int
2260// NVPTX64:#define __INT64_C_SUFFIX__ LL
2261// NVPTX64:#define __INT64_TYPE__ long long int
2262// NVPTX64:#define __INT8_TYPE__ char
2263// NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL
2264// NVPTX64:#define __INTMAX_TYPE__ long long int
2265// NVPTX64:#define __INTMAX_WIDTH__ 64
2266// NVPTX64:#define __INTPTR_TYPE__ long long unsigned int
2267// NVPTX64:#define __INTPTR_WIDTH__ 64
2268// NVPTX64:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00002269// NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00002270// NVPTX64:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00002271// NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00002272// NVPTX64:#define __LDBL_HAS_DENORM__ 1
2273// NVPTX64:#define __LDBL_HAS_INFINITY__ 1
2274// NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1
2275// NVPTX64:#define __LDBL_MANT_DIG__ 53
2276// NVPTX64:#define __LDBL_MAX_10_EXP__ 308
2277// NVPTX64:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00002278// NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00002279// NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
2280// NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00002281// NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308L
Stephen Hines651f13c2014-04-23 16:59:28 -07002282// NVPTX64:#define __LITTLE_ENDIAN__ 1
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00002283// NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL
2284// NVPTX64:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002285// NVPTX64:#define __LP64__ 1
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00002286// NVPTX64:#define __NVPTX__ 1
2287// NVPTX64:#define __POINTER_WIDTH__ 64
2288// NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1
2289// NVPTX64:#define __PTRDIFF_TYPE__ long long unsigned int
2290// NVPTX64:#define __PTRDIFF_WIDTH__ 64
2291// NVPTX64:#define __PTX__ 1
2292// NVPTX64:#define __SCHAR_MAX__ 127
2293// NVPTX64:#define __SHRT_MAX__ 32767
2294// NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32
2295// NVPTX64:#define __SIZEOF_DOUBLE__ 8
2296// NVPTX64:#define __SIZEOF_FLOAT__ 4
2297// NVPTX64:#define __SIZEOF_INT__ 4
2298// NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8
2299// NVPTX64:#define __SIZEOF_LONG_LONG__ 8
2300// NVPTX64:#define __SIZEOF_LONG__ 8
2301// NVPTX64:#define __SIZEOF_POINTER__ 8
2302// NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8
2303// NVPTX64:#define __SIZEOF_SHORT__ 2
2304// NVPTX64:#define __SIZEOF_SIZE_T__ 8
2305// NVPTX64:#define __SIZEOF_WCHAR_T__ 4
2306// NVPTX64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002307// NVPTX64:#define __SIZE_MAX__ 18446744073709551615UL
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00002308// NVPTX64:#define __SIZE_TYPE__ long long unsigned int
2309// NVPTX64:#define __SIZE_WIDTH__ 64
2310// NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int
2311// NVPTX64:#define __USER_LABEL_PREFIX__ _
2312// NVPTX64:#define __WCHAR_MAX__ 2147483647
2313// NVPTX64:#define __WCHAR_TYPE__ int
2314// NVPTX64:#define __WCHAR_WIDTH__ 32
2315// NVPTX64:#define __WINT_TYPE__ int
2316// NVPTX64:#define __WINT_WIDTH__ 32
2317//
Hal Finkel39d5fa12012-07-03 16:51:04 +00002318// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -check-prefix PPC603E %s
2319//
2320// PPC603E:#define _ARCH_603 1
2321// PPC603E:#define _ARCH_603E 1
2322// PPC603E:#define _ARCH_PPC 1
2323// PPC603E:#define _ARCH_PPCGR 1
2324// PPC603E:#define _BIG_ENDIAN 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002325// PPC603E-NOT:#define _LP64
Hal Finkel39d5fa12012-07-03 16:51:04 +00002326// PPC603E:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002327// PPC603E:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Hal Finkel39d5fa12012-07-03 16:51:04 +00002328// PPC603E:#define __CHAR16_TYPE__ unsigned short
2329// PPC603E:#define __CHAR32_TYPE__ unsigned int
2330// PPC603E:#define __CHAR_BIT__ 8
2331// PPC603E:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2332// PPC603E:#define __DBL_DIG__ 15
2333// PPC603E:#define __DBL_EPSILON__ 2.2204460492503131e-16
2334// PPC603E:#define __DBL_HAS_DENORM__ 1
2335// PPC603E:#define __DBL_HAS_INFINITY__ 1
2336// PPC603E:#define __DBL_HAS_QUIET_NAN__ 1
2337// PPC603E:#define __DBL_MANT_DIG__ 53
2338// PPC603E:#define __DBL_MAX_10_EXP__ 308
2339// PPC603E:#define __DBL_MAX_EXP__ 1024
2340// PPC603E:#define __DBL_MAX__ 1.7976931348623157e+308
2341// PPC603E:#define __DBL_MIN_10_EXP__ (-307)
2342// PPC603E:#define __DBL_MIN_EXP__ (-1021)
2343// PPC603E:#define __DBL_MIN__ 2.2250738585072014e-308
2344// PPC603E:#define __DECIMAL_DIG__ 33
2345// PPC603E:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2346// PPC603E:#define __FLT_DIG__ 6
2347// PPC603E:#define __FLT_EPSILON__ 1.19209290e-7F
2348// PPC603E:#define __FLT_EVAL_METHOD__ 0
2349// PPC603E:#define __FLT_HAS_DENORM__ 1
2350// PPC603E:#define __FLT_HAS_INFINITY__ 1
2351// PPC603E:#define __FLT_HAS_QUIET_NAN__ 1
2352// PPC603E:#define __FLT_MANT_DIG__ 24
2353// PPC603E:#define __FLT_MAX_10_EXP__ 38
2354// PPC603E:#define __FLT_MAX_EXP__ 128
2355// PPC603E:#define __FLT_MAX__ 3.40282347e+38F
2356// PPC603E:#define __FLT_MIN_10_EXP__ (-37)
2357// PPC603E:#define __FLT_MIN_EXP__ (-125)
2358// PPC603E:#define __FLT_MIN__ 1.17549435e-38F
2359// PPC603E:#define __FLT_RADIX__ 2
2360// PPC603E:#define __INT16_TYPE__ short
2361// PPC603E:#define __INT32_TYPE__ int
2362// PPC603E:#define __INT64_C_SUFFIX__ LL
2363// PPC603E:#define __INT64_TYPE__ long long int
2364// PPC603E:#define __INT8_TYPE__ char
2365// PPC603E:#define __INTMAX_MAX__ 9223372036854775807LL
2366// PPC603E:#define __INTMAX_TYPE__ long long int
2367// PPC603E:#define __INTMAX_WIDTH__ 64
2368// PPC603E:#define __INTPTR_TYPE__ long int
2369// PPC603E:#define __INTPTR_WIDTH__ 32
2370// PPC603E:#define __INT_MAX__ 2147483647
2371// PPC603E:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2372// PPC603E:#define __LDBL_DIG__ 31
2373// PPC603E:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2374// PPC603E:#define __LDBL_HAS_DENORM__ 1
2375// PPC603E:#define __LDBL_HAS_INFINITY__ 1
2376// PPC603E:#define __LDBL_HAS_QUIET_NAN__ 1
2377// PPC603E:#define __LDBL_MANT_DIG__ 106
2378// PPC603E:#define __LDBL_MAX_10_EXP__ 308
2379// PPC603E:#define __LDBL_MAX_EXP__ 1024
2380// PPC603E:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2381// PPC603E:#define __LDBL_MIN_10_EXP__ (-291)
2382// PPC603E:#define __LDBL_MIN_EXP__ (-968)
2383// PPC603E:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2384// PPC603E:#define __LONG_DOUBLE_128__ 1
2385// PPC603E:#define __LONG_LONG_MAX__ 9223372036854775807LL
2386// PPC603E:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002387// PPC603E-NOT:#define __LP64__
Hal Finkel39d5fa12012-07-03 16:51:04 +00002388// PPC603E:#define __NATURAL_ALIGNMENT__ 1
Hal Finkel39d5fa12012-07-03 16:51:04 +00002389// PPC603E:#define __POINTER_WIDTH__ 32
2390// PPC603E:#define __POWERPC__ 1
Chandler Carruthc6fa1152013-06-25 11:13:47 +00002391// PPC603E:#define __PPC__ 1
Hal Finkel39d5fa12012-07-03 16:51:04 +00002392// PPC603E:#define __PTRDIFF_TYPE__ long int
2393// PPC603E:#define __PTRDIFF_WIDTH__ 32
2394// PPC603E:#define __REGISTER_PREFIX__
2395// PPC603E:#define __SCHAR_MAX__ 127
2396// PPC603E:#define __SHRT_MAX__ 32767
2397// PPC603E:#define __SIG_ATOMIC_WIDTH__ 32
2398// PPC603E:#define __SIZEOF_DOUBLE__ 8
2399// PPC603E:#define __SIZEOF_FLOAT__ 4
2400// PPC603E:#define __SIZEOF_INT__ 4
2401// PPC603E:#define __SIZEOF_LONG_DOUBLE__ 16
2402// PPC603E:#define __SIZEOF_LONG_LONG__ 8
2403// PPC603E:#define __SIZEOF_LONG__ 4
2404// PPC603E:#define __SIZEOF_POINTER__ 4
2405// PPC603E:#define __SIZEOF_PTRDIFF_T__ 4
2406// PPC603E:#define __SIZEOF_SHORT__ 2
2407// PPC603E:#define __SIZEOF_SIZE_T__ 4
2408// PPC603E:#define __SIZEOF_WCHAR_T__ 4
2409// PPC603E:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002410// PPC603E:#define __SIZE_MAX__ 4294967295U
Hal Finkel39d5fa12012-07-03 16:51:04 +00002411// PPC603E:#define __SIZE_TYPE__ long unsigned int
2412// PPC603E:#define __SIZE_WIDTH__ 32
2413// PPC603E:#define __UINTMAX_TYPE__ long long unsigned int
2414// PPC603E:#define __USER_LABEL_PREFIX__ _
2415// PPC603E:#define __WCHAR_MAX__ 2147483647
2416// PPC603E:#define __WCHAR_TYPE__ int
2417// PPC603E:#define __WCHAR_WIDTH__ 32
2418// PPC603E:#define __WINT_TYPE__ int
2419// PPC603E:#define __WINT_WIDTH__ 32
2420// PPC603E:#define __powerpc__ 1
2421// PPC603E:#define __ppc__ 1
2422//
Hal Finkel02a84272012-06-11 22:35:19 +00002423// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00002424//
2425// PPC64:#define _ARCH_PPC 1
2426// PPC64:#define _ARCH_PPC64 1
Hal Finkel39d5fa12012-07-03 16:51:04 +00002427// PPC64:#define _ARCH_PPCGR 1
2428// PPC64:#define _ARCH_PPCSQ 1
2429// PPC64:#define _ARCH_PWR4 1
2430// PPC64:#define _ARCH_PWR5 1
2431// PPC64:#define _ARCH_PWR6 1
Hal Finkel02a84272012-06-11 22:35:19 +00002432// PPC64:#define _ARCH_PWR7 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00002433// PPC64:#define _BIG_ENDIAN 1
2434// PPC64:#define _LP64 1
2435// PPC64:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002436// PPC64:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00002437// PPC64:#define __CHAR16_TYPE__ unsigned short
2438// PPC64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002439// PPC64:#define __CHAR_BIT__ 8
2440// PPC64:#define __CHAR_UNSIGNED__ 1
2441// PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2442// PPC64:#define __DBL_DIG__ 15
2443// PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
2444// PPC64:#define __DBL_HAS_DENORM__ 1
2445// PPC64:#define __DBL_HAS_INFINITY__ 1
2446// PPC64:#define __DBL_HAS_QUIET_NAN__ 1
2447// PPC64:#define __DBL_MANT_DIG__ 53
2448// PPC64:#define __DBL_MAX_10_EXP__ 308
2449// PPC64:#define __DBL_MAX_EXP__ 1024
2450// PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
2451// PPC64:#define __DBL_MIN_10_EXP__ (-307)
2452// PPC64:#define __DBL_MIN_EXP__ (-1021)
2453// PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002454// PPC64:#define __DECIMAL_DIG__ 33
Chris Lattnerbceaf862009-10-29 04:55:36 +00002455// PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2456// PPC64:#define __FLT_DIG__ 6
2457// PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
2458// PPC64:#define __FLT_EVAL_METHOD__ 0
2459// PPC64:#define __FLT_HAS_DENORM__ 1
2460// PPC64:#define __FLT_HAS_INFINITY__ 1
2461// PPC64:#define __FLT_HAS_QUIET_NAN__ 1
2462// PPC64:#define __FLT_MANT_DIG__ 24
2463// PPC64:#define __FLT_MAX_10_EXP__ 38
2464// PPC64:#define __FLT_MAX_EXP__ 128
2465// PPC64:#define __FLT_MAX__ 3.40282347e+38F
2466// PPC64:#define __FLT_MIN_10_EXP__ (-37)
2467// PPC64:#define __FLT_MIN_EXP__ (-125)
2468// PPC64:#define __FLT_MIN__ 1.17549435e-38F
2469// PPC64:#define __FLT_RADIX__ 2
2470// PPC64:#define __INT16_TYPE__ short
2471// PPC64:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00002472// PPC64:#define __INT64_C_SUFFIX__ L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002473// PPC64:#define __INT64_TYPE__ long int
2474// PPC64:#define __INT8_TYPE__ char
2475// PPC64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck8241d732009-11-19 13:18:59 +00002476// PPC64:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00002477// PPC64:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00002478// PPC64:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00002479// PPC64:#define __INTPTR_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00002480// PPC64:#define __INT_MAX__ 2147483647
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002481// PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2482// PPC64:#define __LDBL_DIG__ 31
2483// PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002484// PPC64:#define __LDBL_HAS_DENORM__ 1
2485// PPC64:#define __LDBL_HAS_INFINITY__ 1
2486// PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002487// PPC64:#define __LDBL_MANT_DIG__ 106
Chris Lattnerbceaf862009-10-29 04:55:36 +00002488// PPC64:#define __LDBL_MAX_10_EXP__ 308
2489// PPC64:#define __LDBL_MAX_EXP__ 1024
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002490// PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2491// PPC64:#define __LDBL_MIN_10_EXP__ (-291)
2492// PPC64:#define __LDBL_MIN_EXP__ (-968)
2493// PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002494// PPC64:#define __LONG_DOUBLE_128__ 1
2495// PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
2496// PPC64:#define __LONG_MAX__ 9223372036854775807L
2497// PPC64:#define __LP64__ 1
2498// PPC64:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00002499// PPC64:#define __POINTER_WIDTH__ 64
2500// PPC64:#define __POWERPC__ 1
Chandler Carruthc6fa1152013-06-25 11:13:47 +00002501// PPC64:#define __PPC64__ 1
2502// PPC64:#define __PPC__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00002503// PPC64:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00002504// PPC64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00002505// PPC64:#define __REGISTER_PREFIX__
2506// PPC64:#define __SCHAR_MAX__ 127
2507// PPC64:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00002508// PPC64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00002509// PPC64:#define __SIZEOF_DOUBLE__ 8
2510// PPC64:#define __SIZEOF_FLOAT__ 4
2511// PPC64:#define __SIZEOF_INT__ 4
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002512// PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohmancfeac342010-05-28 00:27:15 +00002513// PPC64:#define __SIZEOF_LONG_LONG__ 8
2514// PPC64:#define __SIZEOF_LONG__ 8
2515// PPC64:#define __SIZEOF_POINTER__ 8
2516// PPC64:#define __SIZEOF_PTRDIFF_T__ 8
2517// PPC64:#define __SIZEOF_SHORT__ 2
2518// PPC64:#define __SIZEOF_SIZE_T__ 8
2519// PPC64:#define __SIZEOF_WCHAR_T__ 4
2520// PPC64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002521// PPC64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnerbceaf862009-10-29 04:55:36 +00002522// PPC64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00002523// PPC64:#define __SIZE_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00002524// PPC64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002525// PPC64:#define __USER_LABEL_PREFIX__ _
2526// PPC64:#define __WCHAR_MAX__ 2147483647
2527// PPC64:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00002528// PPC64:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002529// PPC64:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00002530// PPC64:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002531// PPC64:#define __ppc64__ 1
2532// PPC64:#define __ppc__ 1
2533//
Bill Schmidtea7fb0c2013-07-26 01:36:11 +00002534// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64LE %s
2535//
2536// PPC64LE:#define _ARCH_PPC 1
2537// PPC64LE:#define _ARCH_PPC64 1
2538// PPC64LE:#define _ARCH_PPCGR 1
2539// PPC64LE:#define _ARCH_PPCSQ 1
2540// PPC64LE:#define _ARCH_PWR4 1
2541// PPC64LE:#define _ARCH_PWR5 1
2542// PPC64LE:#define _ARCH_PWR5X 1
2543// PPC64LE:#define _ARCH_PWR6 1
2544// PPC64LE:#define _ARCH_PWR6X 1
2545// PPC64LE:#define _ARCH_PWR7 1
Stephen Hines651f13c2014-04-23 16:59:28 -07002546// PPC64LE:#define _CALL_ELF 2
Bill Schmidtea7fb0c2013-07-26 01:36:11 +00002547// PPC64LE:#define _LITTLE_ENDIAN 1
2548// PPC64LE:#define _LP64 1
2549// PPC64LE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
2550// PPC64LE:#define __CHAR16_TYPE__ unsigned short
2551// PPC64LE:#define __CHAR32_TYPE__ unsigned int
2552// PPC64LE:#define __CHAR_BIT__ 8
2553// PPC64LE:#define __CHAR_UNSIGNED__ 1
2554// PPC64LE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2555// PPC64LE:#define __DBL_DIG__ 15
2556// PPC64LE:#define __DBL_EPSILON__ 2.2204460492503131e-16
2557// PPC64LE:#define __DBL_HAS_DENORM__ 1
2558// PPC64LE:#define __DBL_HAS_INFINITY__ 1
2559// PPC64LE:#define __DBL_HAS_QUIET_NAN__ 1
2560// PPC64LE:#define __DBL_MANT_DIG__ 53
2561// PPC64LE:#define __DBL_MAX_10_EXP__ 308
2562// PPC64LE:#define __DBL_MAX_EXP__ 1024
2563// PPC64LE:#define __DBL_MAX__ 1.7976931348623157e+308
2564// PPC64LE:#define __DBL_MIN_10_EXP__ (-307)
2565// PPC64LE:#define __DBL_MIN_EXP__ (-1021)
2566// PPC64LE:#define __DBL_MIN__ 2.2250738585072014e-308
2567// PPC64LE:#define __DECIMAL_DIG__ 33
2568// PPC64LE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2569// PPC64LE:#define __FLT_DIG__ 6
2570// PPC64LE:#define __FLT_EPSILON__ 1.19209290e-7F
2571// PPC64LE:#define __FLT_EVAL_METHOD__ 0
2572// PPC64LE:#define __FLT_HAS_DENORM__ 1
2573// PPC64LE:#define __FLT_HAS_INFINITY__ 1
2574// PPC64LE:#define __FLT_HAS_QUIET_NAN__ 1
2575// PPC64LE:#define __FLT_MANT_DIG__ 24
2576// PPC64LE:#define __FLT_MAX_10_EXP__ 38
2577// PPC64LE:#define __FLT_MAX_EXP__ 128
2578// PPC64LE:#define __FLT_MAX__ 3.40282347e+38F
2579// PPC64LE:#define __FLT_MIN_10_EXP__ (-37)
2580// PPC64LE:#define __FLT_MIN_EXP__ (-125)
2581// PPC64LE:#define __FLT_MIN__ 1.17549435e-38F
2582// PPC64LE:#define __FLT_RADIX__ 2
2583// PPC64LE:#define __INT16_TYPE__ short
2584// PPC64LE:#define __INT32_TYPE__ int
2585// PPC64LE:#define __INT64_C_SUFFIX__ L
2586// PPC64LE:#define __INT64_TYPE__ long int
2587// PPC64LE:#define __INT8_TYPE__ char
2588// PPC64LE:#define __INTMAX_MAX__ 9223372036854775807L
2589// PPC64LE:#define __INTMAX_TYPE__ long int
2590// PPC64LE:#define __INTMAX_WIDTH__ 64
2591// PPC64LE:#define __INTPTR_TYPE__ long int
2592// PPC64LE:#define __INTPTR_WIDTH__ 64
2593// PPC64LE:#define __INT_MAX__ 2147483647
2594// PPC64LE:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2595// PPC64LE:#define __LDBL_DIG__ 31
2596// PPC64LE:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2597// PPC64LE:#define __LDBL_HAS_DENORM__ 1
2598// PPC64LE:#define __LDBL_HAS_INFINITY__ 1
2599// PPC64LE:#define __LDBL_HAS_QUIET_NAN__ 1
2600// PPC64LE:#define __LDBL_MANT_DIG__ 106
2601// PPC64LE:#define __LDBL_MAX_10_EXP__ 308
2602// PPC64LE:#define __LDBL_MAX_EXP__ 1024
2603// PPC64LE:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2604// PPC64LE:#define __LDBL_MIN_10_EXP__ (-291)
2605// PPC64LE:#define __LDBL_MIN_EXP__ (-968)
2606// PPC64LE:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2607// PPC64LE:#define __LITTLE_ENDIAN__ 1
2608// PPC64LE:#define __LONG_DOUBLE_128__ 1
2609// PPC64LE:#define __LONG_LONG_MAX__ 9223372036854775807LL
2610// PPC64LE:#define __LONG_MAX__ 9223372036854775807L
2611// PPC64LE:#define __LP64__ 1
2612// PPC64LE:#define __NATURAL_ALIGNMENT__ 1
2613// PPC64LE:#define __POINTER_WIDTH__ 64
2614// PPC64LE:#define __POWERPC__ 1
2615// PPC64LE:#define __PPC64__ 1
2616// PPC64LE:#define __PPC__ 1
2617// PPC64LE:#define __PTRDIFF_TYPE__ long int
2618// PPC64LE:#define __PTRDIFF_WIDTH__ 64
2619// PPC64LE:#define __REGISTER_PREFIX__
2620// PPC64LE:#define __SCHAR_MAX__ 127
2621// PPC64LE:#define __SHRT_MAX__ 32767
2622// PPC64LE:#define __SIG_ATOMIC_WIDTH__ 32
2623// PPC64LE:#define __SIZEOF_DOUBLE__ 8
2624// PPC64LE:#define __SIZEOF_FLOAT__ 4
2625// PPC64LE:#define __SIZEOF_INT__ 4
2626// PPC64LE:#define __SIZEOF_LONG_DOUBLE__ 16
2627// PPC64LE:#define __SIZEOF_LONG_LONG__ 8
2628// PPC64LE:#define __SIZEOF_LONG__ 8
2629// PPC64LE:#define __SIZEOF_POINTER__ 8
2630// PPC64LE:#define __SIZEOF_PTRDIFF_T__ 8
2631// PPC64LE:#define __SIZEOF_SHORT__ 2
2632// PPC64LE:#define __SIZEOF_SIZE_T__ 8
2633// PPC64LE:#define __SIZEOF_WCHAR_T__ 4
2634// PPC64LE:#define __SIZEOF_WINT_T__ 4
2635// PPC64LE:#define __SIZE_MAX__ 18446744073709551615UL
2636// PPC64LE:#define __SIZE_TYPE__ long unsigned int
2637// PPC64LE:#define __SIZE_WIDTH__ 64
2638// PPC64LE:#define __UINTMAX_TYPE__ long unsigned int
2639// PPC64LE:#define __USER_LABEL_PREFIX__ _
2640// PPC64LE:#define __WCHAR_MAX__ 2147483647
2641// PPC64LE:#define __WCHAR_TYPE__ int
2642// PPC64LE:#define __WCHAR_WIDTH__ 32
2643// PPC64LE:#define __WINT_TYPE__ int
2644// PPC64LE:#define __WINT_WIDTH__ 32
2645// PPC64LE:#define __ppc64__ 1
2646// PPC64LE:#define __ppc__ 1
2647//
Hal Finkel5ccd3d02013-02-01 05:53:33 +00002648// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu a2q -fno-signed-char < /dev/null | FileCheck -check-prefix PPCA2Q %s
2649//
2650// PPCA2Q:#define _ARCH_A2 1
2651// PPCA2Q:#define _ARCH_A2Q 1
2652// PPCA2Q:#define _ARCH_PPC 1
2653// PPCA2Q:#define _ARCH_PPC64 1
2654// PPCA2Q:#define _ARCH_QP 1
2655//
2656// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-bgq-linux -fno-signed-char < /dev/null | FileCheck -check-prefix PPCBGQ %s
2657//
2658// PPCBGQ:#define __THW_BLUEGENE__ 1
2659// PPCBGQ:#define __TOS_BGQ__ 1
2660// PPCBGQ:#define __bg__ 1
2661// PPCBGQ:#define __bgq__ 1
2662//
Bill Schmidt2821e182013-02-01 20:23:10 +00002663// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu 630 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC630 %s
2664//
2665// PPC630:#define _ARCH_630 1
2666// PPC630:#define _ARCH_PPC 1
2667// PPC630:#define _ARCH_PPC64 1
2668// PPC630:#define _ARCH_PPCGR 1
2669//
2670// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR3 %s
2671//
2672// PPCPWR3:#define _ARCH_PPC 1
2673// PPCPWR3:#define _ARCH_PPC64 1
2674// PPCPWR3:#define _ARCH_PPCGR 1
2675//
2676// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER3 %s
2677//
2678// PPCPOWER3:#define _ARCH_PPC 1
2679// PPCPOWER3:#define _ARCH_PPC64 1
2680// PPCPOWER3:#define _ARCH_PPCGR 1
2681//
2682// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR4 %s
2683//
2684// PPCPWR4:#define _ARCH_PPC 1
2685// PPCPWR4:#define _ARCH_PPC64 1
2686// PPCPWR4:#define _ARCH_PPCGR 1
2687// PPCPWR4:#define _ARCH_PPCSQ 1
2688// PPCPWR4:#define _ARCH_PWR4 1
2689//
2690// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER4 %s
2691//
2692// PPCPOWER4:#define _ARCH_PPC 1
2693// PPCPOWER4:#define _ARCH_PPC64 1
2694// PPCPOWER4:#define _ARCH_PPCGR 1
2695// PPCPOWER4:#define _ARCH_PPCSQ 1
2696// PPCPOWER4:#define _ARCH_PWR4 1
2697//
2698// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5 %s
2699//
2700// PPCPWR5:#define _ARCH_PPC 1
2701// PPCPWR5:#define _ARCH_PPC64 1
2702// PPCPWR5:#define _ARCH_PPCGR 1
2703// PPCPWR5:#define _ARCH_PPCSQ 1
2704// PPCPWR5:#define _ARCH_PWR4 1
2705// PPCPWR5:#define _ARCH_PWR5 1
2706//
2707// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5 %s
2708//
2709// PPCPOWER5:#define _ARCH_PPC 1
2710// PPCPOWER5:#define _ARCH_PPC64 1
2711// PPCPOWER5:#define _ARCH_PPCGR 1
2712// PPCPOWER5:#define _ARCH_PPCSQ 1
2713// PPCPOWER5:#define _ARCH_PWR4 1
2714// PPCPOWER5:#define _ARCH_PWR5 1
2715//
2716// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5X %s
2717//
2718// PPCPWR5X:#define _ARCH_PPC 1
2719// PPCPWR5X:#define _ARCH_PPC64 1
2720// PPCPWR5X:#define _ARCH_PPCGR 1
2721// PPCPWR5X:#define _ARCH_PPCSQ 1
2722// PPCPWR5X:#define _ARCH_PWR4 1
2723// PPCPWR5X:#define _ARCH_PWR5 1
2724// PPCPWR5X:#define _ARCH_PWR5X 1
2725//
2726// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5X %s
2727//
2728// PPCPOWER5X:#define _ARCH_PPC 1
2729// PPCPOWER5X:#define _ARCH_PPC64 1
2730// PPCPOWER5X:#define _ARCH_PPCGR 1
2731// PPCPOWER5X:#define _ARCH_PPCSQ 1
2732// PPCPOWER5X:#define _ARCH_PWR4 1
2733// PPCPOWER5X:#define _ARCH_PWR5 1
2734// PPCPOWER5X:#define _ARCH_PWR5X 1
2735//
2736// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6 %s
2737//
2738// PPCPWR6:#define _ARCH_PPC 1
2739// PPCPWR6:#define _ARCH_PPC64 1
2740// PPCPWR6:#define _ARCH_PPCGR 1
2741// PPCPWR6:#define _ARCH_PPCSQ 1
2742// PPCPWR6:#define _ARCH_PWR4 1
2743// PPCPWR6:#define _ARCH_PWR5 1
2744// PPCPWR6:#define _ARCH_PWR5X 1
2745// PPCPWR6:#define _ARCH_PWR6 1
2746//
2747// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6 %s
2748//
2749// PPCPOWER6:#define _ARCH_PPC 1
2750// PPCPOWER6:#define _ARCH_PPC64 1
2751// PPCPOWER6:#define _ARCH_PPCGR 1
2752// PPCPOWER6:#define _ARCH_PPCSQ 1
2753// PPCPOWER6:#define _ARCH_PWR4 1
2754// PPCPOWER6:#define _ARCH_PWR5 1
2755// PPCPOWER6:#define _ARCH_PWR5X 1
2756// PPCPOWER6:#define _ARCH_PWR6 1
2757//
2758// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6X %s
2759//
2760// PPCPWR6X:#define _ARCH_PPC 1
2761// PPCPWR6X:#define _ARCH_PPC64 1
2762// PPCPWR6X:#define _ARCH_PPCGR 1
2763// PPCPWR6X:#define _ARCH_PPCSQ 1
2764// PPCPWR6X:#define _ARCH_PWR4 1
2765// PPCPWR6X:#define _ARCH_PWR5 1
2766// PPCPWR6X:#define _ARCH_PWR5X 1
2767// PPCPWR6X:#define _ARCH_PWR6 1
2768// PPCPWR6X:#define _ARCH_PWR6X 1
2769//
2770// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6X %s
2771//
2772// PPCPOWER6X:#define _ARCH_PPC 1
2773// PPCPOWER6X:#define _ARCH_PPC64 1
2774// PPCPOWER6X:#define _ARCH_PPCGR 1
2775// PPCPOWER6X:#define _ARCH_PPCSQ 1
2776// PPCPOWER6X:#define _ARCH_PWR4 1
2777// PPCPOWER6X:#define _ARCH_PWR5 1
2778// PPCPOWER6X:#define _ARCH_PWR5X 1
2779// PPCPOWER6X:#define _ARCH_PWR6 1
2780// PPCPOWER6X:#define _ARCH_PWR6X 1
2781//
2782// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR7 %s
2783//
2784// PPCPWR7:#define _ARCH_PPC 1
2785// PPCPWR7:#define _ARCH_PPC64 1
2786// PPCPWR7:#define _ARCH_PPCGR 1
2787// PPCPWR7:#define _ARCH_PPCSQ 1
2788// PPCPWR7:#define _ARCH_PWR4 1
2789// PPCPWR7:#define _ARCH_PWR5 1
2790// PPCPWR7:#define _ARCH_PWR5X 1
2791// PPCPWR7:#define _ARCH_PWR6 1
2792// PPCPWR7:#define _ARCH_PWR6X 1
2793// PPCPWR7:#define _ARCH_PWR7 1
2794//
2795// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER7 %s
2796//
2797// PPCPOWER7:#define _ARCH_PPC 1
2798// PPCPOWER7:#define _ARCH_PPC64 1
2799// PPCPOWER7:#define _ARCH_PPCGR 1
2800// PPCPOWER7:#define _ARCH_PPCSQ 1
2801// PPCPOWER7:#define _ARCH_PWR4 1
2802// PPCPOWER7:#define _ARCH_PWR5 1
2803// PPCPOWER7:#define _ARCH_PWR5X 1
2804// PPCPOWER7:#define _ARCH_PWR6 1
2805// PPCPOWER7:#define _ARCH_PWR6X 1
2806// PPCPOWER7:#define _ARCH_PWR7 1
2807//
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002808// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
2809//
2810// PPC64-LINUX:#define _ARCH_PPC 1
2811// PPC64-LINUX:#define _ARCH_PPC64 1
2812// PPC64-LINUX:#define _BIG_ENDIAN 1
2813// PPC64-LINUX:#define _LP64 1
2814// PPC64-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002815// PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002816// PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
2817// PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
2818// PPC64-LINUX:#define __CHAR_BIT__ 8
2819// PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
2820// PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2821// PPC64-LINUX:#define __DBL_DIG__ 15
2822// PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2823// PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
2824// PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
2825// PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2826// PPC64-LINUX:#define __DBL_MANT_DIG__ 53
2827// PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
2828// PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
2829// PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2830// PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2831// PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2832// PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2833// PPC64-LINUX:#define __DECIMAL_DIG__ 33
2834// PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2835// PPC64-LINUX:#define __FLT_DIG__ 6
2836// PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2837// PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
2838// PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
2839// PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
2840// PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2841// PPC64-LINUX:#define __FLT_MANT_DIG__ 24
2842// PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
2843// PPC64-LINUX:#define __FLT_MAX_EXP__ 128
2844// PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2845// PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2846// PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
2847// PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2848// PPC64-LINUX:#define __FLT_RADIX__ 2
2849// PPC64-LINUX:#define __INT16_TYPE__ short
2850// PPC64-LINUX:#define __INT32_TYPE__ int
2851// PPC64-LINUX:#define __INT64_C_SUFFIX__ L
2852// PPC64-LINUX:#define __INT64_TYPE__ long int
2853// PPC64-LINUX:#define __INT8_TYPE__ char
2854// PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2855// PPC64-LINUX:#define __INTMAX_TYPE__ long int
2856// PPC64-LINUX:#define __INTMAX_WIDTH__ 64
2857// PPC64-LINUX:#define __INTPTR_TYPE__ long int
2858// PPC64-LINUX:#define __INTPTR_WIDTH__ 64
2859// PPC64-LINUX:#define __INT_MAX__ 2147483647
2860// PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2861// PPC64-LINUX:#define __LDBL_DIG__ 31
2862// PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2863// PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
2864// PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2865// PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2866// PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
2867// PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
2868// PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
2869// PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2870// PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2871// PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
2872// PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2873// PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
2874// PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2875// PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2876// PPC64-LINUX:#define __LP64__ 1
2877// PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002878// PPC64-LINUX:#define __POINTER_WIDTH__ 64
2879// PPC64-LINUX:#define __POWERPC__ 1
Chandler Carruthc6fa1152013-06-25 11:13:47 +00002880// PPC64-LINUX:#define __PPC64__ 1
2881// PPC64-LINUX:#define __PPC__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002882// PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
2883// PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
2884// PPC64-LINUX:#define __REGISTER_PREFIX__
2885// PPC64-LINUX:#define __SCHAR_MAX__ 127
2886// PPC64-LINUX:#define __SHRT_MAX__ 32767
2887// PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2888// PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
2889// PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
2890// PPC64-LINUX:#define __SIZEOF_INT__ 4
2891// PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2892// PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2893// PPC64-LINUX:#define __SIZEOF_LONG__ 8
2894// PPC64-LINUX:#define __SIZEOF_POINTER__ 8
2895// PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2896// PPC64-LINUX:#define __SIZEOF_SHORT__ 2
2897// PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
2898// PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2899// PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002900// PPC64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002901// PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
2902// PPC64-LINUX:#define __SIZE_WIDTH__ 64
2903// PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2904// PPC64-LINUX:#define __USER_LABEL_PREFIX__
2905// PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
2906// PPC64-LINUX:#define __WCHAR_TYPE__ int
2907// PPC64-LINUX:#define __WCHAR_WIDTH__ 32
2908// PPC64-LINUX:#define __WINT_TYPE__ unsigned int
2909// PPC64-LINUX:#define __WINT_UNSIGNED__ 1
2910// PPC64-LINUX:#define __WINT_WIDTH__ 32
2911// PPC64-LINUX:#define __powerpc64__ 1
2912// PPC64-LINUX:#define __powerpc__ 1
2913// PPC64-LINUX:#define __ppc64__ 1
2914// PPC64-LINUX:#define __ppc__ 1
2915//
Daniel Dunbara5728872009-12-15 20:14:24 +00002916// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix PPC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00002917//
2918// PPC:#define _ARCH_PPC 1
2919// PPC:#define _BIG_ENDIAN 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002920// PPC-NOT:#define _LP64
Chris Lattnerbceaf862009-10-29 04:55:36 +00002921// PPC:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002922// PPC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00002923// PPC:#define __CHAR16_TYPE__ unsigned short
2924// PPC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002925// PPC:#define __CHAR_BIT__ 8
2926// PPC:#define __CHAR_UNSIGNED__ 1
2927// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2928// PPC:#define __DBL_DIG__ 15
2929// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2930// PPC:#define __DBL_HAS_DENORM__ 1
2931// PPC:#define __DBL_HAS_INFINITY__ 1
2932// PPC:#define __DBL_HAS_QUIET_NAN__ 1
2933// PPC:#define __DBL_MANT_DIG__ 53
2934// PPC:#define __DBL_MAX_10_EXP__ 308
2935// PPC:#define __DBL_MAX_EXP__ 1024
2936// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
2937// PPC:#define __DBL_MIN_10_EXP__ (-307)
2938// PPC:#define __DBL_MIN_EXP__ (-1021)
2939// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002940// PPC:#define __DECIMAL_DIG__ 33
Chris Lattnerbceaf862009-10-29 04:55:36 +00002941// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2942// PPC:#define __FLT_DIG__ 6
2943// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
2944// PPC:#define __FLT_EVAL_METHOD__ 0
2945// PPC:#define __FLT_HAS_DENORM__ 1
2946// PPC:#define __FLT_HAS_INFINITY__ 1
2947// PPC:#define __FLT_HAS_QUIET_NAN__ 1
2948// PPC:#define __FLT_MANT_DIG__ 24
2949// PPC:#define __FLT_MAX_10_EXP__ 38
2950// PPC:#define __FLT_MAX_EXP__ 128
2951// PPC:#define __FLT_MAX__ 3.40282347e+38F
2952// PPC:#define __FLT_MIN_10_EXP__ (-37)
2953// PPC:#define __FLT_MIN_EXP__ (-125)
2954// PPC:#define __FLT_MIN__ 1.17549435e-38F
2955// PPC:#define __FLT_RADIX__ 2
2956// PPC:#define __INT16_TYPE__ short
2957// PPC:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00002958// PPC:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +00002959// PPC:#define __INT64_TYPE__ long long int
2960// PPC:#define __INT8_TYPE__ char
2961// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +00002962// PPC:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +00002963// PPC:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00002964// PPC:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00002965// PPC:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002966// PPC:#define __INT_MAX__ 2147483647
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002967// PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2968// PPC:#define __LDBL_DIG__ 31
2969// PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002970// PPC:#define __LDBL_HAS_DENORM__ 1
2971// PPC:#define __LDBL_HAS_INFINITY__ 1
2972// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002973// PPC:#define __LDBL_MANT_DIG__ 106
Chris Lattnerbceaf862009-10-29 04:55:36 +00002974// PPC:#define __LDBL_MAX_10_EXP__ 308
2975// PPC:#define __LDBL_MAX_EXP__ 1024
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002976// PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2977// PPC:#define __LDBL_MIN_10_EXP__ (-291)
2978// PPC:#define __LDBL_MIN_EXP__ (-968)
2979// PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002980// PPC:#define __LONG_DOUBLE_128__ 1
2981// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2982// PPC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002983// PPC-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +00002984// PPC:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00002985// PPC:#define __POINTER_WIDTH__ 32
2986// PPC:#define __POWERPC__ 1
Chandler Carruthc6fa1152013-06-25 11:13:47 +00002987// PPC:#define __PPC__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00002988// PPC:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00002989// PPC:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002990// PPC:#define __REGISTER_PREFIX__
2991// PPC:#define __SCHAR_MAX__ 127
2992// PPC:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00002993// PPC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00002994// PPC:#define __SIZEOF_DOUBLE__ 8
2995// PPC:#define __SIZEOF_FLOAT__ 4
2996// PPC:#define __SIZEOF_INT__ 4
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002997// PPC:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohmancfeac342010-05-28 00:27:15 +00002998// PPC:#define __SIZEOF_LONG_LONG__ 8
2999// PPC:#define __SIZEOF_LONG__ 4
3000// PPC:#define __SIZEOF_POINTER__ 4
3001// PPC:#define __SIZEOF_PTRDIFF_T__ 4
3002// PPC:#define __SIZEOF_SHORT__ 2
3003// PPC:#define __SIZEOF_SIZE_T__ 4
3004// PPC:#define __SIZEOF_WCHAR_T__ 4
3005// PPC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00003006// PPC:#define __SIZE_MAX__ 4294967295U
Chris Lattnerbceaf862009-10-29 04:55:36 +00003007// PPC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00003008// PPC:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00003009// PPC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00003010// PPC:#define __USER_LABEL_PREFIX__ _
3011// PPC:#define __WCHAR_MAX__ 2147483647
3012// PPC:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00003013// PPC:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00003014// PPC:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00003015// PPC:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00003016// PPC:#define __ppc__ 1
3017//
Nico Weber6e1d2ea2012-01-31 02:07:33 +00003018// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
3019//
3020// PPC-LINUX:#define _ARCH_PPC 1
3021// PPC-LINUX:#define _BIG_ENDIAN 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00003022// PPC-LINUX-NOT:#define _LP64
Nico Weber6e1d2ea2012-01-31 02:07:33 +00003023// PPC-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00003024// PPC-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber6e1d2ea2012-01-31 02:07:33 +00003025// PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
3026// PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
3027// PPC-LINUX:#define __CHAR_BIT__ 8
3028// PPC-LINUX:#define __CHAR_UNSIGNED__ 1
3029// PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3030// PPC-LINUX:#define __DBL_DIG__ 15
3031// PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
3032// PPC-LINUX:#define __DBL_HAS_DENORM__ 1
3033// PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
3034// PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
3035// PPC-LINUX:#define __DBL_MANT_DIG__ 53
3036// PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
3037// PPC-LINUX:#define __DBL_MAX_EXP__ 1024
3038// PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
3039// PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
3040// PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
3041// PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
3042// PPC-LINUX:#define __DECIMAL_DIG__ 33
3043// PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3044// PPC-LINUX:#define __FLT_DIG__ 6
3045// PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
3046// PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
3047// PPC-LINUX:#define __FLT_HAS_DENORM__ 1
3048// PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
3049// PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
3050// PPC-LINUX:#define __FLT_MANT_DIG__ 24
3051// PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
3052// PPC-LINUX:#define __FLT_MAX_EXP__ 128
3053// PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
3054// PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
3055// PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
3056// PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
3057// PPC-LINUX:#define __FLT_RADIX__ 2
3058// PPC-LINUX:#define __INT16_TYPE__ short
3059// PPC-LINUX:#define __INT32_TYPE__ int
3060// PPC-LINUX:#define __INT64_C_SUFFIX__ LL
3061// PPC-LINUX:#define __INT64_TYPE__ long long int
3062// PPC-LINUX:#define __INT8_TYPE__ char
3063// PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
3064// PPC-LINUX:#define __INTMAX_TYPE__ long long int
3065// PPC-LINUX:#define __INTMAX_WIDTH__ 64
Hal Finkel178a9b82012-03-02 20:54:36 +00003066// PPC-LINUX:#define __INTPTR_TYPE__ int
Nico Weber6e1d2ea2012-01-31 02:07:33 +00003067// PPC-LINUX:#define __INTPTR_WIDTH__ 32
3068// PPC-LINUX:#define __INT_MAX__ 2147483647
3069// PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
3070// PPC-LINUX:#define __LDBL_DIG__ 31
3071// PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
3072// PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
3073// PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
3074// PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
3075// PPC-LINUX:#define __LDBL_MANT_DIG__ 106
3076// PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
3077// PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
3078// PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
3079// PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
3080// PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
3081// PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
3082// PPC-LINUX:#define __LONG_DOUBLE_128__ 1
3083// PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
3084// PPC-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00003085// PPC-LINUX-NOT:#define __LP64__
Nico Weber6e1d2ea2012-01-31 02:07:33 +00003086// PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00003087// PPC-LINUX:#define __POINTER_WIDTH__ 32
3088// PPC-LINUX:#define __POWERPC__ 1
Chandler Carruthc6fa1152013-06-25 11:13:47 +00003089// PPC-LINUX:#define __PPC__ 1
Hal Finkel178a9b82012-03-02 20:54:36 +00003090// PPC-LINUX:#define __PTRDIFF_TYPE__ int
Nico Weber6e1d2ea2012-01-31 02:07:33 +00003091// PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
3092// PPC-LINUX:#define __REGISTER_PREFIX__
3093// PPC-LINUX:#define __SCHAR_MAX__ 127
3094// PPC-LINUX:#define __SHRT_MAX__ 32767
3095// PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
3096// PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
3097// PPC-LINUX:#define __SIZEOF_FLOAT__ 4
3098// PPC-LINUX:#define __SIZEOF_INT__ 4
3099// PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
3100// PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
3101// PPC-LINUX:#define __SIZEOF_LONG__ 4
3102// PPC-LINUX:#define __SIZEOF_POINTER__ 4
3103// PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
3104// PPC-LINUX:#define __SIZEOF_SHORT__ 2
3105// PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
3106// PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
3107// PPC-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00003108// PPC-LINUX:#define __SIZE_MAX__ 4294967295U
Nico Weber6e1d2ea2012-01-31 02:07:33 +00003109// PPC-LINUX:#define __SIZE_TYPE__ unsigned int
3110// PPC-LINUX:#define __SIZE_WIDTH__ 32
3111// PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
3112// PPC-LINUX:#define __USER_LABEL_PREFIX__
3113// PPC-LINUX:#define __WCHAR_MAX__ 2147483647
3114// PPC-LINUX:#define __WCHAR_TYPE__ int
3115// PPC-LINUX:#define __WCHAR_WIDTH__ 32
3116// PPC-LINUX:#define __WINT_TYPE__ unsigned int
3117// PPC-LINUX:#define __WINT_UNSIGNED__ 1
3118// PPC-LINUX:#define __WINT_WIDTH__ 32
3119// PPC-LINUX:#define __powerpc__ 1
3120// PPC-LINUX:#define __ppc__ 1
3121//
David Fangb5afadd2013-05-16 17:51:48 +00003122// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-apple-darwin8 < /dev/null | FileCheck -check-prefix PPC-DARWIN %s
3123//
3124// PPC-DARWIN:#define _ARCH_PPC 1
3125// PPC-DARWIN:#define _BIG_ENDIAN 1
3126// PPC-DARWIN:#define __BIG_ENDIAN__ 1
3127// PPC-DARWIN:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
3128// PPC-DARWIN:#define __CHAR16_TYPE__ unsigned short
3129// PPC-DARWIN:#define __CHAR32_TYPE__ unsigned int
3130// PPC-DARWIN:#define __CHAR_BIT__ 8
3131// PPC-DARWIN:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3132// PPC-DARWIN:#define __DBL_DIG__ 15
3133// PPC-DARWIN:#define __DBL_EPSILON__ 2.2204460492503131e-16
3134// PPC-DARWIN:#define __DBL_HAS_DENORM__ 1
3135// PPC-DARWIN:#define __DBL_HAS_INFINITY__ 1
3136// PPC-DARWIN:#define __DBL_HAS_QUIET_NAN__ 1
3137// PPC-DARWIN:#define __DBL_MANT_DIG__ 53
3138// PPC-DARWIN:#define __DBL_MAX_10_EXP__ 308
3139// PPC-DARWIN:#define __DBL_MAX_EXP__ 1024
3140// PPC-DARWIN:#define __DBL_MAX__ 1.7976931348623157e+308
3141// PPC-DARWIN:#define __DBL_MIN_10_EXP__ (-307)
3142// PPC-DARWIN:#define __DBL_MIN_EXP__ (-1021)
3143// PPC-DARWIN:#define __DBL_MIN__ 2.2250738585072014e-308
3144// PPC-DARWIN:#define __DECIMAL_DIG__ 33
3145// PPC-DARWIN:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3146// PPC-DARWIN:#define __FLT_DIG__ 6
3147// PPC-DARWIN:#define __FLT_EPSILON__ 1.19209290e-7F
3148// PPC-DARWIN:#define __FLT_EVAL_METHOD__ 0
3149// PPC-DARWIN:#define __FLT_HAS_DENORM__ 1
3150// PPC-DARWIN:#define __FLT_HAS_INFINITY__ 1
3151// PPC-DARWIN:#define __FLT_HAS_QUIET_NAN__ 1
3152// PPC-DARWIN:#define __FLT_MANT_DIG__ 24
3153// PPC-DARWIN:#define __FLT_MAX_10_EXP__ 38
3154// PPC-DARWIN:#define __FLT_MAX_EXP__ 128
3155// PPC-DARWIN:#define __FLT_MAX__ 3.40282347e+38F
3156// PPC-DARWIN:#define __FLT_MIN_10_EXP__ (-37)
3157// PPC-DARWIN:#define __FLT_MIN_EXP__ (-125)
3158// PPC-DARWIN:#define __FLT_MIN__ 1.17549435e-38F
3159// PPC-DARWIN:#define __FLT_RADIX__ 2
3160// PPC-DARWIN:#define __INT16_TYPE__ short
3161// PPC-DARWIN:#define __INT32_TYPE__ int
3162// PPC-DARWIN:#define __INT64_C_SUFFIX__ LL
3163// PPC-DARWIN:#define __INT64_TYPE__ long long int
3164// PPC-DARWIN:#define __INT8_TYPE__ char
3165// PPC-DARWIN:#define __INTMAX_MAX__ 9223372036854775807LL
3166// PPC-DARWIN:#define __INTMAX_TYPE__ long long int
3167// PPC-DARWIN:#define __INTMAX_WIDTH__ 64
3168// PPC-DARWIN:#define __INTPTR_TYPE__ long int
3169// PPC-DARWIN:#define __INTPTR_WIDTH__ 32
3170// PPC-DARWIN:#define __INT_MAX__ 2147483647
3171// PPC-DARWIN:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
3172// PPC-DARWIN:#define __LDBL_DIG__ 31
3173// PPC-DARWIN:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
3174// PPC-DARWIN:#define __LDBL_HAS_DENORM__ 1
3175// PPC-DARWIN:#define __LDBL_HAS_INFINITY__ 1
3176// PPC-DARWIN:#define __LDBL_HAS_QUIET_NAN__ 1
3177// PPC-DARWIN:#define __LDBL_MANT_DIG__ 106
3178// PPC-DARWIN:#define __LDBL_MAX_10_EXP__ 308
3179// PPC-DARWIN:#define __LDBL_MAX_EXP__ 1024
3180// PPC-DARWIN:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
3181// PPC-DARWIN:#define __LDBL_MIN_10_EXP__ (-291)
3182// PPC-DARWIN:#define __LDBL_MIN_EXP__ (-968)
3183// PPC-DARWIN:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
3184// PPC-DARWIN:#define __LONG_DOUBLE_128__ 1
3185// PPC-DARWIN:#define __LONG_LONG_MAX__ 9223372036854775807LL
3186// PPC-DARWIN:#define __LONG_MAX__ 2147483647L
3187// PPC-DARWIN:#define __MACH__ 1
3188// PPC-DARWIN:#define __NATURAL_ALIGNMENT__ 1
3189// PPC-DARWIN:#define __ORDER_BIG_ENDIAN__ 4321
3190// PPC-DARWIN:#define __ORDER_LITTLE_ENDIAN__ 1234
3191// PPC-DARWIN:#define __ORDER_PDP_ENDIAN__ 3412
3192// PPC-DARWIN:#define __POINTER_WIDTH__ 32
3193// PPC-DARWIN:#define __POWERPC__ 1
Chandler Carruthc6fa1152013-06-25 11:13:47 +00003194// PPC-DARWIN:#define __PPC__ 1
David Fangb5afadd2013-05-16 17:51:48 +00003195// PPC-DARWIN:#define __PTRDIFF_TYPE__ int
3196// PPC-DARWIN:#define __PTRDIFF_WIDTH__ 32
3197// PPC-DARWIN:#define __REGISTER_PREFIX__
3198// PPC-DARWIN:#define __SCHAR_MAX__ 127
3199// PPC-DARWIN:#define __SHRT_MAX__ 32767
3200// PPC-DARWIN:#define __SIG_ATOMIC_WIDTH__ 32
3201// PPC-DARWIN:#define __SIZEOF_DOUBLE__ 8
3202// PPC-DARWIN:#define __SIZEOF_FLOAT__ 4
3203// PPC-DARWIN:#define __SIZEOF_INT__ 4
3204// PPC-DARWIN:#define __SIZEOF_LONG_DOUBLE__ 16
3205// PPC-DARWIN:#define __SIZEOF_LONG_LONG__ 8
3206// PPC-DARWIN:#define __SIZEOF_LONG__ 4
3207// PPC-DARWIN:#define __SIZEOF_POINTER__ 4
3208// PPC-DARWIN:#define __SIZEOF_PTRDIFF_T__ 4
3209// PPC-DARWIN:#define __SIZEOF_SHORT__ 2
3210// PPC-DARWIN:#define __SIZEOF_SIZE_T__ 4
3211// PPC-DARWIN:#define __SIZEOF_WCHAR_T__ 4
3212// PPC-DARWIN:#define __SIZEOF_WINT_T__ 4
3213// PPC-DARWIN:#define __SIZE_MAX__ 4294967295UL
3214// PPC-DARWIN:#define __SIZE_TYPE__ long unsigned int
3215// PPC-DARWIN:#define __SIZE_WIDTH__ 32
3216// PPC-DARWIN:#define __STDC_HOSTED__ 0
3217// PPC-DARWIN:#define __STDC_VERSION__ 199901L
3218// PPC-DARWIN:#define __STDC__ 1
3219// PPC-DARWIN:#define __UINTMAX_TYPE__ long long unsigned int
3220// PPC-DARWIN:#define __USER_LABEL_PREFIX__ _
3221// PPC-DARWIN:#define __WCHAR_MAX__ 2147483647
3222// PPC-DARWIN:#define __WCHAR_TYPE__ int
3223// PPC-DARWIN:#define __WCHAR_WIDTH__ 32
3224// PPC-DARWIN:#define __WINT_TYPE__ int
3225// PPC-DARWIN:#define __WINT_WIDTH__ 32
3226// PPC-DARWIN:#define __powerpc__ 1
3227// PPC-DARWIN:#define __ppc__ 1
3228//
Ulrich Weigandb8409212013-05-06 16:26:41 +00003229// RUN: %clang_cc1 -E -dM -ffreestanding -triple=s390x-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix S390X %s
3230//
3231// S390X:#define __CHAR16_TYPE__ unsigned short
3232// S390X:#define __CHAR32_TYPE__ unsigned int
3233// S390X:#define __CHAR_BIT__ 8
3234// S390X:#define __CHAR_UNSIGNED__ 1
3235// S390X:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3236// S390X:#define __DBL_DIG__ 15
3237// S390X:#define __DBL_EPSILON__ 2.2204460492503131e-16
3238// S390X:#define __DBL_HAS_DENORM__ 1
3239// S390X:#define __DBL_HAS_INFINITY__ 1
3240// S390X:#define __DBL_HAS_QUIET_NAN__ 1
3241// S390X:#define __DBL_MANT_DIG__ 53
3242// S390X:#define __DBL_MAX_10_EXP__ 308
3243// S390X:#define __DBL_MAX_EXP__ 1024
3244// S390X:#define __DBL_MAX__ 1.7976931348623157e+308
3245// S390X:#define __DBL_MIN_10_EXP__ (-307)
3246// S390X:#define __DBL_MIN_EXP__ (-1021)
3247// S390X:#define __DBL_MIN__ 2.2250738585072014e-308
3248// S390X:#define __DECIMAL_DIG__ 36
3249// S390X:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3250// S390X:#define __FLT_DIG__ 6
3251// S390X:#define __FLT_EPSILON__ 1.19209290e-7F
3252// S390X:#define __FLT_EVAL_METHOD__ 0
3253// S390X:#define __FLT_HAS_DENORM__ 1
3254// S390X:#define __FLT_HAS_INFINITY__ 1
3255// S390X:#define __FLT_HAS_QUIET_NAN__ 1
3256// S390X:#define __FLT_MANT_DIG__ 24
3257// S390X:#define __FLT_MAX_10_EXP__ 38
3258// S390X:#define __FLT_MAX_EXP__ 128
3259// S390X:#define __FLT_MAX__ 3.40282347e+38F
3260// S390X:#define __FLT_MIN_10_EXP__ (-37)
3261// S390X:#define __FLT_MIN_EXP__ (-125)
3262// S390X:#define __FLT_MIN__ 1.17549435e-38F
3263// S390X:#define __FLT_RADIX__ 2
3264// S390X:#define __INT16_TYPE__ short
3265// S390X:#define __INT32_TYPE__ int
3266// S390X:#define __INT64_C_SUFFIX__ L
3267// S390X:#define __INT64_TYPE__ long long int
3268// S390X:#define __INT8_TYPE__ char
3269// S390X:#define __INTMAX_MAX__ 9223372036854775807LL
3270// S390X:#define __INTMAX_TYPE__ long long int
3271// S390X:#define __INTMAX_WIDTH__ 64
3272// S390X:#define __INTPTR_TYPE__ long int
3273// S390X:#define __INTPTR_WIDTH__ 64
3274// S390X:#define __INT_MAX__ 2147483647
3275// S390X:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
3276// S390X:#define __LDBL_DIG__ 33
3277// S390X:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
3278// S390X:#define __LDBL_HAS_DENORM__ 1
3279// S390X:#define __LDBL_HAS_INFINITY__ 1
3280// S390X:#define __LDBL_HAS_QUIET_NAN__ 1
3281// S390X:#define __LDBL_MANT_DIG__ 113
3282// S390X:#define __LDBL_MAX_10_EXP__ 4932
3283// S390X:#define __LDBL_MAX_EXP__ 16384
3284// S390X:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
3285// S390X:#define __LDBL_MIN_10_EXP__ (-4931)
3286// S390X:#define __LDBL_MIN_EXP__ (-16381)
3287// S390X:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
3288// S390X:#define __LONG_LONG_MAX__ 9223372036854775807LL
3289// S390X:#define __LONG_MAX__ 9223372036854775807L
3290// S390X:#define __NO_INLINE__ 1
3291// S390X:#define __POINTER_WIDTH__ 64
3292// S390X:#define __PTRDIFF_TYPE__ long int
3293// S390X:#define __PTRDIFF_WIDTH__ 64
3294// S390X:#define __SCHAR_MAX__ 127
3295// S390X:#define __SHRT_MAX__ 32767
3296// S390X:#define __SIG_ATOMIC_WIDTH__ 32
3297// S390X:#define __SIZEOF_DOUBLE__ 8
3298// S390X:#define __SIZEOF_FLOAT__ 4
3299// S390X:#define __SIZEOF_INT__ 4
3300// S390X:#define __SIZEOF_LONG_DOUBLE__ 16
3301// S390X:#define __SIZEOF_LONG_LONG__ 8
3302// S390X:#define __SIZEOF_LONG__ 8
3303// S390X:#define __SIZEOF_POINTER__ 8
3304// S390X:#define __SIZEOF_PTRDIFF_T__ 8
3305// S390X:#define __SIZEOF_SHORT__ 2
3306// S390X:#define __SIZEOF_SIZE_T__ 8
3307// S390X:#define __SIZEOF_WCHAR_T__ 4
3308// S390X:#define __SIZEOF_WINT_T__ 4
3309// S390X:#define __SIZE_TYPE__ long unsigned int
3310// S390X:#define __SIZE_WIDTH__ 64
3311// S390X:#define __UINTMAX_TYPE__ long long unsigned int
3312// S390X:#define __USER_LABEL_PREFIX__ _
3313// S390X:#define __WCHAR_MAX__ 2147483647
3314// S390X:#define __WCHAR_TYPE__ int
3315// S390X:#define __WCHAR_WIDTH__ 32
3316// S390X:#define __WINT_TYPE__ int
3317// S390X:#define __WINT_WIDTH__ 32
3318// S390X:#define __s390__ 1
3319// S390X:#define __s390x__ 1
3320//
Daniel Dunbara5728872009-12-15 20:14:24 +00003321// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00003322//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00003323// SPARC-NOT:#define _LP64
Stephen Hines651f13c2014-04-23 16:59:28 -07003324// SPARC:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00003325// SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00003326// SPARC:#define __CHAR16_TYPE__ unsigned short
3327// SPARC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00003328// SPARC:#define __CHAR_BIT__ 8
3329// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3330// SPARC:#define __DBL_DIG__ 15
3331// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
3332// SPARC:#define __DBL_HAS_DENORM__ 1
3333// SPARC:#define __DBL_HAS_INFINITY__ 1
3334// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
3335// SPARC:#define __DBL_MANT_DIG__ 53
3336// SPARC:#define __DBL_MAX_10_EXP__ 308
3337// SPARC:#define __DBL_MAX_EXP__ 1024
3338// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
3339// SPARC:#define __DBL_MIN_10_EXP__ (-307)
3340// SPARC:#define __DBL_MIN_EXP__ (-1021)
3341// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
3342// SPARC:#define __DECIMAL_DIG__ 17
3343// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3344// SPARC:#define __FLT_DIG__ 6
3345// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
3346// SPARC:#define __FLT_EVAL_METHOD__ 0
3347// SPARC:#define __FLT_HAS_DENORM__ 1
3348// SPARC:#define __FLT_HAS_INFINITY__ 1
3349// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
3350// SPARC:#define __FLT_MANT_DIG__ 24
3351// SPARC:#define __FLT_MAX_10_EXP__ 38
3352// SPARC:#define __FLT_MAX_EXP__ 128
3353// SPARC:#define __FLT_MAX__ 3.40282347e+38F
3354// SPARC:#define __FLT_MIN_10_EXP__ (-37)
3355// SPARC:#define __FLT_MIN_EXP__ (-125)
3356// SPARC:#define __FLT_MIN__ 1.17549435e-38F
3357// SPARC:#define __FLT_RADIX__ 2
3358// SPARC:#define __INT16_TYPE__ short
3359// SPARC:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00003360// SPARC:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +00003361// SPARC:#define __INT64_TYPE__ long long int
3362// SPARC:#define __INT8_TYPE__ char
3363// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +00003364// SPARC:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +00003365// SPARC:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00003366// SPARC:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00003367// SPARC:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00003368// SPARC:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00003369// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00003370// SPARC:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00003371// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnerbceaf862009-10-29 04:55:36 +00003372// SPARC:#define __LDBL_HAS_DENORM__ 1
3373// SPARC:#define __LDBL_HAS_INFINITY__ 1
3374// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
3375// SPARC:#define __LDBL_MANT_DIG__ 53
3376// SPARC:#define __LDBL_MAX_10_EXP__ 308
3377// SPARC:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00003378// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnerbceaf862009-10-29 04:55:36 +00003379// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
3380// SPARC:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00003381// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnerbceaf862009-10-29 04:55:36 +00003382// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
3383// SPARC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00003384// SPARC-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +00003385// SPARC:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00003386// SPARC:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00003387// SPARC:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbareac7c532009-12-18 18:42:37 +00003388// SPARC:#define __REGISTER_PREFIX__
Chris Lattnerbceaf862009-10-29 04:55:36 +00003389// SPARC:#define __SCHAR_MAX__ 127
3390// SPARC:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00003391// SPARC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00003392// SPARC:#define __SIZEOF_DOUBLE__ 8
3393// SPARC:#define __SIZEOF_FLOAT__ 4
3394// SPARC:#define __SIZEOF_INT__ 4
3395// SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
3396// SPARC:#define __SIZEOF_LONG_LONG__ 8
3397// SPARC:#define __SIZEOF_LONG__ 4
3398// SPARC:#define __SIZEOF_POINTER__ 4
3399// SPARC:#define __SIZEOF_PTRDIFF_T__ 4
3400// SPARC:#define __SIZEOF_SHORT__ 2
3401// SPARC:#define __SIZEOF_SIZE_T__ 4
3402// SPARC:#define __SIZEOF_WCHAR_T__ 4
3403// SPARC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00003404// SPARC:#define __SIZE_MAX__ 4294967295U
Chris Lattnerbceaf862009-10-29 04:55:36 +00003405// SPARC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00003406// SPARC:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00003407// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00003408// SPARC:#define __USER_LABEL_PREFIX__ _
Daniel Dunbarad1a4c62011-03-31 00:53:51 +00003409// SPARC:#define __VERSION__ "4.2.1 Compatible
Chris Lattnerbceaf862009-10-29 04:55:36 +00003410// SPARC:#define __WCHAR_MAX__ 2147483647
3411// SPARC:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00003412// SPARC:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00003413// SPARC:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00003414// SPARC:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00003415// SPARC:#define __sparc 1
3416// SPARC:#define __sparc__ 1
3417// SPARC:#define __sparcv8 1
3418// SPARC:#define sparc 1
3419//
Daniel Dunbara5728872009-12-15 20:14:24 +00003420// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00003421//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00003422// TCE-NOT:#define _LP64
Stephen Hines651f13c2014-04-23 16:59:28 -07003423// TCE:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00003424// TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00003425// TCE:#define __CHAR16_TYPE__ unsigned short
3426// TCE:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00003427// TCE:#define __CHAR_BIT__ 8
Eli Friedman75e8efe2012-11-10 00:20:38 +00003428// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45
Chris Lattnerbceaf862009-10-29 04:55:36 +00003429// TCE:#define __DBL_DIG__ 6
Eli Friedman75e8efe2012-11-10 00:20:38 +00003430// TCE:#define __DBL_EPSILON__ 1.19209290e-7
Chris Lattnerbceaf862009-10-29 04:55:36 +00003431// TCE:#define __DBL_HAS_DENORM__ 1
3432// TCE:#define __DBL_HAS_INFINITY__ 1
3433// TCE:#define __DBL_HAS_QUIET_NAN__ 1
3434// TCE:#define __DBL_MANT_DIG__ 24
3435// TCE:#define __DBL_MAX_10_EXP__ 38
3436// TCE:#define __DBL_MAX_EXP__ 128
Eli Friedman75e8efe2012-11-10 00:20:38 +00003437// TCE:#define __DBL_MAX__ 3.40282347e+38
Chris Lattnerbceaf862009-10-29 04:55:36 +00003438// TCE:#define __DBL_MIN_10_EXP__ (-37)
3439// TCE:#define __DBL_MIN_EXP__ (-125)
Eli Friedman75e8efe2012-11-10 00:20:38 +00003440// TCE:#define __DBL_MIN__ 1.17549435e-38
Chris Lattnerbceaf862009-10-29 04:55:36 +00003441// TCE:#define __DECIMAL_DIG__ -1
3442// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3443// TCE:#define __FLT_DIG__ 6
3444// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
3445// TCE:#define __FLT_EVAL_METHOD__ 0
3446// TCE:#define __FLT_HAS_DENORM__ 1
3447// TCE:#define __FLT_HAS_INFINITY__ 1
3448// TCE:#define __FLT_HAS_QUIET_NAN__ 1
3449// TCE:#define __FLT_MANT_DIG__ 24
3450// TCE:#define __FLT_MAX_10_EXP__ 38
3451// TCE:#define __FLT_MAX_EXP__ 128
3452// TCE:#define __FLT_MAX__ 3.40282347e+38F
3453// TCE:#define __FLT_MIN_10_EXP__ (-37)
3454// TCE:#define __FLT_MIN_EXP__ (-125)
3455// TCE:#define __FLT_MIN__ 1.17549435e-38F
3456// TCE:#define __FLT_RADIX__ 2
3457// TCE:#define __INT16_TYPE__ short
3458// TCE:#define __INT32_TYPE__ int
3459// TCE:#define __INT8_TYPE__ char
3460// TCE:#define __INTMAX_MAX__ 2147483647L
Ken Dyck8241d732009-11-19 13:18:59 +00003461// TCE:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00003462// TCE:#define __INTMAX_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00003463// TCE:#define __INTPTR_TYPE__ int
Ken Dyckd896e1a2009-11-18 20:05:48 +00003464// TCE:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00003465// TCE:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00003466// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45L
Chris Lattnerbceaf862009-10-29 04:55:36 +00003467// TCE:#define __LDBL_DIG__ 6
Eli Friedman75e8efe2012-11-10 00:20:38 +00003468// TCE:#define __LDBL_EPSILON__ 1.19209290e-7L
Chris Lattnerbceaf862009-10-29 04:55:36 +00003469// TCE:#define __LDBL_HAS_DENORM__ 1
3470// TCE:#define __LDBL_HAS_INFINITY__ 1
3471// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
3472// TCE:#define __LDBL_MANT_DIG__ 24
3473// TCE:#define __LDBL_MAX_10_EXP__ 38
3474// TCE:#define __LDBL_MAX_EXP__ 128
Eli Friedman75e8efe2012-11-10 00:20:38 +00003475// TCE:#define __LDBL_MAX__ 3.40282347e+38L
Chris Lattnerbceaf862009-10-29 04:55:36 +00003476// TCE:#define __LDBL_MIN_10_EXP__ (-37)
3477// TCE:#define __LDBL_MIN_EXP__ (-125)
Eli Friedman75e8efe2012-11-10 00:20:38 +00003478// TCE:#define __LDBL_MIN__ 1.17549435e-38L
Chris Lattnerbceaf862009-10-29 04:55:36 +00003479// TCE:#define __LONG_LONG_MAX__ 2147483647LL
3480// TCE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00003481// TCE-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +00003482// TCE:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00003483// TCE:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +00003484// TCE:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00003485// TCE:#define __SCHAR_MAX__ 127
3486// TCE:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00003487// TCE:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00003488// TCE:#define __SIZEOF_DOUBLE__ 4
3489// TCE:#define __SIZEOF_FLOAT__ 4
3490// TCE:#define __SIZEOF_INT__ 4
3491// TCE:#define __SIZEOF_LONG_DOUBLE__ 4
3492// TCE:#define __SIZEOF_LONG_LONG__ 4
3493// TCE:#define __SIZEOF_LONG__ 4
3494// TCE:#define __SIZEOF_POINTER__ 4
3495// TCE:#define __SIZEOF_PTRDIFF_T__ 4
3496// TCE:#define __SIZEOF_SHORT__ 2
3497// TCE:#define __SIZEOF_SIZE_T__ 4
3498// TCE:#define __SIZEOF_WCHAR_T__ 4
3499// TCE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00003500// TCE:#define __SIZE_MAX__ 4294967295U
Chris Lattnerbceaf862009-10-29 04:55:36 +00003501// TCE:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00003502// TCE:#define __SIZE_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00003503// TCE:#define __TCE_V1__ 1
3504// TCE:#define __TCE__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00003505// TCE:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00003506// TCE:#define __USER_LABEL_PREFIX__ _
3507// TCE:#define __WCHAR_MAX__ 2147483647
3508// TCE:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00003509// TCE:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00003510// TCE:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00003511// TCE:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00003512// TCE:#define __tce 1
3513// TCE:#define __tce__ 1
3514// TCE:#define tce 1
3515//
Daniel Dunbara5728872009-12-15 20:14:24 +00003516// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-none-none < /dev/null | FileCheck -check-prefix X86_64 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00003517//
3518// X86_64:#define _LP64 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00003519// X86_64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00003520// X86_64:#define __CHAR16_TYPE__ unsigned short
3521// X86_64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00003522// X86_64:#define __CHAR_BIT__ 8
3523// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3524// X86_64:#define __DBL_DIG__ 15
3525// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
3526// X86_64:#define __DBL_HAS_DENORM__ 1
3527// X86_64:#define __DBL_HAS_INFINITY__ 1
3528// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
3529// X86_64:#define __DBL_MANT_DIG__ 53
3530// X86_64:#define __DBL_MAX_10_EXP__ 308
3531// X86_64:#define __DBL_MAX_EXP__ 1024
3532// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
3533// X86_64:#define __DBL_MIN_10_EXP__ (-307)
3534// X86_64:#define __DBL_MIN_EXP__ (-1021)
3535// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
3536// X86_64:#define __DECIMAL_DIG__ 21
3537// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3538// X86_64:#define __FLT_DIG__ 6
3539// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
3540// X86_64:#define __FLT_EVAL_METHOD__ 0
3541// X86_64:#define __FLT_HAS_DENORM__ 1
3542// X86_64:#define __FLT_HAS_INFINITY__ 1
3543// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
3544// X86_64:#define __FLT_MANT_DIG__ 24
3545// X86_64:#define __FLT_MAX_10_EXP__ 38
3546// X86_64:#define __FLT_MAX_EXP__ 128
3547// X86_64:#define __FLT_MAX__ 3.40282347e+38F
3548// X86_64:#define __FLT_MIN_10_EXP__ (-37)
3549// X86_64:#define __FLT_MIN_EXP__ (-125)
3550// X86_64:#define __FLT_MIN__ 1.17549435e-38F
3551// X86_64:#define __FLT_RADIX__ 2
3552// X86_64:#define __INT16_TYPE__ short
3553// X86_64:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00003554// X86_64:#define __INT64_C_SUFFIX__ L
Chris Lattnerbceaf862009-10-29 04:55:36 +00003555// X86_64:#define __INT64_TYPE__ long int
3556// X86_64:#define __INT8_TYPE__ char
3557// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck8241d732009-11-19 13:18:59 +00003558// X86_64:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00003559// X86_64:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00003560// X86_64:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00003561// X86_64:#define __INTPTR_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00003562// X86_64:#define __INT_MAX__ 2147483647
3563// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3564// X86_64:#define __LDBL_DIG__ 18
3565// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3566// X86_64:#define __LDBL_HAS_DENORM__ 1
3567// X86_64:#define __LDBL_HAS_INFINITY__ 1
3568// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
3569// X86_64:#define __LDBL_MANT_DIG__ 64
3570// X86_64:#define __LDBL_MAX_10_EXP__ 4932
3571// X86_64:#define __LDBL_MAX_EXP__ 16384
3572// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3573// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
3574// X86_64:#define __LDBL_MIN_EXP__ (-16381)
3575// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3576// X86_64:#define __LITTLE_ENDIAN__ 1
3577// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
3578// X86_64:#define __LONG_MAX__ 9223372036854775807L
3579// X86_64:#define __LP64__ 1
3580// X86_64:#define __MMX__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00003581// X86_64:#define __NO_MATH_INLINES 1
3582// X86_64:#define __POINTER_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00003583// X86_64:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00003584// X86_64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00003585// X86_64:#define __REGISTER_PREFIX__
3586// X86_64:#define __SCHAR_MAX__ 127
3587// X86_64:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00003588// X86_64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00003589// X86_64:#define __SIZEOF_DOUBLE__ 8
3590// X86_64:#define __SIZEOF_FLOAT__ 4
3591// X86_64:#define __SIZEOF_INT__ 4
3592// X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
3593// X86_64:#define __SIZEOF_LONG_LONG__ 8
3594// X86_64:#define __SIZEOF_LONG__ 8
3595// X86_64:#define __SIZEOF_POINTER__ 8
3596// X86_64:#define __SIZEOF_PTRDIFF_T__ 8
3597// X86_64:#define __SIZEOF_SHORT__ 2
3598// X86_64:#define __SIZEOF_SIZE_T__ 8
3599// X86_64:#define __SIZEOF_WCHAR_T__ 4
3600// X86_64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00003601// X86_64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnerbceaf862009-10-29 04:55:36 +00003602// X86_64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00003603// X86_64:#define __SIZE_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00003604// X86_64:#define __SSE2_MATH__ 1
3605// X86_64:#define __SSE2__ 1
3606// X86_64:#define __SSE_MATH__ 1
3607// X86_64:#define __SSE__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00003608// X86_64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00003609// X86_64:#define __USER_LABEL_PREFIX__ _
3610// X86_64:#define __WCHAR_MAX__ 2147483647
3611// X86_64:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00003612// X86_64:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00003613// X86_64:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00003614// X86_64:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00003615// X86_64:#define __amd64 1
3616// X86_64:#define __amd64__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00003617// X86_64:#define __x86_64 1
3618// X86_64:#define __x86_64__ 1
3619//
Douglas Gregor12e84642011-01-12 21:19:25 +00003620// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
3621//
3622// X86_64-LINUX:#define _LP64 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00003623// X86_64-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregor12e84642011-01-12 21:19:25 +00003624// X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
3625// X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
3626// X86_64-LINUX:#define __CHAR_BIT__ 8
3627// X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3628// X86_64-LINUX:#define __DBL_DIG__ 15
3629// X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
3630// X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
3631// X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
3632// X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
3633// X86_64-LINUX:#define __DBL_MANT_DIG__ 53
3634// X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
3635// X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
3636// X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
3637// X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
3638// X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
3639// X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
3640// X86_64-LINUX:#define __DECIMAL_DIG__ 21
3641// X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3642// X86_64-LINUX:#define __FLT_DIG__ 6
3643// X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
3644// X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
3645// X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
3646// X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
3647// X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
3648// X86_64-LINUX:#define __FLT_MANT_DIG__ 24
3649// X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
3650// X86_64-LINUX:#define __FLT_MAX_EXP__ 128
3651// X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
3652// X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
3653// X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
3654// X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
3655// X86_64-LINUX:#define __FLT_RADIX__ 2
3656// X86_64-LINUX:#define __INT16_TYPE__ short
3657// X86_64-LINUX:#define __INT32_TYPE__ int
3658// X86_64-LINUX:#define __INT64_C_SUFFIX__ L
3659// X86_64-LINUX:#define __INT64_TYPE__ long int
3660// X86_64-LINUX:#define __INT8_TYPE__ char
3661// X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
3662// X86_64-LINUX:#define __INTMAX_TYPE__ long int
3663// X86_64-LINUX:#define __INTMAX_WIDTH__ 64
3664// X86_64-LINUX:#define __INTPTR_TYPE__ long int
3665// X86_64-LINUX:#define __INTPTR_WIDTH__ 64
3666// X86_64-LINUX:#define __INT_MAX__ 2147483647
3667// X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3668// X86_64-LINUX:#define __LDBL_DIG__ 18
3669// X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3670// X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
3671// X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
3672// X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
3673// X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
3674// X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
3675// X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
3676// X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3677// X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
3678// X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
3679// X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3680// X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
3681// X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
3682// X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
3683// X86_64-LINUX:#define __LP64__ 1
3684// X86_64-LINUX:#define __MMX__ 1
Douglas Gregor12e84642011-01-12 21:19:25 +00003685// X86_64-LINUX:#define __NO_MATH_INLINES 1
3686// X86_64-LINUX:#define __POINTER_WIDTH__ 64
3687// X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
3688// X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
3689// X86_64-LINUX:#define __REGISTER_PREFIX__
3690// X86_64-LINUX:#define __SCHAR_MAX__ 127
3691// X86_64-LINUX:#define __SHRT_MAX__ 32767
3692// X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
3693// X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
3694// X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
3695// X86_64-LINUX:#define __SIZEOF_INT__ 4
3696// X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
3697// X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
3698// X86_64-LINUX:#define __SIZEOF_LONG__ 8
3699// X86_64-LINUX:#define __SIZEOF_POINTER__ 8
3700// X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
3701// X86_64-LINUX:#define __SIZEOF_SHORT__ 2
3702// X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
3703// X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
3704// X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00003705// X86_64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Douglas Gregor12e84642011-01-12 21:19:25 +00003706// X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
3707// X86_64-LINUX:#define __SIZE_WIDTH__ 64
3708// X86_64-LINUX:#define __SSE2_MATH__ 1
3709// X86_64-LINUX:#define __SSE2__ 1
3710// X86_64-LINUX:#define __SSE_MATH__ 1
3711// X86_64-LINUX:#define __SSE__ 1
3712// X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
3713// X86_64-LINUX:#define __USER_LABEL_PREFIX__
3714// X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
3715// X86_64-LINUX:#define __WCHAR_TYPE__ int
3716// X86_64-LINUX:#define __WCHAR_WIDTH__ 32
3717// X86_64-LINUX:#define __WINT_TYPE__ unsigned int
3718// X86_64-LINUX:#define __WINT_WIDTH__ 32
3719// X86_64-LINUX:#define __amd64 1
3720// X86_64-LINUX:#define __amd64__ 1
Douglas Gregor12e84642011-01-12 21:19:25 +00003721// X86_64-LINUX:#define __x86_64 1
3722// X86_64-LINUX:#define __x86_64__ 1
3723//
Ed Schouten5ada7a52013-09-29 07:54:52 +00003724// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-unknown-freebsd9.1 < /dev/null | FileCheck -check-prefix X86_64-FREEBSD %s
3725//
3726// X86_64-FREEBSD:#define __FreeBSD__ 9
3727// X86_64-FREEBSD:#define __FreeBSD_cc_version 900001
3728// X86_64-FREEBSD:#define __STDC_MB_MIGHT_NEQ_WC__ 1
3729//
Joerg Sonnenberger8daa7fe2013-11-11 14:00:37 +00003730// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-netbsd < /dev/null | FileCheck -check-prefix X86_64-NETBSD %s
3731//
3732// X86_64-NETBSD:#define _LP64 1
3733// X86_64-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
3734// X86_64-NETBSD:#define __CHAR16_TYPE__ unsigned short
3735// X86_64-NETBSD:#define __CHAR32_TYPE__ unsigned int
3736// X86_64-NETBSD:#define __CHAR_BIT__ 8
3737// X86_64-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3738// X86_64-NETBSD:#define __DBL_DIG__ 15
3739// X86_64-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
3740// X86_64-NETBSD:#define __DBL_HAS_DENORM__ 1
3741// X86_64-NETBSD:#define __DBL_HAS_INFINITY__ 1
3742// X86_64-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
3743// X86_64-NETBSD:#define __DBL_MANT_DIG__ 53
3744// X86_64-NETBSD:#define __DBL_MAX_10_EXP__ 308
3745// X86_64-NETBSD:#define __DBL_MAX_EXP__ 1024
3746// X86_64-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
3747// X86_64-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
3748// X86_64-NETBSD:#define __DBL_MIN_EXP__ (-1021)
3749// X86_64-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
3750// X86_64-NETBSD:#define __DECIMAL_DIG__ 21
3751// X86_64-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3752// X86_64-NETBSD:#define __FLT_DIG__ 6
3753// X86_64-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
3754// X86_64-NETBSD:#define __FLT_EVAL_METHOD__ 0
3755// X86_64-NETBSD:#define __FLT_HAS_DENORM__ 1
3756// X86_64-NETBSD:#define __FLT_HAS_INFINITY__ 1
3757// X86_64-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
3758// X86_64-NETBSD:#define __FLT_MANT_DIG__ 24
3759// X86_64-NETBSD:#define __FLT_MAX_10_EXP__ 38
3760// X86_64-NETBSD:#define __FLT_MAX_EXP__ 128
3761// X86_64-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
3762// X86_64-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
3763// X86_64-NETBSD:#define __FLT_MIN_EXP__ (-125)
3764// X86_64-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
3765// X86_64-NETBSD:#define __FLT_RADIX__ 2
3766// X86_64-NETBSD:#define __INT16_TYPE__ short
3767// X86_64-NETBSD:#define __INT32_TYPE__ int
3768// X86_64-NETBSD:#define __INT64_C_SUFFIX__ L
3769// X86_64-NETBSD:#define __INT64_TYPE__ long int
3770// X86_64-NETBSD:#define __INT8_TYPE__ char
3771// X86_64-NETBSD:#define __INTMAX_MAX__ 9223372036854775807L
3772// X86_64-NETBSD:#define __INTMAX_TYPE__ long int
3773// X86_64-NETBSD:#define __INTMAX_WIDTH__ 64
3774// X86_64-NETBSD:#define __INTPTR_TYPE__ long int
3775// X86_64-NETBSD:#define __INTPTR_WIDTH__ 64
3776// X86_64-NETBSD:#define __INT_MAX__ 2147483647
3777// X86_64-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3778// X86_64-NETBSD:#define __LDBL_DIG__ 18
3779// X86_64-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3780// X86_64-NETBSD:#define __LDBL_HAS_DENORM__ 1
3781// X86_64-NETBSD:#define __LDBL_HAS_INFINITY__ 1
3782// X86_64-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
3783// X86_64-NETBSD:#define __LDBL_MANT_DIG__ 64
3784// X86_64-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
3785// X86_64-NETBSD:#define __LDBL_MAX_EXP__ 16384
3786// X86_64-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3787// X86_64-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
3788// X86_64-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
3789// X86_64-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3790// X86_64-NETBSD:#define __LITTLE_ENDIAN__ 1
3791// X86_64-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
3792// X86_64-NETBSD:#define __LONG_MAX__ 9223372036854775807L
3793// X86_64-NETBSD:#define __LP64__ 1
3794// X86_64-NETBSD:#define __MMX__ 1
3795// X86_64-NETBSD:#define __NO_MATH_INLINES 1
3796// X86_64-NETBSD:#define __POINTER_WIDTH__ 64
3797// X86_64-NETBSD:#define __PTRDIFF_TYPE__ long int
3798// X86_64-NETBSD:#define __PTRDIFF_WIDTH__ 64
3799// X86_64-NETBSD:#define __REGISTER_PREFIX__
3800// X86_64-NETBSD:#define __SCHAR_MAX__ 127
3801// X86_64-NETBSD:#define __SHRT_MAX__ 32767
3802// X86_64-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
3803// X86_64-NETBSD:#define __SIZEOF_DOUBLE__ 8
3804// X86_64-NETBSD:#define __SIZEOF_FLOAT__ 4
3805// X86_64-NETBSD:#define __SIZEOF_INT__ 4
3806// X86_64-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 16
3807// X86_64-NETBSD:#define __SIZEOF_LONG_LONG__ 8
3808// X86_64-NETBSD:#define __SIZEOF_LONG__ 8
3809// X86_64-NETBSD:#define __SIZEOF_POINTER__ 8
3810// X86_64-NETBSD:#define __SIZEOF_PTRDIFF_T__ 8
3811// X86_64-NETBSD:#define __SIZEOF_SHORT__ 2
3812// X86_64-NETBSD:#define __SIZEOF_SIZE_T__ 8
3813// X86_64-NETBSD:#define __SIZEOF_WCHAR_T__ 4
3814// X86_64-NETBSD:#define __SIZEOF_WINT_T__ 4
3815// X86_64-NETBSD:#define __SIZE_MAX__ 18446744073709551615UL
3816// X86_64-NETBSD:#define __SIZE_TYPE__ long unsigned int
3817// X86_64-NETBSD:#define __SIZE_WIDTH__ 64
3818// X86_64-NETBSD:#define __SSE2_MATH__ 1
3819// X86_64-NETBSD:#define __SSE2__ 1
3820// X86_64-NETBSD:#define __SSE_MATH__ 1
3821// X86_64-NETBSD:#define __SSE__ 1
3822// X86_64-NETBSD:#define __UINTMAX_TYPE__ long unsigned int
3823// X86_64-NETBSD:#define __USER_LABEL_PREFIX__
3824// X86_64-NETBSD:#define __WCHAR_MAX__ 2147483647
3825// X86_64-NETBSD:#define __WCHAR_TYPE__ int
3826// X86_64-NETBSD:#define __WCHAR_WIDTH__ 32
3827// X86_64-NETBSD:#define __WINT_TYPE__ int
3828// X86_64-NETBSD:#define __WINT_WIDTH__ 32
3829// X86_64-NETBSD:#define __amd64 1
3830// X86_64-NETBSD:#define __amd64__ 1
3831// X86_64-NETBSD:#define __x86_64 1
3832// X86_64-NETBSD:#define __x86_64__ 1
3833//
Jakob Stoklund Olesenfcec0c92013-05-15 03:22:33 +00003834// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-none < /dev/null | FileCheck -check-prefix SPARCV9 %s
Jakob Stoklund Olesen5ac8c4f2013-05-19 17:53:37 +00003835// SPARCV9:#define __INT64_TYPE__ long int
Jakob Stoklund Olesenfcec0c92013-05-15 03:22:33 +00003836// SPARCV9:#define __INTMAX_TYPE__ long int
3837// SPARCV9:#define __INTPTR_TYPE__ long int
3838// SPARCV9:#define __LONG_MAX__ 9223372036854775807L
3839// SPARCV9:#define __LP64__ 1
3840// SPARCV9:#define __SIZEOF_LONG__ 8
3841// SPARCV9:#define __SIZEOF_POINTER__ 8
3842//
Jakob Stoklund Olesen5ac8c4f2013-05-19 17:53:37 +00003843// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-openbsd < /dev/null | FileCheck -check-prefix SPARC64-OBSD %s
3844// SPARC64-OBSD:#define __INT64_TYPE__ long long int
3845// SPARC64-OBSD:#define __INTMAX_TYPE__ long long int
3846// SPARC64-OBSD:#define __UINTMAX_TYPE__ long long unsigned int
3847//
Sylvestre Ledrubd461422013-09-06 14:53:07 +00003848// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSD-DEFINE %s
3849// KFREEBSD-DEFINE:#define __FreeBSD_kernel__ 1
3850// KFREEBSD-DEFINE:#define __GLIBC__ 1
3851//
Sylvestre Ledru906db272013-09-06 15:36:36 +00003852// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i686-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSDI686-DEFINE %s
3853// KFREEBSDI686-DEFINE:#define __FreeBSD_kernel__ 1
3854// KFREEBSDI686-DEFINE:#define __GLIBC__ 1
3855//
David Chisnall11d3f4c2012-07-03 20:49:52 +00003856// RUN: %clang_cc1 -x c++ -triple i686-pc-linux-gnu -fobjc-runtime=gcc -E -dM < /dev/null | FileCheck -check-prefix GNUSOURCE %s
Douglas Gregor66791df2010-04-16 06:31:05 +00003857// GNUSOURCE:#define _GNU_SOURCE 1
Sylvestre Ledru906db272013-09-06 15:36:36 +00003858//
Dan Gohmancfeac342010-05-28 00:27:15 +00003859// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
3860// NORTTI: __GXX_ABI_VERSION
3861// NORTTI-NOT:#define __GXX_RTTI
3862// NORTTI: __STDC__
Evgeniy Stepanov32064032012-04-26 12:08:09 +00003863//
3864// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
3865// ANDROID: __ANDROID__ 1
Sylvestre Ledru906db272013-09-06 15:36:36 +00003866//
Roman Divackyb2f6f472013-07-03 19:45:54 +00003867// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd < /dev/null | FileCheck -check-prefix PPC64-FREEBSD %s
3868// PPC64-FREEBSD-NOT: #define __LONG_DOUBLE_128__ 1
Robert Lytton5f15f4d2013-08-13 09:43:10 +00003869//
3870// RUN: %clang_cc1 -E -dM -ffreestanding -triple=xcore-none-none < /dev/null | FileCheck -check-prefix XCORE %s
Stephen Hines651f13c2014-04-23 16:59:28 -07003871// XCORE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
3872// XCORE:#define __LITTLE_ENDIAN__ 1
Robert Lytton5f15f4d2013-08-13 09:43:10 +00003873// XCORE:#define __XS1B__ 1