blob: ed08854295279d30193af3af949dc1803cbebc54 [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//
Richard Smithdbd4d4c2014-06-16 15:16:56 +000012// RUN: %clang_cc1 -x c++ -std=c++1z -E -dM < /dev/null | FileCheck -check-prefix CXX1Z %s
13//
14// CXX1Z:#define __GNUG__
15// CXX1Z:#define __GXX_EXPERIMENTAL_CXX0X__ 1
16// CXX1Z:#define __GXX_RTTI 1
17// CXX1Z:#define __GXX_WEAK__ 1
18// CXX1Z:#define __cplusplus 201406L
19// CXX1Z:#define __private_extern__ extern
20//
21//
Richard Smith0a715422013-05-07 19:32:56 +000022// RUN: %clang_cc1 -x c++ -std=c++1y -E -dM < /dev/null | FileCheck -check-prefix CXX1Y %s
23//
24// CXX1Y:#define __GNUG__
25// CXX1Y:#define __GXX_EXPERIMENTAL_CXX0X__ 1
26// CXX1Y:#define __GXX_RTTI 1
27// CXX1Y:#define __GXX_WEAK__ 1
Richard Smith51bacfd2014-02-24 01:35:45 +000028// CXX1Y:#define __cplusplus 201402L
Richard Smith0a715422013-05-07 19:32:56 +000029// CXX1Y:#define __private_extern__ extern
30//
31//
Richard Smith89645bc2013-01-02 12:01:23 +000032// RUN: %clang_cc1 -x c++ -std=c++11 -E -dM < /dev/null | FileCheck -check-prefix CXX11 %s
Chris Lattnere963d092009-10-29 04:55:36 +000033//
Richard Smith89645bc2013-01-02 12:01:23 +000034// CXX11:#define __GNUG__
35// CXX11:#define __GXX_EXPERIMENTAL_CXX0X__ 1
36// CXX11:#define __GXX_RTTI 1
37// CXX11:#define __GXX_WEAK__ 1
38// CXX11:#define __cplusplus 201103L
39// CXX11:#define __private_extern__ extern
Chris Lattnere963d092009-10-29 04:55:36 +000040//
41//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +000042// RUN: %clang_cc1 -x c++ -std=c++98 -E -dM < /dev/null | FileCheck -check-prefix CXX98 %s
Chris Lattnere963d092009-10-29 04:55:36 +000043//
Chris Lattnere963d092009-10-29 04:55:36 +000044// CXX98:#define __GNUG__
Dan Gohman04f87202010-05-28 00:27:15 +000045// CXX98:#define __GXX_RTTI 1
Chris Lattnere963d092009-10-29 04:55:36 +000046// CXX98:#define __GXX_WEAK__ 1
47// CXX98:#define __cplusplus 199711L
48// CXX98:#define __private_extern__ extern
49//
50//
Chandler Carruth30483fb2011-04-23 19:48:40 +000051// RUN: %clang_cc1 -fdeprecated-macro -E -dM < /dev/null | FileCheck -check-prefix DEPRECATED %s
52//
53// DEPRECATED:#define __DEPRECATED 1
54//
55//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +000056// RUN: %clang_cc1 -std=c99 -E -dM < /dev/null | FileCheck -check-prefix C99 %s
Chris Lattnere963d092009-10-29 04:55:36 +000057//
58// C99:#define __STDC_VERSION__ 199901L
59// C99:#define __STRICT_ANSI__ 1
60//
61//
Ed Schoutend0621462013-09-29 07:54:52 +000062// RUN: %clang_cc1 -std=c11 -E -dM < /dev/null | FileCheck -check-prefix C11 %s
63//
64// C11:#define __STDC_UTF_16__ 1
65// C11:#define __STDC_UTF_32__ 1
66// C11:#define __STDC_VERSION__ 201112L
67// C11:#define __STRICT_ANSI__ 1
68//
69//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +000070// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix COMMON %s
Chris Lattnere963d092009-10-29 04:55:36 +000071//
72// COMMON:#define __CONSTANT_CFSTRINGS__ 1
73// COMMON:#define __FINITE_MATH_ONLY__ 0
74// COMMON:#define __GNUC_MINOR__
75// COMMON:#define __GNUC_PATCHLEVEL__
76// COMMON:#define __GNUC_STDC_INLINE__ 1
77// COMMON:#define __GNUC__
78// COMMON:#define __GXX_ABI_VERSION
Dylan Noblesmith673728f2012-07-27 18:34:31 +000079// COMMON:#define __ORDER_BIG_ENDIAN__ 4321
80// COMMON:#define __ORDER_LITTLE_ENDIAN__ 1234
81// COMMON:#define __ORDER_PDP_ENDIAN__ 3412
Chris Lattnere963d092009-10-29 04:55:36 +000082// COMMON:#define __STDC_HOSTED__ 1
83// COMMON:#define __STDC_VERSION__
84// COMMON:#define __STDC__ 1
85// COMMON:#define __VERSION__
86// COMMON:#define __clang__ 1
Daniel Dunbard7e887f2010-06-25 23:34:47 +000087// COMMON:#define __clang_major__ {{[0-9]+}}
88// COMMON:#define __clang_minor__ {{[0-9]+}}
89// COMMON:#define __clang_patchlevel__ {{[0-9]+}}
Douglas Gregordead00f2010-04-30 03:07:23 +000090// COMMON:#define __clang_version__
Chris Lattnere963d092009-10-29 04:55:36 +000091// COMMON:#define __llvm__ 1
92//
93//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +000094// RUN: %clang_cc1 -ffreestanding -E -dM < /dev/null | FileCheck -check-prefix FREESTANDING %s
Chris Lattnere963d092009-10-29 04:55:36 +000095// FREESTANDING:#define __STDC_HOSTED__ 0
Richard Smithd106a982012-05-03 22:18:20 +000096//
97//
Richard Smithdbd4d4c2014-06-16 15:16:56 +000098// RUN: %clang_cc1 -x c++ -std=gnu++1z -E -dM < /dev/null | FileCheck -check-prefix GXX1Z %s
99//
100// GXX1Z:#define __GNUG__
101// GXX1Z:#define __GXX_WEAK__ 1
102// GXX1Z:#define __cplusplus 201406L
103// GXX1Z:#define __private_extern__ extern
104//
105//
Richard Smith0a715422013-05-07 19:32:56 +0000106// RUN: %clang_cc1 -x c++ -std=gnu++1y -E -dM < /dev/null | FileCheck -check-prefix GXX1Y %s
107//
108// GXX1Y:#define __GNUG__
109// GXX1Y:#define __GXX_WEAK__ 1
Richard Smith51bacfd2014-02-24 01:35:45 +0000110// GXX1Y:#define __cplusplus 201402L
Richard Smith0a715422013-05-07 19:32:56 +0000111// GXX1Y:#define __private_extern__ extern
112//
113//
Richard Smithd106a982012-05-03 22:18:20 +0000114// RUN: %clang_cc1 -x c++ -std=gnu++11 -E -dM < /dev/null | FileCheck -check-prefix GXX11 %s
115//
116// GXX11:#define __GNUG__
117// GXX11:#define __GXX_WEAK__ 1
118// GXX11:#define __cplusplus 201103L
119// GXX11:#define __private_extern__ extern
120//
121//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000122// RUN: %clang_cc1 -x c++ -std=gnu++98 -E -dM < /dev/null | FileCheck -check-prefix GXX98 %s
Chris Lattnere963d092009-10-29 04:55:36 +0000123//
Chris Lattnere963d092009-10-29 04:55:36 +0000124// GXX98:#define __GNUG__
125// GXX98:#define __GXX_WEAK__ 1
Richard Smithd106a982012-05-03 22:18:20 +0000126// GXX98:#define __cplusplus 199711L
Chris Lattnere963d092009-10-29 04:55:36 +0000127// GXX98:#define __private_extern__ extern
128//
129//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000130// RUN: %clang_cc1 -std=iso9899:199409 -E -dM < /dev/null | FileCheck -check-prefix C94 %s
Chris Lattnere963d092009-10-29 04:55:36 +0000131//
132// C94:#define __STDC_VERSION__ 199409L
133//
134//
Hans Wennborg4c02be32013-05-02 13:12:32 +0000135// 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 +0000136//
137// MSEXT-NOT:#define __STDC__
Douglas Gregor7617cb82010-08-06 12:37:52 +0000138// MSEXT:#define _INTEGRAL_MAX_BITS 64
Hans Wennborg4c02be32013-05-02 13:12:32 +0000139// MSEXT-NOT:#define _NATIVE_WCHAR_T_DEFINED 1
140// MSEXT-NOT:#define _WCHAR_T_DEFINED 1
141//
142//
143// RUN: %clang_cc1 -x c++ -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT-CXX %s
144//
145// MSEXT-CXX:#define _NATIVE_WCHAR_T_DEFINED 1
146// MSEXT-CXX:#define _WCHAR_T_DEFINED 1
147//
148//
149// RUN: %clang_cc1 -x c++ -fno-wchar -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT-CXX-NOWCHAR %s
150//
151// MSEXT-CXX-NOWCHAR-NOT:#define _NATIVE_WCHAR_T_DEFINED 1
152// MSEXT-CXX-NOWCHAR-NOT:#define _WCHAR_T_DEFINED 1
Chris Lattnere963d092009-10-29 04:55:36 +0000153//
154//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000155// RUN: %clang_cc1 -x objective-c -E -dM < /dev/null | FileCheck -check-prefix OBJC %s
Chris Lattnere963d092009-10-29 04:55:36 +0000156//
157// OBJC:#define OBJC_NEW_PROPERTIES 1
Daniel Dunbar4656c532009-11-17 07:07:28 +0000158// OBJC:#define __NEXT_RUNTIME__ 1
Chris Lattnere963d092009-10-29 04:55:36 +0000159// OBJC:#define __OBJC__ 1
160//
Daniel Dunbar4656c532009-11-17 07:07:28 +0000161//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000162// RUN: %clang_cc1 -x objective-c -fobjc-gc -E -dM < /dev/null | FileCheck -check-prefix OBJCGC %s
Chris Lattnere963d092009-10-29 04:55:36 +0000163//
164// OBJCGC:#define __OBJC_GC__ 1
165//
166//
John McCall9b0a7ce2011-10-02 01:16:38 +0000167// RUN: %clang_cc1 -x objective-c -fobjc-exceptions -E -dM < /dev/null | FileCheck -check-prefix NONFRAGILE %s
Chris Lattnere963d092009-10-29 04:55:36 +0000168//
169// NONFRAGILE:#define OBJC_ZEROCOST_EXCEPTIONS 1
170// NONFRAGILE:#define __OBJC2__ 1
171//
Dylan Noblesmith4c004f32012-08-08 16:09:15 +0000172//
Rafael Espindolaff7cea82013-09-04 04:12:25 +0000173// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix O0 %s
Dylan Noblesmith4c004f32012-08-08 16:09:15 +0000174//
175// O0:#define __NO_INLINE__ 1
176// O0-NOT:#define __OPTIMIZE_SIZE__
177// O0-NOT:#define __OPTIMIZE__
178//
179//
180// RUN: %clang_cc1 -fno-inline -O3 -E -dM < /dev/null | FileCheck -check-prefix NO_INLINE %s
181//
182// NO_INLINE:#define __NO_INLINE__ 1
183// NO_INLINE-NOT:#define __OPTIMIZE_SIZE__
184// NO_INLINE:#define __OPTIMIZE__
185//
186//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000187// RUN: %clang_cc1 -O1 -E -dM < /dev/null | FileCheck -check-prefix O1 %s
Chris Lattnere963d092009-10-29 04:55:36 +0000188//
Dylan Noblesmith4c004f32012-08-08 16:09:15 +0000189// O1-NOT:#define __OPTIMIZE_SIZE__
Chris Lattnere963d092009-10-29 04:55:36 +0000190// O1:#define __OPTIMIZE__ 1
191//
Dylan Noblesmith4c004f32012-08-08 16:09:15 +0000192//
193// RUN: %clang_cc1 -Os -E -dM < /dev/null | FileCheck -check-prefix Os %s
194//
195// Os:#define __OPTIMIZE_SIZE__ 1
196// Os:#define __OPTIMIZE__ 1
197//
198//
199// RUN: %clang_cc1 -Oz -E -dM < /dev/null | FileCheck -check-prefix Oz %s
200//
201// Oz:#define __OPTIMIZE_SIZE__ 1
202// Oz:#define __OPTIMIZE__ 1
203//
204//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000205// RUN: %clang_cc1 -fpascal-strings -E -dM < /dev/null | FileCheck -check-prefix PASCAL %s
Chris Lattnere963d092009-10-29 04:55:36 +0000206//
207// PASCAL:#define __PASCAL_STRINGS__ 1
208//
209//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000210// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix SCHAR %s
Chris Lattnere963d092009-10-29 04:55:36 +0000211//
212// SCHAR:#define __STDC__ 1
213// SCHAR-NOT:#define __UNSIGNED_CHAR__
214// SCHAR:#define __clang__ 1
215//
Eli Friedman865afc92010-08-03 17:34:19 +0000216// RUN: %clang_cc1 -E -dM -fshort-wchar < /dev/null | FileCheck -check-prefix SHORTWCHAR %s
NAKAMURA Takumi210fbcd2014-02-25 00:30:14 +0000217// wchar_t is u16 for targeting Win32.
218// FIXME: Implement and check x86_64-cygwin.
219// 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 +0000220//
221// SHORTWCHAR: #define __SIZEOF_WCHAR_T__ 2
222// SHORTWCHAR: #define __WCHAR_MAX__ 65535U
223// SHORTWCHAR: #define __WCHAR_TYPE__ unsigned short
224// SHORTWCHAR: #define __WCHAR_WIDTH__ 16
225//
NAKAMURA Takumi210fbcd2014-02-25 00:30:14 +0000226// RUN: %clang_cc1 -E -dM -fno-short-wchar -triple=i686-unknown-unknown < /dev/null | FileCheck -check-prefix SHORTWCHAR2 %s
227// 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 +0000228//
229// SHORTWCHAR2: #define __SIZEOF_WCHAR_T__ 4
230// SHORTWCHAR2: #define __WCHAR_WIDTH__ 32
231// Other definitions vary from platform to platform
Christian Pirker227f5ed2014-03-24 13:57:21 +0000232
Kevin Qinad64f6d2014-02-24 02:45:03 +0000233// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-none-none < /dev/null | FileCheck -check-prefix AARCH64 %s
James Molloy96061a62014-04-17 12:51:36 +0000234// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm64-none-none < /dev/null | FileCheck -check-prefix AARCH64 %s
Kevin Qinad64f6d2014-02-24 02:45:03 +0000235//
236// AARCH64:#define _LP64 1
Christian Pirker227f5ed2014-03-24 13:57:21 +0000237// AARCH64-NOT:#define __AARCH64EB__ 1
Kevin Qinad64f6d2014-02-24 02:45:03 +0000238// AARCH64:#define __AARCH64EL__ 1
Christian Pirker227f5ed2014-03-24 13:57:21 +0000239// AARCH64-NOT:#define __AARCH_BIG_ENDIAN 1
Kevin Qinad64f6d2014-02-24 02:45:03 +0000240// AARCH64:#define __ARM_64BIT_STATE 1
241// AARCH64:#define __ARM_ARCH 8
242// AARCH64:#define __ARM_ARCH_ISA_A64 1
Christian Pirker227f5ed2014-03-24 13:57:21 +0000243// AARCH64-NOT:#define __ARM_BIG_ENDIAN 1
Kevin Qinad64f6d2014-02-24 02:45:03 +0000244// AARCH64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
245// AARCH64:#define __CHAR16_TYPE__ unsigned short
246// AARCH64:#define __CHAR32_TYPE__ unsigned int
247// AARCH64:#define __CHAR_BIT__ 8
248// AARCH64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
249// AARCH64:#define __DBL_DIG__ 15
250// AARCH64:#define __DBL_EPSILON__ 2.2204460492503131e-16
251// AARCH64:#define __DBL_HAS_DENORM__ 1
252// AARCH64:#define __DBL_HAS_INFINITY__ 1
253// AARCH64:#define __DBL_HAS_QUIET_NAN__ 1
254// AARCH64:#define __DBL_MANT_DIG__ 53
255// AARCH64:#define __DBL_MAX_10_EXP__ 308
256// AARCH64:#define __DBL_MAX_EXP__ 1024
257// AARCH64:#define __DBL_MAX__ 1.7976931348623157e+308
258// AARCH64:#define __DBL_MIN_10_EXP__ (-307)
259// AARCH64:#define __DBL_MIN_EXP__ (-1021)
260// AARCH64:#define __DBL_MIN__ 2.2250738585072014e-308
261// AARCH64:#define __DECIMAL_DIG__ 36
262// AARCH64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
263// AARCH64:#define __FLT_DIG__ 6
264// AARCH64:#define __FLT_EPSILON__ 1.19209290e-7F
265// AARCH64:#define __FLT_EVAL_METHOD__ 0
266// AARCH64:#define __FLT_HAS_DENORM__ 1
267// AARCH64:#define __FLT_HAS_INFINITY__ 1
268// AARCH64:#define __FLT_HAS_QUIET_NAN__ 1
269// AARCH64:#define __FLT_MANT_DIG__ 24
270// AARCH64:#define __FLT_MAX_10_EXP__ 38
271// AARCH64:#define __FLT_MAX_EXP__ 128
272// AARCH64:#define __FLT_MAX__ 3.40282347e+38F
273// AARCH64:#define __FLT_MIN_10_EXP__ (-37)
274// AARCH64:#define __FLT_MIN_EXP__ (-125)
275// AARCH64:#define __FLT_MIN__ 1.17549435e-38F
276// AARCH64:#define __FLT_RADIX__ 2
277// AARCH64:#define __INT16_TYPE__ short
278// AARCH64:#define __INT32_TYPE__ int
279// AARCH64:#define __INT64_C_SUFFIX__ L
280// AARCH64:#define __INT64_TYPE__ long int
281// AARCH64:#define __INT8_TYPE__ char
282// AARCH64:#define __INTMAX_MAX__ 9223372036854775807L
283// AARCH64:#define __INTMAX_TYPE__ long int
284// AARCH64:#define __INTMAX_WIDTH__ 64
285// AARCH64:#define __INTPTR_TYPE__ long int
286// AARCH64:#define __INTPTR_WIDTH__ 64
287// AARCH64:#define __INT_MAX__ 2147483647
288// AARCH64:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
289// AARCH64:#define __LDBL_DIG__ 33
290// AARCH64:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
291// AARCH64:#define __LDBL_HAS_DENORM__ 1
292// AARCH64:#define __LDBL_HAS_INFINITY__ 1
293// AARCH64:#define __LDBL_HAS_QUIET_NAN__ 1
294// AARCH64:#define __LDBL_MANT_DIG__ 113
295// AARCH64:#define __LDBL_MAX_10_EXP__ 4932
296// AARCH64:#define __LDBL_MAX_EXP__ 16384
297// AARCH64:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
298// AARCH64:#define __LDBL_MIN_10_EXP__ (-4931)
299// AARCH64:#define __LDBL_MIN_EXP__ (-16381)
300// AARCH64:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
301// AARCH64:#define __LONG_LONG_MAX__ 9223372036854775807LL
302// AARCH64:#define __LONG_MAX__ 9223372036854775807L
303// AARCH64:#define __LP64__ 1
304// AARCH64:#define __POINTER_WIDTH__ 64
305// AARCH64:#define __PTRDIFF_TYPE__ long int
306// AARCH64:#define __PTRDIFF_WIDTH__ 64
307// AARCH64:#define __SCHAR_MAX__ 127
308// AARCH64:#define __SHRT_MAX__ 32767
309// AARCH64:#define __SIG_ATOMIC_WIDTH__ 32
310// AARCH64:#define __SIZEOF_DOUBLE__ 8
311// AARCH64:#define __SIZEOF_FLOAT__ 4
312// AARCH64:#define __SIZEOF_INT128__ 16
313// AARCH64:#define __SIZEOF_INT__ 4
314// AARCH64:#define __SIZEOF_LONG_DOUBLE__ 16
315// AARCH64:#define __SIZEOF_LONG_LONG__ 8
316// AARCH64:#define __SIZEOF_LONG__ 8
317// AARCH64:#define __SIZEOF_POINTER__ 8
318// AARCH64:#define __SIZEOF_PTRDIFF_T__ 8
319// AARCH64:#define __SIZEOF_SHORT__ 2
320// AARCH64:#define __SIZEOF_SIZE_T__ 8
321// AARCH64:#define __SIZEOF_WCHAR_T__ 4
322// AARCH64:#define __SIZEOF_WINT_T__ 4
323// AARCH64:#define __SIZE_MAX__ 18446744073709551615UL
324// AARCH64:#define __SIZE_TYPE__ long unsigned int
325// AARCH64:#define __SIZE_WIDTH__ 64
326// AARCH64:#define __UINTMAX_TYPE__ long unsigned int
327// AARCH64:#define __USER_LABEL_PREFIX__ _
328// AARCH64:#define __WCHAR_MAX__ 4294967295U
329// AARCH64:#define __WCHAR_TYPE__ unsigned int
330// AARCH64:#define __WCHAR_UNSIGNED__ 1
331// AARCH64:#define __WCHAR_WIDTH__ 32
332// AARCH64:#define __WINT_TYPE__ int
333// AARCH64:#define __WINT_WIDTH__ 32
334// AARCH64:#define __aarch64__ 1
335//
Christian Pirker227f5ed2014-03-24 13:57:21 +0000336// 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 +0000337// 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 +0000338//
339// AARCH64-BE:#define _LP64 1
340// AARCH64-BE:#define __AARCH64EB__ 1
341// AARCH64-BE-NOT:#define __AARCH64EL__ 1
342// AARCH64-BE:#define __AARCH_BIG_ENDIAN 1
343// AARCH64-BE:#define __ARM_64BIT_STATE 1
344// AARCH64-BE:#define __ARM_ARCH 8
345// AARCH64-BE:#define __ARM_ARCH_ISA_A64 1
346// AARCH64-BE:#define __ARM_BIG_ENDIAN 1
347// AARCH64-BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
348// AARCH64-BE:#define __CHAR16_TYPE__ unsigned short
349// AARCH64-BE:#define __CHAR32_TYPE__ unsigned int
350// AARCH64-BE:#define __CHAR_BIT__ 8
351// AARCH64-BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
352// AARCH64-BE:#define __DBL_DIG__ 15
353// AARCH64-BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
354// AARCH64-BE:#define __DBL_HAS_DENORM__ 1
355// AARCH64-BE:#define __DBL_HAS_INFINITY__ 1
356// AARCH64-BE:#define __DBL_HAS_QUIET_NAN__ 1
357// AARCH64-BE:#define __DBL_MANT_DIG__ 53
358// AARCH64-BE:#define __DBL_MAX_10_EXP__ 308
359// AARCH64-BE:#define __DBL_MAX_EXP__ 1024
360// AARCH64-BE:#define __DBL_MAX__ 1.7976931348623157e+308
361// AARCH64-BE:#define __DBL_MIN_10_EXP__ (-307)
362// AARCH64-BE:#define __DBL_MIN_EXP__ (-1021)
363// AARCH64-BE:#define __DBL_MIN__ 2.2250738585072014e-308
364// AARCH64-BE:#define __DECIMAL_DIG__ 36
365// AARCH64-BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
366// AARCH64-BE:#define __FLT_DIG__ 6
367// AARCH64-BE:#define __FLT_EPSILON__ 1.19209290e-7F
368// AARCH64-BE:#define __FLT_EVAL_METHOD__ 0
369// AARCH64-BE:#define __FLT_HAS_DENORM__ 1
370// AARCH64-BE:#define __FLT_HAS_INFINITY__ 1
371// AARCH64-BE:#define __FLT_HAS_QUIET_NAN__ 1
372// AARCH64-BE:#define __FLT_MANT_DIG__ 24
373// AARCH64-BE:#define __FLT_MAX_10_EXP__ 38
374// AARCH64-BE:#define __FLT_MAX_EXP__ 128
375// AARCH64-BE:#define __FLT_MAX__ 3.40282347e+38F
376// AARCH64-BE:#define __FLT_MIN_10_EXP__ (-37)
377// AARCH64-BE:#define __FLT_MIN_EXP__ (-125)
378// AARCH64-BE:#define __FLT_MIN__ 1.17549435e-38F
379// AARCH64-BE:#define __FLT_RADIX__ 2
380// AARCH64-BE:#define __INT16_TYPE__ short
381// AARCH64-BE:#define __INT32_TYPE__ int
382// AARCH64-BE:#define __INT64_C_SUFFIX__ L
383// AARCH64-BE:#define __INT64_TYPE__ long int
384// AARCH64-BE:#define __INT8_TYPE__ char
385// AARCH64-BE:#define __INTMAX_MAX__ 9223372036854775807L
386// AARCH64-BE:#define __INTMAX_TYPE__ long int
387// AARCH64-BE:#define __INTMAX_WIDTH__ 64
388// AARCH64-BE:#define __INTPTR_TYPE__ long int
389// AARCH64-BE:#define __INTPTR_WIDTH__ 64
390// AARCH64-BE:#define __INT_MAX__ 2147483647
391// AARCH64-BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
392// AARCH64-BE:#define __LDBL_DIG__ 33
393// AARCH64-BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
394// AARCH64-BE:#define __LDBL_HAS_DENORM__ 1
395// AARCH64-BE:#define __LDBL_HAS_INFINITY__ 1
396// AARCH64-BE:#define __LDBL_HAS_QUIET_NAN__ 1
397// AARCH64-BE:#define __LDBL_MANT_DIG__ 113
398// AARCH64-BE:#define __LDBL_MAX_10_EXP__ 4932
399// AARCH64-BE:#define __LDBL_MAX_EXP__ 16384
400// AARCH64-BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
401// AARCH64-BE:#define __LDBL_MIN_10_EXP__ (-4931)
402// AARCH64-BE:#define __LDBL_MIN_EXP__ (-16381)
403// AARCH64-BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
404// AARCH64-BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
405// AARCH64-BE:#define __LONG_MAX__ 9223372036854775807L
406// AARCH64-BE:#define __LP64__ 1
407// AARCH64-BE:#define __POINTER_WIDTH__ 64
408// AARCH64-BE:#define __PTRDIFF_TYPE__ long int
409// AARCH64-BE:#define __PTRDIFF_WIDTH__ 64
410// AARCH64-BE:#define __SCHAR_MAX__ 127
411// AARCH64-BE:#define __SHRT_MAX__ 32767
412// AARCH64-BE:#define __SIG_ATOMIC_WIDTH__ 32
413// AARCH64-BE:#define __SIZEOF_DOUBLE__ 8
414// AARCH64-BE:#define __SIZEOF_FLOAT__ 4
415// AARCH64-BE:#define __SIZEOF_INT128__ 16
416// AARCH64-BE:#define __SIZEOF_INT__ 4
417// AARCH64-BE:#define __SIZEOF_LONG_DOUBLE__ 16
418// AARCH64-BE:#define __SIZEOF_LONG_LONG__ 8
419// AARCH64-BE:#define __SIZEOF_LONG__ 8
420// AARCH64-BE:#define __SIZEOF_POINTER__ 8
421// AARCH64-BE:#define __SIZEOF_PTRDIFF_T__ 8
422// AARCH64-BE:#define __SIZEOF_SHORT__ 2
423// AARCH64-BE:#define __SIZEOF_SIZE_T__ 8
424// AARCH64-BE:#define __SIZEOF_WCHAR_T__ 4
425// AARCH64-BE:#define __SIZEOF_WINT_T__ 4
426// AARCH64-BE:#define __SIZE_MAX__ 18446744073709551615UL
427// AARCH64-BE:#define __SIZE_TYPE__ long unsigned int
428// AARCH64-BE:#define __SIZE_WIDTH__ 64
429// AARCH64-BE:#define __UINTMAX_TYPE__ long unsigned int
430// AARCH64-BE:#define __USER_LABEL_PREFIX__ _
431// AARCH64-BE:#define __WCHAR_MAX__ 4294967295U
432// AARCH64-BE:#define __WCHAR_TYPE__ unsigned int
433// AARCH64-BE:#define __WCHAR_UNSIGNED__ 1
434// AARCH64-BE:#define __WCHAR_WIDTH__ 32
435// AARCH64-BE:#define __WINT_TYPE__ int
436// AARCH64-BE:#define __WINT_WIDTH__ 32
437// AARCH64-BE:#define __aarch64__ 1
438//
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000439// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-netbsd < /dev/null | FileCheck -check-prefix AARCH64-NETBSD %s
440//
441// AARCH64-NETBSD:#define _LP64 1
Christian Pirker227f5ed2014-03-24 13:57:21 +0000442// AARCH64-NETBSD-NOT:#define __AARCH64EB__ 1
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000443// AARCH64-NETBSD:#define __AARCH64EL__ 1
Christian Pirker227f5ed2014-03-24 13:57:21 +0000444// AARCH64-NETBSD-NOT:#define __AARCH_BIG_ENDIAN 1
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000445// AARCH64-NETBSD:#define __ARM_64BIT_STATE 1
446// AARCH64-NETBSD:#define __ARM_ARCH 8
447// AARCH64-NETBSD:#define __ARM_ARCH_ISA_A64 1
Christian Pirker227f5ed2014-03-24 13:57:21 +0000448// AARCH64-NETBSD-NOT:#define __ARM_BIG_ENDIAN 1
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000449// AARCH64-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
450// AARCH64-NETBSD:#define __CHAR16_TYPE__ unsigned short
451// AARCH64-NETBSD:#define __CHAR32_TYPE__ unsigned int
452// AARCH64-NETBSD:#define __CHAR_BIT__ 8
453// AARCH64-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
454// AARCH64-NETBSD:#define __DBL_DIG__ 15
455// AARCH64-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
456// AARCH64-NETBSD:#define __DBL_HAS_DENORM__ 1
457// AARCH64-NETBSD:#define __DBL_HAS_INFINITY__ 1
458// AARCH64-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
459// AARCH64-NETBSD:#define __DBL_MANT_DIG__ 53
460// AARCH64-NETBSD:#define __DBL_MAX_10_EXP__ 308
461// AARCH64-NETBSD:#define __DBL_MAX_EXP__ 1024
462// AARCH64-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
463// AARCH64-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
464// AARCH64-NETBSD:#define __DBL_MIN_EXP__ (-1021)
465// AARCH64-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
466// AARCH64-NETBSD:#define __DECIMAL_DIG__ 36
467// AARCH64-NETBSD:#define __ELF__ 1
468// AARCH64-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
469// AARCH64-NETBSD:#define __FLT_DIG__ 6
470// AARCH64-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
471// AARCH64-NETBSD:#define __FLT_EVAL_METHOD__ 0
472// AARCH64-NETBSD:#define __FLT_HAS_DENORM__ 1
473// AARCH64-NETBSD:#define __FLT_HAS_INFINITY__ 1
474// AARCH64-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
475// AARCH64-NETBSD:#define __FLT_MANT_DIG__ 24
476// AARCH64-NETBSD:#define __FLT_MAX_10_EXP__ 38
477// AARCH64-NETBSD:#define __FLT_MAX_EXP__ 128
478// AARCH64-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
479// AARCH64-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
480// AARCH64-NETBSD:#define __FLT_MIN_EXP__ (-125)
481// AARCH64-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
482// AARCH64-NETBSD:#define __FLT_RADIX__ 2
483// AARCH64-NETBSD:#define __INT16_TYPE__ short
484// AARCH64-NETBSD:#define __INT32_TYPE__ int
Joerg Sonnenberger1f5984c2014-03-26 11:48:29 +0000485// AARCH64-NETBSD:#define __INT64_C_SUFFIX__ LL
486// AARCH64-NETBSD:#define __INT64_TYPE__ long long int
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000487// AARCH64-NETBSD:#define __INT8_TYPE__ char
Joerg Sonnenberger1f5984c2014-03-26 11:48:29 +0000488// AARCH64-NETBSD:#define __INTMAX_MAX__ 9223372036854775807LL
489// AARCH64-NETBSD:#define __INTMAX_TYPE__ long long int
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000490// AARCH64-NETBSD:#define __INTMAX_WIDTH__ 64
491// AARCH64-NETBSD:#define __INTPTR_TYPE__ long int
492// AARCH64-NETBSD:#define __INTPTR_WIDTH__ 64
493// AARCH64-NETBSD:#define __INT_MAX__ 2147483647
494// AARCH64-NETBSD:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
495// AARCH64-NETBSD:#define __LDBL_DIG__ 33
496// AARCH64-NETBSD:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
497// AARCH64-NETBSD:#define __LDBL_HAS_DENORM__ 1
498// AARCH64-NETBSD:#define __LDBL_HAS_INFINITY__ 1
499// AARCH64-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
500// AARCH64-NETBSD:#define __LDBL_MANT_DIG__ 113
501// AARCH64-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
502// AARCH64-NETBSD:#define __LDBL_MAX_EXP__ 16384
503// AARCH64-NETBSD:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
504// AARCH64-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
505// AARCH64-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
506// AARCH64-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
507// AARCH64-NETBSD:#define __LITTLE_ENDIAN__ 1
508// AARCH64-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
509// AARCH64-NETBSD:#define __LONG_MAX__ 9223372036854775807L
510// AARCH64-NETBSD:#define __LP64__ 1
511// AARCH64-NETBSD:#define __NetBSD__ 1
512// AARCH64-NETBSD:#define __POINTER_WIDTH__ 64
513// AARCH64-NETBSD:#define __PTRDIFF_TYPE__ long int
514// AARCH64-NETBSD:#define __PTRDIFF_WIDTH__ 64
515// AARCH64-NETBSD:#define __SCHAR_MAX__ 127
516// AARCH64-NETBSD:#define __SHRT_MAX__ 32767
517// AARCH64-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
518// AARCH64-NETBSD:#define __SIZEOF_DOUBLE__ 8
519// AARCH64-NETBSD:#define __SIZEOF_FLOAT__ 4
520// AARCH64-NETBSD:#define __SIZEOF_INT__ 4
521// AARCH64-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 16
522// AARCH64-NETBSD:#define __SIZEOF_LONG_LONG__ 8
523// AARCH64-NETBSD:#define __SIZEOF_LONG__ 8
524// AARCH64-NETBSD:#define __SIZEOF_POINTER__ 8
525// AARCH64-NETBSD:#define __SIZEOF_PTRDIFF_T__ 8
526// AARCH64-NETBSD:#define __SIZEOF_SHORT__ 2
527// AARCH64-NETBSD:#define __SIZEOF_SIZE_T__ 8
528// AARCH64-NETBSD:#define __SIZEOF_WCHAR_T__ 4
529// AARCH64-NETBSD:#define __SIZEOF_WINT_T__ 4
530// AARCH64-NETBSD:#define __SIZE_MAX__ 18446744073709551615UL
531// AARCH64-NETBSD:#define __SIZE_TYPE__ long unsigned int
532// AARCH64-NETBSD:#define __SIZE_WIDTH__ 64
Joerg Sonnenberger1f5984c2014-03-26 11:48:29 +0000533// AARCH64-NETBSD:#define __UINTMAX_TYPE__ long long unsigned int
Joerg Sonnenbergerec39cc62014-02-02 21:55:32 +0000534// AARCH64-NETBSD:#define __USER_LABEL_PREFIX__
535// AARCH64-NETBSD:#define __WCHAR_MAX__ 2147483647
536// AARCH64-NETBSD:#define __WCHAR_TYPE__ int
537// AARCH64-NETBSD:#define __WCHAR_WIDTH__ 32
538// AARCH64-NETBSD:#define __WINT_TYPE__ int
539// AARCH64-NETBSD:#define __WINT_WIDTH__ 32
540// AARCH64-NETBSD:#define __aarch64__ 1
Christian Pirker227f5ed2014-03-24 13:57:21 +0000541
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000542// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s
Chris Lattnere963d092009-10-29 04:55:36 +0000543//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000544// ARM-NOT:#define _LP64
Chris Lattnere963d092009-10-29 04:55:36 +0000545// ARM:#define __APCS_32__ 1
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000546// ARM-NOT:#define __ARMEB__ 1
Chris Lattnere963d092009-10-29 04:55:36 +0000547// ARM:#define __ARMEL__ 1
Daniel Dunbaracde99e2009-12-18 18:42:37 +0000548// ARM:#define __ARM_ARCH_6J__ 1
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000549// ARM-NOT:#define __ARM_BIG_ENDIAN 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000550// ARM:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +0000551// ARM:#define __CHAR16_TYPE__ unsigned short
552// ARM:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000553// ARM:#define __CHAR_BIT__ 8
554// ARM:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
555// ARM:#define __DBL_DIG__ 15
556// ARM:#define __DBL_EPSILON__ 2.2204460492503131e-16
557// ARM:#define __DBL_HAS_DENORM__ 1
558// ARM:#define __DBL_HAS_INFINITY__ 1
559// ARM:#define __DBL_HAS_QUIET_NAN__ 1
560// ARM:#define __DBL_MANT_DIG__ 53
561// ARM:#define __DBL_MAX_10_EXP__ 308
562// ARM:#define __DBL_MAX_EXP__ 1024
563// ARM:#define __DBL_MAX__ 1.7976931348623157e+308
564// ARM:#define __DBL_MIN_10_EXP__ (-307)
565// ARM:#define __DBL_MIN_EXP__ (-1021)
566// ARM:#define __DBL_MIN__ 2.2250738585072014e-308
567// ARM:#define __DECIMAL_DIG__ 17
568// ARM:#define __FLT_DENORM_MIN__ 1.40129846e-45F
569// ARM:#define __FLT_DIG__ 6
570// ARM:#define __FLT_EPSILON__ 1.19209290e-7F
571// ARM:#define __FLT_EVAL_METHOD__ 0
572// ARM:#define __FLT_HAS_DENORM__ 1
573// ARM:#define __FLT_HAS_INFINITY__ 1
574// ARM:#define __FLT_HAS_QUIET_NAN__ 1
575// ARM:#define __FLT_MANT_DIG__ 24
576// ARM:#define __FLT_MAX_10_EXP__ 38
577// ARM:#define __FLT_MAX_EXP__ 128
578// ARM:#define __FLT_MAX__ 3.40282347e+38F
579// ARM:#define __FLT_MIN_10_EXP__ (-37)
580// ARM:#define __FLT_MIN_EXP__ (-125)
581// ARM:#define __FLT_MIN__ 1.17549435e-38F
582// ARM:#define __FLT_RADIX__ 2
583// ARM:#define __INT16_TYPE__ short
584// ARM:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +0000585// ARM:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +0000586// ARM:#define __INT64_TYPE__ long long int
587// ARM:#define __INT8_TYPE__ char
588// ARM:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +0000589// ARM:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +0000590// ARM:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +0000591// ARM:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +0000592// ARM:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000593// ARM:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000594// ARM:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +0000595// ARM:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000596// ARM:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +0000597// ARM:#define __LDBL_HAS_DENORM__ 1
598// ARM:#define __LDBL_HAS_INFINITY__ 1
599// ARM:#define __LDBL_HAS_QUIET_NAN__ 1
600// ARM:#define __LDBL_MANT_DIG__ 53
601// ARM:#define __LDBL_MAX_10_EXP__ 308
602// ARM:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000603// ARM:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +0000604// ARM:#define __LDBL_MIN_10_EXP__ (-307)
605// ARM:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000606// ARM:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnere963d092009-10-29 04:55:36 +0000607// ARM:#define __LITTLE_ENDIAN__ 1
608// ARM:#define __LONG_LONG_MAX__ 9223372036854775807LL
609// ARM:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000610// ARM-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +0000611// ARM:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000612// ARM:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +0000613// ARM:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbaracde99e2009-12-18 18:42:37 +0000614// ARM:#define __REGISTER_PREFIX__
Chris Lattnere963d092009-10-29 04:55:36 +0000615// ARM:#define __SCHAR_MAX__ 127
616// ARM:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +0000617// ARM:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +0000618// ARM:#define __SIZEOF_DOUBLE__ 8
619// ARM:#define __SIZEOF_FLOAT__ 4
620// ARM:#define __SIZEOF_INT__ 4
621// ARM:#define __SIZEOF_LONG_DOUBLE__ 8
622// ARM:#define __SIZEOF_LONG_LONG__ 8
623// ARM:#define __SIZEOF_LONG__ 4
624// ARM:#define __SIZEOF_POINTER__ 4
625// ARM:#define __SIZEOF_PTRDIFF_T__ 4
626// ARM:#define __SIZEOF_SHORT__ 2
627// ARM:#define __SIZEOF_SIZE_T__ 4
628// ARM:#define __SIZEOF_WCHAR_T__ 4
629// ARM:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000630// ARM:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +0000631// ARM:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +0000632// ARM:#define __SIZE_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000633// ARM:#define __THUMB_INTERWORK__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +0000634// ARM:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000635// ARM:#define __USER_LABEL_PREFIX__ _
James Molloyc445be42011-11-23 13:35:08 +0000636// ARM:#define __WCHAR_MAX__ 4294967295U
637// ARM:#define __WCHAR_TYPE__ unsigned int
Ken Dyck0138b9e2009-11-19 15:47:58 +0000638// ARM:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000639// ARM:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +0000640// ARM:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000641// ARM:#define __arm 1
642// ARM:#define __arm__ 1
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000643
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000644// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armeb-none-none < /dev/null | FileCheck -check-prefix ARM-BE %s
645//
646// ARM-BE-NOT:#define _LP64
647// ARM-BE:#define __APCS_32__ 1
648// ARM-BE:#define __ARMEB__ 1
649// ARM-BE-NOT:#define __ARMEL__ 1
650// ARM-BE:#define __ARM_ARCH_6J__ 1
651// ARM-BE:#define __ARM_BIG_ENDIAN 1
652// ARM-BE:#define __BIG_ENDIAN__ 1
653// ARM-BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
654// ARM-BE:#define __CHAR16_TYPE__ unsigned short
655// ARM-BE:#define __CHAR32_TYPE__ unsigned int
656// ARM-BE:#define __CHAR_BIT__ 8
657// ARM-BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
658// ARM-BE:#define __DBL_DIG__ 15
659// ARM-BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
660// ARM-BE:#define __DBL_HAS_DENORM__ 1
661// ARM-BE:#define __DBL_HAS_INFINITY__ 1
662// ARM-BE:#define __DBL_HAS_QUIET_NAN__ 1
663// ARM-BE:#define __DBL_MANT_DIG__ 53
664// ARM-BE:#define __DBL_MAX_10_EXP__ 308
665// ARM-BE:#define __DBL_MAX_EXP__ 1024
666// ARM-BE:#define __DBL_MAX__ 1.7976931348623157e+308
667// ARM-BE:#define __DBL_MIN_10_EXP__ (-307)
668// ARM-BE:#define __DBL_MIN_EXP__ (-1021)
669// ARM-BE:#define __DBL_MIN__ 2.2250738585072014e-308
670// ARM-BE:#define __DECIMAL_DIG__ 17
671// ARM-BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
672// ARM-BE:#define __FLT_DIG__ 6
673// ARM-BE:#define __FLT_EPSILON__ 1.19209290e-7F
674// ARM-BE:#define __FLT_EVAL_METHOD__ 0
675// ARM-BE:#define __FLT_HAS_DENORM__ 1
676// ARM-BE:#define __FLT_HAS_INFINITY__ 1
677// ARM-BE:#define __FLT_HAS_QUIET_NAN__ 1
678// ARM-BE:#define __FLT_MANT_DIG__ 24
679// ARM-BE:#define __FLT_MAX_10_EXP__ 38
680// ARM-BE:#define __FLT_MAX_EXP__ 128
681// ARM-BE:#define __FLT_MAX__ 3.40282347e+38F
682// ARM-BE:#define __FLT_MIN_10_EXP__ (-37)
683// ARM-BE:#define __FLT_MIN_EXP__ (-125)
684// ARM-BE:#define __FLT_MIN__ 1.17549435e-38F
685// ARM-BE:#define __FLT_RADIX__ 2
686// ARM-BE:#define __INT16_TYPE__ short
687// ARM-BE:#define __INT32_TYPE__ int
688// ARM-BE:#define __INT64_C_SUFFIX__ LL
689// ARM-BE:#define __INT64_TYPE__ long long int
690// ARM-BE:#define __INT8_TYPE__ char
691// ARM-BE:#define __INTMAX_MAX__ 9223372036854775807LL
692// ARM-BE:#define __INTMAX_TYPE__ long long int
693// ARM-BE:#define __INTMAX_WIDTH__ 64
694// ARM-BE:#define __INTPTR_TYPE__ long int
695// ARM-BE:#define __INTPTR_WIDTH__ 32
696// ARM-BE:#define __INT_MAX__ 2147483647
697// ARM-BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
698// ARM-BE:#define __LDBL_DIG__ 15
699// ARM-BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
700// ARM-BE:#define __LDBL_HAS_DENORM__ 1
701// ARM-BE:#define __LDBL_HAS_INFINITY__ 1
702// ARM-BE:#define __LDBL_HAS_QUIET_NAN__ 1
703// ARM-BE:#define __LDBL_MANT_DIG__ 53
704// ARM-BE:#define __LDBL_MAX_10_EXP__ 308
705// ARM-BE:#define __LDBL_MAX_EXP__ 1024
706// ARM-BE:#define __LDBL_MAX__ 1.7976931348623157e+308L
707// ARM-BE:#define __LDBL_MIN_10_EXP__ (-307)
708// ARM-BE:#define __LDBL_MIN_EXP__ (-1021)
709// ARM-BE:#define __LDBL_MIN__ 2.2250738585072014e-308L
710// ARM-BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
711// ARM-BE:#define __LONG_MAX__ 2147483647L
712// ARM-BE-NOT:#define __LP64__
713// ARM-BE:#define __POINTER_WIDTH__ 32
714// ARM-BE:#define __PTRDIFF_TYPE__ int
715// ARM-BE:#define __PTRDIFF_WIDTH__ 32
716// ARM-BE:#define __REGISTER_PREFIX__
717// ARM-BE:#define __SCHAR_MAX__ 127
718// ARM-BE:#define __SHRT_MAX__ 32767
719// ARM-BE:#define __SIG_ATOMIC_WIDTH__ 32
720// ARM-BE:#define __SIZEOF_DOUBLE__ 8
721// ARM-BE:#define __SIZEOF_FLOAT__ 4
722// ARM-BE:#define __SIZEOF_INT__ 4
723// ARM-BE:#define __SIZEOF_LONG_DOUBLE__ 8
724// ARM-BE:#define __SIZEOF_LONG_LONG__ 8
725// ARM-BE:#define __SIZEOF_LONG__ 4
726// ARM-BE:#define __SIZEOF_POINTER__ 4
727// ARM-BE:#define __SIZEOF_PTRDIFF_T__ 4
728// ARM-BE:#define __SIZEOF_SHORT__ 2
729// ARM-BE:#define __SIZEOF_SIZE_T__ 4
730// ARM-BE:#define __SIZEOF_WCHAR_T__ 4
731// ARM-BE:#define __SIZEOF_WINT_T__ 4
732// ARM-BE:#define __SIZE_MAX__ 4294967295U
733// ARM-BE:#define __SIZE_TYPE__ unsigned int
734// ARM-BE:#define __SIZE_WIDTH__ 32
735// ARM-BE:#define __THUMB_INTERWORK__ 1
736// ARM-BE:#define __UINTMAX_TYPE__ long long unsigned int
737// ARM-BE:#define __USER_LABEL_PREFIX__ _
738// ARM-BE:#define __WCHAR_MAX__ 4294967295U
739// ARM-BE:#define __WCHAR_TYPE__ unsigned int
740// ARM-BE:#define __WCHAR_WIDTH__ 32
741// ARM-BE:#define __WINT_TYPE__ int
742// ARM-BE:#define __WINT_WIDTH__ 32
743// ARM-BE:#define __arm 1
744// ARM-BE:#define __arm__ 1
745
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000746// 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
747//
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000748// ARMEABISOFTFP-NOT:#define _LP64
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000749// ARMEABISOFTFP:#define __APCS_32__ 1
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000750// ARMEABISOFTFP-NOT:#define __ARMEB__ 1
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000751// ARMEABISOFTFP:#define __ARMEL__ 1
752// ARMEABISOFTFP:#define __ARM_ARCH 6
753// ARMEABISOFTFP:#define __ARM_ARCH_6J__ 1
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000754// ARMEABISOFTFP-NOT:#define __ARM_BIG_ENDIAN 1
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000755// ARMEABISOFTFP:#define __ARM_EABI__ 1
756// ARMEABISOFTFP:#define __ARM_PCS 1
757// ARMEABISOFTFP-NOT:#define __ARM_PCS_VFP 1
758// ARMEABISOFTFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
759// ARMEABISOFTFP:#define __CHAR16_TYPE__ unsigned short
760// ARMEABISOFTFP:#define __CHAR32_TYPE__ unsigned int
761// ARMEABISOFTFP:#define __CHAR_BIT__ 8
762// ARMEABISOFTFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
763// ARMEABISOFTFP:#define __DBL_DIG__ 15
764// ARMEABISOFTFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
765// ARMEABISOFTFP:#define __DBL_HAS_DENORM__ 1
766// ARMEABISOFTFP:#define __DBL_HAS_INFINITY__ 1
767// ARMEABISOFTFP:#define __DBL_HAS_QUIET_NAN__ 1
768// ARMEABISOFTFP:#define __DBL_MANT_DIG__ 53
769// ARMEABISOFTFP:#define __DBL_MAX_10_EXP__ 308
770// ARMEABISOFTFP:#define __DBL_MAX_EXP__ 1024
771// ARMEABISOFTFP:#define __DBL_MAX__ 1.7976931348623157e+308
772// ARMEABISOFTFP:#define __DBL_MIN_10_EXP__ (-307)
773// ARMEABISOFTFP:#define __DBL_MIN_EXP__ (-1021)
774// ARMEABISOFTFP:#define __DBL_MIN__ 2.2250738585072014e-308
775// ARMEABISOFTFP:#define __DECIMAL_DIG__ 17
776// ARMEABISOFTFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
777// ARMEABISOFTFP:#define __FLT_DIG__ 6
778// ARMEABISOFTFP:#define __FLT_EPSILON__ 1.19209290e-7F
779// ARMEABISOFTFP:#define __FLT_EVAL_METHOD__ 0
780// ARMEABISOFTFP:#define __FLT_HAS_DENORM__ 1
781// ARMEABISOFTFP:#define __FLT_HAS_INFINITY__ 1
782// ARMEABISOFTFP:#define __FLT_HAS_QUIET_NAN__ 1
783// ARMEABISOFTFP:#define __FLT_MANT_DIG__ 24
784// ARMEABISOFTFP:#define __FLT_MAX_10_EXP__ 38
785// ARMEABISOFTFP:#define __FLT_MAX_EXP__ 128
786// ARMEABISOFTFP:#define __FLT_MAX__ 3.40282347e+38F
787// ARMEABISOFTFP:#define __FLT_MIN_10_EXP__ (-37)
788// ARMEABISOFTFP:#define __FLT_MIN_EXP__ (-125)
789// ARMEABISOFTFP:#define __FLT_MIN__ 1.17549435e-38F
790// ARMEABISOFTFP:#define __FLT_RADIX__ 2
791// ARMEABISOFTFP:#define __INT16_TYPE__ short
792// ARMEABISOFTFP:#define __INT32_TYPE__ int
793// ARMEABISOFTFP:#define __INT64_C_SUFFIX__ LL
794// ARMEABISOFTFP:#define __INT64_TYPE__ long long int
795// ARMEABISOFTFP:#define __INT8_TYPE__ char
796// ARMEABISOFTFP:#define __INTMAX_MAX__ 9223372036854775807LL
797// ARMEABISOFTFP:#define __INTMAX_TYPE__ long long int
798// ARMEABISOFTFP:#define __INTMAX_WIDTH__ 64
799// ARMEABISOFTFP:#define __INTPTR_TYPE__ long int
800// ARMEABISOFTFP:#define __INTPTR_WIDTH__ 32
801// ARMEABISOFTFP:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000802// ARMEABISOFTFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000803// ARMEABISOFTFP:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000804// ARMEABISOFTFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000805// ARMEABISOFTFP:#define __LDBL_HAS_DENORM__ 1
806// ARMEABISOFTFP:#define __LDBL_HAS_INFINITY__ 1
807// ARMEABISOFTFP:#define __LDBL_HAS_QUIET_NAN__ 1
808// ARMEABISOFTFP:#define __LDBL_MANT_DIG__ 53
809// ARMEABISOFTFP:#define __LDBL_MAX_10_EXP__ 308
810// ARMEABISOFTFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000811// ARMEABISOFTFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000812// ARMEABISOFTFP:#define __LDBL_MIN_10_EXP__ (-307)
813// ARMEABISOFTFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000814// ARMEABISOFTFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000815// ARMEABISOFTFP:#define __LITTLE_ENDIAN__ 1
816// ARMEABISOFTFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
817// ARMEABISOFTFP:#define __LONG_MAX__ 2147483647L
818// ARMEABISOFTFP-NOT:#define __LP64__
819// ARMEABISOFTFP:#define __POINTER_WIDTH__ 32
820// ARMEABISOFTFP:#define __PTRDIFF_TYPE__ int
821// ARMEABISOFTFP:#define __PTRDIFF_WIDTH__ 32
822// ARMEABISOFTFP:#define __REGISTER_PREFIX__
823// ARMEABISOFTFP:#define __SCHAR_MAX__ 127
824// ARMEABISOFTFP:#define __SHRT_MAX__ 32767
825// ARMEABISOFTFP:#define __SIG_ATOMIC_WIDTH__ 32
826// ARMEABISOFTFP:#define __SIZEOF_DOUBLE__ 8
827// ARMEABISOFTFP:#define __SIZEOF_FLOAT__ 4
828// ARMEABISOFTFP:#define __SIZEOF_INT__ 4
829// ARMEABISOFTFP:#define __SIZEOF_LONG_DOUBLE__ 8
830// ARMEABISOFTFP:#define __SIZEOF_LONG_LONG__ 8
831// ARMEABISOFTFP:#define __SIZEOF_LONG__ 4
832// ARMEABISOFTFP:#define __SIZEOF_POINTER__ 4
833// ARMEABISOFTFP:#define __SIZEOF_PTRDIFF_T__ 4
834// ARMEABISOFTFP:#define __SIZEOF_SHORT__ 2
835// ARMEABISOFTFP:#define __SIZEOF_SIZE_T__ 4
836// ARMEABISOFTFP:#define __SIZEOF_WCHAR_T__ 4
837// ARMEABISOFTFP:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000838// ARMEABISOFTFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000839// ARMEABISOFTFP:#define __SIZE_TYPE__ unsigned int
840// ARMEABISOFTFP:#define __SIZE_WIDTH__ 32
841// ARMEABISOFTFP:#define __SOFTFP__ 1
842// ARMEABISOFTFP:#define __THUMB_INTERWORK__ 1
843// ARMEABISOFTFP:#define __UINTMAX_TYPE__ long long unsigned int
844// ARMEABISOFTFP:#define __USER_LABEL_PREFIX__
845// ARMEABISOFTFP:#define __WCHAR_MAX__ 4294967295U
846// ARMEABISOFTFP:#define __WCHAR_TYPE__ unsigned int
847// ARMEABISOFTFP:#define __WCHAR_WIDTH__ 32
848// ARMEABISOFTFP:#define __WINT_TYPE__ unsigned int
849// ARMEABISOFTFP:#define __WINT_WIDTH__ 32
850// ARMEABISOFTFP:#define __arm 1
851// ARMEABISOFTFP:#define __arm__ 1
852
853// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-linux-gnueabi < /dev/null | FileCheck -check-prefix ARMEABIHARDFP %s
854//
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000855// ARMEABIHARDFP-NOT:#define _LP64
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000856// ARMEABIHARDFP:#define __APCS_32__ 1
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000857// ARMEABIHARDFP-NOT:#define __ARMEB__ 1
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000858// ARMEABIHARDFP:#define __ARMEL__ 1
859// ARMEABIHARDFP:#define __ARM_ARCH 6
860// ARMEABIHARDFP:#define __ARM_ARCH_6J__ 1
Christian Pirkerf01cd6f2014-03-28 14:40:46 +0000861// ARMEABIHARDFP-NOT:#define __ARM_BIG_ENDIAN 1
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000862// ARMEABIHARDFP:#define __ARM_EABI__ 1
863// ARMEABIHARDFP:#define __ARM_PCS 1
864// ARMEABIHARDFP:#define __ARM_PCS_VFP 1
865// ARMEABIHARDFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
866// ARMEABIHARDFP:#define __CHAR16_TYPE__ unsigned short
867// ARMEABIHARDFP:#define __CHAR32_TYPE__ unsigned int
868// ARMEABIHARDFP:#define __CHAR_BIT__ 8
869// ARMEABIHARDFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
870// ARMEABIHARDFP:#define __DBL_DIG__ 15
871// ARMEABIHARDFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
872// ARMEABIHARDFP:#define __DBL_HAS_DENORM__ 1
873// ARMEABIHARDFP:#define __DBL_HAS_INFINITY__ 1
874// ARMEABIHARDFP:#define __DBL_HAS_QUIET_NAN__ 1
875// ARMEABIHARDFP:#define __DBL_MANT_DIG__ 53
876// ARMEABIHARDFP:#define __DBL_MAX_10_EXP__ 308
877// ARMEABIHARDFP:#define __DBL_MAX_EXP__ 1024
878// ARMEABIHARDFP:#define __DBL_MAX__ 1.7976931348623157e+308
879// ARMEABIHARDFP:#define __DBL_MIN_10_EXP__ (-307)
880// ARMEABIHARDFP:#define __DBL_MIN_EXP__ (-1021)
881// ARMEABIHARDFP:#define __DBL_MIN__ 2.2250738585072014e-308
882// ARMEABIHARDFP:#define __DECIMAL_DIG__ 17
883// ARMEABIHARDFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
884// ARMEABIHARDFP:#define __FLT_DIG__ 6
885// ARMEABIHARDFP:#define __FLT_EPSILON__ 1.19209290e-7F
886// ARMEABIHARDFP:#define __FLT_EVAL_METHOD__ 0
887// ARMEABIHARDFP:#define __FLT_HAS_DENORM__ 1
888// ARMEABIHARDFP:#define __FLT_HAS_INFINITY__ 1
889// ARMEABIHARDFP:#define __FLT_HAS_QUIET_NAN__ 1
890// ARMEABIHARDFP:#define __FLT_MANT_DIG__ 24
891// ARMEABIHARDFP:#define __FLT_MAX_10_EXP__ 38
892// ARMEABIHARDFP:#define __FLT_MAX_EXP__ 128
893// ARMEABIHARDFP:#define __FLT_MAX__ 3.40282347e+38F
894// ARMEABIHARDFP:#define __FLT_MIN_10_EXP__ (-37)
895// ARMEABIHARDFP:#define __FLT_MIN_EXP__ (-125)
896// ARMEABIHARDFP:#define __FLT_MIN__ 1.17549435e-38F
897// ARMEABIHARDFP:#define __FLT_RADIX__ 2
898// ARMEABIHARDFP:#define __INT16_TYPE__ short
899// ARMEABIHARDFP:#define __INT32_TYPE__ int
900// ARMEABIHARDFP:#define __INT64_C_SUFFIX__ LL
901// ARMEABIHARDFP:#define __INT64_TYPE__ long long int
902// ARMEABIHARDFP:#define __INT8_TYPE__ char
903// ARMEABIHARDFP:#define __INTMAX_MAX__ 9223372036854775807LL
904// ARMEABIHARDFP:#define __INTMAX_TYPE__ long long int
905// ARMEABIHARDFP:#define __INTMAX_WIDTH__ 64
906// ARMEABIHARDFP:#define __INTPTR_TYPE__ long int
907// ARMEABIHARDFP:#define __INTPTR_WIDTH__ 32
908// ARMEABIHARDFP:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000909// ARMEABIHARDFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000910// ARMEABIHARDFP:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000911// ARMEABIHARDFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000912// ARMEABIHARDFP:#define __LDBL_HAS_DENORM__ 1
913// ARMEABIHARDFP:#define __LDBL_HAS_INFINITY__ 1
914// ARMEABIHARDFP:#define __LDBL_HAS_QUIET_NAN__ 1
915// ARMEABIHARDFP:#define __LDBL_MANT_DIG__ 53
916// ARMEABIHARDFP:#define __LDBL_MAX_10_EXP__ 308
917// ARMEABIHARDFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000918// ARMEABIHARDFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000919// ARMEABIHARDFP:#define __LDBL_MIN_10_EXP__ (-307)
920// ARMEABIHARDFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000921// ARMEABIHARDFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000922// ARMEABIHARDFP:#define __LITTLE_ENDIAN__ 1
923// ARMEABIHARDFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
924// ARMEABIHARDFP:#define __LONG_MAX__ 2147483647L
925// ARMEABIHARDFP-NOT:#define __LP64__
926// ARMEABIHARDFP:#define __POINTER_WIDTH__ 32
927// ARMEABIHARDFP:#define __PTRDIFF_TYPE__ int
928// ARMEABIHARDFP:#define __PTRDIFF_WIDTH__ 32
929// ARMEABIHARDFP:#define __REGISTER_PREFIX__
930// ARMEABIHARDFP:#define __SCHAR_MAX__ 127
931// ARMEABIHARDFP:#define __SHRT_MAX__ 32767
932// ARMEABIHARDFP:#define __SIG_ATOMIC_WIDTH__ 32
933// ARMEABIHARDFP:#define __SIZEOF_DOUBLE__ 8
934// ARMEABIHARDFP:#define __SIZEOF_FLOAT__ 4
935// ARMEABIHARDFP:#define __SIZEOF_INT__ 4
936// ARMEABIHARDFP:#define __SIZEOF_LONG_DOUBLE__ 8
937// ARMEABIHARDFP:#define __SIZEOF_LONG_LONG__ 8
938// ARMEABIHARDFP:#define __SIZEOF_LONG__ 4
939// ARMEABIHARDFP:#define __SIZEOF_POINTER__ 4
940// ARMEABIHARDFP:#define __SIZEOF_PTRDIFF_T__ 4
941// ARMEABIHARDFP:#define __SIZEOF_SHORT__ 2
942// ARMEABIHARDFP:#define __SIZEOF_SIZE_T__ 4
943// ARMEABIHARDFP:#define __SIZEOF_WCHAR_T__ 4
944// ARMEABIHARDFP:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000945// ARMEABIHARDFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000946// ARMEABIHARDFP:#define __SIZE_TYPE__ unsigned int
947// ARMEABIHARDFP:#define __SIZE_WIDTH__ 32
948// ARMEABIHARDFP-NOT:#define __SOFTFP__ 1
949// ARMEABIHARDFP:#define __THUMB_INTERWORK__ 1
950// ARMEABIHARDFP:#define __UINTMAX_TYPE__ long long unsigned int
951// ARMEABIHARDFP:#define __USER_LABEL_PREFIX__
952// ARMEABIHARDFP:#define __WCHAR_MAX__ 4294967295U
953// ARMEABIHARDFP:#define __WCHAR_TYPE__ unsigned int
954// ARMEABIHARDFP:#define __WCHAR_WIDTH__ 32
955// ARMEABIHARDFP:#define __WINT_TYPE__ unsigned int
956// ARMEABIHARDFP:#define __WINT_WIDTH__ 32
957// ARMEABIHARDFP:#define __arm 1
958// ARMEABIHARDFP:#define __arm__ 1
959
Joerg Sonnenberger4645b442014-05-13 18:58:00 +0000960// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-netbsd-eabi < /dev/null | FileCheck -check-prefix ARM-NETBSD %s
961//
962// ARM-NETBSD-NOT:#define _LP64
963// ARM-NETBSD:#define __APCS_32__ 1
964// ARM-NETBSD-NOT:#define __ARMEB__ 1
965// ARM-NETBSD:#define __ARMEL__ 1
966// ARM-NETBSD:#define __ARM_ARCH_6J__ 1
Joerg Sonnenbergercc1edb52014-05-13 18:58:36 +0000967// ARM-NETBSD:#define __ARM_DWARF_EH__ 1
Joerg Sonnenberger4645b442014-05-13 18:58:00 +0000968// ARM-NETBSD:#define __ARM_EABI__ 1
969// ARM-NETBSD-NOT:#define __ARM_BIG_ENDIAN 1
970// ARM-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
971// ARM-NETBSD:#define __CHAR16_TYPE__ unsigned short
972// ARM-NETBSD:#define __CHAR32_TYPE__ unsigned int
973// ARM-NETBSD:#define __CHAR_BIT__ 8
974// ARM-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
975// ARM-NETBSD:#define __DBL_DIG__ 15
976// ARM-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
977// ARM-NETBSD:#define __DBL_HAS_DENORM__ 1
978// ARM-NETBSD:#define __DBL_HAS_INFINITY__ 1
979// ARM-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
980// ARM-NETBSD:#define __DBL_MANT_DIG__ 53
981// ARM-NETBSD:#define __DBL_MAX_10_EXP__ 308
982// ARM-NETBSD:#define __DBL_MAX_EXP__ 1024
983// ARM-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
984// ARM-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
985// ARM-NETBSD:#define __DBL_MIN_EXP__ (-1021)
986// ARM-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
987// ARM-NETBSD:#define __DECIMAL_DIG__ 17
988// ARM-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
989// ARM-NETBSD:#define __FLT_DIG__ 6
990// ARM-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
991// ARM-NETBSD:#define __FLT_EVAL_METHOD__ 0
992// ARM-NETBSD:#define __FLT_HAS_DENORM__ 1
993// ARM-NETBSD:#define __FLT_HAS_INFINITY__ 1
994// ARM-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
995// ARM-NETBSD:#define __FLT_MANT_DIG__ 24
996// ARM-NETBSD:#define __FLT_MAX_10_EXP__ 38
997// ARM-NETBSD:#define __FLT_MAX_EXP__ 128
998// ARM-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
999// ARM-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
1000// ARM-NETBSD:#define __FLT_MIN_EXP__ (-125)
1001// ARM-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
1002// ARM-NETBSD:#define __FLT_RADIX__ 2
1003// ARM-NETBSD:#define __INT16_TYPE__ short
1004// ARM-NETBSD:#define __INT32_TYPE__ int
1005// ARM-NETBSD:#define __INT64_C_SUFFIX__ LL
1006// ARM-NETBSD:#define __INT64_TYPE__ long long int
1007// ARM-NETBSD:#define __INT8_TYPE__ char
1008// ARM-NETBSD:#define __INTMAX_MAX__ 9223372036854775807LL
1009// ARM-NETBSD:#define __INTMAX_TYPE__ long long int
1010// ARM-NETBSD:#define __INTMAX_WIDTH__ 64
1011// ARM-NETBSD:#define __INTPTR_TYPE__ long int
1012// ARM-NETBSD:#define __INTPTR_WIDTH__ 32
1013// ARM-NETBSD:#define __INT_MAX__ 2147483647
1014// ARM-NETBSD:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
1015// ARM-NETBSD:#define __LDBL_DIG__ 15
1016// ARM-NETBSD:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
1017// ARM-NETBSD:#define __LDBL_HAS_DENORM__ 1
1018// ARM-NETBSD:#define __LDBL_HAS_INFINITY__ 1
1019// ARM-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
1020// ARM-NETBSD:#define __LDBL_MANT_DIG__ 53
1021// ARM-NETBSD:#define __LDBL_MAX_10_EXP__ 308
1022// ARM-NETBSD:#define __LDBL_MAX_EXP__ 1024
1023// ARM-NETBSD:#define __LDBL_MAX__ 1.7976931348623157e+308L
1024// ARM-NETBSD:#define __LDBL_MIN_10_EXP__ (-307)
1025// ARM-NETBSD:#define __LDBL_MIN_EXP__ (-1021)
1026// ARM-NETBSD:#define __LDBL_MIN__ 2.2250738585072014e-308L
1027// ARM-NETBSD:#define __LITTLE_ENDIAN__ 1
1028// ARM-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
1029// ARM-NETBSD:#define __LONG_MAX__ 2147483647L
1030// ARM-NETBSD-NOT:#define __LP64__
1031// ARM-NETBSD:#define __POINTER_WIDTH__ 32
1032// ARM-NETBSD:#define __PTRDIFF_TYPE__ long int
1033// ARM-NETBSD:#define __PTRDIFF_WIDTH__ 32
1034// ARM-NETBSD:#define __REGISTER_PREFIX__
1035// ARM-NETBSD:#define __SCHAR_MAX__ 127
1036// ARM-NETBSD:#define __SHRT_MAX__ 32767
1037// ARM-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
1038// ARM-NETBSD:#define __SIZEOF_DOUBLE__ 8
1039// ARM-NETBSD:#define __SIZEOF_FLOAT__ 4
1040// ARM-NETBSD:#define __SIZEOF_INT__ 4
1041// ARM-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 8
1042// ARM-NETBSD:#define __SIZEOF_LONG_LONG__ 8
1043// ARM-NETBSD:#define __SIZEOF_LONG__ 4
1044// ARM-NETBSD:#define __SIZEOF_POINTER__ 4
1045// ARM-NETBSD:#define __SIZEOF_PTRDIFF_T__ 4
1046// ARM-NETBSD:#define __SIZEOF_SHORT__ 2
1047// ARM-NETBSD:#define __SIZEOF_SIZE_T__ 4
1048// ARM-NETBSD:#define __SIZEOF_WCHAR_T__ 4
1049// ARM-NETBSD:#define __SIZEOF_WINT_T__ 4
1050// ARM-NETBSD:#define __SIZE_MAX__ 4294967295U
1051// ARM-NETBSD:#define __SIZE_TYPE__ long unsigned int
1052// ARM-NETBSD:#define __SIZE_WIDTH__ 32
1053// ARM-NETBSD:#define __THUMB_INTERWORK__ 1
1054// ARM-NETBSD:#define __UINTMAX_TYPE__ long long unsigned int
1055// ARM-NETBSD:#define __USER_LABEL_PREFIX__
1056// ARM-NETBSD:#define __WCHAR_MAX__ 2147483647
1057// ARM-NETBSD:#define __WCHAR_TYPE__ int
1058// ARM-NETBSD:#define __WCHAR_WIDTH__ 32
1059// ARM-NETBSD:#define __WINT_TYPE__ int
1060// ARM-NETBSD:#define __WINT_WIDTH__ 32
1061// ARM-NETBSD:#define __arm 1
1062// ARM-NETBSD:#define __arm__ 1
1063
Tim Northovere77f78c2013-11-11 19:11:22 +00001064// RUN: %clang -target arm -arch armv7s -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
1065// RUN: %clang -target arm -arch armv6m -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
1066// RUN: %clang -target arm -arch armv7m -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
1067// RUN: %clang -target arm -arch armv7em -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
1068// RUN: %clang -target thumbv7-apple-darwin-eabi -arch armv7 -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
1069// ARM-DARWIN-NO-EABI-NOT: #define __ARM_EABI__ 1
1070
Silviu Barangaf9671dd2013-10-21 10:54:53 +00001071// Check that -mhwdiv works properly for targets which don't have the hwdiv feature enabled by default.
1072
1073// RUN: %clang -target arm -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-ARM %s
1074// ARMHWDIV-ARM:#define __ARM_ARCH_EXT_IDIV__ 1
1075
1076// RUN: %clang -target arm -mthumb -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-THUMB %s
1077// THUMBHWDIV-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1
1078
1079// RUN: %clang -target arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-FALSE %s
1080// ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
1081
1082// RUN: %clang -target arm -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMB-FALSE %s
1083// THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
1084
1085// RUN: %clang -target arm -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-ARM-FALSE %s
1086// THUMBHWDIV-ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
1087
1088// RUN: %clang -target arm -mthumb -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-THUMB-FALSE %s
1089// ARMHWDIV-THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
1090
Weiming Zhaofb5c21a2014-01-22 18:42:13 +00001091// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armv8-none-none < /dev/null | FileCheck -check-prefix ARMv8 %s
1092// ARMv8: #define __THUMB_INTERWORK__ 1
1093// ARMv8-NOT: #define __thumb2__
1094
Christian Pirkerf01cd6f2014-03-28 14:40:46 +00001095// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armebv8-none-none < /dev/null | FileCheck -check-prefix ARMebv8 %s
1096// ARMebv8: #define __THUMB_INTERWORK__ 1
1097// ARMebv8-NOT: #define __thumb2__
1098
Weiming Zhaofb5c21a2014-01-22 18:42:13 +00001099// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv8 < /dev/null | FileCheck -check-prefix Thumbv8 %s
1100// Thumbv8: #define __THUMB_INTERWORK__ 1
1101// Thumbv8: #define __thumb2__
1102
Christian Pirkerf01cd6f2014-03-28 14:40:46 +00001103// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbebv8 < /dev/null | FileCheck -check-prefix Thumbebv8 %s
1104// Thumbebv8: #define __THUMB_INTERWORK__ 1
1105// Thumbebv8: #define __thumb2__
1106
Weiming Zhaofb5c21a2014-01-22 18:42:13 +00001107// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv5 < /dev/null | FileCheck -check-prefix Thumbv5 %s
1108// Thumbv5: #define __THUMB_INTERWORK__ 1
1109// Thumbv5-NOT: #define __thumb2__
1110
1111// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv6t2 < /dev/null | FileCheck -check-prefix Thumbv6t2 %s
1112// Thumbv6t2: #define __THUMB_INTERWORK__ 1
1113// Thumbv6t2: #define __thumb2__
1114
1115// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv7 < /dev/null | FileCheck -check-prefix Thumbv7 %s
1116// Thumbv7: #define __THUMB_INTERWORK__ 1
1117// Thumbv7: #define __thumb2__
1118
Christian Pirkerf01cd6f2014-03-28 14:40:46 +00001119// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbebv7 < /dev/null | FileCheck -check-prefix Thumbebv7 %s
1120// Thumbebv7: #define __THUMB_INTERWORK__ 1
1121// Thumbebv7: #define __thumb2__
1122
Chris Lattnere963d092009-10-29 04:55:36 +00001123//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00001124// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
Chris Lattnere963d092009-10-29 04:55:36 +00001125//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001126// I386-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001127// I386:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00001128// I386:#define __CHAR16_TYPE__ unsigned short
1129// I386:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001130// I386:#define __CHAR_BIT__ 8
1131// I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1132// I386:#define __DBL_DIG__ 15
1133// I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
1134// I386:#define __DBL_HAS_DENORM__ 1
1135// I386:#define __DBL_HAS_INFINITY__ 1
1136// I386:#define __DBL_HAS_QUIET_NAN__ 1
1137// I386:#define __DBL_MANT_DIG__ 53
1138// I386:#define __DBL_MAX_10_EXP__ 308
1139// I386:#define __DBL_MAX_EXP__ 1024
1140// I386:#define __DBL_MAX__ 1.7976931348623157e+308
1141// I386:#define __DBL_MIN_10_EXP__ (-307)
1142// I386:#define __DBL_MIN_EXP__ (-1021)
1143// I386:#define __DBL_MIN__ 2.2250738585072014e-308
1144// I386:#define __DECIMAL_DIG__ 21
1145// I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1146// I386:#define __FLT_DIG__ 6
1147// I386:#define __FLT_EPSILON__ 1.19209290e-7F
Benjamin Kramercf501472011-12-28 15:47:06 +00001148// I386:#define __FLT_EVAL_METHOD__ 2
Chris Lattnere963d092009-10-29 04:55:36 +00001149// I386:#define __FLT_HAS_DENORM__ 1
1150// I386:#define __FLT_HAS_INFINITY__ 1
1151// I386:#define __FLT_HAS_QUIET_NAN__ 1
1152// I386:#define __FLT_MANT_DIG__ 24
1153// I386:#define __FLT_MAX_10_EXP__ 38
1154// I386:#define __FLT_MAX_EXP__ 128
1155// I386:#define __FLT_MAX__ 3.40282347e+38F
1156// I386:#define __FLT_MIN_10_EXP__ (-37)
1157// I386:#define __FLT_MIN_EXP__ (-125)
1158// I386:#define __FLT_MIN__ 1.17549435e-38F
1159// I386:#define __FLT_RADIX__ 2
1160// I386:#define __INT16_TYPE__ short
1161// I386:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00001162// I386:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00001163// I386:#define __INT64_TYPE__ long long int
1164// I386:#define __INT8_TYPE__ char
1165// I386:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00001166// I386:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00001167// I386:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00001168// I386:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00001169// I386:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00001170// I386:#define __INT_MAX__ 2147483647
1171// I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1172// I386:#define __LDBL_DIG__ 18
1173// I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1174// I386:#define __LDBL_HAS_DENORM__ 1
1175// I386:#define __LDBL_HAS_INFINITY__ 1
1176// I386:#define __LDBL_HAS_QUIET_NAN__ 1
1177// I386:#define __LDBL_MANT_DIG__ 64
1178// I386:#define __LDBL_MAX_10_EXP__ 4932
1179// I386:#define __LDBL_MAX_EXP__ 16384
1180// I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1181// I386:#define __LDBL_MIN_10_EXP__ (-4931)
1182// I386:#define __LDBL_MIN_EXP__ (-16381)
1183// I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1184// I386:#define __LITTLE_ENDIAN__ 1
1185// I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
1186// I386:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001187// I386-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00001188// I386:#define __NO_MATH_INLINES 1
1189// I386:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00001190// I386:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00001191// I386:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00001192// I386:#define __REGISTER_PREFIX__
1193// I386:#define __SCHAR_MAX__ 127
1194// I386:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00001195// I386:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00001196// I386:#define __SIZEOF_DOUBLE__ 8
1197// I386:#define __SIZEOF_FLOAT__ 4
1198// I386:#define __SIZEOF_INT__ 4
1199// I386:#define __SIZEOF_LONG_DOUBLE__ 12
1200// I386:#define __SIZEOF_LONG_LONG__ 8
1201// I386:#define __SIZEOF_LONG__ 4
1202// I386:#define __SIZEOF_POINTER__ 4
1203// I386:#define __SIZEOF_PTRDIFF_T__ 4
1204// I386:#define __SIZEOF_SHORT__ 2
1205// I386:#define __SIZEOF_SIZE_T__ 4
1206// I386:#define __SIZEOF_WCHAR_T__ 4
1207// I386:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001208// I386:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00001209// I386:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00001210// I386:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00001211// I386:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001212// I386:#define __USER_LABEL_PREFIX__ _
1213// I386:#define __WCHAR_MAX__ 2147483647
1214// I386:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00001215// I386:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00001216// I386:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00001217// I386:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00001218// I386:#define __i386 1
1219// I386:#define __i386__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00001220// I386:#define i386 1
1221//
Benjamin Kramercf501472011-12-28 15:47:06 +00001222// 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 +00001223//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001224// I386-LINUX-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001225// I386-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregore6d6e512011-01-12 21:19:25 +00001226// I386-LINUX:#define __CHAR16_TYPE__ unsigned short
1227// I386-LINUX:#define __CHAR32_TYPE__ unsigned int
1228// I386-LINUX:#define __CHAR_BIT__ 8
1229// I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1230// I386-LINUX:#define __DBL_DIG__ 15
1231// I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
1232// I386-LINUX:#define __DBL_HAS_DENORM__ 1
1233// I386-LINUX:#define __DBL_HAS_INFINITY__ 1
1234// I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
1235// I386-LINUX:#define __DBL_MANT_DIG__ 53
1236// I386-LINUX:#define __DBL_MAX_10_EXP__ 308
1237// I386-LINUX:#define __DBL_MAX_EXP__ 1024
1238// I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
1239// I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
1240// I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
1241// I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
1242// I386-LINUX:#define __DECIMAL_DIG__ 21
1243// I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1244// I386-LINUX:#define __FLT_DIG__ 6
1245// I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
1246// I386-LINUX:#define __FLT_EVAL_METHOD__ 0
1247// I386-LINUX:#define __FLT_HAS_DENORM__ 1
1248// I386-LINUX:#define __FLT_HAS_INFINITY__ 1
1249// I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
1250// I386-LINUX:#define __FLT_MANT_DIG__ 24
1251// I386-LINUX:#define __FLT_MAX_10_EXP__ 38
1252// I386-LINUX:#define __FLT_MAX_EXP__ 128
1253// I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
1254// I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
1255// I386-LINUX:#define __FLT_MIN_EXP__ (-125)
1256// I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
1257// I386-LINUX:#define __FLT_RADIX__ 2
1258// I386-LINUX:#define __INT16_TYPE__ short
1259// I386-LINUX:#define __INT32_TYPE__ int
1260// I386-LINUX:#define __INT64_C_SUFFIX__ LL
1261// I386-LINUX:#define __INT64_TYPE__ long long int
1262// I386-LINUX:#define __INT8_TYPE__ char
1263// I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
1264// I386-LINUX:#define __INTMAX_TYPE__ long long int
1265// I386-LINUX:#define __INTMAX_WIDTH__ 64
1266// I386-LINUX:#define __INTPTR_TYPE__ int
1267// I386-LINUX:#define __INTPTR_WIDTH__ 32
1268// I386-LINUX:#define __INT_MAX__ 2147483647
1269// I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1270// I386-LINUX:#define __LDBL_DIG__ 18
1271// I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1272// I386-LINUX:#define __LDBL_HAS_DENORM__ 1
1273// I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
1274// I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
1275// I386-LINUX:#define __LDBL_MANT_DIG__ 64
1276// I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
1277// I386-LINUX:#define __LDBL_MAX_EXP__ 16384
1278// I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1279// I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
1280// I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
1281// I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1282// I386-LINUX:#define __LITTLE_ENDIAN__ 1
1283// I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
1284// I386-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001285// I386-LINUX-NOT:#define __LP64__
Douglas Gregore6d6e512011-01-12 21:19:25 +00001286// I386-LINUX:#define __NO_MATH_INLINES 1
1287// I386-LINUX:#define __POINTER_WIDTH__ 32
1288// I386-LINUX:#define __PTRDIFF_TYPE__ int
1289// I386-LINUX:#define __PTRDIFF_WIDTH__ 32
1290// I386-LINUX:#define __REGISTER_PREFIX__
1291// I386-LINUX:#define __SCHAR_MAX__ 127
1292// I386-LINUX:#define __SHRT_MAX__ 32767
1293// I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
1294// I386-LINUX:#define __SIZEOF_DOUBLE__ 8
1295// I386-LINUX:#define __SIZEOF_FLOAT__ 4
1296// I386-LINUX:#define __SIZEOF_INT__ 4
1297// I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
1298// I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
1299// I386-LINUX:#define __SIZEOF_LONG__ 4
1300// I386-LINUX:#define __SIZEOF_POINTER__ 4
1301// I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
1302// I386-LINUX:#define __SIZEOF_SHORT__ 2
1303// I386-LINUX:#define __SIZEOF_SIZE_T__ 4
1304// I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
1305// I386-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001306// I386-LINUX:#define __SIZE_MAX__ 4294967295U
Douglas Gregore6d6e512011-01-12 21:19:25 +00001307// I386-LINUX:#define __SIZE_TYPE__ unsigned int
1308// I386-LINUX:#define __SIZE_WIDTH__ 32
1309// I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
1310// I386-LINUX:#define __USER_LABEL_PREFIX__
1311// I386-LINUX:#define __WCHAR_MAX__ 2147483647
1312// I386-LINUX:#define __WCHAR_TYPE__ int
1313// I386-LINUX:#define __WCHAR_WIDTH__ 32
1314// I386-LINUX:#define __WINT_TYPE__ unsigned int
1315// I386-LINUX:#define __WINT_WIDTH__ 32
1316// I386-LINUX:#define __i386 1
1317// I386-LINUX:#define __i386__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00001318// I386-LINUX:#define i386 1
1319//
Joerg Sonnenberger0e921f22013-11-11 14:00:37 +00001320// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd < /dev/null | FileCheck -check-prefix I386-NETBSD %s
1321//
1322// I386-NETBSD-NOT:#define _LP64
1323// I386-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1324// I386-NETBSD:#define __CHAR16_TYPE__ unsigned short
1325// I386-NETBSD:#define __CHAR32_TYPE__ unsigned int
1326// I386-NETBSD:#define __CHAR_BIT__ 8
1327// I386-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1328// I386-NETBSD:#define __DBL_DIG__ 15
1329// I386-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
1330// I386-NETBSD:#define __DBL_HAS_DENORM__ 1
1331// I386-NETBSD:#define __DBL_HAS_INFINITY__ 1
1332// I386-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
1333// I386-NETBSD:#define __DBL_MANT_DIG__ 53
1334// I386-NETBSD:#define __DBL_MAX_10_EXP__ 308
1335// I386-NETBSD:#define __DBL_MAX_EXP__ 1024
1336// I386-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
1337// I386-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
1338// I386-NETBSD:#define __DBL_MIN_EXP__ (-1021)
1339// I386-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
1340// I386-NETBSD:#define __DECIMAL_DIG__ 21
1341// I386-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1342// I386-NETBSD:#define __FLT_DIG__ 6
1343// I386-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
1344// I386-NETBSD:#define __FLT_EVAL_METHOD__ 2
1345// I386-NETBSD:#define __FLT_HAS_DENORM__ 1
1346// I386-NETBSD:#define __FLT_HAS_INFINITY__ 1
1347// I386-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
1348// I386-NETBSD:#define __FLT_MANT_DIG__ 24
1349// I386-NETBSD:#define __FLT_MAX_10_EXP__ 38
1350// I386-NETBSD:#define __FLT_MAX_EXP__ 128
1351// I386-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
1352// I386-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
1353// I386-NETBSD:#define __FLT_MIN_EXP__ (-125)
1354// I386-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
1355// I386-NETBSD:#define __FLT_RADIX__ 2
1356// I386-NETBSD:#define __INT16_TYPE__ short
1357// I386-NETBSD:#define __INT32_TYPE__ int
1358// I386-NETBSD:#define __INT64_C_SUFFIX__ LL
1359// I386-NETBSD:#define __INT64_TYPE__ long long int
1360// I386-NETBSD:#define __INT8_TYPE__ char
1361// I386-NETBSD:#define __INTMAX_MAX__ 9223372036854775807LL
1362// I386-NETBSD:#define __INTMAX_TYPE__ long long int
1363// I386-NETBSD:#define __INTMAX_WIDTH__ 64
1364// I386-NETBSD:#define __INTPTR_TYPE__ int
1365// I386-NETBSD:#define __INTPTR_WIDTH__ 32
1366// I386-NETBSD:#define __INT_MAX__ 2147483647
1367// I386-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1368// I386-NETBSD:#define __LDBL_DIG__ 18
1369// I386-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1370// I386-NETBSD:#define __LDBL_HAS_DENORM__ 1
1371// I386-NETBSD:#define __LDBL_HAS_INFINITY__ 1
1372// I386-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
1373// I386-NETBSD:#define __LDBL_MANT_DIG__ 64
1374// I386-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
1375// I386-NETBSD:#define __LDBL_MAX_EXP__ 16384
1376// I386-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1377// I386-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
1378// I386-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
1379// I386-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1380// I386-NETBSD:#define __LITTLE_ENDIAN__ 1
1381// I386-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
1382// I386-NETBSD:#define __LONG_MAX__ 2147483647L
1383// I386-NETBSD-NOT:#define __LP64__
1384// I386-NETBSD:#define __NO_MATH_INLINES 1
1385// I386-NETBSD:#define __POINTER_WIDTH__ 32
1386// I386-NETBSD:#define __PTRDIFF_TYPE__ int
1387// I386-NETBSD:#define __PTRDIFF_WIDTH__ 32
1388// I386-NETBSD:#define __REGISTER_PREFIX__
1389// I386-NETBSD:#define __SCHAR_MAX__ 127
1390// I386-NETBSD:#define __SHRT_MAX__ 32767
1391// I386-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
1392// I386-NETBSD:#define __SIZEOF_DOUBLE__ 8
1393// I386-NETBSD:#define __SIZEOF_FLOAT__ 4
1394// I386-NETBSD:#define __SIZEOF_INT__ 4
1395// I386-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 12
1396// I386-NETBSD:#define __SIZEOF_LONG_LONG__ 8
1397// I386-NETBSD:#define __SIZEOF_LONG__ 4
1398// I386-NETBSD:#define __SIZEOF_POINTER__ 4
1399// I386-NETBSD:#define __SIZEOF_PTRDIFF_T__ 4
1400// I386-NETBSD:#define __SIZEOF_SHORT__ 2
1401// I386-NETBSD:#define __SIZEOF_SIZE_T__ 4
1402// I386-NETBSD:#define __SIZEOF_WCHAR_T__ 4
1403// I386-NETBSD:#define __SIZEOF_WINT_T__ 4
1404// I386-NETBSD:#define __SIZE_MAX__ 4294967295U
1405// I386-NETBSD:#define __SIZE_TYPE__ unsigned int
1406// I386-NETBSD:#define __SIZE_WIDTH__ 32
1407// I386-NETBSD:#define __UINTMAX_TYPE__ long long unsigned int
1408// I386-NETBSD:#define __USER_LABEL_PREFIX__
1409// I386-NETBSD:#define __WCHAR_MAX__ 2147483647
1410// I386-NETBSD:#define __WCHAR_TYPE__ int
1411// I386-NETBSD:#define __WCHAR_WIDTH__ 32
1412// I386-NETBSD:#define __WINT_TYPE__ int
1413// I386-NETBSD:#define __WINT_WIDTH__ 32
1414// I386-NETBSD:#define __i386 1
1415// I386-NETBSD:#define __i386__ 1
1416// I386-NETBSD:#define i386 1
1417//
1418// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD-SSE %s
1419// I386-NETBSD-SSE:#define __FLT_EVAL_METHOD__ 0
1420// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 < /dev/null | FileCheck -check-prefix I386-NETBSD6 %s
1421// I386-NETBSD6:#define __FLT_EVAL_METHOD__ 1
1422// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD6-SSE %s
1423// I386-NETBSD6-SSE:#define __FLT_EVAL_METHOD__ 1
1424
1425//
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001426// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none < /dev/null | FileCheck -check-prefix MIPS32BE %s
1427//
1428// MIPS32BE:#define MIPSEB 1
1429// MIPS32BE:#define _ABIO32 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001430// MIPS32BE-NOT:#define _LP64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001431// MIPS32BE:#define _MIPSEB 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001432// MIPS32BE:#define _MIPS_ARCH "mips32r2"
1433// MIPS32BE:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001434// MIPS32BE:#define _MIPS_FPSET 16
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001435// MIPS32BE:#define _MIPS_SIM _ABIO32
1436// MIPS32BE:#define _MIPS_SZINT 32
1437// MIPS32BE:#define _MIPS_SZLONG 32
1438// MIPS32BE:#define _MIPS_SZPTR 32
Robert Lytton2c942c62014-03-10 12:06:29 +00001439// MIPS32BE:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001440// MIPS32BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001441// MIPS32BE:#define __CHAR16_TYPE__ unsigned short
1442// MIPS32BE:#define __CHAR32_TYPE__ unsigned int
1443// MIPS32BE:#define __CHAR_BIT__ 8
1444// MIPS32BE:#define __CONSTANT_CFSTRINGS__ 1
1445// MIPS32BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1446// MIPS32BE:#define __DBL_DIG__ 15
1447// MIPS32BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
1448// MIPS32BE:#define __DBL_HAS_DENORM__ 1
1449// MIPS32BE:#define __DBL_HAS_INFINITY__ 1
1450// MIPS32BE:#define __DBL_HAS_QUIET_NAN__ 1
1451// MIPS32BE:#define __DBL_MANT_DIG__ 53
1452// MIPS32BE:#define __DBL_MAX_10_EXP__ 308
1453// MIPS32BE:#define __DBL_MAX_EXP__ 1024
1454// MIPS32BE:#define __DBL_MAX__ 1.7976931348623157e+308
1455// MIPS32BE:#define __DBL_MIN_10_EXP__ (-307)
1456// MIPS32BE:#define __DBL_MIN_EXP__ (-1021)
1457// MIPS32BE:#define __DBL_MIN__ 2.2250738585072014e-308
1458// MIPS32BE:#define __DECIMAL_DIG__ 17
1459// MIPS32BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1460// MIPS32BE:#define __FLT_DIG__ 6
1461// MIPS32BE:#define __FLT_EPSILON__ 1.19209290e-7F
1462// MIPS32BE:#define __FLT_EVAL_METHOD__ 0
1463// MIPS32BE:#define __FLT_HAS_DENORM__ 1
1464// MIPS32BE:#define __FLT_HAS_INFINITY__ 1
1465// MIPS32BE:#define __FLT_HAS_QUIET_NAN__ 1
1466// MIPS32BE:#define __FLT_MANT_DIG__ 24
1467// MIPS32BE:#define __FLT_MAX_10_EXP__ 38
1468// MIPS32BE:#define __FLT_MAX_EXP__ 128
1469// MIPS32BE:#define __FLT_MAX__ 3.40282347e+38F
1470// MIPS32BE:#define __FLT_MIN_10_EXP__ (-37)
1471// MIPS32BE:#define __FLT_MIN_EXP__ (-125)
1472// MIPS32BE:#define __FLT_MIN__ 1.17549435e-38F
1473// MIPS32BE:#define __FLT_RADIX__ 2
1474// MIPS32BE:#define __INT16_TYPE__ short
1475// MIPS32BE:#define __INT32_TYPE__ int
1476// MIPS32BE:#define __INT64_C_SUFFIX__ LL
1477// MIPS32BE:#define __INT64_TYPE__ long long int
1478// MIPS32BE:#define __INT8_TYPE__ char
1479// MIPS32BE:#define __INTMAX_MAX__ 9223372036854775807LL
1480// MIPS32BE:#define __INTMAX_TYPE__ long long int
1481// MIPS32BE:#define __INTMAX_WIDTH__ 64
1482// MIPS32BE:#define __INTPTR_TYPE__ long int
1483// MIPS32BE:#define __INTPTR_WIDTH__ 32
1484// MIPS32BE:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001485// MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001486// MIPS32BE:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001487// MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001488// MIPS32BE:#define __LDBL_HAS_DENORM__ 1
1489// MIPS32BE:#define __LDBL_HAS_INFINITY__ 1
1490// MIPS32BE:#define __LDBL_HAS_QUIET_NAN__ 1
1491// MIPS32BE:#define __LDBL_MANT_DIG__ 53
1492// MIPS32BE:#define __LDBL_MAX_10_EXP__ 308
1493// MIPS32BE:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001494// MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001495// MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307)
1496// MIPS32BE:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001497// MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001498// MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1499// MIPS32BE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001500// MIPS32BE-NOT:#define __LP64__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001501// MIPS32BE:#define __MIPSEB 1
1502// MIPS32BE:#define __MIPSEB__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001503// MIPS32BE:#define __POINTER_WIDTH__ 32
1504// MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1
1505// MIPS32BE:#define __PTRDIFF_TYPE__ int
1506// MIPS32BE:#define __PTRDIFF_WIDTH__ 32
1507// MIPS32BE:#define __REGISTER_PREFIX__
1508// MIPS32BE:#define __SCHAR_MAX__ 127
1509// MIPS32BE:#define __SHRT_MAX__ 32767
1510// MIPS32BE:#define __SIG_ATOMIC_WIDTH__ 32
1511// MIPS32BE:#define __SIZEOF_DOUBLE__ 8
1512// MIPS32BE:#define __SIZEOF_FLOAT__ 4
1513// MIPS32BE:#define __SIZEOF_INT__ 4
1514// MIPS32BE:#define __SIZEOF_LONG_DOUBLE__ 8
1515// MIPS32BE:#define __SIZEOF_LONG_LONG__ 8
1516// MIPS32BE:#define __SIZEOF_LONG__ 4
1517// MIPS32BE:#define __SIZEOF_POINTER__ 4
1518// MIPS32BE:#define __SIZEOF_PTRDIFF_T__ 4
1519// MIPS32BE:#define __SIZEOF_SHORT__ 2
1520// MIPS32BE:#define __SIZEOF_SIZE_T__ 4
1521// MIPS32BE:#define __SIZEOF_WCHAR_T__ 4
1522// MIPS32BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001523// MIPS32BE:#define __SIZE_MAX__ 4294967295U
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001524// MIPS32BE:#define __SIZE_TYPE__ unsigned int
1525// MIPS32BE:#define __SIZE_WIDTH__ 32
1526// MIPS32BE:#define __STDC_HOSTED__ 0
1527// MIPS32BE:#define __STDC_VERSION__ 199901L
1528// MIPS32BE:#define __STDC__ 1
1529// MIPS32BE:#define __UINTMAX_TYPE__ long long unsigned int
1530// MIPS32BE:#define __USER_LABEL_PREFIX__ _
1531// MIPS32BE:#define __WCHAR_MAX__ 2147483647
1532// MIPS32BE:#define __WCHAR_TYPE__ int
1533// MIPS32BE:#define __WCHAR_WIDTH__ 32
1534// MIPS32BE:#define __WINT_TYPE__ int
1535// MIPS32BE:#define __WINT_WIDTH__ 32
1536// MIPS32BE:#define __clang__ 1
1537// MIPS32BE:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001538// MIPS32BE:#define __mips 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001539// MIPS32BE:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001540// MIPS32BE:#define __mips_fpr 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001541// MIPS32BE:#define __mips_hard_float 1
1542// MIPS32BE:#define __mips_o32 1
1543// MIPS32BE:#define _mips 1
1544// MIPS32BE:#define mips 1
1545//
1546// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -check-prefix MIPS32EL %s
1547//
1548// MIPS32EL:#define MIPSEL 1
1549// MIPS32EL:#define _ABIO32 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001550// MIPS32EL-NOT:#define _LP64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001551// MIPS32EL:#define _MIPSEL 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001552// MIPS32EL:#define _MIPS_ARCH "mips32r2"
1553// MIPS32EL:#define _MIPS_ARCH_MIPS32R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001554// MIPS32EL:#define _MIPS_FPSET 16
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001555// MIPS32EL:#define _MIPS_SIM _ABIO32
1556// MIPS32EL:#define _MIPS_SZINT 32
1557// MIPS32EL:#define _MIPS_SZLONG 32
1558// MIPS32EL:#define _MIPS_SZPTR 32
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001559// MIPS32EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001560// MIPS32EL:#define __CHAR16_TYPE__ unsigned short
1561// MIPS32EL:#define __CHAR32_TYPE__ unsigned int
1562// MIPS32EL:#define __CHAR_BIT__ 8
1563// MIPS32EL:#define __CONSTANT_CFSTRINGS__ 1
1564// MIPS32EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1565// MIPS32EL:#define __DBL_DIG__ 15
1566// MIPS32EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1567// MIPS32EL:#define __DBL_HAS_DENORM__ 1
1568// MIPS32EL:#define __DBL_HAS_INFINITY__ 1
1569// MIPS32EL:#define __DBL_HAS_QUIET_NAN__ 1
1570// MIPS32EL:#define __DBL_MANT_DIG__ 53
1571// MIPS32EL:#define __DBL_MAX_10_EXP__ 308
1572// MIPS32EL:#define __DBL_MAX_EXP__ 1024
1573// MIPS32EL:#define __DBL_MAX__ 1.7976931348623157e+308
1574// MIPS32EL:#define __DBL_MIN_10_EXP__ (-307)
1575// MIPS32EL:#define __DBL_MIN_EXP__ (-1021)
1576// MIPS32EL:#define __DBL_MIN__ 2.2250738585072014e-308
1577// MIPS32EL:#define __DECIMAL_DIG__ 17
1578// MIPS32EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1579// MIPS32EL:#define __FLT_DIG__ 6
1580// MIPS32EL:#define __FLT_EPSILON__ 1.19209290e-7F
1581// MIPS32EL:#define __FLT_EVAL_METHOD__ 0
1582// MIPS32EL:#define __FLT_HAS_DENORM__ 1
1583// MIPS32EL:#define __FLT_HAS_INFINITY__ 1
1584// MIPS32EL:#define __FLT_HAS_QUIET_NAN__ 1
1585// MIPS32EL:#define __FLT_MANT_DIG__ 24
1586// MIPS32EL:#define __FLT_MAX_10_EXP__ 38
1587// MIPS32EL:#define __FLT_MAX_EXP__ 128
1588// MIPS32EL:#define __FLT_MAX__ 3.40282347e+38F
1589// MIPS32EL:#define __FLT_MIN_10_EXP__ (-37)
1590// MIPS32EL:#define __FLT_MIN_EXP__ (-125)
1591// MIPS32EL:#define __FLT_MIN__ 1.17549435e-38F
1592// MIPS32EL:#define __FLT_RADIX__ 2
1593// MIPS32EL:#define __INT16_TYPE__ short
1594// MIPS32EL:#define __INT32_TYPE__ int
1595// MIPS32EL:#define __INT64_C_SUFFIX__ LL
1596// MIPS32EL:#define __INT64_TYPE__ long long int
1597// MIPS32EL:#define __INT8_TYPE__ char
1598// MIPS32EL:#define __INTMAX_MAX__ 9223372036854775807LL
1599// MIPS32EL:#define __INTMAX_TYPE__ long long int
1600// MIPS32EL:#define __INTMAX_WIDTH__ 64
1601// MIPS32EL:#define __INTPTR_TYPE__ long int
1602// MIPS32EL:#define __INTPTR_WIDTH__ 32
1603// MIPS32EL:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001604// MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001605// MIPS32EL:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001606// MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001607// MIPS32EL:#define __LDBL_HAS_DENORM__ 1
1608// MIPS32EL:#define __LDBL_HAS_INFINITY__ 1
1609// MIPS32EL:#define __LDBL_HAS_QUIET_NAN__ 1
1610// MIPS32EL:#define __LDBL_MANT_DIG__ 53
1611// MIPS32EL:#define __LDBL_MAX_10_EXP__ 308
1612// MIPS32EL:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001613// MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001614// MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307)
1615// MIPS32EL:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001616// MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308L
Robert Lytton2c942c62014-03-10 12:06:29 +00001617// MIPS32EL:#define __LITTLE_ENDIAN__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001618// MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1619// MIPS32EL:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001620// MIPS32EL-NOT:#define __LP64__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001621// MIPS32EL:#define __MIPSEL 1
1622// MIPS32EL:#define __MIPSEL__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001623// MIPS32EL:#define __POINTER_WIDTH__ 32
1624// MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1625// MIPS32EL:#define __PTRDIFF_TYPE__ int
1626// MIPS32EL:#define __PTRDIFF_WIDTH__ 32
1627// MIPS32EL:#define __REGISTER_PREFIX__
1628// MIPS32EL:#define __SCHAR_MAX__ 127
1629// MIPS32EL:#define __SHRT_MAX__ 32767
1630// MIPS32EL:#define __SIG_ATOMIC_WIDTH__ 32
1631// MIPS32EL:#define __SIZEOF_DOUBLE__ 8
1632// MIPS32EL:#define __SIZEOF_FLOAT__ 4
1633// MIPS32EL:#define __SIZEOF_INT__ 4
1634// MIPS32EL:#define __SIZEOF_LONG_DOUBLE__ 8
1635// MIPS32EL:#define __SIZEOF_LONG_LONG__ 8
1636// MIPS32EL:#define __SIZEOF_LONG__ 4
1637// MIPS32EL:#define __SIZEOF_POINTER__ 4
1638// MIPS32EL:#define __SIZEOF_PTRDIFF_T__ 4
1639// MIPS32EL:#define __SIZEOF_SHORT__ 2
1640// MIPS32EL:#define __SIZEOF_SIZE_T__ 4
1641// MIPS32EL:#define __SIZEOF_WCHAR_T__ 4
1642// MIPS32EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001643// MIPS32EL:#define __SIZE_MAX__ 4294967295U
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001644// MIPS32EL:#define __SIZE_TYPE__ unsigned int
1645// MIPS32EL:#define __SIZE_WIDTH__ 32
1646// MIPS32EL:#define __UINTMAX_TYPE__ long long unsigned int
1647// MIPS32EL:#define __USER_LABEL_PREFIX__ _
1648// MIPS32EL:#define __WCHAR_MAX__ 2147483647
1649// MIPS32EL:#define __WCHAR_TYPE__ int
1650// MIPS32EL:#define __WCHAR_WIDTH__ 32
1651// MIPS32EL:#define __WINT_TYPE__ int
1652// MIPS32EL:#define __WINT_WIDTH__ 32
1653// MIPS32EL:#define __clang__ 1
1654// MIPS32EL:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001655// MIPS32EL:#define __mips 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001656// MIPS32EL:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001657// MIPS32EL:#define __mips_fpr 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001658// MIPS32EL:#define __mips_hard_float 1
1659// MIPS32EL:#define __mips_o32 1
1660// MIPS32EL:#define _mips 1
1661// MIPS32EL:#define mips 1
1662//
1663// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -check-prefix MIPS64BE %s
1664//
1665// MIPS64BE:#define MIPSEB 1
1666// MIPS64BE:#define _ABI64 3
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001667// MIPS64BE:#define _LP64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001668// MIPS64BE:#define _MIPSEB 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001669// MIPS64BE:#define _MIPS_ARCH "mips64r2"
1670// MIPS64BE:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001671// MIPS64BE:#define _MIPS_FPSET 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001672// MIPS64BE:#define _MIPS_SIM _ABI64
1673// MIPS64BE:#define _MIPS_SZINT 32
1674// MIPS64BE:#define _MIPS_SZLONG 64
1675// MIPS64BE:#define _MIPS_SZPTR 64
Robert Lytton2c942c62014-03-10 12:06:29 +00001676// MIPS64BE:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001677// MIPS64BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001678// MIPS64BE:#define __CHAR16_TYPE__ unsigned short
1679// MIPS64BE:#define __CHAR32_TYPE__ unsigned int
1680// MIPS64BE:#define __CHAR_BIT__ 8
1681// MIPS64BE:#define __CONSTANT_CFSTRINGS__ 1
1682// MIPS64BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1683// MIPS64BE:#define __DBL_DIG__ 15
1684// MIPS64BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
1685// MIPS64BE:#define __DBL_HAS_DENORM__ 1
1686// MIPS64BE:#define __DBL_HAS_INFINITY__ 1
1687// MIPS64BE:#define __DBL_HAS_QUIET_NAN__ 1
1688// MIPS64BE:#define __DBL_MANT_DIG__ 53
1689// MIPS64BE:#define __DBL_MAX_10_EXP__ 308
1690// MIPS64BE:#define __DBL_MAX_EXP__ 1024
1691// MIPS64BE:#define __DBL_MAX__ 1.7976931348623157e+308
1692// MIPS64BE:#define __DBL_MIN_10_EXP__ (-307)
1693// MIPS64BE:#define __DBL_MIN_EXP__ (-1021)
1694// MIPS64BE:#define __DBL_MIN__ 2.2250738585072014e-308
1695// MIPS64BE:#define __DECIMAL_DIG__ 36
1696// MIPS64BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1697// MIPS64BE:#define __FLT_DIG__ 6
1698// MIPS64BE:#define __FLT_EPSILON__ 1.19209290e-7F
1699// MIPS64BE:#define __FLT_EVAL_METHOD__ 0
1700// MIPS64BE:#define __FLT_HAS_DENORM__ 1
1701// MIPS64BE:#define __FLT_HAS_INFINITY__ 1
1702// MIPS64BE:#define __FLT_HAS_QUIET_NAN__ 1
1703// MIPS64BE:#define __FLT_MANT_DIG__ 24
1704// MIPS64BE:#define __FLT_MAX_10_EXP__ 38
1705// MIPS64BE:#define __FLT_MAX_EXP__ 128
1706// MIPS64BE:#define __FLT_MAX__ 3.40282347e+38F
1707// MIPS64BE:#define __FLT_MIN_10_EXP__ (-37)
1708// MIPS64BE:#define __FLT_MIN_EXP__ (-125)
1709// MIPS64BE:#define __FLT_MIN__ 1.17549435e-38F
1710// MIPS64BE:#define __FLT_RADIX__ 2
1711// MIPS64BE:#define __INT16_TYPE__ short
1712// MIPS64BE:#define __INT32_TYPE__ int
1713// MIPS64BE:#define __INT64_C_SUFFIX__ LL
1714// MIPS64BE:#define __INT64_TYPE__ long long int
1715// MIPS64BE:#define __INT8_TYPE__ char
1716// MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807LL
1717// MIPS64BE:#define __INTMAX_TYPE__ long long int
1718// MIPS64BE:#define __INTMAX_WIDTH__ 64
1719// MIPS64BE:#define __INTPTR_TYPE__ long int
1720// MIPS64BE:#define __INTPTR_WIDTH__ 64
1721// MIPS64BE:#define __INT_MAX__ 2147483647
1722// MIPS64BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1723// MIPS64BE:#define __LDBL_DIG__ 33
1724// MIPS64BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1725// MIPS64BE:#define __LDBL_HAS_DENORM__ 1
1726// MIPS64BE:#define __LDBL_HAS_INFINITY__ 1
1727// MIPS64BE:#define __LDBL_HAS_QUIET_NAN__ 1
1728// MIPS64BE:#define __LDBL_MANT_DIG__ 113
1729// MIPS64BE:#define __LDBL_MAX_10_EXP__ 4932
1730// MIPS64BE:#define __LDBL_MAX_EXP__ 16384
1731// MIPS64BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1732// MIPS64BE:#define __LDBL_MIN_10_EXP__ (-4931)
1733// MIPS64BE:#define __LDBL_MIN_EXP__ (-16381)
1734// MIPS64BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1735// MIPS64BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1736// MIPS64BE:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001737// MIPS64BE:#define __LP64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001738// MIPS64BE:#define __MIPSEB 1
1739// MIPS64BE:#define __MIPSEB__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001740// MIPS64BE:#define __POINTER_WIDTH__ 64
1741// MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1
1742// MIPS64BE:#define __PTRDIFF_TYPE__ long int
1743// MIPS64BE:#define __PTRDIFF_WIDTH__ 64
1744// MIPS64BE:#define __REGISTER_PREFIX__
1745// MIPS64BE:#define __SCHAR_MAX__ 127
1746// MIPS64BE:#define __SHRT_MAX__ 32767
1747// MIPS64BE:#define __SIG_ATOMIC_WIDTH__ 32
1748// MIPS64BE:#define __SIZEOF_DOUBLE__ 8
1749// MIPS64BE:#define __SIZEOF_FLOAT__ 4
1750// MIPS64BE:#define __SIZEOF_INT__ 4
1751// MIPS64BE:#define __SIZEOF_LONG_DOUBLE__ 16
1752// MIPS64BE:#define __SIZEOF_LONG_LONG__ 8
1753// MIPS64BE:#define __SIZEOF_LONG__ 8
1754// MIPS64BE:#define __SIZEOF_POINTER__ 8
1755// MIPS64BE:#define __SIZEOF_PTRDIFF_T__ 8
1756// MIPS64BE:#define __SIZEOF_SHORT__ 2
1757// MIPS64BE:#define __SIZEOF_SIZE_T__ 8
1758// MIPS64BE:#define __SIZEOF_WCHAR_T__ 4
1759// MIPS64BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001760// MIPS64BE:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001761// MIPS64BE:#define __SIZE_TYPE__ long unsigned int
1762// MIPS64BE:#define __SIZE_WIDTH__ 64
1763// MIPS64BE:#define __UINTMAX_TYPE__ long long unsigned int
1764// MIPS64BE:#define __USER_LABEL_PREFIX__ _
1765// MIPS64BE:#define __WCHAR_MAX__ 2147483647
1766// MIPS64BE:#define __WCHAR_TYPE__ int
1767// MIPS64BE:#define __WCHAR_WIDTH__ 32
1768// MIPS64BE:#define __WINT_TYPE__ int
1769// MIPS64BE:#define __WINT_WIDTH__ 32
1770// MIPS64BE:#define __clang__ 1
1771// MIPS64BE:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001772// MIPS64BE:#define __mips 64
Simon Atanasyanc6a0be02012-08-29 20:50:11 +00001773// MIPS64BE:#define __mips64 1
1774// MIPS64BE:#define __mips64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001775// MIPS64BE:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001776// MIPS64BE:#define __mips_fpr 64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001777// MIPS64BE:#define __mips_hard_float 1
1778// MIPS64BE:#define __mips_n64 1
1779// MIPS64BE:#define _mips 1
1780// MIPS64BE:#define mips 1
1781//
1782// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -check-prefix MIPS64EL %s
1783//
1784// MIPS64EL:#define MIPSEL 1
1785// MIPS64EL:#define _ABI64 3
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001786// MIPS64EL:#define _LP64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001787// MIPS64EL:#define _MIPSEL 1
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001788// MIPS64EL:#define _MIPS_ARCH "mips64r2"
1789// MIPS64EL:#define _MIPS_ARCH_MIPS64R2 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001790// MIPS64EL:#define _MIPS_FPSET 32
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001791// MIPS64EL:#define _MIPS_SIM _ABI64
1792// MIPS64EL:#define _MIPS_SZINT 32
1793// MIPS64EL:#define _MIPS_SZLONG 64
1794// MIPS64EL:#define _MIPS_SZPTR 64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001795// MIPS64EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001796// MIPS64EL:#define __CHAR16_TYPE__ unsigned short
1797// MIPS64EL:#define __CHAR32_TYPE__ unsigned int
1798// MIPS64EL:#define __CHAR_BIT__ 8
1799// MIPS64EL:#define __CONSTANT_CFSTRINGS__ 1
1800// MIPS64EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1801// MIPS64EL:#define __DBL_DIG__ 15
1802// MIPS64EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1803// MIPS64EL:#define __DBL_HAS_DENORM__ 1
1804// MIPS64EL:#define __DBL_HAS_INFINITY__ 1
1805// MIPS64EL:#define __DBL_HAS_QUIET_NAN__ 1
1806// MIPS64EL:#define __DBL_MANT_DIG__ 53
1807// MIPS64EL:#define __DBL_MAX_10_EXP__ 308
1808// MIPS64EL:#define __DBL_MAX_EXP__ 1024
1809// MIPS64EL:#define __DBL_MAX__ 1.7976931348623157e+308
1810// MIPS64EL:#define __DBL_MIN_10_EXP__ (-307)
1811// MIPS64EL:#define __DBL_MIN_EXP__ (-1021)
1812// MIPS64EL:#define __DBL_MIN__ 2.2250738585072014e-308
1813// MIPS64EL:#define __DECIMAL_DIG__ 36
1814// MIPS64EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1815// MIPS64EL:#define __FLT_DIG__ 6
1816// MIPS64EL:#define __FLT_EPSILON__ 1.19209290e-7F
1817// MIPS64EL:#define __FLT_EVAL_METHOD__ 0
1818// MIPS64EL:#define __FLT_HAS_DENORM__ 1
1819// MIPS64EL:#define __FLT_HAS_INFINITY__ 1
1820// MIPS64EL:#define __FLT_HAS_QUIET_NAN__ 1
1821// MIPS64EL:#define __FLT_MANT_DIG__ 24
1822// MIPS64EL:#define __FLT_MAX_10_EXP__ 38
1823// MIPS64EL:#define __FLT_MAX_EXP__ 128
1824// MIPS64EL:#define __FLT_MAX__ 3.40282347e+38F
1825// MIPS64EL:#define __FLT_MIN_10_EXP__ (-37)
1826// MIPS64EL:#define __FLT_MIN_EXP__ (-125)
1827// MIPS64EL:#define __FLT_MIN__ 1.17549435e-38F
1828// MIPS64EL:#define __FLT_RADIX__ 2
1829// MIPS64EL:#define __INT16_TYPE__ short
1830// MIPS64EL:#define __INT32_TYPE__ int
1831// MIPS64EL:#define __INT64_C_SUFFIX__ LL
1832// MIPS64EL:#define __INT64_TYPE__ long long int
1833// MIPS64EL:#define __INT8_TYPE__ char
1834// MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807LL
1835// MIPS64EL:#define __INTMAX_TYPE__ long long int
1836// MIPS64EL:#define __INTMAX_WIDTH__ 64
1837// MIPS64EL:#define __INTPTR_TYPE__ long int
1838// MIPS64EL:#define __INTPTR_WIDTH__ 64
1839// MIPS64EL:#define __INT_MAX__ 2147483647
1840// MIPS64EL:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1841// MIPS64EL:#define __LDBL_DIG__ 33
1842// MIPS64EL:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1843// MIPS64EL:#define __LDBL_HAS_DENORM__ 1
1844// MIPS64EL:#define __LDBL_HAS_INFINITY__ 1
1845// MIPS64EL:#define __LDBL_HAS_QUIET_NAN__ 1
1846// MIPS64EL:#define __LDBL_MANT_DIG__ 113
1847// MIPS64EL:#define __LDBL_MAX_10_EXP__ 4932
1848// MIPS64EL:#define __LDBL_MAX_EXP__ 16384
1849// MIPS64EL:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1850// MIPS64EL:#define __LDBL_MIN_10_EXP__ (-4931)
1851// MIPS64EL:#define __LDBL_MIN_EXP__ (-16381)
1852// MIPS64EL:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
Robert Lytton2c942c62014-03-10 12:06:29 +00001853// MIPS64EL:#define __LITTLE_ENDIAN__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001854// MIPS64EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1855// MIPS64EL:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001856// MIPS64EL:#define __LP64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001857// MIPS64EL:#define __MIPSEL 1
1858// MIPS64EL:#define __MIPSEL__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001859// MIPS64EL:#define __POINTER_WIDTH__ 64
1860// MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1861// MIPS64EL:#define __PTRDIFF_TYPE__ long int
1862// MIPS64EL:#define __PTRDIFF_WIDTH__ 64
1863// MIPS64EL:#define __REGISTER_PREFIX__
1864// MIPS64EL:#define __SCHAR_MAX__ 127
1865// MIPS64EL:#define __SHRT_MAX__ 32767
1866// MIPS64EL:#define __SIG_ATOMIC_WIDTH__ 32
1867// MIPS64EL:#define __SIZEOF_DOUBLE__ 8
1868// MIPS64EL:#define __SIZEOF_FLOAT__ 4
1869// MIPS64EL:#define __SIZEOF_INT__ 4
1870// MIPS64EL:#define __SIZEOF_LONG_DOUBLE__ 16
1871// MIPS64EL:#define __SIZEOF_LONG_LONG__ 8
1872// MIPS64EL:#define __SIZEOF_LONG__ 8
1873// MIPS64EL:#define __SIZEOF_POINTER__ 8
1874// MIPS64EL:#define __SIZEOF_PTRDIFF_T__ 8
1875// MIPS64EL:#define __SIZEOF_SHORT__ 2
1876// MIPS64EL:#define __SIZEOF_SIZE_T__ 8
1877// MIPS64EL:#define __SIZEOF_WCHAR_T__ 4
1878// MIPS64EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001879// MIPS64EL:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001880// MIPS64EL:#define __SIZE_TYPE__ long unsigned int
1881// MIPS64EL:#define __SIZE_WIDTH__ 64
1882// MIPS64EL:#define __UINTMAX_TYPE__ long long unsigned int
1883// MIPS64EL:#define __USER_LABEL_PREFIX__ _
1884// MIPS64EL:#define __WCHAR_MAX__ 2147483647
1885// MIPS64EL:#define __WCHAR_TYPE__ int
1886// MIPS64EL:#define __WCHAR_WIDTH__ 32
1887// MIPS64EL:#define __WINT_TYPE__ int
1888// MIPS64EL:#define __WINT_WIDTH__ 32
1889// MIPS64EL:#define __clang__ 1
1890// MIPS64EL:#define __llvm__ 1
Simon Atanasyan26292cc2014-01-27 13:59:11 +00001891// MIPS64EL:#define __mips 64
Simon Atanasyanc6a0be02012-08-29 20:50:11 +00001892// MIPS64EL:#define __mips64 1
1893// MIPS64EL:#define __mips64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001894// MIPS64EL:#define __mips__ 1
Simon Atanasyan2c97a812013-10-18 13:13:53 +00001895// MIPS64EL:#define __mips_fpr 64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001896// MIPS64EL:#define __mips_hard_float 1
1897// MIPS64EL:#define __mips_n64 1
1898// MIPS64EL:#define _mips 1
1899// MIPS64EL:#define mips 1
1900//
Matheus Almeidab84b37d2014-06-05 14:59:18 +00001901// Check MIPS arch and isa macros
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001902//
1903// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
1904// RUN: < /dev/null \
1905// RUN: | FileCheck -check-prefix MIPS-ARCH-DEF32 %s
1906//
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001907// MIPS-ARCH-DEF32:#define _MIPS_ARCH "mips32r2"
1908// MIPS-ARCH-DEF32:#define _MIPS_ARCH_MIPS32R2 1
Matheus Almeidab84b37d2014-06-05 14:59:18 +00001909// MIPS-ARCH-DEF32:#define _MIPS_ISA _MIPS_ISA_MIPS32
1910// MIPS-ARCH-DEF32:#define __mips_isa_rev 2
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001911//
1912// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-nones \
1913// RUN: -target-cpu mips32 < /dev/null \
1914// RUN: | FileCheck -check-prefix MIPS-ARCH-32 %s
1915//
1916// MIPS-ARCH-32:#define _MIPS_ARCH "mips32"
1917// MIPS-ARCH-32:#define _MIPS_ARCH_MIPS32 1
Matheus Almeidab84b37d2014-06-05 14:59:18 +00001918// MIPS-ARCH-32:#define _MIPS_ISA _MIPS_ISA_MIPS32
1919// MIPS-ARCH-32:#define __mips_isa_rev 1
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001920//
1921// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
1922// RUN: -target-cpu mips32r2 < /dev/null \
1923// RUN: | FileCheck -check-prefix MIPS-ARCH-32R2 %s
1924//
1925// MIPS-ARCH-32R2:#define _MIPS_ARCH "mips32r2"
1926// MIPS-ARCH-32R2:#define _MIPS_ARCH_MIPS32R2 1
Matheus Almeidab84b37d2014-06-05 14:59:18 +00001927// MIPS-ARCH-32R2:#define _MIPS_ISA _MIPS_ISA_MIPS32
1928// MIPS-ARCH-32R2:#define __mips_isa_rev 2
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001929//
1930// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1931// RUN: < /dev/null \
1932// RUN: | FileCheck -check-prefix MIPS-ARCH-DEF64 %s
1933//
Simon Atanasyan1a3665b62014-01-27 13:59:04 +00001934// MIPS-ARCH-DEF64:#define _MIPS_ARCH "mips64r2"
1935// MIPS-ARCH-DEF64:#define _MIPS_ARCH_MIPS64R2 1
Matheus Almeidab84b37d2014-06-05 14:59:18 +00001936// MIPS-ARCH-DEF64:#define _MIPS_ISA _MIPS_ISA_MIPS64
1937// MIPS-ARCH-DEF64:#define __mips_isa_rev 2
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001938//
1939// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1940// RUN: -target-cpu mips64 < /dev/null \
1941// RUN: | FileCheck -check-prefix MIPS-ARCH-64 %s
1942//
1943// MIPS-ARCH-64:#define _MIPS_ARCH "mips64"
1944// MIPS-ARCH-64:#define _MIPS_ARCH_MIPS64 1
Matheus Almeidab84b37d2014-06-05 14:59:18 +00001945// MIPS-ARCH-64:#define _MIPS_ISA _MIPS_ISA_MIPS64
1946// MIPS-ARCH-64:#define __mips_isa_rev 1
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001947//
1948// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1949// RUN: -target-cpu mips64r2 < /dev/null \
1950// RUN: | FileCheck -check-prefix MIPS-ARCH-64R2 %s
1951//
1952// MIPS-ARCH-64R2:#define _MIPS_ARCH "mips64r2"
1953// MIPS-ARCH-64R2:#define _MIPS_ARCH_MIPS64R2 1
Matheus Almeidab84b37d2014-06-05 14:59:18 +00001954// MIPS-ARCH-64R2:#define _MIPS_ISA _MIPS_ISA_MIPS64
1955// MIPS-ARCH-64R2:#define __mips_isa_rev 2
Simon Atanasyan682b49b2014-01-27 13:58:54 +00001956//
Simon Atanasyan5e21c802012-04-06 17:51:49 +00001957// Check MIPS float ABI macros
1958//
1959// RUN: %clang_cc1 -E -dM -ffreestanding \
1960// RUN: -triple=mips-none-none < /dev/null \
1961// RUN: | FileCheck -check-prefix MIPS-FABI-HARD %s
1962// MIPS-FABI-HARD:#define __mips_hard_float 1
1963//
1964// RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \
1965// RUN: -triple=mips-none-none < /dev/null \
1966// RUN: | FileCheck -check-prefix MIPS-FABI-SOFT %s
1967// MIPS-FABI-SOFT:#define __mips_soft_float 1
1968//
1969// RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \
1970// RUN: -triple=mips-none-none < /dev/null \
1971// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE %s
Simon Atanasyand3d173d2012-06-05 13:06:56 +00001972// MIPS-FABI-SINGLE:#define __mips_hard_float 1
Simon Atanasyan5e21c802012-04-06 17:51:49 +00001973// MIPS-FABI-SINGLE:#define __mips_single_float 1
1974//
Simon Atanasyan16071912013-04-14 14:07:30 +00001975// RUN: %clang_cc1 -target-feature +soft-float -target-feature +single-float \
1976// RUN: -E -dM -ffreestanding -triple=mips-none-none < /dev/null \
1977// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE-SOFT %s
1978// MIPS-FABI-SINGLE-SOFT:#define __mips_single_float 1
1979// MIPS-FABI-SINGLE-SOFT:#define __mips_soft_float 1
1980//
Simon Atanasyan72244b62012-07-05 16:06:06 +00001981// Check MIPS features macros
1982//
1983// RUN: %clang_cc1 -target-feature +mips16 \
1984// RUN: -E -dM -triple=mips-none-none < /dev/null \
1985// RUN: | FileCheck -check-prefix MIPS16 %s
1986// MIPS16:#define __mips16 1
1987//
1988// RUN: %clang_cc1 -target-feature -mips16 \
1989// RUN: -E -dM -triple=mips-none-none < /dev/null \
1990// RUN: | FileCheck -check-prefix NOMIPS16 %s
1991// NOMIPS16-NOT:#define __mips16 1
1992//
Simon Atanasyan60777612013-04-14 14:07:51 +00001993// RUN: %clang_cc1 -target-feature +micromips \
1994// RUN: -E -dM -triple=mips-none-none < /dev/null \
1995// RUN: | FileCheck -check-prefix MICROMIPS %s
1996// MICROMIPS:#define __mips_micromips 1
1997//
1998// RUN: %clang_cc1 -target-feature -micromips \
1999// RUN: -E -dM -triple=mips-none-none < /dev/null \
2000// RUN: | FileCheck -check-prefix NOMICROMIPS %s
2001// NOMICROMIPS-NOT:#define __mips_micromips 1
2002//
Simon Atanasyan9780e4a2012-07-05 20:16:22 +00002003// RUN: %clang_cc1 -target-feature +dsp \
2004// RUN: -E -dM -triple=mips-none-none < /dev/null \
2005// RUN: | FileCheck -check-prefix MIPS-DSP %s
2006// MIPS-DSP:#define __mips_dsp 1
2007// MIPS-DSP:#define __mips_dsp_rev 1
2008// MIPS-DSP-NOT:#define __mips_dspr2 1
2009//
2010// RUN: %clang_cc1 -target-feature +dspr2 \
2011// RUN: -E -dM -triple=mips-none-none < /dev/null \
2012// RUN: | FileCheck -check-prefix MIPS-DSPR2 %s
2013// MIPS-DSPR2:#define __mips_dsp 1
2014// MIPS-DSPR2:#define __mips_dsp_rev 2
2015// MIPS-DSPR2:#define __mips_dspr2 1
2016//
Jack Carter44ff1e52013-08-12 17:20:29 +00002017// RUN: %clang_cc1 -target-feature +msa \
2018// RUN: -E -dM -triple=mips-none-none < /dev/null \
2019// RUN: | FileCheck -check-prefix MIPS-MSA %s
2020// MIPS-MSA:#define __mips_msa 1
2021//
Simon Atanasyan22127ce2013-09-24 09:09:16 +00002022// RUN: %clang_cc1 -target-feature +nan2008 \
2023// RUN: -E -dM -triple=mips-none-none < /dev/null \
2024// RUN: | FileCheck -check-prefix MIPS-NAN2008 %s
2025// MIPS-NAN2008:#define __mips_nan2008 1
2026//
Simon Atanasyan2c97a812013-10-18 13:13:53 +00002027// RUN: %clang_cc1 -target-feature -fp64 \
2028// RUN: -E -dM -triple=mips-none-none < /dev/null \
2029// RUN: | FileCheck -check-prefix MIPS32-MFP32 %s
2030// MIPS32-MFP32:#define _MIPS_FPSET 16
2031// MIPS32-MFP32:#define __mips_fpr 32
2032//
2033// RUN: %clang_cc1 -target-feature +fp64 \
2034// RUN: -E -dM -triple=mips-none-none < /dev/null \
2035// RUN: | FileCheck -check-prefix MIPS32-MFP64 %s
2036// MIPS32-MFP64:#define _MIPS_FPSET 32
2037// MIPS32-MFP64:#define __mips_fpr 64
2038//
2039// RUN: %clang_cc1 -target-feature +single-float \
2040// RUN: -E -dM -triple=mips-none-none < /dev/null \
2041// RUN: | FileCheck -check-prefix MIPS32-MFP32SF %s
2042// MIPS32-MFP32SF:#define _MIPS_FPSET 32
2043// MIPS32-MFP32SF:#define __mips_fpr 32
2044//
2045// RUN: %clang_cc1 -target-feature +fp64 \
2046// RUN: -E -dM -triple=mips64-none-none < /dev/null \
2047// RUN: | FileCheck -check-prefix MIPS64-MFP64 %s
2048// MIPS64-MFP64:#define _MIPS_FPSET 32
2049// MIPS64-MFP64:#define __mips_fpr 64
2050//
2051// RUN: %clang_cc1 -target-feature -fp64 -target-feature +single-float \
2052// RUN: -E -dM -triple=mips64-none-none < /dev/null \
2053// RUN: | FileCheck -check-prefix MIPS64-NOMFP64 %s
2054// MIPS64-NOMFP64:#define _MIPS_FPSET 32
2055// MIPS64-NOMFP64:#define __mips_fpr 32
2056//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002057// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
Chris Lattnere963d092009-10-29 04:55:36 +00002058//
2059// MSP430:#define MSP430 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002060// MSP430-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002061// MSP430:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002062// MSP430:#define __CHAR16_TYPE__ unsigned short
2063// MSP430:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002064// MSP430:#define __CHAR_BIT__ 8
2065// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2066// MSP430:#define __DBL_DIG__ 15
2067// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
2068// MSP430:#define __DBL_HAS_DENORM__ 1
2069// MSP430:#define __DBL_HAS_INFINITY__ 1
2070// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
2071// MSP430:#define __DBL_MANT_DIG__ 53
2072// MSP430:#define __DBL_MAX_10_EXP__ 308
2073// MSP430:#define __DBL_MAX_EXP__ 1024
2074// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
2075// MSP430:#define __DBL_MIN_10_EXP__ (-307)
2076// MSP430:#define __DBL_MIN_EXP__ (-1021)
2077// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
2078// MSP430:#define __DECIMAL_DIG__ 17
2079// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2080// MSP430:#define __FLT_DIG__ 6
2081// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
2082// MSP430:#define __FLT_EVAL_METHOD__ 0
2083// MSP430:#define __FLT_HAS_DENORM__ 1
2084// MSP430:#define __FLT_HAS_INFINITY__ 1
2085// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
2086// MSP430:#define __FLT_MANT_DIG__ 24
2087// MSP430:#define __FLT_MAX_10_EXP__ 38
2088// MSP430:#define __FLT_MAX_EXP__ 128
2089// MSP430:#define __FLT_MAX__ 3.40282347e+38F
2090// MSP430:#define __FLT_MIN_10_EXP__ (-37)
2091// MSP430:#define __FLT_MIN_EXP__ (-125)
2092// MSP430:#define __FLT_MIN__ 1.17549435e-38F
2093// MSP430:#define __FLT_RADIX__ 2
2094// MSP430:#define __INT16_TYPE__ short
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002095// MSP430:#define __INT32_C_SUFFIX__ L
Chris Lattner55c98772009-11-12 08:08:27 +00002096// MSP430:#define __INT32_TYPE__ long int
Chris Lattnere963d092009-10-29 04:55:36 +00002097// MSP430:#define __INT8_TYPE__ char
Anton Korobeynikovef412902013-07-01 19:42:40 +00002098// MSP430:#define __INTMAX_MAX__ 9223372036854775807LL
2099// MSP430:#define __INTMAX_TYPE__ long long int
2100// MSP430:#define __INTMAX_WIDTH__ 64
2101// MSP430:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002102// MSP430:#define __INTPTR_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00002103// MSP430:#define __INT_MAX__ 32767
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002104// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002105// MSP430:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002106// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +00002107// MSP430:#define __LDBL_HAS_DENORM__ 1
2108// MSP430:#define __LDBL_HAS_INFINITY__ 1
2109// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
2110// MSP430:#define __LDBL_MANT_DIG__ 53
2111// MSP430:#define __LDBL_MAX_10_EXP__ 308
2112// MSP430:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002113// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +00002114// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
2115// MSP430:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002116// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308L
Robert Lytton2c942c62014-03-10 12:06:29 +00002117// MSP430:#define __LITTLE_ENDIAN__ 1
Anton Korobeynikov485810e2010-01-14 21:36:52 +00002118// MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
Chris Lattnere963d092009-10-29 04:55:36 +00002119// MSP430:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002120// MSP430-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00002121// MSP430:#define __MSP430__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002122// MSP430:#define __POINTER_WIDTH__ 16
Ken Dyck9b25f782009-11-19 13:18:59 +00002123// MSP430:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00002124// MSP430:#define __PTRDIFF_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00002125// MSP430:#define __SCHAR_MAX__ 127
2126// MSP430:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002127// MSP430:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002128// MSP430:#define __SIZEOF_DOUBLE__ 8
2129// MSP430:#define __SIZEOF_FLOAT__ 4
2130// MSP430:#define __SIZEOF_INT__ 2
2131// MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
2132// MSP430:#define __SIZEOF_LONG_LONG__ 8
2133// MSP430:#define __SIZEOF_LONG__ 4
2134// MSP430:#define __SIZEOF_POINTER__ 2
2135// MSP430:#define __SIZEOF_PTRDIFF_T__ 2
2136// MSP430:#define __SIZEOF_SHORT__ 2
2137// MSP430:#define __SIZEOF_SIZE_T__ 2
2138// MSP430:#define __SIZEOF_WCHAR_T__ 2
2139// MSP430:#define __SIZEOF_WINT_T__ 2
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002140// MSP430:#define __SIZE_MAX__ 65535U
Chris Lattnere963d092009-10-29 04:55:36 +00002141// MSP430:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002142// MSP430:#define __SIZE_WIDTH__ 16
Anton Korobeynikovef412902013-07-01 19:42:40 +00002143// MSP430:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002144// MSP430:#define __USER_LABEL_PREFIX__ _
Chris Lattner0fb5bbd2009-11-12 08:04:33 +00002145// MSP430:#define __WCHAR_MAX__ 32767
Chris Lattnere963d092009-10-29 04:55:36 +00002146// MSP430:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002147// MSP430:#define __WCHAR_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00002148// MSP430:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002149// MSP430:#define __WINT_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00002150// MSP430:#define __clang__ 1
2151//
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002152// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s
2153//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002154// NVPTX32-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002155// NVPTX32:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002156// NVPTX32:#define __CHAR16_TYPE__ unsigned short
2157// NVPTX32:#define __CHAR32_TYPE__ unsigned int
2158// NVPTX32:#define __CHAR_BIT__ 8
2159// NVPTX32:#define __CONSTANT_CFSTRINGS__ 1
2160// NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2161// NVPTX32:#define __DBL_DIG__ 15
2162// NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16
2163// NVPTX32:#define __DBL_HAS_DENORM__ 1
2164// NVPTX32:#define __DBL_HAS_INFINITY__ 1
2165// NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1
2166// NVPTX32:#define __DBL_MANT_DIG__ 53
2167// NVPTX32:#define __DBL_MAX_10_EXP__ 308
2168// NVPTX32:#define __DBL_MAX_EXP__ 1024
2169// NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308
2170// NVPTX32:#define __DBL_MIN_10_EXP__ (-307)
2171// NVPTX32:#define __DBL_MIN_EXP__ (-1021)
2172// NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308
2173// NVPTX32:#define __DECIMAL_DIG__ 17
2174// NVPTX32:#define __FINITE_MATH_ONLY__ 0
2175// NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2176// NVPTX32:#define __FLT_DIG__ 6
2177// NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F
2178// NVPTX32:#define __FLT_EVAL_METHOD__ 0
2179// NVPTX32:#define __FLT_HAS_DENORM__ 1
2180// NVPTX32:#define __FLT_HAS_INFINITY__ 1
2181// NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1
2182// NVPTX32:#define __FLT_MANT_DIG__ 24
2183// NVPTX32:#define __FLT_MAX_10_EXP__ 38
2184// NVPTX32:#define __FLT_MAX_EXP__ 128
2185// NVPTX32:#define __FLT_MAX__ 3.40282347e+38F
2186// NVPTX32:#define __FLT_MIN_10_EXP__ (-37)
2187// NVPTX32:#define __FLT_MIN_EXP__ (-125)
2188// NVPTX32:#define __FLT_MIN__ 1.17549435e-38F
2189// NVPTX32:#define __FLT_RADIX__ 2
2190// NVPTX32:#define __INT16_TYPE__ short
2191// NVPTX32:#define __INT32_TYPE__ int
2192// NVPTX32:#define __INT64_C_SUFFIX__ LL
2193// NVPTX32:#define __INT64_TYPE__ long long int
2194// NVPTX32:#define __INT8_TYPE__ char
2195// NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL
2196// NVPTX32:#define __INTMAX_TYPE__ long long int
2197// NVPTX32:#define __INTMAX_WIDTH__ 64
2198// NVPTX32:#define __INTPTR_TYPE__ unsigned int
2199// NVPTX32:#define __INTPTR_WIDTH__ 32
2200// NVPTX32:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002201// NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002202// NVPTX32:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002203// NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002204// NVPTX32:#define __LDBL_HAS_DENORM__ 1
2205// NVPTX32:#define __LDBL_HAS_INFINITY__ 1
2206// NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1
2207// NVPTX32:#define __LDBL_MANT_DIG__ 53
2208// NVPTX32:#define __LDBL_MAX_10_EXP__ 308
2209// NVPTX32:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002210// NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002211// NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
2212// NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002213// NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308L
Robert Lytton2c942c62014-03-10 12:06:29 +00002214// NVPTX32:#define __LITTLE_ENDIAN__ 1
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002215// NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL
2216// NVPTX32:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002217// NVPTX32-NOT:#define __LP64__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002218// NVPTX32:#define __NVPTX__ 1
2219// NVPTX32:#define __POINTER_WIDTH__ 32
2220// NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1
2221// NVPTX32:#define __PTRDIFF_TYPE__ unsigned int
2222// NVPTX32:#define __PTRDIFF_WIDTH__ 32
2223// NVPTX32:#define __PTX__ 1
2224// NVPTX32:#define __SCHAR_MAX__ 127
2225// NVPTX32:#define __SHRT_MAX__ 32767
2226// NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32
2227// NVPTX32:#define __SIZEOF_DOUBLE__ 8
2228// NVPTX32:#define __SIZEOF_FLOAT__ 4
2229// NVPTX32:#define __SIZEOF_INT__ 4
2230// NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8
2231// NVPTX32:#define __SIZEOF_LONG_LONG__ 8
2232// NVPTX32:#define __SIZEOF_LONG__ 8
2233// NVPTX32:#define __SIZEOF_POINTER__ 4
2234// NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4
2235// NVPTX32:#define __SIZEOF_SHORT__ 2
2236// NVPTX32:#define __SIZEOF_SIZE_T__ 4
2237// NVPTX32:#define __SIZEOF_WCHAR_T__ 4
2238// NVPTX32:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002239// NVPTX32:#define __SIZE_MAX__ 4294967295U
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002240// NVPTX32:#define __SIZE_TYPE__ unsigned int
2241// NVPTX32:#define __SIZE_WIDTH__ 32
2242// NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int
2243// NVPTX32:#define __USER_LABEL_PREFIX__ _
2244// NVPTX32:#define __WCHAR_MAX__ 2147483647
2245// NVPTX32:#define __WCHAR_TYPE__ int
2246// NVPTX32:#define __WCHAR_WIDTH__ 32
2247// NVPTX32:#define __WINT_TYPE__ int
2248// NVPTX32:#define __WINT_WIDTH__ 32
2249//
2250// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -check-prefix NVPTX64 %s
2251//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002252// NVPTX64:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002253// NVPTX64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002254// NVPTX64:#define __CHAR16_TYPE__ unsigned short
2255// NVPTX64:#define __CHAR32_TYPE__ unsigned int
2256// NVPTX64:#define __CHAR_BIT__ 8
2257// NVPTX64:#define __CONSTANT_CFSTRINGS__ 1
2258// NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2259// NVPTX64:#define __DBL_DIG__ 15
2260// NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16
2261// NVPTX64:#define __DBL_HAS_DENORM__ 1
2262// NVPTX64:#define __DBL_HAS_INFINITY__ 1
2263// NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1
2264// NVPTX64:#define __DBL_MANT_DIG__ 53
2265// NVPTX64:#define __DBL_MAX_10_EXP__ 308
2266// NVPTX64:#define __DBL_MAX_EXP__ 1024
2267// NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308
2268// NVPTX64:#define __DBL_MIN_10_EXP__ (-307)
2269// NVPTX64:#define __DBL_MIN_EXP__ (-1021)
2270// NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308
2271// NVPTX64:#define __DECIMAL_DIG__ 17
2272// NVPTX64:#define __FINITE_MATH_ONLY__ 0
2273// NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2274// NVPTX64:#define __FLT_DIG__ 6
2275// NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F
2276// NVPTX64:#define __FLT_EVAL_METHOD__ 0
2277// NVPTX64:#define __FLT_HAS_DENORM__ 1
2278// NVPTX64:#define __FLT_HAS_INFINITY__ 1
2279// NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1
2280// NVPTX64:#define __FLT_MANT_DIG__ 24
2281// NVPTX64:#define __FLT_MAX_10_EXP__ 38
2282// NVPTX64:#define __FLT_MAX_EXP__ 128
2283// NVPTX64:#define __FLT_MAX__ 3.40282347e+38F
2284// NVPTX64:#define __FLT_MIN_10_EXP__ (-37)
2285// NVPTX64:#define __FLT_MIN_EXP__ (-125)
2286// NVPTX64:#define __FLT_MIN__ 1.17549435e-38F
2287// NVPTX64:#define __FLT_RADIX__ 2
2288// NVPTX64:#define __INT16_TYPE__ short
2289// NVPTX64:#define __INT32_TYPE__ int
2290// NVPTX64:#define __INT64_C_SUFFIX__ LL
2291// NVPTX64:#define __INT64_TYPE__ long long int
2292// NVPTX64:#define __INT8_TYPE__ char
2293// NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL
2294// NVPTX64:#define __INTMAX_TYPE__ long long int
2295// NVPTX64:#define __INTMAX_WIDTH__ 64
2296// NVPTX64:#define __INTPTR_TYPE__ long long unsigned int
2297// NVPTX64:#define __INTPTR_WIDTH__ 64
2298// NVPTX64:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002299// NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002300// NVPTX64:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002301// NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002302// NVPTX64:#define __LDBL_HAS_DENORM__ 1
2303// NVPTX64:#define __LDBL_HAS_INFINITY__ 1
2304// NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1
2305// NVPTX64:#define __LDBL_MANT_DIG__ 53
2306// NVPTX64:#define __LDBL_MAX_10_EXP__ 308
2307// NVPTX64:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002308// NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002309// NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
2310// NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002311// NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308L
Robert Lytton2c942c62014-03-10 12:06:29 +00002312// NVPTX64:#define __LITTLE_ENDIAN__ 1
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002313// NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL
2314// NVPTX64:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002315// NVPTX64:#define __LP64__ 1
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002316// NVPTX64:#define __NVPTX__ 1
2317// NVPTX64:#define __POINTER_WIDTH__ 64
2318// NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1
2319// NVPTX64:#define __PTRDIFF_TYPE__ long long unsigned int
2320// NVPTX64:#define __PTRDIFF_WIDTH__ 64
2321// NVPTX64:#define __PTX__ 1
2322// NVPTX64:#define __SCHAR_MAX__ 127
2323// NVPTX64:#define __SHRT_MAX__ 32767
2324// NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32
2325// NVPTX64:#define __SIZEOF_DOUBLE__ 8
2326// NVPTX64:#define __SIZEOF_FLOAT__ 4
2327// NVPTX64:#define __SIZEOF_INT__ 4
2328// NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8
2329// NVPTX64:#define __SIZEOF_LONG_LONG__ 8
2330// NVPTX64:#define __SIZEOF_LONG__ 8
2331// NVPTX64:#define __SIZEOF_POINTER__ 8
2332// NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8
2333// NVPTX64:#define __SIZEOF_SHORT__ 2
2334// NVPTX64:#define __SIZEOF_SIZE_T__ 8
2335// NVPTX64:#define __SIZEOF_WCHAR_T__ 4
2336// NVPTX64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002337// NVPTX64:#define __SIZE_MAX__ 18446744073709551615UL
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00002338// NVPTX64:#define __SIZE_TYPE__ long long unsigned int
2339// NVPTX64:#define __SIZE_WIDTH__ 64
2340// NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int
2341// NVPTX64:#define __USER_LABEL_PREFIX__ _
2342// NVPTX64:#define __WCHAR_MAX__ 2147483647
2343// NVPTX64:#define __WCHAR_TYPE__ int
2344// NVPTX64:#define __WCHAR_WIDTH__ 32
2345// NVPTX64:#define __WINT_TYPE__ int
2346// NVPTX64:#define __WINT_WIDTH__ 32
2347//
Hal Finkel6b984f02012-07-03 16:51:04 +00002348// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -check-prefix PPC603E %s
2349//
2350// PPC603E:#define _ARCH_603 1
2351// PPC603E:#define _ARCH_603E 1
2352// PPC603E:#define _ARCH_PPC 1
2353// PPC603E:#define _ARCH_PPCGR 1
2354// PPC603E:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002355// PPC603E-NOT:#define _LP64
Hal Finkel6b984f02012-07-03 16:51:04 +00002356// PPC603E:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002357// PPC603E:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Hal Finkel6b984f02012-07-03 16:51:04 +00002358// PPC603E:#define __CHAR16_TYPE__ unsigned short
2359// PPC603E:#define __CHAR32_TYPE__ unsigned int
2360// PPC603E:#define __CHAR_BIT__ 8
2361// PPC603E:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2362// PPC603E:#define __DBL_DIG__ 15
2363// PPC603E:#define __DBL_EPSILON__ 2.2204460492503131e-16
2364// PPC603E:#define __DBL_HAS_DENORM__ 1
2365// PPC603E:#define __DBL_HAS_INFINITY__ 1
2366// PPC603E:#define __DBL_HAS_QUIET_NAN__ 1
2367// PPC603E:#define __DBL_MANT_DIG__ 53
2368// PPC603E:#define __DBL_MAX_10_EXP__ 308
2369// PPC603E:#define __DBL_MAX_EXP__ 1024
2370// PPC603E:#define __DBL_MAX__ 1.7976931348623157e+308
2371// PPC603E:#define __DBL_MIN_10_EXP__ (-307)
2372// PPC603E:#define __DBL_MIN_EXP__ (-1021)
2373// PPC603E:#define __DBL_MIN__ 2.2250738585072014e-308
2374// PPC603E:#define __DECIMAL_DIG__ 33
2375// PPC603E:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2376// PPC603E:#define __FLT_DIG__ 6
2377// PPC603E:#define __FLT_EPSILON__ 1.19209290e-7F
2378// PPC603E:#define __FLT_EVAL_METHOD__ 0
2379// PPC603E:#define __FLT_HAS_DENORM__ 1
2380// PPC603E:#define __FLT_HAS_INFINITY__ 1
2381// PPC603E:#define __FLT_HAS_QUIET_NAN__ 1
2382// PPC603E:#define __FLT_MANT_DIG__ 24
2383// PPC603E:#define __FLT_MAX_10_EXP__ 38
2384// PPC603E:#define __FLT_MAX_EXP__ 128
2385// PPC603E:#define __FLT_MAX__ 3.40282347e+38F
2386// PPC603E:#define __FLT_MIN_10_EXP__ (-37)
2387// PPC603E:#define __FLT_MIN_EXP__ (-125)
2388// PPC603E:#define __FLT_MIN__ 1.17549435e-38F
2389// PPC603E:#define __FLT_RADIX__ 2
2390// PPC603E:#define __INT16_TYPE__ short
2391// PPC603E:#define __INT32_TYPE__ int
2392// PPC603E:#define __INT64_C_SUFFIX__ LL
2393// PPC603E:#define __INT64_TYPE__ long long int
2394// PPC603E:#define __INT8_TYPE__ char
2395// PPC603E:#define __INTMAX_MAX__ 9223372036854775807LL
2396// PPC603E:#define __INTMAX_TYPE__ long long int
2397// PPC603E:#define __INTMAX_WIDTH__ 64
2398// PPC603E:#define __INTPTR_TYPE__ long int
2399// PPC603E:#define __INTPTR_WIDTH__ 32
2400// PPC603E:#define __INT_MAX__ 2147483647
2401// PPC603E:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2402// PPC603E:#define __LDBL_DIG__ 31
2403// PPC603E:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2404// PPC603E:#define __LDBL_HAS_DENORM__ 1
2405// PPC603E:#define __LDBL_HAS_INFINITY__ 1
2406// PPC603E:#define __LDBL_HAS_QUIET_NAN__ 1
2407// PPC603E:#define __LDBL_MANT_DIG__ 106
2408// PPC603E:#define __LDBL_MAX_10_EXP__ 308
2409// PPC603E:#define __LDBL_MAX_EXP__ 1024
2410// PPC603E:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2411// PPC603E:#define __LDBL_MIN_10_EXP__ (-291)
2412// PPC603E:#define __LDBL_MIN_EXP__ (-968)
2413// PPC603E:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2414// PPC603E:#define __LONG_DOUBLE_128__ 1
2415// PPC603E:#define __LONG_LONG_MAX__ 9223372036854775807LL
2416// PPC603E:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002417// PPC603E-NOT:#define __LP64__
Hal Finkel6b984f02012-07-03 16:51:04 +00002418// PPC603E:#define __NATURAL_ALIGNMENT__ 1
Hal Finkel6b984f02012-07-03 16:51:04 +00002419// PPC603E:#define __POINTER_WIDTH__ 32
2420// PPC603E:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002421// PPC603E:#define __PPC__ 1
Hal Finkel6b984f02012-07-03 16:51:04 +00002422// PPC603E:#define __PTRDIFF_TYPE__ long int
2423// PPC603E:#define __PTRDIFF_WIDTH__ 32
2424// PPC603E:#define __REGISTER_PREFIX__
2425// PPC603E:#define __SCHAR_MAX__ 127
2426// PPC603E:#define __SHRT_MAX__ 32767
2427// PPC603E:#define __SIG_ATOMIC_WIDTH__ 32
2428// PPC603E:#define __SIZEOF_DOUBLE__ 8
2429// PPC603E:#define __SIZEOF_FLOAT__ 4
2430// PPC603E:#define __SIZEOF_INT__ 4
2431// PPC603E:#define __SIZEOF_LONG_DOUBLE__ 16
2432// PPC603E:#define __SIZEOF_LONG_LONG__ 8
2433// PPC603E:#define __SIZEOF_LONG__ 4
2434// PPC603E:#define __SIZEOF_POINTER__ 4
2435// PPC603E:#define __SIZEOF_PTRDIFF_T__ 4
2436// PPC603E:#define __SIZEOF_SHORT__ 2
2437// PPC603E:#define __SIZEOF_SIZE_T__ 4
2438// PPC603E:#define __SIZEOF_WCHAR_T__ 4
2439// PPC603E:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002440// PPC603E:#define __SIZE_MAX__ 4294967295U
Hal Finkel6b984f02012-07-03 16:51:04 +00002441// PPC603E:#define __SIZE_TYPE__ long unsigned int
2442// PPC603E:#define __SIZE_WIDTH__ 32
2443// PPC603E:#define __UINTMAX_TYPE__ long long unsigned int
2444// PPC603E:#define __USER_LABEL_PREFIX__ _
2445// PPC603E:#define __WCHAR_MAX__ 2147483647
2446// PPC603E:#define __WCHAR_TYPE__ int
2447// PPC603E:#define __WCHAR_WIDTH__ 32
2448// PPC603E:#define __WINT_TYPE__ int
2449// PPC603E:#define __WINT_WIDTH__ 32
2450// PPC603E:#define __powerpc__ 1
2451// PPC603E:#define __ppc__ 1
2452//
Hal Finkel8eb59282012-06-11 22:35:19 +00002453// 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 +00002454//
2455// PPC64:#define _ARCH_PPC 1
2456// PPC64:#define _ARCH_PPC64 1
Hal Finkel6b984f02012-07-03 16:51:04 +00002457// PPC64:#define _ARCH_PPCGR 1
2458// PPC64:#define _ARCH_PPCSQ 1
2459// PPC64:#define _ARCH_PWR4 1
2460// PPC64:#define _ARCH_PWR5 1
2461// PPC64:#define _ARCH_PWR6 1
Hal Finkel8eb59282012-06-11 22:35:19 +00002462// PPC64:#define _ARCH_PWR7 1
Chris Lattnere963d092009-10-29 04:55:36 +00002463// PPC64:#define _BIG_ENDIAN 1
2464// PPC64:#define _LP64 1
2465// PPC64:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002466// PPC64:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002467// PPC64:#define __CHAR16_TYPE__ unsigned short
2468// PPC64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002469// PPC64:#define __CHAR_BIT__ 8
2470// PPC64:#define __CHAR_UNSIGNED__ 1
2471// PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2472// PPC64:#define __DBL_DIG__ 15
2473// PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
2474// PPC64:#define __DBL_HAS_DENORM__ 1
2475// PPC64:#define __DBL_HAS_INFINITY__ 1
2476// PPC64:#define __DBL_HAS_QUIET_NAN__ 1
2477// PPC64:#define __DBL_MANT_DIG__ 53
2478// PPC64:#define __DBL_MAX_10_EXP__ 308
2479// PPC64:#define __DBL_MAX_EXP__ 1024
2480// PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
2481// PPC64:#define __DBL_MIN_10_EXP__ (-307)
2482// PPC64:#define __DBL_MIN_EXP__ (-1021)
2483// PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber3435ede2012-01-31 02:07:33 +00002484// PPC64:#define __DECIMAL_DIG__ 33
Chris Lattnere963d092009-10-29 04:55:36 +00002485// PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2486// PPC64:#define __FLT_DIG__ 6
2487// PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
2488// PPC64:#define __FLT_EVAL_METHOD__ 0
2489// PPC64:#define __FLT_HAS_DENORM__ 1
2490// PPC64:#define __FLT_HAS_INFINITY__ 1
2491// PPC64:#define __FLT_HAS_QUIET_NAN__ 1
2492// PPC64:#define __FLT_MANT_DIG__ 24
2493// PPC64:#define __FLT_MAX_10_EXP__ 38
2494// PPC64:#define __FLT_MAX_EXP__ 128
2495// PPC64:#define __FLT_MAX__ 3.40282347e+38F
2496// PPC64:#define __FLT_MIN_10_EXP__ (-37)
2497// PPC64:#define __FLT_MIN_EXP__ (-125)
2498// PPC64:#define __FLT_MIN__ 1.17549435e-38F
2499// PPC64:#define __FLT_RADIX__ 2
2500// PPC64:#define __INT16_TYPE__ short
2501// PPC64:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002502// PPC64:#define __INT64_C_SUFFIX__ L
Chris Lattnere963d092009-10-29 04:55:36 +00002503// PPC64:#define __INT64_TYPE__ long int
2504// PPC64:#define __INT8_TYPE__ char
2505// PPC64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck9b25f782009-11-19 13:18:59 +00002506// PPC64:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002507// PPC64:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002508// PPC64:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002509// PPC64:#define __INTPTR_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00002510// PPC64:#define __INT_MAX__ 2147483647
Nico Weber3435ede2012-01-31 02:07:33 +00002511// PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2512// PPC64:#define __LDBL_DIG__ 31
2513// PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002514// PPC64:#define __LDBL_HAS_DENORM__ 1
2515// PPC64:#define __LDBL_HAS_INFINITY__ 1
2516// PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002517// PPC64:#define __LDBL_MANT_DIG__ 106
Chris Lattnere963d092009-10-29 04:55:36 +00002518// PPC64:#define __LDBL_MAX_10_EXP__ 308
2519// PPC64:#define __LDBL_MAX_EXP__ 1024
Nico Weber3435ede2012-01-31 02:07:33 +00002520// PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2521// PPC64:#define __LDBL_MIN_10_EXP__ (-291)
2522// PPC64:#define __LDBL_MIN_EXP__ (-968)
2523// PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnere963d092009-10-29 04:55:36 +00002524// PPC64:#define __LONG_DOUBLE_128__ 1
2525// PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
2526// PPC64:#define __LONG_MAX__ 9223372036854775807L
2527// PPC64:#define __LP64__ 1
2528// PPC64:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002529// PPC64:#define __POINTER_WIDTH__ 64
2530// PPC64:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002531// PPC64:#define __PPC64__ 1
2532// PPC64:#define __PPC__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002533// PPC64:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002534// PPC64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00002535// PPC64:#define __REGISTER_PREFIX__
2536// PPC64:#define __SCHAR_MAX__ 127
2537// PPC64:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002538// PPC64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002539// PPC64:#define __SIZEOF_DOUBLE__ 8
2540// PPC64:#define __SIZEOF_FLOAT__ 4
2541// PPC64:#define __SIZEOF_INT__ 4
Nico Weber3435ede2012-01-31 02:07:33 +00002542// PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohman04f87202010-05-28 00:27:15 +00002543// PPC64:#define __SIZEOF_LONG_LONG__ 8
2544// PPC64:#define __SIZEOF_LONG__ 8
2545// PPC64:#define __SIZEOF_POINTER__ 8
2546// PPC64:#define __SIZEOF_PTRDIFF_T__ 8
2547// PPC64:#define __SIZEOF_SHORT__ 2
2548// PPC64:#define __SIZEOF_SIZE_T__ 8
2549// PPC64:#define __SIZEOF_WCHAR_T__ 4
2550// PPC64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002551// PPC64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnere963d092009-10-29 04:55:36 +00002552// PPC64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002553// PPC64:#define __SIZE_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002554// PPC64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002555// PPC64:#define __USER_LABEL_PREFIX__ _
2556// PPC64:#define __WCHAR_MAX__ 2147483647
2557// PPC64:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002558// PPC64:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002559// PPC64:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002560// PPC64:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002561// PPC64:#define __ppc64__ 1
2562// PPC64:#define __ppc__ 1
2563//
Bill Schmidt778d3872013-07-26 01:36:11 +00002564// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64LE %s
2565//
2566// PPC64LE:#define _ARCH_PPC 1
2567// PPC64LE:#define _ARCH_PPC64 1
2568// PPC64LE:#define _ARCH_PPCGR 1
2569// PPC64LE:#define _ARCH_PPCSQ 1
2570// PPC64LE:#define _ARCH_PWR4 1
2571// PPC64LE:#define _ARCH_PWR5 1
2572// PPC64LE:#define _ARCH_PWR5X 1
2573// PPC64LE:#define _ARCH_PWR6 1
2574// PPC64LE:#define _ARCH_PWR6X 1
2575// PPC64LE:#define _ARCH_PWR7 1
Will Schmidt5fa50f3c2014-03-24 21:09:16 +00002576// PPC64LE:#define _CALL_ELF 2
Bill Schmidt778d3872013-07-26 01:36:11 +00002577// PPC64LE:#define _LITTLE_ENDIAN 1
2578// PPC64LE:#define _LP64 1
2579// PPC64LE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
2580// PPC64LE:#define __CHAR16_TYPE__ unsigned short
2581// PPC64LE:#define __CHAR32_TYPE__ unsigned int
2582// PPC64LE:#define __CHAR_BIT__ 8
2583// PPC64LE:#define __CHAR_UNSIGNED__ 1
2584// PPC64LE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2585// PPC64LE:#define __DBL_DIG__ 15
2586// PPC64LE:#define __DBL_EPSILON__ 2.2204460492503131e-16
2587// PPC64LE:#define __DBL_HAS_DENORM__ 1
2588// PPC64LE:#define __DBL_HAS_INFINITY__ 1
2589// PPC64LE:#define __DBL_HAS_QUIET_NAN__ 1
2590// PPC64LE:#define __DBL_MANT_DIG__ 53
2591// PPC64LE:#define __DBL_MAX_10_EXP__ 308
2592// PPC64LE:#define __DBL_MAX_EXP__ 1024
2593// PPC64LE:#define __DBL_MAX__ 1.7976931348623157e+308
2594// PPC64LE:#define __DBL_MIN_10_EXP__ (-307)
2595// PPC64LE:#define __DBL_MIN_EXP__ (-1021)
2596// PPC64LE:#define __DBL_MIN__ 2.2250738585072014e-308
2597// PPC64LE:#define __DECIMAL_DIG__ 33
2598// PPC64LE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2599// PPC64LE:#define __FLT_DIG__ 6
2600// PPC64LE:#define __FLT_EPSILON__ 1.19209290e-7F
2601// PPC64LE:#define __FLT_EVAL_METHOD__ 0
2602// PPC64LE:#define __FLT_HAS_DENORM__ 1
2603// PPC64LE:#define __FLT_HAS_INFINITY__ 1
2604// PPC64LE:#define __FLT_HAS_QUIET_NAN__ 1
2605// PPC64LE:#define __FLT_MANT_DIG__ 24
2606// PPC64LE:#define __FLT_MAX_10_EXP__ 38
2607// PPC64LE:#define __FLT_MAX_EXP__ 128
2608// PPC64LE:#define __FLT_MAX__ 3.40282347e+38F
2609// PPC64LE:#define __FLT_MIN_10_EXP__ (-37)
2610// PPC64LE:#define __FLT_MIN_EXP__ (-125)
2611// PPC64LE:#define __FLT_MIN__ 1.17549435e-38F
2612// PPC64LE:#define __FLT_RADIX__ 2
2613// PPC64LE:#define __INT16_TYPE__ short
2614// PPC64LE:#define __INT32_TYPE__ int
2615// PPC64LE:#define __INT64_C_SUFFIX__ L
2616// PPC64LE:#define __INT64_TYPE__ long int
2617// PPC64LE:#define __INT8_TYPE__ char
2618// PPC64LE:#define __INTMAX_MAX__ 9223372036854775807L
2619// PPC64LE:#define __INTMAX_TYPE__ long int
2620// PPC64LE:#define __INTMAX_WIDTH__ 64
2621// PPC64LE:#define __INTPTR_TYPE__ long int
2622// PPC64LE:#define __INTPTR_WIDTH__ 64
2623// PPC64LE:#define __INT_MAX__ 2147483647
2624// PPC64LE:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2625// PPC64LE:#define __LDBL_DIG__ 31
2626// PPC64LE:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2627// PPC64LE:#define __LDBL_HAS_DENORM__ 1
2628// PPC64LE:#define __LDBL_HAS_INFINITY__ 1
2629// PPC64LE:#define __LDBL_HAS_QUIET_NAN__ 1
2630// PPC64LE:#define __LDBL_MANT_DIG__ 106
2631// PPC64LE:#define __LDBL_MAX_10_EXP__ 308
2632// PPC64LE:#define __LDBL_MAX_EXP__ 1024
2633// PPC64LE:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2634// PPC64LE:#define __LDBL_MIN_10_EXP__ (-291)
2635// PPC64LE:#define __LDBL_MIN_EXP__ (-968)
2636// PPC64LE:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2637// PPC64LE:#define __LITTLE_ENDIAN__ 1
2638// PPC64LE:#define __LONG_DOUBLE_128__ 1
2639// PPC64LE:#define __LONG_LONG_MAX__ 9223372036854775807LL
2640// PPC64LE:#define __LONG_MAX__ 9223372036854775807L
2641// PPC64LE:#define __LP64__ 1
2642// PPC64LE:#define __NATURAL_ALIGNMENT__ 1
2643// PPC64LE:#define __POINTER_WIDTH__ 64
2644// PPC64LE:#define __POWERPC__ 1
2645// PPC64LE:#define __PPC64__ 1
2646// PPC64LE:#define __PPC__ 1
2647// PPC64LE:#define __PTRDIFF_TYPE__ long int
2648// PPC64LE:#define __PTRDIFF_WIDTH__ 64
2649// PPC64LE:#define __REGISTER_PREFIX__
2650// PPC64LE:#define __SCHAR_MAX__ 127
2651// PPC64LE:#define __SHRT_MAX__ 32767
2652// PPC64LE:#define __SIG_ATOMIC_WIDTH__ 32
2653// PPC64LE:#define __SIZEOF_DOUBLE__ 8
2654// PPC64LE:#define __SIZEOF_FLOAT__ 4
2655// PPC64LE:#define __SIZEOF_INT__ 4
2656// PPC64LE:#define __SIZEOF_LONG_DOUBLE__ 16
2657// PPC64LE:#define __SIZEOF_LONG_LONG__ 8
2658// PPC64LE:#define __SIZEOF_LONG__ 8
2659// PPC64LE:#define __SIZEOF_POINTER__ 8
2660// PPC64LE:#define __SIZEOF_PTRDIFF_T__ 8
2661// PPC64LE:#define __SIZEOF_SHORT__ 2
2662// PPC64LE:#define __SIZEOF_SIZE_T__ 8
2663// PPC64LE:#define __SIZEOF_WCHAR_T__ 4
2664// PPC64LE:#define __SIZEOF_WINT_T__ 4
2665// PPC64LE:#define __SIZE_MAX__ 18446744073709551615UL
2666// PPC64LE:#define __SIZE_TYPE__ long unsigned int
2667// PPC64LE:#define __SIZE_WIDTH__ 64
2668// PPC64LE:#define __UINTMAX_TYPE__ long unsigned int
2669// PPC64LE:#define __USER_LABEL_PREFIX__ _
2670// PPC64LE:#define __WCHAR_MAX__ 2147483647
2671// PPC64LE:#define __WCHAR_TYPE__ int
2672// PPC64LE:#define __WCHAR_WIDTH__ 32
2673// PPC64LE:#define __WINT_TYPE__ int
2674// PPC64LE:#define __WINT_WIDTH__ 32
2675// PPC64LE:#define __ppc64__ 1
2676// PPC64LE:#define __ppc__ 1
2677//
Hal Finkeldf1e4bf2013-02-01 05:53:33 +00002678// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu a2q -fno-signed-char < /dev/null | FileCheck -check-prefix PPCA2Q %s
2679//
2680// PPCA2Q:#define _ARCH_A2 1
2681// PPCA2Q:#define _ARCH_A2Q 1
2682// PPCA2Q:#define _ARCH_PPC 1
2683// PPCA2Q:#define _ARCH_PPC64 1
2684// PPCA2Q:#define _ARCH_QP 1
2685//
2686// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-bgq-linux -fno-signed-char < /dev/null | FileCheck -check-prefix PPCBGQ %s
2687//
2688// PPCBGQ:#define __THW_BLUEGENE__ 1
2689// PPCBGQ:#define __TOS_BGQ__ 1
2690// PPCBGQ:#define __bg__ 1
2691// PPCBGQ:#define __bgq__ 1
2692//
Bill Schmidt38378a02013-02-01 20:23:10 +00002693// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu 630 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC630 %s
2694//
2695// PPC630:#define _ARCH_630 1
2696// PPC630:#define _ARCH_PPC 1
2697// PPC630:#define _ARCH_PPC64 1
2698// PPC630:#define _ARCH_PPCGR 1
2699//
2700// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR3 %s
2701//
2702// PPCPWR3:#define _ARCH_PPC 1
2703// PPCPWR3:#define _ARCH_PPC64 1
2704// PPCPWR3:#define _ARCH_PPCGR 1
2705//
2706// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER3 %s
2707//
2708// PPCPOWER3:#define _ARCH_PPC 1
2709// PPCPOWER3:#define _ARCH_PPC64 1
2710// PPCPOWER3:#define _ARCH_PPCGR 1
2711//
2712// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR4 %s
2713//
2714// PPCPWR4:#define _ARCH_PPC 1
2715// PPCPWR4:#define _ARCH_PPC64 1
2716// PPCPWR4:#define _ARCH_PPCGR 1
2717// PPCPWR4:#define _ARCH_PPCSQ 1
2718// PPCPWR4:#define _ARCH_PWR4 1
2719//
2720// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER4 %s
2721//
2722// PPCPOWER4:#define _ARCH_PPC 1
2723// PPCPOWER4:#define _ARCH_PPC64 1
2724// PPCPOWER4:#define _ARCH_PPCGR 1
2725// PPCPOWER4:#define _ARCH_PPCSQ 1
2726// PPCPOWER4:#define _ARCH_PWR4 1
2727//
2728// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5 %s
2729//
2730// PPCPWR5:#define _ARCH_PPC 1
2731// PPCPWR5:#define _ARCH_PPC64 1
2732// PPCPWR5:#define _ARCH_PPCGR 1
2733// PPCPWR5:#define _ARCH_PPCSQ 1
2734// PPCPWR5:#define _ARCH_PWR4 1
2735// PPCPWR5:#define _ARCH_PWR5 1
2736//
2737// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5 %s
2738//
2739// PPCPOWER5:#define _ARCH_PPC 1
2740// PPCPOWER5:#define _ARCH_PPC64 1
2741// PPCPOWER5:#define _ARCH_PPCGR 1
2742// PPCPOWER5:#define _ARCH_PPCSQ 1
2743// PPCPOWER5:#define _ARCH_PWR4 1
2744// PPCPOWER5:#define _ARCH_PWR5 1
2745//
2746// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5X %s
2747//
2748// PPCPWR5X:#define _ARCH_PPC 1
2749// PPCPWR5X:#define _ARCH_PPC64 1
2750// PPCPWR5X:#define _ARCH_PPCGR 1
2751// PPCPWR5X:#define _ARCH_PPCSQ 1
2752// PPCPWR5X:#define _ARCH_PWR4 1
2753// PPCPWR5X:#define _ARCH_PWR5 1
2754// PPCPWR5X:#define _ARCH_PWR5X 1
2755//
2756// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5X %s
2757//
2758// PPCPOWER5X:#define _ARCH_PPC 1
2759// PPCPOWER5X:#define _ARCH_PPC64 1
2760// PPCPOWER5X:#define _ARCH_PPCGR 1
2761// PPCPOWER5X:#define _ARCH_PPCSQ 1
2762// PPCPOWER5X:#define _ARCH_PWR4 1
2763// PPCPOWER5X:#define _ARCH_PWR5 1
2764// PPCPOWER5X:#define _ARCH_PWR5X 1
2765//
2766// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6 %s
2767//
2768// PPCPWR6:#define _ARCH_PPC 1
2769// PPCPWR6:#define _ARCH_PPC64 1
2770// PPCPWR6:#define _ARCH_PPCGR 1
2771// PPCPWR6:#define _ARCH_PPCSQ 1
2772// PPCPWR6:#define _ARCH_PWR4 1
2773// PPCPWR6:#define _ARCH_PWR5 1
2774// PPCPWR6:#define _ARCH_PWR5X 1
2775// PPCPWR6:#define _ARCH_PWR6 1
2776//
2777// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6 %s
2778//
2779// PPCPOWER6:#define _ARCH_PPC 1
2780// PPCPOWER6:#define _ARCH_PPC64 1
2781// PPCPOWER6:#define _ARCH_PPCGR 1
2782// PPCPOWER6:#define _ARCH_PPCSQ 1
2783// PPCPOWER6:#define _ARCH_PWR4 1
2784// PPCPOWER6:#define _ARCH_PWR5 1
2785// PPCPOWER6:#define _ARCH_PWR5X 1
2786// PPCPOWER6:#define _ARCH_PWR6 1
2787//
2788// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6X %s
2789//
2790// PPCPWR6X:#define _ARCH_PPC 1
2791// PPCPWR6X:#define _ARCH_PPC64 1
2792// PPCPWR6X:#define _ARCH_PPCGR 1
2793// PPCPWR6X:#define _ARCH_PPCSQ 1
2794// PPCPWR6X:#define _ARCH_PWR4 1
2795// PPCPWR6X:#define _ARCH_PWR5 1
2796// PPCPWR6X:#define _ARCH_PWR5X 1
2797// PPCPWR6X:#define _ARCH_PWR6 1
2798// PPCPWR6X:#define _ARCH_PWR6X 1
2799//
2800// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6X %s
2801//
2802// PPCPOWER6X:#define _ARCH_PPC 1
2803// PPCPOWER6X:#define _ARCH_PPC64 1
2804// PPCPOWER6X:#define _ARCH_PPCGR 1
2805// PPCPOWER6X:#define _ARCH_PPCSQ 1
2806// PPCPOWER6X:#define _ARCH_PWR4 1
2807// PPCPOWER6X:#define _ARCH_PWR5 1
2808// PPCPOWER6X:#define _ARCH_PWR5X 1
2809// PPCPOWER6X:#define _ARCH_PWR6 1
2810// PPCPOWER6X:#define _ARCH_PWR6X 1
2811//
2812// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR7 %s
2813//
2814// PPCPWR7:#define _ARCH_PPC 1
2815// PPCPWR7:#define _ARCH_PPC64 1
2816// PPCPWR7:#define _ARCH_PPCGR 1
2817// PPCPWR7:#define _ARCH_PPCSQ 1
2818// PPCPWR7:#define _ARCH_PWR4 1
2819// PPCPWR7:#define _ARCH_PWR5 1
2820// PPCPWR7:#define _ARCH_PWR5X 1
2821// PPCPWR7:#define _ARCH_PWR6 1
2822// PPCPWR7:#define _ARCH_PWR6X 1
2823// PPCPWR7:#define _ARCH_PWR7 1
2824//
2825// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER7 %s
2826//
2827// PPCPOWER7:#define _ARCH_PPC 1
2828// PPCPOWER7:#define _ARCH_PPC64 1
2829// PPCPOWER7:#define _ARCH_PPCGR 1
2830// PPCPOWER7:#define _ARCH_PPCSQ 1
2831// PPCPOWER7:#define _ARCH_PWR4 1
2832// PPCPOWER7:#define _ARCH_PWR5 1
2833// PPCPOWER7:#define _ARCH_PWR5X 1
2834// PPCPOWER7:#define _ARCH_PWR6 1
2835// PPCPOWER7:#define _ARCH_PWR6X 1
2836// PPCPOWER7:#define _ARCH_PWR7 1
2837//
Nico Weber3435ede2012-01-31 02:07:33 +00002838// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
2839//
2840// PPC64-LINUX:#define _ARCH_PPC 1
2841// PPC64-LINUX:#define _ARCH_PPC64 1
2842// PPC64-LINUX:#define _BIG_ENDIAN 1
2843// PPC64-LINUX:#define _LP64 1
2844// PPC64-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002845// PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber3435ede2012-01-31 02:07:33 +00002846// PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
2847// PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
2848// PPC64-LINUX:#define __CHAR_BIT__ 8
2849// PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
2850// PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2851// PPC64-LINUX:#define __DBL_DIG__ 15
2852// PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2853// PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
2854// PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
2855// PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2856// PPC64-LINUX:#define __DBL_MANT_DIG__ 53
2857// PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
2858// PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
2859// PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2860// PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2861// PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2862// PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2863// PPC64-LINUX:#define __DECIMAL_DIG__ 33
2864// PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2865// PPC64-LINUX:#define __FLT_DIG__ 6
2866// PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2867// PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
2868// PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
2869// PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
2870// PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2871// PPC64-LINUX:#define __FLT_MANT_DIG__ 24
2872// PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
2873// PPC64-LINUX:#define __FLT_MAX_EXP__ 128
2874// PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2875// PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2876// PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
2877// PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2878// PPC64-LINUX:#define __FLT_RADIX__ 2
2879// PPC64-LINUX:#define __INT16_TYPE__ short
2880// PPC64-LINUX:#define __INT32_TYPE__ int
2881// PPC64-LINUX:#define __INT64_C_SUFFIX__ L
2882// PPC64-LINUX:#define __INT64_TYPE__ long int
2883// PPC64-LINUX:#define __INT8_TYPE__ char
2884// PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2885// PPC64-LINUX:#define __INTMAX_TYPE__ long int
2886// PPC64-LINUX:#define __INTMAX_WIDTH__ 64
2887// PPC64-LINUX:#define __INTPTR_TYPE__ long int
2888// PPC64-LINUX:#define __INTPTR_WIDTH__ 64
2889// PPC64-LINUX:#define __INT_MAX__ 2147483647
2890// PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2891// PPC64-LINUX:#define __LDBL_DIG__ 31
2892// PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2893// PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
2894// PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2895// PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2896// PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
2897// PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
2898// PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
2899// PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2900// PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2901// PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
2902// PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2903// PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
2904// PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2905// PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2906// PPC64-LINUX:#define __LP64__ 1
2907// PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002908// PPC64-LINUX:#define __POINTER_WIDTH__ 64
2909// PPC64-LINUX:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00002910// PPC64-LINUX:#define __PPC64__ 1
2911// PPC64-LINUX:#define __PPC__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002912// PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
2913// PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
2914// PPC64-LINUX:#define __REGISTER_PREFIX__
2915// PPC64-LINUX:#define __SCHAR_MAX__ 127
2916// PPC64-LINUX:#define __SHRT_MAX__ 32767
2917// PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2918// PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
2919// PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
2920// PPC64-LINUX:#define __SIZEOF_INT__ 4
2921// PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2922// PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2923// PPC64-LINUX:#define __SIZEOF_LONG__ 8
2924// PPC64-LINUX:#define __SIZEOF_POINTER__ 8
2925// PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2926// PPC64-LINUX:#define __SIZEOF_SHORT__ 2
2927// PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
2928// PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2929// PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002930// PPC64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Nico Weber3435ede2012-01-31 02:07:33 +00002931// PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
2932// PPC64-LINUX:#define __SIZE_WIDTH__ 64
2933// PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2934// PPC64-LINUX:#define __USER_LABEL_PREFIX__
2935// PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
2936// PPC64-LINUX:#define __WCHAR_TYPE__ int
2937// PPC64-LINUX:#define __WCHAR_WIDTH__ 32
2938// PPC64-LINUX:#define __WINT_TYPE__ unsigned int
2939// PPC64-LINUX:#define __WINT_UNSIGNED__ 1
2940// PPC64-LINUX:#define __WINT_WIDTH__ 32
2941// PPC64-LINUX:#define __powerpc64__ 1
2942// PPC64-LINUX:#define __powerpc__ 1
2943// PPC64-LINUX:#define __ppc64__ 1
2944// PPC64-LINUX:#define __ppc__ 1
2945//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002946// 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 +00002947//
2948// PPC:#define _ARCH_PPC 1
2949// PPC:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002950// PPC-NOT:#define _LP64
Chris Lattnere963d092009-10-29 04:55:36 +00002951// PPC:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002952// PPC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002953// PPC:#define __CHAR16_TYPE__ unsigned short
2954// PPC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002955// PPC:#define __CHAR_BIT__ 8
2956// PPC:#define __CHAR_UNSIGNED__ 1
2957// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2958// PPC:#define __DBL_DIG__ 15
2959// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2960// PPC:#define __DBL_HAS_DENORM__ 1
2961// PPC:#define __DBL_HAS_INFINITY__ 1
2962// PPC:#define __DBL_HAS_QUIET_NAN__ 1
2963// PPC:#define __DBL_MANT_DIG__ 53
2964// PPC:#define __DBL_MAX_10_EXP__ 308
2965// PPC:#define __DBL_MAX_EXP__ 1024
2966// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
2967// PPC:#define __DBL_MIN_10_EXP__ (-307)
2968// PPC:#define __DBL_MIN_EXP__ (-1021)
2969// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber3435ede2012-01-31 02:07:33 +00002970// PPC:#define __DECIMAL_DIG__ 33
Chris Lattnere963d092009-10-29 04:55:36 +00002971// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2972// PPC:#define __FLT_DIG__ 6
2973// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
2974// PPC:#define __FLT_EVAL_METHOD__ 0
2975// PPC:#define __FLT_HAS_DENORM__ 1
2976// PPC:#define __FLT_HAS_INFINITY__ 1
2977// PPC:#define __FLT_HAS_QUIET_NAN__ 1
2978// PPC:#define __FLT_MANT_DIG__ 24
2979// PPC:#define __FLT_MAX_10_EXP__ 38
2980// PPC:#define __FLT_MAX_EXP__ 128
2981// PPC:#define __FLT_MAX__ 3.40282347e+38F
2982// PPC:#define __FLT_MIN_10_EXP__ (-37)
2983// PPC:#define __FLT_MIN_EXP__ (-125)
2984// PPC:#define __FLT_MIN__ 1.17549435e-38F
2985// PPC:#define __FLT_RADIX__ 2
2986// PPC:#define __INT16_TYPE__ short
2987// PPC:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002988// PPC:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00002989// PPC:#define __INT64_TYPE__ long long int
2990// PPC:#define __INT8_TYPE__ char
2991// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00002992// PPC:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002993// PPC:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002994// PPC:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002995// PPC:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002996// PPC:#define __INT_MAX__ 2147483647
Nico Weber3435ede2012-01-31 02:07:33 +00002997// PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2998// PPC:#define __LDBL_DIG__ 31
2999// PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00003000// PPC:#define __LDBL_HAS_DENORM__ 1
3001// PPC:#define __LDBL_HAS_INFINITY__ 1
3002// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00003003// PPC:#define __LDBL_MANT_DIG__ 106
Chris Lattnere963d092009-10-29 04:55:36 +00003004// PPC:#define __LDBL_MAX_10_EXP__ 308
3005// PPC:#define __LDBL_MAX_EXP__ 1024
Nico Weber3435ede2012-01-31 02:07:33 +00003006// PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
3007// PPC:#define __LDBL_MIN_10_EXP__ (-291)
3008// PPC:#define __LDBL_MIN_EXP__ (-968)
3009// PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnere963d092009-10-29 04:55:36 +00003010// PPC:#define __LONG_DOUBLE_128__ 1
3011// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
3012// PPC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003013// PPC-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00003014// PPC:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00003015// PPC:#define __POINTER_WIDTH__ 32
3016// PPC:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00003017// PPC:#define __PPC__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00003018// PPC:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00003019// PPC:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003020// PPC:#define __REGISTER_PREFIX__
3021// PPC:#define __SCHAR_MAX__ 127
3022// PPC:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00003023// PPC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00003024// PPC:#define __SIZEOF_DOUBLE__ 8
3025// PPC:#define __SIZEOF_FLOAT__ 4
3026// PPC:#define __SIZEOF_INT__ 4
Nico Weber3435ede2012-01-31 02:07:33 +00003027// PPC:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohman04f87202010-05-28 00:27:15 +00003028// PPC:#define __SIZEOF_LONG_LONG__ 8
3029// PPC:#define __SIZEOF_LONG__ 4
3030// PPC:#define __SIZEOF_POINTER__ 4
3031// PPC:#define __SIZEOF_PTRDIFF_T__ 4
3032// PPC:#define __SIZEOF_SHORT__ 2
3033// PPC:#define __SIZEOF_SIZE_T__ 4
3034// PPC:#define __SIZEOF_WCHAR_T__ 4
3035// PPC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003036// PPC:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00003037// PPC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00003038// PPC:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003039// PPC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003040// PPC:#define __USER_LABEL_PREFIX__ _
3041// PPC:#define __WCHAR_MAX__ 2147483647
3042// PPC:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00003043// PPC:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003044// PPC:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00003045// PPC:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003046// PPC:#define __ppc__ 1
3047//
Nico Weber3435ede2012-01-31 02:07:33 +00003048// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
3049//
3050// PPC-LINUX:#define _ARCH_PPC 1
3051// PPC-LINUX:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003052// PPC-LINUX-NOT:#define _LP64
Nico Weber3435ede2012-01-31 02:07:33 +00003053// PPC-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003054// PPC-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber3435ede2012-01-31 02:07:33 +00003055// PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
3056// PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
3057// PPC-LINUX:#define __CHAR_BIT__ 8
3058// PPC-LINUX:#define __CHAR_UNSIGNED__ 1
3059// PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3060// PPC-LINUX:#define __DBL_DIG__ 15
3061// PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
3062// PPC-LINUX:#define __DBL_HAS_DENORM__ 1
3063// PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
3064// PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
3065// PPC-LINUX:#define __DBL_MANT_DIG__ 53
3066// PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
3067// PPC-LINUX:#define __DBL_MAX_EXP__ 1024
3068// PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
3069// PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
3070// PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
3071// PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
3072// PPC-LINUX:#define __DECIMAL_DIG__ 33
3073// PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3074// PPC-LINUX:#define __FLT_DIG__ 6
3075// PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
3076// PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
3077// PPC-LINUX:#define __FLT_HAS_DENORM__ 1
3078// PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
3079// PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
3080// PPC-LINUX:#define __FLT_MANT_DIG__ 24
3081// PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
3082// PPC-LINUX:#define __FLT_MAX_EXP__ 128
3083// PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
3084// PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
3085// PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
3086// PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
3087// PPC-LINUX:#define __FLT_RADIX__ 2
3088// PPC-LINUX:#define __INT16_TYPE__ short
3089// PPC-LINUX:#define __INT32_TYPE__ int
3090// PPC-LINUX:#define __INT64_C_SUFFIX__ LL
3091// PPC-LINUX:#define __INT64_TYPE__ long long int
3092// PPC-LINUX:#define __INT8_TYPE__ char
3093// PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
3094// PPC-LINUX:#define __INTMAX_TYPE__ long long int
3095// PPC-LINUX:#define __INTMAX_WIDTH__ 64
Hal Finkel26908382012-03-02 20:54:36 +00003096// PPC-LINUX:#define __INTPTR_TYPE__ int
Nico Weber3435ede2012-01-31 02:07:33 +00003097// PPC-LINUX:#define __INTPTR_WIDTH__ 32
3098// PPC-LINUX:#define __INT_MAX__ 2147483647
3099// PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
3100// PPC-LINUX:#define __LDBL_DIG__ 31
3101// PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
3102// PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
3103// PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
3104// PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
3105// PPC-LINUX:#define __LDBL_MANT_DIG__ 106
3106// PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
3107// PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
3108// PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
3109// PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
3110// PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
3111// PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
3112// PPC-LINUX:#define __LONG_DOUBLE_128__ 1
3113// PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
3114// PPC-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003115// PPC-LINUX-NOT:#define __LP64__
Nico Weber3435ede2012-01-31 02:07:33 +00003116// PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00003117// PPC-LINUX:#define __POINTER_WIDTH__ 32
3118// PPC-LINUX:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00003119// PPC-LINUX:#define __PPC__ 1
Hal Finkel26908382012-03-02 20:54:36 +00003120// PPC-LINUX:#define __PTRDIFF_TYPE__ int
Nico Weber3435ede2012-01-31 02:07:33 +00003121// PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
3122// PPC-LINUX:#define __REGISTER_PREFIX__
3123// PPC-LINUX:#define __SCHAR_MAX__ 127
3124// PPC-LINUX:#define __SHRT_MAX__ 32767
3125// PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
3126// PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
3127// PPC-LINUX:#define __SIZEOF_FLOAT__ 4
3128// PPC-LINUX:#define __SIZEOF_INT__ 4
3129// PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
3130// PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
3131// PPC-LINUX:#define __SIZEOF_LONG__ 4
3132// PPC-LINUX:#define __SIZEOF_POINTER__ 4
3133// PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
3134// PPC-LINUX:#define __SIZEOF_SHORT__ 2
3135// PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
3136// PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
3137// PPC-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003138// PPC-LINUX:#define __SIZE_MAX__ 4294967295U
Nico Weber3435ede2012-01-31 02:07:33 +00003139// PPC-LINUX:#define __SIZE_TYPE__ unsigned int
3140// PPC-LINUX:#define __SIZE_WIDTH__ 32
3141// PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
3142// PPC-LINUX:#define __USER_LABEL_PREFIX__
3143// PPC-LINUX:#define __WCHAR_MAX__ 2147483647
3144// PPC-LINUX:#define __WCHAR_TYPE__ int
3145// PPC-LINUX:#define __WCHAR_WIDTH__ 32
3146// PPC-LINUX:#define __WINT_TYPE__ unsigned int
3147// PPC-LINUX:#define __WINT_UNSIGNED__ 1
3148// PPC-LINUX:#define __WINT_WIDTH__ 32
3149// PPC-LINUX:#define __powerpc__ 1
3150// PPC-LINUX:#define __ppc__ 1
3151//
David Fang072d47b2013-05-16 17:51:48 +00003152// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-apple-darwin8 < /dev/null | FileCheck -check-prefix PPC-DARWIN %s
3153//
3154// PPC-DARWIN:#define _ARCH_PPC 1
3155// PPC-DARWIN:#define _BIG_ENDIAN 1
3156// PPC-DARWIN:#define __BIG_ENDIAN__ 1
3157// PPC-DARWIN:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
3158// PPC-DARWIN:#define __CHAR16_TYPE__ unsigned short
3159// PPC-DARWIN:#define __CHAR32_TYPE__ unsigned int
3160// PPC-DARWIN:#define __CHAR_BIT__ 8
3161// PPC-DARWIN:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3162// PPC-DARWIN:#define __DBL_DIG__ 15
3163// PPC-DARWIN:#define __DBL_EPSILON__ 2.2204460492503131e-16
3164// PPC-DARWIN:#define __DBL_HAS_DENORM__ 1
3165// PPC-DARWIN:#define __DBL_HAS_INFINITY__ 1
3166// PPC-DARWIN:#define __DBL_HAS_QUIET_NAN__ 1
3167// PPC-DARWIN:#define __DBL_MANT_DIG__ 53
3168// PPC-DARWIN:#define __DBL_MAX_10_EXP__ 308
3169// PPC-DARWIN:#define __DBL_MAX_EXP__ 1024
3170// PPC-DARWIN:#define __DBL_MAX__ 1.7976931348623157e+308
3171// PPC-DARWIN:#define __DBL_MIN_10_EXP__ (-307)
3172// PPC-DARWIN:#define __DBL_MIN_EXP__ (-1021)
3173// PPC-DARWIN:#define __DBL_MIN__ 2.2250738585072014e-308
3174// PPC-DARWIN:#define __DECIMAL_DIG__ 33
3175// PPC-DARWIN:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3176// PPC-DARWIN:#define __FLT_DIG__ 6
3177// PPC-DARWIN:#define __FLT_EPSILON__ 1.19209290e-7F
3178// PPC-DARWIN:#define __FLT_EVAL_METHOD__ 0
3179// PPC-DARWIN:#define __FLT_HAS_DENORM__ 1
3180// PPC-DARWIN:#define __FLT_HAS_INFINITY__ 1
3181// PPC-DARWIN:#define __FLT_HAS_QUIET_NAN__ 1
3182// PPC-DARWIN:#define __FLT_MANT_DIG__ 24
3183// PPC-DARWIN:#define __FLT_MAX_10_EXP__ 38
3184// PPC-DARWIN:#define __FLT_MAX_EXP__ 128
3185// PPC-DARWIN:#define __FLT_MAX__ 3.40282347e+38F
3186// PPC-DARWIN:#define __FLT_MIN_10_EXP__ (-37)
3187// PPC-DARWIN:#define __FLT_MIN_EXP__ (-125)
3188// PPC-DARWIN:#define __FLT_MIN__ 1.17549435e-38F
3189// PPC-DARWIN:#define __FLT_RADIX__ 2
3190// PPC-DARWIN:#define __INT16_TYPE__ short
3191// PPC-DARWIN:#define __INT32_TYPE__ int
3192// PPC-DARWIN:#define __INT64_C_SUFFIX__ LL
3193// PPC-DARWIN:#define __INT64_TYPE__ long long int
3194// PPC-DARWIN:#define __INT8_TYPE__ char
3195// PPC-DARWIN:#define __INTMAX_MAX__ 9223372036854775807LL
3196// PPC-DARWIN:#define __INTMAX_TYPE__ long long int
3197// PPC-DARWIN:#define __INTMAX_WIDTH__ 64
3198// PPC-DARWIN:#define __INTPTR_TYPE__ long int
3199// PPC-DARWIN:#define __INTPTR_WIDTH__ 32
3200// PPC-DARWIN:#define __INT_MAX__ 2147483647
3201// PPC-DARWIN:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
3202// PPC-DARWIN:#define __LDBL_DIG__ 31
3203// PPC-DARWIN:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
3204// PPC-DARWIN:#define __LDBL_HAS_DENORM__ 1
3205// PPC-DARWIN:#define __LDBL_HAS_INFINITY__ 1
3206// PPC-DARWIN:#define __LDBL_HAS_QUIET_NAN__ 1
3207// PPC-DARWIN:#define __LDBL_MANT_DIG__ 106
3208// PPC-DARWIN:#define __LDBL_MAX_10_EXP__ 308
3209// PPC-DARWIN:#define __LDBL_MAX_EXP__ 1024
3210// PPC-DARWIN:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
3211// PPC-DARWIN:#define __LDBL_MIN_10_EXP__ (-291)
3212// PPC-DARWIN:#define __LDBL_MIN_EXP__ (-968)
3213// PPC-DARWIN:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
3214// PPC-DARWIN:#define __LONG_DOUBLE_128__ 1
3215// PPC-DARWIN:#define __LONG_LONG_MAX__ 9223372036854775807LL
3216// PPC-DARWIN:#define __LONG_MAX__ 2147483647L
3217// PPC-DARWIN:#define __MACH__ 1
3218// PPC-DARWIN:#define __NATURAL_ALIGNMENT__ 1
3219// PPC-DARWIN:#define __ORDER_BIG_ENDIAN__ 4321
3220// PPC-DARWIN:#define __ORDER_LITTLE_ENDIAN__ 1234
3221// PPC-DARWIN:#define __ORDER_PDP_ENDIAN__ 3412
3222// PPC-DARWIN:#define __POINTER_WIDTH__ 32
3223// PPC-DARWIN:#define __POWERPC__ 1
Chandler Carruth6aa92ad2013-06-25 11:13:47 +00003224// PPC-DARWIN:#define __PPC__ 1
David Fang072d47b2013-05-16 17:51:48 +00003225// PPC-DARWIN:#define __PTRDIFF_TYPE__ int
3226// PPC-DARWIN:#define __PTRDIFF_WIDTH__ 32
3227// PPC-DARWIN:#define __REGISTER_PREFIX__
3228// PPC-DARWIN:#define __SCHAR_MAX__ 127
3229// PPC-DARWIN:#define __SHRT_MAX__ 32767
3230// PPC-DARWIN:#define __SIG_ATOMIC_WIDTH__ 32
3231// PPC-DARWIN:#define __SIZEOF_DOUBLE__ 8
3232// PPC-DARWIN:#define __SIZEOF_FLOAT__ 4
3233// PPC-DARWIN:#define __SIZEOF_INT__ 4
3234// PPC-DARWIN:#define __SIZEOF_LONG_DOUBLE__ 16
3235// PPC-DARWIN:#define __SIZEOF_LONG_LONG__ 8
3236// PPC-DARWIN:#define __SIZEOF_LONG__ 4
3237// PPC-DARWIN:#define __SIZEOF_POINTER__ 4
3238// PPC-DARWIN:#define __SIZEOF_PTRDIFF_T__ 4
3239// PPC-DARWIN:#define __SIZEOF_SHORT__ 2
3240// PPC-DARWIN:#define __SIZEOF_SIZE_T__ 4
3241// PPC-DARWIN:#define __SIZEOF_WCHAR_T__ 4
3242// PPC-DARWIN:#define __SIZEOF_WINT_T__ 4
3243// PPC-DARWIN:#define __SIZE_MAX__ 4294967295UL
3244// PPC-DARWIN:#define __SIZE_TYPE__ long unsigned int
3245// PPC-DARWIN:#define __SIZE_WIDTH__ 32
3246// PPC-DARWIN:#define __STDC_HOSTED__ 0
3247// PPC-DARWIN:#define __STDC_VERSION__ 199901L
3248// PPC-DARWIN:#define __STDC__ 1
3249// PPC-DARWIN:#define __UINTMAX_TYPE__ long long unsigned int
3250// PPC-DARWIN:#define __USER_LABEL_PREFIX__ _
3251// PPC-DARWIN:#define __WCHAR_MAX__ 2147483647
3252// PPC-DARWIN:#define __WCHAR_TYPE__ int
3253// PPC-DARWIN:#define __WCHAR_WIDTH__ 32
3254// PPC-DARWIN:#define __WINT_TYPE__ int
3255// PPC-DARWIN:#define __WINT_WIDTH__ 32
3256// PPC-DARWIN:#define __powerpc__ 1
3257// PPC-DARWIN:#define __ppc__ 1
3258//
Ulrich Weigand47445072013-05-06 16:26:41 +00003259// RUN: %clang_cc1 -E -dM -ffreestanding -triple=s390x-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix S390X %s
3260//
3261// S390X:#define __CHAR16_TYPE__ unsigned short
3262// S390X:#define __CHAR32_TYPE__ unsigned int
3263// S390X:#define __CHAR_BIT__ 8
3264// S390X:#define __CHAR_UNSIGNED__ 1
3265// S390X:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3266// S390X:#define __DBL_DIG__ 15
3267// S390X:#define __DBL_EPSILON__ 2.2204460492503131e-16
3268// S390X:#define __DBL_HAS_DENORM__ 1
3269// S390X:#define __DBL_HAS_INFINITY__ 1
3270// S390X:#define __DBL_HAS_QUIET_NAN__ 1
3271// S390X:#define __DBL_MANT_DIG__ 53
3272// S390X:#define __DBL_MAX_10_EXP__ 308
3273// S390X:#define __DBL_MAX_EXP__ 1024
3274// S390X:#define __DBL_MAX__ 1.7976931348623157e+308
3275// S390X:#define __DBL_MIN_10_EXP__ (-307)
3276// S390X:#define __DBL_MIN_EXP__ (-1021)
3277// S390X:#define __DBL_MIN__ 2.2250738585072014e-308
3278// S390X:#define __DECIMAL_DIG__ 36
3279// S390X:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3280// S390X:#define __FLT_DIG__ 6
3281// S390X:#define __FLT_EPSILON__ 1.19209290e-7F
3282// S390X:#define __FLT_EVAL_METHOD__ 0
3283// S390X:#define __FLT_HAS_DENORM__ 1
3284// S390X:#define __FLT_HAS_INFINITY__ 1
3285// S390X:#define __FLT_HAS_QUIET_NAN__ 1
3286// S390X:#define __FLT_MANT_DIG__ 24
3287// S390X:#define __FLT_MAX_10_EXP__ 38
3288// S390X:#define __FLT_MAX_EXP__ 128
3289// S390X:#define __FLT_MAX__ 3.40282347e+38F
3290// S390X:#define __FLT_MIN_10_EXP__ (-37)
3291// S390X:#define __FLT_MIN_EXP__ (-125)
3292// S390X:#define __FLT_MIN__ 1.17549435e-38F
3293// S390X:#define __FLT_RADIX__ 2
3294// S390X:#define __INT16_TYPE__ short
3295// S390X:#define __INT32_TYPE__ int
3296// S390X:#define __INT64_C_SUFFIX__ L
3297// S390X:#define __INT64_TYPE__ long long int
3298// S390X:#define __INT8_TYPE__ char
3299// S390X:#define __INTMAX_MAX__ 9223372036854775807LL
3300// S390X:#define __INTMAX_TYPE__ long long int
3301// S390X:#define __INTMAX_WIDTH__ 64
3302// S390X:#define __INTPTR_TYPE__ long int
3303// S390X:#define __INTPTR_WIDTH__ 64
3304// S390X:#define __INT_MAX__ 2147483647
3305// S390X:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
3306// S390X:#define __LDBL_DIG__ 33
3307// S390X:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
3308// S390X:#define __LDBL_HAS_DENORM__ 1
3309// S390X:#define __LDBL_HAS_INFINITY__ 1
3310// S390X:#define __LDBL_HAS_QUIET_NAN__ 1
3311// S390X:#define __LDBL_MANT_DIG__ 113
3312// S390X:#define __LDBL_MAX_10_EXP__ 4932
3313// S390X:#define __LDBL_MAX_EXP__ 16384
3314// S390X:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
3315// S390X:#define __LDBL_MIN_10_EXP__ (-4931)
3316// S390X:#define __LDBL_MIN_EXP__ (-16381)
3317// S390X:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
3318// S390X:#define __LONG_LONG_MAX__ 9223372036854775807LL
3319// S390X:#define __LONG_MAX__ 9223372036854775807L
3320// S390X:#define __NO_INLINE__ 1
3321// S390X:#define __POINTER_WIDTH__ 64
3322// S390X:#define __PTRDIFF_TYPE__ long int
3323// S390X:#define __PTRDIFF_WIDTH__ 64
3324// S390X:#define __SCHAR_MAX__ 127
3325// S390X:#define __SHRT_MAX__ 32767
3326// S390X:#define __SIG_ATOMIC_WIDTH__ 32
3327// S390X:#define __SIZEOF_DOUBLE__ 8
3328// S390X:#define __SIZEOF_FLOAT__ 4
3329// S390X:#define __SIZEOF_INT__ 4
3330// S390X:#define __SIZEOF_LONG_DOUBLE__ 16
3331// S390X:#define __SIZEOF_LONG_LONG__ 8
3332// S390X:#define __SIZEOF_LONG__ 8
3333// S390X:#define __SIZEOF_POINTER__ 8
3334// S390X:#define __SIZEOF_PTRDIFF_T__ 8
3335// S390X:#define __SIZEOF_SHORT__ 2
3336// S390X:#define __SIZEOF_SIZE_T__ 8
3337// S390X:#define __SIZEOF_WCHAR_T__ 4
3338// S390X:#define __SIZEOF_WINT_T__ 4
3339// S390X:#define __SIZE_TYPE__ long unsigned int
3340// S390X:#define __SIZE_WIDTH__ 64
3341// S390X:#define __UINTMAX_TYPE__ long long unsigned int
3342// S390X:#define __USER_LABEL_PREFIX__ _
3343// S390X:#define __WCHAR_MAX__ 2147483647
3344// S390X:#define __WCHAR_TYPE__ int
3345// S390X:#define __WCHAR_WIDTH__ 32
3346// S390X:#define __WINT_TYPE__ int
3347// S390X:#define __WINT_WIDTH__ 32
3348// S390X:#define __s390__ 1
3349// S390X:#define __s390x__ 1
3350//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00003351// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
Chris Lattnere963d092009-10-29 04:55:36 +00003352//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003353// SPARC-NOT:#define _LP64
Robert Lytton2c942c62014-03-10 12:06:29 +00003354// SPARC:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003355// SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00003356// SPARC:#define __CHAR16_TYPE__ unsigned short
3357// SPARC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003358// SPARC:#define __CHAR_BIT__ 8
3359// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3360// SPARC:#define __DBL_DIG__ 15
3361// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
3362// SPARC:#define __DBL_HAS_DENORM__ 1
3363// SPARC:#define __DBL_HAS_INFINITY__ 1
3364// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
3365// SPARC:#define __DBL_MANT_DIG__ 53
3366// SPARC:#define __DBL_MAX_10_EXP__ 308
3367// SPARC:#define __DBL_MAX_EXP__ 1024
3368// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
3369// SPARC:#define __DBL_MIN_10_EXP__ (-307)
3370// SPARC:#define __DBL_MIN_EXP__ (-1021)
3371// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
3372// SPARC:#define __DECIMAL_DIG__ 17
3373// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3374// SPARC:#define __FLT_DIG__ 6
3375// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
3376// SPARC:#define __FLT_EVAL_METHOD__ 0
3377// SPARC:#define __FLT_HAS_DENORM__ 1
3378// SPARC:#define __FLT_HAS_INFINITY__ 1
3379// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
3380// SPARC:#define __FLT_MANT_DIG__ 24
3381// SPARC:#define __FLT_MAX_10_EXP__ 38
3382// SPARC:#define __FLT_MAX_EXP__ 128
3383// SPARC:#define __FLT_MAX__ 3.40282347e+38F
3384// SPARC:#define __FLT_MIN_10_EXP__ (-37)
3385// SPARC:#define __FLT_MIN_EXP__ (-125)
3386// SPARC:#define __FLT_MIN__ 1.17549435e-38F
3387// SPARC:#define __FLT_RADIX__ 2
3388// SPARC:#define __INT16_TYPE__ short
3389// SPARC:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00003390// SPARC:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00003391// SPARC:#define __INT64_TYPE__ long long int
3392// SPARC:#define __INT8_TYPE__ char
3393// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00003394// SPARC:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00003395// SPARC:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00003396// SPARC:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00003397// SPARC:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003398// SPARC:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003399// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00003400// SPARC:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003401// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +00003402// SPARC:#define __LDBL_HAS_DENORM__ 1
3403// SPARC:#define __LDBL_HAS_INFINITY__ 1
3404// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
3405// SPARC:#define __LDBL_MANT_DIG__ 53
3406// SPARC:#define __LDBL_MAX_10_EXP__ 308
3407// SPARC:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003408// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +00003409// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
3410// SPARC:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003411// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnere963d092009-10-29 04:55:36 +00003412// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
3413// SPARC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003414// SPARC-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00003415// SPARC:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003416// SPARC:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00003417// SPARC:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbaracde99e2009-12-18 18:42:37 +00003418// SPARC:#define __REGISTER_PREFIX__
Chris Lattnere963d092009-10-29 04:55:36 +00003419// SPARC:#define __SCHAR_MAX__ 127
3420// SPARC:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00003421// SPARC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00003422// SPARC:#define __SIZEOF_DOUBLE__ 8
3423// SPARC:#define __SIZEOF_FLOAT__ 4
3424// SPARC:#define __SIZEOF_INT__ 4
3425// SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
3426// SPARC:#define __SIZEOF_LONG_LONG__ 8
3427// SPARC:#define __SIZEOF_LONG__ 4
3428// SPARC:#define __SIZEOF_POINTER__ 4
3429// SPARC:#define __SIZEOF_PTRDIFF_T__ 4
3430// SPARC:#define __SIZEOF_SHORT__ 2
3431// SPARC:#define __SIZEOF_SIZE_T__ 4
3432// SPARC:#define __SIZEOF_WCHAR_T__ 4
3433// SPARC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003434// SPARC:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00003435// SPARC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00003436// SPARC:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003437// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003438// SPARC:#define __USER_LABEL_PREFIX__ _
Daniel Dunbar3b17a862011-03-31 00:53:51 +00003439// SPARC:#define __VERSION__ "4.2.1 Compatible
Chris Lattnere963d092009-10-29 04:55:36 +00003440// SPARC:#define __WCHAR_MAX__ 2147483647
3441// SPARC:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00003442// SPARC:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003443// SPARC:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00003444// SPARC:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003445// SPARC:#define __sparc 1
3446// SPARC:#define __sparc__ 1
3447// SPARC:#define __sparcv8 1
3448// SPARC:#define sparc 1
3449//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00003450// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
Chris Lattnere963d092009-10-29 04:55:36 +00003451//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003452// TCE-NOT:#define _LP64
Robert Lytton2c942c62014-03-10 12:06:29 +00003453// TCE:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003454// TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00003455// TCE:#define __CHAR16_TYPE__ unsigned short
3456// TCE:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003457// TCE:#define __CHAR_BIT__ 8
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003458// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45
Chris Lattnere963d092009-10-29 04:55:36 +00003459// TCE:#define __DBL_DIG__ 6
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003460// TCE:#define __DBL_EPSILON__ 1.19209290e-7
Chris Lattnere963d092009-10-29 04:55:36 +00003461// TCE:#define __DBL_HAS_DENORM__ 1
3462// TCE:#define __DBL_HAS_INFINITY__ 1
3463// TCE:#define __DBL_HAS_QUIET_NAN__ 1
3464// TCE:#define __DBL_MANT_DIG__ 24
3465// TCE:#define __DBL_MAX_10_EXP__ 38
3466// TCE:#define __DBL_MAX_EXP__ 128
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003467// TCE:#define __DBL_MAX__ 3.40282347e+38
Chris Lattnere963d092009-10-29 04:55:36 +00003468// TCE:#define __DBL_MIN_10_EXP__ (-37)
3469// TCE:#define __DBL_MIN_EXP__ (-125)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003470// TCE:#define __DBL_MIN__ 1.17549435e-38
Chris Lattnere963d092009-10-29 04:55:36 +00003471// TCE:#define __DECIMAL_DIG__ -1
3472// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3473// TCE:#define __FLT_DIG__ 6
3474// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
3475// TCE:#define __FLT_EVAL_METHOD__ 0
3476// TCE:#define __FLT_HAS_DENORM__ 1
3477// TCE:#define __FLT_HAS_INFINITY__ 1
3478// TCE:#define __FLT_HAS_QUIET_NAN__ 1
3479// TCE:#define __FLT_MANT_DIG__ 24
3480// TCE:#define __FLT_MAX_10_EXP__ 38
3481// TCE:#define __FLT_MAX_EXP__ 128
3482// TCE:#define __FLT_MAX__ 3.40282347e+38F
3483// TCE:#define __FLT_MIN_10_EXP__ (-37)
3484// TCE:#define __FLT_MIN_EXP__ (-125)
3485// TCE:#define __FLT_MIN__ 1.17549435e-38F
3486// TCE:#define __FLT_RADIX__ 2
3487// TCE:#define __INT16_TYPE__ short
3488// TCE:#define __INT32_TYPE__ int
3489// TCE:#define __INT8_TYPE__ char
3490// TCE:#define __INTMAX_MAX__ 2147483647L
Ken Dyck9b25f782009-11-19 13:18:59 +00003491// TCE:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00003492// TCE:#define __INTMAX_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003493// TCE:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00003494// TCE:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003495// TCE:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003496// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45L
Chris Lattnere963d092009-10-29 04:55:36 +00003497// TCE:#define __LDBL_DIG__ 6
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003498// TCE:#define __LDBL_EPSILON__ 1.19209290e-7L
Chris Lattnere963d092009-10-29 04:55:36 +00003499// TCE:#define __LDBL_HAS_DENORM__ 1
3500// TCE:#define __LDBL_HAS_INFINITY__ 1
3501// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
3502// TCE:#define __LDBL_MANT_DIG__ 24
3503// TCE:#define __LDBL_MAX_10_EXP__ 38
3504// TCE:#define __LDBL_MAX_EXP__ 128
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003505// TCE:#define __LDBL_MAX__ 3.40282347e+38L
Chris Lattnere963d092009-10-29 04:55:36 +00003506// TCE:#define __LDBL_MIN_10_EXP__ (-37)
3507// TCE:#define __LDBL_MIN_EXP__ (-125)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00003508// TCE:#define __LDBL_MIN__ 1.17549435e-38L
Chris Lattnere963d092009-10-29 04:55:36 +00003509// TCE:#define __LONG_LONG_MAX__ 2147483647LL
3510// TCE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00003511// TCE-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00003512// TCE:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00003513// TCE:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00003514// TCE:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003515// TCE:#define __SCHAR_MAX__ 127
3516// TCE:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00003517// TCE:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00003518// TCE:#define __SIZEOF_DOUBLE__ 4
3519// TCE:#define __SIZEOF_FLOAT__ 4
3520// TCE:#define __SIZEOF_INT__ 4
3521// TCE:#define __SIZEOF_LONG_DOUBLE__ 4
3522// TCE:#define __SIZEOF_LONG_LONG__ 4
3523// TCE:#define __SIZEOF_LONG__ 4
3524// TCE:#define __SIZEOF_POINTER__ 4
3525// TCE:#define __SIZEOF_PTRDIFF_T__ 4
3526// TCE:#define __SIZEOF_SHORT__ 2
3527// TCE:#define __SIZEOF_SIZE_T__ 4
3528// TCE:#define __SIZEOF_WCHAR_T__ 4
3529// TCE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003530// TCE:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00003531// TCE:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00003532// TCE:#define __SIZE_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003533// TCE:#define __TCE_V1__ 1
3534// TCE:#define __TCE__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00003535// TCE:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003536// TCE:#define __USER_LABEL_PREFIX__ _
3537// TCE:#define __WCHAR_MAX__ 2147483647
3538// TCE:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00003539// TCE:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003540// TCE:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00003541// TCE:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003542// TCE:#define __tce 1
3543// TCE:#define __tce__ 1
3544// TCE:#define tce 1
3545//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00003546// 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 +00003547//
3548// X86_64:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003549// X86_64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00003550// X86_64:#define __CHAR16_TYPE__ unsigned short
3551// X86_64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003552// X86_64:#define __CHAR_BIT__ 8
3553// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3554// X86_64:#define __DBL_DIG__ 15
3555// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
3556// X86_64:#define __DBL_HAS_DENORM__ 1
3557// X86_64:#define __DBL_HAS_INFINITY__ 1
3558// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
3559// X86_64:#define __DBL_MANT_DIG__ 53
3560// X86_64:#define __DBL_MAX_10_EXP__ 308
3561// X86_64:#define __DBL_MAX_EXP__ 1024
3562// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
3563// X86_64:#define __DBL_MIN_10_EXP__ (-307)
3564// X86_64:#define __DBL_MIN_EXP__ (-1021)
3565// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
3566// X86_64:#define __DECIMAL_DIG__ 21
3567// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3568// X86_64:#define __FLT_DIG__ 6
3569// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
3570// X86_64:#define __FLT_EVAL_METHOD__ 0
3571// X86_64:#define __FLT_HAS_DENORM__ 1
3572// X86_64:#define __FLT_HAS_INFINITY__ 1
3573// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
3574// X86_64:#define __FLT_MANT_DIG__ 24
3575// X86_64:#define __FLT_MAX_10_EXP__ 38
3576// X86_64:#define __FLT_MAX_EXP__ 128
3577// X86_64:#define __FLT_MAX__ 3.40282347e+38F
3578// X86_64:#define __FLT_MIN_10_EXP__ (-37)
3579// X86_64:#define __FLT_MIN_EXP__ (-125)
3580// X86_64:#define __FLT_MIN__ 1.17549435e-38F
3581// X86_64:#define __FLT_RADIX__ 2
3582// X86_64:#define __INT16_TYPE__ short
3583// X86_64:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00003584// X86_64:#define __INT64_C_SUFFIX__ L
Chris Lattnere963d092009-10-29 04:55:36 +00003585// X86_64:#define __INT64_TYPE__ long int
3586// X86_64:#define __INT8_TYPE__ char
3587// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck9b25f782009-11-19 13:18:59 +00003588// X86_64:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00003589// X86_64:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00003590// X86_64:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00003591// X86_64:#define __INTPTR_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003592// X86_64:#define __INT_MAX__ 2147483647
3593// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3594// X86_64:#define __LDBL_DIG__ 18
3595// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3596// X86_64:#define __LDBL_HAS_DENORM__ 1
3597// X86_64:#define __LDBL_HAS_INFINITY__ 1
3598// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
3599// X86_64:#define __LDBL_MANT_DIG__ 64
3600// X86_64:#define __LDBL_MAX_10_EXP__ 4932
3601// X86_64:#define __LDBL_MAX_EXP__ 16384
3602// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3603// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
3604// X86_64:#define __LDBL_MIN_EXP__ (-16381)
3605// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3606// X86_64:#define __LITTLE_ENDIAN__ 1
3607// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
3608// X86_64:#define __LONG_MAX__ 9223372036854775807L
3609// X86_64:#define __LP64__ 1
3610// X86_64:#define __MMX__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00003611// X86_64:#define __NO_MATH_INLINES 1
3612// X86_64:#define __POINTER_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00003613// X86_64:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00003614// X86_64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003615// X86_64:#define __REGISTER_PREFIX__
3616// X86_64:#define __SCHAR_MAX__ 127
3617// X86_64:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00003618// X86_64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00003619// X86_64:#define __SIZEOF_DOUBLE__ 8
3620// X86_64:#define __SIZEOF_FLOAT__ 4
3621// X86_64:#define __SIZEOF_INT__ 4
3622// X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
3623// X86_64:#define __SIZEOF_LONG_LONG__ 8
3624// X86_64:#define __SIZEOF_LONG__ 8
3625// X86_64:#define __SIZEOF_POINTER__ 8
3626// X86_64:#define __SIZEOF_PTRDIFF_T__ 8
3627// X86_64:#define __SIZEOF_SHORT__ 2
3628// X86_64:#define __SIZEOF_SIZE_T__ 8
3629// X86_64:#define __SIZEOF_WCHAR_T__ 4
3630// X86_64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003631// X86_64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnere963d092009-10-29 04:55:36 +00003632// X86_64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00003633// X86_64:#define __SIZE_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00003634// X86_64:#define __SSE2_MATH__ 1
3635// X86_64:#define __SSE2__ 1
3636// X86_64:#define __SSE_MATH__ 1
3637// X86_64:#define __SSE__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00003638// X86_64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00003639// X86_64:#define __USER_LABEL_PREFIX__ _
3640// X86_64:#define __WCHAR_MAX__ 2147483647
3641// X86_64:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00003642// X86_64:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003643// X86_64:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00003644// X86_64:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00003645// X86_64:#define __amd64 1
3646// X86_64:#define __amd64__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00003647// X86_64:#define __x86_64 1
3648// X86_64:#define __x86_64__ 1
3649//
Douglas Gregore6d6e512011-01-12 21:19:25 +00003650// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
3651//
3652// X86_64-LINUX:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00003653// X86_64-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregore6d6e512011-01-12 21:19:25 +00003654// X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
3655// X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
3656// X86_64-LINUX:#define __CHAR_BIT__ 8
3657// X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3658// X86_64-LINUX:#define __DBL_DIG__ 15
3659// X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
3660// X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
3661// X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
3662// X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
3663// X86_64-LINUX:#define __DBL_MANT_DIG__ 53
3664// X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
3665// X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
3666// X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
3667// X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
3668// X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
3669// X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
3670// X86_64-LINUX:#define __DECIMAL_DIG__ 21
3671// X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3672// X86_64-LINUX:#define __FLT_DIG__ 6
3673// X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
3674// X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
3675// X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
3676// X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
3677// X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
3678// X86_64-LINUX:#define __FLT_MANT_DIG__ 24
3679// X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
3680// X86_64-LINUX:#define __FLT_MAX_EXP__ 128
3681// X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
3682// X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
3683// X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
3684// X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
3685// X86_64-LINUX:#define __FLT_RADIX__ 2
3686// X86_64-LINUX:#define __INT16_TYPE__ short
3687// X86_64-LINUX:#define __INT32_TYPE__ int
3688// X86_64-LINUX:#define __INT64_C_SUFFIX__ L
3689// X86_64-LINUX:#define __INT64_TYPE__ long int
3690// X86_64-LINUX:#define __INT8_TYPE__ char
3691// X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
3692// X86_64-LINUX:#define __INTMAX_TYPE__ long int
3693// X86_64-LINUX:#define __INTMAX_WIDTH__ 64
3694// X86_64-LINUX:#define __INTPTR_TYPE__ long int
3695// X86_64-LINUX:#define __INTPTR_WIDTH__ 64
3696// X86_64-LINUX:#define __INT_MAX__ 2147483647
3697// X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3698// X86_64-LINUX:#define __LDBL_DIG__ 18
3699// X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3700// X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
3701// X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
3702// X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
3703// X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
3704// X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
3705// X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
3706// X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3707// X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
3708// X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
3709// X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3710// X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
3711// X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
3712// X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
3713// X86_64-LINUX:#define __LP64__ 1
3714// X86_64-LINUX:#define __MMX__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00003715// X86_64-LINUX:#define __NO_MATH_INLINES 1
3716// X86_64-LINUX:#define __POINTER_WIDTH__ 64
3717// X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
3718// X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
3719// X86_64-LINUX:#define __REGISTER_PREFIX__
3720// X86_64-LINUX:#define __SCHAR_MAX__ 127
3721// X86_64-LINUX:#define __SHRT_MAX__ 32767
3722// X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
3723// X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
3724// X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
3725// X86_64-LINUX:#define __SIZEOF_INT__ 4
3726// X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
3727// X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
3728// X86_64-LINUX:#define __SIZEOF_LONG__ 8
3729// X86_64-LINUX:#define __SIZEOF_POINTER__ 8
3730// X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
3731// X86_64-LINUX:#define __SIZEOF_SHORT__ 2
3732// X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
3733// X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
3734// X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00003735// X86_64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Douglas Gregore6d6e512011-01-12 21:19:25 +00003736// X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
3737// X86_64-LINUX:#define __SIZE_WIDTH__ 64
3738// X86_64-LINUX:#define __SSE2_MATH__ 1
3739// X86_64-LINUX:#define __SSE2__ 1
3740// X86_64-LINUX:#define __SSE_MATH__ 1
3741// X86_64-LINUX:#define __SSE__ 1
3742// X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
3743// X86_64-LINUX:#define __USER_LABEL_PREFIX__
3744// X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
3745// X86_64-LINUX:#define __WCHAR_TYPE__ int
3746// X86_64-LINUX:#define __WCHAR_WIDTH__ 32
3747// X86_64-LINUX:#define __WINT_TYPE__ unsigned int
3748// X86_64-LINUX:#define __WINT_WIDTH__ 32
3749// X86_64-LINUX:#define __amd64 1
3750// X86_64-LINUX:#define __amd64__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00003751// X86_64-LINUX:#define __x86_64 1
3752// X86_64-LINUX:#define __x86_64__ 1
3753//
Ed Schoutend0621462013-09-29 07:54:52 +00003754// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-unknown-freebsd9.1 < /dev/null | FileCheck -check-prefix X86_64-FREEBSD %s
3755//
3756// X86_64-FREEBSD:#define __FreeBSD__ 9
3757// X86_64-FREEBSD:#define __FreeBSD_cc_version 900001
3758// X86_64-FREEBSD:#define __STDC_MB_MIGHT_NEQ_WC__ 1
3759//
Joerg Sonnenberger0e921f22013-11-11 14:00:37 +00003760// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-netbsd < /dev/null | FileCheck -check-prefix X86_64-NETBSD %s
3761//
3762// X86_64-NETBSD:#define _LP64 1
3763// X86_64-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
3764// X86_64-NETBSD:#define __CHAR16_TYPE__ unsigned short
3765// X86_64-NETBSD:#define __CHAR32_TYPE__ unsigned int
3766// X86_64-NETBSD:#define __CHAR_BIT__ 8
3767// X86_64-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3768// X86_64-NETBSD:#define __DBL_DIG__ 15
3769// X86_64-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
3770// X86_64-NETBSD:#define __DBL_HAS_DENORM__ 1
3771// X86_64-NETBSD:#define __DBL_HAS_INFINITY__ 1
3772// X86_64-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
3773// X86_64-NETBSD:#define __DBL_MANT_DIG__ 53
3774// X86_64-NETBSD:#define __DBL_MAX_10_EXP__ 308
3775// X86_64-NETBSD:#define __DBL_MAX_EXP__ 1024
3776// X86_64-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
3777// X86_64-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
3778// X86_64-NETBSD:#define __DBL_MIN_EXP__ (-1021)
3779// X86_64-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
3780// X86_64-NETBSD:#define __DECIMAL_DIG__ 21
3781// X86_64-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3782// X86_64-NETBSD:#define __FLT_DIG__ 6
3783// X86_64-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
3784// X86_64-NETBSD:#define __FLT_EVAL_METHOD__ 0
3785// X86_64-NETBSD:#define __FLT_HAS_DENORM__ 1
3786// X86_64-NETBSD:#define __FLT_HAS_INFINITY__ 1
3787// X86_64-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
3788// X86_64-NETBSD:#define __FLT_MANT_DIG__ 24
3789// X86_64-NETBSD:#define __FLT_MAX_10_EXP__ 38
3790// X86_64-NETBSD:#define __FLT_MAX_EXP__ 128
3791// X86_64-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
3792// X86_64-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
3793// X86_64-NETBSD:#define __FLT_MIN_EXP__ (-125)
3794// X86_64-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
3795// X86_64-NETBSD:#define __FLT_RADIX__ 2
3796// X86_64-NETBSD:#define __INT16_TYPE__ short
3797// X86_64-NETBSD:#define __INT32_TYPE__ int
3798// X86_64-NETBSD:#define __INT64_C_SUFFIX__ L
3799// X86_64-NETBSD:#define __INT64_TYPE__ long int
3800// X86_64-NETBSD:#define __INT8_TYPE__ char
3801// X86_64-NETBSD:#define __INTMAX_MAX__ 9223372036854775807L
3802// X86_64-NETBSD:#define __INTMAX_TYPE__ long int
3803// X86_64-NETBSD:#define __INTMAX_WIDTH__ 64
3804// X86_64-NETBSD:#define __INTPTR_TYPE__ long int
3805// X86_64-NETBSD:#define __INTPTR_WIDTH__ 64
3806// X86_64-NETBSD:#define __INT_MAX__ 2147483647
3807// X86_64-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3808// X86_64-NETBSD:#define __LDBL_DIG__ 18
3809// X86_64-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3810// X86_64-NETBSD:#define __LDBL_HAS_DENORM__ 1
3811// X86_64-NETBSD:#define __LDBL_HAS_INFINITY__ 1
3812// X86_64-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
3813// X86_64-NETBSD:#define __LDBL_MANT_DIG__ 64
3814// X86_64-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
3815// X86_64-NETBSD:#define __LDBL_MAX_EXP__ 16384
3816// X86_64-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3817// X86_64-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
3818// X86_64-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
3819// X86_64-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3820// X86_64-NETBSD:#define __LITTLE_ENDIAN__ 1
3821// X86_64-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
3822// X86_64-NETBSD:#define __LONG_MAX__ 9223372036854775807L
3823// X86_64-NETBSD:#define __LP64__ 1
3824// X86_64-NETBSD:#define __MMX__ 1
3825// X86_64-NETBSD:#define __NO_MATH_INLINES 1
3826// X86_64-NETBSD:#define __POINTER_WIDTH__ 64
3827// X86_64-NETBSD:#define __PTRDIFF_TYPE__ long int
3828// X86_64-NETBSD:#define __PTRDIFF_WIDTH__ 64
3829// X86_64-NETBSD:#define __REGISTER_PREFIX__
3830// X86_64-NETBSD:#define __SCHAR_MAX__ 127
3831// X86_64-NETBSD:#define __SHRT_MAX__ 32767
3832// X86_64-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
3833// X86_64-NETBSD:#define __SIZEOF_DOUBLE__ 8
3834// X86_64-NETBSD:#define __SIZEOF_FLOAT__ 4
3835// X86_64-NETBSD:#define __SIZEOF_INT__ 4
3836// X86_64-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 16
3837// X86_64-NETBSD:#define __SIZEOF_LONG_LONG__ 8
3838// X86_64-NETBSD:#define __SIZEOF_LONG__ 8
3839// X86_64-NETBSD:#define __SIZEOF_POINTER__ 8
3840// X86_64-NETBSD:#define __SIZEOF_PTRDIFF_T__ 8
3841// X86_64-NETBSD:#define __SIZEOF_SHORT__ 2
3842// X86_64-NETBSD:#define __SIZEOF_SIZE_T__ 8
3843// X86_64-NETBSD:#define __SIZEOF_WCHAR_T__ 4
3844// X86_64-NETBSD:#define __SIZEOF_WINT_T__ 4
3845// X86_64-NETBSD:#define __SIZE_MAX__ 18446744073709551615UL
3846// X86_64-NETBSD:#define __SIZE_TYPE__ long unsigned int
3847// X86_64-NETBSD:#define __SIZE_WIDTH__ 64
3848// X86_64-NETBSD:#define __SSE2_MATH__ 1
3849// X86_64-NETBSD:#define __SSE2__ 1
3850// X86_64-NETBSD:#define __SSE_MATH__ 1
3851// X86_64-NETBSD:#define __SSE__ 1
3852// X86_64-NETBSD:#define __UINTMAX_TYPE__ long unsigned int
3853// X86_64-NETBSD:#define __USER_LABEL_PREFIX__
3854// X86_64-NETBSD:#define __WCHAR_MAX__ 2147483647
3855// X86_64-NETBSD:#define __WCHAR_TYPE__ int
3856// X86_64-NETBSD:#define __WCHAR_WIDTH__ 32
3857// X86_64-NETBSD:#define __WINT_TYPE__ int
3858// X86_64-NETBSD:#define __WINT_WIDTH__ 32
3859// X86_64-NETBSD:#define __amd64 1
3860// X86_64-NETBSD:#define __amd64__ 1
3861// X86_64-NETBSD:#define __x86_64 1
3862// X86_64-NETBSD:#define __x86_64__ 1
3863//
Jakob Stoklund Olesen248520b2013-05-15 03:22:33 +00003864// 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 +00003865// SPARCV9:#define __INT64_TYPE__ long int
Jakob Stoklund Olesen248520b2013-05-15 03:22:33 +00003866// SPARCV9:#define __INTMAX_TYPE__ long int
3867// SPARCV9:#define __INTPTR_TYPE__ long int
3868// SPARCV9:#define __LONG_MAX__ 9223372036854775807L
3869// SPARCV9:#define __LP64__ 1
3870// SPARCV9:#define __SIZEOF_LONG__ 8
3871// SPARCV9:#define __SIZEOF_POINTER__ 8
3872//
Jakob Stoklund Olesen826df142013-05-19 17:53:37 +00003873// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-openbsd < /dev/null | FileCheck -check-prefix SPARC64-OBSD %s
3874// SPARC64-OBSD:#define __INT64_TYPE__ long long int
3875// SPARC64-OBSD:#define __INTMAX_TYPE__ long long int
3876// SPARC64-OBSD:#define __UINTMAX_TYPE__ long long unsigned int
3877//
Sylvestre Ledrufd7cd3552013-09-06 14:53:07 +00003878// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSD-DEFINE %s
3879// KFREEBSD-DEFINE:#define __FreeBSD_kernel__ 1
3880// KFREEBSD-DEFINE:#define __GLIBC__ 1
3881//
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003882// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i686-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSDI686-DEFINE %s
3883// KFREEBSDI686-DEFINE:#define __FreeBSD_kernel__ 1
3884// KFREEBSDI686-DEFINE:#define __GLIBC__ 1
3885//
David Chisnallb601c962012-07-03 20:49:52 +00003886// 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 +00003887// GNUSOURCE:#define _GNU_SOURCE 1
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003888//
Dan Gohman04f87202010-05-28 00:27:15 +00003889// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
3890// NORTTI: __GXX_ABI_VERSION
3891// NORTTI-NOT:#define __GXX_RTTI
3892// NORTTI: __STDC__
Evgeniy Stepanov94dc4c92012-04-26 12:08:09 +00003893//
3894// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
3895// ANDROID: __ANDROID__ 1
Sylvestre Ledru4e06e6e2013-09-06 15:36:36 +00003896//
Roman Divacky13b586f2013-07-03 19:45:54 +00003897// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd < /dev/null | FileCheck -check-prefix PPC64-FREEBSD %s
3898// PPC64-FREEBSD-NOT: #define __LONG_DOUBLE_128__ 1
Robert Lytton0e076492013-08-13 09:43:10 +00003899//
3900// RUN: %clang_cc1 -E -dM -ffreestanding -triple=xcore-none-none < /dev/null | FileCheck -check-prefix XCORE %s
Robert Lytton2c942c62014-03-10 12:06:29 +00003901// XCORE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
3902// XCORE:#define __LITTLE_ENDIAN__ 1
Robert Lytton0e076492013-08-13 09:43:10 +00003903// XCORE:#define __XS1B__ 1