blob: bbbc5fb23336bdc26e08e350b0113efcbc0b885b [file] [log] [blame]
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00001// RUN: %clang_cc1 -E -dM -x assembler-with-cpp < /dev/null | FileCheck -check-prefix ASM %s
Chris Lattnere963d092009-10-29 04:55:36 +00002//
3// ASM:#define __ASSEMBLER__ 1
4//
5//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00006// RUN: %clang_cc1 -fblocks -E -dM < /dev/null | FileCheck -check-prefix BLOCKS %s
Chris Lattnere963d092009-10-29 04:55:36 +00007//
8// BLOCKS:#define __BLOCKS__ 1
9// BLOCKS:#define __block __attribute__((__blocks__(byref)))
10//
Richard Smith0a715422013-05-07 19:32:56 +000011//
12// RUN: %clang_cc1 -x c++ -std=c++1y -E -dM < /dev/null | FileCheck -check-prefix CXX1Y %s
13//
14// CXX1Y:#define __GNUG__
15// CXX1Y:#define __GXX_EXPERIMENTAL_CXX0X__ 1
16// CXX1Y:#define __GXX_RTTI 1
17// CXX1Y:#define __GXX_WEAK__ 1
Richard Smith51bacfd2014-02-24 01:35:45 +000018// CXX1Y:#define __cplusplus 201402L
Richard Smith0a715422013-05-07 19:32:56 +000019// CXX1Y:#define __private_extern__ extern
20//
21//
Richard Smith89645bc2013-01-02 12:01:23 +000022// RUN: %clang_cc1 -x c++ -std=c++11 -E -dM < /dev/null | FileCheck -check-prefix CXX11 %s
Chris Lattnere963d092009-10-29 04:55:36 +000023//
Richard Smith89645bc2013-01-02 12:01:23 +000024// CXX11:#define __GNUG__
25// CXX11:#define __GXX_EXPERIMENTAL_CXX0X__ 1
26// CXX11:#define __GXX_RTTI 1
27// CXX11:#define __GXX_WEAK__ 1
28// CXX11:#define __cplusplus 201103L
29// CXX11:#define __private_extern__ extern
Chris Lattnere963d092009-10-29 04:55:36 +000030//
31//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +000032// RUN: %clang_cc1 -x c++ -std=c++98 -E -dM < /dev/null | FileCheck -check-prefix CXX98 %s
Chris Lattnere963d092009-10-29 04:55:36 +000033//
Chris Lattnere963d092009-10-29 04:55:36 +000034// CXX98:#define __GNUG__
Dan Gohman04f87202010-05-28 00:27:15 +000035// CXX98:#define __GXX_RTTI 1
Chris Lattnere963d092009-10-29 04:55:36 +000036// CXX98:#define __GXX_WEAK__ 1
37// CXX98:#define __cplusplus 199711L
38// CXX98:#define __private_extern__ extern
39//
40//
Chandler Carruth30483fb2011-04-23 19:48:40 +000041// RUN: %clang_cc1 -fdeprecated-macro -E -dM < /dev/null | FileCheck -check-prefix DEPRECATED %s
42//
43// DEPRECATED:#define __DEPRECATED 1
44//
45//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +000046// RUN: %clang_cc1 -std=c99 -E -dM < /dev/null | FileCheck -check-prefix C99 %s
Chris Lattnere963d092009-10-29 04:55:36 +000047//
48// C99:#define __STDC_VERSION__ 199901L
49// C99:#define __STRICT_ANSI__ 1
50//
51//
Ed Schoutend0621462013-09-29 07:54:52 +000052// RUN: %clang_cc1 -std=c11 -E -dM < /dev/null | FileCheck -check-prefix C11 %s
53//
54// C11:#define __STDC_UTF_16__ 1
55// C11:#define __STDC_UTF_32__ 1
56// C11:#define __STDC_VERSION__ 201112L
57// C11:#define __STRICT_ANSI__ 1
58//
59//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +000060// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix COMMON %s
Chris Lattnere963d092009-10-29 04:55:36 +000061//
62// COMMON:#define __CONSTANT_CFSTRINGS__ 1
63// COMMON:#define __FINITE_MATH_ONLY__ 0
64// COMMON:#define __GNUC_MINOR__
65// COMMON:#define __GNUC_PATCHLEVEL__
66// COMMON:#define __GNUC_STDC_INLINE__ 1
67// COMMON:#define __GNUC__
68// COMMON:#define __GXX_ABI_VERSION
Dylan Noblesmith673728f2012-07-27 18:34:31 +000069// COMMON:#define __ORDER_BIG_ENDIAN__ 4321
70// COMMON:#define __ORDER_LITTLE_ENDIAN__ 1234
71// COMMON:#define __ORDER_PDP_ENDIAN__ 3412
Chris Lattnere963d092009-10-29 04:55:36 +000072// COMMON:#define __STDC_HOSTED__ 1
73// COMMON:#define __STDC_VERSION__
74// COMMON:#define __STDC__ 1
75// COMMON:#define __VERSION__
76// COMMON:#define __clang__ 1
Daniel Dunbard7e887f2010-06-25 23:34:47 +000077// COMMON:#define __clang_major__ {{[0-9]+}}
78// COMMON:#define __clang_minor__ {{[0-9]+}}
79// COMMON:#define __clang_patchlevel__ {{[0-9]+}}
Douglas Gregordead00f2010-04-30 03:07:23 +000080// COMMON:#define __clang_version__
Chris Lattnere963d092009-10-29 04:55:36 +000081// COMMON:#define __llvm__ 1
82//
83//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +000084// RUN: %clang_cc1 -ffreestanding -E -dM < /dev/null | FileCheck -check-prefix FREESTANDING %s
Chris Lattnere963d092009-10-29 04:55:36 +000085// FREESTANDING:#define __STDC_HOSTED__ 0
Richard Smithd106a982012-05-03 22:18:20 +000086//
87//
Richard Smith0a715422013-05-07 19:32:56 +000088// RUN: %clang_cc1 -x c++ -std=gnu++1y -E -dM < /dev/null | FileCheck -check-prefix GXX1Y %s
89//
90// GXX1Y:#define __GNUG__
91// GXX1Y:#define __GXX_WEAK__ 1
Richard Smith51bacfd2014-02-24 01:35:45 +000092// GXX1Y:#define __cplusplus 201402L
Richard Smith0a715422013-05-07 19:32:56 +000093// GXX1Y:#define __private_extern__ extern
94//
95//
Richard Smithd106a982012-05-03 22:18:20 +000096// RUN: %clang_cc1 -x c++ -std=gnu++11 -E -dM < /dev/null | FileCheck -check-prefix GXX11 %s
97//
98// GXX11:#define __GNUG__
99// GXX11:#define __GXX_WEAK__ 1
100// GXX11:#define __cplusplus 201103L
101// GXX11:#define __private_extern__ extern
102//
103//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000104// RUN: %clang_cc1 -x c++ -std=gnu++98 -E -dM < /dev/null | FileCheck -check-prefix GXX98 %s
Chris Lattnere963d092009-10-29 04:55:36 +0000105//
Chris Lattnere963d092009-10-29 04:55:36 +0000106// GXX98:#define __GNUG__
107// GXX98:#define __GXX_WEAK__ 1
Richard Smithd106a982012-05-03 22:18:20 +0000108// GXX98:#define __cplusplus 199711L
Chris Lattnere963d092009-10-29 04:55:36 +0000109// GXX98:#define __private_extern__ extern
110//
111//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000112// RUN: %clang_cc1 -std=iso9899:199409 -E -dM < /dev/null | FileCheck -check-prefix C94 %s
Chris Lattnere963d092009-10-29 04:55:36 +0000113//
114// C94:#define __STDC_VERSION__ 199409L
115//
116//
Hans Wennborg4c02be32013-05-02 13:12:32 +0000117// RUN: %clang_cc1 -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT %s
Chris Lattnere963d092009-10-29 04:55:36 +0000118//
119// MSEXT-NOT:#define __STDC__
Douglas Gregor7617cb82010-08-06 12:37:52 +0000120// MSEXT:#define _INTEGRAL_MAX_BITS 64
Hans Wennborg4c02be32013-05-02 13:12:32 +0000121// MSEXT-NOT:#define _NATIVE_WCHAR_T_DEFINED 1
122// MSEXT-NOT:#define _WCHAR_T_DEFINED 1
123//
124//
125// RUN: %clang_cc1 -x c++ -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT-CXX %s
126//
127// MSEXT-CXX:#define _NATIVE_WCHAR_T_DEFINED 1
128// MSEXT-CXX:#define _WCHAR_T_DEFINED 1
129//
130//
131// RUN: %clang_cc1 -x c++ -fno-wchar -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT-CXX-NOWCHAR %s
132//
133// MSEXT-CXX-NOWCHAR-NOT:#define _NATIVE_WCHAR_T_DEFINED 1
134// MSEXT-CXX-NOWCHAR-NOT:#define _WCHAR_T_DEFINED 1
Chris Lattnere963d092009-10-29 04:55:36 +0000135//
136//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000137// RUN: %clang_cc1 -x objective-c -E -dM < /dev/null | FileCheck -check-prefix OBJC %s
Chris Lattnere963d092009-10-29 04:55:36 +0000138//
139// OBJC:#define OBJC_NEW_PROPERTIES 1
Daniel Dunbar4656c532009-11-17 07:07:28 +0000140// OBJC:#define __NEXT_RUNTIME__ 1
Chris Lattnere963d092009-10-29 04:55:36 +0000141// OBJC:#define __OBJC__ 1
142//
Daniel Dunbar4656c532009-11-17 07:07:28 +0000143//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000144// RUN: %clang_cc1 -x objective-c -fobjc-gc -E -dM < /dev/null | FileCheck -check-prefix OBJCGC %s
Chris Lattnere963d092009-10-29 04:55:36 +0000145//
146// OBJCGC:#define __OBJC_GC__ 1
147//
148//
John McCall9b0a7ce2011-10-02 01:16:38 +0000149// RUN: %clang_cc1 -x objective-c -fobjc-exceptions -E -dM < /dev/null | FileCheck -check-prefix NONFRAGILE %s
Chris Lattnere963d092009-10-29 04:55:36 +0000150//
151// NONFRAGILE:#define OBJC_ZEROCOST_EXCEPTIONS 1
152// NONFRAGILE:#define __OBJC2__ 1
153//
Dylan Noblesmith4c004f32012-08-08 16:09:15 +0000154//
Rafael Espindolaff7cea82013-09-04 04:12:25 +0000155// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix O0 %s
Dylan Noblesmith4c004f32012-08-08 16:09:15 +0000156//
157// O0:#define __NO_INLINE__ 1
158// O0-NOT:#define __OPTIMIZE_SIZE__
159// O0-NOT:#define __OPTIMIZE__
160//
161//
162// RUN: %clang_cc1 -fno-inline -O3 -E -dM < /dev/null | FileCheck -check-prefix NO_INLINE %s
163//
164// NO_INLINE:#define __NO_INLINE__ 1
165// NO_INLINE-NOT:#define __OPTIMIZE_SIZE__
166// NO_INLINE:#define __OPTIMIZE__
167//
168//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000169// RUN: %clang_cc1 -O1 -E -dM < /dev/null | FileCheck -check-prefix O1 %s
Chris Lattnere963d092009-10-29 04:55:36 +0000170//
Dylan Noblesmith4c004f32012-08-08 16:09:15 +0000171// O1-NOT:#define __OPTIMIZE_SIZE__
Chris Lattnere963d092009-10-29 04:55:36 +0000172// O1:#define __OPTIMIZE__ 1
173//
Dylan Noblesmith4c004f32012-08-08 16:09:15 +0000174//
175// RUN: %clang_cc1 -Os -E -dM < /dev/null | FileCheck -check-prefix Os %s
176//
177// Os:#define __OPTIMIZE_SIZE__ 1
178// Os:#define __OPTIMIZE__ 1
179//
180//
181// RUN: %clang_cc1 -Oz -E -dM < /dev/null | FileCheck -check-prefix Oz %s
182//
183// Oz:#define __OPTIMIZE_SIZE__ 1
184// Oz:#define __OPTIMIZE__ 1
185//
186//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000187// RUN: %clang_cc1 -fpascal-strings -E -dM < /dev/null | FileCheck -check-prefix PASCAL %s
Chris Lattnere963d092009-10-29 04:55:36 +0000188//
189// PASCAL:#define __PASCAL_STRINGS__ 1
190//
191//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000192// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix SCHAR %s
Chris Lattnere963d092009-10-29 04:55:36 +0000193//
194// SCHAR:#define __STDC__ 1
195// SCHAR-NOT:#define __UNSIGNED_CHAR__
196// SCHAR:#define __clang__ 1
197//
Eli Friedman865afc92010-08-03 17:34:19 +0000198// RUN: %clang_cc1 -E -dM -fshort-wchar < /dev/null | FileCheck -check-prefix SHORTWCHAR %s
NAKAMURA Takumi210fbcd2014-02-25 00:30:14 +0000199// 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 Friedman865afc92010-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//
NAKAMURA Takumi210fbcd2014-02-25 00:30:14 +0000208// 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
Richard Bartonc9b5f352014-02-24 18:43:28 +0000210//
211// SHORTWCHAR2: #define __SIZEOF_WCHAR_T__ 4
212// SHORTWCHAR2: #define __WCHAR_WIDTH__ 32
213// Other definitions vary from platform to platform
Christian Pirker227f5ed2014-03-24 13:57:21 +0000214
Kevin Qinad64f6d2014-02-24 02:45:03 +0000215// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-none-none < /dev/null | FileCheck -check-prefix AARCH64 %s
James Molloy96061a62014-04-17 12:51:36 +0000216// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm64-none-none < /dev/null | FileCheck -check-prefix AARCH64 %s
Kevin Qinad64f6d2014-02-24 02:45:03 +0000217//
218// AARCH64:#define _LP64 1
Christian Pirker227f5ed2014-03-24 13:57:21 +0000219// AARCH64-NOT:#define __AARCH64EB__ 1
Kevin Qinad64f6d2014-02-24 02:45:03 +0000220// AARCH64:#define __AARCH64EL__ 1
Christian Pirker227f5ed2014-03-24 13:57:21 +0000221// AARCH64-NOT:#define __AARCH_BIG_ENDIAN 1
Kevin Qinad64f6d2014-02-24 02:45:03 +0000222// AARCH64:#define __ARM_64BIT_STATE 1
223// AARCH64:#define __ARM_ARCH 8
224// AARCH64:#define __ARM_ARCH_ISA_A64 1
Christian Pirker227f5ed2014-03-24 13:57:21 +0000225// AARCH64-NOT:#define __ARM_BIG_ENDIAN 1
Kevin Qinad64f6d2014-02-24 02:45:03 +0000226// 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//
Christian Pirker227f5ed2014-03-24 13:57:21 +0000318// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64_be-none-none < /dev/null | FileCheck -check-prefix AARCH64-BE %s
James Molloy96061a62014-04-17 12:51:36 +0000319// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm64_be-none-none < /dev/null | FileCheck -check-prefix AARCH64-BE %s
Christian Pirker227f5ed2014-03-24 13:57:21 +0000320//
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//
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000421// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-netbsd < /dev/null | FileCheck -check-prefix AARCH64-NETBSD %s
422//
423// AARCH64-NETBSD:#define _LP64 1
Christian Pirker227f5ed2014-03-24 13:57:21 +0000424// AARCH64-NETBSD-NOT:#define __AARCH64EB__ 1
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000425// AARCH64-NETBSD:#define __AARCH64EL__ 1
Christian Pirker227f5ed2014-03-24 13:57:21 +0000426// AARCH64-NETBSD-NOT:#define __AARCH_BIG_ENDIAN 1
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000427// AARCH64-NETBSD:#define __ARM_64BIT_STATE 1
428// AARCH64-NETBSD:#define __ARM_ARCH 8
429// AARCH64-NETBSD:#define __ARM_ARCH_ISA_A64 1
Christian Pirker227f5ed2014-03-24 13:57:21 +0000430// AARCH64-NETBSD-NOT:#define __ARM_BIG_ENDIAN 1
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000431// 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
Joerg Sonnenberger1f5984c2014-03-26 11:48:29 +0000467// AARCH64-NETBSD:#define __INT64_C_SUFFIX__ LL
468// AARCH64-NETBSD:#define __INT64_TYPE__ long long int
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000469// AARCH64-NETBSD:#define __INT8_TYPE__ char
Joerg Sonnenberger1f5984c2014-03-26 11:48:29 +0000470// AARCH64-NETBSD:#define __INTMAX_MAX__ 9223372036854775807LL
471// AARCH64-NETBSD:#define __INTMAX_TYPE__ long long int
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000472// 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
Joerg Sonnenberger1f5984c2014-03-26 11:48:29 +0000515// AARCH64-NETBSD:#define __UINTMAX_TYPE__ long long unsigned int
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000516// 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
Christian Pirker227f5ed2014-03-24 13:57:21 +0000523
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000524// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s
Chris Lattnere963d092009-10-29 04:55:36 +0000525//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000526// ARM-NOT:#define _LP64
Chris Lattnere963d092009-10-29 04:55:36 +0000527// ARM:#define __APCS_32__ 1
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000528// ARM-NOT:#define __ARMEB__ 1
Chris Lattnere963d092009-10-29 04:55:36 +0000529// ARM:#define __ARMEL__ 1
Daniel Dunbaracde99e2009-12-18 18:42:37 +0000530// ARM:#define __ARM_ARCH_6J__ 1
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000531// ARM-NOT:#define __ARM_BIG_ENDIAN 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000532// ARM:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +0000533// ARM:#define __CHAR16_TYPE__ unsigned short
534// ARM:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-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 Dyck2dc8d5f2009-11-16 16:36:33 +0000567// ARM:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-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 Dyck9b25f782009-11-19 13:18:59 +0000571// ARM:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +0000572// ARM:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +0000573// ARM:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +0000574// ARM:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000575// ARM:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000576// ARM:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +0000577// ARM:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000578// ARM:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-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 Friedmanc6d2fdb2012-11-10 00:20:38 +0000585// ARM:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +0000586// ARM:#define __LDBL_MIN_10_EXP__ (-307)
587// ARM:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000588// ARM:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnere963d092009-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 Noblesmith8d48c8c2012-08-10 19:12:37 +0000592// ARM-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +0000593// ARM:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000594// ARM:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +0000595// ARM:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbaracde99e2009-12-18 18:42:37 +0000596// ARM:#define __REGISTER_PREFIX__
Chris Lattnere963d092009-10-29 04:55:36 +0000597// ARM:#define __SCHAR_MAX__ 127
598// ARM:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +0000599// ARM:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-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 Stepanovc3c725a2013-03-28 08:36:54 +0000612// ARM:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +0000613// ARM:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +0000614// ARM:#define __SIZE_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000615// ARM:#define __THUMB_INTERWORK__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +0000616// ARM:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000617// ARM:#define __USER_LABEL_PREFIX__ _
James Molloyc445be42011-11-23 13:35:08 +0000618// ARM:#define __WCHAR_MAX__ 4294967295U
619// ARM:#define __WCHAR_TYPE__ unsigned int
Ken Dyck0138b9e2009-11-19 15:47:58 +0000620// ARM:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000621// ARM:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +0000622// ARM:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000623// ARM:#define __arm 1
624// ARM:#define __arm__ 1
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000625
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000626// 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 Korobeynikove6f74092012-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//
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000730// ARMEABISOFTFP-NOT:#define _LP64
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000731// ARMEABISOFTFP:#define __APCS_32__ 1
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000732// ARMEABISOFTFP-NOT:#define __ARMEB__ 1
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000733// ARMEABISOFTFP:#define __ARMEL__ 1
734// ARMEABISOFTFP:#define __ARM_ARCH 6
735// ARMEABISOFTFP:#define __ARM_ARCH_6J__ 1
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000736// ARMEABISOFTFP-NOT:#define __ARM_BIG_ENDIAN 1
Anton Korobeynikove6f74092012-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 Friedmanc6d2fdb2012-11-10 00:20:38 +0000784// ARMEABISOFTFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000785// ARMEABISOFTFP:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000786// ARMEABISOFTFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikove6f74092012-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 Friedmanc6d2fdb2012-11-10 00:20:38 +0000793// ARMEABISOFTFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000794// ARMEABISOFTFP:#define __LDBL_MIN_10_EXP__ (-307)
795// ARMEABISOFTFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000796// ARMEABISOFTFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikove6f74092012-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 Stepanovc3c725a2013-03-28 08:36:54 +0000820// ARMEABISOFTFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikove6f74092012-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//
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000837// ARMEABIHARDFP-NOT:#define _LP64
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000838// ARMEABIHARDFP:#define __APCS_32__ 1
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000839// ARMEABIHARDFP-NOT:#define __ARMEB__ 1
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000840// ARMEABIHARDFP:#define __ARMEL__ 1
841// ARMEABIHARDFP:#define __ARM_ARCH 6
842// ARMEABIHARDFP:#define __ARM_ARCH_6J__ 1
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000843// ARMEABIHARDFP-NOT:#define __ARM_BIG_ENDIAN 1
Anton Korobeynikove6f74092012-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 Friedmanc6d2fdb2012-11-10 00:20:38 +0000891// ARMEABIHARDFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000892// ARMEABIHARDFP:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000893// ARMEABIHARDFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikove6f74092012-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 Friedmanc6d2fdb2012-11-10 00:20:38 +0000900// ARMEABIHARDFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000901// ARMEABIHARDFP:#define __LDBL_MIN_10_EXP__ (-307)
902// ARMEABIHARDFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000903// ARMEABIHARDFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikove6f74092012-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 Stepanovc3c725a2013-03-28 08:36:54 +0000927// ARMEABIHARDFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikove6f74092012-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
Joerg Sonnenberger4645b442014-05-13 18:58:00 +0000942// 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_EABI__ 1
950// ARM-NETBSD-NOT:#define __ARM_BIG_ENDIAN 1
951// ARM-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
952// ARM-NETBSD:#define __CHAR16_TYPE__ unsigned short
953// ARM-NETBSD:#define __CHAR32_TYPE__ unsigned int
954// ARM-NETBSD:#define __CHAR_BIT__ 8
955// ARM-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
956// ARM-NETBSD:#define __DBL_DIG__ 15
957// ARM-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
958// ARM-NETBSD:#define __DBL_HAS_DENORM__ 1
959// ARM-NETBSD:#define __DBL_HAS_INFINITY__ 1
960// ARM-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
961// ARM-NETBSD:#define __DBL_MANT_DIG__ 53
962// ARM-NETBSD:#define __DBL_MAX_10_EXP__ 308
963// ARM-NETBSD:#define __DBL_MAX_EXP__ 1024
964// ARM-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
965// ARM-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
966// ARM-NETBSD:#define __DBL_MIN_EXP__ (-1021)
967// ARM-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
968// ARM-NETBSD:#define __DECIMAL_DIG__ 17
969// ARM-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
970// ARM-NETBSD:#define __FLT_DIG__ 6
971// ARM-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
972// ARM-NETBSD:#define __FLT_EVAL_METHOD__ 0
973// ARM-NETBSD:#define __FLT_HAS_DENORM__ 1
974// ARM-NETBSD:#define __FLT_HAS_INFINITY__ 1
975// ARM-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
976// ARM-NETBSD:#define __FLT_MANT_DIG__ 24
977// ARM-NETBSD:#define __FLT_MAX_10_EXP__ 38
978// ARM-NETBSD:#define __FLT_MAX_EXP__ 128
979// ARM-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
980// ARM-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
981// ARM-NETBSD:#define __FLT_MIN_EXP__ (-125)
982// ARM-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
983// ARM-NETBSD:#define __FLT_RADIX__ 2
984// ARM-NETBSD:#define __INT16_TYPE__ short
985// ARM-NETBSD:#define __INT32_TYPE__ int
986// ARM-NETBSD:#define __INT64_C_SUFFIX__ LL
987// ARM-NETBSD:#define __INT64_TYPE__ long long int
988// ARM-NETBSD:#define __INT8_TYPE__ char
989// ARM-NETBSD:#define __INTMAX_MAX__ 9223372036854775807LL
990// ARM-NETBSD:#define __INTMAX_TYPE__ long long int
991// ARM-NETBSD:#define __INTMAX_WIDTH__ 64
992// ARM-NETBSD:#define __INTPTR_TYPE__ long int
993// ARM-NETBSD:#define __INTPTR_WIDTH__ 32
994// ARM-NETBSD:#define __INT_MAX__ 2147483647
995// ARM-NETBSD:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
996// ARM-NETBSD:#define __LDBL_DIG__ 15
997// ARM-NETBSD:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
998// ARM-NETBSD:#define __LDBL_HAS_DENORM__ 1
999// ARM-NETBSD:#define __LDBL_HAS_INFINITY__ 1
1000// ARM-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
1001// ARM-NETBSD:#define __LDBL_MANT_DIG__ 53
1002// ARM-NETBSD:#define __LDBL_MAX_10_EXP__ 308
1003// ARM-NETBSD:#define __LDBL_MAX_EXP__ 1024
1004// ARM-NETBSD:#define __LDBL_MAX__ 1.7976931348623157e+308L
1005// ARM-NETBSD:#define __LDBL_MIN_10_EXP__ (-307)
1006// ARM-NETBSD:#define __LDBL_MIN_EXP__ (-1021)
1007// ARM-NETBSD:#define __LDBL_MIN__ 2.2250738585072014e-308L
1008// ARM-NETBSD:#define __LITTLE_ENDIAN__ 1
1009// ARM-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
1010// ARM-NETBSD:#define __LONG_MAX__ 2147483647L
1011// ARM-NETBSD-NOT:#define __LP64__
1012// ARM-NETBSD:#define __POINTER_WIDTH__ 32
1013// ARM-NETBSD:#define __PTRDIFF_TYPE__ long int
1014// ARM-NETBSD:#define __PTRDIFF_WIDTH__ 32
1015// ARM-NETBSD:#define __REGISTER_PREFIX__
1016// ARM-NETBSD:#define __SCHAR_MAX__ 127
1017// ARM-NETBSD:#define __SHRT_MAX__ 32767
1018// ARM-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
1019// ARM-NETBSD:#define __SIZEOF_DOUBLE__ 8
1020// ARM-NETBSD:#define __SIZEOF_FLOAT__ 4
1021// ARM-NETBSD:#define __SIZEOF_INT__ 4
1022// ARM-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 8
1023// ARM-NETBSD:#define __SIZEOF_LONG_LONG__ 8
1024// ARM-NETBSD:#define __SIZEOF_LONG__ 4
1025// ARM-NETBSD:#define __SIZEOF_POINTER__ 4
1026// ARM-NETBSD:#define __SIZEOF_PTRDIFF_T__ 4
1027// ARM-NETBSD:#define __SIZEOF_SHORT__ 2
1028// ARM-NETBSD:#define __SIZEOF_SIZE_T__ 4
1029// ARM-NETBSD:#define __SIZEOF_WCHAR_T__ 4
1030// ARM-NETBSD:#define __SIZEOF_WINT_T__ 4
1031// ARM-NETBSD:#define __SIZE_MAX__ 4294967295U
1032// ARM-NETBSD:#define __SIZE_TYPE__ long unsigned int
1033// ARM-NETBSD:#define __SIZE_WIDTH__ 32
1034// ARM-NETBSD:#define __THUMB_INTERWORK__ 1
1035// ARM-NETBSD:#define __UINTMAX_TYPE__ long long unsigned int
1036// ARM-NETBSD:#define __USER_LABEL_PREFIX__
1037// ARM-NETBSD:#define __WCHAR_MAX__ 2147483647
1038// ARM-NETBSD:#define __WCHAR_TYPE__ int
1039// ARM-NETBSD:#define __WCHAR_WIDTH__ 32
1040// ARM-NETBSD:#define __WINT_TYPE__ int
1041// ARM-NETBSD:#define __WINT_WIDTH__ 32
1042// ARM-NETBSD:#define __arm 1
1043// ARM-NETBSD:#define __arm__ 1
1044
Tim Northovere77f78c2013-11-11 19:11:22 +00001045// RUN: %clang -target arm -arch armv7s -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
1046// RUN: %clang -target arm -arch armv6m -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
1047// RUN: %clang -target arm -arch armv7m -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
1048// RUN: %clang -target arm -arch armv7em -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
1049// RUN: %clang -target thumbv7-apple-darwin-eabi -arch armv7 -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
1050// ARM-DARWIN-NO-EABI-NOT: #define __ARM_EABI__ 1
1051
Silviu Barangaf9671dd2013-10-21 10:54:53 +00001052// Check that -mhwdiv works properly for targets which don't have the hwdiv feature enabled by default.
1053
1054// RUN: %clang -target arm -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-ARM %s
1055// ARMHWDIV-ARM:#define __ARM_ARCH_EXT_IDIV__ 1
1056
1057// RUN: %clang -target arm -mthumb -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-THUMB %s
1058// THUMBHWDIV-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1
1059
1060// RUN: %clang -target arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-FALSE %s
1061// ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
1062
1063// RUN: %clang -target arm -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMB-FALSE %s
1064// THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
1065
1066// RUN: %clang -target arm -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-ARM-FALSE %s
1067// THUMBHWDIV-ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
1068
1069// RUN: %clang -target arm -mthumb -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-THUMB-FALSE %s
1070// ARMHWDIV-THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
1071
Weiming Zhaofb5c21a2014-01-22 18:42:13 +00001072// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armv8-none-none < /dev/null | FileCheck -check-prefix ARMv8 %s
1073// ARMv8: #define __THUMB_INTERWORK__ 1
1074// ARMv8-NOT: #define __thumb2__
1075
Christian Pirkerf01cd6f2014-03-28 14:40:46 +00001076// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armebv8-none-none < /dev/null | FileCheck -check-prefix ARMebv8 %s
1077// ARMebv8: #define __THUMB_INTERWORK__ 1
1078// ARMebv8-NOT: #define __thumb2__
1079
Weiming Zhaofb5c21a2014-01-22 18:42:13 +00001080// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv8 < /dev/null | FileCheck -check-prefix Thumbv8 %s
1081// Thumbv8: #define __THUMB_INTERWORK__ 1
1082// Thumbv8: #define __thumb2__
1083
Christian Pirkerf01cd6f2014-03-28 14:40:46 +00001084// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbebv8 < /dev/null | FileCheck -check-prefix Thumbebv8 %s
1085// Thumbebv8: #define __THUMB_INTERWORK__ 1
1086// Thumbebv8: #define __thumb2__
1087
Weiming Zhaofb5c21a2014-01-22 18:42:13 +00001088// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv5 < /dev/null | FileCheck -check-prefix Thumbv5 %s
1089// Thumbv5: #define __THUMB_INTERWORK__ 1
1090// Thumbv5-NOT: #define __thumb2__
1091
1092// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv6t2 < /dev/null | FileCheck -check-prefix Thumbv6t2 %s
1093// Thumbv6t2: #define __THUMB_INTERWORK__ 1
1094// Thumbv6t2: #define __thumb2__
1095
1096// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv7 < /dev/null | FileCheck -check-prefix Thumbv7 %s
1097// Thumbv7: #define __THUMB_INTERWORK__ 1
1098// Thumbv7: #define __thumb2__
1099
Christian Pirkerf01cd6f2014-03-28 14:40:46 +00001100// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbebv7 < /dev/null | FileCheck -check-prefix Thumbebv7 %s
1101// Thumbebv7: #define __THUMB_INTERWORK__ 1
1102// Thumbebv7: #define __thumb2__
1103
Chris Lattnere963d092009-10-29 04:55:36 +00001104//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00001105// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
Chris Lattnere963d092009-10-29 04:55:36 +00001106//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001107// I386-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001108// I386:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00001109// I386:#define __CHAR16_TYPE__ unsigned short
1110// I386:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001111// I386:#define __CHAR_BIT__ 8
1112// I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1113// I386:#define __DBL_DIG__ 15
1114// I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
1115// I386:#define __DBL_HAS_DENORM__ 1
1116// I386:#define __DBL_HAS_INFINITY__ 1
1117// I386:#define __DBL_HAS_QUIET_NAN__ 1
1118// I386:#define __DBL_MANT_DIG__ 53
1119// I386:#define __DBL_MAX_10_EXP__ 308
1120// I386:#define __DBL_MAX_EXP__ 1024
1121// I386:#define __DBL_MAX__ 1.7976931348623157e+308
1122// I386:#define __DBL_MIN_10_EXP__ (-307)
1123// I386:#define __DBL_MIN_EXP__ (-1021)
1124// I386:#define __DBL_MIN__ 2.2250738585072014e-308
1125// I386:#define __DECIMAL_DIG__ 21
1126// I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1127// I386:#define __FLT_DIG__ 6
1128// I386:#define __FLT_EPSILON__ 1.19209290e-7F
Benjamin Kramercf501472011-12-28 15:47:06 +00001129// I386:#define __FLT_EVAL_METHOD__ 2
Chris Lattnere963d092009-10-29 04:55:36 +00001130// I386:#define __FLT_HAS_DENORM__ 1
1131// I386:#define __FLT_HAS_INFINITY__ 1
1132// I386:#define __FLT_HAS_QUIET_NAN__ 1
1133// I386:#define __FLT_MANT_DIG__ 24
1134// I386:#define __FLT_MAX_10_EXP__ 38
1135// I386:#define __FLT_MAX_EXP__ 128
1136// I386:#define __FLT_MAX__ 3.40282347e+38F
1137// I386:#define __FLT_MIN_10_EXP__ (-37)
1138// I386:#define __FLT_MIN_EXP__ (-125)
1139// I386:#define __FLT_MIN__ 1.17549435e-38F
1140// I386:#define __FLT_RADIX__ 2
1141// I386:#define __INT16_TYPE__ short
1142// I386:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00001143// I386:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00001144// I386:#define __INT64_TYPE__ long long int
1145// I386:#define __INT8_TYPE__ char
1146// I386:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00001147// I386:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00001148// I386:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00001149// I386:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00001150// I386:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00001151// I386:#define __INT_MAX__ 2147483647
1152// I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1153// I386:#define __LDBL_DIG__ 18
1154// I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1155// I386:#define __LDBL_HAS_DENORM__ 1
1156// I386:#define __LDBL_HAS_INFINITY__ 1
1157// I386:#define __LDBL_HAS_QUIET_NAN__ 1
1158// I386:#define __LDBL_MANT_DIG__ 64
1159// I386:#define __LDBL_MAX_10_EXP__ 4932
1160// I386:#define __LDBL_MAX_EXP__ 16384
1161// I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1162// I386:#define __LDBL_MIN_10_EXP__ (-4931)
1163// I386:#define __LDBL_MIN_EXP__ (-16381)
1164// I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1165// I386:#define __LITTLE_ENDIAN__ 1
1166// I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
1167// I386:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001168// I386-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00001169// I386:#define __NO_MATH_INLINES 1
1170// I386:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00001171// I386:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00001172// I386:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00001173// I386:#define __REGISTER_PREFIX__
1174// I386:#define __SCHAR_MAX__ 127
1175// I386:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00001176// I386:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00001177// I386:#define __SIZEOF_DOUBLE__ 8
1178// I386:#define __SIZEOF_FLOAT__ 4
1179// I386:#define __SIZEOF_INT__ 4
1180// I386:#define __SIZEOF_LONG_DOUBLE__ 12
1181// I386:#define __SIZEOF_LONG_LONG__ 8
1182// I386:#define __SIZEOF_LONG__ 4
1183// I386:#define __SIZEOF_POINTER__ 4
1184// I386:#define __SIZEOF_PTRDIFF_T__ 4
1185// I386:#define __SIZEOF_SHORT__ 2
1186// I386:#define __SIZEOF_SIZE_T__ 4
1187// I386:#define __SIZEOF_WCHAR_T__ 4
1188// I386:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001189// I386:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00001190// I386:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00001191// I386:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00001192// I386:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001193// I386:#define __USER_LABEL_PREFIX__ _
1194// I386:#define __WCHAR_MAX__ 2147483647
1195// I386:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00001196// I386:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00001197// I386:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00001198// I386:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00001199// I386:#define __i386 1
1200// I386:#define __i386__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00001201// I386:#define i386 1
1202//
Benjamin Kramercf501472011-12-28 15:47:06 +00001203// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-pc-linux-gnu -target-cpu pentium4 < /dev/null | FileCheck -check-prefix I386-LINUX %s
Douglas Gregore6d6e512011-01-12 21:19:25 +00001204//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001205// I386-LINUX-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001206// I386-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregore6d6e512011-01-12 21:19:25 +00001207// I386-LINUX:#define __CHAR16_TYPE__ unsigned short
1208// I386-LINUX:#define __CHAR32_TYPE__ unsigned int
1209// I386-LINUX:#define __CHAR_BIT__ 8
1210// I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1211// I386-LINUX:#define __DBL_DIG__ 15
1212// I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
1213// I386-LINUX:#define __DBL_HAS_DENORM__ 1
1214// I386-LINUX:#define __DBL_HAS_INFINITY__ 1
1215// I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
1216// I386-LINUX:#define __DBL_MANT_DIG__ 53
1217// I386-LINUX:#define __DBL_MAX_10_EXP__ 308
1218// I386-LINUX:#define __DBL_MAX_EXP__ 1024
1219// I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
1220// I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
1221// I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
1222// I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
1223// I386-LINUX:#define __DECIMAL_DIG__ 21
1224// I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1225// I386-LINUX:#define __FLT_DIG__ 6
1226// I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
1227// I386-LINUX:#define __FLT_EVAL_METHOD__ 0
1228// I386-LINUX:#define __FLT_HAS_DENORM__ 1
1229// I386-LINUX:#define __FLT_HAS_INFINITY__ 1
1230// I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
1231// I386-LINUX:#define __FLT_MANT_DIG__ 24
1232// I386-LINUX:#define __FLT_MAX_10_EXP__ 38
1233// I386-LINUX:#define __FLT_MAX_EXP__ 128
1234// I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
1235// I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
1236// I386-LINUX:#define __FLT_MIN_EXP__ (-125)
1237// I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
1238// I386-LINUX:#define __FLT_RADIX__ 2
1239// I386-LINUX:#define __INT16_TYPE__ short
1240// I386-LINUX:#define __INT32_TYPE__ int
1241// I386-LINUX:#define __INT64_C_SUFFIX__ LL
1242// I386-LINUX:#define __INT64_TYPE__ long long int
1243// I386-LINUX:#define __INT8_TYPE__ char
1244// I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
1245// I386-LINUX:#define __INTMAX_TYPE__ long long int
1246// I386-LINUX:#define __INTMAX_WIDTH__ 64
1247// I386-LINUX:#define __INTPTR_TYPE__ int
1248// I386-LINUX:#define __INTPTR_WIDTH__ 32
1249// I386-LINUX:#define __INT_MAX__ 2147483647
1250// I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1251// I386-LINUX:#define __LDBL_DIG__ 18
1252// I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1253// I386-LINUX:#define __LDBL_HAS_DENORM__ 1
1254// I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
1255// I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
1256// I386-LINUX:#define __LDBL_MANT_DIG__ 64
1257// I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
1258// I386-LINUX:#define __LDBL_MAX_EXP__ 16384
1259// I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1260// I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
1261// I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
1262// I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1263// I386-LINUX:#define __LITTLE_ENDIAN__ 1
1264// I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
1265// I386-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001266// I386-LINUX-NOT:#define __LP64__
Douglas Gregore6d6e512011-01-12 21:19:25 +00001267// I386-LINUX:#define __NO_MATH_INLINES 1
1268// I386-LINUX:#define __POINTER_WIDTH__ 32
1269// I386-LINUX:#define __PTRDIFF_TYPE__ int
1270// I386-LINUX:#define __PTRDIFF_WIDTH__ 32
1271// I386-LINUX:#define __REGISTER_PREFIX__
1272// I386-LINUX:#define __SCHAR_MAX__ 127
1273// I386-LINUX:#define __SHRT_MAX__ 32767
1274// I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
1275// I386-LINUX:#define __SIZEOF_DOUBLE__ 8
1276// I386-LINUX:#define __SIZEOF_FLOAT__ 4
1277// I386-LINUX:#define __SIZEOF_INT__ 4
1278// I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
1279// I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
1280// I386-LINUX:#define __SIZEOF_LONG__ 4
1281// I386-LINUX:#define __SIZEOF_POINTER__ 4
1282// I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
1283// I386-LINUX:#define __SIZEOF_SHORT__ 2
1284// I386-LINUX:#define __SIZEOF_SIZE_T__ 4
1285// I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
1286// I386-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001287// I386-LINUX:#define __SIZE_MAX__ 4294967295U
Douglas Gregore6d6e512011-01-12 21:19:25 +00001288// I386-LINUX:#define __SIZE_TYPE__ unsigned int
1289// I386-LINUX:#define __SIZE_WIDTH__ 32
1290// I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
1291// I386-LINUX:#define __USER_LABEL_PREFIX__
1292// I386-LINUX:#define __WCHAR_MAX__ 2147483647
1293// I386-LINUX:#define __WCHAR_TYPE__ int
1294// I386-LINUX:#define __WCHAR_WIDTH__ 32
1295// I386-LINUX:#define __WINT_TYPE__ unsigned int
1296// I386-LINUX:#define __WINT_WIDTH__ 32
1297// I386-LINUX:#define __i386 1
1298// I386-LINUX:#define __i386__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00001299// I386-LINUX:#define i386 1
1300//
Joerg Sonnenberger0e921f22013-11-11 14:00:37 +00001301// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd < /dev/null | FileCheck -check-prefix I386-NETBSD %s
1302//
1303// I386-NETBSD-NOT:#define _LP64
1304// I386-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1305// I386-NETBSD:#define __CHAR16_TYPE__ unsigned short
1306// I386-NETBSD:#define __CHAR32_TYPE__ unsigned int
1307// I386-NETBSD:#define __CHAR_BIT__ 8
1308// I386-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1309// I386-NETBSD:#define __DBL_DIG__ 15
1310// I386-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
1311// I386-NETBSD:#define __DBL_HAS_DENORM__ 1
1312// I386-NETBSD:#define __DBL_HAS_INFINITY__ 1
1313// I386-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
1314// I386-NETBSD:#define __DBL_MANT_DIG__ 53
1315// I386-NETBSD:#define __DBL_MAX_10_EXP__ 308
1316// I386-NETBSD:#define __DBL_MAX_EXP__ 1024
1317// I386-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
1318// I386-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
1319// I386-NETBSD:#define __DBL_MIN_EXP__ (-1021)
1320// I386-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
1321// I386-NETBSD:#define __DECIMAL_DIG__ 21
1322// I386-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1323// I386-NETBSD:#define __FLT_DIG__ 6
1324// I386-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
1325// I386-NETBSD:#define __FLT_EVAL_METHOD__ 2
1326// I386-NETBSD:#define __FLT_HAS_DENORM__ 1
1327// I386-NETBSD:#define __FLT_HAS_INFINITY__ 1
1328// I386-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
1329// I386-NETBSD:#define __FLT_MANT_DIG__ 24
1330// I386-NETBSD:#define __FLT_MAX_10_EXP__ 38
1331// I386-NETBSD:#define __FLT_MAX_EXP__ 128
1332// I386-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
1333// I386-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
1334// I386-NETBSD:#define __FLT_MIN_EXP__ (-125)
1335// I386-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
1336// I386-NETBSD:#define __FLT_RADIX__ 2
1337// I386-NETBSD:#define __INT16_TYPE__ short
1338// I386-NETBSD:#define __INT32_TYPE__ int
1339// I386-NETBSD:#define __INT64_C_SUFFIX__ LL
1340// I386-NETBSD:#define __INT64_TYPE__ long long int
1341// I386-NETBSD:#define __INT8_TYPE__ char
1342// I386-NETBSD:#define __INTMAX_MAX__ 9223372036854775807LL
1343// I386-NETBSD:#define __INTMAX_TYPE__ long long int
1344// I386-NETBSD:#define __INTMAX_WIDTH__ 64
1345// I386-NETBSD:#define __INTPTR_TYPE__ int
1346// I386-NETBSD:#define __INTPTR_WIDTH__ 32
1347// I386-NETBSD:#define __INT_MAX__ 2147483647
1348// I386-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1349// I386-NETBSD:#define __LDBL_DIG__ 18
1350// I386-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1351// I386-NETBSD:#define __LDBL_HAS_DENORM__ 1
1352// I386-NETBSD:#define __LDBL_HAS_INFINITY__ 1
1353// I386-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
1354// I386-NETBSD:#define __LDBL_MANT_DIG__ 64
1355// I386-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
1356// I386-NETBSD:#define __LDBL_MAX_EXP__ 16384
1357// I386-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1358// I386-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
1359// I386-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
1360// I386-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1361// I386-NETBSD:#define __LITTLE_ENDIAN__ 1
1362// I386-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
1363// I386-NETBSD:#define __LONG_MAX__ 2147483647L
1364// I386-NETBSD-NOT:#define __LP64__
1365// I386-NETBSD:#define __NO_MATH_INLINES 1
1366// I386-NETBSD:#define __POINTER_WIDTH__ 32
1367// I386-NETBSD:#define __PTRDIFF_TYPE__ int
1368// I386-NETBSD:#define __PTRDIFF_WIDTH__ 32
1369// I386-NETBSD:#define __REGISTER_PREFIX__
1370// I386-NETBSD:#define __SCHAR_MAX__ 127
1371// I386-NETBSD:#define __SHRT_MAX__ 32767
1372// I386-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
1373// I386-NETBSD:#define __SIZEOF_DOUBLE__ 8
1374// I386-NETBSD:#define __SIZEOF_FLOAT__ 4
1375// I386-NETBSD:#define __SIZEOF_INT__ 4
1376// I386-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 12
1377// I386-NETBSD:#define __SIZEOF_LONG_LONG__ 8
1378// I386-NETBSD:#define __SIZEOF_LONG__ 4
1379// I386-NETBSD:#define __SIZEOF_POINTER__ 4
1380// I386-NETBSD:#define __SIZEOF_PTRDIFF_T__ 4
1381// I386-NETBSD:#define __SIZEOF_SHORT__ 2
1382// I386-NETBSD:#define __SIZEOF_SIZE_T__ 4
1383// I386-NETBSD:#define __SIZEOF_WCHAR_T__ 4
1384// I386-NETBSD:#define __SIZEOF_WINT_T__ 4
1385// I386-NETBSD:#define __SIZE_MAX__ 4294967295U
1386// I386-NETBSD:#define __SIZE_TYPE__ unsigned int
1387// I386-NETBSD:#define __SIZE_WIDTH__ 32
1388// I386-NETBSD:#define __UINTMAX_TYPE__ long long unsigned int
1389// I386-NETBSD:#define __USER_LABEL_PREFIX__
1390// I386-NETBSD:#define __WCHAR_MAX__ 2147483647
1391// I386-NETBSD:#define __WCHAR_TYPE__ int
1392// I386-NETBSD:#define __WCHAR_WIDTH__ 32
1393// I386-NETBSD:#define __WINT_TYPE__ int
1394// I386-NETBSD:#define __WINT_WIDTH__ 32
1395// I386-NETBSD:#define __i386 1
1396// I386-NETBSD:#define __i386__ 1
1397// I386-NETBSD:#define i386 1
1398//
1399// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD-SSE %s
1400// I386-NETBSD-SSE:#define __FLT_EVAL_METHOD__ 0
1401// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 < /dev/null | FileCheck -check-prefix I386-NETBSD6 %s
1402// I386-NETBSD6:#define __FLT_EVAL_METHOD__ 1
1403// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD6-SSE %s
1404// I386-NETBSD6-SSE:#define __FLT_EVAL_METHOD__ 1
1405
1406//
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001407// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none < /dev/null | FileCheck -check-prefix MIPS32BE %s
1408//
1409// MIPS32BE:#define MIPSEB 1
1410// MIPS32BE:#define _ABIO32 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001411// MIPS32BE-NOT:#define _LP64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001412// MIPS32BE:#define _MIPSEB 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001413// MIPS32BE:#define _MIPS_ARCH "mips32r2"
1414// MIPS32BE:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001415// MIPS32BE:#define _MIPS_FPSET 16
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001416// MIPS32BE:#define _MIPS_SIM _ABIO32
1417// MIPS32BE:#define _MIPS_SZINT 32
1418// MIPS32BE:#define _MIPS_SZLONG 32
1419// MIPS32BE:#define _MIPS_SZPTR 32
Robert Lytton2c942c62014-03-10 12:06:29 +00001420// MIPS32BE:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001421// MIPS32BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001422// MIPS32BE:#define __CHAR16_TYPE__ unsigned short
1423// MIPS32BE:#define __CHAR32_TYPE__ unsigned int
1424// MIPS32BE:#define __CHAR_BIT__ 8
1425// MIPS32BE:#define __CONSTANT_CFSTRINGS__ 1
1426// MIPS32BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1427// MIPS32BE:#define __DBL_DIG__ 15
1428// MIPS32BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
1429// MIPS32BE:#define __DBL_HAS_DENORM__ 1
1430// MIPS32BE:#define __DBL_HAS_INFINITY__ 1
1431// MIPS32BE:#define __DBL_HAS_QUIET_NAN__ 1
1432// MIPS32BE:#define __DBL_MANT_DIG__ 53
1433// MIPS32BE:#define __DBL_MAX_10_EXP__ 308
1434// MIPS32BE:#define __DBL_MAX_EXP__ 1024
1435// MIPS32BE:#define __DBL_MAX__ 1.7976931348623157e+308
1436// MIPS32BE:#define __DBL_MIN_10_EXP__ (-307)
1437// MIPS32BE:#define __DBL_MIN_EXP__ (-1021)
1438// MIPS32BE:#define __DBL_MIN__ 2.2250738585072014e-308
1439// MIPS32BE:#define __DECIMAL_DIG__ 17
1440// MIPS32BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1441// MIPS32BE:#define __FLT_DIG__ 6
1442// MIPS32BE:#define __FLT_EPSILON__ 1.19209290e-7F
1443// MIPS32BE:#define __FLT_EVAL_METHOD__ 0
1444// MIPS32BE:#define __FLT_HAS_DENORM__ 1
1445// MIPS32BE:#define __FLT_HAS_INFINITY__ 1
1446// MIPS32BE:#define __FLT_HAS_QUIET_NAN__ 1
1447// MIPS32BE:#define __FLT_MANT_DIG__ 24
1448// MIPS32BE:#define __FLT_MAX_10_EXP__ 38
1449// MIPS32BE:#define __FLT_MAX_EXP__ 128
1450// MIPS32BE:#define __FLT_MAX__ 3.40282347e+38F
1451// MIPS32BE:#define __FLT_MIN_10_EXP__ (-37)
1452// MIPS32BE:#define __FLT_MIN_EXP__ (-125)
1453// MIPS32BE:#define __FLT_MIN__ 1.17549435e-38F
1454// MIPS32BE:#define __FLT_RADIX__ 2
1455// MIPS32BE:#define __INT16_TYPE__ short
1456// MIPS32BE:#define __INT32_TYPE__ int
1457// MIPS32BE:#define __INT64_C_SUFFIX__ LL
1458// MIPS32BE:#define __INT64_TYPE__ long long int
1459// MIPS32BE:#define __INT8_TYPE__ char
1460// MIPS32BE:#define __INTMAX_MAX__ 9223372036854775807LL
1461// MIPS32BE:#define __INTMAX_TYPE__ long long int
1462// MIPS32BE:#define __INTMAX_WIDTH__ 64
1463// MIPS32BE:#define __INTPTR_TYPE__ long int
1464// MIPS32BE:#define __INTPTR_WIDTH__ 32
1465// MIPS32BE:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001466// MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001467// MIPS32BE:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001468// MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001469// MIPS32BE:#define __LDBL_HAS_DENORM__ 1
1470// MIPS32BE:#define __LDBL_HAS_INFINITY__ 1
1471// MIPS32BE:#define __LDBL_HAS_QUIET_NAN__ 1
1472// MIPS32BE:#define __LDBL_MANT_DIG__ 53
1473// MIPS32BE:#define __LDBL_MAX_10_EXP__ 308
1474// MIPS32BE:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001475// MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001476// MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307)
1477// MIPS32BE:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001478// MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001479// MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1480// MIPS32BE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001481// MIPS32BE-NOT:#define __LP64__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001482// MIPS32BE:#define __MIPSEB 1
1483// MIPS32BE:#define __MIPSEB__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001484// MIPS32BE:#define __POINTER_WIDTH__ 32
1485// MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1
1486// MIPS32BE:#define __PTRDIFF_TYPE__ int
1487// MIPS32BE:#define __PTRDIFF_WIDTH__ 32
1488// MIPS32BE:#define __REGISTER_PREFIX__
1489// MIPS32BE:#define __SCHAR_MAX__ 127
1490// MIPS32BE:#define __SHRT_MAX__ 32767
1491// MIPS32BE:#define __SIG_ATOMIC_WIDTH__ 32
1492// MIPS32BE:#define __SIZEOF_DOUBLE__ 8
1493// MIPS32BE:#define __SIZEOF_FLOAT__ 4
1494// MIPS32BE:#define __SIZEOF_INT__ 4
1495// MIPS32BE:#define __SIZEOF_LONG_DOUBLE__ 8
1496// MIPS32BE:#define __SIZEOF_LONG_LONG__ 8
1497// MIPS32BE:#define __SIZEOF_LONG__ 4
1498// MIPS32BE:#define __SIZEOF_POINTER__ 4
1499// MIPS32BE:#define __SIZEOF_PTRDIFF_T__ 4
1500// MIPS32BE:#define __SIZEOF_SHORT__ 2
1501// MIPS32BE:#define __SIZEOF_SIZE_T__ 4
1502// MIPS32BE:#define __SIZEOF_WCHAR_T__ 4
1503// MIPS32BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001504// MIPS32BE:#define __SIZE_MAX__ 4294967295U
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001505// MIPS32BE:#define __SIZE_TYPE__ unsigned int
1506// MIPS32BE:#define __SIZE_WIDTH__ 32
1507// MIPS32BE:#define __STDC_HOSTED__ 0
1508// MIPS32BE:#define __STDC_VERSION__ 199901L
1509// MIPS32BE:#define __STDC__ 1
1510// MIPS32BE:#define __UINTMAX_TYPE__ long long unsigned int
1511// MIPS32BE:#define __USER_LABEL_PREFIX__ _
1512// MIPS32BE:#define __WCHAR_MAX__ 2147483647
1513// MIPS32BE:#define __WCHAR_TYPE__ int
1514// MIPS32BE:#define __WCHAR_WIDTH__ 32
1515// MIPS32BE:#define __WINT_TYPE__ int
1516// MIPS32BE:#define __WINT_WIDTH__ 32
1517// MIPS32BE:#define __clang__ 1
1518// MIPS32BE:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001519// MIPS32BE:#define __mips 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001520// MIPS32BE:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001521// MIPS32BE:#define __mips_fpr 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001522// MIPS32BE:#define __mips_hard_float 1
1523// MIPS32BE:#define __mips_o32 1
1524// MIPS32BE:#define _mips 1
1525// MIPS32BE:#define mips 1
1526//
1527// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -check-prefix MIPS32EL %s
1528//
1529// MIPS32EL:#define MIPSEL 1
1530// MIPS32EL:#define _ABIO32 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001531// MIPS32EL-NOT:#define _LP64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001532// MIPS32EL:#define _MIPSEL 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001533// MIPS32EL:#define _MIPS_ARCH "mips32r2"
1534// MIPS32EL:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001535// MIPS32EL:#define _MIPS_FPSET 16
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001536// MIPS32EL:#define _MIPS_SIM _ABIO32
1537// MIPS32EL:#define _MIPS_SZINT 32
1538// MIPS32EL:#define _MIPS_SZLONG 32
1539// MIPS32EL:#define _MIPS_SZPTR 32
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001540// MIPS32EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001541// MIPS32EL:#define __CHAR16_TYPE__ unsigned short
1542// MIPS32EL:#define __CHAR32_TYPE__ unsigned int
1543// MIPS32EL:#define __CHAR_BIT__ 8
1544// MIPS32EL:#define __CONSTANT_CFSTRINGS__ 1
1545// MIPS32EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1546// MIPS32EL:#define __DBL_DIG__ 15
1547// MIPS32EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1548// MIPS32EL:#define __DBL_HAS_DENORM__ 1
1549// MIPS32EL:#define __DBL_HAS_INFINITY__ 1
1550// MIPS32EL:#define __DBL_HAS_QUIET_NAN__ 1
1551// MIPS32EL:#define __DBL_MANT_DIG__ 53
1552// MIPS32EL:#define __DBL_MAX_10_EXP__ 308
1553// MIPS32EL:#define __DBL_MAX_EXP__ 1024
1554// MIPS32EL:#define __DBL_MAX__ 1.7976931348623157e+308
1555// MIPS32EL:#define __DBL_MIN_10_EXP__ (-307)
1556// MIPS32EL:#define __DBL_MIN_EXP__ (-1021)
1557// MIPS32EL:#define __DBL_MIN__ 2.2250738585072014e-308
1558// MIPS32EL:#define __DECIMAL_DIG__ 17
1559// MIPS32EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1560// MIPS32EL:#define __FLT_DIG__ 6
1561// MIPS32EL:#define __FLT_EPSILON__ 1.19209290e-7F
1562// MIPS32EL:#define __FLT_EVAL_METHOD__ 0
1563// MIPS32EL:#define __FLT_HAS_DENORM__ 1
1564// MIPS32EL:#define __FLT_HAS_INFINITY__ 1
1565// MIPS32EL:#define __FLT_HAS_QUIET_NAN__ 1
1566// MIPS32EL:#define __FLT_MANT_DIG__ 24
1567// MIPS32EL:#define __FLT_MAX_10_EXP__ 38
1568// MIPS32EL:#define __FLT_MAX_EXP__ 128
1569// MIPS32EL:#define __FLT_MAX__ 3.40282347e+38F
1570// MIPS32EL:#define __FLT_MIN_10_EXP__ (-37)
1571// MIPS32EL:#define __FLT_MIN_EXP__ (-125)
1572// MIPS32EL:#define __FLT_MIN__ 1.17549435e-38F
1573// MIPS32EL:#define __FLT_RADIX__ 2
1574// MIPS32EL:#define __INT16_TYPE__ short
1575// MIPS32EL:#define __INT32_TYPE__ int
1576// MIPS32EL:#define __INT64_C_SUFFIX__ LL
1577// MIPS32EL:#define __INT64_TYPE__ long long int
1578// MIPS32EL:#define __INT8_TYPE__ char
1579// MIPS32EL:#define __INTMAX_MAX__ 9223372036854775807LL
1580// MIPS32EL:#define __INTMAX_TYPE__ long long int
1581// MIPS32EL:#define __INTMAX_WIDTH__ 64
1582// MIPS32EL:#define __INTPTR_TYPE__ long int
1583// MIPS32EL:#define __INTPTR_WIDTH__ 32
1584// MIPS32EL:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001585// MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001586// MIPS32EL:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001587// MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001588// MIPS32EL:#define __LDBL_HAS_DENORM__ 1
1589// MIPS32EL:#define __LDBL_HAS_INFINITY__ 1
1590// MIPS32EL:#define __LDBL_HAS_QUIET_NAN__ 1
1591// MIPS32EL:#define __LDBL_MANT_DIG__ 53
1592// MIPS32EL:#define __LDBL_MAX_10_EXP__ 308
1593// MIPS32EL:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001594// MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001595// MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307)
1596// MIPS32EL:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001597// MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308L
Robert Lytton2c942c62014-03-10 12:06:29 +00001598// MIPS32EL:#define __LITTLE_ENDIAN__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001599// MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1600// MIPS32EL:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001601// MIPS32EL-NOT:#define __LP64__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001602// MIPS32EL:#define __MIPSEL 1
1603// MIPS32EL:#define __MIPSEL__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001604// MIPS32EL:#define __POINTER_WIDTH__ 32
1605// MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1606// MIPS32EL:#define __PTRDIFF_TYPE__ int
1607// MIPS32EL:#define __PTRDIFF_WIDTH__ 32
1608// MIPS32EL:#define __REGISTER_PREFIX__
1609// MIPS32EL:#define __SCHAR_MAX__ 127
1610// MIPS32EL:#define __SHRT_MAX__ 32767
1611// MIPS32EL:#define __SIG_ATOMIC_WIDTH__ 32
1612// MIPS32EL:#define __SIZEOF_DOUBLE__ 8
1613// MIPS32EL:#define __SIZEOF_FLOAT__ 4
1614// MIPS32EL:#define __SIZEOF_INT__ 4
1615// MIPS32EL:#define __SIZEOF_LONG_DOUBLE__ 8
1616// MIPS32EL:#define __SIZEOF_LONG_LONG__ 8
1617// MIPS32EL:#define __SIZEOF_LONG__ 4
1618// MIPS32EL:#define __SIZEOF_POINTER__ 4
1619// MIPS32EL:#define __SIZEOF_PTRDIFF_T__ 4
1620// MIPS32EL:#define __SIZEOF_SHORT__ 2
1621// MIPS32EL:#define __SIZEOF_SIZE_T__ 4
1622// MIPS32EL:#define __SIZEOF_WCHAR_T__ 4
1623// MIPS32EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001624// MIPS32EL:#define __SIZE_MAX__ 4294967295U
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001625// MIPS32EL:#define __SIZE_TYPE__ unsigned int
1626// MIPS32EL:#define __SIZE_WIDTH__ 32
1627// MIPS32EL:#define __UINTMAX_TYPE__ long long unsigned int
1628// MIPS32EL:#define __USER_LABEL_PREFIX__ _
1629// MIPS32EL:#define __WCHAR_MAX__ 2147483647
1630// MIPS32EL:#define __WCHAR_TYPE__ int
1631// MIPS32EL:#define __WCHAR_WIDTH__ 32
1632// MIPS32EL:#define __WINT_TYPE__ int
1633// MIPS32EL:#define __WINT_WIDTH__ 32
1634// MIPS32EL:#define __clang__ 1
1635// MIPS32EL:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001636// MIPS32EL:#define __mips 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001637// MIPS32EL:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001638// MIPS32EL:#define __mips_fpr 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001639// MIPS32EL:#define __mips_hard_float 1
1640// MIPS32EL:#define __mips_o32 1
1641// MIPS32EL:#define _mips 1
1642// MIPS32EL:#define mips 1
1643//
1644// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -check-prefix MIPS64BE %s
1645//
1646// MIPS64BE:#define MIPSEB 1
1647// MIPS64BE:#define _ABI64 3
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001648// MIPS64BE:#define _LP64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001649// MIPS64BE:#define _MIPSEB 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001650// MIPS64BE:#define _MIPS_ARCH "mips64r2"
1651// MIPS64BE:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001652// MIPS64BE:#define _MIPS_FPSET 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001653// MIPS64BE:#define _MIPS_SIM _ABI64
1654// MIPS64BE:#define _MIPS_SZINT 32
1655// MIPS64BE:#define _MIPS_SZLONG 64
1656// MIPS64BE:#define _MIPS_SZPTR 64
Robert Lytton2c942c62014-03-10 12:06:29 +00001657// MIPS64BE:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001658// MIPS64BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001659// MIPS64BE:#define __CHAR16_TYPE__ unsigned short
1660// MIPS64BE:#define __CHAR32_TYPE__ unsigned int
1661// MIPS64BE:#define __CHAR_BIT__ 8
1662// MIPS64BE:#define __CONSTANT_CFSTRINGS__ 1
1663// MIPS64BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1664// MIPS64BE:#define __DBL_DIG__ 15
1665// MIPS64BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
1666// MIPS64BE:#define __DBL_HAS_DENORM__ 1
1667// MIPS64BE:#define __DBL_HAS_INFINITY__ 1
1668// MIPS64BE:#define __DBL_HAS_QUIET_NAN__ 1
1669// MIPS64BE:#define __DBL_MANT_DIG__ 53
1670// MIPS64BE:#define __DBL_MAX_10_EXP__ 308
1671// MIPS64BE:#define __DBL_MAX_EXP__ 1024
1672// MIPS64BE:#define __DBL_MAX__ 1.7976931348623157e+308
1673// MIPS64BE:#define __DBL_MIN_10_EXP__ (-307)
1674// MIPS64BE:#define __DBL_MIN_EXP__ (-1021)
1675// MIPS64BE:#define __DBL_MIN__ 2.2250738585072014e-308
1676// MIPS64BE:#define __DECIMAL_DIG__ 36
1677// MIPS64BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1678// MIPS64BE:#define __FLT_DIG__ 6
1679// MIPS64BE:#define __FLT_EPSILON__ 1.19209290e-7F
1680// MIPS64BE:#define __FLT_EVAL_METHOD__ 0
1681// MIPS64BE:#define __FLT_HAS_DENORM__ 1
1682// MIPS64BE:#define __FLT_HAS_INFINITY__ 1
1683// MIPS64BE:#define __FLT_HAS_QUIET_NAN__ 1
1684// MIPS64BE:#define __FLT_MANT_DIG__ 24
1685// MIPS64BE:#define __FLT_MAX_10_EXP__ 38
1686// MIPS64BE:#define __FLT_MAX_EXP__ 128
1687// MIPS64BE:#define __FLT_MAX__ 3.40282347e+38F
1688// MIPS64BE:#define __FLT_MIN_10_EXP__ (-37)
1689// MIPS64BE:#define __FLT_MIN_EXP__ (-125)
1690// MIPS64BE:#define __FLT_MIN__ 1.17549435e-38F
1691// MIPS64BE:#define __FLT_RADIX__ 2
1692// MIPS64BE:#define __INT16_TYPE__ short
1693// MIPS64BE:#define __INT32_TYPE__ int
1694// MIPS64BE:#define __INT64_C_SUFFIX__ LL
1695// MIPS64BE:#define __INT64_TYPE__ long long int
1696// MIPS64BE:#define __INT8_TYPE__ char
1697// MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807LL
1698// MIPS64BE:#define __INTMAX_TYPE__ long long int
1699// MIPS64BE:#define __INTMAX_WIDTH__ 64
1700// MIPS64BE:#define __INTPTR_TYPE__ long int
1701// MIPS64BE:#define __INTPTR_WIDTH__ 64
1702// MIPS64BE:#define __INT_MAX__ 2147483647
1703// MIPS64BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1704// MIPS64BE:#define __LDBL_DIG__ 33
1705// MIPS64BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1706// MIPS64BE:#define __LDBL_HAS_DENORM__ 1
1707// MIPS64BE:#define __LDBL_HAS_INFINITY__ 1
1708// MIPS64BE:#define __LDBL_HAS_QUIET_NAN__ 1
1709// MIPS64BE:#define __LDBL_MANT_DIG__ 113
1710// MIPS64BE:#define __LDBL_MAX_10_EXP__ 4932
1711// MIPS64BE:#define __LDBL_MAX_EXP__ 16384
1712// MIPS64BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1713// MIPS64BE:#define __LDBL_MIN_10_EXP__ (-4931)
1714// MIPS64BE:#define __LDBL_MIN_EXP__ (-16381)
1715// MIPS64BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1716// MIPS64BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1717// MIPS64BE:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001718// MIPS64BE:#define __LP64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001719// MIPS64BE:#define __MIPSEB 1
1720// MIPS64BE:#define __MIPSEB__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001721// MIPS64BE:#define __POINTER_WIDTH__ 64
1722// MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1
1723// MIPS64BE:#define __PTRDIFF_TYPE__ long int
1724// MIPS64BE:#define __PTRDIFF_WIDTH__ 64
1725// MIPS64BE:#define __REGISTER_PREFIX__
1726// MIPS64BE:#define __SCHAR_MAX__ 127
1727// MIPS64BE:#define __SHRT_MAX__ 32767
1728// MIPS64BE:#define __SIG_ATOMIC_WIDTH__ 32
1729// MIPS64BE:#define __SIZEOF_DOUBLE__ 8
1730// MIPS64BE:#define __SIZEOF_FLOAT__ 4
1731// MIPS64BE:#define __SIZEOF_INT__ 4
1732// MIPS64BE:#define __SIZEOF_LONG_DOUBLE__ 16
1733// MIPS64BE:#define __SIZEOF_LONG_LONG__ 8
1734// MIPS64BE:#define __SIZEOF_LONG__ 8
1735// MIPS64BE:#define __SIZEOF_POINTER__ 8
1736// MIPS64BE:#define __SIZEOF_PTRDIFF_T__ 8
1737// MIPS64BE:#define __SIZEOF_SHORT__ 2
1738// MIPS64BE:#define __SIZEOF_SIZE_T__ 8
1739// MIPS64BE:#define __SIZEOF_WCHAR_T__ 4
1740// MIPS64BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001741// MIPS64BE:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001742// MIPS64BE:#define __SIZE_TYPE__ long unsigned int
1743// MIPS64BE:#define __SIZE_WIDTH__ 64
1744// MIPS64BE:#define __UINTMAX_TYPE__ long long unsigned int
1745// MIPS64BE:#define __USER_LABEL_PREFIX__ _
1746// MIPS64BE:#define __WCHAR_MAX__ 2147483647
1747// MIPS64BE:#define __WCHAR_TYPE__ int
1748// MIPS64BE:#define __WCHAR_WIDTH__ 32
1749// MIPS64BE:#define __WINT_TYPE__ int
1750// MIPS64BE:#define __WINT_WIDTH__ 32
1751// MIPS64BE:#define __clang__ 1
1752// MIPS64BE:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001753// MIPS64BE:#define __mips 64
Simon Atanasyanc6a0be02012-08-29 20:50:11 +00001754// MIPS64BE:#define __mips64 1
1755// MIPS64BE:#define __mips64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001756// MIPS64BE:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001757// MIPS64BE:#define __mips_fpr 64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001758// MIPS64BE:#define __mips_hard_float 1
1759// MIPS64BE:#define __mips_n64 1
1760// MIPS64BE:#define _mips 1
1761// MIPS64BE:#define mips 1
1762//
1763// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -check-prefix MIPS64EL %s
1764//
1765// MIPS64EL:#define MIPSEL 1
1766// MIPS64EL:#define _ABI64 3
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001767// MIPS64EL:#define _LP64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001768// MIPS64EL:#define _MIPSEL 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001769// MIPS64EL:#define _MIPS_ARCH "mips64r2"
1770// MIPS64EL:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001771// MIPS64EL:#define _MIPS_FPSET 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001772// MIPS64EL:#define _MIPS_SIM _ABI64
1773// MIPS64EL:#define _MIPS_SZINT 32
1774// MIPS64EL:#define _MIPS_SZLONG 64
1775// MIPS64EL:#define _MIPS_SZPTR 64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001776// MIPS64EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001777// MIPS64EL:#define __CHAR16_TYPE__ unsigned short
1778// MIPS64EL:#define __CHAR32_TYPE__ unsigned int
1779// MIPS64EL:#define __CHAR_BIT__ 8
1780// MIPS64EL:#define __CONSTANT_CFSTRINGS__ 1
1781// MIPS64EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1782// MIPS64EL:#define __DBL_DIG__ 15
1783// MIPS64EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1784// MIPS64EL:#define __DBL_HAS_DENORM__ 1
1785// MIPS64EL:#define __DBL_HAS_INFINITY__ 1
1786// MIPS64EL:#define __DBL_HAS_QUIET_NAN__ 1
1787// MIPS64EL:#define __DBL_MANT_DIG__ 53
1788// MIPS64EL:#define __DBL_MAX_10_EXP__ 308
1789// MIPS64EL:#define __DBL_MAX_EXP__ 1024
1790// MIPS64EL:#define __DBL_MAX__ 1.7976931348623157e+308
1791// MIPS64EL:#define __DBL_MIN_10_EXP__ (-307)
1792// MIPS64EL:#define __DBL_MIN_EXP__ (-1021)
1793// MIPS64EL:#define __DBL_MIN__ 2.2250738585072014e-308
1794// MIPS64EL:#define __DECIMAL_DIG__ 36
1795// MIPS64EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1796// MIPS64EL:#define __FLT_DIG__ 6
1797// MIPS64EL:#define __FLT_EPSILON__ 1.19209290e-7F
1798// MIPS64EL:#define __FLT_EVAL_METHOD__ 0
1799// MIPS64EL:#define __FLT_HAS_DENORM__ 1
1800// MIPS64EL:#define __FLT_HAS_INFINITY__ 1
1801// MIPS64EL:#define __FLT_HAS_QUIET_NAN__ 1
1802// MIPS64EL:#define __FLT_MANT_DIG__ 24
1803// MIPS64EL:#define __FLT_MAX_10_EXP__ 38
1804// MIPS64EL:#define __FLT_MAX_EXP__ 128
1805// MIPS64EL:#define __FLT_MAX__ 3.40282347e+38F
1806// MIPS64EL:#define __FLT_MIN_10_EXP__ (-37)
1807// MIPS64EL:#define __FLT_MIN_EXP__ (-125)
1808// MIPS64EL:#define __FLT_MIN__ 1.17549435e-38F
1809// MIPS64EL:#define __FLT_RADIX__ 2
1810// MIPS64EL:#define __INT16_TYPE__ short
1811// MIPS64EL:#define __INT32_TYPE__ int
1812// MIPS64EL:#define __INT64_C_SUFFIX__ LL
1813// MIPS64EL:#define __INT64_TYPE__ long long int
1814// MIPS64EL:#define __INT8_TYPE__ char
1815// MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807LL
1816// MIPS64EL:#define __INTMAX_TYPE__ long long int
1817// MIPS64EL:#define __INTMAX_WIDTH__ 64
1818// MIPS64EL:#define __INTPTR_TYPE__ long int
1819// MIPS64EL:#define __INTPTR_WIDTH__ 64
1820// MIPS64EL:#define __INT_MAX__ 2147483647
1821// MIPS64EL:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1822// MIPS64EL:#define __LDBL_DIG__ 33
1823// MIPS64EL:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1824// MIPS64EL:#define __LDBL_HAS_DENORM__ 1
1825// MIPS64EL:#define __LDBL_HAS_INFINITY__ 1
1826// MIPS64EL:#define __LDBL_HAS_QUIET_NAN__ 1
1827// MIPS64EL:#define __LDBL_MANT_DIG__ 113
1828// MIPS64EL:#define __LDBL_MAX_10_EXP__ 4932
1829// MIPS64EL:#define __LDBL_MAX_EXP__ 16384
1830// MIPS64EL:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1831// MIPS64EL:#define __LDBL_MIN_10_EXP__ (-4931)
1832// MIPS64EL:#define __LDBL_MIN_EXP__ (-16381)
1833// MIPS64EL:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
Robert Lytton2c942c62014-03-10 12:06:29 +00001834// MIPS64EL:#define __LITTLE_ENDIAN__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001835// MIPS64EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1836// MIPS64EL:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001837// MIPS64EL:#define __LP64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001838// MIPS64EL:#define __MIPSEL 1
1839// MIPS64EL:#define __MIPSEL__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001840// MIPS64EL:#define __POINTER_WIDTH__ 64
1841// MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1842// MIPS64EL:#define __PTRDIFF_TYPE__ long int
1843// MIPS64EL:#define __PTRDIFF_WIDTH__ 64
1844// MIPS64EL:#define __REGISTER_PREFIX__
1845// MIPS64EL:#define __SCHAR_MAX__ 127
1846// MIPS64EL:#define __SHRT_MAX__ 32767
1847// MIPS64EL:#define __SIG_ATOMIC_WIDTH__ 32
1848// MIPS64EL:#define __SIZEOF_DOUBLE__ 8
1849// MIPS64EL:#define __SIZEOF_FLOAT__ 4
1850// MIPS64EL:#define __SIZEOF_INT__ 4
1851// MIPS64EL:#define __SIZEOF_LONG_DOUBLE__ 16
1852// MIPS64EL:#define __SIZEOF_LONG_LONG__ 8
1853// MIPS64EL:#define __SIZEOF_LONG__ 8
1854// MIPS64EL:#define __SIZEOF_POINTER__ 8
1855// MIPS64EL:#define __SIZEOF_PTRDIFF_T__ 8
1856// MIPS64EL:#define __SIZEOF_SHORT__ 2
1857// MIPS64EL:#define __SIZEOF_SIZE_T__ 8
1858// MIPS64EL:#define __SIZEOF_WCHAR_T__ 4
1859// MIPS64EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001860// MIPS64EL:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001861// MIPS64EL:#define __SIZE_TYPE__ long unsigned int
1862// MIPS64EL:#define __SIZE_WIDTH__ 64
1863// MIPS64EL:#define __UINTMAX_TYPE__ long long unsigned int
1864// MIPS64EL:#define __USER_LABEL_PREFIX__ _
1865// MIPS64EL:#define __WCHAR_MAX__ 2147483647
1866// MIPS64EL:#define __WCHAR_TYPE__ int
1867// MIPS64EL:#define __WCHAR_WIDTH__ 32
1868// MIPS64EL:#define __WINT_TYPE__ int
1869// MIPS64EL:#define __WINT_WIDTH__ 32
1870// MIPS64EL:#define __clang__ 1
1871// MIPS64EL:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001872// MIPS64EL:#define __mips 64
Simon Atanasyanc6a0be02012-08-29 20:50:11 +00001873// MIPS64EL:#define __mips64 1
1874// MIPS64EL:#define __mips64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001875// MIPS64EL:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001876// MIPS64EL:#define __mips_fpr 64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001877// MIPS64EL:#define __mips_hard_float 1
1878// MIPS64EL:#define __mips_n64 1
1879// MIPS64EL:#define _mips 1
1880// MIPS64EL:#define mips 1
1881//
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001882// Check MIPS arch macros
1883//
1884// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
1885// RUN: < /dev/null \
1886// RUN: | FileCheck -check-prefix MIPS-ARCH-DEF32 %s
1887//
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001888// MIPS-ARCH-DEF32:#define _MIPS_ARCH "mips32r2"
1889// MIPS-ARCH-DEF32:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001890//
1891// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-nones \
1892// RUN: -target-cpu mips32 < /dev/null \
1893// RUN: | FileCheck -check-prefix MIPS-ARCH-32 %s
1894//
1895// MIPS-ARCH-32:#define _MIPS_ARCH "mips32"
1896// MIPS-ARCH-32:#define _MIPS_ARCH_MIPS32 1
1897//
1898// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
1899// RUN: -target-cpu mips32r2 < /dev/null \
1900// RUN: | FileCheck -check-prefix MIPS-ARCH-32R2 %s
1901//
1902// MIPS-ARCH-32R2:#define _MIPS_ARCH "mips32r2"
1903// MIPS-ARCH-32R2:#define _MIPS_ARCH_MIPS32R2 1
1904//
1905// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1906// RUN: < /dev/null \
1907// RUN: | FileCheck -check-prefix MIPS-ARCH-DEF64 %s
1908//
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001909// MIPS-ARCH-DEF64:#define _MIPS_ARCH "mips64r2"
1910// MIPS-ARCH-DEF64:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001911//
1912// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1913// RUN: -target-cpu mips64 < /dev/null \
1914// RUN: | FileCheck -check-prefix MIPS-ARCH-64 %s
1915//
1916// MIPS-ARCH-64:#define _MIPS_ARCH "mips64"
1917// MIPS-ARCH-64:#define _MIPS_ARCH_MIPS64 1
1918//
1919// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1920// RUN: -target-cpu mips64r2 < /dev/null \
1921// RUN: | FileCheck -check-prefix MIPS-ARCH-64R2 %s
1922//
1923// MIPS-ARCH-64R2:#define _MIPS_ARCH "mips64r2"
1924// MIPS-ARCH-64R2:#define _MIPS_ARCH_MIPS64R2 1
1925//
Simon Atanasyan5e21c802012-04-06 17:51:49 +00001926// Check MIPS float ABI macros
1927//
1928// RUN: %clang_cc1 -E -dM -ffreestanding \
1929// RUN: -triple=mips-none-none < /dev/null \
1930// RUN: | FileCheck -check-prefix MIPS-FABI-HARD %s
1931// MIPS-FABI-HARD:#define __mips_hard_float 1
1932//
1933// RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \
1934// RUN: -triple=mips-none-none < /dev/null \
1935// RUN: | FileCheck -check-prefix MIPS-FABI-SOFT %s
1936// MIPS-FABI-SOFT:#define __mips_soft_float 1
1937//
1938// RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \
1939// RUN: -triple=mips-none-none < /dev/null \
1940// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE %s
Simon Atanasyand3d173d2012-06-05 13:06:56 +00001941// MIPS-FABI-SINGLE:#define __mips_hard_float 1
Simon Atanasyan5e21c802012-04-06 17:51:49 +00001942// MIPS-FABI-SINGLE:#define __mips_single_float 1
1943//
Simon Atanasyan16071912013-04-14 14:07:30 +00001944// RUN: %clang_cc1 -target-feature +soft-float -target-feature +single-float \
1945// RUN: -E -dM -ffreestanding -triple=mips-none-none < /dev/null \
1946// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE-SOFT %s
1947// MIPS-FABI-SINGLE-SOFT:#define __mips_single_float 1
1948// MIPS-FABI-SINGLE-SOFT:#define __mips_soft_float 1
1949//
Simon Atanasyan72244b62012-07-05 16:06:06 +00001950// Check MIPS features macros
1951//
1952// RUN: %clang_cc1 -target-feature +mips16 \
1953// RUN: -E -dM -triple=mips-none-none < /dev/null \
1954// RUN: | FileCheck -check-prefix MIPS16 %s
1955// MIPS16:#define __mips16 1
1956//
1957// RUN: %clang_cc1 -target-feature -mips16 \
1958// RUN: -E -dM -triple=mips-none-none < /dev/null \
1959// RUN: | FileCheck -check-prefix NOMIPS16 %s
1960// NOMIPS16-NOT:#define __mips16 1
1961//
Simon Atanasyan60777612013-04-14 14:07:51 +00001962// RUN: %clang_cc1 -target-feature +micromips \
1963// RUN: -E -dM -triple=mips-none-none < /dev/null \
1964// RUN: | FileCheck -check-prefix MICROMIPS %s
1965// MICROMIPS:#define __mips_micromips 1
1966//
1967// RUN: %clang_cc1 -target-feature -micromips \
1968// RUN: -E -dM -triple=mips-none-none < /dev/null \
1969// RUN: | FileCheck -check-prefix NOMICROMIPS %s
1970// NOMICROMIPS-NOT:#define __mips_micromips 1
1971//
Simon Atanasyan9780e4a2012-07-05 20:16:22 +00001972// RUN: %clang_cc1 -target-feature +dsp \
1973// RUN: -E -dM -triple=mips-none-none < /dev/null \
1974// RUN: | FileCheck -check-prefix MIPS-DSP %s
1975// MIPS-DSP:#define __mips_dsp 1
1976// MIPS-DSP:#define __mips_dsp_rev 1
1977// MIPS-DSP-NOT:#define __mips_dspr2 1
1978//
1979// RUN: %clang_cc1 -target-feature +dspr2 \
1980// RUN: -E -dM -triple=mips-none-none < /dev/null \
1981// RUN: | FileCheck -check-prefix MIPS-DSPR2 %s
1982// MIPS-DSPR2:#define __mips_dsp 1
1983// MIPS-DSPR2:#define __mips_dsp_rev 2
1984// MIPS-DSPR2:#define __mips_dspr2 1
1985//
Jack Carter44ff1e52013-08-12 17:20:29 +00001986// RUN: %clang_cc1 -target-feature +msa \
1987// RUN: -E -dM -triple=mips-none-none < /dev/null \
1988// RUN: | FileCheck -check-prefix MIPS-MSA %s
1989// MIPS-MSA:#define __mips_msa 1
1990//
Simon Atanasyan22127ce2013-09-24 09:09:16 +00001991// RUN: %clang_cc1 -target-feature +nan2008 \
1992// RUN: -E -dM -triple=mips-none-none < /dev/null \
1993// RUN: | FileCheck -check-prefix MIPS-NAN2008 %s
1994// MIPS-NAN2008:#define __mips_nan2008 1
1995//
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001996// RUN: %clang_cc1 -target-feature -fp64 \
1997// RUN: -E -dM -triple=mips-none-none < /dev/null \
1998// RUN: | FileCheck -check-prefix MIPS32-MFP32 %s
1999// MIPS32-MFP32:#define _MIPS_FPSET 16
2000// MIPS32-MFP32:#define __mips_fpr 32
2001//
2002// RUN: %clang_cc1 -target-feature +fp64 \
2003// RUN: -E -dM -triple=mips-none-none < /dev/null \
2004// RUN: | FileCheck -check-prefix MIPS32-MFP64 %s
2005// MIPS32-MFP64:#define _MIPS_FPSET 32
2006// MIPS32-MFP64:#define __mips_fpr 64
2007//
2008// RUN: %clang_cc1 -target-feature +single-float \
2009// RUN: -E -dM -triple=mips-none-none < /dev/null \
2010// RUN: | FileCheck -check-prefix MIPS32-MFP32SF %s
2011// MIPS32-MFP32SF:#define _MIPS_FPSET 32
2012// MIPS32-MFP32SF:#define __mips_fpr 32
2013//
2014// RUN: %clang_cc1 -target-feature +fp64 \
2015// RUN: -E -dM -triple=mips64-none-none < /dev/null \
2016// RUN: | FileCheck -check-prefix MIPS64-MFP64 %s
2017// MIPS64-MFP64:#define _MIPS_FPSET 32
2018// MIPS64-MFP64:#define __mips_fpr 64
2019//
2020// RUN: %clang_cc1 -target-feature -fp64 -target-feature +single-float \
2021// RUN: -E -dM -triple=mips64-none-none < /dev/null \
2022// RUN: | FileCheck -check-prefix MIPS64-NOMFP64 %s
2023// MIPS64-NOMFP64:#define _MIPS_FPSET 32
2024// MIPS64-NOMFP64:#define __mips_fpr 32
2025//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002026// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
Chris Lattnere963d092009-10-29 04:55:36 +00002027//
2028// MSP430:#define MSP430 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002029// MSP430-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002030// MSP430:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002031// MSP430:#define __CHAR16_TYPE__ unsigned short
2032// MSP430:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002033// MSP430:#define __CHAR_BIT__ 8
2034// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2035// MSP430:#define __DBL_DIG__ 15
2036// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
2037// MSP430:#define __DBL_HAS_DENORM__ 1
2038// MSP430:#define __DBL_HAS_INFINITY__ 1
2039// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
2040// MSP430:#define __DBL_MANT_DIG__ 53
2041// MSP430:#define __DBL_MAX_10_EXP__ 308
2042// MSP430:#define __DBL_MAX_EXP__ 1024
2043// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
2044// MSP430:#define __DBL_MIN_10_EXP__ (-307)
2045// MSP430:#define __DBL_MIN_EXP__ (-1021)
2046// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
2047// MSP430:#define __DECIMAL_DIG__ 17
2048// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2049// MSP430:#define __FLT_DIG__ 6
2050// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
2051// MSP430:#define __FLT_EVAL_METHOD__ 0
2052// MSP430:#define __FLT_HAS_DENORM__ 1
2053// MSP430:#define __FLT_HAS_INFINITY__ 1
2054// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
2055// MSP430:#define __FLT_MANT_DIG__ 24
2056// MSP430:#define __FLT_MAX_10_EXP__ 38
2057// MSP430:#define __FLT_MAX_EXP__ 128
2058// MSP430:#define __FLT_MAX__ 3.40282347e+38F
2059// MSP430:#define __FLT_MIN_10_EXP__ (-37)
2060// MSP430:#define __FLT_MIN_EXP__ (-125)
2061// MSP430:#define __FLT_MIN__ 1.17549435e-38F
2062// MSP430:#define __FLT_RADIX__ 2
2063// MSP430:#define __INT16_TYPE__ short
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002064// MSP430:#define __INT32_C_SUFFIX__ L
Chris Lattner55c98772009-11-12 08:08:27 +00002065// MSP430:#define __INT32_TYPE__ long int
Chris Lattnere963d092009-10-29 04:55:36 +00002066// MSP430:#define __INT8_TYPE__ char
Anton Korobeynikovef412902013-07-01 19:42:40 +00002067// MSP430:#define __INTMAX_MAX__ 9223372036854775807LL
2068// MSP430:#define __INTMAX_TYPE__ long long int
2069// MSP430:#define __INTMAX_WIDTH__ 64
2070// MSP430:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002071// MSP430:#define __INTPTR_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00002072// MSP430:#define __INT_MAX__ 32767
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002073// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002074// MSP430:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002075// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +00002076// MSP430:#define __LDBL_HAS_DENORM__ 1
2077// MSP430:#define __LDBL_HAS_INFINITY__ 1
2078// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
2079// MSP430:#define __LDBL_MANT_DIG__ 53
2080// MSP430:#define __LDBL_MAX_10_EXP__ 308
2081// MSP430:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002082// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +00002083// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
2084// MSP430:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002085// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308L
Robert Lytton2c942c62014-03-10 12:06:29 +00002086// MSP430:#define __LITTLE_ENDIAN__ 1
Anton Korobeynikov485810e2010-01-14 21:36:52 +00002087// MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
Chris Lattnere963d092009-10-29 04:55:36 +00002088// MSP430:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002089// MSP430-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00002090// MSP430:#define __MSP430__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002091// MSP430:#define __POINTER_WIDTH__ 16
Ken Dyck9b25f782009-11-19 13:18:59 +00002092// MSP430:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00002093// MSP430:#define __PTRDIFF_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00002094// MSP430:#define __SCHAR_MAX__ 127
2095// MSP430:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002096// MSP430:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002097// MSP430:#define __SIZEOF_DOUBLE__ 8
2098// MSP430:#define __SIZEOF_FLOAT__ 4
2099// MSP430:#define __SIZEOF_INT__ 2
2100// MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
2101// MSP430:#define __SIZEOF_LONG_LONG__ 8
2102// MSP430:#define __SIZEOF_LONG__ 4
2103// MSP430:#define __SIZEOF_POINTER__ 2
2104// MSP430:#define __SIZEOF_PTRDIFF_T__ 2
2105// MSP430:#define __SIZEOF_SHORT__ 2
2106// MSP430:#define __SIZEOF_SIZE_T__ 2
2107// MSP430:#define __SIZEOF_WCHAR_T__ 2
2108// MSP430:#define __SIZEOF_WINT_T__ 2
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002109// MSP430:#define __SIZE_MAX__ 65535U
Chris Lattnere963d092009-10-29 04:55:36 +00002110// MSP430:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002111// MSP430:#define __SIZE_WIDTH__ 16
Anton Korobeynikovef412902013-07-01 19:42:40 +00002112// MSP430:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002113// MSP430:#define __USER_LABEL_PREFIX__ _
Chris Lattner0fb5bbd2009-11-12 08:04:33 +00002114// MSP430:#define __WCHAR_MAX__ 32767
Chris Lattnere963d092009-10-29 04:55:36 +00002115// MSP430:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002116// MSP430:#define __WCHAR_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00002117// MSP430:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002118// MSP430:#define __WINT_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00002119// MSP430:#define __clang__ 1
2120//
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002121// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s
2122//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002123// NVPTX32-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002124// NVPTX32:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002125// NVPTX32:#define __CHAR16_TYPE__ unsigned short
2126// NVPTX32:#define __CHAR32_TYPE__ unsigned int
2127// NVPTX32:#define __CHAR_BIT__ 8
2128// NVPTX32:#define __CONSTANT_CFSTRINGS__ 1
2129// NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2130// NVPTX32:#define __DBL_DIG__ 15
2131// NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16
2132// NVPTX32:#define __DBL_HAS_DENORM__ 1
2133// NVPTX32:#define __DBL_HAS_INFINITY__ 1
2134// NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1
2135// NVPTX32:#define __DBL_MANT_DIG__ 53
2136// NVPTX32:#define __DBL_MAX_10_EXP__ 308
2137// NVPTX32:#define __DBL_MAX_EXP__ 1024
2138// NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308
2139// NVPTX32:#define __DBL_MIN_10_EXP__ (-307)
2140// NVPTX32:#define __DBL_MIN_EXP__ (-1021)
2141// NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308
2142// NVPTX32:#define __DECIMAL_DIG__ 17
2143// NVPTX32:#define __FINITE_MATH_ONLY__ 0
2144// NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2145// NVPTX32:#define __FLT_DIG__ 6
2146// NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F
2147// NVPTX32:#define __FLT_EVAL_METHOD__ 0
2148// NVPTX32:#define __FLT_HAS_DENORM__ 1
2149// NVPTX32:#define __FLT_HAS_INFINITY__ 1
2150// NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1
2151// NVPTX32:#define __FLT_MANT_DIG__ 24
2152// NVPTX32:#define __FLT_MAX_10_EXP__ 38
2153// NVPTX32:#define __FLT_MAX_EXP__ 128
2154// NVPTX32:#define __FLT_MAX__ 3.40282347e+38F
2155// NVPTX32:#define __FLT_MIN_10_EXP__ (-37)
2156// NVPTX32:#define __FLT_MIN_EXP__ (-125)
2157// NVPTX32:#define __FLT_MIN__ 1.17549435e-38F
2158// NVPTX32:#define __FLT_RADIX__ 2
2159// NVPTX32:#define __INT16_TYPE__ short
2160// NVPTX32:#define __INT32_TYPE__ int
2161// NVPTX32:#define __INT64_C_SUFFIX__ LL
2162// NVPTX32:#define __INT64_TYPE__ long long int
2163// NVPTX32:#define __INT8_TYPE__ char
2164// NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL
2165// NVPTX32:#define __INTMAX_TYPE__ long long int
2166// NVPTX32:#define __INTMAX_WIDTH__ 64
2167// NVPTX32:#define __INTPTR_TYPE__ unsigned int
2168// NVPTX32:#define __INTPTR_WIDTH__ 32
2169// NVPTX32:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002170// NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002171// NVPTX32:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002172// NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002173// NVPTX32:#define __LDBL_HAS_DENORM__ 1
2174// NVPTX32:#define __LDBL_HAS_INFINITY__ 1
2175// NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1
2176// NVPTX32:#define __LDBL_MANT_DIG__ 53
2177// NVPTX32:#define __LDBL_MAX_10_EXP__ 308
2178// NVPTX32:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002179// NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002180// NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
2181// NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002182// NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308L
Robert Lytton2c942c62014-03-10 12:06:29 +00002183// NVPTX32:#define __LITTLE_ENDIAN__ 1
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002184// NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL
2185// NVPTX32:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002186// NVPTX32-NOT:#define __LP64__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002187// NVPTX32:#define __NVPTX__ 1
2188// NVPTX32:#define __POINTER_WIDTH__ 32
2189// NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1
2190// NVPTX32:#define __PTRDIFF_TYPE__ unsigned int
2191// NVPTX32:#define __PTRDIFF_WIDTH__ 32
2192// NVPTX32:#define __PTX__ 1
2193// NVPTX32:#define __SCHAR_MAX__ 127
2194// NVPTX32:#define __SHRT_MAX__ 32767
2195// NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32
2196// NVPTX32:#define __SIZEOF_DOUBLE__ 8
2197// NVPTX32:#define __SIZEOF_FLOAT__ 4
2198// NVPTX32:#define __SIZEOF_INT__ 4
2199// NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8
2200// NVPTX32:#define __SIZEOF_LONG_LONG__ 8
2201// NVPTX32:#define __SIZEOF_LONG__ 8
2202// NVPTX32:#define __SIZEOF_POINTER__ 4
2203// NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4
2204// NVPTX32:#define __SIZEOF_SHORT__ 2
2205// NVPTX32:#define __SIZEOF_SIZE_T__ 4
2206// NVPTX32:#define __SIZEOF_WCHAR_T__ 4
2207// NVPTX32:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002208// NVPTX32:#define __SIZE_MAX__ 4294967295U
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002209// NVPTX32:#define __SIZE_TYPE__ unsigned int
2210// NVPTX32:#define __SIZE_WIDTH__ 32
2211// NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int
2212// NVPTX32:#define __USER_LABEL_PREFIX__ _
2213// NVPTX32:#define __WCHAR_MAX__ 2147483647
2214// NVPTX32:#define __WCHAR_TYPE__ int
2215// NVPTX32:#define __WCHAR_WIDTH__ 32
2216// NVPTX32:#define __WINT_TYPE__ int
2217// NVPTX32:#define __WINT_WIDTH__ 32
2218//
2219// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -check-prefix NVPTX64 %s
2220//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002221// NVPTX64:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002222// NVPTX64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002223// NVPTX64:#define __CHAR16_TYPE__ unsigned short
2224// NVPTX64:#define __CHAR32_TYPE__ unsigned int
2225// NVPTX64:#define __CHAR_BIT__ 8
2226// NVPTX64:#define __CONSTANT_CFSTRINGS__ 1
2227// NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2228// NVPTX64:#define __DBL_DIG__ 15
2229// NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16
2230// NVPTX64:#define __DBL_HAS_DENORM__ 1
2231// NVPTX64:#define __DBL_HAS_INFINITY__ 1
2232// NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1
2233// NVPTX64:#define __DBL_MANT_DIG__ 53
2234// NVPTX64:#define __DBL_MAX_10_EXP__ 308
2235// NVPTX64:#define __DBL_MAX_EXP__ 1024
2236// NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308
2237// NVPTX64:#define __DBL_MIN_10_EXP__ (-307)
2238// NVPTX64:#define __DBL_MIN_EXP__ (-1021)
2239// NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308
2240// NVPTX64:#define __DECIMAL_DIG__ 17
2241// NVPTX64:#define __FINITE_MATH_ONLY__ 0
2242// NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2243// NVPTX64:#define __FLT_DIG__ 6
2244// NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F
2245// NVPTX64:#define __FLT_EVAL_METHOD__ 0
2246// NVPTX64:#define __FLT_HAS_DENORM__ 1
2247// NVPTX64:#define __FLT_HAS_INFINITY__ 1
2248// NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1
2249// NVPTX64:#define __FLT_MANT_DIG__ 24
2250// NVPTX64:#define __FLT_MAX_10_EXP__ 38
2251// NVPTX64:#define __FLT_MAX_EXP__ 128
2252// NVPTX64:#define __FLT_MAX__ 3.40282347e+38F
2253// NVPTX64:#define __FLT_MIN_10_EXP__ (-37)
2254// NVPTX64:#define __FLT_MIN_EXP__ (-125)
2255// NVPTX64:#define __FLT_MIN__ 1.17549435e-38F
2256// NVPTX64:#define __FLT_RADIX__ 2
2257// NVPTX64:#define __INT16_TYPE__ short
2258// NVPTX64:#define __INT32_TYPE__ int
2259// NVPTX64:#define __INT64_C_SUFFIX__ LL
2260// NVPTX64:#define __INT64_TYPE__ long long int
2261// NVPTX64:#define __INT8_TYPE__ char
2262// NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL
2263// NVPTX64:#define __INTMAX_TYPE__ long long int
2264// NVPTX64:#define __INTMAX_WIDTH__ 64
2265// NVPTX64:#define __INTPTR_TYPE__ long long unsigned int
2266// NVPTX64:#define __INTPTR_WIDTH__ 64
2267// NVPTX64:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002268// NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002269// NVPTX64:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002270// NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002271// NVPTX64:#define __LDBL_HAS_DENORM__ 1
2272// NVPTX64:#define __LDBL_HAS_INFINITY__ 1
2273// NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1
2274// NVPTX64:#define __LDBL_MANT_DIG__ 53
2275// NVPTX64:#define __LDBL_MAX_10_EXP__ 308
2276// NVPTX64:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002277// NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002278// NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
2279// NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002280// NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308L
Robert Lytton2c942c62014-03-10 12:06:29 +00002281// NVPTX64:#define __LITTLE_ENDIAN__ 1
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002282// NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL
2283// NVPTX64:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002284// NVPTX64:#define __LP64__ 1
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002285// NVPTX64:#define __NVPTX__ 1
2286// NVPTX64:#define __POINTER_WIDTH__ 64
2287// NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1
2288// NVPTX64:#define __PTRDIFF_TYPE__ long long unsigned int
2289// NVPTX64:#define __PTRDIFF_WIDTH__ 64
2290// NVPTX64:#define __PTX__ 1
2291// NVPTX64:#define __SCHAR_MAX__ 127
2292// NVPTX64:#define __SHRT_MAX__ 32767
2293// NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32
2294// NVPTX64:#define __SIZEOF_DOUBLE__ 8
2295// NVPTX64:#define __SIZEOF_FLOAT__ 4
2296// NVPTX64:#define __SIZEOF_INT__ 4
2297// NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8
2298// NVPTX64:#define __SIZEOF_LONG_LONG__ 8
2299// NVPTX64:#define __SIZEOF_LONG__ 8
2300// NVPTX64:#define __SIZEOF_POINTER__ 8
2301// NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8
2302// NVPTX64:#define __SIZEOF_SHORT__ 2
2303// NVPTX64:#define __SIZEOF_SIZE_T__ 8
2304// NVPTX64:#define __SIZEOF_WCHAR_T__ 4
2305// NVPTX64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002306// NVPTX64:#define __SIZE_MAX__ 18446744073709551615UL
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002307// NVPTX64:#define __SIZE_TYPE__ long long unsigned int
2308// NVPTX64:#define __SIZE_WIDTH__ 64
2309// NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int
2310// NVPTX64:#define __USER_LABEL_PREFIX__ _
2311// NVPTX64:#define __WCHAR_MAX__ 2147483647
2312// NVPTX64:#define __WCHAR_TYPE__ int
2313// NVPTX64:#define __WCHAR_WIDTH__ 32
2314// NVPTX64:#define __WINT_TYPE__ int
2315// NVPTX64:#define __WINT_WIDTH__ 32
2316//
Hal Finkel6b984f02012-07-03 16:51:04 +00002317// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -check-prefix PPC603E %s
2318//
2319// PPC603E:#define _ARCH_603 1
2320// PPC603E:#define _ARCH_603E 1
2321// PPC603E:#define _ARCH_PPC 1
2322// PPC603E:#define _ARCH_PPCGR 1
2323// PPC603E:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002324// PPC603E-NOT:#define _LP64
Hal Finkel6b984f02012-07-03 16:51:04 +00002325// PPC603E:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002326// PPC603E:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Hal Finkel6b984f02012-07-03 16:51:04 +00002327// PPC603E:#define __CHAR16_TYPE__ unsigned short
2328// PPC603E:#define __CHAR32_TYPE__ unsigned int
2329// PPC603E:#define __CHAR_BIT__ 8
2330// PPC603E:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2331// PPC603E:#define __DBL_DIG__ 15
2332// PPC603E:#define __DBL_EPSILON__ 2.2204460492503131e-16
2333// PPC603E:#define __DBL_HAS_DENORM__ 1
2334// PPC603E:#define __DBL_HAS_INFINITY__ 1
2335// PPC603E:#define __DBL_HAS_QUIET_NAN__ 1
2336// PPC603E:#define __DBL_MANT_DIG__ 53
2337// PPC603E:#define __DBL_MAX_10_EXP__ 308
2338// PPC603E:#define __DBL_MAX_EXP__ 1024
2339// PPC603E:#define __DBL_MAX__ 1.7976931348623157e+308
2340// PPC603E:#define __DBL_MIN_10_EXP__ (-307)
2341// PPC603E:#define __DBL_MIN_EXP__ (-1021)
2342// PPC603E:#define __DBL_MIN__ 2.2250738585072014e-308
2343// PPC603E:#define __DECIMAL_DIG__ 33
2344// PPC603E:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2345// PPC603E:#define __FLT_DIG__ 6
2346// PPC603E:#define __FLT_EPSILON__ 1.19209290e-7F
2347// PPC603E:#define __FLT_EVAL_METHOD__ 0
2348// PPC603E:#define __FLT_HAS_DENORM__ 1
2349// PPC603E:#define __FLT_HAS_INFINITY__ 1
2350// PPC603E:#define __FLT_HAS_QUIET_NAN__ 1
2351// PPC603E:#define __FLT_MANT_DIG__ 24
2352// PPC603E:#define __FLT_MAX_10_EXP__ 38
2353// PPC603E:#define __FLT_MAX_EXP__ 128
2354// PPC603E:#define __FLT_MAX__ 3.40282347e+38F
2355// PPC603E:#define __FLT_MIN_10_EXP__ (-37)
2356// PPC603E:#define __FLT_MIN_EXP__ (-125)
2357// PPC603E:#define __FLT_MIN__ 1.17549435e-38F
2358// PPC603E:#define __FLT_RADIX__ 2
2359// PPC603E:#define __INT16_TYPE__ short
2360// PPC603E:#define __INT32_TYPE__ int
2361// PPC603E:#define __INT64_C_SUFFIX__ LL
2362// PPC603E:#define __INT64_TYPE__ long long int
2363// PPC603E:#define __INT8_TYPE__ char
2364// PPC603E:#define __INTMAX_MAX__ 9223372036854775807LL
2365// PPC603E:#define __INTMAX_TYPE__ long long int
2366// PPC603E:#define __INTMAX_WIDTH__ 64
2367// PPC603E:#define __INTPTR_TYPE__ long int
2368// PPC603E:#define __INTPTR_WIDTH__ 32
2369// PPC603E:#define __INT_MAX__ 2147483647
2370// PPC603E:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2371// PPC603E:#define __LDBL_DIG__ 31
2372// PPC603E:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2373// PPC603E:#define __LDBL_HAS_DENORM__ 1
2374// PPC603E:#define __LDBL_HAS_INFINITY__ 1
2375// PPC603E:#define __LDBL_HAS_QUIET_NAN__ 1
2376// PPC603E:#define __LDBL_MANT_DIG__ 106
2377// PPC603E:#define __LDBL_MAX_10_EXP__ 308
2378// PPC603E:#define __LDBL_MAX_EXP__ 1024
2379// PPC603E:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2380// PPC603E:#define __LDBL_MIN_10_EXP__ (-291)
2381// PPC603E:#define __LDBL_MIN_EXP__ (-968)
2382// PPC603E:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2383// PPC603E:#define __LONG_DOUBLE_128__ 1
2384// PPC603E:#define __LONG_LONG_MAX__ 9223372036854775807LL
2385// PPC603E:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002386// PPC603E-NOT:#define __LP64__
Hal Finkel6b984f02012-07-03 16:51:04 +00002387// PPC603E:#define __NATURAL_ALIGNMENT__ 1
Hal Finkel6b984f02012-07-03 16:51:04 +00002388// PPC603E:#define __POINTER_WIDTH__ 32
2389// PPC603E:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002390// PPC603E:#define __PPC__ 1
Hal Finkel6b984f02012-07-03 16:51:04 +00002391// PPC603E:#define __PTRDIFF_TYPE__ long int
2392// PPC603E:#define __PTRDIFF_WIDTH__ 32
2393// PPC603E:#define __REGISTER_PREFIX__
2394// PPC603E:#define __SCHAR_MAX__ 127
2395// PPC603E:#define __SHRT_MAX__ 32767
2396// PPC603E:#define __SIG_ATOMIC_WIDTH__ 32
2397// PPC603E:#define __SIZEOF_DOUBLE__ 8
2398// PPC603E:#define __SIZEOF_FLOAT__ 4
2399// PPC603E:#define __SIZEOF_INT__ 4
2400// PPC603E:#define __SIZEOF_LONG_DOUBLE__ 16
2401// PPC603E:#define __SIZEOF_LONG_LONG__ 8
2402// PPC603E:#define __SIZEOF_LONG__ 4
2403// PPC603E:#define __SIZEOF_POINTER__ 4
2404// PPC603E:#define __SIZEOF_PTRDIFF_T__ 4
2405// PPC603E:#define __SIZEOF_SHORT__ 2
2406// PPC603E:#define __SIZEOF_SIZE_T__ 4
2407// PPC603E:#define __SIZEOF_WCHAR_T__ 4
2408// PPC603E:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002409// PPC603E:#define __SIZE_MAX__ 4294967295U
Hal Finkel6b984f02012-07-03 16:51:04 +00002410// PPC603E:#define __SIZE_TYPE__ long unsigned int
2411// PPC603E:#define __SIZE_WIDTH__ 32
2412// PPC603E:#define __UINTMAX_TYPE__ long long unsigned int
2413// PPC603E:#define __USER_LABEL_PREFIX__ _
2414// PPC603E:#define __WCHAR_MAX__ 2147483647
2415// PPC603E:#define __WCHAR_TYPE__ int
2416// PPC603E:#define __WCHAR_WIDTH__ 32
2417// PPC603E:#define __WINT_TYPE__ int
2418// PPC603E:#define __WINT_WIDTH__ 32
2419// PPC603E:#define __powerpc__ 1
2420// PPC603E:#define __ppc__ 1
2421//
Hal Finkel8eb59282012-06-11 22:35:19 +00002422// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64 %s
Chris Lattnere963d092009-10-29 04:55:36 +00002423//
2424// PPC64:#define _ARCH_PPC 1
2425// PPC64:#define _ARCH_PPC64 1
Hal Finkel6b984f02012-07-03 16:51:04 +00002426// PPC64:#define _ARCH_PPCGR 1
2427// PPC64:#define _ARCH_PPCSQ 1
2428// PPC64:#define _ARCH_PWR4 1
2429// PPC64:#define _ARCH_PWR5 1
2430// PPC64:#define _ARCH_PWR6 1
Hal Finkel8eb59282012-06-11 22:35:19 +00002431// PPC64:#define _ARCH_PWR7 1
Chris Lattnere963d092009-10-29 04:55:36 +00002432// PPC64:#define _BIG_ENDIAN 1
2433// PPC64:#define _LP64 1
2434// PPC64:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002435// PPC64:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002436// PPC64:#define __CHAR16_TYPE__ unsigned short
2437// PPC64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002438// PPC64:#define __CHAR_BIT__ 8
2439// PPC64:#define __CHAR_UNSIGNED__ 1
2440// PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2441// PPC64:#define __DBL_DIG__ 15
2442// PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
2443// PPC64:#define __DBL_HAS_DENORM__ 1
2444// PPC64:#define __DBL_HAS_INFINITY__ 1
2445// PPC64:#define __DBL_HAS_QUIET_NAN__ 1
2446// PPC64:#define __DBL_MANT_DIG__ 53
2447// PPC64:#define __DBL_MAX_10_EXP__ 308
2448// PPC64:#define __DBL_MAX_EXP__ 1024
2449// PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
2450// PPC64:#define __DBL_MIN_10_EXP__ (-307)
2451// PPC64:#define __DBL_MIN_EXP__ (-1021)
2452// PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber3435ede2012-01-31 02:07:33 +00002453// PPC64:#define __DECIMAL_DIG__ 33
Chris Lattnere963d092009-10-29 04:55:36 +00002454// PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2455// PPC64:#define __FLT_DIG__ 6
2456// PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
2457// PPC64:#define __FLT_EVAL_METHOD__ 0
2458// PPC64:#define __FLT_HAS_DENORM__ 1
2459// PPC64:#define __FLT_HAS_INFINITY__ 1
2460// PPC64:#define __FLT_HAS_QUIET_NAN__ 1
2461// PPC64:#define __FLT_MANT_DIG__ 24
2462// PPC64:#define __FLT_MAX_10_EXP__ 38
2463// PPC64:#define __FLT_MAX_EXP__ 128
2464// PPC64:#define __FLT_MAX__ 3.40282347e+38F
2465// PPC64:#define __FLT_MIN_10_EXP__ (-37)
2466// PPC64:#define __FLT_MIN_EXP__ (-125)
2467// PPC64:#define __FLT_MIN__ 1.17549435e-38F
2468// PPC64:#define __FLT_RADIX__ 2
2469// PPC64:#define __INT16_TYPE__ short
2470// PPC64:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002471// PPC64:#define __INT64_C_SUFFIX__ L
Chris Lattnere963d092009-10-29 04:55:36 +00002472// PPC64:#define __INT64_TYPE__ long int
2473// PPC64:#define __INT8_TYPE__ char
2474// PPC64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck9b25f782009-11-19 13:18:59 +00002475// PPC64:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002476// PPC64:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002477// PPC64:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002478// PPC64:#define __INTPTR_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00002479// PPC64:#define __INT_MAX__ 2147483647
Nico Weber3435ede2012-01-31 02:07:33 +00002480// PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2481// PPC64:#define __LDBL_DIG__ 31
2482// PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002483// PPC64:#define __LDBL_HAS_DENORM__ 1
2484// PPC64:#define __LDBL_HAS_INFINITY__ 1
2485// PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002486// PPC64:#define __LDBL_MANT_DIG__ 106
Chris Lattnere963d092009-10-29 04:55:36 +00002487// PPC64:#define __LDBL_MAX_10_EXP__ 308
2488// PPC64:#define __LDBL_MAX_EXP__ 1024
Nico Weber3435ede2012-01-31 02:07:33 +00002489// PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2490// PPC64:#define __LDBL_MIN_10_EXP__ (-291)
2491// PPC64:#define __LDBL_MIN_EXP__ (-968)
2492// PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnere963d092009-10-29 04:55:36 +00002493// PPC64:#define __LONG_DOUBLE_128__ 1
2494// PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
2495// PPC64:#define __LONG_MAX__ 9223372036854775807L
2496// PPC64:#define __LP64__ 1
2497// PPC64:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002498// PPC64:#define __POINTER_WIDTH__ 64
2499// PPC64:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002500// PPC64:#define __PPC64__ 1
2501// PPC64:#define __PPC__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002502// PPC64:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002503// PPC64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00002504// PPC64:#define __REGISTER_PREFIX__
2505// PPC64:#define __SCHAR_MAX__ 127
2506// PPC64:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002507// PPC64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002508// PPC64:#define __SIZEOF_DOUBLE__ 8
2509// PPC64:#define __SIZEOF_FLOAT__ 4
2510// PPC64:#define __SIZEOF_INT__ 4
Nico Weber3435ede2012-01-31 02:07:33 +00002511// PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohman04f87202010-05-28 00:27:15 +00002512// PPC64:#define __SIZEOF_LONG_LONG__ 8
2513// PPC64:#define __SIZEOF_LONG__ 8
2514// PPC64:#define __SIZEOF_POINTER__ 8
2515// PPC64:#define __SIZEOF_PTRDIFF_T__ 8
2516// PPC64:#define __SIZEOF_SHORT__ 2
2517// PPC64:#define __SIZEOF_SIZE_T__ 8
2518// PPC64:#define __SIZEOF_WCHAR_T__ 4
2519// PPC64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002520// PPC64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnere963d092009-10-29 04:55:36 +00002521// PPC64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002522// PPC64:#define __SIZE_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002523// PPC64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002524// PPC64:#define __USER_LABEL_PREFIX__ _
2525// PPC64:#define __WCHAR_MAX__ 2147483647
2526// PPC64:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002527// PPC64:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002528// PPC64:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002529// PPC64:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002530// PPC64:#define __ppc64__ 1
2531// PPC64:#define __ppc__ 1
2532//
Bill Schmidt778d3872013-07-26 01:36:11 +00002533// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64LE %s
2534//
2535// PPC64LE:#define _ARCH_PPC 1
2536// PPC64LE:#define _ARCH_PPC64 1
2537// PPC64LE:#define _ARCH_PPCGR 1
2538// PPC64LE:#define _ARCH_PPCSQ 1
2539// PPC64LE:#define _ARCH_PWR4 1
2540// PPC64LE:#define _ARCH_PWR5 1
2541// PPC64LE:#define _ARCH_PWR5X 1
2542// PPC64LE:#define _ARCH_PWR6 1
2543// PPC64LE:#define _ARCH_PWR6X 1
2544// PPC64LE:#define _ARCH_PWR7 1
Will Schmidt5fa50f3c2014-03-24 21:09:16 +00002545// PPC64LE:#define _CALL_ELF 2
Bill Schmidt778d3872013-07-26 01:36:11 +00002546// PPC64LE:#define _LITTLE_ENDIAN 1
2547// PPC64LE:#define _LP64 1
2548// PPC64LE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
2549// PPC64LE:#define __CHAR16_TYPE__ unsigned short
2550// PPC64LE:#define __CHAR32_TYPE__ unsigned int
2551// PPC64LE:#define __CHAR_BIT__ 8
2552// PPC64LE:#define __CHAR_UNSIGNED__ 1
2553// PPC64LE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2554// PPC64LE:#define __DBL_DIG__ 15
2555// PPC64LE:#define __DBL_EPSILON__ 2.2204460492503131e-16
2556// PPC64LE:#define __DBL_HAS_DENORM__ 1
2557// PPC64LE:#define __DBL_HAS_INFINITY__ 1
2558// PPC64LE:#define __DBL_HAS_QUIET_NAN__ 1
2559// PPC64LE:#define __DBL_MANT_DIG__ 53
2560// PPC64LE:#define __DBL_MAX_10_EXP__ 308
2561// PPC64LE:#define __DBL_MAX_EXP__ 1024
2562// PPC64LE:#define __DBL_MAX__ 1.7976931348623157e+308
2563// PPC64LE:#define __DBL_MIN_10_EXP__ (-307)
2564// PPC64LE:#define __DBL_MIN_EXP__ (-1021)
2565// PPC64LE:#define __DBL_MIN__ 2.2250738585072014e-308
2566// PPC64LE:#define __DECIMAL_DIG__ 33
2567// PPC64LE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2568// PPC64LE:#define __FLT_DIG__ 6
2569// PPC64LE:#define __FLT_EPSILON__ 1.19209290e-7F
2570// PPC64LE:#define __FLT_EVAL_METHOD__ 0
2571// PPC64LE:#define __FLT_HAS_DENORM__ 1
2572// PPC64LE:#define __FLT_HAS_INFINITY__ 1
2573// PPC64LE:#define __FLT_HAS_QUIET_NAN__ 1
2574// PPC64LE:#define __FLT_MANT_DIG__ 24
2575// PPC64LE:#define __FLT_MAX_10_EXP__ 38
2576// PPC64LE:#define __FLT_MAX_EXP__ 128
2577// PPC64LE:#define __FLT_MAX__ 3.40282347e+38F
2578// PPC64LE:#define __FLT_MIN_10_EXP__ (-37)
2579// PPC64LE:#define __FLT_MIN_EXP__ (-125)
2580// PPC64LE:#define __FLT_MIN__ 1.17549435e-38F
2581// PPC64LE:#define __FLT_RADIX__ 2
2582// PPC64LE:#define __INT16_TYPE__ short
2583// PPC64LE:#define __INT32_TYPE__ int
2584// PPC64LE:#define __INT64_C_SUFFIX__ L
2585// PPC64LE:#define __INT64_TYPE__ long int
2586// PPC64LE:#define __INT8_TYPE__ char
2587// PPC64LE:#define __INTMAX_MAX__ 9223372036854775807L
2588// PPC64LE:#define __INTMAX_TYPE__ long int
2589// PPC64LE:#define __INTMAX_WIDTH__ 64
2590// PPC64LE:#define __INTPTR_TYPE__ long int
2591// PPC64LE:#define __INTPTR_WIDTH__ 64
2592// PPC64LE:#define __INT_MAX__ 2147483647
2593// PPC64LE:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2594// PPC64LE:#define __LDBL_DIG__ 31
2595// PPC64LE:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2596// PPC64LE:#define __LDBL_HAS_DENORM__ 1
2597// PPC64LE:#define __LDBL_HAS_INFINITY__ 1
2598// PPC64LE:#define __LDBL_HAS_QUIET_NAN__ 1
2599// PPC64LE:#define __LDBL_MANT_DIG__ 106
2600// PPC64LE:#define __LDBL_MAX_10_EXP__ 308
2601// PPC64LE:#define __LDBL_MAX_EXP__ 1024
2602// PPC64LE:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2603// PPC64LE:#define __LDBL_MIN_10_EXP__ (-291)
2604// PPC64LE:#define __LDBL_MIN_EXP__ (-968)
2605// PPC64LE:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2606// PPC64LE:#define __LITTLE_ENDIAN__ 1
2607// PPC64LE:#define __LONG_DOUBLE_128__ 1
2608// PPC64LE:#define __LONG_LONG_MAX__ 9223372036854775807LL
2609// PPC64LE:#define __LONG_MAX__ 9223372036854775807L
2610// PPC64LE:#define __LP64__ 1
2611// PPC64LE:#define __NATURAL_ALIGNMENT__ 1
2612// PPC64LE:#define __POINTER_WIDTH__ 64
2613// PPC64LE:#define __POWERPC__ 1
2614// PPC64LE:#define __PPC64__ 1
2615// PPC64LE:#define __PPC__ 1
2616// PPC64LE:#define __PTRDIFF_TYPE__ long int
2617// PPC64LE:#define __PTRDIFF_WIDTH__ 64
2618// PPC64LE:#define __REGISTER_PREFIX__
2619// PPC64LE:#define __SCHAR_MAX__ 127
2620// PPC64LE:#define __SHRT_MAX__ 32767
2621// PPC64LE:#define __SIG_ATOMIC_WIDTH__ 32
2622// PPC64LE:#define __SIZEOF_DOUBLE__ 8
2623// PPC64LE:#define __SIZEOF_FLOAT__ 4
2624// PPC64LE:#define __SIZEOF_INT__ 4
2625// PPC64LE:#define __SIZEOF_LONG_DOUBLE__ 16
2626// PPC64LE:#define __SIZEOF_LONG_LONG__ 8
2627// PPC64LE:#define __SIZEOF_LONG__ 8
2628// PPC64LE:#define __SIZEOF_POINTER__ 8
2629// PPC64LE:#define __SIZEOF_PTRDIFF_T__ 8
2630// PPC64LE:#define __SIZEOF_SHORT__ 2
2631// PPC64LE:#define __SIZEOF_SIZE_T__ 8
2632// PPC64LE:#define __SIZEOF_WCHAR_T__ 4
2633// PPC64LE:#define __SIZEOF_WINT_T__ 4
2634// PPC64LE:#define __SIZE_MAX__ 18446744073709551615UL
2635// PPC64LE:#define __SIZE_TYPE__ long unsigned int
2636// PPC64LE:#define __SIZE_WIDTH__ 64
2637// PPC64LE:#define __UINTMAX_TYPE__ long unsigned int
2638// PPC64LE:#define __USER_LABEL_PREFIX__ _
2639// PPC64LE:#define __WCHAR_MAX__ 2147483647
2640// PPC64LE:#define __WCHAR_TYPE__ int
2641// PPC64LE:#define __WCHAR_WIDTH__ 32
2642// PPC64LE:#define __WINT_TYPE__ int
2643// PPC64LE:#define __WINT_WIDTH__ 32
2644// PPC64LE:#define __ppc64__ 1
2645// PPC64LE:#define __ppc__ 1
2646//
Hal Finkeldf1e4bf2013-02-01 05:53:33 +00002647// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu a2q -fno-signed-char < /dev/null | FileCheck -check-prefix PPCA2Q %s
2648//
2649// PPCA2Q:#define _ARCH_A2 1
2650// PPCA2Q:#define _ARCH_A2Q 1
2651// PPCA2Q:#define _ARCH_PPC 1
2652// PPCA2Q:#define _ARCH_PPC64 1
2653// PPCA2Q:#define _ARCH_QP 1
2654//
2655// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-bgq-linux -fno-signed-char < /dev/null | FileCheck -check-prefix PPCBGQ %s
2656//
2657// PPCBGQ:#define __THW_BLUEGENE__ 1
2658// PPCBGQ:#define __TOS_BGQ__ 1
2659// PPCBGQ:#define __bg__ 1
2660// PPCBGQ:#define __bgq__ 1
2661//
Bill Schmidt38378a02013-02-01 20:23:10 +00002662// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu 630 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC630 %s
2663//
2664// PPC630:#define _ARCH_630 1
2665// PPC630:#define _ARCH_PPC 1
2666// PPC630:#define _ARCH_PPC64 1
2667// PPC630:#define _ARCH_PPCGR 1
2668//
2669// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR3 %s
2670//
2671// PPCPWR3:#define _ARCH_PPC 1
2672// PPCPWR3:#define _ARCH_PPC64 1
2673// PPCPWR3:#define _ARCH_PPCGR 1
2674//
2675// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER3 %s
2676//
2677// PPCPOWER3:#define _ARCH_PPC 1
2678// PPCPOWER3:#define _ARCH_PPC64 1
2679// PPCPOWER3:#define _ARCH_PPCGR 1
2680//
2681// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR4 %s
2682//
2683// PPCPWR4:#define _ARCH_PPC 1
2684// PPCPWR4:#define _ARCH_PPC64 1
2685// PPCPWR4:#define _ARCH_PPCGR 1
2686// PPCPWR4:#define _ARCH_PPCSQ 1
2687// PPCPWR4:#define _ARCH_PWR4 1
2688//
2689// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER4 %s
2690//
2691// PPCPOWER4:#define _ARCH_PPC 1
2692// PPCPOWER4:#define _ARCH_PPC64 1
2693// PPCPOWER4:#define _ARCH_PPCGR 1
2694// PPCPOWER4:#define _ARCH_PPCSQ 1
2695// PPCPOWER4:#define _ARCH_PWR4 1
2696//
2697// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5 %s
2698//
2699// PPCPWR5:#define _ARCH_PPC 1
2700// PPCPWR5:#define _ARCH_PPC64 1
2701// PPCPWR5:#define _ARCH_PPCGR 1
2702// PPCPWR5:#define _ARCH_PPCSQ 1
2703// PPCPWR5:#define _ARCH_PWR4 1
2704// PPCPWR5:#define _ARCH_PWR5 1
2705//
2706// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5 %s
2707//
2708// PPCPOWER5:#define _ARCH_PPC 1
2709// PPCPOWER5:#define _ARCH_PPC64 1
2710// PPCPOWER5:#define _ARCH_PPCGR 1
2711// PPCPOWER5:#define _ARCH_PPCSQ 1
2712// PPCPOWER5:#define _ARCH_PWR4 1
2713// PPCPOWER5:#define _ARCH_PWR5 1
2714//
2715// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5X %s
2716//
2717// PPCPWR5X:#define _ARCH_PPC 1
2718// PPCPWR5X:#define _ARCH_PPC64 1
2719// PPCPWR5X:#define _ARCH_PPCGR 1
2720// PPCPWR5X:#define _ARCH_PPCSQ 1
2721// PPCPWR5X:#define _ARCH_PWR4 1
2722// PPCPWR5X:#define _ARCH_PWR5 1
2723// PPCPWR5X:#define _ARCH_PWR5X 1
2724//
2725// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5X %s
2726//
2727// PPCPOWER5X:#define _ARCH_PPC 1
2728// PPCPOWER5X:#define _ARCH_PPC64 1
2729// PPCPOWER5X:#define _ARCH_PPCGR 1
2730// PPCPOWER5X:#define _ARCH_PPCSQ 1
2731// PPCPOWER5X:#define _ARCH_PWR4 1
2732// PPCPOWER5X:#define _ARCH_PWR5 1
2733// PPCPOWER5X:#define _ARCH_PWR5X 1
2734//
2735// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6 %s
2736//
2737// PPCPWR6:#define _ARCH_PPC 1
2738// PPCPWR6:#define _ARCH_PPC64 1
2739// PPCPWR6:#define _ARCH_PPCGR 1
2740// PPCPWR6:#define _ARCH_PPCSQ 1
2741// PPCPWR6:#define _ARCH_PWR4 1
2742// PPCPWR6:#define _ARCH_PWR5 1
2743// PPCPWR6:#define _ARCH_PWR5X 1
2744// PPCPWR6:#define _ARCH_PWR6 1
2745//
2746// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6 %s
2747//
2748// PPCPOWER6:#define _ARCH_PPC 1
2749// PPCPOWER6:#define _ARCH_PPC64 1
2750// PPCPOWER6:#define _ARCH_PPCGR 1
2751// PPCPOWER6:#define _ARCH_PPCSQ 1
2752// PPCPOWER6:#define _ARCH_PWR4 1
2753// PPCPOWER6:#define _ARCH_PWR5 1
2754// PPCPOWER6:#define _ARCH_PWR5X 1
2755// PPCPOWER6:#define _ARCH_PWR6 1
2756//
2757// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6X %s
2758//
2759// PPCPWR6X:#define _ARCH_PPC 1
2760// PPCPWR6X:#define _ARCH_PPC64 1
2761// PPCPWR6X:#define _ARCH_PPCGR 1
2762// PPCPWR6X:#define _ARCH_PPCSQ 1
2763// PPCPWR6X:#define _ARCH_PWR4 1
2764// PPCPWR6X:#define _ARCH_PWR5 1
2765// PPCPWR6X:#define _ARCH_PWR5X 1
2766// PPCPWR6X:#define _ARCH_PWR6 1
2767// PPCPWR6X:#define _ARCH_PWR6X 1
2768//
2769// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6X %s
2770//
2771// PPCPOWER6X:#define _ARCH_PPC 1
2772// PPCPOWER6X:#define _ARCH_PPC64 1
2773// PPCPOWER6X:#define _ARCH_PPCGR 1
2774// PPCPOWER6X:#define _ARCH_PPCSQ 1
2775// PPCPOWER6X:#define _ARCH_PWR4 1
2776// PPCPOWER6X:#define _ARCH_PWR5 1
2777// PPCPOWER6X:#define _ARCH_PWR5X 1
2778// PPCPOWER6X:#define _ARCH_PWR6 1
2779// PPCPOWER6X:#define _ARCH_PWR6X 1
2780//
2781// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR7 %s
2782//
2783// PPCPWR7:#define _ARCH_PPC 1
2784// PPCPWR7:#define _ARCH_PPC64 1
2785// PPCPWR7:#define _ARCH_PPCGR 1
2786// PPCPWR7:#define _ARCH_PPCSQ 1
2787// PPCPWR7:#define _ARCH_PWR4 1
2788// PPCPWR7:#define _ARCH_PWR5 1
2789// PPCPWR7:#define _ARCH_PWR5X 1
2790// PPCPWR7:#define _ARCH_PWR6 1
2791// PPCPWR7:#define _ARCH_PWR6X 1
2792// PPCPWR7:#define _ARCH_PWR7 1
2793//
2794// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER7 %s
2795//
2796// PPCPOWER7:#define _ARCH_PPC 1
2797// PPCPOWER7:#define _ARCH_PPC64 1
2798// PPCPOWER7:#define _ARCH_PPCGR 1
2799// PPCPOWER7:#define _ARCH_PPCSQ 1
2800// PPCPOWER7:#define _ARCH_PWR4 1
2801// PPCPOWER7:#define _ARCH_PWR5 1
2802// PPCPOWER7:#define _ARCH_PWR5X 1
2803// PPCPOWER7:#define _ARCH_PWR6 1
2804// PPCPOWER7:#define _ARCH_PWR6X 1
2805// PPCPOWER7:#define _ARCH_PWR7 1
2806//
Nico Weber3435ede2012-01-31 02:07:33 +00002807// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
2808//
2809// PPC64-LINUX:#define _ARCH_PPC 1
2810// PPC64-LINUX:#define _ARCH_PPC64 1
2811// PPC64-LINUX:#define _BIG_ENDIAN 1
2812// PPC64-LINUX:#define _LP64 1
2813// PPC64-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002814// PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber3435ede2012-01-31 02:07:33 +00002815// PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
2816// PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
2817// PPC64-LINUX:#define __CHAR_BIT__ 8
2818// PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
2819// PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2820// PPC64-LINUX:#define __DBL_DIG__ 15
2821// PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2822// PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
2823// PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
2824// PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2825// PPC64-LINUX:#define __DBL_MANT_DIG__ 53
2826// PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
2827// PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
2828// PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2829// PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2830// PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2831// PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2832// PPC64-LINUX:#define __DECIMAL_DIG__ 33
2833// PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2834// PPC64-LINUX:#define __FLT_DIG__ 6
2835// PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2836// PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
2837// PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
2838// PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
2839// PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2840// PPC64-LINUX:#define __FLT_MANT_DIG__ 24
2841// PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
2842// PPC64-LINUX:#define __FLT_MAX_EXP__ 128
2843// PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2844// PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2845// PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
2846// PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2847// PPC64-LINUX:#define __FLT_RADIX__ 2
2848// PPC64-LINUX:#define __INT16_TYPE__ short
2849// PPC64-LINUX:#define __INT32_TYPE__ int
2850// PPC64-LINUX:#define __INT64_C_SUFFIX__ L
2851// PPC64-LINUX:#define __INT64_TYPE__ long int
2852// PPC64-LINUX:#define __INT8_TYPE__ char
2853// PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2854// PPC64-LINUX:#define __INTMAX_TYPE__ long int
2855// PPC64-LINUX:#define __INTMAX_WIDTH__ 64
2856// PPC64-LINUX:#define __INTPTR_TYPE__ long int
2857// PPC64-LINUX:#define __INTPTR_WIDTH__ 64
2858// PPC64-LINUX:#define __INT_MAX__ 2147483647
2859// PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2860// PPC64-LINUX:#define __LDBL_DIG__ 31
2861// PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2862// PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
2863// PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2864// PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2865// PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
2866// PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
2867// PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
2868// PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2869// PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2870// PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
2871// PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2872// PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
2873// PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2874// PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2875// PPC64-LINUX:#define __LP64__ 1
2876// PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002877// PPC64-LINUX:#define __POINTER_WIDTH__ 64
2878// PPC64-LINUX:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002879// PPC64-LINUX:#define __PPC64__ 1
2880// PPC64-LINUX:#define __PPC__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002881// PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
2882// PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
2883// PPC64-LINUX:#define __REGISTER_PREFIX__
2884// PPC64-LINUX:#define __SCHAR_MAX__ 127
2885// PPC64-LINUX:#define __SHRT_MAX__ 32767
2886// PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2887// PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
2888// PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
2889// PPC64-LINUX:#define __SIZEOF_INT__ 4
2890// PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2891// PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2892// PPC64-LINUX:#define __SIZEOF_LONG__ 8
2893// PPC64-LINUX:#define __SIZEOF_POINTER__ 8
2894// PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2895// PPC64-LINUX:#define __SIZEOF_SHORT__ 2
2896// PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
2897// PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2898// PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002899// PPC64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Nico Weber3435ede2012-01-31 02:07:33 +00002900// PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
2901// PPC64-LINUX:#define __SIZE_WIDTH__ 64
2902// PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2903// PPC64-LINUX:#define __USER_LABEL_PREFIX__
2904// PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
2905// PPC64-LINUX:#define __WCHAR_TYPE__ int
2906// PPC64-LINUX:#define __WCHAR_WIDTH__ 32
2907// PPC64-LINUX:#define __WINT_TYPE__ unsigned int
2908// PPC64-LINUX:#define __WINT_UNSIGNED__ 1
2909// PPC64-LINUX:#define __WINT_WIDTH__ 32
2910// PPC64-LINUX:#define __powerpc64__ 1
2911// PPC64-LINUX:#define __powerpc__ 1
2912// PPC64-LINUX:#define __ppc64__ 1
2913// PPC64-LINUX:#define __ppc__ 1
2914//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002915// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix PPC %s
Chris Lattnere963d092009-10-29 04:55:36 +00002916//
2917// PPC:#define _ARCH_PPC 1
2918// PPC:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002919// PPC-NOT:#define _LP64
Chris Lattnere963d092009-10-29 04:55:36 +00002920// PPC:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002921// PPC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002922// PPC:#define __CHAR16_TYPE__ unsigned short
2923// PPC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002924// PPC:#define __CHAR_BIT__ 8
2925// PPC:#define __CHAR_UNSIGNED__ 1
2926// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2927// PPC:#define __DBL_DIG__ 15
2928// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2929// PPC:#define __DBL_HAS_DENORM__ 1
2930// PPC:#define __DBL_HAS_INFINITY__ 1
2931// PPC:#define __DBL_HAS_QUIET_NAN__ 1
2932// PPC:#define __DBL_MANT_DIG__ 53
2933// PPC:#define __DBL_MAX_10_EXP__ 308
2934// PPC:#define __DBL_MAX_EXP__ 1024
2935// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
2936// PPC:#define __DBL_MIN_10_EXP__ (-307)
2937// PPC:#define __DBL_MIN_EXP__ (-1021)
2938// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber3435ede2012-01-31 02:07:33 +00002939// PPC:#define __DECIMAL_DIG__ 33
Chris Lattnere963d092009-10-29 04:55:36 +00002940// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2941// PPC:#define __FLT_DIG__ 6
2942// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
2943// PPC:#define __FLT_EVAL_METHOD__ 0
2944// PPC:#define __FLT_HAS_DENORM__ 1
2945// PPC:#define __FLT_HAS_INFINITY__ 1
2946// PPC:#define __FLT_HAS_QUIET_NAN__ 1
2947// PPC:#define __FLT_MANT_DIG__ 24
2948// PPC:#define __FLT_MAX_10_EXP__ 38
2949// PPC:#define __FLT_MAX_EXP__ 128
2950// PPC:#define __FLT_MAX__ 3.40282347e+38F
2951// PPC:#define __FLT_MIN_10_EXP__ (-37)
2952// PPC:#define __FLT_MIN_EXP__ (-125)
2953// PPC:#define __FLT_MIN__ 1.17549435e-38F
2954// PPC:#define __FLT_RADIX__ 2
2955// PPC:#define __INT16_TYPE__ short
2956// PPC:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002957// PPC:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00002958// PPC:#define __INT64_TYPE__ long long int
2959// PPC:#define __INT8_TYPE__ char
2960// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00002961// PPC:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002962// PPC:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002963// PPC:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002964// PPC:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002965// PPC:#define __INT_MAX__ 2147483647
Nico Weber3435ede2012-01-31 02:07:33 +00002966// PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2967// PPC:#define __LDBL_DIG__ 31
2968// PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002969// PPC:#define __LDBL_HAS_DENORM__ 1
2970// PPC:#define __LDBL_HAS_INFINITY__ 1
2971// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002972// PPC:#define __LDBL_MANT_DIG__ 106
Chris Lattnere963d092009-10-29 04:55:36 +00002973// PPC:#define __LDBL_MAX_10_EXP__ 308
2974// PPC:#define __LDBL_MAX_EXP__ 1024
Nico Weber3435ede2012-01-31 02:07:33 +00002975// PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2976// PPC:#define __LDBL_MIN_10_EXP__ (-291)
2977// PPC:#define __LDBL_MIN_EXP__ (-968)
2978// PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnere963d092009-10-29 04:55:36 +00002979// PPC:#define __LONG_DOUBLE_128__ 1
2980// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2981// PPC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002982// PPC-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00002983// PPC:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002984// PPC:#define __POINTER_WIDTH__ 32
2985// PPC:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002986// PPC:#define __PPC__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002987// PPC:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002988// PPC:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002989// PPC:#define __REGISTER_PREFIX__
2990// PPC:#define __SCHAR_MAX__ 127
2991// PPC:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002992// PPC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002993// PPC:#define __SIZEOF_DOUBLE__ 8
2994// PPC:#define __SIZEOF_FLOAT__ 4
2995// PPC:#define __SIZEOF_INT__ 4
Nico Weber3435ede2012-01-31 02:07:33 +00002996// PPC:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohman04f87202010-05-28 00:27:15 +00002997// PPC:#define __SIZEOF_LONG_LONG__ 8
2998// PPC:#define __SIZEOF_LONG__ 4
2999// PPC:#define __SIZEOF_POINTER__ 4
3000// PPC:#define __SIZEOF_PTRDIFF_T__ 4
3001// PPC:#define __SIZEOF_SHORT__ 2
3002// PPC:#define __SIZEOF_SIZE_T__ 4
3003// PPC:#define __SIZEOF_WCHAR_T__ 4
3004// PPC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003005// PPC:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00003006// PPC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00003007// PPC:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003008// PPC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003009// PPC:#define __USER_LABEL_PREFIX__ _
3010// PPC:#define __WCHAR_MAX__ 2147483647
3011// PPC:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00003012// PPC:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003013// PPC:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00003014// PPC:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003015// PPC:#define __ppc__ 1
3016//
Nico Weber3435ede2012-01-31 02:07:33 +00003017// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
3018//
3019// PPC-LINUX:#define _ARCH_PPC 1
3020// PPC-LINUX:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003021// PPC-LINUX-NOT:#define _LP64
Nico Weber3435ede2012-01-31 02:07:33 +00003022// PPC-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003023// PPC-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber3435ede2012-01-31 02:07:33 +00003024// PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
3025// PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
3026// PPC-LINUX:#define __CHAR_BIT__ 8
3027// PPC-LINUX:#define __CHAR_UNSIGNED__ 1
3028// PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3029// PPC-LINUX:#define __DBL_DIG__ 15
3030// PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
3031// PPC-LINUX:#define __DBL_HAS_DENORM__ 1
3032// PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
3033// PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
3034// PPC-LINUX:#define __DBL_MANT_DIG__ 53
3035// PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
3036// PPC-LINUX:#define __DBL_MAX_EXP__ 1024
3037// PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
3038// PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
3039// PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
3040// PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
3041// PPC-LINUX:#define __DECIMAL_DIG__ 33
3042// PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3043// PPC-LINUX:#define __FLT_DIG__ 6
3044// PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
3045// PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
3046// PPC-LINUX:#define __FLT_HAS_DENORM__ 1
3047// PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
3048// PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
3049// PPC-LINUX:#define __FLT_MANT_DIG__ 24
3050// PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
3051// PPC-LINUX:#define __FLT_MAX_EXP__ 128
3052// PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
3053// PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
3054// PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
3055// PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
3056// PPC-LINUX:#define __FLT_RADIX__ 2
3057// PPC-LINUX:#define __INT16_TYPE__ short
3058// PPC-LINUX:#define __INT32_TYPE__ int
3059// PPC-LINUX:#define __INT64_C_SUFFIX__ LL
3060// PPC-LINUX:#define __INT64_TYPE__ long long int
3061// PPC-LINUX:#define __INT8_TYPE__ char
3062// PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
3063// PPC-LINUX:#define __INTMAX_TYPE__ long long int
3064// PPC-LINUX:#define __INTMAX_WIDTH__ 64
Hal Finkel26908382012-03-02 20:54:36 +00003065// PPC-LINUX:#define __INTPTR_TYPE__ int
Nico Weber3435ede2012-01-31 02:07:33 +00003066// PPC-LINUX:#define __INTPTR_WIDTH__ 32
3067// PPC-LINUX:#define __INT_MAX__ 2147483647
3068// PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
3069// PPC-LINUX:#define __LDBL_DIG__ 31
3070// PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
3071// PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
3072// PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
3073// PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
3074// PPC-LINUX:#define __LDBL_MANT_DIG__ 106
3075// PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
3076// PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
3077// PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
3078// PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
3079// PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
3080// PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
3081// PPC-LINUX:#define __LONG_DOUBLE_128__ 1
3082// PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
3083// PPC-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003084// PPC-LINUX-NOT:#define __LP64__
Nico Weber3435ede2012-01-31 02:07:33 +00003085// PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00003086// PPC-LINUX:#define __POINTER_WIDTH__ 32
3087// PPC-LINUX:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00003088// PPC-LINUX:#define __PPC__ 1
Hal Finkel26908382012-03-02 20:54:36 +00003089// PPC-LINUX:#define __PTRDIFF_TYPE__ int
Nico Weber3435ede2012-01-31 02:07:33 +00003090// PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
3091// PPC-LINUX:#define __REGISTER_PREFIX__
3092// PPC-LINUX:#define __SCHAR_MAX__ 127
3093// PPC-LINUX:#define __SHRT_MAX__ 32767
3094// PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
3095// PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
3096// PPC-LINUX:#define __SIZEOF_FLOAT__ 4
3097// PPC-LINUX:#define __SIZEOF_INT__ 4
3098// PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
3099// PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
3100// PPC-LINUX:#define __SIZEOF_LONG__ 4
3101// PPC-LINUX:#define __SIZEOF_POINTER__ 4
3102// PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
3103// PPC-LINUX:#define __SIZEOF_SHORT__ 2
3104// PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
3105// PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
3106// PPC-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003107// PPC-LINUX:#define __SIZE_MAX__ 4294967295U
Nico Weber3435ede2012-01-31 02:07:33 +00003108// PPC-LINUX:#define __SIZE_TYPE__ unsigned int
3109// PPC-LINUX:#define __SIZE_WIDTH__ 32
3110// PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
3111// PPC-LINUX:#define __USER_LABEL_PREFIX__
3112// PPC-LINUX:#define __WCHAR_MAX__ 2147483647
3113// PPC-LINUX:#define __WCHAR_TYPE__ int
3114// PPC-LINUX:#define __WCHAR_WIDTH__ 32
3115// PPC-LINUX:#define __WINT_TYPE__ unsigned int
3116// PPC-LINUX:#define __WINT_UNSIGNED__ 1
3117// PPC-LINUX:#define __WINT_WIDTH__ 32
3118// PPC-LINUX:#define __powerpc__ 1
3119// PPC-LINUX:#define __ppc__ 1
3120//
David Fang072d47b2013-05-16 17:51:48 +00003121// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-apple-darwin8 < /dev/null | FileCheck -check-prefix PPC-DARWIN %s
3122//
3123// PPC-DARWIN:#define _ARCH_PPC 1
3124// PPC-DARWIN:#define _BIG_ENDIAN 1
3125// PPC-DARWIN:#define __BIG_ENDIAN__ 1
3126// PPC-DARWIN:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
3127// PPC-DARWIN:#define __CHAR16_TYPE__ unsigned short
3128// PPC-DARWIN:#define __CHAR32_TYPE__ unsigned int
3129// PPC-DARWIN:#define __CHAR_BIT__ 8
3130// PPC-DARWIN:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3131// PPC-DARWIN:#define __DBL_DIG__ 15
3132// PPC-DARWIN:#define __DBL_EPSILON__ 2.2204460492503131e-16
3133// PPC-DARWIN:#define __DBL_HAS_DENORM__ 1
3134// PPC-DARWIN:#define __DBL_HAS_INFINITY__ 1
3135// PPC-DARWIN:#define __DBL_HAS_QUIET_NAN__ 1
3136// PPC-DARWIN:#define __DBL_MANT_DIG__ 53
3137// PPC-DARWIN:#define __DBL_MAX_10_EXP__ 308
3138// PPC-DARWIN:#define __DBL_MAX_EXP__ 1024
3139// PPC-DARWIN:#define __DBL_MAX__ 1.7976931348623157e+308
3140// PPC-DARWIN:#define __DBL_MIN_10_EXP__ (-307)
3141// PPC-DARWIN:#define __DBL_MIN_EXP__ (-1021)
3142// PPC-DARWIN:#define __DBL_MIN__ 2.2250738585072014e-308
3143// PPC-DARWIN:#define __DECIMAL_DIG__ 33
3144// PPC-DARWIN:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3145// PPC-DARWIN:#define __FLT_DIG__ 6
3146// PPC-DARWIN:#define __FLT_EPSILON__ 1.19209290e-7F
3147// PPC-DARWIN:#define __FLT_EVAL_METHOD__ 0
3148// PPC-DARWIN:#define __FLT_HAS_DENORM__ 1
3149// PPC-DARWIN:#define __FLT_HAS_INFINITY__ 1
3150// PPC-DARWIN:#define __FLT_HAS_QUIET_NAN__ 1
3151// PPC-DARWIN:#define __FLT_MANT_DIG__ 24
3152// PPC-DARWIN:#define __FLT_MAX_10_EXP__ 38
3153// PPC-DARWIN:#define __FLT_MAX_EXP__ 128
3154// PPC-DARWIN:#define __FLT_MAX__ 3.40282347e+38F
3155// PPC-DARWIN:#define __FLT_MIN_10_EXP__ (-37)
3156// PPC-DARWIN:#define __FLT_MIN_EXP__ (-125)
3157// PPC-DARWIN:#define __FLT_MIN__ 1.17549435e-38F
3158// PPC-DARWIN:#define __FLT_RADIX__ 2
3159// PPC-DARWIN:#define __INT16_TYPE__ short
3160// PPC-DARWIN:#define __INT32_TYPE__ int
3161// PPC-DARWIN:#define __INT64_C_SUFFIX__ LL
3162// PPC-DARWIN:#define __INT64_TYPE__ long long int
3163// PPC-DARWIN:#define __INT8_TYPE__ char
3164// PPC-DARWIN:#define __INTMAX_MAX__ 9223372036854775807LL
3165// PPC-DARWIN:#define __INTMAX_TYPE__ long long int
3166// PPC-DARWIN:#define __INTMAX_WIDTH__ 64
3167// PPC-DARWIN:#define __INTPTR_TYPE__ long int
3168// PPC-DARWIN:#define __INTPTR_WIDTH__ 32
3169// PPC-DARWIN:#define __INT_MAX__ 2147483647
3170// PPC-DARWIN:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
3171// PPC-DARWIN:#define __LDBL_DIG__ 31
3172// PPC-DARWIN:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
3173// PPC-DARWIN:#define __LDBL_HAS_DENORM__ 1
3174// PPC-DARWIN:#define __LDBL_HAS_INFINITY__ 1
3175// PPC-DARWIN:#define __LDBL_HAS_QUIET_NAN__ 1
3176// PPC-DARWIN:#define __LDBL_MANT_DIG__ 106
3177// PPC-DARWIN:#define __LDBL_MAX_10_EXP__ 308
3178// PPC-DARWIN:#define __LDBL_MAX_EXP__ 1024
3179// PPC-DARWIN:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
3180// PPC-DARWIN:#define __LDBL_MIN_10_EXP__ (-291)
3181// PPC-DARWIN:#define __LDBL_MIN_EXP__ (-968)
3182// PPC-DARWIN:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
3183// PPC-DARWIN:#define __LONG_DOUBLE_128__ 1
3184// PPC-DARWIN:#define __LONG_LONG_MAX__ 9223372036854775807LL
3185// PPC-DARWIN:#define __LONG_MAX__ 2147483647L
3186// PPC-DARWIN:#define __MACH__ 1
3187// PPC-DARWIN:#define __NATURAL_ALIGNMENT__ 1
3188// PPC-DARWIN:#define __ORDER_BIG_ENDIAN__ 4321
3189// PPC-DARWIN:#define __ORDER_LITTLE_ENDIAN__ 1234
3190// PPC-DARWIN:#define __ORDER_PDP_ENDIAN__ 3412
3191// PPC-DARWIN:#define __POINTER_WIDTH__ 32
3192// PPC-DARWIN:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00003193// PPC-DARWIN:#define __PPC__ 1
David Fang072d47b2013-05-16 17:51:48 +00003194// PPC-DARWIN:#define __PTRDIFF_TYPE__ int
3195// PPC-DARWIN:#define __PTRDIFF_WIDTH__ 32
3196// PPC-DARWIN:#define __REGISTER_PREFIX__
3197// PPC-DARWIN:#define __SCHAR_MAX__ 127
3198// PPC-DARWIN:#define __SHRT_MAX__ 32767
3199// PPC-DARWIN:#define __SIG_ATOMIC_WIDTH__ 32
3200// PPC-DARWIN:#define __SIZEOF_DOUBLE__ 8
3201// PPC-DARWIN:#define __SIZEOF_FLOAT__ 4
3202// PPC-DARWIN:#define __SIZEOF_INT__ 4
3203// PPC-DARWIN:#define __SIZEOF_LONG_DOUBLE__ 16
3204// PPC-DARWIN:#define __SIZEOF_LONG_LONG__ 8
3205// PPC-DARWIN:#define __SIZEOF_LONG__ 4
3206// PPC-DARWIN:#define __SIZEOF_POINTER__ 4
3207// PPC-DARWIN:#define __SIZEOF_PTRDIFF_T__ 4
3208// PPC-DARWIN:#define __SIZEOF_SHORT__ 2
3209// PPC-DARWIN:#define __SIZEOF_SIZE_T__ 4
3210// PPC-DARWIN:#define __SIZEOF_WCHAR_T__ 4
3211// PPC-DARWIN:#define __SIZEOF_WINT_T__ 4
3212// PPC-DARWIN:#define __SIZE_MAX__ 4294967295UL
3213// PPC-DARWIN:#define __SIZE_TYPE__ long unsigned int
3214// PPC-DARWIN:#define __SIZE_WIDTH__ 32
3215// PPC-DARWIN:#define __STDC_HOSTED__ 0
3216// PPC-DARWIN:#define __STDC_VERSION__ 199901L
3217// PPC-DARWIN:#define __STDC__ 1
3218// PPC-DARWIN:#define __UINTMAX_TYPE__ long long unsigned int
3219// PPC-DARWIN:#define __USER_LABEL_PREFIX__ _
3220// PPC-DARWIN:#define __WCHAR_MAX__ 2147483647
3221// PPC-DARWIN:#define __WCHAR_TYPE__ int
3222// PPC-DARWIN:#define __WCHAR_WIDTH__ 32
3223// PPC-DARWIN:#define __WINT_TYPE__ int
3224// PPC-DARWIN:#define __WINT_WIDTH__ 32
3225// PPC-DARWIN:#define __powerpc__ 1
3226// PPC-DARWIN:#define __ppc__ 1
3227//
Ulrich Weigand47445072013-05-06 16:26:41 +00003228// RUN: %clang_cc1 -E -dM -ffreestanding -triple=s390x-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix S390X %s
3229//
3230// S390X:#define __CHAR16_TYPE__ unsigned short
3231// S390X:#define __CHAR32_TYPE__ unsigned int
3232// S390X:#define __CHAR_BIT__ 8
3233// S390X:#define __CHAR_UNSIGNED__ 1
3234// S390X:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3235// S390X:#define __DBL_DIG__ 15
3236// S390X:#define __DBL_EPSILON__ 2.2204460492503131e-16
3237// S390X:#define __DBL_HAS_DENORM__ 1
3238// S390X:#define __DBL_HAS_INFINITY__ 1
3239// S390X:#define __DBL_HAS_QUIET_NAN__ 1
3240// S390X:#define __DBL_MANT_DIG__ 53
3241// S390X:#define __DBL_MAX_10_EXP__ 308
3242// S390X:#define __DBL_MAX_EXP__ 1024
3243// S390X:#define __DBL_MAX__ 1.7976931348623157e+308
3244// S390X:#define __DBL_MIN_10_EXP__ (-307)
3245// S390X:#define __DBL_MIN_EXP__ (-1021)
3246// S390X:#define __DBL_MIN__ 2.2250738585072014e-308
3247// S390X:#define __DECIMAL_DIG__ 36
3248// S390X:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3249// S390X:#define __FLT_DIG__ 6
3250// S390X:#define __FLT_EPSILON__ 1.19209290e-7F
3251// S390X:#define __FLT_EVAL_METHOD__ 0
3252// S390X:#define __FLT_HAS_DENORM__ 1
3253// S390X:#define __FLT_HAS_INFINITY__ 1
3254// S390X:#define __FLT_HAS_QUIET_NAN__ 1
3255// S390X:#define __FLT_MANT_DIG__ 24
3256// S390X:#define __FLT_MAX_10_EXP__ 38
3257// S390X:#define __FLT_MAX_EXP__ 128
3258// S390X:#define __FLT_MAX__ 3.40282347e+38F
3259// S390X:#define __FLT_MIN_10_EXP__ (-37)
3260// S390X:#define __FLT_MIN_EXP__ (-125)
3261// S390X:#define __FLT_MIN__ 1.17549435e-38F
3262// S390X:#define __FLT_RADIX__ 2
3263// S390X:#define __INT16_TYPE__ short
3264// S390X:#define __INT32_TYPE__ int
3265// S390X:#define __INT64_C_SUFFIX__ L
3266// S390X:#define __INT64_TYPE__ long long int
3267// S390X:#define __INT8_TYPE__ char
3268// S390X:#define __INTMAX_MAX__ 9223372036854775807LL
3269// S390X:#define __INTMAX_TYPE__ long long int
3270// S390X:#define __INTMAX_WIDTH__ 64
3271// S390X:#define __INTPTR_TYPE__ long int
3272// S390X:#define __INTPTR_WIDTH__ 64
3273// S390X:#define __INT_MAX__ 2147483647
3274// S390X:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
3275// S390X:#define __LDBL_DIG__ 33
3276// S390X:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
3277// S390X:#define __LDBL_HAS_DENORM__ 1
3278// S390X:#define __LDBL_HAS_INFINITY__ 1
3279// S390X:#define __LDBL_HAS_QUIET_NAN__ 1
3280// S390X:#define __LDBL_MANT_DIG__ 113
3281// S390X:#define __LDBL_MAX_10_EXP__ 4932
3282// S390X:#define __LDBL_MAX_EXP__ 16384
3283// S390X:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
3284// S390X:#define __LDBL_MIN_10_EXP__ (-4931)
3285// S390X:#define __LDBL_MIN_EXP__ (-16381)
3286// S390X:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
3287// S390X:#define __LONG_LONG_MAX__ 9223372036854775807LL
3288// S390X:#define __LONG_MAX__ 9223372036854775807L
3289// S390X:#define __NO_INLINE__ 1
3290// S390X:#define __POINTER_WIDTH__ 64
3291// S390X:#define __PTRDIFF_TYPE__ long int
3292// S390X:#define __PTRDIFF_WIDTH__ 64
3293// S390X:#define __SCHAR_MAX__ 127
3294// S390X:#define __SHRT_MAX__ 32767
3295// S390X:#define __SIG_ATOMIC_WIDTH__ 32
3296// S390X:#define __SIZEOF_DOUBLE__ 8
3297// S390X:#define __SIZEOF_FLOAT__ 4
3298// S390X:#define __SIZEOF_INT__ 4
3299// S390X:#define __SIZEOF_LONG_DOUBLE__ 16
3300// S390X:#define __SIZEOF_LONG_LONG__ 8
3301// S390X:#define __SIZEOF_LONG__ 8
3302// S390X:#define __SIZEOF_POINTER__ 8
3303// S390X:#define __SIZEOF_PTRDIFF_T__ 8
3304// S390X:#define __SIZEOF_SHORT__ 2
3305// S390X:#define __SIZEOF_SIZE_T__ 8
3306// S390X:#define __SIZEOF_WCHAR_T__ 4
3307// S390X:#define __SIZEOF_WINT_T__ 4
3308// S390X:#define __SIZE_TYPE__ long unsigned int
3309// S390X:#define __SIZE_WIDTH__ 64
3310// S390X:#define __UINTMAX_TYPE__ long long unsigned int
3311// S390X:#define __USER_LABEL_PREFIX__ _
3312// S390X:#define __WCHAR_MAX__ 2147483647
3313// S390X:#define __WCHAR_TYPE__ int
3314// S390X:#define __WCHAR_WIDTH__ 32
3315// S390X:#define __WINT_TYPE__ int
3316// S390X:#define __WINT_WIDTH__ 32
3317// S390X:#define __s390__ 1
3318// S390X:#define __s390x__ 1
3319//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00003320// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
Chris Lattnere963d092009-10-29 04:55:36 +00003321//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003322// SPARC-NOT:#define _LP64
Robert Lytton2c942c62014-03-10 12:06:29 +00003323// SPARC:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003324// SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00003325// SPARC:#define __CHAR16_TYPE__ unsigned short
3326// SPARC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003327// SPARC:#define __CHAR_BIT__ 8
3328// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3329// SPARC:#define __DBL_DIG__ 15
3330// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
3331// SPARC:#define __DBL_HAS_DENORM__ 1
3332// SPARC:#define __DBL_HAS_INFINITY__ 1
3333// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
3334// SPARC:#define __DBL_MANT_DIG__ 53
3335// SPARC:#define __DBL_MAX_10_EXP__ 308
3336// SPARC:#define __DBL_MAX_EXP__ 1024
3337// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
3338// SPARC:#define __DBL_MIN_10_EXP__ (-307)
3339// SPARC:#define __DBL_MIN_EXP__ (-1021)
3340// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
3341// SPARC:#define __DECIMAL_DIG__ 17
3342// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3343// SPARC:#define __FLT_DIG__ 6
3344// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
3345// SPARC:#define __FLT_EVAL_METHOD__ 0
3346// SPARC:#define __FLT_HAS_DENORM__ 1
3347// SPARC:#define __FLT_HAS_INFINITY__ 1
3348// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
3349// SPARC:#define __FLT_MANT_DIG__ 24
3350// SPARC:#define __FLT_MAX_10_EXP__ 38
3351// SPARC:#define __FLT_MAX_EXP__ 128
3352// SPARC:#define __FLT_MAX__ 3.40282347e+38F
3353// SPARC:#define __FLT_MIN_10_EXP__ (-37)
3354// SPARC:#define __FLT_MIN_EXP__ (-125)
3355// SPARC:#define __FLT_MIN__ 1.17549435e-38F
3356// SPARC:#define __FLT_RADIX__ 2
3357// SPARC:#define __INT16_TYPE__ short
3358// SPARC:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00003359// SPARC:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00003360// SPARC:#define __INT64_TYPE__ long long int
3361// SPARC:#define __INT8_TYPE__ char
3362// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00003363// SPARC:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00003364// SPARC:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00003365// SPARC:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00003366// SPARC:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003367// SPARC:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003368// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00003369// SPARC:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003370// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +00003371// SPARC:#define __LDBL_HAS_DENORM__ 1
3372// SPARC:#define __LDBL_HAS_INFINITY__ 1
3373// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
3374// SPARC:#define __LDBL_MANT_DIG__ 53
3375// SPARC:#define __LDBL_MAX_10_EXP__ 308
3376// SPARC:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003377// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +00003378// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
3379// SPARC:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003380// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnere963d092009-10-29 04:55:36 +00003381// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
3382// SPARC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003383// SPARC-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00003384// SPARC:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003385// SPARC:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00003386// SPARC:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbaracde99e2009-12-18 18:42:37 +00003387// SPARC:#define __REGISTER_PREFIX__
Chris Lattnere963d092009-10-29 04:55:36 +00003388// SPARC:#define __SCHAR_MAX__ 127
3389// SPARC:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00003390// SPARC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00003391// SPARC:#define __SIZEOF_DOUBLE__ 8
3392// SPARC:#define __SIZEOF_FLOAT__ 4
3393// SPARC:#define __SIZEOF_INT__ 4
3394// SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
3395// SPARC:#define __SIZEOF_LONG_LONG__ 8
3396// SPARC:#define __SIZEOF_LONG__ 4
3397// SPARC:#define __SIZEOF_POINTER__ 4
3398// SPARC:#define __SIZEOF_PTRDIFF_T__ 4
3399// SPARC:#define __SIZEOF_SHORT__ 2
3400// SPARC:#define __SIZEOF_SIZE_T__ 4
3401// SPARC:#define __SIZEOF_WCHAR_T__ 4
3402// SPARC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003403// SPARC:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00003404// SPARC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00003405// SPARC:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003406// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003407// SPARC:#define __USER_LABEL_PREFIX__ _
Daniel Dunbar3b17a862011-03-31 00:53:51 +00003408// SPARC:#define __VERSION__ "4.2.1 Compatible
Chris Lattnere963d092009-10-29 04:55:36 +00003409// SPARC:#define __WCHAR_MAX__ 2147483647
3410// SPARC:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00003411// SPARC:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003412// SPARC:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00003413// SPARC:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003414// SPARC:#define __sparc 1
3415// SPARC:#define __sparc__ 1
3416// SPARC:#define __sparcv8 1
3417// SPARC:#define sparc 1
3418//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00003419// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
Chris Lattnere963d092009-10-29 04:55:36 +00003420//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003421// TCE-NOT:#define _LP64
Robert Lytton2c942c62014-03-10 12:06:29 +00003422// TCE:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003423// TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00003424// TCE:#define __CHAR16_TYPE__ unsigned short
3425// TCE:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003426// TCE:#define __CHAR_BIT__ 8
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003427// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45
Chris Lattnere963d092009-10-29 04:55:36 +00003428// TCE:#define __DBL_DIG__ 6
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003429// TCE:#define __DBL_EPSILON__ 1.19209290e-7
Chris Lattnere963d092009-10-29 04:55:36 +00003430// TCE:#define __DBL_HAS_DENORM__ 1
3431// TCE:#define __DBL_HAS_INFINITY__ 1
3432// TCE:#define __DBL_HAS_QUIET_NAN__ 1
3433// TCE:#define __DBL_MANT_DIG__ 24
3434// TCE:#define __DBL_MAX_10_EXP__ 38
3435// TCE:#define __DBL_MAX_EXP__ 128
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003436// TCE:#define __DBL_MAX__ 3.40282347e+38
Chris Lattnere963d092009-10-29 04:55:36 +00003437// TCE:#define __DBL_MIN_10_EXP__ (-37)
3438// TCE:#define __DBL_MIN_EXP__ (-125)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003439// TCE:#define __DBL_MIN__ 1.17549435e-38
Chris Lattnere963d092009-10-29 04:55:36 +00003440// TCE:#define __DECIMAL_DIG__ -1
3441// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3442// TCE:#define __FLT_DIG__ 6
3443// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
3444// TCE:#define __FLT_EVAL_METHOD__ 0
3445// TCE:#define __FLT_HAS_DENORM__ 1
3446// TCE:#define __FLT_HAS_INFINITY__ 1
3447// TCE:#define __FLT_HAS_QUIET_NAN__ 1
3448// TCE:#define __FLT_MANT_DIG__ 24
3449// TCE:#define __FLT_MAX_10_EXP__ 38
3450// TCE:#define __FLT_MAX_EXP__ 128
3451// TCE:#define __FLT_MAX__ 3.40282347e+38F
3452// TCE:#define __FLT_MIN_10_EXP__ (-37)
3453// TCE:#define __FLT_MIN_EXP__ (-125)
3454// TCE:#define __FLT_MIN__ 1.17549435e-38F
3455// TCE:#define __FLT_RADIX__ 2
3456// TCE:#define __INT16_TYPE__ short
3457// TCE:#define __INT32_TYPE__ int
3458// TCE:#define __INT8_TYPE__ char
3459// TCE:#define __INTMAX_MAX__ 2147483647L
Ken Dyck9b25f782009-11-19 13:18:59 +00003460// TCE:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00003461// TCE:#define __INTMAX_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003462// TCE:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00003463// TCE:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003464// TCE:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003465// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45L
Chris Lattnere963d092009-10-29 04:55:36 +00003466// TCE:#define __LDBL_DIG__ 6
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003467// TCE:#define __LDBL_EPSILON__ 1.19209290e-7L
Chris Lattnere963d092009-10-29 04:55:36 +00003468// TCE:#define __LDBL_HAS_DENORM__ 1
3469// TCE:#define __LDBL_HAS_INFINITY__ 1
3470// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
3471// TCE:#define __LDBL_MANT_DIG__ 24
3472// TCE:#define __LDBL_MAX_10_EXP__ 38
3473// TCE:#define __LDBL_MAX_EXP__ 128
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003474// TCE:#define __LDBL_MAX__ 3.40282347e+38L
Chris Lattnere963d092009-10-29 04:55:36 +00003475// TCE:#define __LDBL_MIN_10_EXP__ (-37)
3476// TCE:#define __LDBL_MIN_EXP__ (-125)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003477// TCE:#define __LDBL_MIN__ 1.17549435e-38L
Chris Lattnere963d092009-10-29 04:55:36 +00003478// TCE:#define __LONG_LONG_MAX__ 2147483647LL
3479// TCE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003480// TCE-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00003481// TCE:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003482// TCE:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00003483// TCE:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003484// TCE:#define __SCHAR_MAX__ 127
3485// TCE:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00003486// TCE:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00003487// TCE:#define __SIZEOF_DOUBLE__ 4
3488// TCE:#define __SIZEOF_FLOAT__ 4
3489// TCE:#define __SIZEOF_INT__ 4
3490// TCE:#define __SIZEOF_LONG_DOUBLE__ 4
3491// TCE:#define __SIZEOF_LONG_LONG__ 4
3492// TCE:#define __SIZEOF_LONG__ 4
3493// TCE:#define __SIZEOF_POINTER__ 4
3494// TCE:#define __SIZEOF_PTRDIFF_T__ 4
3495// TCE:#define __SIZEOF_SHORT__ 2
3496// TCE:#define __SIZEOF_SIZE_T__ 4
3497// TCE:#define __SIZEOF_WCHAR_T__ 4
3498// TCE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003499// TCE:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00003500// TCE:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00003501// TCE:#define __SIZE_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003502// TCE:#define __TCE_V1__ 1
3503// TCE:#define __TCE__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00003504// TCE:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003505// TCE:#define __USER_LABEL_PREFIX__ _
3506// TCE:#define __WCHAR_MAX__ 2147483647
3507// TCE:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00003508// TCE:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003509// TCE:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00003510// TCE:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003511// TCE:#define __tce 1
3512// TCE:#define __tce__ 1
3513// TCE:#define tce 1
3514//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00003515// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-none-none < /dev/null | FileCheck -check-prefix X86_64 %s
Chris Lattnere963d092009-10-29 04:55:36 +00003516//
3517// X86_64:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003518// X86_64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00003519// X86_64:#define __CHAR16_TYPE__ unsigned short
3520// X86_64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003521// X86_64:#define __CHAR_BIT__ 8
3522// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3523// X86_64:#define __DBL_DIG__ 15
3524// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
3525// X86_64:#define __DBL_HAS_DENORM__ 1
3526// X86_64:#define __DBL_HAS_INFINITY__ 1
3527// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
3528// X86_64:#define __DBL_MANT_DIG__ 53
3529// X86_64:#define __DBL_MAX_10_EXP__ 308
3530// X86_64:#define __DBL_MAX_EXP__ 1024
3531// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
3532// X86_64:#define __DBL_MIN_10_EXP__ (-307)
3533// X86_64:#define __DBL_MIN_EXP__ (-1021)
3534// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
3535// X86_64:#define __DECIMAL_DIG__ 21
3536// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3537// X86_64:#define __FLT_DIG__ 6
3538// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
3539// X86_64:#define __FLT_EVAL_METHOD__ 0
3540// X86_64:#define __FLT_HAS_DENORM__ 1
3541// X86_64:#define __FLT_HAS_INFINITY__ 1
3542// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
3543// X86_64:#define __FLT_MANT_DIG__ 24
3544// X86_64:#define __FLT_MAX_10_EXP__ 38
3545// X86_64:#define __FLT_MAX_EXP__ 128
3546// X86_64:#define __FLT_MAX__ 3.40282347e+38F
3547// X86_64:#define __FLT_MIN_10_EXP__ (-37)
3548// X86_64:#define __FLT_MIN_EXP__ (-125)
3549// X86_64:#define __FLT_MIN__ 1.17549435e-38F
3550// X86_64:#define __FLT_RADIX__ 2
3551// X86_64:#define __INT16_TYPE__ short
3552// X86_64:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00003553// X86_64:#define __INT64_C_SUFFIX__ L
Chris Lattnere963d092009-10-29 04:55:36 +00003554// X86_64:#define __INT64_TYPE__ long int
3555// X86_64:#define __INT8_TYPE__ char
3556// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck9b25f782009-11-19 13:18:59 +00003557// X86_64:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00003558// X86_64:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00003559// X86_64:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00003560// X86_64:#define __INTPTR_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003561// X86_64:#define __INT_MAX__ 2147483647
3562// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3563// X86_64:#define __LDBL_DIG__ 18
3564// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3565// X86_64:#define __LDBL_HAS_DENORM__ 1
3566// X86_64:#define __LDBL_HAS_INFINITY__ 1
3567// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
3568// X86_64:#define __LDBL_MANT_DIG__ 64
3569// X86_64:#define __LDBL_MAX_10_EXP__ 4932
3570// X86_64:#define __LDBL_MAX_EXP__ 16384
3571// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3572// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
3573// X86_64:#define __LDBL_MIN_EXP__ (-16381)
3574// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3575// X86_64:#define __LITTLE_ENDIAN__ 1
3576// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
3577// X86_64:#define __LONG_MAX__ 9223372036854775807L
3578// X86_64:#define __LP64__ 1
3579// X86_64:#define __MMX__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00003580// X86_64:#define __NO_MATH_INLINES 1
3581// X86_64:#define __POINTER_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00003582// X86_64:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00003583// X86_64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003584// X86_64:#define __REGISTER_PREFIX__
3585// X86_64:#define __SCHAR_MAX__ 127
3586// X86_64:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00003587// X86_64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00003588// X86_64:#define __SIZEOF_DOUBLE__ 8
3589// X86_64:#define __SIZEOF_FLOAT__ 4
3590// X86_64:#define __SIZEOF_INT__ 4
3591// X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
3592// X86_64:#define __SIZEOF_LONG_LONG__ 8
3593// X86_64:#define __SIZEOF_LONG__ 8
3594// X86_64:#define __SIZEOF_POINTER__ 8
3595// X86_64:#define __SIZEOF_PTRDIFF_T__ 8
3596// X86_64:#define __SIZEOF_SHORT__ 2
3597// X86_64:#define __SIZEOF_SIZE_T__ 8
3598// X86_64:#define __SIZEOF_WCHAR_T__ 4
3599// X86_64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003600// X86_64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnere963d092009-10-29 04:55:36 +00003601// X86_64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00003602// X86_64:#define __SIZE_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003603// X86_64:#define __SSE2_MATH__ 1
3604// X86_64:#define __SSE2__ 1
3605// X86_64:#define __SSE_MATH__ 1
3606// X86_64:#define __SSE__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00003607// X86_64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003608// X86_64:#define __USER_LABEL_PREFIX__ _
3609// X86_64:#define __WCHAR_MAX__ 2147483647
3610// X86_64:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00003611// X86_64:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003612// X86_64:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00003613// X86_64:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003614// X86_64:#define __amd64 1
3615// X86_64:#define __amd64__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00003616// X86_64:#define __x86_64 1
3617// X86_64:#define __x86_64__ 1
3618//
Douglas Gregore6d6e512011-01-12 21:19:25 +00003619// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
3620//
3621// X86_64-LINUX:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003622// X86_64-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregore6d6e512011-01-12 21:19:25 +00003623// X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
3624// X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
3625// X86_64-LINUX:#define __CHAR_BIT__ 8
3626// X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3627// X86_64-LINUX:#define __DBL_DIG__ 15
3628// X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
3629// X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
3630// X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
3631// X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
3632// X86_64-LINUX:#define __DBL_MANT_DIG__ 53
3633// X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
3634// X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
3635// X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
3636// X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
3637// X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
3638// X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
3639// X86_64-LINUX:#define __DECIMAL_DIG__ 21
3640// X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3641// X86_64-LINUX:#define __FLT_DIG__ 6
3642// X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
3643// X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
3644// X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
3645// X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
3646// X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
3647// X86_64-LINUX:#define __FLT_MANT_DIG__ 24
3648// X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
3649// X86_64-LINUX:#define __FLT_MAX_EXP__ 128
3650// X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
3651// X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
3652// X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
3653// X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
3654// X86_64-LINUX:#define __FLT_RADIX__ 2
3655// X86_64-LINUX:#define __INT16_TYPE__ short
3656// X86_64-LINUX:#define __INT32_TYPE__ int
3657// X86_64-LINUX:#define __INT64_C_SUFFIX__ L
3658// X86_64-LINUX:#define __INT64_TYPE__ long int
3659// X86_64-LINUX:#define __INT8_TYPE__ char
3660// X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
3661// X86_64-LINUX:#define __INTMAX_TYPE__ long int
3662// X86_64-LINUX:#define __INTMAX_WIDTH__ 64
3663// X86_64-LINUX:#define __INTPTR_TYPE__ long int
3664// X86_64-LINUX:#define __INTPTR_WIDTH__ 64
3665// X86_64-LINUX:#define __INT_MAX__ 2147483647
3666// X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3667// X86_64-LINUX:#define __LDBL_DIG__ 18
3668// X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3669// X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
3670// X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
3671// X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
3672// X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
3673// X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
3674// X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
3675// X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3676// X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
3677// X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
3678// X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3679// X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
3680// X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
3681// X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
3682// X86_64-LINUX:#define __LP64__ 1
3683// X86_64-LINUX:#define __MMX__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00003684// X86_64-LINUX:#define __NO_MATH_INLINES 1
3685// X86_64-LINUX:#define __POINTER_WIDTH__ 64
3686// X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
3687// X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
3688// X86_64-LINUX:#define __REGISTER_PREFIX__
3689// X86_64-LINUX:#define __SCHAR_MAX__ 127
3690// X86_64-LINUX:#define __SHRT_MAX__ 32767
3691// X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
3692// X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
3693// X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
3694// X86_64-LINUX:#define __SIZEOF_INT__ 4
3695// X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
3696// X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
3697// X86_64-LINUX:#define __SIZEOF_LONG__ 8
3698// X86_64-LINUX:#define __SIZEOF_POINTER__ 8
3699// X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
3700// X86_64-LINUX:#define __SIZEOF_SHORT__ 2
3701// X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
3702// X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
3703// X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003704// X86_64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Douglas Gregore6d6e512011-01-12 21:19:25 +00003705// X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
3706// X86_64-LINUX:#define __SIZE_WIDTH__ 64
3707// X86_64-LINUX:#define __SSE2_MATH__ 1
3708// X86_64-LINUX:#define __SSE2__ 1
3709// X86_64-LINUX:#define __SSE_MATH__ 1
3710// X86_64-LINUX:#define __SSE__ 1
3711// X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
3712// X86_64-LINUX:#define __USER_LABEL_PREFIX__
3713// X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
3714// X86_64-LINUX:#define __WCHAR_TYPE__ int
3715// X86_64-LINUX:#define __WCHAR_WIDTH__ 32
3716// X86_64-LINUX:#define __WINT_TYPE__ unsigned int
3717// X86_64-LINUX:#define __WINT_WIDTH__ 32
3718// X86_64-LINUX:#define __amd64 1
3719// X86_64-LINUX:#define __amd64__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00003720// X86_64-LINUX:#define __x86_64 1
3721// X86_64-LINUX:#define __x86_64__ 1
3722//
Ed Schoutend0621462013-09-29 07:54:52 +00003723// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-unknown-freebsd9.1 < /dev/null | FileCheck -check-prefix X86_64-FREEBSD %s
3724//
3725// X86_64-FREEBSD:#define __FreeBSD__ 9
3726// X86_64-FREEBSD:#define __FreeBSD_cc_version 900001
3727// X86_64-FREEBSD:#define __STDC_MB_MIGHT_NEQ_WC__ 1
3728//
Joerg Sonnenberger0e921f22013-11-11 14:00:37 +00003729// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-netbsd < /dev/null | FileCheck -check-prefix X86_64-NETBSD %s
3730//
3731// X86_64-NETBSD:#define _LP64 1
3732// X86_64-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
3733// X86_64-NETBSD:#define __CHAR16_TYPE__ unsigned short
3734// X86_64-NETBSD:#define __CHAR32_TYPE__ unsigned int
3735// X86_64-NETBSD:#define __CHAR_BIT__ 8
3736// X86_64-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3737// X86_64-NETBSD:#define __DBL_DIG__ 15
3738// X86_64-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
3739// X86_64-NETBSD:#define __DBL_HAS_DENORM__ 1
3740// X86_64-NETBSD:#define __DBL_HAS_INFINITY__ 1
3741// X86_64-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
3742// X86_64-NETBSD:#define __DBL_MANT_DIG__ 53
3743// X86_64-NETBSD:#define __DBL_MAX_10_EXP__ 308
3744// X86_64-NETBSD:#define __DBL_MAX_EXP__ 1024
3745// X86_64-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
3746// X86_64-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
3747// X86_64-NETBSD:#define __DBL_MIN_EXP__ (-1021)
3748// X86_64-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
3749// X86_64-NETBSD:#define __DECIMAL_DIG__ 21
3750// X86_64-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3751// X86_64-NETBSD:#define __FLT_DIG__ 6
3752// X86_64-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
3753// X86_64-NETBSD:#define __FLT_EVAL_METHOD__ 0
3754// X86_64-NETBSD:#define __FLT_HAS_DENORM__ 1
3755// X86_64-NETBSD:#define __FLT_HAS_INFINITY__ 1
3756// X86_64-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
3757// X86_64-NETBSD:#define __FLT_MANT_DIG__ 24
3758// X86_64-NETBSD:#define __FLT_MAX_10_EXP__ 38
3759// X86_64-NETBSD:#define __FLT_MAX_EXP__ 128
3760// X86_64-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
3761// X86_64-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
3762// X86_64-NETBSD:#define __FLT_MIN_EXP__ (-125)
3763// X86_64-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
3764// X86_64-NETBSD:#define __FLT_RADIX__ 2
3765// X86_64-NETBSD:#define __INT16_TYPE__ short
3766// X86_64-NETBSD:#define __INT32_TYPE__ int
3767// X86_64-NETBSD:#define __INT64_C_SUFFIX__ L
3768// X86_64-NETBSD:#define __INT64_TYPE__ long int
3769// X86_64-NETBSD:#define __INT8_TYPE__ char
3770// X86_64-NETBSD:#define __INTMAX_MAX__ 9223372036854775807L
3771// X86_64-NETBSD:#define __INTMAX_TYPE__ long int
3772// X86_64-NETBSD:#define __INTMAX_WIDTH__ 64
3773// X86_64-NETBSD:#define __INTPTR_TYPE__ long int
3774// X86_64-NETBSD:#define __INTPTR_WIDTH__ 64
3775// X86_64-NETBSD:#define __INT_MAX__ 2147483647
3776// X86_64-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3777// X86_64-NETBSD:#define __LDBL_DIG__ 18
3778// X86_64-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3779// X86_64-NETBSD:#define __LDBL_HAS_DENORM__ 1
3780// X86_64-NETBSD:#define __LDBL_HAS_INFINITY__ 1
3781// X86_64-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
3782// X86_64-NETBSD:#define __LDBL_MANT_DIG__ 64
3783// X86_64-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
3784// X86_64-NETBSD:#define __LDBL_MAX_EXP__ 16384
3785// X86_64-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3786// X86_64-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
3787// X86_64-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
3788// X86_64-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3789// X86_64-NETBSD:#define __LITTLE_ENDIAN__ 1
3790// X86_64-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
3791// X86_64-NETBSD:#define __LONG_MAX__ 9223372036854775807L
3792// X86_64-NETBSD:#define __LP64__ 1
3793// X86_64-NETBSD:#define __MMX__ 1
3794// X86_64-NETBSD:#define __NO_MATH_INLINES 1
3795// X86_64-NETBSD:#define __POINTER_WIDTH__ 64
3796// X86_64-NETBSD:#define __PTRDIFF_TYPE__ long int
3797// X86_64-NETBSD:#define __PTRDIFF_WIDTH__ 64
3798// X86_64-NETBSD:#define __REGISTER_PREFIX__
3799// X86_64-NETBSD:#define __SCHAR_MAX__ 127
3800// X86_64-NETBSD:#define __SHRT_MAX__ 32767
3801// X86_64-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
3802// X86_64-NETBSD:#define __SIZEOF_DOUBLE__ 8
3803// X86_64-NETBSD:#define __SIZEOF_FLOAT__ 4
3804// X86_64-NETBSD:#define __SIZEOF_INT__ 4
3805// X86_64-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 16
3806// X86_64-NETBSD:#define __SIZEOF_LONG_LONG__ 8
3807// X86_64-NETBSD:#define __SIZEOF_LONG__ 8
3808// X86_64-NETBSD:#define __SIZEOF_POINTER__ 8
3809// X86_64-NETBSD:#define __SIZEOF_PTRDIFF_T__ 8
3810// X86_64-NETBSD:#define __SIZEOF_SHORT__ 2
3811// X86_64-NETBSD:#define __SIZEOF_SIZE_T__ 8
3812// X86_64-NETBSD:#define __SIZEOF_WCHAR_T__ 4
3813// X86_64-NETBSD:#define __SIZEOF_WINT_T__ 4
3814// X86_64-NETBSD:#define __SIZE_MAX__ 18446744073709551615UL
3815// X86_64-NETBSD:#define __SIZE_TYPE__ long unsigned int
3816// X86_64-NETBSD:#define __SIZE_WIDTH__ 64
3817// X86_64-NETBSD:#define __SSE2_MATH__ 1
3818// X86_64-NETBSD:#define __SSE2__ 1
3819// X86_64-NETBSD:#define __SSE_MATH__ 1
3820// X86_64-NETBSD:#define __SSE__ 1
3821// X86_64-NETBSD:#define __UINTMAX_TYPE__ long unsigned int
3822// X86_64-NETBSD:#define __USER_LABEL_PREFIX__
3823// X86_64-NETBSD:#define __WCHAR_MAX__ 2147483647
3824// X86_64-NETBSD:#define __WCHAR_TYPE__ int
3825// X86_64-NETBSD:#define __WCHAR_WIDTH__ 32
3826// X86_64-NETBSD:#define __WINT_TYPE__ int
3827// X86_64-NETBSD:#define __WINT_WIDTH__ 32
3828// X86_64-NETBSD:#define __amd64 1
3829// X86_64-NETBSD:#define __amd64__ 1
3830// X86_64-NETBSD:#define __x86_64 1
3831// X86_64-NETBSD:#define __x86_64__ 1
3832//
Jakob Stoklund Olesen248520b2013-05-15 03:22:33 +00003833// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-none < /dev/null | FileCheck -check-prefix SPARCV9 %s
Jakob Stoklund Olesen826df142013-05-19 17:53:37 +00003834// SPARCV9:#define __INT64_TYPE__ long int
Jakob Stoklund Olesen248520b2013-05-15 03:22:33 +00003835// SPARCV9:#define __INTMAX_TYPE__ long int
3836// SPARCV9:#define __INTPTR_TYPE__ long int
3837// SPARCV9:#define __LONG_MAX__ 9223372036854775807L
3838// SPARCV9:#define __LP64__ 1
3839// SPARCV9:#define __SIZEOF_LONG__ 8
3840// SPARCV9:#define __SIZEOF_POINTER__ 8
3841//
Jakob Stoklund Olesen826df142013-05-19 17:53:37 +00003842// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-openbsd < /dev/null | FileCheck -check-prefix SPARC64-OBSD %s
3843// SPARC64-OBSD:#define __INT64_TYPE__ long long int
3844// SPARC64-OBSD:#define __INTMAX_TYPE__ long long int
3845// SPARC64-OBSD:#define __UINTMAX_TYPE__ long long unsigned int
3846//
Sylvestre Ledrufd7cd3552013-09-06 14:53:07 +00003847// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSD-DEFINE %s
3848// KFREEBSD-DEFINE:#define __FreeBSD_kernel__ 1
3849// KFREEBSD-DEFINE:#define __GLIBC__ 1
3850//
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003851// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i686-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSDI686-DEFINE %s
3852// KFREEBSDI686-DEFINE:#define __FreeBSD_kernel__ 1
3853// KFREEBSDI686-DEFINE:#define __GLIBC__ 1
3854//
David Chisnallb601c962012-07-03 20:49:52 +00003855// RUN: %clang_cc1 -x c++ -triple i686-pc-linux-gnu -fobjc-runtime=gcc -E -dM < /dev/null | FileCheck -check-prefix GNUSOURCE %s
Douglas Gregord2b896a2010-04-16 06:31:05 +00003856// GNUSOURCE:#define _GNU_SOURCE 1
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003857//
Dan Gohman04f87202010-05-28 00:27:15 +00003858// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
3859// NORTTI: __GXX_ABI_VERSION
3860// NORTTI-NOT:#define __GXX_RTTI
3861// NORTTI: __STDC__
Evgeniy Stepanov94dc4c92012-04-26 12:08:09 +00003862//
3863// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
3864// ANDROID: __ANDROID__ 1
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003865//
Roman Divacky13b586f2013-07-03 19:45:54 +00003866// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd < /dev/null | FileCheck -check-prefix PPC64-FREEBSD %s
3867// PPC64-FREEBSD-NOT: #define __LONG_DOUBLE_128__ 1
Robert Lytton0e076492013-08-13 09:43:10 +00003868//
3869// RUN: %clang_cc1 -E -dM -ffreestanding -triple=xcore-none-none < /dev/null | FileCheck -check-prefix XCORE %s
Robert Lytton2c942c62014-03-10 12:06:29 +00003870// XCORE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
3871// XCORE:#define __LITTLE_ENDIAN__ 1
Robert Lytton0e076492013-08-13 09:43:10 +00003872// XCORE:#define __XS1B__ 1