blob: 4fc4bfa47d6bf723cb43e48d0c02bb2781871e31 [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
Tim Northovere77f78c2013-11-11 19:11:22 +0000942// RUN: %clang -target arm -arch armv7s -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
943// RUN: %clang -target arm -arch armv6m -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
944// RUN: %clang -target arm -arch armv7m -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
945// RUN: %clang -target arm -arch armv7em -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
946// RUN: %clang -target thumbv7-apple-darwin-eabi -arch armv7 -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
947// ARM-DARWIN-NO-EABI-NOT: #define __ARM_EABI__ 1
948
Silviu Barangaf9671dd2013-10-21 10:54:53 +0000949// Check that -mhwdiv works properly for targets which don't have the hwdiv feature enabled by default.
950
951// RUN: %clang -target arm -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-ARM %s
952// ARMHWDIV-ARM:#define __ARM_ARCH_EXT_IDIV__ 1
953
954// RUN: %clang -target arm -mthumb -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-THUMB %s
955// THUMBHWDIV-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1
956
957// RUN: %clang -target arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-FALSE %s
958// ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
959
960// RUN: %clang -target arm -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMB-FALSE %s
961// THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
962
963// RUN: %clang -target arm -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-ARM-FALSE %s
964// THUMBHWDIV-ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
965
966// RUN: %clang -target arm -mthumb -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-THUMB-FALSE %s
967// ARMHWDIV-THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
968
Weiming Zhaofb5c21a2014-01-22 18:42:13 +0000969// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armv8-none-none < /dev/null | FileCheck -check-prefix ARMv8 %s
970// ARMv8: #define __THUMB_INTERWORK__ 1
971// ARMv8-NOT: #define __thumb2__
972
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000973// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armebv8-none-none < /dev/null | FileCheck -check-prefix ARMebv8 %s
974// ARMebv8: #define __THUMB_INTERWORK__ 1
975// ARMebv8-NOT: #define __thumb2__
976
Weiming Zhaofb5c21a2014-01-22 18:42:13 +0000977// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv8 < /dev/null | FileCheck -check-prefix Thumbv8 %s
978// Thumbv8: #define __THUMB_INTERWORK__ 1
979// Thumbv8: #define __thumb2__
980
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000981// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbebv8 < /dev/null | FileCheck -check-prefix Thumbebv8 %s
982// Thumbebv8: #define __THUMB_INTERWORK__ 1
983// Thumbebv8: #define __thumb2__
984
Weiming Zhaofb5c21a2014-01-22 18:42:13 +0000985// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv5 < /dev/null | FileCheck -check-prefix Thumbv5 %s
986// Thumbv5: #define __THUMB_INTERWORK__ 1
987// Thumbv5-NOT: #define __thumb2__
988
989// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv6t2 < /dev/null | FileCheck -check-prefix Thumbv6t2 %s
990// Thumbv6t2: #define __THUMB_INTERWORK__ 1
991// Thumbv6t2: #define __thumb2__
992
993// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv7 < /dev/null | FileCheck -check-prefix Thumbv7 %s
994// Thumbv7: #define __THUMB_INTERWORK__ 1
995// Thumbv7: #define __thumb2__
996
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000997// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbebv7 < /dev/null | FileCheck -check-prefix Thumbebv7 %s
998// Thumbebv7: #define __THUMB_INTERWORK__ 1
999// Thumbebv7: #define __thumb2__
1000
Chris Lattnere963d092009-10-29 04:55:36 +00001001//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00001002// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
Chris Lattnere963d092009-10-29 04:55:36 +00001003//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001004// I386-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001005// I386:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00001006// I386:#define __CHAR16_TYPE__ unsigned short
1007// I386:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001008// I386:#define __CHAR_BIT__ 8
1009// I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1010// I386:#define __DBL_DIG__ 15
1011// I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
1012// I386:#define __DBL_HAS_DENORM__ 1
1013// I386:#define __DBL_HAS_INFINITY__ 1
1014// I386:#define __DBL_HAS_QUIET_NAN__ 1
1015// I386:#define __DBL_MANT_DIG__ 53
1016// I386:#define __DBL_MAX_10_EXP__ 308
1017// I386:#define __DBL_MAX_EXP__ 1024
1018// I386:#define __DBL_MAX__ 1.7976931348623157e+308
1019// I386:#define __DBL_MIN_10_EXP__ (-307)
1020// I386:#define __DBL_MIN_EXP__ (-1021)
1021// I386:#define __DBL_MIN__ 2.2250738585072014e-308
1022// I386:#define __DECIMAL_DIG__ 21
1023// I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1024// I386:#define __FLT_DIG__ 6
1025// I386:#define __FLT_EPSILON__ 1.19209290e-7F
Benjamin Kramercf501472011-12-28 15:47:06 +00001026// I386:#define __FLT_EVAL_METHOD__ 2
Chris Lattnere963d092009-10-29 04:55:36 +00001027// I386:#define __FLT_HAS_DENORM__ 1
1028// I386:#define __FLT_HAS_INFINITY__ 1
1029// I386:#define __FLT_HAS_QUIET_NAN__ 1
1030// I386:#define __FLT_MANT_DIG__ 24
1031// I386:#define __FLT_MAX_10_EXP__ 38
1032// I386:#define __FLT_MAX_EXP__ 128
1033// I386:#define __FLT_MAX__ 3.40282347e+38F
1034// I386:#define __FLT_MIN_10_EXP__ (-37)
1035// I386:#define __FLT_MIN_EXP__ (-125)
1036// I386:#define __FLT_MIN__ 1.17549435e-38F
1037// I386:#define __FLT_RADIX__ 2
1038// I386:#define __INT16_TYPE__ short
1039// I386:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00001040// I386:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00001041// I386:#define __INT64_TYPE__ long long int
1042// I386:#define __INT8_TYPE__ char
1043// I386:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00001044// I386:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00001045// I386:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00001046// I386:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00001047// I386:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00001048// I386:#define __INT_MAX__ 2147483647
1049// I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1050// I386:#define __LDBL_DIG__ 18
1051// I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1052// I386:#define __LDBL_HAS_DENORM__ 1
1053// I386:#define __LDBL_HAS_INFINITY__ 1
1054// I386:#define __LDBL_HAS_QUIET_NAN__ 1
1055// I386:#define __LDBL_MANT_DIG__ 64
1056// I386:#define __LDBL_MAX_10_EXP__ 4932
1057// I386:#define __LDBL_MAX_EXP__ 16384
1058// I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1059// I386:#define __LDBL_MIN_10_EXP__ (-4931)
1060// I386:#define __LDBL_MIN_EXP__ (-16381)
1061// I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1062// I386:#define __LITTLE_ENDIAN__ 1
1063// I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
1064// I386:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001065// I386-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00001066// I386:#define __NO_MATH_INLINES 1
1067// I386:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00001068// I386:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00001069// I386:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00001070// I386:#define __REGISTER_PREFIX__
1071// I386:#define __SCHAR_MAX__ 127
1072// I386:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00001073// I386:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00001074// I386:#define __SIZEOF_DOUBLE__ 8
1075// I386:#define __SIZEOF_FLOAT__ 4
1076// I386:#define __SIZEOF_INT__ 4
1077// I386:#define __SIZEOF_LONG_DOUBLE__ 12
1078// I386:#define __SIZEOF_LONG_LONG__ 8
1079// I386:#define __SIZEOF_LONG__ 4
1080// I386:#define __SIZEOF_POINTER__ 4
1081// I386:#define __SIZEOF_PTRDIFF_T__ 4
1082// I386:#define __SIZEOF_SHORT__ 2
1083// I386:#define __SIZEOF_SIZE_T__ 4
1084// I386:#define __SIZEOF_WCHAR_T__ 4
1085// I386:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001086// I386:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00001087// I386:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00001088// I386:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00001089// I386:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001090// I386:#define __USER_LABEL_PREFIX__ _
1091// I386:#define __WCHAR_MAX__ 2147483647
1092// I386:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00001093// I386:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00001094// I386:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00001095// I386:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00001096// I386:#define __i386 1
1097// I386:#define __i386__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00001098// I386:#define i386 1
1099//
Benjamin Kramercf501472011-12-28 15:47:06 +00001100// 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 +00001101//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001102// I386-LINUX-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001103// I386-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregore6d6e512011-01-12 21:19:25 +00001104// I386-LINUX:#define __CHAR16_TYPE__ unsigned short
1105// I386-LINUX:#define __CHAR32_TYPE__ unsigned int
1106// I386-LINUX:#define __CHAR_BIT__ 8
1107// I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1108// I386-LINUX:#define __DBL_DIG__ 15
1109// I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
1110// I386-LINUX:#define __DBL_HAS_DENORM__ 1
1111// I386-LINUX:#define __DBL_HAS_INFINITY__ 1
1112// I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
1113// I386-LINUX:#define __DBL_MANT_DIG__ 53
1114// I386-LINUX:#define __DBL_MAX_10_EXP__ 308
1115// I386-LINUX:#define __DBL_MAX_EXP__ 1024
1116// I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
1117// I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
1118// I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
1119// I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
1120// I386-LINUX:#define __DECIMAL_DIG__ 21
1121// I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1122// I386-LINUX:#define __FLT_DIG__ 6
1123// I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
1124// I386-LINUX:#define __FLT_EVAL_METHOD__ 0
1125// I386-LINUX:#define __FLT_HAS_DENORM__ 1
1126// I386-LINUX:#define __FLT_HAS_INFINITY__ 1
1127// I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
1128// I386-LINUX:#define __FLT_MANT_DIG__ 24
1129// I386-LINUX:#define __FLT_MAX_10_EXP__ 38
1130// I386-LINUX:#define __FLT_MAX_EXP__ 128
1131// I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
1132// I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
1133// I386-LINUX:#define __FLT_MIN_EXP__ (-125)
1134// I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
1135// I386-LINUX:#define __FLT_RADIX__ 2
1136// I386-LINUX:#define __INT16_TYPE__ short
1137// I386-LINUX:#define __INT32_TYPE__ int
1138// I386-LINUX:#define __INT64_C_SUFFIX__ LL
1139// I386-LINUX:#define __INT64_TYPE__ long long int
1140// I386-LINUX:#define __INT8_TYPE__ char
1141// I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
1142// I386-LINUX:#define __INTMAX_TYPE__ long long int
1143// I386-LINUX:#define __INTMAX_WIDTH__ 64
1144// I386-LINUX:#define __INTPTR_TYPE__ int
1145// I386-LINUX:#define __INTPTR_WIDTH__ 32
1146// I386-LINUX:#define __INT_MAX__ 2147483647
1147// I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1148// I386-LINUX:#define __LDBL_DIG__ 18
1149// I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1150// I386-LINUX:#define __LDBL_HAS_DENORM__ 1
1151// I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
1152// I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
1153// I386-LINUX:#define __LDBL_MANT_DIG__ 64
1154// I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
1155// I386-LINUX:#define __LDBL_MAX_EXP__ 16384
1156// I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1157// I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
1158// I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
1159// I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1160// I386-LINUX:#define __LITTLE_ENDIAN__ 1
1161// I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
1162// I386-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001163// I386-LINUX-NOT:#define __LP64__
Douglas Gregore6d6e512011-01-12 21:19:25 +00001164// I386-LINUX:#define __NO_MATH_INLINES 1
1165// I386-LINUX:#define __POINTER_WIDTH__ 32
1166// I386-LINUX:#define __PTRDIFF_TYPE__ int
1167// I386-LINUX:#define __PTRDIFF_WIDTH__ 32
1168// I386-LINUX:#define __REGISTER_PREFIX__
1169// I386-LINUX:#define __SCHAR_MAX__ 127
1170// I386-LINUX:#define __SHRT_MAX__ 32767
1171// I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
1172// I386-LINUX:#define __SIZEOF_DOUBLE__ 8
1173// I386-LINUX:#define __SIZEOF_FLOAT__ 4
1174// I386-LINUX:#define __SIZEOF_INT__ 4
1175// I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
1176// I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
1177// I386-LINUX:#define __SIZEOF_LONG__ 4
1178// I386-LINUX:#define __SIZEOF_POINTER__ 4
1179// I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
1180// I386-LINUX:#define __SIZEOF_SHORT__ 2
1181// I386-LINUX:#define __SIZEOF_SIZE_T__ 4
1182// I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
1183// I386-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001184// I386-LINUX:#define __SIZE_MAX__ 4294967295U
Douglas Gregore6d6e512011-01-12 21:19:25 +00001185// I386-LINUX:#define __SIZE_TYPE__ unsigned int
1186// I386-LINUX:#define __SIZE_WIDTH__ 32
1187// I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
1188// I386-LINUX:#define __USER_LABEL_PREFIX__
1189// I386-LINUX:#define __WCHAR_MAX__ 2147483647
1190// I386-LINUX:#define __WCHAR_TYPE__ int
1191// I386-LINUX:#define __WCHAR_WIDTH__ 32
1192// I386-LINUX:#define __WINT_TYPE__ unsigned int
1193// I386-LINUX:#define __WINT_WIDTH__ 32
1194// I386-LINUX:#define __i386 1
1195// I386-LINUX:#define __i386__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00001196// I386-LINUX:#define i386 1
1197//
Joerg Sonnenberger0e921f22013-11-11 14:00:37 +00001198// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd < /dev/null | FileCheck -check-prefix I386-NETBSD %s
1199//
1200// I386-NETBSD-NOT:#define _LP64
1201// I386-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1202// I386-NETBSD:#define __CHAR16_TYPE__ unsigned short
1203// I386-NETBSD:#define __CHAR32_TYPE__ unsigned int
1204// I386-NETBSD:#define __CHAR_BIT__ 8
1205// I386-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1206// I386-NETBSD:#define __DBL_DIG__ 15
1207// I386-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
1208// I386-NETBSD:#define __DBL_HAS_DENORM__ 1
1209// I386-NETBSD:#define __DBL_HAS_INFINITY__ 1
1210// I386-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
1211// I386-NETBSD:#define __DBL_MANT_DIG__ 53
1212// I386-NETBSD:#define __DBL_MAX_10_EXP__ 308
1213// I386-NETBSD:#define __DBL_MAX_EXP__ 1024
1214// I386-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
1215// I386-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
1216// I386-NETBSD:#define __DBL_MIN_EXP__ (-1021)
1217// I386-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
1218// I386-NETBSD:#define __DECIMAL_DIG__ 21
1219// I386-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1220// I386-NETBSD:#define __FLT_DIG__ 6
1221// I386-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
1222// I386-NETBSD:#define __FLT_EVAL_METHOD__ 2
1223// I386-NETBSD:#define __FLT_HAS_DENORM__ 1
1224// I386-NETBSD:#define __FLT_HAS_INFINITY__ 1
1225// I386-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
1226// I386-NETBSD:#define __FLT_MANT_DIG__ 24
1227// I386-NETBSD:#define __FLT_MAX_10_EXP__ 38
1228// I386-NETBSD:#define __FLT_MAX_EXP__ 128
1229// I386-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
1230// I386-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
1231// I386-NETBSD:#define __FLT_MIN_EXP__ (-125)
1232// I386-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
1233// I386-NETBSD:#define __FLT_RADIX__ 2
1234// I386-NETBSD:#define __INT16_TYPE__ short
1235// I386-NETBSD:#define __INT32_TYPE__ int
1236// I386-NETBSD:#define __INT64_C_SUFFIX__ LL
1237// I386-NETBSD:#define __INT64_TYPE__ long long int
1238// I386-NETBSD:#define __INT8_TYPE__ char
1239// I386-NETBSD:#define __INTMAX_MAX__ 9223372036854775807LL
1240// I386-NETBSD:#define __INTMAX_TYPE__ long long int
1241// I386-NETBSD:#define __INTMAX_WIDTH__ 64
1242// I386-NETBSD:#define __INTPTR_TYPE__ int
1243// I386-NETBSD:#define __INTPTR_WIDTH__ 32
1244// I386-NETBSD:#define __INT_MAX__ 2147483647
1245// I386-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1246// I386-NETBSD:#define __LDBL_DIG__ 18
1247// I386-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1248// I386-NETBSD:#define __LDBL_HAS_DENORM__ 1
1249// I386-NETBSD:#define __LDBL_HAS_INFINITY__ 1
1250// I386-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
1251// I386-NETBSD:#define __LDBL_MANT_DIG__ 64
1252// I386-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
1253// I386-NETBSD:#define __LDBL_MAX_EXP__ 16384
1254// I386-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1255// I386-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
1256// I386-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
1257// I386-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1258// I386-NETBSD:#define __LITTLE_ENDIAN__ 1
1259// I386-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
1260// I386-NETBSD:#define __LONG_MAX__ 2147483647L
1261// I386-NETBSD-NOT:#define __LP64__
1262// I386-NETBSD:#define __NO_MATH_INLINES 1
1263// I386-NETBSD:#define __POINTER_WIDTH__ 32
1264// I386-NETBSD:#define __PTRDIFF_TYPE__ int
1265// I386-NETBSD:#define __PTRDIFF_WIDTH__ 32
1266// I386-NETBSD:#define __REGISTER_PREFIX__
1267// I386-NETBSD:#define __SCHAR_MAX__ 127
1268// I386-NETBSD:#define __SHRT_MAX__ 32767
1269// I386-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
1270// I386-NETBSD:#define __SIZEOF_DOUBLE__ 8
1271// I386-NETBSD:#define __SIZEOF_FLOAT__ 4
1272// I386-NETBSD:#define __SIZEOF_INT__ 4
1273// I386-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 12
1274// I386-NETBSD:#define __SIZEOF_LONG_LONG__ 8
1275// I386-NETBSD:#define __SIZEOF_LONG__ 4
1276// I386-NETBSD:#define __SIZEOF_POINTER__ 4
1277// I386-NETBSD:#define __SIZEOF_PTRDIFF_T__ 4
1278// I386-NETBSD:#define __SIZEOF_SHORT__ 2
1279// I386-NETBSD:#define __SIZEOF_SIZE_T__ 4
1280// I386-NETBSD:#define __SIZEOF_WCHAR_T__ 4
1281// I386-NETBSD:#define __SIZEOF_WINT_T__ 4
1282// I386-NETBSD:#define __SIZE_MAX__ 4294967295U
1283// I386-NETBSD:#define __SIZE_TYPE__ unsigned int
1284// I386-NETBSD:#define __SIZE_WIDTH__ 32
1285// I386-NETBSD:#define __UINTMAX_TYPE__ long long unsigned int
1286// I386-NETBSD:#define __USER_LABEL_PREFIX__
1287// I386-NETBSD:#define __WCHAR_MAX__ 2147483647
1288// I386-NETBSD:#define __WCHAR_TYPE__ int
1289// I386-NETBSD:#define __WCHAR_WIDTH__ 32
1290// I386-NETBSD:#define __WINT_TYPE__ int
1291// I386-NETBSD:#define __WINT_WIDTH__ 32
1292// I386-NETBSD:#define __i386 1
1293// I386-NETBSD:#define __i386__ 1
1294// I386-NETBSD:#define i386 1
1295//
1296// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD-SSE %s
1297// I386-NETBSD-SSE:#define __FLT_EVAL_METHOD__ 0
1298// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 < /dev/null | FileCheck -check-prefix I386-NETBSD6 %s
1299// I386-NETBSD6:#define __FLT_EVAL_METHOD__ 1
1300// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD6-SSE %s
1301// I386-NETBSD6-SSE:#define __FLT_EVAL_METHOD__ 1
1302
1303//
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001304// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none < /dev/null | FileCheck -check-prefix MIPS32BE %s
1305//
1306// MIPS32BE:#define MIPSEB 1
1307// MIPS32BE:#define _ABIO32 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001308// MIPS32BE-NOT:#define _LP64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001309// MIPS32BE:#define _MIPSEB 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001310// MIPS32BE:#define _MIPS_ARCH "mips32r2"
1311// MIPS32BE:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001312// MIPS32BE:#define _MIPS_FPSET 16
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001313// MIPS32BE:#define _MIPS_SIM _ABIO32
1314// MIPS32BE:#define _MIPS_SZINT 32
1315// MIPS32BE:#define _MIPS_SZLONG 32
1316// MIPS32BE:#define _MIPS_SZPTR 32
Robert Lytton2c942c62014-03-10 12:06:29 +00001317// MIPS32BE:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001318// MIPS32BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001319// MIPS32BE:#define __CHAR16_TYPE__ unsigned short
1320// MIPS32BE:#define __CHAR32_TYPE__ unsigned int
1321// MIPS32BE:#define __CHAR_BIT__ 8
1322// MIPS32BE:#define __CONSTANT_CFSTRINGS__ 1
1323// MIPS32BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1324// MIPS32BE:#define __DBL_DIG__ 15
1325// MIPS32BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
1326// MIPS32BE:#define __DBL_HAS_DENORM__ 1
1327// MIPS32BE:#define __DBL_HAS_INFINITY__ 1
1328// MIPS32BE:#define __DBL_HAS_QUIET_NAN__ 1
1329// MIPS32BE:#define __DBL_MANT_DIG__ 53
1330// MIPS32BE:#define __DBL_MAX_10_EXP__ 308
1331// MIPS32BE:#define __DBL_MAX_EXP__ 1024
1332// MIPS32BE:#define __DBL_MAX__ 1.7976931348623157e+308
1333// MIPS32BE:#define __DBL_MIN_10_EXP__ (-307)
1334// MIPS32BE:#define __DBL_MIN_EXP__ (-1021)
1335// MIPS32BE:#define __DBL_MIN__ 2.2250738585072014e-308
1336// MIPS32BE:#define __DECIMAL_DIG__ 17
1337// MIPS32BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1338// MIPS32BE:#define __FLT_DIG__ 6
1339// MIPS32BE:#define __FLT_EPSILON__ 1.19209290e-7F
1340// MIPS32BE:#define __FLT_EVAL_METHOD__ 0
1341// MIPS32BE:#define __FLT_HAS_DENORM__ 1
1342// MIPS32BE:#define __FLT_HAS_INFINITY__ 1
1343// MIPS32BE:#define __FLT_HAS_QUIET_NAN__ 1
1344// MIPS32BE:#define __FLT_MANT_DIG__ 24
1345// MIPS32BE:#define __FLT_MAX_10_EXP__ 38
1346// MIPS32BE:#define __FLT_MAX_EXP__ 128
1347// MIPS32BE:#define __FLT_MAX__ 3.40282347e+38F
1348// MIPS32BE:#define __FLT_MIN_10_EXP__ (-37)
1349// MIPS32BE:#define __FLT_MIN_EXP__ (-125)
1350// MIPS32BE:#define __FLT_MIN__ 1.17549435e-38F
1351// MIPS32BE:#define __FLT_RADIX__ 2
1352// MIPS32BE:#define __INT16_TYPE__ short
1353// MIPS32BE:#define __INT32_TYPE__ int
1354// MIPS32BE:#define __INT64_C_SUFFIX__ LL
1355// MIPS32BE:#define __INT64_TYPE__ long long int
1356// MIPS32BE:#define __INT8_TYPE__ char
1357// MIPS32BE:#define __INTMAX_MAX__ 9223372036854775807LL
1358// MIPS32BE:#define __INTMAX_TYPE__ long long int
1359// MIPS32BE:#define __INTMAX_WIDTH__ 64
1360// MIPS32BE:#define __INTPTR_TYPE__ long int
1361// MIPS32BE:#define __INTPTR_WIDTH__ 32
1362// MIPS32BE:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001363// MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001364// MIPS32BE:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001365// MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001366// MIPS32BE:#define __LDBL_HAS_DENORM__ 1
1367// MIPS32BE:#define __LDBL_HAS_INFINITY__ 1
1368// MIPS32BE:#define __LDBL_HAS_QUIET_NAN__ 1
1369// MIPS32BE:#define __LDBL_MANT_DIG__ 53
1370// MIPS32BE:#define __LDBL_MAX_10_EXP__ 308
1371// MIPS32BE:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001372// MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001373// MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307)
1374// MIPS32BE:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001375// MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001376// MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1377// MIPS32BE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001378// MIPS32BE-NOT:#define __LP64__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001379// MIPS32BE:#define __MIPSEB 1
1380// MIPS32BE:#define __MIPSEB__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001381// MIPS32BE:#define __POINTER_WIDTH__ 32
1382// MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1
1383// MIPS32BE:#define __PTRDIFF_TYPE__ int
1384// MIPS32BE:#define __PTRDIFF_WIDTH__ 32
1385// MIPS32BE:#define __REGISTER_PREFIX__
1386// MIPS32BE:#define __SCHAR_MAX__ 127
1387// MIPS32BE:#define __SHRT_MAX__ 32767
1388// MIPS32BE:#define __SIG_ATOMIC_WIDTH__ 32
1389// MIPS32BE:#define __SIZEOF_DOUBLE__ 8
1390// MIPS32BE:#define __SIZEOF_FLOAT__ 4
1391// MIPS32BE:#define __SIZEOF_INT__ 4
1392// MIPS32BE:#define __SIZEOF_LONG_DOUBLE__ 8
1393// MIPS32BE:#define __SIZEOF_LONG_LONG__ 8
1394// MIPS32BE:#define __SIZEOF_LONG__ 4
1395// MIPS32BE:#define __SIZEOF_POINTER__ 4
1396// MIPS32BE:#define __SIZEOF_PTRDIFF_T__ 4
1397// MIPS32BE:#define __SIZEOF_SHORT__ 2
1398// MIPS32BE:#define __SIZEOF_SIZE_T__ 4
1399// MIPS32BE:#define __SIZEOF_WCHAR_T__ 4
1400// MIPS32BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001401// MIPS32BE:#define __SIZE_MAX__ 4294967295U
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001402// MIPS32BE:#define __SIZE_TYPE__ unsigned int
1403// MIPS32BE:#define __SIZE_WIDTH__ 32
1404// MIPS32BE:#define __STDC_HOSTED__ 0
1405// MIPS32BE:#define __STDC_VERSION__ 199901L
1406// MIPS32BE:#define __STDC__ 1
1407// MIPS32BE:#define __UINTMAX_TYPE__ long long unsigned int
1408// MIPS32BE:#define __USER_LABEL_PREFIX__ _
1409// MIPS32BE:#define __WCHAR_MAX__ 2147483647
1410// MIPS32BE:#define __WCHAR_TYPE__ int
1411// MIPS32BE:#define __WCHAR_WIDTH__ 32
1412// MIPS32BE:#define __WINT_TYPE__ int
1413// MIPS32BE:#define __WINT_WIDTH__ 32
1414// MIPS32BE:#define __clang__ 1
1415// MIPS32BE:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001416// MIPS32BE:#define __mips 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001417// MIPS32BE:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001418// MIPS32BE:#define __mips_fpr 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001419// MIPS32BE:#define __mips_hard_float 1
1420// MIPS32BE:#define __mips_o32 1
1421// MIPS32BE:#define _mips 1
1422// MIPS32BE:#define mips 1
1423//
1424// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -check-prefix MIPS32EL %s
1425//
1426// MIPS32EL:#define MIPSEL 1
1427// MIPS32EL:#define _ABIO32 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001428// MIPS32EL-NOT:#define _LP64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001429// MIPS32EL:#define _MIPSEL 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001430// MIPS32EL:#define _MIPS_ARCH "mips32r2"
1431// MIPS32EL:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001432// MIPS32EL:#define _MIPS_FPSET 16
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001433// MIPS32EL:#define _MIPS_SIM _ABIO32
1434// MIPS32EL:#define _MIPS_SZINT 32
1435// MIPS32EL:#define _MIPS_SZLONG 32
1436// MIPS32EL:#define _MIPS_SZPTR 32
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001437// MIPS32EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001438// MIPS32EL:#define __CHAR16_TYPE__ unsigned short
1439// MIPS32EL:#define __CHAR32_TYPE__ unsigned int
1440// MIPS32EL:#define __CHAR_BIT__ 8
1441// MIPS32EL:#define __CONSTANT_CFSTRINGS__ 1
1442// MIPS32EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1443// MIPS32EL:#define __DBL_DIG__ 15
1444// MIPS32EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1445// MIPS32EL:#define __DBL_HAS_DENORM__ 1
1446// MIPS32EL:#define __DBL_HAS_INFINITY__ 1
1447// MIPS32EL:#define __DBL_HAS_QUIET_NAN__ 1
1448// MIPS32EL:#define __DBL_MANT_DIG__ 53
1449// MIPS32EL:#define __DBL_MAX_10_EXP__ 308
1450// MIPS32EL:#define __DBL_MAX_EXP__ 1024
1451// MIPS32EL:#define __DBL_MAX__ 1.7976931348623157e+308
1452// MIPS32EL:#define __DBL_MIN_10_EXP__ (-307)
1453// MIPS32EL:#define __DBL_MIN_EXP__ (-1021)
1454// MIPS32EL:#define __DBL_MIN__ 2.2250738585072014e-308
1455// MIPS32EL:#define __DECIMAL_DIG__ 17
1456// MIPS32EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1457// MIPS32EL:#define __FLT_DIG__ 6
1458// MIPS32EL:#define __FLT_EPSILON__ 1.19209290e-7F
1459// MIPS32EL:#define __FLT_EVAL_METHOD__ 0
1460// MIPS32EL:#define __FLT_HAS_DENORM__ 1
1461// MIPS32EL:#define __FLT_HAS_INFINITY__ 1
1462// MIPS32EL:#define __FLT_HAS_QUIET_NAN__ 1
1463// MIPS32EL:#define __FLT_MANT_DIG__ 24
1464// MIPS32EL:#define __FLT_MAX_10_EXP__ 38
1465// MIPS32EL:#define __FLT_MAX_EXP__ 128
1466// MIPS32EL:#define __FLT_MAX__ 3.40282347e+38F
1467// MIPS32EL:#define __FLT_MIN_10_EXP__ (-37)
1468// MIPS32EL:#define __FLT_MIN_EXP__ (-125)
1469// MIPS32EL:#define __FLT_MIN__ 1.17549435e-38F
1470// MIPS32EL:#define __FLT_RADIX__ 2
1471// MIPS32EL:#define __INT16_TYPE__ short
1472// MIPS32EL:#define __INT32_TYPE__ int
1473// MIPS32EL:#define __INT64_C_SUFFIX__ LL
1474// MIPS32EL:#define __INT64_TYPE__ long long int
1475// MIPS32EL:#define __INT8_TYPE__ char
1476// MIPS32EL:#define __INTMAX_MAX__ 9223372036854775807LL
1477// MIPS32EL:#define __INTMAX_TYPE__ long long int
1478// MIPS32EL:#define __INTMAX_WIDTH__ 64
1479// MIPS32EL:#define __INTPTR_TYPE__ long int
1480// MIPS32EL:#define __INTPTR_WIDTH__ 32
1481// MIPS32EL:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001482// MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001483// MIPS32EL:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001484// MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001485// MIPS32EL:#define __LDBL_HAS_DENORM__ 1
1486// MIPS32EL:#define __LDBL_HAS_INFINITY__ 1
1487// MIPS32EL:#define __LDBL_HAS_QUIET_NAN__ 1
1488// MIPS32EL:#define __LDBL_MANT_DIG__ 53
1489// MIPS32EL:#define __LDBL_MAX_10_EXP__ 308
1490// MIPS32EL:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001491// MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001492// MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307)
1493// MIPS32EL:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001494// MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308L
Robert Lytton2c942c62014-03-10 12:06:29 +00001495// MIPS32EL:#define __LITTLE_ENDIAN__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001496// MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1497// MIPS32EL:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001498// MIPS32EL-NOT:#define __LP64__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001499// MIPS32EL:#define __MIPSEL 1
1500// MIPS32EL:#define __MIPSEL__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001501// MIPS32EL:#define __POINTER_WIDTH__ 32
1502// MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1503// MIPS32EL:#define __PTRDIFF_TYPE__ int
1504// MIPS32EL:#define __PTRDIFF_WIDTH__ 32
1505// MIPS32EL:#define __REGISTER_PREFIX__
1506// MIPS32EL:#define __SCHAR_MAX__ 127
1507// MIPS32EL:#define __SHRT_MAX__ 32767
1508// MIPS32EL:#define __SIG_ATOMIC_WIDTH__ 32
1509// MIPS32EL:#define __SIZEOF_DOUBLE__ 8
1510// MIPS32EL:#define __SIZEOF_FLOAT__ 4
1511// MIPS32EL:#define __SIZEOF_INT__ 4
1512// MIPS32EL:#define __SIZEOF_LONG_DOUBLE__ 8
1513// MIPS32EL:#define __SIZEOF_LONG_LONG__ 8
1514// MIPS32EL:#define __SIZEOF_LONG__ 4
1515// MIPS32EL:#define __SIZEOF_POINTER__ 4
1516// MIPS32EL:#define __SIZEOF_PTRDIFF_T__ 4
1517// MIPS32EL:#define __SIZEOF_SHORT__ 2
1518// MIPS32EL:#define __SIZEOF_SIZE_T__ 4
1519// MIPS32EL:#define __SIZEOF_WCHAR_T__ 4
1520// MIPS32EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001521// MIPS32EL:#define __SIZE_MAX__ 4294967295U
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001522// MIPS32EL:#define __SIZE_TYPE__ unsigned int
1523// MIPS32EL:#define __SIZE_WIDTH__ 32
1524// MIPS32EL:#define __UINTMAX_TYPE__ long long unsigned int
1525// MIPS32EL:#define __USER_LABEL_PREFIX__ _
1526// MIPS32EL:#define __WCHAR_MAX__ 2147483647
1527// MIPS32EL:#define __WCHAR_TYPE__ int
1528// MIPS32EL:#define __WCHAR_WIDTH__ 32
1529// MIPS32EL:#define __WINT_TYPE__ int
1530// MIPS32EL:#define __WINT_WIDTH__ 32
1531// MIPS32EL:#define __clang__ 1
1532// MIPS32EL:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001533// MIPS32EL:#define __mips 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001534// MIPS32EL:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001535// MIPS32EL:#define __mips_fpr 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001536// MIPS32EL:#define __mips_hard_float 1
1537// MIPS32EL:#define __mips_o32 1
1538// MIPS32EL:#define _mips 1
1539// MIPS32EL:#define mips 1
1540//
1541// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -check-prefix MIPS64BE %s
1542//
1543// MIPS64BE:#define MIPSEB 1
1544// MIPS64BE:#define _ABI64 3
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001545// MIPS64BE:#define _LP64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001546// MIPS64BE:#define _MIPSEB 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001547// MIPS64BE:#define _MIPS_ARCH "mips64r2"
1548// MIPS64BE:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001549// MIPS64BE:#define _MIPS_FPSET 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001550// MIPS64BE:#define _MIPS_SIM _ABI64
1551// MIPS64BE:#define _MIPS_SZINT 32
1552// MIPS64BE:#define _MIPS_SZLONG 64
1553// MIPS64BE:#define _MIPS_SZPTR 64
Robert Lytton2c942c62014-03-10 12:06:29 +00001554// MIPS64BE:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001555// MIPS64BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001556// MIPS64BE:#define __CHAR16_TYPE__ unsigned short
1557// MIPS64BE:#define __CHAR32_TYPE__ unsigned int
1558// MIPS64BE:#define __CHAR_BIT__ 8
1559// MIPS64BE:#define __CONSTANT_CFSTRINGS__ 1
1560// MIPS64BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1561// MIPS64BE:#define __DBL_DIG__ 15
1562// MIPS64BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
1563// MIPS64BE:#define __DBL_HAS_DENORM__ 1
1564// MIPS64BE:#define __DBL_HAS_INFINITY__ 1
1565// MIPS64BE:#define __DBL_HAS_QUIET_NAN__ 1
1566// MIPS64BE:#define __DBL_MANT_DIG__ 53
1567// MIPS64BE:#define __DBL_MAX_10_EXP__ 308
1568// MIPS64BE:#define __DBL_MAX_EXP__ 1024
1569// MIPS64BE:#define __DBL_MAX__ 1.7976931348623157e+308
1570// MIPS64BE:#define __DBL_MIN_10_EXP__ (-307)
1571// MIPS64BE:#define __DBL_MIN_EXP__ (-1021)
1572// MIPS64BE:#define __DBL_MIN__ 2.2250738585072014e-308
1573// MIPS64BE:#define __DECIMAL_DIG__ 36
1574// MIPS64BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1575// MIPS64BE:#define __FLT_DIG__ 6
1576// MIPS64BE:#define __FLT_EPSILON__ 1.19209290e-7F
1577// MIPS64BE:#define __FLT_EVAL_METHOD__ 0
1578// MIPS64BE:#define __FLT_HAS_DENORM__ 1
1579// MIPS64BE:#define __FLT_HAS_INFINITY__ 1
1580// MIPS64BE:#define __FLT_HAS_QUIET_NAN__ 1
1581// MIPS64BE:#define __FLT_MANT_DIG__ 24
1582// MIPS64BE:#define __FLT_MAX_10_EXP__ 38
1583// MIPS64BE:#define __FLT_MAX_EXP__ 128
1584// MIPS64BE:#define __FLT_MAX__ 3.40282347e+38F
1585// MIPS64BE:#define __FLT_MIN_10_EXP__ (-37)
1586// MIPS64BE:#define __FLT_MIN_EXP__ (-125)
1587// MIPS64BE:#define __FLT_MIN__ 1.17549435e-38F
1588// MIPS64BE:#define __FLT_RADIX__ 2
1589// MIPS64BE:#define __INT16_TYPE__ short
1590// MIPS64BE:#define __INT32_TYPE__ int
1591// MIPS64BE:#define __INT64_C_SUFFIX__ LL
1592// MIPS64BE:#define __INT64_TYPE__ long long int
1593// MIPS64BE:#define __INT8_TYPE__ char
1594// MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807LL
1595// MIPS64BE:#define __INTMAX_TYPE__ long long int
1596// MIPS64BE:#define __INTMAX_WIDTH__ 64
1597// MIPS64BE:#define __INTPTR_TYPE__ long int
1598// MIPS64BE:#define __INTPTR_WIDTH__ 64
1599// MIPS64BE:#define __INT_MAX__ 2147483647
1600// MIPS64BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1601// MIPS64BE:#define __LDBL_DIG__ 33
1602// MIPS64BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1603// MIPS64BE:#define __LDBL_HAS_DENORM__ 1
1604// MIPS64BE:#define __LDBL_HAS_INFINITY__ 1
1605// MIPS64BE:#define __LDBL_HAS_QUIET_NAN__ 1
1606// MIPS64BE:#define __LDBL_MANT_DIG__ 113
1607// MIPS64BE:#define __LDBL_MAX_10_EXP__ 4932
1608// MIPS64BE:#define __LDBL_MAX_EXP__ 16384
1609// MIPS64BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1610// MIPS64BE:#define __LDBL_MIN_10_EXP__ (-4931)
1611// MIPS64BE:#define __LDBL_MIN_EXP__ (-16381)
1612// MIPS64BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1613// MIPS64BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1614// MIPS64BE:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001615// MIPS64BE:#define __LP64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001616// MIPS64BE:#define __MIPSEB 1
1617// MIPS64BE:#define __MIPSEB__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001618// MIPS64BE:#define __POINTER_WIDTH__ 64
1619// MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1
1620// MIPS64BE:#define __PTRDIFF_TYPE__ long int
1621// MIPS64BE:#define __PTRDIFF_WIDTH__ 64
1622// MIPS64BE:#define __REGISTER_PREFIX__
1623// MIPS64BE:#define __SCHAR_MAX__ 127
1624// MIPS64BE:#define __SHRT_MAX__ 32767
1625// MIPS64BE:#define __SIG_ATOMIC_WIDTH__ 32
1626// MIPS64BE:#define __SIZEOF_DOUBLE__ 8
1627// MIPS64BE:#define __SIZEOF_FLOAT__ 4
1628// MIPS64BE:#define __SIZEOF_INT__ 4
1629// MIPS64BE:#define __SIZEOF_LONG_DOUBLE__ 16
1630// MIPS64BE:#define __SIZEOF_LONG_LONG__ 8
1631// MIPS64BE:#define __SIZEOF_LONG__ 8
1632// MIPS64BE:#define __SIZEOF_POINTER__ 8
1633// MIPS64BE:#define __SIZEOF_PTRDIFF_T__ 8
1634// MIPS64BE:#define __SIZEOF_SHORT__ 2
1635// MIPS64BE:#define __SIZEOF_SIZE_T__ 8
1636// MIPS64BE:#define __SIZEOF_WCHAR_T__ 4
1637// MIPS64BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001638// MIPS64BE:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001639// MIPS64BE:#define __SIZE_TYPE__ long unsigned int
1640// MIPS64BE:#define __SIZE_WIDTH__ 64
1641// MIPS64BE:#define __UINTMAX_TYPE__ long long unsigned int
1642// MIPS64BE:#define __USER_LABEL_PREFIX__ _
1643// MIPS64BE:#define __WCHAR_MAX__ 2147483647
1644// MIPS64BE:#define __WCHAR_TYPE__ int
1645// MIPS64BE:#define __WCHAR_WIDTH__ 32
1646// MIPS64BE:#define __WINT_TYPE__ int
1647// MIPS64BE:#define __WINT_WIDTH__ 32
1648// MIPS64BE:#define __clang__ 1
1649// MIPS64BE:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001650// MIPS64BE:#define __mips 64
Simon Atanasyanc6a0be02012-08-29 20:50:11 +00001651// MIPS64BE:#define __mips64 1
1652// MIPS64BE:#define __mips64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001653// MIPS64BE:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001654// MIPS64BE:#define __mips_fpr 64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001655// MIPS64BE:#define __mips_hard_float 1
1656// MIPS64BE:#define __mips_n64 1
1657// MIPS64BE:#define _mips 1
1658// MIPS64BE:#define mips 1
1659//
1660// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -check-prefix MIPS64EL %s
1661//
1662// MIPS64EL:#define MIPSEL 1
1663// MIPS64EL:#define _ABI64 3
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001664// MIPS64EL:#define _LP64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001665// MIPS64EL:#define _MIPSEL 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001666// MIPS64EL:#define _MIPS_ARCH "mips64r2"
1667// MIPS64EL:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001668// MIPS64EL:#define _MIPS_FPSET 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001669// MIPS64EL:#define _MIPS_SIM _ABI64
1670// MIPS64EL:#define _MIPS_SZINT 32
1671// MIPS64EL:#define _MIPS_SZLONG 64
1672// MIPS64EL:#define _MIPS_SZPTR 64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001673// MIPS64EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001674// MIPS64EL:#define __CHAR16_TYPE__ unsigned short
1675// MIPS64EL:#define __CHAR32_TYPE__ unsigned int
1676// MIPS64EL:#define __CHAR_BIT__ 8
1677// MIPS64EL:#define __CONSTANT_CFSTRINGS__ 1
1678// MIPS64EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1679// MIPS64EL:#define __DBL_DIG__ 15
1680// MIPS64EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1681// MIPS64EL:#define __DBL_HAS_DENORM__ 1
1682// MIPS64EL:#define __DBL_HAS_INFINITY__ 1
1683// MIPS64EL:#define __DBL_HAS_QUIET_NAN__ 1
1684// MIPS64EL:#define __DBL_MANT_DIG__ 53
1685// MIPS64EL:#define __DBL_MAX_10_EXP__ 308
1686// MIPS64EL:#define __DBL_MAX_EXP__ 1024
1687// MIPS64EL:#define __DBL_MAX__ 1.7976931348623157e+308
1688// MIPS64EL:#define __DBL_MIN_10_EXP__ (-307)
1689// MIPS64EL:#define __DBL_MIN_EXP__ (-1021)
1690// MIPS64EL:#define __DBL_MIN__ 2.2250738585072014e-308
1691// MIPS64EL:#define __DECIMAL_DIG__ 36
1692// MIPS64EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1693// MIPS64EL:#define __FLT_DIG__ 6
1694// MIPS64EL:#define __FLT_EPSILON__ 1.19209290e-7F
1695// MIPS64EL:#define __FLT_EVAL_METHOD__ 0
1696// MIPS64EL:#define __FLT_HAS_DENORM__ 1
1697// MIPS64EL:#define __FLT_HAS_INFINITY__ 1
1698// MIPS64EL:#define __FLT_HAS_QUIET_NAN__ 1
1699// MIPS64EL:#define __FLT_MANT_DIG__ 24
1700// MIPS64EL:#define __FLT_MAX_10_EXP__ 38
1701// MIPS64EL:#define __FLT_MAX_EXP__ 128
1702// MIPS64EL:#define __FLT_MAX__ 3.40282347e+38F
1703// MIPS64EL:#define __FLT_MIN_10_EXP__ (-37)
1704// MIPS64EL:#define __FLT_MIN_EXP__ (-125)
1705// MIPS64EL:#define __FLT_MIN__ 1.17549435e-38F
1706// MIPS64EL:#define __FLT_RADIX__ 2
1707// MIPS64EL:#define __INT16_TYPE__ short
1708// MIPS64EL:#define __INT32_TYPE__ int
1709// MIPS64EL:#define __INT64_C_SUFFIX__ LL
1710// MIPS64EL:#define __INT64_TYPE__ long long int
1711// MIPS64EL:#define __INT8_TYPE__ char
1712// MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807LL
1713// MIPS64EL:#define __INTMAX_TYPE__ long long int
1714// MIPS64EL:#define __INTMAX_WIDTH__ 64
1715// MIPS64EL:#define __INTPTR_TYPE__ long int
1716// MIPS64EL:#define __INTPTR_WIDTH__ 64
1717// MIPS64EL:#define __INT_MAX__ 2147483647
1718// MIPS64EL:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1719// MIPS64EL:#define __LDBL_DIG__ 33
1720// MIPS64EL:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1721// MIPS64EL:#define __LDBL_HAS_DENORM__ 1
1722// MIPS64EL:#define __LDBL_HAS_INFINITY__ 1
1723// MIPS64EL:#define __LDBL_HAS_QUIET_NAN__ 1
1724// MIPS64EL:#define __LDBL_MANT_DIG__ 113
1725// MIPS64EL:#define __LDBL_MAX_10_EXP__ 4932
1726// MIPS64EL:#define __LDBL_MAX_EXP__ 16384
1727// MIPS64EL:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1728// MIPS64EL:#define __LDBL_MIN_10_EXP__ (-4931)
1729// MIPS64EL:#define __LDBL_MIN_EXP__ (-16381)
1730// MIPS64EL:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
Robert Lytton2c942c62014-03-10 12:06:29 +00001731// MIPS64EL:#define __LITTLE_ENDIAN__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001732// MIPS64EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1733// MIPS64EL:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001734// MIPS64EL:#define __LP64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001735// MIPS64EL:#define __MIPSEL 1
1736// MIPS64EL:#define __MIPSEL__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001737// MIPS64EL:#define __POINTER_WIDTH__ 64
1738// MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1739// MIPS64EL:#define __PTRDIFF_TYPE__ long int
1740// MIPS64EL:#define __PTRDIFF_WIDTH__ 64
1741// MIPS64EL:#define __REGISTER_PREFIX__
1742// MIPS64EL:#define __SCHAR_MAX__ 127
1743// MIPS64EL:#define __SHRT_MAX__ 32767
1744// MIPS64EL:#define __SIG_ATOMIC_WIDTH__ 32
1745// MIPS64EL:#define __SIZEOF_DOUBLE__ 8
1746// MIPS64EL:#define __SIZEOF_FLOAT__ 4
1747// MIPS64EL:#define __SIZEOF_INT__ 4
1748// MIPS64EL:#define __SIZEOF_LONG_DOUBLE__ 16
1749// MIPS64EL:#define __SIZEOF_LONG_LONG__ 8
1750// MIPS64EL:#define __SIZEOF_LONG__ 8
1751// MIPS64EL:#define __SIZEOF_POINTER__ 8
1752// MIPS64EL:#define __SIZEOF_PTRDIFF_T__ 8
1753// MIPS64EL:#define __SIZEOF_SHORT__ 2
1754// MIPS64EL:#define __SIZEOF_SIZE_T__ 8
1755// MIPS64EL:#define __SIZEOF_WCHAR_T__ 4
1756// MIPS64EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001757// MIPS64EL:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001758// MIPS64EL:#define __SIZE_TYPE__ long unsigned int
1759// MIPS64EL:#define __SIZE_WIDTH__ 64
1760// MIPS64EL:#define __UINTMAX_TYPE__ long long unsigned int
1761// MIPS64EL:#define __USER_LABEL_PREFIX__ _
1762// MIPS64EL:#define __WCHAR_MAX__ 2147483647
1763// MIPS64EL:#define __WCHAR_TYPE__ int
1764// MIPS64EL:#define __WCHAR_WIDTH__ 32
1765// MIPS64EL:#define __WINT_TYPE__ int
1766// MIPS64EL:#define __WINT_WIDTH__ 32
1767// MIPS64EL:#define __clang__ 1
1768// MIPS64EL:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001769// MIPS64EL:#define __mips 64
Simon Atanasyanc6a0be02012-08-29 20:50:11 +00001770// MIPS64EL:#define __mips64 1
1771// MIPS64EL:#define __mips64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001772// MIPS64EL:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001773// MIPS64EL:#define __mips_fpr 64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001774// MIPS64EL:#define __mips_hard_float 1
1775// MIPS64EL:#define __mips_n64 1
1776// MIPS64EL:#define _mips 1
1777// MIPS64EL:#define mips 1
1778//
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001779// Check MIPS arch macros
1780//
1781// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
1782// RUN: < /dev/null \
1783// RUN: | FileCheck -check-prefix MIPS-ARCH-DEF32 %s
1784//
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001785// MIPS-ARCH-DEF32:#define _MIPS_ARCH "mips32r2"
1786// MIPS-ARCH-DEF32:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001787//
1788// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-nones \
1789// RUN: -target-cpu mips32 < /dev/null \
1790// RUN: | FileCheck -check-prefix MIPS-ARCH-32 %s
1791//
1792// MIPS-ARCH-32:#define _MIPS_ARCH "mips32"
1793// MIPS-ARCH-32:#define _MIPS_ARCH_MIPS32 1
1794//
1795// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
1796// RUN: -target-cpu mips32r2 < /dev/null \
1797// RUN: | FileCheck -check-prefix MIPS-ARCH-32R2 %s
1798//
1799// MIPS-ARCH-32R2:#define _MIPS_ARCH "mips32r2"
1800// MIPS-ARCH-32R2:#define _MIPS_ARCH_MIPS32R2 1
1801//
1802// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1803// RUN: < /dev/null \
1804// RUN: | FileCheck -check-prefix MIPS-ARCH-DEF64 %s
1805//
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001806// MIPS-ARCH-DEF64:#define _MIPS_ARCH "mips64r2"
1807// MIPS-ARCH-DEF64:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001808//
1809// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1810// RUN: -target-cpu mips64 < /dev/null \
1811// RUN: | FileCheck -check-prefix MIPS-ARCH-64 %s
1812//
1813// MIPS-ARCH-64:#define _MIPS_ARCH "mips64"
1814// MIPS-ARCH-64:#define _MIPS_ARCH_MIPS64 1
1815//
1816// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1817// RUN: -target-cpu mips64r2 < /dev/null \
1818// RUN: | FileCheck -check-prefix MIPS-ARCH-64R2 %s
1819//
1820// MIPS-ARCH-64R2:#define _MIPS_ARCH "mips64r2"
1821// MIPS-ARCH-64R2:#define _MIPS_ARCH_MIPS64R2 1
1822//
Simon Atanasyan5e21c802012-04-06 17:51:49 +00001823// Check MIPS float ABI macros
1824//
1825// RUN: %clang_cc1 -E -dM -ffreestanding \
1826// RUN: -triple=mips-none-none < /dev/null \
1827// RUN: | FileCheck -check-prefix MIPS-FABI-HARD %s
1828// MIPS-FABI-HARD:#define __mips_hard_float 1
1829//
1830// RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \
1831// RUN: -triple=mips-none-none < /dev/null \
1832// RUN: | FileCheck -check-prefix MIPS-FABI-SOFT %s
1833// MIPS-FABI-SOFT:#define __mips_soft_float 1
1834//
1835// RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \
1836// RUN: -triple=mips-none-none < /dev/null \
1837// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE %s
Simon Atanasyand3d173d2012-06-05 13:06:56 +00001838// MIPS-FABI-SINGLE:#define __mips_hard_float 1
Simon Atanasyan5e21c802012-04-06 17:51:49 +00001839// MIPS-FABI-SINGLE:#define __mips_single_float 1
1840//
Simon Atanasyan16071912013-04-14 14:07:30 +00001841// RUN: %clang_cc1 -target-feature +soft-float -target-feature +single-float \
1842// RUN: -E -dM -ffreestanding -triple=mips-none-none < /dev/null \
1843// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE-SOFT %s
1844// MIPS-FABI-SINGLE-SOFT:#define __mips_single_float 1
1845// MIPS-FABI-SINGLE-SOFT:#define __mips_soft_float 1
1846//
Simon Atanasyan72244b62012-07-05 16:06:06 +00001847// Check MIPS features macros
1848//
1849// RUN: %clang_cc1 -target-feature +mips16 \
1850// RUN: -E -dM -triple=mips-none-none < /dev/null \
1851// RUN: | FileCheck -check-prefix MIPS16 %s
1852// MIPS16:#define __mips16 1
1853//
1854// RUN: %clang_cc1 -target-feature -mips16 \
1855// RUN: -E -dM -triple=mips-none-none < /dev/null \
1856// RUN: | FileCheck -check-prefix NOMIPS16 %s
1857// NOMIPS16-NOT:#define __mips16 1
1858//
Simon Atanasyan60777612013-04-14 14:07:51 +00001859// RUN: %clang_cc1 -target-feature +micromips \
1860// RUN: -E -dM -triple=mips-none-none < /dev/null \
1861// RUN: | FileCheck -check-prefix MICROMIPS %s
1862// MICROMIPS:#define __mips_micromips 1
1863//
1864// RUN: %clang_cc1 -target-feature -micromips \
1865// RUN: -E -dM -triple=mips-none-none < /dev/null \
1866// RUN: | FileCheck -check-prefix NOMICROMIPS %s
1867// NOMICROMIPS-NOT:#define __mips_micromips 1
1868//
Simon Atanasyan9780e4a2012-07-05 20:16:22 +00001869// RUN: %clang_cc1 -target-feature +dsp \
1870// RUN: -E -dM -triple=mips-none-none < /dev/null \
1871// RUN: | FileCheck -check-prefix MIPS-DSP %s
1872// MIPS-DSP:#define __mips_dsp 1
1873// MIPS-DSP:#define __mips_dsp_rev 1
1874// MIPS-DSP-NOT:#define __mips_dspr2 1
1875//
1876// RUN: %clang_cc1 -target-feature +dspr2 \
1877// RUN: -E -dM -triple=mips-none-none < /dev/null \
1878// RUN: | FileCheck -check-prefix MIPS-DSPR2 %s
1879// MIPS-DSPR2:#define __mips_dsp 1
1880// MIPS-DSPR2:#define __mips_dsp_rev 2
1881// MIPS-DSPR2:#define __mips_dspr2 1
1882//
Jack Carter44ff1e52013-08-12 17:20:29 +00001883// RUN: %clang_cc1 -target-feature +msa \
1884// RUN: -E -dM -triple=mips-none-none < /dev/null \
1885// RUN: | FileCheck -check-prefix MIPS-MSA %s
1886// MIPS-MSA:#define __mips_msa 1
1887//
Simon Atanasyan22127ce2013-09-24 09:09:16 +00001888// RUN: %clang_cc1 -target-feature +nan2008 \
1889// RUN: -E -dM -triple=mips-none-none < /dev/null \
1890// RUN: | FileCheck -check-prefix MIPS-NAN2008 %s
1891// MIPS-NAN2008:#define __mips_nan2008 1
1892//
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001893// RUN: %clang_cc1 -target-feature -fp64 \
1894// RUN: -E -dM -triple=mips-none-none < /dev/null \
1895// RUN: | FileCheck -check-prefix MIPS32-MFP32 %s
1896// MIPS32-MFP32:#define _MIPS_FPSET 16
1897// MIPS32-MFP32:#define __mips_fpr 32
1898//
1899// RUN: %clang_cc1 -target-feature +fp64 \
1900// RUN: -E -dM -triple=mips-none-none < /dev/null \
1901// RUN: | FileCheck -check-prefix MIPS32-MFP64 %s
1902// MIPS32-MFP64:#define _MIPS_FPSET 32
1903// MIPS32-MFP64:#define __mips_fpr 64
1904//
1905// RUN: %clang_cc1 -target-feature +single-float \
1906// RUN: -E -dM -triple=mips-none-none < /dev/null \
1907// RUN: | FileCheck -check-prefix MIPS32-MFP32SF %s
1908// MIPS32-MFP32SF:#define _MIPS_FPSET 32
1909// MIPS32-MFP32SF:#define __mips_fpr 32
1910//
1911// RUN: %clang_cc1 -target-feature +fp64 \
1912// RUN: -E -dM -triple=mips64-none-none < /dev/null \
1913// RUN: | FileCheck -check-prefix MIPS64-MFP64 %s
1914// MIPS64-MFP64:#define _MIPS_FPSET 32
1915// MIPS64-MFP64:#define __mips_fpr 64
1916//
1917// RUN: %clang_cc1 -target-feature -fp64 -target-feature +single-float \
1918// RUN: -E -dM -triple=mips64-none-none < /dev/null \
1919// RUN: | FileCheck -check-prefix MIPS64-NOMFP64 %s
1920// MIPS64-NOMFP64:#define _MIPS_FPSET 32
1921// MIPS64-NOMFP64:#define __mips_fpr 32
1922//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00001923// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
Chris Lattnere963d092009-10-29 04:55:36 +00001924//
1925// MSP430:#define MSP430 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001926// MSP430-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001927// MSP430:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00001928// MSP430:#define __CHAR16_TYPE__ unsigned short
1929// MSP430:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001930// MSP430:#define __CHAR_BIT__ 8
1931// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1932// MSP430:#define __DBL_DIG__ 15
1933// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
1934// MSP430:#define __DBL_HAS_DENORM__ 1
1935// MSP430:#define __DBL_HAS_INFINITY__ 1
1936// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
1937// MSP430:#define __DBL_MANT_DIG__ 53
1938// MSP430:#define __DBL_MAX_10_EXP__ 308
1939// MSP430:#define __DBL_MAX_EXP__ 1024
1940// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
1941// MSP430:#define __DBL_MIN_10_EXP__ (-307)
1942// MSP430:#define __DBL_MIN_EXP__ (-1021)
1943// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
1944// MSP430:#define __DECIMAL_DIG__ 17
1945// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1946// MSP430:#define __FLT_DIG__ 6
1947// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
1948// MSP430:#define __FLT_EVAL_METHOD__ 0
1949// MSP430:#define __FLT_HAS_DENORM__ 1
1950// MSP430:#define __FLT_HAS_INFINITY__ 1
1951// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
1952// MSP430:#define __FLT_MANT_DIG__ 24
1953// MSP430:#define __FLT_MAX_10_EXP__ 38
1954// MSP430:#define __FLT_MAX_EXP__ 128
1955// MSP430:#define __FLT_MAX__ 3.40282347e+38F
1956// MSP430:#define __FLT_MIN_10_EXP__ (-37)
1957// MSP430:#define __FLT_MIN_EXP__ (-125)
1958// MSP430:#define __FLT_MIN__ 1.17549435e-38F
1959// MSP430:#define __FLT_RADIX__ 2
1960// MSP430:#define __INT16_TYPE__ short
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00001961// MSP430:#define __INT32_C_SUFFIX__ L
Chris Lattner55c98772009-11-12 08:08:27 +00001962// MSP430:#define __INT32_TYPE__ long int
Chris Lattnere963d092009-10-29 04:55:36 +00001963// MSP430:#define __INT8_TYPE__ char
Anton Korobeynikovef412902013-07-01 19:42:40 +00001964// MSP430:#define __INTMAX_MAX__ 9223372036854775807LL
1965// MSP430:#define __INTMAX_TYPE__ long long int
1966// MSP430:#define __INTMAX_WIDTH__ 64
1967// MSP430:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00001968// MSP430:#define __INTPTR_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001969// MSP430:#define __INT_MAX__ 32767
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001970// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00001971// MSP430:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001972// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +00001973// MSP430:#define __LDBL_HAS_DENORM__ 1
1974// MSP430:#define __LDBL_HAS_INFINITY__ 1
1975// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
1976// MSP430:#define __LDBL_MANT_DIG__ 53
1977// MSP430:#define __LDBL_MAX_10_EXP__ 308
1978// MSP430:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001979// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +00001980// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
1981// MSP430:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001982// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308L
Robert Lytton2c942c62014-03-10 12:06:29 +00001983// MSP430:#define __LITTLE_ENDIAN__ 1
Anton Korobeynikov485810e2010-01-14 21:36:52 +00001984// MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
Chris Lattnere963d092009-10-29 04:55:36 +00001985// MSP430:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001986// MSP430-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00001987// MSP430:#define __MSP430__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00001988// MSP430:#define __POINTER_WIDTH__ 16
Ken Dyck9b25f782009-11-19 13:18:59 +00001989// MSP430:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00001990// MSP430:#define __PTRDIFF_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001991// MSP430:#define __SCHAR_MAX__ 127
1992// MSP430:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00001993// MSP430:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00001994// MSP430:#define __SIZEOF_DOUBLE__ 8
1995// MSP430:#define __SIZEOF_FLOAT__ 4
1996// MSP430:#define __SIZEOF_INT__ 2
1997// MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
1998// MSP430:#define __SIZEOF_LONG_LONG__ 8
1999// MSP430:#define __SIZEOF_LONG__ 4
2000// MSP430:#define __SIZEOF_POINTER__ 2
2001// MSP430:#define __SIZEOF_PTRDIFF_T__ 2
2002// MSP430:#define __SIZEOF_SHORT__ 2
2003// MSP430:#define __SIZEOF_SIZE_T__ 2
2004// MSP430:#define __SIZEOF_WCHAR_T__ 2
2005// MSP430:#define __SIZEOF_WINT_T__ 2
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002006// MSP430:#define __SIZE_MAX__ 65535U
Chris Lattnere963d092009-10-29 04:55:36 +00002007// MSP430:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002008// MSP430:#define __SIZE_WIDTH__ 16
Anton Korobeynikovef412902013-07-01 19:42:40 +00002009// MSP430:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002010// MSP430:#define __USER_LABEL_PREFIX__ _
Chris Lattner0fb5bbd2009-11-12 08:04:33 +00002011// MSP430:#define __WCHAR_MAX__ 32767
Chris Lattnere963d092009-10-29 04:55:36 +00002012// MSP430:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002013// MSP430:#define __WCHAR_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00002014// MSP430:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002015// MSP430:#define __WINT_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00002016// MSP430:#define __clang__ 1
2017//
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002018// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s
2019//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002020// NVPTX32-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002021// NVPTX32:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002022// NVPTX32:#define __CHAR16_TYPE__ unsigned short
2023// NVPTX32:#define __CHAR32_TYPE__ unsigned int
2024// NVPTX32:#define __CHAR_BIT__ 8
2025// NVPTX32:#define __CONSTANT_CFSTRINGS__ 1
2026// NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2027// NVPTX32:#define __DBL_DIG__ 15
2028// NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16
2029// NVPTX32:#define __DBL_HAS_DENORM__ 1
2030// NVPTX32:#define __DBL_HAS_INFINITY__ 1
2031// NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1
2032// NVPTX32:#define __DBL_MANT_DIG__ 53
2033// NVPTX32:#define __DBL_MAX_10_EXP__ 308
2034// NVPTX32:#define __DBL_MAX_EXP__ 1024
2035// NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308
2036// NVPTX32:#define __DBL_MIN_10_EXP__ (-307)
2037// NVPTX32:#define __DBL_MIN_EXP__ (-1021)
2038// NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308
2039// NVPTX32:#define __DECIMAL_DIG__ 17
2040// NVPTX32:#define __FINITE_MATH_ONLY__ 0
2041// NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2042// NVPTX32:#define __FLT_DIG__ 6
2043// NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F
2044// NVPTX32:#define __FLT_EVAL_METHOD__ 0
2045// NVPTX32:#define __FLT_HAS_DENORM__ 1
2046// NVPTX32:#define __FLT_HAS_INFINITY__ 1
2047// NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1
2048// NVPTX32:#define __FLT_MANT_DIG__ 24
2049// NVPTX32:#define __FLT_MAX_10_EXP__ 38
2050// NVPTX32:#define __FLT_MAX_EXP__ 128
2051// NVPTX32:#define __FLT_MAX__ 3.40282347e+38F
2052// NVPTX32:#define __FLT_MIN_10_EXP__ (-37)
2053// NVPTX32:#define __FLT_MIN_EXP__ (-125)
2054// NVPTX32:#define __FLT_MIN__ 1.17549435e-38F
2055// NVPTX32:#define __FLT_RADIX__ 2
2056// NVPTX32:#define __INT16_TYPE__ short
2057// NVPTX32:#define __INT32_TYPE__ int
2058// NVPTX32:#define __INT64_C_SUFFIX__ LL
2059// NVPTX32:#define __INT64_TYPE__ long long int
2060// NVPTX32:#define __INT8_TYPE__ char
2061// NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL
2062// NVPTX32:#define __INTMAX_TYPE__ long long int
2063// NVPTX32:#define __INTMAX_WIDTH__ 64
2064// NVPTX32:#define __INTPTR_TYPE__ unsigned int
2065// NVPTX32:#define __INTPTR_WIDTH__ 32
2066// NVPTX32:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002067// NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002068// NVPTX32:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002069// NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002070// NVPTX32:#define __LDBL_HAS_DENORM__ 1
2071// NVPTX32:#define __LDBL_HAS_INFINITY__ 1
2072// NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1
2073// NVPTX32:#define __LDBL_MANT_DIG__ 53
2074// NVPTX32:#define __LDBL_MAX_10_EXP__ 308
2075// NVPTX32:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002076// NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002077// NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
2078// NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002079// NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308L
Robert Lytton2c942c62014-03-10 12:06:29 +00002080// NVPTX32:#define __LITTLE_ENDIAN__ 1
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002081// NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL
2082// NVPTX32:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002083// NVPTX32-NOT:#define __LP64__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002084// NVPTX32:#define __NVPTX__ 1
2085// NVPTX32:#define __POINTER_WIDTH__ 32
2086// NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1
2087// NVPTX32:#define __PTRDIFF_TYPE__ unsigned int
2088// NVPTX32:#define __PTRDIFF_WIDTH__ 32
2089// NVPTX32:#define __PTX__ 1
2090// NVPTX32:#define __SCHAR_MAX__ 127
2091// NVPTX32:#define __SHRT_MAX__ 32767
2092// NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32
2093// NVPTX32:#define __SIZEOF_DOUBLE__ 8
2094// NVPTX32:#define __SIZEOF_FLOAT__ 4
2095// NVPTX32:#define __SIZEOF_INT__ 4
2096// NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8
2097// NVPTX32:#define __SIZEOF_LONG_LONG__ 8
2098// NVPTX32:#define __SIZEOF_LONG__ 8
2099// NVPTX32:#define __SIZEOF_POINTER__ 4
2100// NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4
2101// NVPTX32:#define __SIZEOF_SHORT__ 2
2102// NVPTX32:#define __SIZEOF_SIZE_T__ 4
2103// NVPTX32:#define __SIZEOF_WCHAR_T__ 4
2104// NVPTX32:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002105// NVPTX32:#define __SIZE_MAX__ 4294967295U
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002106// NVPTX32:#define __SIZE_TYPE__ unsigned int
2107// NVPTX32:#define __SIZE_WIDTH__ 32
2108// NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int
2109// NVPTX32:#define __USER_LABEL_PREFIX__ _
2110// NVPTX32:#define __WCHAR_MAX__ 2147483647
2111// NVPTX32:#define __WCHAR_TYPE__ int
2112// NVPTX32:#define __WCHAR_WIDTH__ 32
2113// NVPTX32:#define __WINT_TYPE__ int
2114// NVPTX32:#define __WINT_WIDTH__ 32
2115//
2116// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -check-prefix NVPTX64 %s
2117//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002118// NVPTX64:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002119// NVPTX64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002120// NVPTX64:#define __CHAR16_TYPE__ unsigned short
2121// NVPTX64:#define __CHAR32_TYPE__ unsigned int
2122// NVPTX64:#define __CHAR_BIT__ 8
2123// NVPTX64:#define __CONSTANT_CFSTRINGS__ 1
2124// NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2125// NVPTX64:#define __DBL_DIG__ 15
2126// NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16
2127// NVPTX64:#define __DBL_HAS_DENORM__ 1
2128// NVPTX64:#define __DBL_HAS_INFINITY__ 1
2129// NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1
2130// NVPTX64:#define __DBL_MANT_DIG__ 53
2131// NVPTX64:#define __DBL_MAX_10_EXP__ 308
2132// NVPTX64:#define __DBL_MAX_EXP__ 1024
2133// NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308
2134// NVPTX64:#define __DBL_MIN_10_EXP__ (-307)
2135// NVPTX64:#define __DBL_MIN_EXP__ (-1021)
2136// NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308
2137// NVPTX64:#define __DECIMAL_DIG__ 17
2138// NVPTX64:#define __FINITE_MATH_ONLY__ 0
2139// NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2140// NVPTX64:#define __FLT_DIG__ 6
2141// NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F
2142// NVPTX64:#define __FLT_EVAL_METHOD__ 0
2143// NVPTX64:#define __FLT_HAS_DENORM__ 1
2144// NVPTX64:#define __FLT_HAS_INFINITY__ 1
2145// NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1
2146// NVPTX64:#define __FLT_MANT_DIG__ 24
2147// NVPTX64:#define __FLT_MAX_10_EXP__ 38
2148// NVPTX64:#define __FLT_MAX_EXP__ 128
2149// NVPTX64:#define __FLT_MAX__ 3.40282347e+38F
2150// NVPTX64:#define __FLT_MIN_10_EXP__ (-37)
2151// NVPTX64:#define __FLT_MIN_EXP__ (-125)
2152// NVPTX64:#define __FLT_MIN__ 1.17549435e-38F
2153// NVPTX64:#define __FLT_RADIX__ 2
2154// NVPTX64:#define __INT16_TYPE__ short
2155// NVPTX64:#define __INT32_TYPE__ int
2156// NVPTX64:#define __INT64_C_SUFFIX__ LL
2157// NVPTX64:#define __INT64_TYPE__ long long int
2158// NVPTX64:#define __INT8_TYPE__ char
2159// NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL
2160// NVPTX64:#define __INTMAX_TYPE__ long long int
2161// NVPTX64:#define __INTMAX_WIDTH__ 64
2162// NVPTX64:#define __INTPTR_TYPE__ long long unsigned int
2163// NVPTX64:#define __INTPTR_WIDTH__ 64
2164// NVPTX64:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002165// NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002166// NVPTX64:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002167// NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002168// NVPTX64:#define __LDBL_HAS_DENORM__ 1
2169// NVPTX64:#define __LDBL_HAS_INFINITY__ 1
2170// NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1
2171// NVPTX64:#define __LDBL_MANT_DIG__ 53
2172// NVPTX64:#define __LDBL_MAX_10_EXP__ 308
2173// NVPTX64:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002174// NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002175// NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
2176// NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002177// NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308L
Robert Lytton2c942c62014-03-10 12:06:29 +00002178// NVPTX64:#define __LITTLE_ENDIAN__ 1
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002179// NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL
2180// NVPTX64:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002181// NVPTX64:#define __LP64__ 1
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002182// NVPTX64:#define __NVPTX__ 1
2183// NVPTX64:#define __POINTER_WIDTH__ 64
2184// NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1
2185// NVPTX64:#define __PTRDIFF_TYPE__ long long unsigned int
2186// NVPTX64:#define __PTRDIFF_WIDTH__ 64
2187// NVPTX64:#define __PTX__ 1
2188// NVPTX64:#define __SCHAR_MAX__ 127
2189// NVPTX64:#define __SHRT_MAX__ 32767
2190// NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32
2191// NVPTX64:#define __SIZEOF_DOUBLE__ 8
2192// NVPTX64:#define __SIZEOF_FLOAT__ 4
2193// NVPTX64:#define __SIZEOF_INT__ 4
2194// NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8
2195// NVPTX64:#define __SIZEOF_LONG_LONG__ 8
2196// NVPTX64:#define __SIZEOF_LONG__ 8
2197// NVPTX64:#define __SIZEOF_POINTER__ 8
2198// NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8
2199// NVPTX64:#define __SIZEOF_SHORT__ 2
2200// NVPTX64:#define __SIZEOF_SIZE_T__ 8
2201// NVPTX64:#define __SIZEOF_WCHAR_T__ 4
2202// NVPTX64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002203// NVPTX64:#define __SIZE_MAX__ 18446744073709551615UL
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002204// NVPTX64:#define __SIZE_TYPE__ long long unsigned int
2205// NVPTX64:#define __SIZE_WIDTH__ 64
2206// NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int
2207// NVPTX64:#define __USER_LABEL_PREFIX__ _
2208// NVPTX64:#define __WCHAR_MAX__ 2147483647
2209// NVPTX64:#define __WCHAR_TYPE__ int
2210// NVPTX64:#define __WCHAR_WIDTH__ 32
2211// NVPTX64:#define __WINT_TYPE__ int
2212// NVPTX64:#define __WINT_WIDTH__ 32
2213//
Hal Finkel6b984f02012-07-03 16:51:04 +00002214// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -check-prefix PPC603E %s
2215//
2216// PPC603E:#define _ARCH_603 1
2217// PPC603E:#define _ARCH_603E 1
2218// PPC603E:#define _ARCH_PPC 1
2219// PPC603E:#define _ARCH_PPCGR 1
2220// PPC603E:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002221// PPC603E-NOT:#define _LP64
Hal Finkel6b984f02012-07-03 16:51:04 +00002222// PPC603E:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002223// PPC603E:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Hal Finkel6b984f02012-07-03 16:51:04 +00002224// PPC603E:#define __CHAR16_TYPE__ unsigned short
2225// PPC603E:#define __CHAR32_TYPE__ unsigned int
2226// PPC603E:#define __CHAR_BIT__ 8
2227// PPC603E:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2228// PPC603E:#define __DBL_DIG__ 15
2229// PPC603E:#define __DBL_EPSILON__ 2.2204460492503131e-16
2230// PPC603E:#define __DBL_HAS_DENORM__ 1
2231// PPC603E:#define __DBL_HAS_INFINITY__ 1
2232// PPC603E:#define __DBL_HAS_QUIET_NAN__ 1
2233// PPC603E:#define __DBL_MANT_DIG__ 53
2234// PPC603E:#define __DBL_MAX_10_EXP__ 308
2235// PPC603E:#define __DBL_MAX_EXP__ 1024
2236// PPC603E:#define __DBL_MAX__ 1.7976931348623157e+308
2237// PPC603E:#define __DBL_MIN_10_EXP__ (-307)
2238// PPC603E:#define __DBL_MIN_EXP__ (-1021)
2239// PPC603E:#define __DBL_MIN__ 2.2250738585072014e-308
2240// PPC603E:#define __DECIMAL_DIG__ 33
2241// PPC603E:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2242// PPC603E:#define __FLT_DIG__ 6
2243// PPC603E:#define __FLT_EPSILON__ 1.19209290e-7F
2244// PPC603E:#define __FLT_EVAL_METHOD__ 0
2245// PPC603E:#define __FLT_HAS_DENORM__ 1
2246// PPC603E:#define __FLT_HAS_INFINITY__ 1
2247// PPC603E:#define __FLT_HAS_QUIET_NAN__ 1
2248// PPC603E:#define __FLT_MANT_DIG__ 24
2249// PPC603E:#define __FLT_MAX_10_EXP__ 38
2250// PPC603E:#define __FLT_MAX_EXP__ 128
2251// PPC603E:#define __FLT_MAX__ 3.40282347e+38F
2252// PPC603E:#define __FLT_MIN_10_EXP__ (-37)
2253// PPC603E:#define __FLT_MIN_EXP__ (-125)
2254// PPC603E:#define __FLT_MIN__ 1.17549435e-38F
2255// PPC603E:#define __FLT_RADIX__ 2
2256// PPC603E:#define __INT16_TYPE__ short
2257// PPC603E:#define __INT32_TYPE__ int
2258// PPC603E:#define __INT64_C_SUFFIX__ LL
2259// PPC603E:#define __INT64_TYPE__ long long int
2260// PPC603E:#define __INT8_TYPE__ char
2261// PPC603E:#define __INTMAX_MAX__ 9223372036854775807LL
2262// PPC603E:#define __INTMAX_TYPE__ long long int
2263// PPC603E:#define __INTMAX_WIDTH__ 64
2264// PPC603E:#define __INTPTR_TYPE__ long int
2265// PPC603E:#define __INTPTR_WIDTH__ 32
2266// PPC603E:#define __INT_MAX__ 2147483647
2267// PPC603E:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2268// PPC603E:#define __LDBL_DIG__ 31
2269// PPC603E:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2270// PPC603E:#define __LDBL_HAS_DENORM__ 1
2271// PPC603E:#define __LDBL_HAS_INFINITY__ 1
2272// PPC603E:#define __LDBL_HAS_QUIET_NAN__ 1
2273// PPC603E:#define __LDBL_MANT_DIG__ 106
2274// PPC603E:#define __LDBL_MAX_10_EXP__ 308
2275// PPC603E:#define __LDBL_MAX_EXP__ 1024
2276// PPC603E:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2277// PPC603E:#define __LDBL_MIN_10_EXP__ (-291)
2278// PPC603E:#define __LDBL_MIN_EXP__ (-968)
2279// PPC603E:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2280// PPC603E:#define __LONG_DOUBLE_128__ 1
2281// PPC603E:#define __LONG_LONG_MAX__ 9223372036854775807LL
2282// PPC603E:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002283// PPC603E-NOT:#define __LP64__
Hal Finkel6b984f02012-07-03 16:51:04 +00002284// PPC603E:#define __NATURAL_ALIGNMENT__ 1
Hal Finkel6b984f02012-07-03 16:51:04 +00002285// PPC603E:#define __POINTER_WIDTH__ 32
2286// PPC603E:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002287// PPC603E:#define __PPC__ 1
Hal Finkel6b984f02012-07-03 16:51:04 +00002288// PPC603E:#define __PTRDIFF_TYPE__ long int
2289// PPC603E:#define __PTRDIFF_WIDTH__ 32
2290// PPC603E:#define __REGISTER_PREFIX__
2291// PPC603E:#define __SCHAR_MAX__ 127
2292// PPC603E:#define __SHRT_MAX__ 32767
2293// PPC603E:#define __SIG_ATOMIC_WIDTH__ 32
2294// PPC603E:#define __SIZEOF_DOUBLE__ 8
2295// PPC603E:#define __SIZEOF_FLOAT__ 4
2296// PPC603E:#define __SIZEOF_INT__ 4
2297// PPC603E:#define __SIZEOF_LONG_DOUBLE__ 16
2298// PPC603E:#define __SIZEOF_LONG_LONG__ 8
2299// PPC603E:#define __SIZEOF_LONG__ 4
2300// PPC603E:#define __SIZEOF_POINTER__ 4
2301// PPC603E:#define __SIZEOF_PTRDIFF_T__ 4
2302// PPC603E:#define __SIZEOF_SHORT__ 2
2303// PPC603E:#define __SIZEOF_SIZE_T__ 4
2304// PPC603E:#define __SIZEOF_WCHAR_T__ 4
2305// PPC603E:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002306// PPC603E:#define __SIZE_MAX__ 4294967295U
Hal Finkel6b984f02012-07-03 16:51:04 +00002307// PPC603E:#define __SIZE_TYPE__ long unsigned int
2308// PPC603E:#define __SIZE_WIDTH__ 32
2309// PPC603E:#define __UINTMAX_TYPE__ long long unsigned int
2310// PPC603E:#define __USER_LABEL_PREFIX__ _
2311// PPC603E:#define __WCHAR_MAX__ 2147483647
2312// PPC603E:#define __WCHAR_TYPE__ int
2313// PPC603E:#define __WCHAR_WIDTH__ 32
2314// PPC603E:#define __WINT_TYPE__ int
2315// PPC603E:#define __WINT_WIDTH__ 32
2316// PPC603E:#define __powerpc__ 1
2317// PPC603E:#define __ppc__ 1
2318//
Hal Finkel8eb59282012-06-11 22:35:19 +00002319// 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 +00002320//
2321// PPC64:#define _ARCH_PPC 1
2322// PPC64:#define _ARCH_PPC64 1
Hal Finkel6b984f02012-07-03 16:51:04 +00002323// PPC64:#define _ARCH_PPCGR 1
2324// PPC64:#define _ARCH_PPCSQ 1
2325// PPC64:#define _ARCH_PWR4 1
2326// PPC64:#define _ARCH_PWR5 1
2327// PPC64:#define _ARCH_PWR6 1
Hal Finkel8eb59282012-06-11 22:35:19 +00002328// PPC64:#define _ARCH_PWR7 1
Chris Lattnere963d092009-10-29 04:55:36 +00002329// PPC64:#define _BIG_ENDIAN 1
2330// PPC64:#define _LP64 1
2331// PPC64:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002332// PPC64:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002333// PPC64:#define __CHAR16_TYPE__ unsigned short
2334// PPC64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002335// PPC64:#define __CHAR_BIT__ 8
2336// PPC64:#define __CHAR_UNSIGNED__ 1
2337// PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2338// PPC64:#define __DBL_DIG__ 15
2339// PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
2340// PPC64:#define __DBL_HAS_DENORM__ 1
2341// PPC64:#define __DBL_HAS_INFINITY__ 1
2342// PPC64:#define __DBL_HAS_QUIET_NAN__ 1
2343// PPC64:#define __DBL_MANT_DIG__ 53
2344// PPC64:#define __DBL_MAX_10_EXP__ 308
2345// PPC64:#define __DBL_MAX_EXP__ 1024
2346// PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
2347// PPC64:#define __DBL_MIN_10_EXP__ (-307)
2348// PPC64:#define __DBL_MIN_EXP__ (-1021)
2349// PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber3435ede2012-01-31 02:07:33 +00002350// PPC64:#define __DECIMAL_DIG__ 33
Chris Lattnere963d092009-10-29 04:55:36 +00002351// PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2352// PPC64:#define __FLT_DIG__ 6
2353// PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
2354// PPC64:#define __FLT_EVAL_METHOD__ 0
2355// PPC64:#define __FLT_HAS_DENORM__ 1
2356// PPC64:#define __FLT_HAS_INFINITY__ 1
2357// PPC64:#define __FLT_HAS_QUIET_NAN__ 1
2358// PPC64:#define __FLT_MANT_DIG__ 24
2359// PPC64:#define __FLT_MAX_10_EXP__ 38
2360// PPC64:#define __FLT_MAX_EXP__ 128
2361// PPC64:#define __FLT_MAX__ 3.40282347e+38F
2362// PPC64:#define __FLT_MIN_10_EXP__ (-37)
2363// PPC64:#define __FLT_MIN_EXP__ (-125)
2364// PPC64:#define __FLT_MIN__ 1.17549435e-38F
2365// PPC64:#define __FLT_RADIX__ 2
2366// PPC64:#define __INT16_TYPE__ short
2367// PPC64:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002368// PPC64:#define __INT64_C_SUFFIX__ L
Chris Lattnere963d092009-10-29 04:55:36 +00002369// PPC64:#define __INT64_TYPE__ long int
2370// PPC64:#define __INT8_TYPE__ char
2371// PPC64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck9b25f782009-11-19 13:18:59 +00002372// PPC64:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002373// PPC64:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002374// PPC64:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002375// PPC64:#define __INTPTR_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00002376// PPC64:#define __INT_MAX__ 2147483647
Nico Weber3435ede2012-01-31 02:07:33 +00002377// PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2378// PPC64:#define __LDBL_DIG__ 31
2379// PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002380// PPC64:#define __LDBL_HAS_DENORM__ 1
2381// PPC64:#define __LDBL_HAS_INFINITY__ 1
2382// PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002383// PPC64:#define __LDBL_MANT_DIG__ 106
Chris Lattnere963d092009-10-29 04:55:36 +00002384// PPC64:#define __LDBL_MAX_10_EXP__ 308
2385// PPC64:#define __LDBL_MAX_EXP__ 1024
Nico Weber3435ede2012-01-31 02:07:33 +00002386// PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2387// PPC64:#define __LDBL_MIN_10_EXP__ (-291)
2388// PPC64:#define __LDBL_MIN_EXP__ (-968)
2389// PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnere963d092009-10-29 04:55:36 +00002390// PPC64:#define __LONG_DOUBLE_128__ 1
2391// PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
2392// PPC64:#define __LONG_MAX__ 9223372036854775807L
2393// PPC64:#define __LP64__ 1
2394// PPC64:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002395// PPC64:#define __POINTER_WIDTH__ 64
2396// PPC64:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002397// PPC64:#define __PPC64__ 1
2398// PPC64:#define __PPC__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002399// PPC64:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002400// PPC64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00002401// PPC64:#define __REGISTER_PREFIX__
2402// PPC64:#define __SCHAR_MAX__ 127
2403// PPC64:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002404// PPC64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002405// PPC64:#define __SIZEOF_DOUBLE__ 8
2406// PPC64:#define __SIZEOF_FLOAT__ 4
2407// PPC64:#define __SIZEOF_INT__ 4
Nico Weber3435ede2012-01-31 02:07:33 +00002408// PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohman04f87202010-05-28 00:27:15 +00002409// PPC64:#define __SIZEOF_LONG_LONG__ 8
2410// PPC64:#define __SIZEOF_LONG__ 8
2411// PPC64:#define __SIZEOF_POINTER__ 8
2412// PPC64:#define __SIZEOF_PTRDIFF_T__ 8
2413// PPC64:#define __SIZEOF_SHORT__ 2
2414// PPC64:#define __SIZEOF_SIZE_T__ 8
2415// PPC64:#define __SIZEOF_WCHAR_T__ 4
2416// PPC64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002417// PPC64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnere963d092009-10-29 04:55:36 +00002418// PPC64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002419// PPC64:#define __SIZE_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002420// PPC64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002421// PPC64:#define __USER_LABEL_PREFIX__ _
2422// PPC64:#define __WCHAR_MAX__ 2147483647
2423// PPC64:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002424// PPC64:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002425// PPC64:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002426// PPC64:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002427// PPC64:#define __ppc64__ 1
2428// PPC64:#define __ppc__ 1
2429//
Bill Schmidt778d3872013-07-26 01:36:11 +00002430// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64LE %s
2431//
2432// PPC64LE:#define _ARCH_PPC 1
2433// PPC64LE:#define _ARCH_PPC64 1
2434// PPC64LE:#define _ARCH_PPCGR 1
2435// PPC64LE:#define _ARCH_PPCSQ 1
2436// PPC64LE:#define _ARCH_PWR4 1
2437// PPC64LE:#define _ARCH_PWR5 1
2438// PPC64LE:#define _ARCH_PWR5X 1
2439// PPC64LE:#define _ARCH_PWR6 1
2440// PPC64LE:#define _ARCH_PWR6X 1
2441// PPC64LE:#define _ARCH_PWR7 1
Will Schmidt5fa50f3c2014-03-24 21:09:16 +00002442// PPC64LE:#define _CALL_ELF 2
Bill Schmidt778d3872013-07-26 01:36:11 +00002443// PPC64LE:#define _LITTLE_ENDIAN 1
2444// PPC64LE:#define _LP64 1
2445// PPC64LE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
2446// PPC64LE:#define __CHAR16_TYPE__ unsigned short
2447// PPC64LE:#define __CHAR32_TYPE__ unsigned int
2448// PPC64LE:#define __CHAR_BIT__ 8
2449// PPC64LE:#define __CHAR_UNSIGNED__ 1
2450// PPC64LE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2451// PPC64LE:#define __DBL_DIG__ 15
2452// PPC64LE:#define __DBL_EPSILON__ 2.2204460492503131e-16
2453// PPC64LE:#define __DBL_HAS_DENORM__ 1
2454// PPC64LE:#define __DBL_HAS_INFINITY__ 1
2455// PPC64LE:#define __DBL_HAS_QUIET_NAN__ 1
2456// PPC64LE:#define __DBL_MANT_DIG__ 53
2457// PPC64LE:#define __DBL_MAX_10_EXP__ 308
2458// PPC64LE:#define __DBL_MAX_EXP__ 1024
2459// PPC64LE:#define __DBL_MAX__ 1.7976931348623157e+308
2460// PPC64LE:#define __DBL_MIN_10_EXP__ (-307)
2461// PPC64LE:#define __DBL_MIN_EXP__ (-1021)
2462// PPC64LE:#define __DBL_MIN__ 2.2250738585072014e-308
2463// PPC64LE:#define __DECIMAL_DIG__ 33
2464// PPC64LE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2465// PPC64LE:#define __FLT_DIG__ 6
2466// PPC64LE:#define __FLT_EPSILON__ 1.19209290e-7F
2467// PPC64LE:#define __FLT_EVAL_METHOD__ 0
2468// PPC64LE:#define __FLT_HAS_DENORM__ 1
2469// PPC64LE:#define __FLT_HAS_INFINITY__ 1
2470// PPC64LE:#define __FLT_HAS_QUIET_NAN__ 1
2471// PPC64LE:#define __FLT_MANT_DIG__ 24
2472// PPC64LE:#define __FLT_MAX_10_EXP__ 38
2473// PPC64LE:#define __FLT_MAX_EXP__ 128
2474// PPC64LE:#define __FLT_MAX__ 3.40282347e+38F
2475// PPC64LE:#define __FLT_MIN_10_EXP__ (-37)
2476// PPC64LE:#define __FLT_MIN_EXP__ (-125)
2477// PPC64LE:#define __FLT_MIN__ 1.17549435e-38F
2478// PPC64LE:#define __FLT_RADIX__ 2
2479// PPC64LE:#define __INT16_TYPE__ short
2480// PPC64LE:#define __INT32_TYPE__ int
2481// PPC64LE:#define __INT64_C_SUFFIX__ L
2482// PPC64LE:#define __INT64_TYPE__ long int
2483// PPC64LE:#define __INT8_TYPE__ char
2484// PPC64LE:#define __INTMAX_MAX__ 9223372036854775807L
2485// PPC64LE:#define __INTMAX_TYPE__ long int
2486// PPC64LE:#define __INTMAX_WIDTH__ 64
2487// PPC64LE:#define __INTPTR_TYPE__ long int
2488// PPC64LE:#define __INTPTR_WIDTH__ 64
2489// PPC64LE:#define __INT_MAX__ 2147483647
2490// PPC64LE:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2491// PPC64LE:#define __LDBL_DIG__ 31
2492// PPC64LE:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2493// PPC64LE:#define __LDBL_HAS_DENORM__ 1
2494// PPC64LE:#define __LDBL_HAS_INFINITY__ 1
2495// PPC64LE:#define __LDBL_HAS_QUIET_NAN__ 1
2496// PPC64LE:#define __LDBL_MANT_DIG__ 106
2497// PPC64LE:#define __LDBL_MAX_10_EXP__ 308
2498// PPC64LE:#define __LDBL_MAX_EXP__ 1024
2499// PPC64LE:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2500// PPC64LE:#define __LDBL_MIN_10_EXP__ (-291)
2501// PPC64LE:#define __LDBL_MIN_EXP__ (-968)
2502// PPC64LE:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2503// PPC64LE:#define __LITTLE_ENDIAN__ 1
2504// PPC64LE:#define __LONG_DOUBLE_128__ 1
2505// PPC64LE:#define __LONG_LONG_MAX__ 9223372036854775807LL
2506// PPC64LE:#define __LONG_MAX__ 9223372036854775807L
2507// PPC64LE:#define __LP64__ 1
2508// PPC64LE:#define __NATURAL_ALIGNMENT__ 1
2509// PPC64LE:#define __POINTER_WIDTH__ 64
2510// PPC64LE:#define __POWERPC__ 1
2511// PPC64LE:#define __PPC64__ 1
2512// PPC64LE:#define __PPC__ 1
2513// PPC64LE:#define __PTRDIFF_TYPE__ long int
2514// PPC64LE:#define __PTRDIFF_WIDTH__ 64
2515// PPC64LE:#define __REGISTER_PREFIX__
2516// PPC64LE:#define __SCHAR_MAX__ 127
2517// PPC64LE:#define __SHRT_MAX__ 32767
2518// PPC64LE:#define __SIG_ATOMIC_WIDTH__ 32
2519// PPC64LE:#define __SIZEOF_DOUBLE__ 8
2520// PPC64LE:#define __SIZEOF_FLOAT__ 4
2521// PPC64LE:#define __SIZEOF_INT__ 4
2522// PPC64LE:#define __SIZEOF_LONG_DOUBLE__ 16
2523// PPC64LE:#define __SIZEOF_LONG_LONG__ 8
2524// PPC64LE:#define __SIZEOF_LONG__ 8
2525// PPC64LE:#define __SIZEOF_POINTER__ 8
2526// PPC64LE:#define __SIZEOF_PTRDIFF_T__ 8
2527// PPC64LE:#define __SIZEOF_SHORT__ 2
2528// PPC64LE:#define __SIZEOF_SIZE_T__ 8
2529// PPC64LE:#define __SIZEOF_WCHAR_T__ 4
2530// PPC64LE:#define __SIZEOF_WINT_T__ 4
2531// PPC64LE:#define __SIZE_MAX__ 18446744073709551615UL
2532// PPC64LE:#define __SIZE_TYPE__ long unsigned int
2533// PPC64LE:#define __SIZE_WIDTH__ 64
2534// PPC64LE:#define __UINTMAX_TYPE__ long unsigned int
2535// PPC64LE:#define __USER_LABEL_PREFIX__ _
2536// PPC64LE:#define __WCHAR_MAX__ 2147483647
2537// PPC64LE:#define __WCHAR_TYPE__ int
2538// PPC64LE:#define __WCHAR_WIDTH__ 32
2539// PPC64LE:#define __WINT_TYPE__ int
2540// PPC64LE:#define __WINT_WIDTH__ 32
2541// PPC64LE:#define __ppc64__ 1
2542// PPC64LE:#define __ppc__ 1
2543//
Hal Finkeldf1e4bf2013-02-01 05:53:33 +00002544// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu a2q -fno-signed-char < /dev/null | FileCheck -check-prefix PPCA2Q %s
2545//
2546// PPCA2Q:#define _ARCH_A2 1
2547// PPCA2Q:#define _ARCH_A2Q 1
2548// PPCA2Q:#define _ARCH_PPC 1
2549// PPCA2Q:#define _ARCH_PPC64 1
2550// PPCA2Q:#define _ARCH_QP 1
2551//
2552// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-bgq-linux -fno-signed-char < /dev/null | FileCheck -check-prefix PPCBGQ %s
2553//
2554// PPCBGQ:#define __THW_BLUEGENE__ 1
2555// PPCBGQ:#define __TOS_BGQ__ 1
2556// PPCBGQ:#define __bg__ 1
2557// PPCBGQ:#define __bgq__ 1
2558//
Bill Schmidt38378a02013-02-01 20:23:10 +00002559// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu 630 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC630 %s
2560//
2561// PPC630:#define _ARCH_630 1
2562// PPC630:#define _ARCH_PPC 1
2563// PPC630:#define _ARCH_PPC64 1
2564// PPC630:#define _ARCH_PPCGR 1
2565//
2566// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR3 %s
2567//
2568// PPCPWR3:#define _ARCH_PPC 1
2569// PPCPWR3:#define _ARCH_PPC64 1
2570// PPCPWR3:#define _ARCH_PPCGR 1
2571//
2572// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER3 %s
2573//
2574// PPCPOWER3:#define _ARCH_PPC 1
2575// PPCPOWER3:#define _ARCH_PPC64 1
2576// PPCPOWER3:#define _ARCH_PPCGR 1
2577//
2578// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR4 %s
2579//
2580// PPCPWR4:#define _ARCH_PPC 1
2581// PPCPWR4:#define _ARCH_PPC64 1
2582// PPCPWR4:#define _ARCH_PPCGR 1
2583// PPCPWR4:#define _ARCH_PPCSQ 1
2584// PPCPWR4:#define _ARCH_PWR4 1
2585//
2586// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER4 %s
2587//
2588// PPCPOWER4:#define _ARCH_PPC 1
2589// PPCPOWER4:#define _ARCH_PPC64 1
2590// PPCPOWER4:#define _ARCH_PPCGR 1
2591// PPCPOWER4:#define _ARCH_PPCSQ 1
2592// PPCPOWER4:#define _ARCH_PWR4 1
2593//
2594// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5 %s
2595//
2596// PPCPWR5:#define _ARCH_PPC 1
2597// PPCPWR5:#define _ARCH_PPC64 1
2598// PPCPWR5:#define _ARCH_PPCGR 1
2599// PPCPWR5:#define _ARCH_PPCSQ 1
2600// PPCPWR5:#define _ARCH_PWR4 1
2601// PPCPWR5:#define _ARCH_PWR5 1
2602//
2603// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5 %s
2604//
2605// PPCPOWER5:#define _ARCH_PPC 1
2606// PPCPOWER5:#define _ARCH_PPC64 1
2607// PPCPOWER5:#define _ARCH_PPCGR 1
2608// PPCPOWER5:#define _ARCH_PPCSQ 1
2609// PPCPOWER5:#define _ARCH_PWR4 1
2610// PPCPOWER5:#define _ARCH_PWR5 1
2611//
2612// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5X %s
2613//
2614// PPCPWR5X:#define _ARCH_PPC 1
2615// PPCPWR5X:#define _ARCH_PPC64 1
2616// PPCPWR5X:#define _ARCH_PPCGR 1
2617// PPCPWR5X:#define _ARCH_PPCSQ 1
2618// PPCPWR5X:#define _ARCH_PWR4 1
2619// PPCPWR5X:#define _ARCH_PWR5 1
2620// PPCPWR5X:#define _ARCH_PWR5X 1
2621//
2622// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5X %s
2623//
2624// PPCPOWER5X:#define _ARCH_PPC 1
2625// PPCPOWER5X:#define _ARCH_PPC64 1
2626// PPCPOWER5X:#define _ARCH_PPCGR 1
2627// PPCPOWER5X:#define _ARCH_PPCSQ 1
2628// PPCPOWER5X:#define _ARCH_PWR4 1
2629// PPCPOWER5X:#define _ARCH_PWR5 1
2630// PPCPOWER5X:#define _ARCH_PWR5X 1
2631//
2632// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6 %s
2633//
2634// PPCPWR6:#define _ARCH_PPC 1
2635// PPCPWR6:#define _ARCH_PPC64 1
2636// PPCPWR6:#define _ARCH_PPCGR 1
2637// PPCPWR6:#define _ARCH_PPCSQ 1
2638// PPCPWR6:#define _ARCH_PWR4 1
2639// PPCPWR6:#define _ARCH_PWR5 1
2640// PPCPWR6:#define _ARCH_PWR5X 1
2641// PPCPWR6:#define _ARCH_PWR6 1
2642//
2643// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6 %s
2644//
2645// PPCPOWER6:#define _ARCH_PPC 1
2646// PPCPOWER6:#define _ARCH_PPC64 1
2647// PPCPOWER6:#define _ARCH_PPCGR 1
2648// PPCPOWER6:#define _ARCH_PPCSQ 1
2649// PPCPOWER6:#define _ARCH_PWR4 1
2650// PPCPOWER6:#define _ARCH_PWR5 1
2651// PPCPOWER6:#define _ARCH_PWR5X 1
2652// PPCPOWER6:#define _ARCH_PWR6 1
2653//
2654// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6X %s
2655//
2656// PPCPWR6X:#define _ARCH_PPC 1
2657// PPCPWR6X:#define _ARCH_PPC64 1
2658// PPCPWR6X:#define _ARCH_PPCGR 1
2659// PPCPWR6X:#define _ARCH_PPCSQ 1
2660// PPCPWR6X:#define _ARCH_PWR4 1
2661// PPCPWR6X:#define _ARCH_PWR5 1
2662// PPCPWR6X:#define _ARCH_PWR5X 1
2663// PPCPWR6X:#define _ARCH_PWR6 1
2664// PPCPWR6X:#define _ARCH_PWR6X 1
2665//
2666// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6X %s
2667//
2668// PPCPOWER6X:#define _ARCH_PPC 1
2669// PPCPOWER6X:#define _ARCH_PPC64 1
2670// PPCPOWER6X:#define _ARCH_PPCGR 1
2671// PPCPOWER6X:#define _ARCH_PPCSQ 1
2672// PPCPOWER6X:#define _ARCH_PWR4 1
2673// PPCPOWER6X:#define _ARCH_PWR5 1
2674// PPCPOWER6X:#define _ARCH_PWR5X 1
2675// PPCPOWER6X:#define _ARCH_PWR6 1
2676// PPCPOWER6X:#define _ARCH_PWR6X 1
2677//
2678// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR7 %s
2679//
2680// PPCPWR7:#define _ARCH_PPC 1
2681// PPCPWR7:#define _ARCH_PPC64 1
2682// PPCPWR7:#define _ARCH_PPCGR 1
2683// PPCPWR7:#define _ARCH_PPCSQ 1
2684// PPCPWR7:#define _ARCH_PWR4 1
2685// PPCPWR7:#define _ARCH_PWR5 1
2686// PPCPWR7:#define _ARCH_PWR5X 1
2687// PPCPWR7:#define _ARCH_PWR6 1
2688// PPCPWR7:#define _ARCH_PWR6X 1
2689// PPCPWR7:#define _ARCH_PWR7 1
2690//
2691// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER7 %s
2692//
2693// PPCPOWER7:#define _ARCH_PPC 1
2694// PPCPOWER7:#define _ARCH_PPC64 1
2695// PPCPOWER7:#define _ARCH_PPCGR 1
2696// PPCPOWER7:#define _ARCH_PPCSQ 1
2697// PPCPOWER7:#define _ARCH_PWR4 1
2698// PPCPOWER7:#define _ARCH_PWR5 1
2699// PPCPOWER7:#define _ARCH_PWR5X 1
2700// PPCPOWER7:#define _ARCH_PWR6 1
2701// PPCPOWER7:#define _ARCH_PWR6X 1
2702// PPCPOWER7:#define _ARCH_PWR7 1
2703//
Nico Weber3435ede2012-01-31 02:07:33 +00002704// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
2705//
2706// PPC64-LINUX:#define _ARCH_PPC 1
2707// PPC64-LINUX:#define _ARCH_PPC64 1
2708// PPC64-LINUX:#define _BIG_ENDIAN 1
2709// PPC64-LINUX:#define _LP64 1
2710// PPC64-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002711// PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber3435ede2012-01-31 02:07:33 +00002712// PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
2713// PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
2714// PPC64-LINUX:#define __CHAR_BIT__ 8
2715// PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
2716// PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2717// PPC64-LINUX:#define __DBL_DIG__ 15
2718// PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2719// PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
2720// PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
2721// PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2722// PPC64-LINUX:#define __DBL_MANT_DIG__ 53
2723// PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
2724// PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
2725// PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2726// PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2727// PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2728// PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2729// PPC64-LINUX:#define __DECIMAL_DIG__ 33
2730// PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2731// PPC64-LINUX:#define __FLT_DIG__ 6
2732// PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2733// PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
2734// PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
2735// PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
2736// PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2737// PPC64-LINUX:#define __FLT_MANT_DIG__ 24
2738// PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
2739// PPC64-LINUX:#define __FLT_MAX_EXP__ 128
2740// PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2741// PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2742// PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
2743// PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2744// PPC64-LINUX:#define __FLT_RADIX__ 2
2745// PPC64-LINUX:#define __INT16_TYPE__ short
2746// PPC64-LINUX:#define __INT32_TYPE__ int
2747// PPC64-LINUX:#define __INT64_C_SUFFIX__ L
2748// PPC64-LINUX:#define __INT64_TYPE__ long int
2749// PPC64-LINUX:#define __INT8_TYPE__ char
2750// PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2751// PPC64-LINUX:#define __INTMAX_TYPE__ long int
2752// PPC64-LINUX:#define __INTMAX_WIDTH__ 64
2753// PPC64-LINUX:#define __INTPTR_TYPE__ long int
2754// PPC64-LINUX:#define __INTPTR_WIDTH__ 64
2755// PPC64-LINUX:#define __INT_MAX__ 2147483647
2756// PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2757// PPC64-LINUX:#define __LDBL_DIG__ 31
2758// PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2759// PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
2760// PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2761// PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2762// PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
2763// PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
2764// PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
2765// PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2766// PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2767// PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
2768// PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2769// PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
2770// PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2771// PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2772// PPC64-LINUX:#define __LP64__ 1
2773// PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002774// PPC64-LINUX:#define __POINTER_WIDTH__ 64
2775// PPC64-LINUX:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002776// PPC64-LINUX:#define __PPC64__ 1
2777// PPC64-LINUX:#define __PPC__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002778// PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
2779// PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
2780// PPC64-LINUX:#define __REGISTER_PREFIX__
2781// PPC64-LINUX:#define __SCHAR_MAX__ 127
2782// PPC64-LINUX:#define __SHRT_MAX__ 32767
2783// PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2784// PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
2785// PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
2786// PPC64-LINUX:#define __SIZEOF_INT__ 4
2787// PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2788// PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2789// PPC64-LINUX:#define __SIZEOF_LONG__ 8
2790// PPC64-LINUX:#define __SIZEOF_POINTER__ 8
2791// PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2792// PPC64-LINUX:#define __SIZEOF_SHORT__ 2
2793// PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
2794// PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2795// PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002796// PPC64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Nico Weber3435ede2012-01-31 02:07:33 +00002797// PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
2798// PPC64-LINUX:#define __SIZE_WIDTH__ 64
2799// PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2800// PPC64-LINUX:#define __USER_LABEL_PREFIX__
2801// PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
2802// PPC64-LINUX:#define __WCHAR_TYPE__ int
2803// PPC64-LINUX:#define __WCHAR_WIDTH__ 32
2804// PPC64-LINUX:#define __WINT_TYPE__ unsigned int
2805// PPC64-LINUX:#define __WINT_UNSIGNED__ 1
2806// PPC64-LINUX:#define __WINT_WIDTH__ 32
2807// PPC64-LINUX:#define __powerpc64__ 1
2808// PPC64-LINUX:#define __powerpc__ 1
2809// PPC64-LINUX:#define __ppc64__ 1
2810// PPC64-LINUX:#define __ppc__ 1
2811//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002812// 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 +00002813//
2814// PPC:#define _ARCH_PPC 1
2815// PPC:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002816// PPC-NOT:#define _LP64
Chris Lattnere963d092009-10-29 04:55:36 +00002817// PPC:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002818// PPC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002819// PPC:#define __CHAR16_TYPE__ unsigned short
2820// PPC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002821// PPC:#define __CHAR_BIT__ 8
2822// PPC:#define __CHAR_UNSIGNED__ 1
2823// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2824// PPC:#define __DBL_DIG__ 15
2825// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2826// PPC:#define __DBL_HAS_DENORM__ 1
2827// PPC:#define __DBL_HAS_INFINITY__ 1
2828// PPC:#define __DBL_HAS_QUIET_NAN__ 1
2829// PPC:#define __DBL_MANT_DIG__ 53
2830// PPC:#define __DBL_MAX_10_EXP__ 308
2831// PPC:#define __DBL_MAX_EXP__ 1024
2832// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
2833// PPC:#define __DBL_MIN_10_EXP__ (-307)
2834// PPC:#define __DBL_MIN_EXP__ (-1021)
2835// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber3435ede2012-01-31 02:07:33 +00002836// PPC:#define __DECIMAL_DIG__ 33
Chris Lattnere963d092009-10-29 04:55:36 +00002837// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2838// PPC:#define __FLT_DIG__ 6
2839// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
2840// PPC:#define __FLT_EVAL_METHOD__ 0
2841// PPC:#define __FLT_HAS_DENORM__ 1
2842// PPC:#define __FLT_HAS_INFINITY__ 1
2843// PPC:#define __FLT_HAS_QUIET_NAN__ 1
2844// PPC:#define __FLT_MANT_DIG__ 24
2845// PPC:#define __FLT_MAX_10_EXP__ 38
2846// PPC:#define __FLT_MAX_EXP__ 128
2847// PPC:#define __FLT_MAX__ 3.40282347e+38F
2848// PPC:#define __FLT_MIN_10_EXP__ (-37)
2849// PPC:#define __FLT_MIN_EXP__ (-125)
2850// PPC:#define __FLT_MIN__ 1.17549435e-38F
2851// PPC:#define __FLT_RADIX__ 2
2852// PPC:#define __INT16_TYPE__ short
2853// PPC:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002854// PPC:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00002855// PPC:#define __INT64_TYPE__ long long int
2856// PPC:#define __INT8_TYPE__ char
2857// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00002858// PPC:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002859// PPC:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002860// PPC:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002861// PPC:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002862// PPC:#define __INT_MAX__ 2147483647
Nico Weber3435ede2012-01-31 02:07:33 +00002863// PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2864// PPC:#define __LDBL_DIG__ 31
2865// PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002866// PPC:#define __LDBL_HAS_DENORM__ 1
2867// PPC:#define __LDBL_HAS_INFINITY__ 1
2868// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002869// PPC:#define __LDBL_MANT_DIG__ 106
Chris Lattnere963d092009-10-29 04:55:36 +00002870// PPC:#define __LDBL_MAX_10_EXP__ 308
2871// PPC:#define __LDBL_MAX_EXP__ 1024
Nico Weber3435ede2012-01-31 02:07:33 +00002872// PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2873// PPC:#define __LDBL_MIN_10_EXP__ (-291)
2874// PPC:#define __LDBL_MIN_EXP__ (-968)
2875// PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnere963d092009-10-29 04:55:36 +00002876// PPC:#define __LONG_DOUBLE_128__ 1
2877// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2878// PPC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002879// PPC-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00002880// PPC:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002881// PPC:#define __POINTER_WIDTH__ 32
2882// PPC:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002883// PPC:#define __PPC__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002884// PPC:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002885// PPC:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002886// PPC:#define __REGISTER_PREFIX__
2887// PPC:#define __SCHAR_MAX__ 127
2888// PPC:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002889// PPC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002890// PPC:#define __SIZEOF_DOUBLE__ 8
2891// PPC:#define __SIZEOF_FLOAT__ 4
2892// PPC:#define __SIZEOF_INT__ 4
Nico Weber3435ede2012-01-31 02:07:33 +00002893// PPC:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohman04f87202010-05-28 00:27:15 +00002894// PPC:#define __SIZEOF_LONG_LONG__ 8
2895// PPC:#define __SIZEOF_LONG__ 4
2896// PPC:#define __SIZEOF_POINTER__ 4
2897// PPC:#define __SIZEOF_PTRDIFF_T__ 4
2898// PPC:#define __SIZEOF_SHORT__ 2
2899// PPC:#define __SIZEOF_SIZE_T__ 4
2900// PPC:#define __SIZEOF_WCHAR_T__ 4
2901// PPC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002902// PPC:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00002903// PPC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002904// PPC:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002905// PPC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002906// PPC:#define __USER_LABEL_PREFIX__ _
2907// PPC:#define __WCHAR_MAX__ 2147483647
2908// PPC:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002909// PPC:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002910// PPC:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002911// PPC:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002912// PPC:#define __ppc__ 1
2913//
Nico Weber3435ede2012-01-31 02:07:33 +00002914// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
2915//
2916// PPC-LINUX:#define _ARCH_PPC 1
2917// PPC-LINUX:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002918// PPC-LINUX-NOT:#define _LP64
Nico Weber3435ede2012-01-31 02:07:33 +00002919// PPC-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002920// PPC-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber3435ede2012-01-31 02:07:33 +00002921// PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
2922// PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
2923// PPC-LINUX:#define __CHAR_BIT__ 8
2924// PPC-LINUX:#define __CHAR_UNSIGNED__ 1
2925// PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2926// PPC-LINUX:#define __DBL_DIG__ 15
2927// PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2928// PPC-LINUX:#define __DBL_HAS_DENORM__ 1
2929// PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
2930// PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2931// PPC-LINUX:#define __DBL_MANT_DIG__ 53
2932// PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
2933// PPC-LINUX:#define __DBL_MAX_EXP__ 1024
2934// PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2935// PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2936// PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
2937// PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2938// PPC-LINUX:#define __DECIMAL_DIG__ 33
2939// PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2940// PPC-LINUX:#define __FLT_DIG__ 6
2941// PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2942// PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
2943// PPC-LINUX:#define __FLT_HAS_DENORM__ 1
2944// PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
2945// PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2946// PPC-LINUX:#define __FLT_MANT_DIG__ 24
2947// PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
2948// PPC-LINUX:#define __FLT_MAX_EXP__ 128
2949// PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2950// PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2951// PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
2952// PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2953// PPC-LINUX:#define __FLT_RADIX__ 2
2954// PPC-LINUX:#define __INT16_TYPE__ short
2955// PPC-LINUX:#define __INT32_TYPE__ int
2956// PPC-LINUX:#define __INT64_C_SUFFIX__ LL
2957// PPC-LINUX:#define __INT64_TYPE__ long long int
2958// PPC-LINUX:#define __INT8_TYPE__ char
2959// PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
2960// PPC-LINUX:#define __INTMAX_TYPE__ long long int
2961// PPC-LINUX:#define __INTMAX_WIDTH__ 64
Hal Finkel26908382012-03-02 20:54:36 +00002962// PPC-LINUX:#define __INTPTR_TYPE__ int
Nico Weber3435ede2012-01-31 02:07:33 +00002963// PPC-LINUX:#define __INTPTR_WIDTH__ 32
2964// PPC-LINUX:#define __INT_MAX__ 2147483647
2965// PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2966// PPC-LINUX:#define __LDBL_DIG__ 31
2967// PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2968// PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
2969// PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
2970// PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2971// PPC-LINUX:#define __LDBL_MANT_DIG__ 106
2972// PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
2973// PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
2974// PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2975// PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2976// PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
2977// PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2978// PPC-LINUX:#define __LONG_DOUBLE_128__ 1
2979// PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2980// PPC-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002981// PPC-LINUX-NOT:#define __LP64__
Nico Weber3435ede2012-01-31 02:07:33 +00002982// PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002983// PPC-LINUX:#define __POINTER_WIDTH__ 32
2984// PPC-LINUX:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002985// PPC-LINUX:#define __PPC__ 1
Hal Finkel26908382012-03-02 20:54:36 +00002986// PPC-LINUX:#define __PTRDIFF_TYPE__ int
Nico Weber3435ede2012-01-31 02:07:33 +00002987// PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
2988// PPC-LINUX:#define __REGISTER_PREFIX__
2989// PPC-LINUX:#define __SCHAR_MAX__ 127
2990// PPC-LINUX:#define __SHRT_MAX__ 32767
2991// PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2992// PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
2993// PPC-LINUX:#define __SIZEOF_FLOAT__ 4
2994// PPC-LINUX:#define __SIZEOF_INT__ 4
2995// PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2996// PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
2997// PPC-LINUX:#define __SIZEOF_LONG__ 4
2998// PPC-LINUX:#define __SIZEOF_POINTER__ 4
2999// PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
3000// PPC-LINUX:#define __SIZEOF_SHORT__ 2
3001// PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
3002// PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
3003// PPC-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003004// PPC-LINUX:#define __SIZE_MAX__ 4294967295U
Nico Weber3435ede2012-01-31 02:07:33 +00003005// PPC-LINUX:#define __SIZE_TYPE__ unsigned int
3006// PPC-LINUX:#define __SIZE_WIDTH__ 32
3007// PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
3008// PPC-LINUX:#define __USER_LABEL_PREFIX__
3009// PPC-LINUX:#define __WCHAR_MAX__ 2147483647
3010// PPC-LINUX:#define __WCHAR_TYPE__ int
3011// PPC-LINUX:#define __WCHAR_WIDTH__ 32
3012// PPC-LINUX:#define __WINT_TYPE__ unsigned int
3013// PPC-LINUX:#define __WINT_UNSIGNED__ 1
3014// PPC-LINUX:#define __WINT_WIDTH__ 32
3015// PPC-LINUX:#define __powerpc__ 1
3016// PPC-LINUX:#define __ppc__ 1
3017//
David Fang072d47b2013-05-16 17:51:48 +00003018// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-apple-darwin8 < /dev/null | FileCheck -check-prefix PPC-DARWIN %s
3019//
3020// PPC-DARWIN:#define _ARCH_PPC 1
3021// PPC-DARWIN:#define _BIG_ENDIAN 1
3022// PPC-DARWIN:#define __BIG_ENDIAN__ 1
3023// PPC-DARWIN:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
3024// PPC-DARWIN:#define __CHAR16_TYPE__ unsigned short
3025// PPC-DARWIN:#define __CHAR32_TYPE__ unsigned int
3026// PPC-DARWIN:#define __CHAR_BIT__ 8
3027// PPC-DARWIN:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3028// PPC-DARWIN:#define __DBL_DIG__ 15
3029// PPC-DARWIN:#define __DBL_EPSILON__ 2.2204460492503131e-16
3030// PPC-DARWIN:#define __DBL_HAS_DENORM__ 1
3031// PPC-DARWIN:#define __DBL_HAS_INFINITY__ 1
3032// PPC-DARWIN:#define __DBL_HAS_QUIET_NAN__ 1
3033// PPC-DARWIN:#define __DBL_MANT_DIG__ 53
3034// PPC-DARWIN:#define __DBL_MAX_10_EXP__ 308
3035// PPC-DARWIN:#define __DBL_MAX_EXP__ 1024
3036// PPC-DARWIN:#define __DBL_MAX__ 1.7976931348623157e+308
3037// PPC-DARWIN:#define __DBL_MIN_10_EXP__ (-307)
3038// PPC-DARWIN:#define __DBL_MIN_EXP__ (-1021)
3039// PPC-DARWIN:#define __DBL_MIN__ 2.2250738585072014e-308
3040// PPC-DARWIN:#define __DECIMAL_DIG__ 33
3041// PPC-DARWIN:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3042// PPC-DARWIN:#define __FLT_DIG__ 6
3043// PPC-DARWIN:#define __FLT_EPSILON__ 1.19209290e-7F
3044// PPC-DARWIN:#define __FLT_EVAL_METHOD__ 0
3045// PPC-DARWIN:#define __FLT_HAS_DENORM__ 1
3046// PPC-DARWIN:#define __FLT_HAS_INFINITY__ 1
3047// PPC-DARWIN:#define __FLT_HAS_QUIET_NAN__ 1
3048// PPC-DARWIN:#define __FLT_MANT_DIG__ 24
3049// PPC-DARWIN:#define __FLT_MAX_10_EXP__ 38
3050// PPC-DARWIN:#define __FLT_MAX_EXP__ 128
3051// PPC-DARWIN:#define __FLT_MAX__ 3.40282347e+38F
3052// PPC-DARWIN:#define __FLT_MIN_10_EXP__ (-37)
3053// PPC-DARWIN:#define __FLT_MIN_EXP__ (-125)
3054// PPC-DARWIN:#define __FLT_MIN__ 1.17549435e-38F
3055// PPC-DARWIN:#define __FLT_RADIX__ 2
3056// PPC-DARWIN:#define __INT16_TYPE__ short
3057// PPC-DARWIN:#define __INT32_TYPE__ int
3058// PPC-DARWIN:#define __INT64_C_SUFFIX__ LL
3059// PPC-DARWIN:#define __INT64_TYPE__ long long int
3060// PPC-DARWIN:#define __INT8_TYPE__ char
3061// PPC-DARWIN:#define __INTMAX_MAX__ 9223372036854775807LL
3062// PPC-DARWIN:#define __INTMAX_TYPE__ long long int
3063// PPC-DARWIN:#define __INTMAX_WIDTH__ 64
3064// PPC-DARWIN:#define __INTPTR_TYPE__ long int
3065// PPC-DARWIN:#define __INTPTR_WIDTH__ 32
3066// PPC-DARWIN:#define __INT_MAX__ 2147483647
3067// PPC-DARWIN:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
3068// PPC-DARWIN:#define __LDBL_DIG__ 31
3069// PPC-DARWIN:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
3070// PPC-DARWIN:#define __LDBL_HAS_DENORM__ 1
3071// PPC-DARWIN:#define __LDBL_HAS_INFINITY__ 1
3072// PPC-DARWIN:#define __LDBL_HAS_QUIET_NAN__ 1
3073// PPC-DARWIN:#define __LDBL_MANT_DIG__ 106
3074// PPC-DARWIN:#define __LDBL_MAX_10_EXP__ 308
3075// PPC-DARWIN:#define __LDBL_MAX_EXP__ 1024
3076// PPC-DARWIN:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
3077// PPC-DARWIN:#define __LDBL_MIN_10_EXP__ (-291)
3078// PPC-DARWIN:#define __LDBL_MIN_EXP__ (-968)
3079// PPC-DARWIN:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
3080// PPC-DARWIN:#define __LONG_DOUBLE_128__ 1
3081// PPC-DARWIN:#define __LONG_LONG_MAX__ 9223372036854775807LL
3082// PPC-DARWIN:#define __LONG_MAX__ 2147483647L
3083// PPC-DARWIN:#define __MACH__ 1
3084// PPC-DARWIN:#define __NATURAL_ALIGNMENT__ 1
3085// PPC-DARWIN:#define __ORDER_BIG_ENDIAN__ 4321
3086// PPC-DARWIN:#define __ORDER_LITTLE_ENDIAN__ 1234
3087// PPC-DARWIN:#define __ORDER_PDP_ENDIAN__ 3412
3088// PPC-DARWIN:#define __POINTER_WIDTH__ 32
3089// PPC-DARWIN:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00003090// PPC-DARWIN:#define __PPC__ 1
David Fang072d47b2013-05-16 17:51:48 +00003091// PPC-DARWIN:#define __PTRDIFF_TYPE__ int
3092// PPC-DARWIN:#define __PTRDIFF_WIDTH__ 32
3093// PPC-DARWIN:#define __REGISTER_PREFIX__
3094// PPC-DARWIN:#define __SCHAR_MAX__ 127
3095// PPC-DARWIN:#define __SHRT_MAX__ 32767
3096// PPC-DARWIN:#define __SIG_ATOMIC_WIDTH__ 32
3097// PPC-DARWIN:#define __SIZEOF_DOUBLE__ 8
3098// PPC-DARWIN:#define __SIZEOF_FLOAT__ 4
3099// PPC-DARWIN:#define __SIZEOF_INT__ 4
3100// PPC-DARWIN:#define __SIZEOF_LONG_DOUBLE__ 16
3101// PPC-DARWIN:#define __SIZEOF_LONG_LONG__ 8
3102// PPC-DARWIN:#define __SIZEOF_LONG__ 4
3103// PPC-DARWIN:#define __SIZEOF_POINTER__ 4
3104// PPC-DARWIN:#define __SIZEOF_PTRDIFF_T__ 4
3105// PPC-DARWIN:#define __SIZEOF_SHORT__ 2
3106// PPC-DARWIN:#define __SIZEOF_SIZE_T__ 4
3107// PPC-DARWIN:#define __SIZEOF_WCHAR_T__ 4
3108// PPC-DARWIN:#define __SIZEOF_WINT_T__ 4
3109// PPC-DARWIN:#define __SIZE_MAX__ 4294967295UL
3110// PPC-DARWIN:#define __SIZE_TYPE__ long unsigned int
3111// PPC-DARWIN:#define __SIZE_WIDTH__ 32
3112// PPC-DARWIN:#define __STDC_HOSTED__ 0
3113// PPC-DARWIN:#define __STDC_VERSION__ 199901L
3114// PPC-DARWIN:#define __STDC__ 1
3115// PPC-DARWIN:#define __UINTMAX_TYPE__ long long unsigned int
3116// PPC-DARWIN:#define __USER_LABEL_PREFIX__ _
3117// PPC-DARWIN:#define __WCHAR_MAX__ 2147483647
3118// PPC-DARWIN:#define __WCHAR_TYPE__ int
3119// PPC-DARWIN:#define __WCHAR_WIDTH__ 32
3120// PPC-DARWIN:#define __WINT_TYPE__ int
3121// PPC-DARWIN:#define __WINT_WIDTH__ 32
3122// PPC-DARWIN:#define __powerpc__ 1
3123// PPC-DARWIN:#define __ppc__ 1
3124//
Ulrich Weigand47445072013-05-06 16:26:41 +00003125// RUN: %clang_cc1 -E -dM -ffreestanding -triple=s390x-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix S390X %s
3126//
3127// S390X:#define __CHAR16_TYPE__ unsigned short
3128// S390X:#define __CHAR32_TYPE__ unsigned int
3129// S390X:#define __CHAR_BIT__ 8
3130// S390X:#define __CHAR_UNSIGNED__ 1
3131// S390X:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3132// S390X:#define __DBL_DIG__ 15
3133// S390X:#define __DBL_EPSILON__ 2.2204460492503131e-16
3134// S390X:#define __DBL_HAS_DENORM__ 1
3135// S390X:#define __DBL_HAS_INFINITY__ 1
3136// S390X:#define __DBL_HAS_QUIET_NAN__ 1
3137// S390X:#define __DBL_MANT_DIG__ 53
3138// S390X:#define __DBL_MAX_10_EXP__ 308
3139// S390X:#define __DBL_MAX_EXP__ 1024
3140// S390X:#define __DBL_MAX__ 1.7976931348623157e+308
3141// S390X:#define __DBL_MIN_10_EXP__ (-307)
3142// S390X:#define __DBL_MIN_EXP__ (-1021)
3143// S390X:#define __DBL_MIN__ 2.2250738585072014e-308
3144// S390X:#define __DECIMAL_DIG__ 36
3145// S390X:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3146// S390X:#define __FLT_DIG__ 6
3147// S390X:#define __FLT_EPSILON__ 1.19209290e-7F
3148// S390X:#define __FLT_EVAL_METHOD__ 0
3149// S390X:#define __FLT_HAS_DENORM__ 1
3150// S390X:#define __FLT_HAS_INFINITY__ 1
3151// S390X:#define __FLT_HAS_QUIET_NAN__ 1
3152// S390X:#define __FLT_MANT_DIG__ 24
3153// S390X:#define __FLT_MAX_10_EXP__ 38
3154// S390X:#define __FLT_MAX_EXP__ 128
3155// S390X:#define __FLT_MAX__ 3.40282347e+38F
3156// S390X:#define __FLT_MIN_10_EXP__ (-37)
3157// S390X:#define __FLT_MIN_EXP__ (-125)
3158// S390X:#define __FLT_MIN__ 1.17549435e-38F
3159// S390X:#define __FLT_RADIX__ 2
3160// S390X:#define __INT16_TYPE__ short
3161// S390X:#define __INT32_TYPE__ int
3162// S390X:#define __INT64_C_SUFFIX__ L
3163// S390X:#define __INT64_TYPE__ long long int
3164// S390X:#define __INT8_TYPE__ char
3165// S390X:#define __INTMAX_MAX__ 9223372036854775807LL
3166// S390X:#define __INTMAX_TYPE__ long long int
3167// S390X:#define __INTMAX_WIDTH__ 64
3168// S390X:#define __INTPTR_TYPE__ long int
3169// S390X:#define __INTPTR_WIDTH__ 64
3170// S390X:#define __INT_MAX__ 2147483647
3171// S390X:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
3172// S390X:#define __LDBL_DIG__ 33
3173// S390X:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
3174// S390X:#define __LDBL_HAS_DENORM__ 1
3175// S390X:#define __LDBL_HAS_INFINITY__ 1
3176// S390X:#define __LDBL_HAS_QUIET_NAN__ 1
3177// S390X:#define __LDBL_MANT_DIG__ 113
3178// S390X:#define __LDBL_MAX_10_EXP__ 4932
3179// S390X:#define __LDBL_MAX_EXP__ 16384
3180// S390X:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
3181// S390X:#define __LDBL_MIN_10_EXP__ (-4931)
3182// S390X:#define __LDBL_MIN_EXP__ (-16381)
3183// S390X:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
3184// S390X:#define __LONG_LONG_MAX__ 9223372036854775807LL
3185// S390X:#define __LONG_MAX__ 9223372036854775807L
3186// S390X:#define __NO_INLINE__ 1
3187// S390X:#define __POINTER_WIDTH__ 64
3188// S390X:#define __PTRDIFF_TYPE__ long int
3189// S390X:#define __PTRDIFF_WIDTH__ 64
3190// S390X:#define __SCHAR_MAX__ 127
3191// S390X:#define __SHRT_MAX__ 32767
3192// S390X:#define __SIG_ATOMIC_WIDTH__ 32
3193// S390X:#define __SIZEOF_DOUBLE__ 8
3194// S390X:#define __SIZEOF_FLOAT__ 4
3195// S390X:#define __SIZEOF_INT__ 4
3196// S390X:#define __SIZEOF_LONG_DOUBLE__ 16
3197// S390X:#define __SIZEOF_LONG_LONG__ 8
3198// S390X:#define __SIZEOF_LONG__ 8
3199// S390X:#define __SIZEOF_POINTER__ 8
3200// S390X:#define __SIZEOF_PTRDIFF_T__ 8
3201// S390X:#define __SIZEOF_SHORT__ 2
3202// S390X:#define __SIZEOF_SIZE_T__ 8
3203// S390X:#define __SIZEOF_WCHAR_T__ 4
3204// S390X:#define __SIZEOF_WINT_T__ 4
3205// S390X:#define __SIZE_TYPE__ long unsigned int
3206// S390X:#define __SIZE_WIDTH__ 64
3207// S390X:#define __UINTMAX_TYPE__ long long unsigned int
3208// S390X:#define __USER_LABEL_PREFIX__ _
3209// S390X:#define __WCHAR_MAX__ 2147483647
3210// S390X:#define __WCHAR_TYPE__ int
3211// S390X:#define __WCHAR_WIDTH__ 32
3212// S390X:#define __WINT_TYPE__ int
3213// S390X:#define __WINT_WIDTH__ 32
3214// S390X:#define __s390__ 1
3215// S390X:#define __s390x__ 1
3216//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00003217// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
Chris Lattnere963d092009-10-29 04:55:36 +00003218//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003219// SPARC-NOT:#define _LP64
Robert Lytton2c942c62014-03-10 12:06:29 +00003220// SPARC:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003221// SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00003222// SPARC:#define __CHAR16_TYPE__ unsigned short
3223// SPARC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003224// SPARC:#define __CHAR_BIT__ 8
3225// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3226// SPARC:#define __DBL_DIG__ 15
3227// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
3228// SPARC:#define __DBL_HAS_DENORM__ 1
3229// SPARC:#define __DBL_HAS_INFINITY__ 1
3230// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
3231// SPARC:#define __DBL_MANT_DIG__ 53
3232// SPARC:#define __DBL_MAX_10_EXP__ 308
3233// SPARC:#define __DBL_MAX_EXP__ 1024
3234// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
3235// SPARC:#define __DBL_MIN_10_EXP__ (-307)
3236// SPARC:#define __DBL_MIN_EXP__ (-1021)
3237// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
3238// SPARC:#define __DECIMAL_DIG__ 17
3239// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3240// SPARC:#define __FLT_DIG__ 6
3241// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
3242// SPARC:#define __FLT_EVAL_METHOD__ 0
3243// SPARC:#define __FLT_HAS_DENORM__ 1
3244// SPARC:#define __FLT_HAS_INFINITY__ 1
3245// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
3246// SPARC:#define __FLT_MANT_DIG__ 24
3247// SPARC:#define __FLT_MAX_10_EXP__ 38
3248// SPARC:#define __FLT_MAX_EXP__ 128
3249// SPARC:#define __FLT_MAX__ 3.40282347e+38F
3250// SPARC:#define __FLT_MIN_10_EXP__ (-37)
3251// SPARC:#define __FLT_MIN_EXP__ (-125)
3252// SPARC:#define __FLT_MIN__ 1.17549435e-38F
3253// SPARC:#define __FLT_RADIX__ 2
3254// SPARC:#define __INT16_TYPE__ short
3255// SPARC:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00003256// SPARC:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00003257// SPARC:#define __INT64_TYPE__ long long int
3258// SPARC:#define __INT8_TYPE__ char
3259// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00003260// SPARC:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00003261// SPARC:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00003262// SPARC:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00003263// SPARC:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003264// SPARC:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003265// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00003266// SPARC:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003267// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +00003268// SPARC:#define __LDBL_HAS_DENORM__ 1
3269// SPARC:#define __LDBL_HAS_INFINITY__ 1
3270// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
3271// SPARC:#define __LDBL_MANT_DIG__ 53
3272// SPARC:#define __LDBL_MAX_10_EXP__ 308
3273// SPARC:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003274// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +00003275// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
3276// SPARC:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003277// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnere963d092009-10-29 04:55:36 +00003278// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
3279// SPARC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003280// SPARC-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00003281// SPARC:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003282// SPARC:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00003283// SPARC:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbaracde99e2009-12-18 18:42:37 +00003284// SPARC:#define __REGISTER_PREFIX__
Chris Lattnere963d092009-10-29 04:55:36 +00003285// SPARC:#define __SCHAR_MAX__ 127
3286// SPARC:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00003287// SPARC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00003288// SPARC:#define __SIZEOF_DOUBLE__ 8
3289// SPARC:#define __SIZEOF_FLOAT__ 4
3290// SPARC:#define __SIZEOF_INT__ 4
3291// SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
3292// SPARC:#define __SIZEOF_LONG_LONG__ 8
3293// SPARC:#define __SIZEOF_LONG__ 4
3294// SPARC:#define __SIZEOF_POINTER__ 4
3295// SPARC:#define __SIZEOF_PTRDIFF_T__ 4
3296// SPARC:#define __SIZEOF_SHORT__ 2
3297// SPARC:#define __SIZEOF_SIZE_T__ 4
3298// SPARC:#define __SIZEOF_WCHAR_T__ 4
3299// SPARC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003300// SPARC:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00003301// SPARC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00003302// SPARC:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003303// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003304// SPARC:#define __USER_LABEL_PREFIX__ _
Daniel Dunbar3b17a862011-03-31 00:53:51 +00003305// SPARC:#define __VERSION__ "4.2.1 Compatible
Chris Lattnere963d092009-10-29 04:55:36 +00003306// SPARC:#define __WCHAR_MAX__ 2147483647
3307// SPARC:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00003308// SPARC:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003309// SPARC:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00003310// SPARC:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003311// SPARC:#define __sparc 1
3312// SPARC:#define __sparc__ 1
3313// SPARC:#define __sparcv8 1
3314// SPARC:#define sparc 1
3315//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00003316// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
Chris Lattnere963d092009-10-29 04:55:36 +00003317//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003318// TCE-NOT:#define _LP64
Robert Lytton2c942c62014-03-10 12:06:29 +00003319// TCE:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003320// TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00003321// TCE:#define __CHAR16_TYPE__ unsigned short
3322// TCE:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003323// TCE:#define __CHAR_BIT__ 8
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003324// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45
Chris Lattnere963d092009-10-29 04:55:36 +00003325// TCE:#define __DBL_DIG__ 6
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003326// TCE:#define __DBL_EPSILON__ 1.19209290e-7
Chris Lattnere963d092009-10-29 04:55:36 +00003327// TCE:#define __DBL_HAS_DENORM__ 1
3328// TCE:#define __DBL_HAS_INFINITY__ 1
3329// TCE:#define __DBL_HAS_QUIET_NAN__ 1
3330// TCE:#define __DBL_MANT_DIG__ 24
3331// TCE:#define __DBL_MAX_10_EXP__ 38
3332// TCE:#define __DBL_MAX_EXP__ 128
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003333// TCE:#define __DBL_MAX__ 3.40282347e+38
Chris Lattnere963d092009-10-29 04:55:36 +00003334// TCE:#define __DBL_MIN_10_EXP__ (-37)
3335// TCE:#define __DBL_MIN_EXP__ (-125)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003336// TCE:#define __DBL_MIN__ 1.17549435e-38
Chris Lattnere963d092009-10-29 04:55:36 +00003337// TCE:#define __DECIMAL_DIG__ -1
3338// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3339// TCE:#define __FLT_DIG__ 6
3340// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
3341// TCE:#define __FLT_EVAL_METHOD__ 0
3342// TCE:#define __FLT_HAS_DENORM__ 1
3343// TCE:#define __FLT_HAS_INFINITY__ 1
3344// TCE:#define __FLT_HAS_QUIET_NAN__ 1
3345// TCE:#define __FLT_MANT_DIG__ 24
3346// TCE:#define __FLT_MAX_10_EXP__ 38
3347// TCE:#define __FLT_MAX_EXP__ 128
3348// TCE:#define __FLT_MAX__ 3.40282347e+38F
3349// TCE:#define __FLT_MIN_10_EXP__ (-37)
3350// TCE:#define __FLT_MIN_EXP__ (-125)
3351// TCE:#define __FLT_MIN__ 1.17549435e-38F
3352// TCE:#define __FLT_RADIX__ 2
3353// TCE:#define __INT16_TYPE__ short
3354// TCE:#define __INT32_TYPE__ int
3355// TCE:#define __INT8_TYPE__ char
3356// TCE:#define __INTMAX_MAX__ 2147483647L
Ken Dyck9b25f782009-11-19 13:18:59 +00003357// TCE:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00003358// TCE:#define __INTMAX_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003359// TCE:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00003360// TCE:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003361// TCE:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003362// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45L
Chris Lattnere963d092009-10-29 04:55:36 +00003363// TCE:#define __LDBL_DIG__ 6
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003364// TCE:#define __LDBL_EPSILON__ 1.19209290e-7L
Chris Lattnere963d092009-10-29 04:55:36 +00003365// TCE:#define __LDBL_HAS_DENORM__ 1
3366// TCE:#define __LDBL_HAS_INFINITY__ 1
3367// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
3368// TCE:#define __LDBL_MANT_DIG__ 24
3369// TCE:#define __LDBL_MAX_10_EXP__ 38
3370// TCE:#define __LDBL_MAX_EXP__ 128
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003371// TCE:#define __LDBL_MAX__ 3.40282347e+38L
Chris Lattnere963d092009-10-29 04:55:36 +00003372// TCE:#define __LDBL_MIN_10_EXP__ (-37)
3373// TCE:#define __LDBL_MIN_EXP__ (-125)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003374// TCE:#define __LDBL_MIN__ 1.17549435e-38L
Chris Lattnere963d092009-10-29 04:55:36 +00003375// TCE:#define __LONG_LONG_MAX__ 2147483647LL
3376// TCE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003377// TCE-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00003378// TCE:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003379// TCE:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00003380// TCE:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003381// TCE:#define __SCHAR_MAX__ 127
3382// TCE:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00003383// TCE:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00003384// TCE:#define __SIZEOF_DOUBLE__ 4
3385// TCE:#define __SIZEOF_FLOAT__ 4
3386// TCE:#define __SIZEOF_INT__ 4
3387// TCE:#define __SIZEOF_LONG_DOUBLE__ 4
3388// TCE:#define __SIZEOF_LONG_LONG__ 4
3389// TCE:#define __SIZEOF_LONG__ 4
3390// TCE:#define __SIZEOF_POINTER__ 4
3391// TCE:#define __SIZEOF_PTRDIFF_T__ 4
3392// TCE:#define __SIZEOF_SHORT__ 2
3393// TCE:#define __SIZEOF_SIZE_T__ 4
3394// TCE:#define __SIZEOF_WCHAR_T__ 4
3395// TCE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003396// TCE:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00003397// TCE:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00003398// TCE:#define __SIZE_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003399// TCE:#define __TCE_V1__ 1
3400// TCE:#define __TCE__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00003401// TCE:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003402// TCE:#define __USER_LABEL_PREFIX__ _
3403// TCE:#define __WCHAR_MAX__ 2147483647
3404// TCE:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00003405// TCE:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003406// TCE:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00003407// TCE:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003408// TCE:#define __tce 1
3409// TCE:#define __tce__ 1
3410// TCE:#define tce 1
3411//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00003412// 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 +00003413//
3414// X86_64:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003415// X86_64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00003416// X86_64:#define __CHAR16_TYPE__ unsigned short
3417// X86_64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003418// X86_64:#define __CHAR_BIT__ 8
3419// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3420// X86_64:#define __DBL_DIG__ 15
3421// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
3422// X86_64:#define __DBL_HAS_DENORM__ 1
3423// X86_64:#define __DBL_HAS_INFINITY__ 1
3424// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
3425// X86_64:#define __DBL_MANT_DIG__ 53
3426// X86_64:#define __DBL_MAX_10_EXP__ 308
3427// X86_64:#define __DBL_MAX_EXP__ 1024
3428// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
3429// X86_64:#define __DBL_MIN_10_EXP__ (-307)
3430// X86_64:#define __DBL_MIN_EXP__ (-1021)
3431// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
3432// X86_64:#define __DECIMAL_DIG__ 21
3433// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3434// X86_64:#define __FLT_DIG__ 6
3435// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
3436// X86_64:#define __FLT_EVAL_METHOD__ 0
3437// X86_64:#define __FLT_HAS_DENORM__ 1
3438// X86_64:#define __FLT_HAS_INFINITY__ 1
3439// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
3440// X86_64:#define __FLT_MANT_DIG__ 24
3441// X86_64:#define __FLT_MAX_10_EXP__ 38
3442// X86_64:#define __FLT_MAX_EXP__ 128
3443// X86_64:#define __FLT_MAX__ 3.40282347e+38F
3444// X86_64:#define __FLT_MIN_10_EXP__ (-37)
3445// X86_64:#define __FLT_MIN_EXP__ (-125)
3446// X86_64:#define __FLT_MIN__ 1.17549435e-38F
3447// X86_64:#define __FLT_RADIX__ 2
3448// X86_64:#define __INT16_TYPE__ short
3449// X86_64:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00003450// X86_64:#define __INT64_C_SUFFIX__ L
Chris Lattnere963d092009-10-29 04:55:36 +00003451// X86_64:#define __INT64_TYPE__ long int
3452// X86_64:#define __INT8_TYPE__ char
3453// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck9b25f782009-11-19 13:18:59 +00003454// X86_64:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00003455// X86_64:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00003456// X86_64:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00003457// X86_64:#define __INTPTR_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003458// X86_64:#define __INT_MAX__ 2147483647
3459// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3460// X86_64:#define __LDBL_DIG__ 18
3461// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3462// X86_64:#define __LDBL_HAS_DENORM__ 1
3463// X86_64:#define __LDBL_HAS_INFINITY__ 1
3464// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
3465// X86_64:#define __LDBL_MANT_DIG__ 64
3466// X86_64:#define __LDBL_MAX_10_EXP__ 4932
3467// X86_64:#define __LDBL_MAX_EXP__ 16384
3468// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3469// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
3470// X86_64:#define __LDBL_MIN_EXP__ (-16381)
3471// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3472// X86_64:#define __LITTLE_ENDIAN__ 1
3473// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
3474// X86_64:#define __LONG_MAX__ 9223372036854775807L
3475// X86_64:#define __LP64__ 1
3476// X86_64:#define __MMX__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00003477// X86_64:#define __NO_MATH_INLINES 1
3478// X86_64:#define __POINTER_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00003479// X86_64:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00003480// X86_64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003481// X86_64:#define __REGISTER_PREFIX__
3482// X86_64:#define __SCHAR_MAX__ 127
3483// X86_64:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00003484// X86_64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00003485// X86_64:#define __SIZEOF_DOUBLE__ 8
3486// X86_64:#define __SIZEOF_FLOAT__ 4
3487// X86_64:#define __SIZEOF_INT__ 4
3488// X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
3489// X86_64:#define __SIZEOF_LONG_LONG__ 8
3490// X86_64:#define __SIZEOF_LONG__ 8
3491// X86_64:#define __SIZEOF_POINTER__ 8
3492// X86_64:#define __SIZEOF_PTRDIFF_T__ 8
3493// X86_64:#define __SIZEOF_SHORT__ 2
3494// X86_64:#define __SIZEOF_SIZE_T__ 8
3495// X86_64:#define __SIZEOF_WCHAR_T__ 4
3496// X86_64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003497// X86_64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnere963d092009-10-29 04:55:36 +00003498// X86_64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00003499// X86_64:#define __SIZE_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003500// X86_64:#define __SSE2_MATH__ 1
3501// X86_64:#define __SSE2__ 1
3502// X86_64:#define __SSE_MATH__ 1
3503// X86_64:#define __SSE__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00003504// X86_64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003505// X86_64:#define __USER_LABEL_PREFIX__ _
3506// X86_64:#define __WCHAR_MAX__ 2147483647
3507// X86_64:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00003508// X86_64:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003509// X86_64:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00003510// X86_64:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003511// X86_64:#define __amd64 1
3512// X86_64:#define __amd64__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00003513// X86_64:#define __x86_64 1
3514// X86_64:#define __x86_64__ 1
3515//
Douglas Gregore6d6e512011-01-12 21:19:25 +00003516// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
3517//
3518// X86_64-LINUX:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003519// X86_64-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregore6d6e512011-01-12 21:19:25 +00003520// X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
3521// X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
3522// X86_64-LINUX:#define __CHAR_BIT__ 8
3523// X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3524// X86_64-LINUX:#define __DBL_DIG__ 15
3525// X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
3526// X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
3527// X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
3528// X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
3529// X86_64-LINUX:#define __DBL_MANT_DIG__ 53
3530// X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
3531// X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
3532// X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
3533// X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
3534// X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
3535// X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
3536// X86_64-LINUX:#define __DECIMAL_DIG__ 21
3537// X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3538// X86_64-LINUX:#define __FLT_DIG__ 6
3539// X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
3540// X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
3541// X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
3542// X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
3543// X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
3544// X86_64-LINUX:#define __FLT_MANT_DIG__ 24
3545// X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
3546// X86_64-LINUX:#define __FLT_MAX_EXP__ 128
3547// X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
3548// X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
3549// X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
3550// X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
3551// X86_64-LINUX:#define __FLT_RADIX__ 2
3552// X86_64-LINUX:#define __INT16_TYPE__ short
3553// X86_64-LINUX:#define __INT32_TYPE__ int
3554// X86_64-LINUX:#define __INT64_C_SUFFIX__ L
3555// X86_64-LINUX:#define __INT64_TYPE__ long int
3556// X86_64-LINUX:#define __INT8_TYPE__ char
3557// X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
3558// X86_64-LINUX:#define __INTMAX_TYPE__ long int
3559// X86_64-LINUX:#define __INTMAX_WIDTH__ 64
3560// X86_64-LINUX:#define __INTPTR_TYPE__ long int
3561// X86_64-LINUX:#define __INTPTR_WIDTH__ 64
3562// X86_64-LINUX:#define __INT_MAX__ 2147483647
3563// X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3564// X86_64-LINUX:#define __LDBL_DIG__ 18
3565// X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3566// X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
3567// X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
3568// X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
3569// X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
3570// X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
3571// X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
3572// X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3573// X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
3574// X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
3575// X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3576// X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
3577// X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
3578// X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
3579// X86_64-LINUX:#define __LP64__ 1
3580// X86_64-LINUX:#define __MMX__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00003581// X86_64-LINUX:#define __NO_MATH_INLINES 1
3582// X86_64-LINUX:#define __POINTER_WIDTH__ 64
3583// X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
3584// X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
3585// X86_64-LINUX:#define __REGISTER_PREFIX__
3586// X86_64-LINUX:#define __SCHAR_MAX__ 127
3587// X86_64-LINUX:#define __SHRT_MAX__ 32767
3588// X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
3589// X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
3590// X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
3591// X86_64-LINUX:#define __SIZEOF_INT__ 4
3592// X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
3593// X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
3594// X86_64-LINUX:#define __SIZEOF_LONG__ 8
3595// X86_64-LINUX:#define __SIZEOF_POINTER__ 8
3596// X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
3597// X86_64-LINUX:#define __SIZEOF_SHORT__ 2
3598// X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
3599// X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
3600// X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003601// X86_64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Douglas Gregore6d6e512011-01-12 21:19:25 +00003602// X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
3603// X86_64-LINUX:#define __SIZE_WIDTH__ 64
3604// X86_64-LINUX:#define __SSE2_MATH__ 1
3605// X86_64-LINUX:#define __SSE2__ 1
3606// X86_64-LINUX:#define __SSE_MATH__ 1
3607// X86_64-LINUX:#define __SSE__ 1
3608// X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
3609// X86_64-LINUX:#define __USER_LABEL_PREFIX__
3610// X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
3611// X86_64-LINUX:#define __WCHAR_TYPE__ int
3612// X86_64-LINUX:#define __WCHAR_WIDTH__ 32
3613// X86_64-LINUX:#define __WINT_TYPE__ unsigned int
3614// X86_64-LINUX:#define __WINT_WIDTH__ 32
3615// X86_64-LINUX:#define __amd64 1
3616// X86_64-LINUX:#define __amd64__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00003617// X86_64-LINUX:#define __x86_64 1
3618// X86_64-LINUX:#define __x86_64__ 1
3619//
Ed Schoutend0621462013-09-29 07:54:52 +00003620// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-unknown-freebsd9.1 < /dev/null | FileCheck -check-prefix X86_64-FREEBSD %s
3621//
3622// X86_64-FREEBSD:#define __FreeBSD__ 9
3623// X86_64-FREEBSD:#define __FreeBSD_cc_version 900001
3624// X86_64-FREEBSD:#define __STDC_MB_MIGHT_NEQ_WC__ 1
3625//
Joerg Sonnenberger0e921f22013-11-11 14:00:37 +00003626// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-netbsd < /dev/null | FileCheck -check-prefix X86_64-NETBSD %s
3627//
3628// X86_64-NETBSD:#define _LP64 1
3629// X86_64-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
3630// X86_64-NETBSD:#define __CHAR16_TYPE__ unsigned short
3631// X86_64-NETBSD:#define __CHAR32_TYPE__ unsigned int
3632// X86_64-NETBSD:#define __CHAR_BIT__ 8
3633// X86_64-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3634// X86_64-NETBSD:#define __DBL_DIG__ 15
3635// X86_64-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
3636// X86_64-NETBSD:#define __DBL_HAS_DENORM__ 1
3637// X86_64-NETBSD:#define __DBL_HAS_INFINITY__ 1
3638// X86_64-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
3639// X86_64-NETBSD:#define __DBL_MANT_DIG__ 53
3640// X86_64-NETBSD:#define __DBL_MAX_10_EXP__ 308
3641// X86_64-NETBSD:#define __DBL_MAX_EXP__ 1024
3642// X86_64-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
3643// X86_64-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
3644// X86_64-NETBSD:#define __DBL_MIN_EXP__ (-1021)
3645// X86_64-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
3646// X86_64-NETBSD:#define __DECIMAL_DIG__ 21
3647// X86_64-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3648// X86_64-NETBSD:#define __FLT_DIG__ 6
3649// X86_64-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
3650// X86_64-NETBSD:#define __FLT_EVAL_METHOD__ 0
3651// X86_64-NETBSD:#define __FLT_HAS_DENORM__ 1
3652// X86_64-NETBSD:#define __FLT_HAS_INFINITY__ 1
3653// X86_64-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
3654// X86_64-NETBSD:#define __FLT_MANT_DIG__ 24
3655// X86_64-NETBSD:#define __FLT_MAX_10_EXP__ 38
3656// X86_64-NETBSD:#define __FLT_MAX_EXP__ 128
3657// X86_64-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
3658// X86_64-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
3659// X86_64-NETBSD:#define __FLT_MIN_EXP__ (-125)
3660// X86_64-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
3661// X86_64-NETBSD:#define __FLT_RADIX__ 2
3662// X86_64-NETBSD:#define __INT16_TYPE__ short
3663// X86_64-NETBSD:#define __INT32_TYPE__ int
3664// X86_64-NETBSD:#define __INT64_C_SUFFIX__ L
3665// X86_64-NETBSD:#define __INT64_TYPE__ long int
3666// X86_64-NETBSD:#define __INT8_TYPE__ char
3667// X86_64-NETBSD:#define __INTMAX_MAX__ 9223372036854775807L
3668// X86_64-NETBSD:#define __INTMAX_TYPE__ long int
3669// X86_64-NETBSD:#define __INTMAX_WIDTH__ 64
3670// X86_64-NETBSD:#define __INTPTR_TYPE__ long int
3671// X86_64-NETBSD:#define __INTPTR_WIDTH__ 64
3672// X86_64-NETBSD:#define __INT_MAX__ 2147483647
3673// X86_64-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3674// X86_64-NETBSD:#define __LDBL_DIG__ 18
3675// X86_64-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3676// X86_64-NETBSD:#define __LDBL_HAS_DENORM__ 1
3677// X86_64-NETBSD:#define __LDBL_HAS_INFINITY__ 1
3678// X86_64-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
3679// X86_64-NETBSD:#define __LDBL_MANT_DIG__ 64
3680// X86_64-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
3681// X86_64-NETBSD:#define __LDBL_MAX_EXP__ 16384
3682// X86_64-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3683// X86_64-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
3684// X86_64-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
3685// X86_64-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3686// X86_64-NETBSD:#define __LITTLE_ENDIAN__ 1
3687// X86_64-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
3688// X86_64-NETBSD:#define __LONG_MAX__ 9223372036854775807L
3689// X86_64-NETBSD:#define __LP64__ 1
3690// X86_64-NETBSD:#define __MMX__ 1
3691// X86_64-NETBSD:#define __NO_MATH_INLINES 1
3692// X86_64-NETBSD:#define __POINTER_WIDTH__ 64
3693// X86_64-NETBSD:#define __PTRDIFF_TYPE__ long int
3694// X86_64-NETBSD:#define __PTRDIFF_WIDTH__ 64
3695// X86_64-NETBSD:#define __REGISTER_PREFIX__
3696// X86_64-NETBSD:#define __SCHAR_MAX__ 127
3697// X86_64-NETBSD:#define __SHRT_MAX__ 32767
3698// X86_64-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
3699// X86_64-NETBSD:#define __SIZEOF_DOUBLE__ 8
3700// X86_64-NETBSD:#define __SIZEOF_FLOAT__ 4
3701// X86_64-NETBSD:#define __SIZEOF_INT__ 4
3702// X86_64-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 16
3703// X86_64-NETBSD:#define __SIZEOF_LONG_LONG__ 8
3704// X86_64-NETBSD:#define __SIZEOF_LONG__ 8
3705// X86_64-NETBSD:#define __SIZEOF_POINTER__ 8
3706// X86_64-NETBSD:#define __SIZEOF_PTRDIFF_T__ 8
3707// X86_64-NETBSD:#define __SIZEOF_SHORT__ 2
3708// X86_64-NETBSD:#define __SIZEOF_SIZE_T__ 8
3709// X86_64-NETBSD:#define __SIZEOF_WCHAR_T__ 4
3710// X86_64-NETBSD:#define __SIZEOF_WINT_T__ 4
3711// X86_64-NETBSD:#define __SIZE_MAX__ 18446744073709551615UL
3712// X86_64-NETBSD:#define __SIZE_TYPE__ long unsigned int
3713// X86_64-NETBSD:#define __SIZE_WIDTH__ 64
3714// X86_64-NETBSD:#define __SSE2_MATH__ 1
3715// X86_64-NETBSD:#define __SSE2__ 1
3716// X86_64-NETBSD:#define __SSE_MATH__ 1
3717// X86_64-NETBSD:#define __SSE__ 1
3718// X86_64-NETBSD:#define __UINTMAX_TYPE__ long unsigned int
3719// X86_64-NETBSD:#define __USER_LABEL_PREFIX__
3720// X86_64-NETBSD:#define __WCHAR_MAX__ 2147483647
3721// X86_64-NETBSD:#define __WCHAR_TYPE__ int
3722// X86_64-NETBSD:#define __WCHAR_WIDTH__ 32
3723// X86_64-NETBSD:#define __WINT_TYPE__ int
3724// X86_64-NETBSD:#define __WINT_WIDTH__ 32
3725// X86_64-NETBSD:#define __amd64 1
3726// X86_64-NETBSD:#define __amd64__ 1
3727// X86_64-NETBSD:#define __x86_64 1
3728// X86_64-NETBSD:#define __x86_64__ 1
3729//
Jakob Stoklund Olesen248520b2013-05-15 03:22:33 +00003730// 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 +00003731// SPARCV9:#define __INT64_TYPE__ long int
Jakob Stoklund Olesen248520b2013-05-15 03:22:33 +00003732// SPARCV9:#define __INTMAX_TYPE__ long int
3733// SPARCV9:#define __INTPTR_TYPE__ long int
3734// SPARCV9:#define __LONG_MAX__ 9223372036854775807L
3735// SPARCV9:#define __LP64__ 1
3736// SPARCV9:#define __SIZEOF_LONG__ 8
3737// SPARCV9:#define __SIZEOF_POINTER__ 8
3738//
Jakob Stoklund Olesen826df142013-05-19 17:53:37 +00003739// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-openbsd < /dev/null | FileCheck -check-prefix SPARC64-OBSD %s
3740// SPARC64-OBSD:#define __INT64_TYPE__ long long int
3741// SPARC64-OBSD:#define __INTMAX_TYPE__ long long int
3742// SPARC64-OBSD:#define __UINTMAX_TYPE__ long long unsigned int
3743//
Sylvestre Ledrufd7cd3552013-09-06 14:53:07 +00003744// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSD-DEFINE %s
3745// KFREEBSD-DEFINE:#define __FreeBSD_kernel__ 1
3746// KFREEBSD-DEFINE:#define __GLIBC__ 1
3747//
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003748// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i686-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSDI686-DEFINE %s
3749// KFREEBSDI686-DEFINE:#define __FreeBSD_kernel__ 1
3750// KFREEBSDI686-DEFINE:#define __GLIBC__ 1
3751//
David Chisnallb601c962012-07-03 20:49:52 +00003752// 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 +00003753// GNUSOURCE:#define _GNU_SOURCE 1
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003754//
Dan Gohman04f87202010-05-28 00:27:15 +00003755// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
3756// NORTTI: __GXX_ABI_VERSION
3757// NORTTI-NOT:#define __GXX_RTTI
3758// NORTTI: __STDC__
Evgeniy Stepanov94dc4c92012-04-26 12:08:09 +00003759//
3760// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
3761// ANDROID: __ANDROID__ 1
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003762//
Roman Divacky13b586f2013-07-03 19:45:54 +00003763// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd < /dev/null | FileCheck -check-prefix PPC64-FREEBSD %s
3764// PPC64-FREEBSD-NOT: #define __LONG_DOUBLE_128__ 1
Robert Lytton0e076492013-08-13 09:43:10 +00003765//
3766// RUN: %clang_cc1 -E -dM -ffreestanding -triple=xcore-none-none < /dev/null | FileCheck -check-prefix XCORE %s
Robert Lytton2c942c62014-03-10 12:06:29 +00003767// XCORE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
3768// XCORE:#define __LITTLE_ENDIAN__ 1
Robert Lytton0e076492013-08-13 09:43:10 +00003769// XCORE:#define __XS1B__ 1