blob: b69c76ce1bf18a94ce36d8f039b6d805276ee3af [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//
11//
Richard Smith89645bc2013-01-02 12:01:23 +000012// RUN: %clang_cc1 -x c++ -std=c++11 -E -dM < /dev/null | FileCheck -check-prefix CXX11 %s
Chris Lattnere963d092009-10-29 04:55:36 +000013//
Richard Smith89645bc2013-01-02 12:01:23 +000014// CXX11:#define __GNUG__
15// CXX11:#define __GXX_EXPERIMENTAL_CXX0X__ 1
16// CXX11:#define __GXX_RTTI 1
17// CXX11:#define __GXX_WEAK__ 1
18// CXX11:#define __cplusplus 201103L
19// CXX11:#define __private_extern__ extern
Chris Lattnere963d092009-10-29 04:55:36 +000020//
21//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +000022// RUN: %clang_cc1 -x c++ -std=c++98 -E -dM < /dev/null | FileCheck -check-prefix CXX98 %s
Chris Lattnere963d092009-10-29 04:55:36 +000023//
Chris Lattnere963d092009-10-29 04:55:36 +000024// CXX98:#define __GNUG__
Dan Gohman04f87202010-05-28 00:27:15 +000025// CXX98:#define __GXX_RTTI 1
Chris Lattnere963d092009-10-29 04:55:36 +000026// CXX98:#define __GXX_WEAK__ 1
27// CXX98:#define __cplusplus 199711L
28// CXX98:#define __private_extern__ extern
29//
30//
Chandler Carruth30483fb2011-04-23 19:48:40 +000031// RUN: %clang_cc1 -fdeprecated-macro -E -dM < /dev/null | FileCheck -check-prefix DEPRECATED %s
32//
33// DEPRECATED:#define __DEPRECATED 1
34//
35//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +000036// RUN: %clang_cc1 -std=c99 -E -dM < /dev/null | FileCheck -check-prefix C99 %s
Chris Lattnere963d092009-10-29 04:55:36 +000037//
38// C99:#define __STDC_VERSION__ 199901L
39// C99:#define __STRICT_ANSI__ 1
40//
41//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +000042// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix COMMON %s
Chris Lattnere963d092009-10-29 04:55:36 +000043//
44// COMMON:#define __CONSTANT_CFSTRINGS__ 1
45// COMMON:#define __FINITE_MATH_ONLY__ 0
46// COMMON:#define __GNUC_MINOR__
47// COMMON:#define __GNUC_PATCHLEVEL__
48// COMMON:#define __GNUC_STDC_INLINE__ 1
49// COMMON:#define __GNUC__
50// COMMON:#define __GXX_ABI_VERSION
Dylan Noblesmith673728f2012-07-27 18:34:31 +000051// COMMON:#define __ORDER_BIG_ENDIAN__ 4321
52// COMMON:#define __ORDER_LITTLE_ENDIAN__ 1234
53// COMMON:#define __ORDER_PDP_ENDIAN__ 3412
Chris Lattnere963d092009-10-29 04:55:36 +000054// COMMON:#define __STDC_HOSTED__ 1
55// COMMON:#define __STDC_VERSION__
56// COMMON:#define __STDC__ 1
57// COMMON:#define __VERSION__
58// COMMON:#define __clang__ 1
Daniel Dunbard7e887f2010-06-25 23:34:47 +000059// COMMON:#define __clang_major__ {{[0-9]+}}
60// COMMON:#define __clang_minor__ {{[0-9]+}}
61// COMMON:#define __clang_patchlevel__ {{[0-9]+}}
Douglas Gregordead00f2010-04-30 03:07:23 +000062// COMMON:#define __clang_version__
Chris Lattnere963d092009-10-29 04:55:36 +000063// COMMON:#define __llvm__ 1
64//
65//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +000066// RUN: %clang_cc1 -ffreestanding -E -dM < /dev/null | FileCheck -check-prefix FREESTANDING %s
Chris Lattnere963d092009-10-29 04:55:36 +000067// FREESTANDING:#define __STDC_HOSTED__ 0
Richard Smithd106a982012-05-03 22:18:20 +000068//
69//
70// RUN: %clang_cc1 -x c++ -std=gnu++11 -E -dM < /dev/null | FileCheck -check-prefix GXX11 %s
71//
72// GXX11:#define __GNUG__
73// GXX11:#define __GXX_WEAK__ 1
74// GXX11:#define __cplusplus 201103L
75// GXX11:#define __private_extern__ extern
76//
77//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +000078// RUN: %clang_cc1 -x c++ -std=gnu++98 -E -dM < /dev/null | FileCheck -check-prefix GXX98 %s
Chris Lattnere963d092009-10-29 04:55:36 +000079//
Chris Lattnere963d092009-10-29 04:55:36 +000080// GXX98:#define __GNUG__
81// GXX98:#define __GXX_WEAK__ 1
Richard Smithd106a982012-05-03 22:18:20 +000082// GXX98:#define __cplusplus 199711L
Chris Lattnere963d092009-10-29 04:55:36 +000083// GXX98:#define __private_extern__ extern
84//
85//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +000086// RUN: %clang_cc1 -std=iso9899:199409 -E -dM < /dev/null | FileCheck -check-prefix C94 %s
Chris Lattnere963d092009-10-29 04:55:36 +000087//
88// C94:#define __STDC_VERSION__ 199409L
89//
90//
Hans Wennborg4c02be32013-05-02 13:12:32 +000091// 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 +000092//
93// MSEXT-NOT:#define __STDC__
Douglas Gregor7617cb82010-08-06 12:37:52 +000094// MSEXT:#define _INTEGRAL_MAX_BITS 64
Hans Wennborg4c02be32013-05-02 13:12:32 +000095// MSEXT-NOT:#define _NATIVE_WCHAR_T_DEFINED 1
96// MSEXT-NOT:#define _WCHAR_T_DEFINED 1
97//
98//
99// RUN: %clang_cc1 -x c++ -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT-CXX %s
100//
101// MSEXT-CXX:#define _NATIVE_WCHAR_T_DEFINED 1
102// MSEXT-CXX:#define _WCHAR_T_DEFINED 1
103//
104//
105// RUN: %clang_cc1 -x c++ -fno-wchar -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT-CXX-NOWCHAR %s
106//
107// MSEXT-CXX-NOWCHAR-NOT:#define _NATIVE_WCHAR_T_DEFINED 1
108// MSEXT-CXX-NOWCHAR-NOT:#define _WCHAR_T_DEFINED 1
Chris Lattnere963d092009-10-29 04:55:36 +0000109//
110//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000111// RUN: %clang_cc1 -x objective-c -E -dM < /dev/null | FileCheck -check-prefix OBJC %s
Chris Lattnere963d092009-10-29 04:55:36 +0000112//
113// OBJC:#define OBJC_NEW_PROPERTIES 1
Daniel Dunbar4656c532009-11-17 07:07:28 +0000114// OBJC:#define __NEXT_RUNTIME__ 1
Chris Lattnere963d092009-10-29 04:55:36 +0000115// OBJC:#define __OBJC__ 1
116//
Daniel Dunbar4656c532009-11-17 07:07:28 +0000117//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000118// RUN: %clang_cc1 -x objective-c -fobjc-gc -E -dM < /dev/null | FileCheck -check-prefix OBJCGC %s
Chris Lattnere963d092009-10-29 04:55:36 +0000119//
120// OBJCGC:#define __OBJC_GC__ 1
121//
122//
John McCall9b0a7ce2011-10-02 01:16:38 +0000123// RUN: %clang_cc1 -x objective-c -fobjc-exceptions -E -dM < /dev/null | FileCheck -check-prefix NONFRAGILE %s
Chris Lattnere963d092009-10-29 04:55:36 +0000124//
125// NONFRAGILE:#define OBJC_ZEROCOST_EXCEPTIONS 1
126// NONFRAGILE:#define __OBJC2__ 1
127//
Dylan Noblesmith4c004f32012-08-08 16:09:15 +0000128//
129// RUN: %clang_cc1 -O0 -E -dM < /dev/null | FileCheck -check-prefix O0 %s
130//
131// O0:#define __NO_INLINE__ 1
132// O0-NOT:#define __OPTIMIZE_SIZE__
133// O0-NOT:#define __OPTIMIZE__
134//
135//
136// RUN: %clang_cc1 -fno-inline -O3 -E -dM < /dev/null | FileCheck -check-prefix NO_INLINE %s
137//
138// NO_INLINE:#define __NO_INLINE__ 1
139// NO_INLINE-NOT:#define __OPTIMIZE_SIZE__
140// NO_INLINE:#define __OPTIMIZE__
141//
142//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000143// RUN: %clang_cc1 -O1 -E -dM < /dev/null | FileCheck -check-prefix O1 %s
Chris Lattnere963d092009-10-29 04:55:36 +0000144//
Dylan Noblesmith4c004f32012-08-08 16:09:15 +0000145// O1-NOT:#define __OPTIMIZE_SIZE__
Chris Lattnere963d092009-10-29 04:55:36 +0000146// O1:#define __OPTIMIZE__ 1
147//
Dylan Noblesmith4c004f32012-08-08 16:09:15 +0000148//
149// RUN: %clang_cc1 -Os -E -dM < /dev/null | FileCheck -check-prefix Os %s
150//
151// Os:#define __OPTIMIZE_SIZE__ 1
152// Os:#define __OPTIMIZE__ 1
153//
154//
155// RUN: %clang_cc1 -Oz -E -dM < /dev/null | FileCheck -check-prefix Oz %s
156//
157// Oz:#define __OPTIMIZE_SIZE__ 1
158// Oz:#define __OPTIMIZE__ 1
159//
160//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000161// RUN: %clang_cc1 -fpascal-strings -E -dM < /dev/null | FileCheck -check-prefix PASCAL %s
Chris Lattnere963d092009-10-29 04:55:36 +0000162//
163// PASCAL:#define __PASCAL_STRINGS__ 1
164//
165//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000166// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix SCHAR %s
Chris Lattnere963d092009-10-29 04:55:36 +0000167//
168// SCHAR:#define __STDC__ 1
169// SCHAR-NOT:#define __UNSIGNED_CHAR__
170// SCHAR:#define __clang__ 1
171//
Eli Friedman865afc92010-08-03 17:34:19 +0000172// RUN: %clang_cc1 -E -dM -fshort-wchar < /dev/null | FileCheck -check-prefix SHORTWCHAR %s
173//
174// SHORTWCHAR: #define __SIZEOF_WCHAR_T__ 2
175// SHORTWCHAR: #define __WCHAR_MAX__ 65535U
176// SHORTWCHAR: #define __WCHAR_TYPE__ unsigned short
177// SHORTWCHAR: #define __WCHAR_WIDTH__ 16
178//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000179// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s
Chris Lattnere963d092009-10-29 04:55:36 +0000180//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000181// ARM-NOT:#define _LP64
Chris Lattnere963d092009-10-29 04:55:36 +0000182// ARM:#define __APCS_32__ 1
183// ARM:#define __ARMEL__ 1
Daniel Dunbaracde99e2009-12-18 18:42:37 +0000184// ARM:#define __ARM_ARCH_6J__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000185// ARM:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +0000186// ARM:#define __CHAR16_TYPE__ unsigned short
187// ARM:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000188// ARM:#define __CHAR_BIT__ 8
189// ARM:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
190// ARM:#define __DBL_DIG__ 15
191// ARM:#define __DBL_EPSILON__ 2.2204460492503131e-16
192// ARM:#define __DBL_HAS_DENORM__ 1
193// ARM:#define __DBL_HAS_INFINITY__ 1
194// ARM:#define __DBL_HAS_QUIET_NAN__ 1
195// ARM:#define __DBL_MANT_DIG__ 53
196// ARM:#define __DBL_MAX_10_EXP__ 308
197// ARM:#define __DBL_MAX_EXP__ 1024
198// ARM:#define __DBL_MAX__ 1.7976931348623157e+308
199// ARM:#define __DBL_MIN_10_EXP__ (-307)
200// ARM:#define __DBL_MIN_EXP__ (-1021)
201// ARM:#define __DBL_MIN__ 2.2250738585072014e-308
202// ARM:#define __DECIMAL_DIG__ 17
203// ARM:#define __FLT_DENORM_MIN__ 1.40129846e-45F
204// ARM:#define __FLT_DIG__ 6
205// ARM:#define __FLT_EPSILON__ 1.19209290e-7F
206// ARM:#define __FLT_EVAL_METHOD__ 0
207// ARM:#define __FLT_HAS_DENORM__ 1
208// ARM:#define __FLT_HAS_INFINITY__ 1
209// ARM:#define __FLT_HAS_QUIET_NAN__ 1
210// ARM:#define __FLT_MANT_DIG__ 24
211// ARM:#define __FLT_MAX_10_EXP__ 38
212// ARM:#define __FLT_MAX_EXP__ 128
213// ARM:#define __FLT_MAX__ 3.40282347e+38F
214// ARM:#define __FLT_MIN_10_EXP__ (-37)
215// ARM:#define __FLT_MIN_EXP__ (-125)
216// ARM:#define __FLT_MIN__ 1.17549435e-38F
217// ARM:#define __FLT_RADIX__ 2
218// ARM:#define __INT16_TYPE__ short
219// ARM:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +0000220// ARM:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +0000221// ARM:#define __INT64_TYPE__ long long int
222// ARM:#define __INT8_TYPE__ char
223// ARM:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +0000224// ARM:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +0000225// ARM:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +0000226// ARM:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +0000227// ARM:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000228// ARM:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000229// ARM:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +0000230// ARM:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000231// ARM:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +0000232// ARM:#define __LDBL_HAS_DENORM__ 1
233// ARM:#define __LDBL_HAS_INFINITY__ 1
234// ARM:#define __LDBL_HAS_QUIET_NAN__ 1
235// ARM:#define __LDBL_MANT_DIG__ 53
236// ARM:#define __LDBL_MAX_10_EXP__ 308
237// ARM:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000238// ARM:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +0000239// ARM:#define __LDBL_MIN_10_EXP__ (-307)
240// ARM:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000241// ARM:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnere963d092009-10-29 04:55:36 +0000242// ARM:#define __LITTLE_ENDIAN__ 1
243// ARM:#define __LONG_LONG_MAX__ 9223372036854775807LL
244// ARM:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000245// ARM-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +0000246// ARM:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000247// ARM:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +0000248// ARM:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbaracde99e2009-12-18 18:42:37 +0000249// ARM:#define __REGISTER_PREFIX__
Chris Lattnere963d092009-10-29 04:55:36 +0000250// ARM:#define __SCHAR_MAX__ 127
251// ARM:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +0000252// ARM:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +0000253// ARM:#define __SIZEOF_DOUBLE__ 8
254// ARM:#define __SIZEOF_FLOAT__ 4
255// ARM:#define __SIZEOF_INT__ 4
256// ARM:#define __SIZEOF_LONG_DOUBLE__ 8
257// ARM:#define __SIZEOF_LONG_LONG__ 8
258// ARM:#define __SIZEOF_LONG__ 4
259// ARM:#define __SIZEOF_POINTER__ 4
260// ARM:#define __SIZEOF_PTRDIFF_T__ 4
261// ARM:#define __SIZEOF_SHORT__ 2
262// ARM:#define __SIZEOF_SIZE_T__ 4
263// ARM:#define __SIZEOF_WCHAR_T__ 4
264// ARM:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000265// ARM:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +0000266// ARM:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +0000267// ARM:#define __SIZE_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000268// ARM:#define __THUMB_INTERWORK__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +0000269// ARM:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000270// ARM:#define __USER_LABEL_PREFIX__ _
James Molloyc445be42011-11-23 13:35:08 +0000271// ARM:#define __WCHAR_MAX__ 4294967295U
272// ARM:#define __WCHAR_TYPE__ unsigned int
Ken Dyck0138b9e2009-11-19 15:47:58 +0000273// ARM:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000274// ARM:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +0000275// ARM:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000276// ARM:#define __arm 1
277// ARM:#define __arm__ 1
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000278
279// 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
280//
281// ARM-NOT:#define _LP64
282// ARMEABISOFTFP:#define __APCS_32__ 1
283// ARMEABISOFTFP:#define __ARMEL__ 1
284// ARMEABISOFTFP:#define __ARM_ARCH 6
285// ARMEABISOFTFP:#define __ARM_ARCH_6J__ 1
286// ARMEABISOFTFP:#define __ARM_EABI__ 1
287// ARMEABISOFTFP:#define __ARM_PCS 1
288// ARMEABISOFTFP-NOT:#define __ARM_PCS_VFP 1
289// ARMEABISOFTFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
290// ARMEABISOFTFP:#define __CHAR16_TYPE__ unsigned short
291// ARMEABISOFTFP:#define __CHAR32_TYPE__ unsigned int
292// ARMEABISOFTFP:#define __CHAR_BIT__ 8
293// ARMEABISOFTFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
294// ARMEABISOFTFP:#define __DBL_DIG__ 15
295// ARMEABISOFTFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
296// ARMEABISOFTFP:#define __DBL_HAS_DENORM__ 1
297// ARMEABISOFTFP:#define __DBL_HAS_INFINITY__ 1
298// ARMEABISOFTFP:#define __DBL_HAS_QUIET_NAN__ 1
299// ARMEABISOFTFP:#define __DBL_MANT_DIG__ 53
300// ARMEABISOFTFP:#define __DBL_MAX_10_EXP__ 308
301// ARMEABISOFTFP:#define __DBL_MAX_EXP__ 1024
302// ARMEABISOFTFP:#define __DBL_MAX__ 1.7976931348623157e+308
303// ARMEABISOFTFP:#define __DBL_MIN_10_EXP__ (-307)
304// ARMEABISOFTFP:#define __DBL_MIN_EXP__ (-1021)
305// ARMEABISOFTFP:#define __DBL_MIN__ 2.2250738585072014e-308
306// ARMEABISOFTFP:#define __DECIMAL_DIG__ 17
307// ARMEABISOFTFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
308// ARMEABISOFTFP:#define __FLT_DIG__ 6
309// ARMEABISOFTFP:#define __FLT_EPSILON__ 1.19209290e-7F
310// ARMEABISOFTFP:#define __FLT_EVAL_METHOD__ 0
311// ARMEABISOFTFP:#define __FLT_HAS_DENORM__ 1
312// ARMEABISOFTFP:#define __FLT_HAS_INFINITY__ 1
313// ARMEABISOFTFP:#define __FLT_HAS_QUIET_NAN__ 1
314// ARMEABISOFTFP:#define __FLT_MANT_DIG__ 24
315// ARMEABISOFTFP:#define __FLT_MAX_10_EXP__ 38
316// ARMEABISOFTFP:#define __FLT_MAX_EXP__ 128
317// ARMEABISOFTFP:#define __FLT_MAX__ 3.40282347e+38F
318// ARMEABISOFTFP:#define __FLT_MIN_10_EXP__ (-37)
319// ARMEABISOFTFP:#define __FLT_MIN_EXP__ (-125)
320// ARMEABISOFTFP:#define __FLT_MIN__ 1.17549435e-38F
321// ARMEABISOFTFP:#define __FLT_RADIX__ 2
322// ARMEABISOFTFP:#define __INT16_TYPE__ short
323// ARMEABISOFTFP:#define __INT32_TYPE__ int
324// ARMEABISOFTFP:#define __INT64_C_SUFFIX__ LL
325// ARMEABISOFTFP:#define __INT64_TYPE__ long long int
326// ARMEABISOFTFP:#define __INT8_TYPE__ char
327// ARMEABISOFTFP:#define __INTMAX_MAX__ 9223372036854775807LL
328// ARMEABISOFTFP:#define __INTMAX_TYPE__ long long int
329// ARMEABISOFTFP:#define __INTMAX_WIDTH__ 64
330// ARMEABISOFTFP:#define __INTPTR_TYPE__ long int
331// ARMEABISOFTFP:#define __INTPTR_WIDTH__ 32
332// ARMEABISOFTFP:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000333// ARMEABISOFTFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000334// ARMEABISOFTFP:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000335// ARMEABISOFTFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000336// ARMEABISOFTFP:#define __LDBL_HAS_DENORM__ 1
337// ARMEABISOFTFP:#define __LDBL_HAS_INFINITY__ 1
338// ARMEABISOFTFP:#define __LDBL_HAS_QUIET_NAN__ 1
339// ARMEABISOFTFP:#define __LDBL_MANT_DIG__ 53
340// ARMEABISOFTFP:#define __LDBL_MAX_10_EXP__ 308
341// ARMEABISOFTFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000342// ARMEABISOFTFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000343// ARMEABISOFTFP:#define __LDBL_MIN_10_EXP__ (-307)
344// ARMEABISOFTFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000345// ARMEABISOFTFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000346// ARMEABISOFTFP:#define __LITTLE_ENDIAN__ 1
347// ARMEABISOFTFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
348// ARMEABISOFTFP:#define __LONG_MAX__ 2147483647L
349// ARMEABISOFTFP-NOT:#define __LP64__
350// ARMEABISOFTFP:#define __POINTER_WIDTH__ 32
351// ARMEABISOFTFP:#define __PTRDIFF_TYPE__ int
352// ARMEABISOFTFP:#define __PTRDIFF_WIDTH__ 32
353// ARMEABISOFTFP:#define __REGISTER_PREFIX__
354// ARMEABISOFTFP:#define __SCHAR_MAX__ 127
355// ARMEABISOFTFP:#define __SHRT_MAX__ 32767
356// ARMEABISOFTFP:#define __SIG_ATOMIC_WIDTH__ 32
357// ARMEABISOFTFP:#define __SIZEOF_DOUBLE__ 8
358// ARMEABISOFTFP:#define __SIZEOF_FLOAT__ 4
359// ARMEABISOFTFP:#define __SIZEOF_INT__ 4
360// ARMEABISOFTFP:#define __SIZEOF_LONG_DOUBLE__ 8
361// ARMEABISOFTFP:#define __SIZEOF_LONG_LONG__ 8
362// ARMEABISOFTFP:#define __SIZEOF_LONG__ 4
363// ARMEABISOFTFP:#define __SIZEOF_POINTER__ 4
364// ARMEABISOFTFP:#define __SIZEOF_PTRDIFF_T__ 4
365// ARMEABISOFTFP:#define __SIZEOF_SHORT__ 2
366// ARMEABISOFTFP:#define __SIZEOF_SIZE_T__ 4
367// ARMEABISOFTFP:#define __SIZEOF_WCHAR_T__ 4
368// ARMEABISOFTFP:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000369// ARMEABISOFTFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000370// ARMEABISOFTFP:#define __SIZE_TYPE__ unsigned int
371// ARMEABISOFTFP:#define __SIZE_WIDTH__ 32
372// ARMEABISOFTFP:#define __SOFTFP__ 1
373// ARMEABISOFTFP:#define __THUMB_INTERWORK__ 1
374// ARMEABISOFTFP:#define __UINTMAX_TYPE__ long long unsigned int
375// ARMEABISOFTFP:#define __USER_LABEL_PREFIX__
376// ARMEABISOFTFP:#define __WCHAR_MAX__ 4294967295U
377// ARMEABISOFTFP:#define __WCHAR_TYPE__ unsigned int
378// ARMEABISOFTFP:#define __WCHAR_WIDTH__ 32
379// ARMEABISOFTFP:#define __WINT_TYPE__ unsigned int
380// ARMEABISOFTFP:#define __WINT_WIDTH__ 32
381// ARMEABISOFTFP:#define __arm 1
382// ARMEABISOFTFP:#define __arm__ 1
383
384// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-linux-gnueabi < /dev/null | FileCheck -check-prefix ARMEABIHARDFP %s
385//
386// ARM-NOT:#define _LP64
387// ARMEABIHARDFP:#define __APCS_32__ 1
388// ARMEABIHARDFP:#define __ARMEL__ 1
389// ARMEABIHARDFP:#define __ARM_ARCH 6
390// ARMEABIHARDFP:#define __ARM_ARCH_6J__ 1
391// ARMEABIHARDFP:#define __ARM_EABI__ 1
392// ARMEABIHARDFP:#define __ARM_PCS 1
393// ARMEABIHARDFP:#define __ARM_PCS_VFP 1
394// ARMEABIHARDFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
395// ARMEABIHARDFP:#define __CHAR16_TYPE__ unsigned short
396// ARMEABIHARDFP:#define __CHAR32_TYPE__ unsigned int
397// ARMEABIHARDFP:#define __CHAR_BIT__ 8
398// ARMEABIHARDFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
399// ARMEABIHARDFP:#define __DBL_DIG__ 15
400// ARMEABIHARDFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
401// ARMEABIHARDFP:#define __DBL_HAS_DENORM__ 1
402// ARMEABIHARDFP:#define __DBL_HAS_INFINITY__ 1
403// ARMEABIHARDFP:#define __DBL_HAS_QUIET_NAN__ 1
404// ARMEABIHARDFP:#define __DBL_MANT_DIG__ 53
405// ARMEABIHARDFP:#define __DBL_MAX_10_EXP__ 308
406// ARMEABIHARDFP:#define __DBL_MAX_EXP__ 1024
407// ARMEABIHARDFP:#define __DBL_MAX__ 1.7976931348623157e+308
408// ARMEABIHARDFP:#define __DBL_MIN_10_EXP__ (-307)
409// ARMEABIHARDFP:#define __DBL_MIN_EXP__ (-1021)
410// ARMEABIHARDFP:#define __DBL_MIN__ 2.2250738585072014e-308
411// ARMEABIHARDFP:#define __DECIMAL_DIG__ 17
412// ARMEABIHARDFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
413// ARMEABIHARDFP:#define __FLT_DIG__ 6
414// ARMEABIHARDFP:#define __FLT_EPSILON__ 1.19209290e-7F
415// ARMEABIHARDFP:#define __FLT_EVAL_METHOD__ 0
416// ARMEABIHARDFP:#define __FLT_HAS_DENORM__ 1
417// ARMEABIHARDFP:#define __FLT_HAS_INFINITY__ 1
418// ARMEABIHARDFP:#define __FLT_HAS_QUIET_NAN__ 1
419// ARMEABIHARDFP:#define __FLT_MANT_DIG__ 24
420// ARMEABIHARDFP:#define __FLT_MAX_10_EXP__ 38
421// ARMEABIHARDFP:#define __FLT_MAX_EXP__ 128
422// ARMEABIHARDFP:#define __FLT_MAX__ 3.40282347e+38F
423// ARMEABIHARDFP:#define __FLT_MIN_10_EXP__ (-37)
424// ARMEABIHARDFP:#define __FLT_MIN_EXP__ (-125)
425// ARMEABIHARDFP:#define __FLT_MIN__ 1.17549435e-38F
426// ARMEABIHARDFP:#define __FLT_RADIX__ 2
427// ARMEABIHARDFP:#define __INT16_TYPE__ short
428// ARMEABIHARDFP:#define __INT32_TYPE__ int
429// ARMEABIHARDFP:#define __INT64_C_SUFFIX__ LL
430// ARMEABIHARDFP:#define __INT64_TYPE__ long long int
431// ARMEABIHARDFP:#define __INT8_TYPE__ char
432// ARMEABIHARDFP:#define __INTMAX_MAX__ 9223372036854775807LL
433// ARMEABIHARDFP:#define __INTMAX_TYPE__ long long int
434// ARMEABIHARDFP:#define __INTMAX_WIDTH__ 64
435// ARMEABIHARDFP:#define __INTPTR_TYPE__ long int
436// ARMEABIHARDFP:#define __INTPTR_WIDTH__ 32
437// ARMEABIHARDFP:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000438// ARMEABIHARDFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000439// ARMEABIHARDFP:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000440// ARMEABIHARDFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000441// ARMEABIHARDFP:#define __LDBL_HAS_DENORM__ 1
442// ARMEABIHARDFP:#define __LDBL_HAS_INFINITY__ 1
443// ARMEABIHARDFP:#define __LDBL_HAS_QUIET_NAN__ 1
444// ARMEABIHARDFP:#define __LDBL_MANT_DIG__ 53
445// ARMEABIHARDFP:#define __LDBL_MAX_10_EXP__ 308
446// ARMEABIHARDFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000447// ARMEABIHARDFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000448// ARMEABIHARDFP:#define __LDBL_MIN_10_EXP__ (-307)
449// ARMEABIHARDFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000450// ARMEABIHARDFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000451// ARMEABIHARDFP:#define __LITTLE_ENDIAN__ 1
452// ARMEABIHARDFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
453// ARMEABIHARDFP:#define __LONG_MAX__ 2147483647L
454// ARMEABIHARDFP-NOT:#define __LP64__
455// ARMEABIHARDFP:#define __POINTER_WIDTH__ 32
456// ARMEABIHARDFP:#define __PTRDIFF_TYPE__ int
457// ARMEABIHARDFP:#define __PTRDIFF_WIDTH__ 32
458// ARMEABIHARDFP:#define __REGISTER_PREFIX__
459// ARMEABIHARDFP:#define __SCHAR_MAX__ 127
460// ARMEABIHARDFP:#define __SHRT_MAX__ 32767
461// ARMEABIHARDFP:#define __SIG_ATOMIC_WIDTH__ 32
462// ARMEABIHARDFP:#define __SIZEOF_DOUBLE__ 8
463// ARMEABIHARDFP:#define __SIZEOF_FLOAT__ 4
464// ARMEABIHARDFP:#define __SIZEOF_INT__ 4
465// ARMEABIHARDFP:#define __SIZEOF_LONG_DOUBLE__ 8
466// ARMEABIHARDFP:#define __SIZEOF_LONG_LONG__ 8
467// ARMEABIHARDFP:#define __SIZEOF_LONG__ 4
468// ARMEABIHARDFP:#define __SIZEOF_POINTER__ 4
469// ARMEABIHARDFP:#define __SIZEOF_PTRDIFF_T__ 4
470// ARMEABIHARDFP:#define __SIZEOF_SHORT__ 2
471// ARMEABIHARDFP:#define __SIZEOF_SIZE_T__ 4
472// ARMEABIHARDFP:#define __SIZEOF_WCHAR_T__ 4
473// ARMEABIHARDFP:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000474// ARMEABIHARDFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikove6f74092012-09-08 08:45:10 +0000475// ARMEABIHARDFP:#define __SIZE_TYPE__ unsigned int
476// ARMEABIHARDFP:#define __SIZE_WIDTH__ 32
477// ARMEABIHARDFP-NOT:#define __SOFTFP__ 1
478// ARMEABIHARDFP:#define __THUMB_INTERWORK__ 1
479// ARMEABIHARDFP:#define __UINTMAX_TYPE__ long long unsigned int
480// ARMEABIHARDFP:#define __USER_LABEL_PREFIX__
481// ARMEABIHARDFP:#define __WCHAR_MAX__ 4294967295U
482// ARMEABIHARDFP:#define __WCHAR_TYPE__ unsigned int
483// ARMEABIHARDFP:#define __WCHAR_WIDTH__ 32
484// ARMEABIHARDFP:#define __WINT_TYPE__ unsigned int
485// ARMEABIHARDFP:#define __WINT_WIDTH__ 32
486// ARMEABIHARDFP:#define __arm 1
487// ARMEABIHARDFP:#define __arm__ 1
488
Chris Lattnere963d092009-10-29 04:55:36 +0000489//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +0000490// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
Chris Lattnere963d092009-10-29 04:55:36 +0000491//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000492// I386-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000493// I386:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +0000494// I386:#define __CHAR16_TYPE__ unsigned short
495// I386:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000496// I386:#define __CHAR_BIT__ 8
497// I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
498// I386:#define __DBL_DIG__ 15
499// I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
500// I386:#define __DBL_HAS_DENORM__ 1
501// I386:#define __DBL_HAS_INFINITY__ 1
502// I386:#define __DBL_HAS_QUIET_NAN__ 1
503// I386:#define __DBL_MANT_DIG__ 53
504// I386:#define __DBL_MAX_10_EXP__ 308
505// I386:#define __DBL_MAX_EXP__ 1024
506// I386:#define __DBL_MAX__ 1.7976931348623157e+308
507// I386:#define __DBL_MIN_10_EXP__ (-307)
508// I386:#define __DBL_MIN_EXP__ (-1021)
509// I386:#define __DBL_MIN__ 2.2250738585072014e-308
510// I386:#define __DECIMAL_DIG__ 21
511// I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
512// I386:#define __FLT_DIG__ 6
513// I386:#define __FLT_EPSILON__ 1.19209290e-7F
Benjamin Kramercf501472011-12-28 15:47:06 +0000514// I386:#define __FLT_EVAL_METHOD__ 2
Chris Lattnere963d092009-10-29 04:55:36 +0000515// I386:#define __FLT_HAS_DENORM__ 1
516// I386:#define __FLT_HAS_INFINITY__ 1
517// I386:#define __FLT_HAS_QUIET_NAN__ 1
518// I386:#define __FLT_MANT_DIG__ 24
519// I386:#define __FLT_MAX_10_EXP__ 38
520// I386:#define __FLT_MAX_EXP__ 128
521// I386:#define __FLT_MAX__ 3.40282347e+38F
522// I386:#define __FLT_MIN_10_EXP__ (-37)
523// I386:#define __FLT_MIN_EXP__ (-125)
524// I386:#define __FLT_MIN__ 1.17549435e-38F
525// I386:#define __FLT_RADIX__ 2
526// I386:#define __INT16_TYPE__ short
527// I386:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +0000528// I386:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +0000529// I386:#define __INT64_TYPE__ long long int
530// I386:#define __INT8_TYPE__ char
531// I386:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +0000532// I386:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +0000533// I386:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +0000534// I386:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +0000535// I386:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000536// I386:#define __INT_MAX__ 2147483647
537// I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
538// I386:#define __LDBL_DIG__ 18
539// I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
540// I386:#define __LDBL_HAS_DENORM__ 1
541// I386:#define __LDBL_HAS_INFINITY__ 1
542// I386:#define __LDBL_HAS_QUIET_NAN__ 1
543// I386:#define __LDBL_MANT_DIG__ 64
544// I386:#define __LDBL_MAX_10_EXP__ 4932
545// I386:#define __LDBL_MAX_EXP__ 16384
546// I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
547// I386:#define __LDBL_MIN_10_EXP__ (-4931)
548// I386:#define __LDBL_MIN_EXP__ (-16381)
549// I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
550// I386:#define __LITTLE_ENDIAN__ 1
551// I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
552// I386:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000553// I386-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +0000554// I386:#define __NO_MATH_INLINES 1
555// I386:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000556// I386:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +0000557// I386:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000558// I386:#define __REGISTER_PREFIX__
559// I386:#define __SCHAR_MAX__ 127
560// I386:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +0000561// I386:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +0000562// I386:#define __SIZEOF_DOUBLE__ 8
563// I386:#define __SIZEOF_FLOAT__ 4
564// I386:#define __SIZEOF_INT__ 4
565// I386:#define __SIZEOF_LONG_DOUBLE__ 12
566// I386:#define __SIZEOF_LONG_LONG__ 8
567// I386:#define __SIZEOF_LONG__ 4
568// I386:#define __SIZEOF_POINTER__ 4
569// I386:#define __SIZEOF_PTRDIFF_T__ 4
570// I386:#define __SIZEOF_SHORT__ 2
571// I386:#define __SIZEOF_SIZE_T__ 4
572// I386:#define __SIZEOF_WCHAR_T__ 4
573// I386:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000574// I386:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +0000575// I386:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +0000576// I386:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +0000577// I386:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +0000578// I386:#define __USER_LABEL_PREFIX__ _
579// I386:#define __WCHAR_MAX__ 2147483647
580// I386:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +0000581// I386:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000582// I386:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +0000583// I386:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +0000584// I386:#define __i386 1
585// I386:#define __i386__ 1
Chris Lattnere963d092009-10-29 04:55:36 +0000586// I386:#define i386 1
587//
Benjamin Kramercf501472011-12-28 15:47:06 +0000588// 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 +0000589//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000590// I386-LINUX-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000591// I386-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregore6d6e512011-01-12 21:19:25 +0000592// I386-LINUX:#define __CHAR16_TYPE__ unsigned short
593// I386-LINUX:#define __CHAR32_TYPE__ unsigned int
594// I386-LINUX:#define __CHAR_BIT__ 8
595// I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
596// I386-LINUX:#define __DBL_DIG__ 15
597// I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
598// I386-LINUX:#define __DBL_HAS_DENORM__ 1
599// I386-LINUX:#define __DBL_HAS_INFINITY__ 1
600// I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
601// I386-LINUX:#define __DBL_MANT_DIG__ 53
602// I386-LINUX:#define __DBL_MAX_10_EXP__ 308
603// I386-LINUX:#define __DBL_MAX_EXP__ 1024
604// I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
605// I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
606// I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
607// I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
608// I386-LINUX:#define __DECIMAL_DIG__ 21
609// I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
610// I386-LINUX:#define __FLT_DIG__ 6
611// I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
612// I386-LINUX:#define __FLT_EVAL_METHOD__ 0
613// I386-LINUX:#define __FLT_HAS_DENORM__ 1
614// I386-LINUX:#define __FLT_HAS_INFINITY__ 1
615// I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
616// I386-LINUX:#define __FLT_MANT_DIG__ 24
617// I386-LINUX:#define __FLT_MAX_10_EXP__ 38
618// I386-LINUX:#define __FLT_MAX_EXP__ 128
619// I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
620// I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
621// I386-LINUX:#define __FLT_MIN_EXP__ (-125)
622// I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
623// I386-LINUX:#define __FLT_RADIX__ 2
624// I386-LINUX:#define __INT16_TYPE__ short
625// I386-LINUX:#define __INT32_TYPE__ int
626// I386-LINUX:#define __INT64_C_SUFFIX__ LL
627// I386-LINUX:#define __INT64_TYPE__ long long int
628// I386-LINUX:#define __INT8_TYPE__ char
629// I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
630// I386-LINUX:#define __INTMAX_TYPE__ long long int
631// I386-LINUX:#define __INTMAX_WIDTH__ 64
632// I386-LINUX:#define __INTPTR_TYPE__ int
633// I386-LINUX:#define __INTPTR_WIDTH__ 32
634// I386-LINUX:#define __INT_MAX__ 2147483647
635// I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
636// I386-LINUX:#define __LDBL_DIG__ 18
637// I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
638// I386-LINUX:#define __LDBL_HAS_DENORM__ 1
639// I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
640// I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
641// I386-LINUX:#define __LDBL_MANT_DIG__ 64
642// I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
643// I386-LINUX:#define __LDBL_MAX_EXP__ 16384
644// I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
645// I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
646// I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
647// I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
648// I386-LINUX:#define __LITTLE_ENDIAN__ 1
649// I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
650// I386-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000651// I386-LINUX-NOT:#define __LP64__
Douglas Gregore6d6e512011-01-12 21:19:25 +0000652// I386-LINUX:#define __NO_MATH_INLINES 1
653// I386-LINUX:#define __POINTER_WIDTH__ 32
654// I386-LINUX:#define __PTRDIFF_TYPE__ int
655// I386-LINUX:#define __PTRDIFF_WIDTH__ 32
656// I386-LINUX:#define __REGISTER_PREFIX__
657// I386-LINUX:#define __SCHAR_MAX__ 127
658// I386-LINUX:#define __SHRT_MAX__ 32767
659// I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
660// I386-LINUX:#define __SIZEOF_DOUBLE__ 8
661// I386-LINUX:#define __SIZEOF_FLOAT__ 4
662// I386-LINUX:#define __SIZEOF_INT__ 4
663// I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
664// I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
665// I386-LINUX:#define __SIZEOF_LONG__ 4
666// I386-LINUX:#define __SIZEOF_POINTER__ 4
667// I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
668// I386-LINUX:#define __SIZEOF_SHORT__ 2
669// I386-LINUX:#define __SIZEOF_SIZE_T__ 4
670// I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
671// I386-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000672// I386-LINUX:#define __SIZE_MAX__ 4294967295U
Douglas Gregore6d6e512011-01-12 21:19:25 +0000673// I386-LINUX:#define __SIZE_TYPE__ unsigned int
674// I386-LINUX:#define __SIZE_WIDTH__ 32
675// I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
676// I386-LINUX:#define __USER_LABEL_PREFIX__
677// I386-LINUX:#define __WCHAR_MAX__ 2147483647
678// I386-LINUX:#define __WCHAR_TYPE__ int
679// I386-LINUX:#define __WCHAR_WIDTH__ 32
680// I386-LINUX:#define __WINT_TYPE__ unsigned int
681// I386-LINUX:#define __WINT_WIDTH__ 32
682// I386-LINUX:#define __i386 1
683// I386-LINUX:#define __i386__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +0000684// I386-LINUX:#define i386 1
685//
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000686// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none < /dev/null | FileCheck -check-prefix MIPS32BE %s
687//
688// MIPS32BE:#define MIPSEB 1
689// MIPS32BE:#define _ABIO32 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000690// MIPS32BE-NOT:#define _LP64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000691// MIPS32BE:#define _MIPSEB 1
Simon Atanasyan5a0642f2012-08-29 15:17:29 +0000692// MIPS32BE:#define _MIPS_ARCH "mips32"
693// MIPS32BE:#define _MIPS_ARCH_MIPS32 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000694// MIPS32BE:#define _MIPS_SIM _ABIO32
695// MIPS32BE:#define _MIPS_SZINT 32
696// MIPS32BE:#define _MIPS_SZLONG 32
697// MIPS32BE:#define _MIPS_SZPTR 32
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000698// MIPS32BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000699// MIPS32BE:#define __CHAR16_TYPE__ unsigned short
700// MIPS32BE:#define __CHAR32_TYPE__ unsigned int
701// MIPS32BE:#define __CHAR_BIT__ 8
702// MIPS32BE:#define __CONSTANT_CFSTRINGS__ 1
703// MIPS32BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
704// MIPS32BE:#define __DBL_DIG__ 15
705// MIPS32BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
706// MIPS32BE:#define __DBL_HAS_DENORM__ 1
707// MIPS32BE:#define __DBL_HAS_INFINITY__ 1
708// MIPS32BE:#define __DBL_HAS_QUIET_NAN__ 1
709// MIPS32BE:#define __DBL_MANT_DIG__ 53
710// MIPS32BE:#define __DBL_MAX_10_EXP__ 308
711// MIPS32BE:#define __DBL_MAX_EXP__ 1024
712// MIPS32BE:#define __DBL_MAX__ 1.7976931348623157e+308
713// MIPS32BE:#define __DBL_MIN_10_EXP__ (-307)
714// MIPS32BE:#define __DBL_MIN_EXP__ (-1021)
715// MIPS32BE:#define __DBL_MIN__ 2.2250738585072014e-308
716// MIPS32BE:#define __DECIMAL_DIG__ 17
717// MIPS32BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
718// MIPS32BE:#define __FLT_DIG__ 6
719// MIPS32BE:#define __FLT_EPSILON__ 1.19209290e-7F
720// MIPS32BE:#define __FLT_EVAL_METHOD__ 0
721// MIPS32BE:#define __FLT_HAS_DENORM__ 1
722// MIPS32BE:#define __FLT_HAS_INFINITY__ 1
723// MIPS32BE:#define __FLT_HAS_QUIET_NAN__ 1
724// MIPS32BE:#define __FLT_MANT_DIG__ 24
725// MIPS32BE:#define __FLT_MAX_10_EXP__ 38
726// MIPS32BE:#define __FLT_MAX_EXP__ 128
727// MIPS32BE:#define __FLT_MAX__ 3.40282347e+38F
728// MIPS32BE:#define __FLT_MIN_10_EXP__ (-37)
729// MIPS32BE:#define __FLT_MIN_EXP__ (-125)
730// MIPS32BE:#define __FLT_MIN__ 1.17549435e-38F
731// MIPS32BE:#define __FLT_RADIX__ 2
732// MIPS32BE:#define __INT16_TYPE__ short
733// MIPS32BE:#define __INT32_TYPE__ int
734// MIPS32BE:#define __INT64_C_SUFFIX__ LL
735// MIPS32BE:#define __INT64_TYPE__ long long int
736// MIPS32BE:#define __INT8_TYPE__ char
737// MIPS32BE:#define __INTMAX_MAX__ 9223372036854775807LL
738// MIPS32BE:#define __INTMAX_TYPE__ long long int
739// MIPS32BE:#define __INTMAX_WIDTH__ 64
740// MIPS32BE:#define __INTPTR_TYPE__ long int
741// MIPS32BE:#define __INTPTR_WIDTH__ 32
742// MIPS32BE:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000743// MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000744// MIPS32BE:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000745// MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000746// MIPS32BE:#define __LDBL_HAS_DENORM__ 1
747// MIPS32BE:#define __LDBL_HAS_INFINITY__ 1
748// MIPS32BE:#define __LDBL_HAS_QUIET_NAN__ 1
749// MIPS32BE:#define __LDBL_MANT_DIG__ 53
750// MIPS32BE:#define __LDBL_MAX_10_EXP__ 308
751// MIPS32BE:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000752// MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000753// MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307)
754// MIPS32BE:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000755// MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000756// MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
757// MIPS32BE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000758// MIPS32BE-NOT:#define __LP64__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000759// MIPS32BE:#define __MIPSEB 1
760// MIPS32BE:#define __MIPSEB__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000761// MIPS32BE:#define __POINTER_WIDTH__ 32
762// MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1
763// MIPS32BE:#define __PTRDIFF_TYPE__ int
764// MIPS32BE:#define __PTRDIFF_WIDTH__ 32
765// MIPS32BE:#define __REGISTER_PREFIX__
766// MIPS32BE:#define __SCHAR_MAX__ 127
767// MIPS32BE:#define __SHRT_MAX__ 32767
768// MIPS32BE:#define __SIG_ATOMIC_WIDTH__ 32
769// MIPS32BE:#define __SIZEOF_DOUBLE__ 8
770// MIPS32BE:#define __SIZEOF_FLOAT__ 4
771// MIPS32BE:#define __SIZEOF_INT__ 4
772// MIPS32BE:#define __SIZEOF_LONG_DOUBLE__ 8
773// MIPS32BE:#define __SIZEOF_LONG_LONG__ 8
774// MIPS32BE:#define __SIZEOF_LONG__ 4
775// MIPS32BE:#define __SIZEOF_POINTER__ 4
776// MIPS32BE:#define __SIZEOF_PTRDIFF_T__ 4
777// MIPS32BE:#define __SIZEOF_SHORT__ 2
778// MIPS32BE:#define __SIZEOF_SIZE_T__ 4
779// MIPS32BE:#define __SIZEOF_WCHAR_T__ 4
780// MIPS32BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000781// MIPS32BE:#define __SIZE_MAX__ 4294967295U
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000782// MIPS32BE:#define __SIZE_TYPE__ unsigned int
783// MIPS32BE:#define __SIZE_WIDTH__ 32
784// MIPS32BE:#define __STDC_HOSTED__ 0
785// MIPS32BE:#define __STDC_VERSION__ 199901L
786// MIPS32BE:#define __STDC__ 1
787// MIPS32BE:#define __UINTMAX_TYPE__ long long unsigned int
788// MIPS32BE:#define __USER_LABEL_PREFIX__ _
789// MIPS32BE:#define __WCHAR_MAX__ 2147483647
790// MIPS32BE:#define __WCHAR_TYPE__ int
791// MIPS32BE:#define __WCHAR_WIDTH__ 32
792// MIPS32BE:#define __WINT_TYPE__ int
793// MIPS32BE:#define __WINT_WIDTH__ 32
794// MIPS32BE:#define __clang__ 1
795// MIPS32BE:#define __llvm__ 1
796// MIPS32BE:#define __mips 1
797// MIPS32BE:#define __mips__ 1
798// MIPS32BE:#define __mips_hard_float 1
799// MIPS32BE:#define __mips_o32 1
800// MIPS32BE:#define _mips 1
801// MIPS32BE:#define mips 1
802//
803// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -check-prefix MIPS32EL %s
804//
805// MIPS32EL:#define MIPSEL 1
806// MIPS32EL:#define _ABIO32 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000807// MIPS32EL-NOT:#define _LP64
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000808// MIPS32EL:#define _MIPSEL 1
Simon Atanasyan5a0642f2012-08-29 15:17:29 +0000809// MIPS32EL:#define _MIPS_ARCH "mips32"
810// MIPS32EL:#define _MIPS_ARCH_MIPS32 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000811// MIPS32EL:#define _MIPS_SIM _ABIO32
812// MIPS32EL:#define _MIPS_SZINT 32
813// MIPS32EL:#define _MIPS_SZLONG 32
814// MIPS32EL:#define _MIPS_SZPTR 32
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000815// MIPS32EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000816// MIPS32EL:#define __CHAR16_TYPE__ unsigned short
817// MIPS32EL:#define __CHAR32_TYPE__ unsigned int
818// MIPS32EL:#define __CHAR_BIT__ 8
819// MIPS32EL:#define __CONSTANT_CFSTRINGS__ 1
820// MIPS32EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
821// MIPS32EL:#define __DBL_DIG__ 15
822// MIPS32EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
823// MIPS32EL:#define __DBL_HAS_DENORM__ 1
824// MIPS32EL:#define __DBL_HAS_INFINITY__ 1
825// MIPS32EL:#define __DBL_HAS_QUIET_NAN__ 1
826// MIPS32EL:#define __DBL_MANT_DIG__ 53
827// MIPS32EL:#define __DBL_MAX_10_EXP__ 308
828// MIPS32EL:#define __DBL_MAX_EXP__ 1024
829// MIPS32EL:#define __DBL_MAX__ 1.7976931348623157e+308
830// MIPS32EL:#define __DBL_MIN_10_EXP__ (-307)
831// MIPS32EL:#define __DBL_MIN_EXP__ (-1021)
832// MIPS32EL:#define __DBL_MIN__ 2.2250738585072014e-308
833// MIPS32EL:#define __DECIMAL_DIG__ 17
834// MIPS32EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
835// MIPS32EL:#define __FLT_DIG__ 6
836// MIPS32EL:#define __FLT_EPSILON__ 1.19209290e-7F
837// MIPS32EL:#define __FLT_EVAL_METHOD__ 0
838// MIPS32EL:#define __FLT_HAS_DENORM__ 1
839// MIPS32EL:#define __FLT_HAS_INFINITY__ 1
840// MIPS32EL:#define __FLT_HAS_QUIET_NAN__ 1
841// MIPS32EL:#define __FLT_MANT_DIG__ 24
842// MIPS32EL:#define __FLT_MAX_10_EXP__ 38
843// MIPS32EL:#define __FLT_MAX_EXP__ 128
844// MIPS32EL:#define __FLT_MAX__ 3.40282347e+38F
845// MIPS32EL:#define __FLT_MIN_10_EXP__ (-37)
846// MIPS32EL:#define __FLT_MIN_EXP__ (-125)
847// MIPS32EL:#define __FLT_MIN__ 1.17549435e-38F
848// MIPS32EL:#define __FLT_RADIX__ 2
849// MIPS32EL:#define __INT16_TYPE__ short
850// MIPS32EL:#define __INT32_TYPE__ int
851// MIPS32EL:#define __INT64_C_SUFFIX__ LL
852// MIPS32EL:#define __INT64_TYPE__ long long int
853// MIPS32EL:#define __INT8_TYPE__ char
854// MIPS32EL:#define __INTMAX_MAX__ 9223372036854775807LL
855// MIPS32EL:#define __INTMAX_TYPE__ long long int
856// MIPS32EL:#define __INTMAX_WIDTH__ 64
857// MIPS32EL:#define __INTPTR_TYPE__ long int
858// MIPS32EL:#define __INTPTR_WIDTH__ 32
859// MIPS32EL:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000860// MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000861// MIPS32EL:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000862// MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000863// MIPS32EL:#define __LDBL_HAS_DENORM__ 1
864// MIPS32EL:#define __LDBL_HAS_INFINITY__ 1
865// MIPS32EL:#define __LDBL_HAS_QUIET_NAN__ 1
866// MIPS32EL:#define __LDBL_MANT_DIG__ 53
867// MIPS32EL:#define __LDBL_MAX_10_EXP__ 308
868// MIPS32EL:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000869// MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000870// MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307)
871// MIPS32EL:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +0000872// MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000873// MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
874// MIPS32EL:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000875// MIPS32EL-NOT:#define __LP64__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000876// MIPS32EL:#define __MIPSEL 1
877// MIPS32EL:#define __MIPSEL__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000878// MIPS32EL:#define __POINTER_WIDTH__ 32
879// MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1
880// MIPS32EL:#define __PTRDIFF_TYPE__ int
881// MIPS32EL:#define __PTRDIFF_WIDTH__ 32
882// MIPS32EL:#define __REGISTER_PREFIX__
883// MIPS32EL:#define __SCHAR_MAX__ 127
884// MIPS32EL:#define __SHRT_MAX__ 32767
885// MIPS32EL:#define __SIG_ATOMIC_WIDTH__ 32
886// MIPS32EL:#define __SIZEOF_DOUBLE__ 8
887// MIPS32EL:#define __SIZEOF_FLOAT__ 4
888// MIPS32EL:#define __SIZEOF_INT__ 4
889// MIPS32EL:#define __SIZEOF_LONG_DOUBLE__ 8
890// MIPS32EL:#define __SIZEOF_LONG_LONG__ 8
891// MIPS32EL:#define __SIZEOF_LONG__ 4
892// MIPS32EL:#define __SIZEOF_POINTER__ 4
893// MIPS32EL:#define __SIZEOF_PTRDIFF_T__ 4
894// MIPS32EL:#define __SIZEOF_SHORT__ 2
895// MIPS32EL:#define __SIZEOF_SIZE_T__ 4
896// MIPS32EL:#define __SIZEOF_WCHAR_T__ 4
897// MIPS32EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +0000898// MIPS32EL:#define __SIZE_MAX__ 4294967295U
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000899// MIPS32EL:#define __SIZE_TYPE__ unsigned int
900// MIPS32EL:#define __SIZE_WIDTH__ 32
901// MIPS32EL:#define __UINTMAX_TYPE__ long long unsigned int
902// MIPS32EL:#define __USER_LABEL_PREFIX__ _
903// MIPS32EL:#define __WCHAR_MAX__ 2147483647
904// MIPS32EL:#define __WCHAR_TYPE__ int
905// MIPS32EL:#define __WCHAR_WIDTH__ 32
906// MIPS32EL:#define __WINT_TYPE__ int
907// MIPS32EL:#define __WINT_WIDTH__ 32
908// MIPS32EL:#define __clang__ 1
909// MIPS32EL:#define __llvm__ 1
910// MIPS32EL:#define __mips 1
911// MIPS32EL:#define __mips__ 1
912// MIPS32EL:#define __mips_hard_float 1
913// MIPS32EL:#define __mips_o32 1
914// MIPS32EL:#define _mips 1
915// MIPS32EL:#define mips 1
916//
917// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -check-prefix MIPS64BE %s
918//
919// MIPS64BE:#define MIPSEB 1
920// MIPS64BE:#define _ABI64 3
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000921// MIPS64BE:#define _LP64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000922// MIPS64BE:#define _MIPSEB 1
Simon Atanasyan5a0642f2012-08-29 15:17:29 +0000923// MIPS64BE:#define _MIPS_ARCH "mips64"
924// MIPS64BE:#define _MIPS_ARCH_MIPS64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000925// MIPS64BE:#define _MIPS_SIM _ABI64
926// MIPS64BE:#define _MIPS_SZINT 32
927// MIPS64BE:#define _MIPS_SZLONG 64
928// MIPS64BE:#define _MIPS_SZPTR 64
Dylan Noblesmith673728f2012-07-27 18:34:31 +0000929// MIPS64BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000930// MIPS64BE:#define __CHAR16_TYPE__ unsigned short
931// MIPS64BE:#define __CHAR32_TYPE__ unsigned int
932// MIPS64BE:#define __CHAR_BIT__ 8
933// MIPS64BE:#define __CONSTANT_CFSTRINGS__ 1
934// MIPS64BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
935// MIPS64BE:#define __DBL_DIG__ 15
936// MIPS64BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
937// MIPS64BE:#define __DBL_HAS_DENORM__ 1
938// MIPS64BE:#define __DBL_HAS_INFINITY__ 1
939// MIPS64BE:#define __DBL_HAS_QUIET_NAN__ 1
940// MIPS64BE:#define __DBL_MANT_DIG__ 53
941// MIPS64BE:#define __DBL_MAX_10_EXP__ 308
942// MIPS64BE:#define __DBL_MAX_EXP__ 1024
943// MIPS64BE:#define __DBL_MAX__ 1.7976931348623157e+308
944// MIPS64BE:#define __DBL_MIN_10_EXP__ (-307)
945// MIPS64BE:#define __DBL_MIN_EXP__ (-1021)
946// MIPS64BE:#define __DBL_MIN__ 2.2250738585072014e-308
947// MIPS64BE:#define __DECIMAL_DIG__ 36
948// MIPS64BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
949// MIPS64BE:#define __FLT_DIG__ 6
950// MIPS64BE:#define __FLT_EPSILON__ 1.19209290e-7F
951// MIPS64BE:#define __FLT_EVAL_METHOD__ 0
952// MIPS64BE:#define __FLT_HAS_DENORM__ 1
953// MIPS64BE:#define __FLT_HAS_INFINITY__ 1
954// MIPS64BE:#define __FLT_HAS_QUIET_NAN__ 1
955// MIPS64BE:#define __FLT_MANT_DIG__ 24
956// MIPS64BE:#define __FLT_MAX_10_EXP__ 38
957// MIPS64BE:#define __FLT_MAX_EXP__ 128
958// MIPS64BE:#define __FLT_MAX__ 3.40282347e+38F
959// MIPS64BE:#define __FLT_MIN_10_EXP__ (-37)
960// MIPS64BE:#define __FLT_MIN_EXP__ (-125)
961// MIPS64BE:#define __FLT_MIN__ 1.17549435e-38F
962// MIPS64BE:#define __FLT_RADIX__ 2
963// MIPS64BE:#define __INT16_TYPE__ short
964// MIPS64BE:#define __INT32_TYPE__ int
965// MIPS64BE:#define __INT64_C_SUFFIX__ LL
966// MIPS64BE:#define __INT64_TYPE__ long long int
967// MIPS64BE:#define __INT8_TYPE__ char
968// MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807LL
969// MIPS64BE:#define __INTMAX_TYPE__ long long int
970// MIPS64BE:#define __INTMAX_WIDTH__ 64
971// MIPS64BE:#define __INTPTR_TYPE__ long int
972// MIPS64BE:#define __INTPTR_WIDTH__ 64
973// MIPS64BE:#define __INT_MAX__ 2147483647
974// MIPS64BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
975// MIPS64BE:#define __LDBL_DIG__ 33
976// MIPS64BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
977// MIPS64BE:#define __LDBL_HAS_DENORM__ 1
978// MIPS64BE:#define __LDBL_HAS_INFINITY__ 1
979// MIPS64BE:#define __LDBL_HAS_QUIET_NAN__ 1
980// MIPS64BE:#define __LDBL_MANT_DIG__ 113
981// MIPS64BE:#define __LDBL_MAX_10_EXP__ 4932
982// MIPS64BE:#define __LDBL_MAX_EXP__ 16384
983// MIPS64BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
984// MIPS64BE:#define __LDBL_MIN_10_EXP__ (-4931)
985// MIPS64BE:#define __LDBL_MIN_EXP__ (-16381)
986// MIPS64BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
987// MIPS64BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
988// MIPS64BE:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +0000989// MIPS64BE:#define __LP64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000990// MIPS64BE:#define __MIPSEB 1
991// MIPS64BE:#define __MIPSEB__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +0000992// MIPS64BE:#define __POINTER_WIDTH__ 64
993// MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1
994// MIPS64BE:#define __PTRDIFF_TYPE__ long int
995// MIPS64BE:#define __PTRDIFF_WIDTH__ 64
996// MIPS64BE:#define __REGISTER_PREFIX__
997// MIPS64BE:#define __SCHAR_MAX__ 127
998// MIPS64BE:#define __SHRT_MAX__ 32767
999// MIPS64BE:#define __SIG_ATOMIC_WIDTH__ 32
1000// MIPS64BE:#define __SIZEOF_DOUBLE__ 8
1001// MIPS64BE:#define __SIZEOF_FLOAT__ 4
1002// MIPS64BE:#define __SIZEOF_INT__ 4
1003// MIPS64BE:#define __SIZEOF_LONG_DOUBLE__ 16
1004// MIPS64BE:#define __SIZEOF_LONG_LONG__ 8
1005// MIPS64BE:#define __SIZEOF_LONG__ 8
1006// MIPS64BE:#define __SIZEOF_POINTER__ 8
1007// MIPS64BE:#define __SIZEOF_PTRDIFF_T__ 8
1008// MIPS64BE:#define __SIZEOF_SHORT__ 2
1009// MIPS64BE:#define __SIZEOF_SIZE_T__ 8
1010// MIPS64BE:#define __SIZEOF_WCHAR_T__ 4
1011// MIPS64BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001012// MIPS64BE:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001013// MIPS64BE:#define __SIZE_TYPE__ long unsigned int
1014// MIPS64BE:#define __SIZE_WIDTH__ 64
1015// MIPS64BE:#define __UINTMAX_TYPE__ long long unsigned int
1016// MIPS64BE:#define __USER_LABEL_PREFIX__ _
1017// MIPS64BE:#define __WCHAR_MAX__ 2147483647
1018// MIPS64BE:#define __WCHAR_TYPE__ int
1019// MIPS64BE:#define __WCHAR_WIDTH__ 32
1020// MIPS64BE:#define __WINT_TYPE__ int
1021// MIPS64BE:#define __WINT_WIDTH__ 32
1022// MIPS64BE:#define __clang__ 1
1023// MIPS64BE:#define __llvm__ 1
1024// MIPS64BE:#define __mips 1
Simon Atanasyanc6a0be02012-08-29 20:50:11 +00001025// MIPS64BE:#define __mips64 1
1026// MIPS64BE:#define __mips64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001027// MIPS64BE:#define __mips__ 1
1028// MIPS64BE:#define __mips_hard_float 1
1029// MIPS64BE:#define __mips_n64 1
1030// MIPS64BE:#define _mips 1
1031// MIPS64BE:#define mips 1
1032//
1033// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -check-prefix MIPS64EL %s
1034//
1035// MIPS64EL:#define MIPSEL 1
1036// MIPS64EL:#define _ABI64 3
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001037// MIPS64EL:#define _LP64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001038// MIPS64EL:#define _MIPSEL 1
Simon Atanasyan5a0642f2012-08-29 15:17:29 +00001039// MIPS64EL:#define _MIPS_ARCH "mips64"
1040// MIPS64EL:#define _MIPS_ARCH_MIPS64 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001041// MIPS64EL:#define _MIPS_SIM _ABI64
1042// MIPS64EL:#define _MIPS_SZINT 32
1043// MIPS64EL:#define _MIPS_SZLONG 64
1044// MIPS64EL:#define _MIPS_SZPTR 64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001045// MIPS64EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001046// MIPS64EL:#define __CHAR16_TYPE__ unsigned short
1047// MIPS64EL:#define __CHAR32_TYPE__ unsigned int
1048// MIPS64EL:#define __CHAR_BIT__ 8
1049// MIPS64EL:#define __CONSTANT_CFSTRINGS__ 1
1050// MIPS64EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1051// MIPS64EL:#define __DBL_DIG__ 15
1052// MIPS64EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1053// MIPS64EL:#define __DBL_HAS_DENORM__ 1
1054// MIPS64EL:#define __DBL_HAS_INFINITY__ 1
1055// MIPS64EL:#define __DBL_HAS_QUIET_NAN__ 1
1056// MIPS64EL:#define __DBL_MANT_DIG__ 53
1057// MIPS64EL:#define __DBL_MAX_10_EXP__ 308
1058// MIPS64EL:#define __DBL_MAX_EXP__ 1024
1059// MIPS64EL:#define __DBL_MAX__ 1.7976931348623157e+308
1060// MIPS64EL:#define __DBL_MIN_10_EXP__ (-307)
1061// MIPS64EL:#define __DBL_MIN_EXP__ (-1021)
1062// MIPS64EL:#define __DBL_MIN__ 2.2250738585072014e-308
1063// MIPS64EL:#define __DECIMAL_DIG__ 36
1064// MIPS64EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1065// MIPS64EL:#define __FLT_DIG__ 6
1066// MIPS64EL:#define __FLT_EPSILON__ 1.19209290e-7F
1067// MIPS64EL:#define __FLT_EVAL_METHOD__ 0
1068// MIPS64EL:#define __FLT_HAS_DENORM__ 1
1069// MIPS64EL:#define __FLT_HAS_INFINITY__ 1
1070// MIPS64EL:#define __FLT_HAS_QUIET_NAN__ 1
1071// MIPS64EL:#define __FLT_MANT_DIG__ 24
1072// MIPS64EL:#define __FLT_MAX_10_EXP__ 38
1073// MIPS64EL:#define __FLT_MAX_EXP__ 128
1074// MIPS64EL:#define __FLT_MAX__ 3.40282347e+38F
1075// MIPS64EL:#define __FLT_MIN_10_EXP__ (-37)
1076// MIPS64EL:#define __FLT_MIN_EXP__ (-125)
1077// MIPS64EL:#define __FLT_MIN__ 1.17549435e-38F
1078// MIPS64EL:#define __FLT_RADIX__ 2
1079// MIPS64EL:#define __INT16_TYPE__ short
1080// MIPS64EL:#define __INT32_TYPE__ int
1081// MIPS64EL:#define __INT64_C_SUFFIX__ LL
1082// MIPS64EL:#define __INT64_TYPE__ long long int
1083// MIPS64EL:#define __INT8_TYPE__ char
1084// MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807LL
1085// MIPS64EL:#define __INTMAX_TYPE__ long long int
1086// MIPS64EL:#define __INTMAX_WIDTH__ 64
1087// MIPS64EL:#define __INTPTR_TYPE__ long int
1088// MIPS64EL:#define __INTPTR_WIDTH__ 64
1089// MIPS64EL:#define __INT_MAX__ 2147483647
1090// MIPS64EL:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1091// MIPS64EL:#define __LDBL_DIG__ 33
1092// MIPS64EL:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1093// MIPS64EL:#define __LDBL_HAS_DENORM__ 1
1094// MIPS64EL:#define __LDBL_HAS_INFINITY__ 1
1095// MIPS64EL:#define __LDBL_HAS_QUIET_NAN__ 1
1096// MIPS64EL:#define __LDBL_MANT_DIG__ 113
1097// MIPS64EL:#define __LDBL_MAX_10_EXP__ 4932
1098// MIPS64EL:#define __LDBL_MAX_EXP__ 16384
1099// MIPS64EL:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1100// MIPS64EL:#define __LDBL_MIN_10_EXP__ (-4931)
1101// MIPS64EL:#define __LDBL_MIN_EXP__ (-16381)
1102// MIPS64EL:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1103// MIPS64EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1104// MIPS64EL:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001105// MIPS64EL:#define __LP64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001106// MIPS64EL:#define __MIPSEL 1
1107// MIPS64EL:#define __MIPSEL__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001108// MIPS64EL:#define __POINTER_WIDTH__ 64
1109// MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1110// MIPS64EL:#define __PTRDIFF_TYPE__ long int
1111// MIPS64EL:#define __PTRDIFF_WIDTH__ 64
1112// MIPS64EL:#define __REGISTER_PREFIX__
1113// MIPS64EL:#define __SCHAR_MAX__ 127
1114// MIPS64EL:#define __SHRT_MAX__ 32767
1115// MIPS64EL:#define __SIG_ATOMIC_WIDTH__ 32
1116// MIPS64EL:#define __SIZEOF_DOUBLE__ 8
1117// MIPS64EL:#define __SIZEOF_FLOAT__ 4
1118// MIPS64EL:#define __SIZEOF_INT__ 4
1119// MIPS64EL:#define __SIZEOF_LONG_DOUBLE__ 16
1120// MIPS64EL:#define __SIZEOF_LONG_LONG__ 8
1121// MIPS64EL:#define __SIZEOF_LONG__ 8
1122// MIPS64EL:#define __SIZEOF_POINTER__ 8
1123// MIPS64EL:#define __SIZEOF_PTRDIFF_T__ 8
1124// MIPS64EL:#define __SIZEOF_SHORT__ 2
1125// MIPS64EL:#define __SIZEOF_SIZE_T__ 8
1126// MIPS64EL:#define __SIZEOF_WCHAR_T__ 4
1127// MIPS64EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001128// MIPS64EL:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001129// MIPS64EL:#define __SIZE_TYPE__ long unsigned int
1130// MIPS64EL:#define __SIZE_WIDTH__ 64
1131// MIPS64EL:#define __UINTMAX_TYPE__ long long unsigned int
1132// MIPS64EL:#define __USER_LABEL_PREFIX__ _
1133// MIPS64EL:#define __WCHAR_MAX__ 2147483647
1134// MIPS64EL:#define __WCHAR_TYPE__ int
1135// MIPS64EL:#define __WCHAR_WIDTH__ 32
1136// MIPS64EL:#define __WINT_TYPE__ int
1137// MIPS64EL:#define __WINT_WIDTH__ 32
1138// MIPS64EL:#define __clang__ 1
1139// MIPS64EL:#define __llvm__ 1
1140// MIPS64EL:#define __mips 1
Simon Atanasyanc6a0be02012-08-29 20:50:11 +00001141// MIPS64EL:#define __mips64 1
1142// MIPS64EL:#define __mips64__ 1
Simon Atanasyanc3e45fe2012-04-06 08:37:24 +00001143// MIPS64EL:#define __mips__ 1
1144// MIPS64EL:#define __mips_hard_float 1
1145// MIPS64EL:#define __mips_n64 1
1146// MIPS64EL:#define _mips 1
1147// MIPS64EL:#define mips 1
1148//
Simon Atanasyan5e21c802012-04-06 17:51:49 +00001149// Check MIPS float ABI macros
1150//
1151// RUN: %clang_cc1 -E -dM -ffreestanding \
1152// RUN: -triple=mips-none-none < /dev/null \
1153// RUN: | FileCheck -check-prefix MIPS-FABI-HARD %s
1154// MIPS-FABI-HARD:#define __mips_hard_float 1
1155//
1156// RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \
1157// RUN: -triple=mips-none-none < /dev/null \
1158// RUN: | FileCheck -check-prefix MIPS-FABI-SOFT %s
1159// MIPS-FABI-SOFT:#define __mips_soft_float 1
1160//
1161// RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \
1162// RUN: -triple=mips-none-none < /dev/null \
1163// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE %s
Simon Atanasyand3d173d2012-06-05 13:06:56 +00001164// MIPS-FABI-SINGLE:#define __mips_hard_float 1
Simon Atanasyan5e21c802012-04-06 17:51:49 +00001165// MIPS-FABI-SINGLE:#define __mips_single_float 1
1166//
Simon Atanasyan16071912013-04-14 14:07:30 +00001167// RUN: %clang_cc1 -target-feature +soft-float -target-feature +single-float \
1168// RUN: -E -dM -ffreestanding -triple=mips-none-none < /dev/null \
1169// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE-SOFT %s
1170// MIPS-FABI-SINGLE-SOFT:#define __mips_single_float 1
1171// MIPS-FABI-SINGLE-SOFT:#define __mips_soft_float 1
1172//
Simon Atanasyan72244b62012-07-05 16:06:06 +00001173// Check MIPS features macros
1174//
1175// RUN: %clang_cc1 -target-feature +mips16 \
1176// RUN: -E -dM -triple=mips-none-none < /dev/null \
1177// RUN: | FileCheck -check-prefix MIPS16 %s
1178// MIPS16:#define __mips16 1
1179//
1180// RUN: %clang_cc1 -target-feature -mips16 \
1181// RUN: -E -dM -triple=mips-none-none < /dev/null \
1182// RUN: | FileCheck -check-prefix NOMIPS16 %s
1183// NOMIPS16-NOT:#define __mips16 1
1184//
Simon Atanasyan60777612013-04-14 14:07:51 +00001185// RUN: %clang_cc1 -target-feature +micromips \
1186// RUN: -E -dM -triple=mips-none-none < /dev/null \
1187// RUN: | FileCheck -check-prefix MICROMIPS %s
1188// MICROMIPS:#define __mips_micromips 1
1189//
1190// RUN: %clang_cc1 -target-feature -micromips \
1191// RUN: -E -dM -triple=mips-none-none < /dev/null \
1192// RUN: | FileCheck -check-prefix NOMICROMIPS %s
1193// NOMICROMIPS-NOT:#define __mips_micromips 1
1194//
Simon Atanasyan9780e4a2012-07-05 20:16:22 +00001195// RUN: %clang_cc1 -target-feature +dsp \
1196// RUN: -E -dM -triple=mips-none-none < /dev/null \
1197// RUN: | FileCheck -check-prefix MIPS-DSP %s
1198// MIPS-DSP:#define __mips_dsp 1
1199// MIPS-DSP:#define __mips_dsp_rev 1
1200// MIPS-DSP-NOT:#define __mips_dspr2 1
1201//
1202// RUN: %clang_cc1 -target-feature +dspr2 \
1203// RUN: -E -dM -triple=mips-none-none < /dev/null \
1204// RUN: | FileCheck -check-prefix MIPS-DSPR2 %s
1205// MIPS-DSPR2:#define __mips_dsp 1
1206// MIPS-DSPR2:#define __mips_dsp_rev 2
1207// MIPS-DSPR2:#define __mips_dspr2 1
1208//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00001209// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
Chris Lattnere963d092009-10-29 04:55:36 +00001210//
1211// MSP430:#define MSP430 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001212// MSP430-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001213// MSP430:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00001214// MSP430:#define __CHAR16_TYPE__ unsigned short
1215// MSP430:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001216// MSP430:#define __CHAR_BIT__ 8
1217// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1218// MSP430:#define __DBL_DIG__ 15
1219// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
1220// MSP430:#define __DBL_HAS_DENORM__ 1
1221// MSP430:#define __DBL_HAS_INFINITY__ 1
1222// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
1223// MSP430:#define __DBL_MANT_DIG__ 53
1224// MSP430:#define __DBL_MAX_10_EXP__ 308
1225// MSP430:#define __DBL_MAX_EXP__ 1024
1226// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
1227// MSP430:#define __DBL_MIN_10_EXP__ (-307)
1228// MSP430:#define __DBL_MIN_EXP__ (-1021)
1229// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
1230// MSP430:#define __DECIMAL_DIG__ 17
1231// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1232// MSP430:#define __FLT_DIG__ 6
1233// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
1234// MSP430:#define __FLT_EVAL_METHOD__ 0
1235// MSP430:#define __FLT_HAS_DENORM__ 1
1236// MSP430:#define __FLT_HAS_INFINITY__ 1
1237// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
1238// MSP430:#define __FLT_MANT_DIG__ 24
1239// MSP430:#define __FLT_MAX_10_EXP__ 38
1240// MSP430:#define __FLT_MAX_EXP__ 128
1241// MSP430:#define __FLT_MAX__ 3.40282347e+38F
1242// MSP430:#define __FLT_MIN_10_EXP__ (-37)
1243// MSP430:#define __FLT_MIN_EXP__ (-125)
1244// MSP430:#define __FLT_MIN__ 1.17549435e-38F
1245// MSP430:#define __FLT_RADIX__ 2
1246// MSP430:#define __INT16_TYPE__ short
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00001247// MSP430:#define __INT32_C_SUFFIX__ L
Chris Lattner55c98772009-11-12 08:08:27 +00001248// MSP430:#define __INT32_TYPE__ long int
Chris Lattnere963d092009-10-29 04:55:36 +00001249// MSP430:#define __INT8_TYPE__ char
1250// MSP430:#define __INTMAX_MAX__ 2147483647L
Ken Dyck9b25f782009-11-19 13:18:59 +00001251// MSP430:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00001252// MSP430:#define __INTMAX_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00001253// MSP430:#define __INTPTR_TYPE__ short
Ken Dyck24cfcf12009-11-18 20:05:48 +00001254// MSP430:#define __INTPTR_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001255// MSP430:#define __INT_MAX__ 32767
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001256// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00001257// MSP430:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001258// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +00001259// MSP430:#define __LDBL_HAS_DENORM__ 1
1260// MSP430:#define __LDBL_HAS_INFINITY__ 1
1261// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
1262// MSP430:#define __LDBL_MANT_DIG__ 53
1263// MSP430:#define __LDBL_MAX_10_EXP__ 308
1264// MSP430:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001265// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +00001266// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
1267// MSP430:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001268// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikov485810e2010-01-14 21:36:52 +00001269// MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
Chris Lattnere963d092009-10-29 04:55:36 +00001270// MSP430:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001271// MSP430-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00001272// MSP430:#define __MSP430__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00001273// MSP430:#define __POINTER_WIDTH__ 16
Ken Dyck9b25f782009-11-19 13:18:59 +00001274// MSP430:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00001275// MSP430:#define __PTRDIFF_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001276// MSP430:#define __SCHAR_MAX__ 127
1277// MSP430:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00001278// MSP430:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00001279// MSP430:#define __SIZEOF_DOUBLE__ 8
1280// MSP430:#define __SIZEOF_FLOAT__ 4
1281// MSP430:#define __SIZEOF_INT__ 2
1282// MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
1283// MSP430:#define __SIZEOF_LONG_LONG__ 8
1284// MSP430:#define __SIZEOF_LONG__ 4
1285// MSP430:#define __SIZEOF_POINTER__ 2
1286// MSP430:#define __SIZEOF_PTRDIFF_T__ 2
1287// MSP430:#define __SIZEOF_SHORT__ 2
1288// MSP430:#define __SIZEOF_SIZE_T__ 2
1289// MSP430:#define __SIZEOF_WCHAR_T__ 2
1290// MSP430:#define __SIZEOF_WINT_T__ 2
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001291// MSP430:#define __SIZE_MAX__ 65535U
Chris Lattnere963d092009-10-29 04:55:36 +00001292// MSP430:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00001293// MSP430:#define __SIZE_WIDTH__ 16
Ken Dyck9b25f782009-11-19 13:18:59 +00001294// MSP430:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001295// MSP430:#define __USER_LABEL_PREFIX__ _
Chris Lattner0fb5bbd2009-11-12 08:04:33 +00001296// MSP430:#define __WCHAR_MAX__ 32767
Chris Lattnere963d092009-10-29 04:55:36 +00001297// MSP430:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00001298// MSP430:#define __WCHAR_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001299// MSP430:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00001300// MSP430:#define __WINT_WIDTH__ 16
Chris Lattnere963d092009-10-29 04:55:36 +00001301// MSP430:#define __clang__ 1
1302//
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001303// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s
1304//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001305// NVPTX32-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001306// NVPTX32:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001307// NVPTX32:#define __CHAR16_TYPE__ unsigned short
1308// NVPTX32:#define __CHAR32_TYPE__ unsigned int
1309// NVPTX32:#define __CHAR_BIT__ 8
1310// NVPTX32:#define __CONSTANT_CFSTRINGS__ 1
1311// NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1312// NVPTX32:#define __DBL_DIG__ 15
1313// NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16
1314// NVPTX32:#define __DBL_HAS_DENORM__ 1
1315// NVPTX32:#define __DBL_HAS_INFINITY__ 1
1316// NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1
1317// NVPTX32:#define __DBL_MANT_DIG__ 53
1318// NVPTX32:#define __DBL_MAX_10_EXP__ 308
1319// NVPTX32:#define __DBL_MAX_EXP__ 1024
1320// NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308
1321// NVPTX32:#define __DBL_MIN_10_EXP__ (-307)
1322// NVPTX32:#define __DBL_MIN_EXP__ (-1021)
1323// NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308
1324// NVPTX32:#define __DECIMAL_DIG__ 17
1325// NVPTX32:#define __FINITE_MATH_ONLY__ 0
1326// NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1327// NVPTX32:#define __FLT_DIG__ 6
1328// NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F
1329// NVPTX32:#define __FLT_EVAL_METHOD__ 0
1330// NVPTX32:#define __FLT_HAS_DENORM__ 1
1331// NVPTX32:#define __FLT_HAS_INFINITY__ 1
1332// NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1
1333// NVPTX32:#define __FLT_MANT_DIG__ 24
1334// NVPTX32:#define __FLT_MAX_10_EXP__ 38
1335// NVPTX32:#define __FLT_MAX_EXP__ 128
1336// NVPTX32:#define __FLT_MAX__ 3.40282347e+38F
1337// NVPTX32:#define __FLT_MIN_10_EXP__ (-37)
1338// NVPTX32:#define __FLT_MIN_EXP__ (-125)
1339// NVPTX32:#define __FLT_MIN__ 1.17549435e-38F
1340// NVPTX32:#define __FLT_RADIX__ 2
1341// NVPTX32:#define __INT16_TYPE__ short
1342// NVPTX32:#define __INT32_TYPE__ int
1343// NVPTX32:#define __INT64_C_SUFFIX__ LL
1344// NVPTX32:#define __INT64_TYPE__ long long int
1345// NVPTX32:#define __INT8_TYPE__ char
1346// NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL
1347// NVPTX32:#define __INTMAX_TYPE__ long long int
1348// NVPTX32:#define __INTMAX_WIDTH__ 64
1349// NVPTX32:#define __INTPTR_TYPE__ unsigned int
1350// NVPTX32:#define __INTPTR_WIDTH__ 32
1351// NVPTX32:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001352// NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001353// NVPTX32:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001354// NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001355// NVPTX32:#define __LDBL_HAS_DENORM__ 1
1356// NVPTX32:#define __LDBL_HAS_INFINITY__ 1
1357// NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1
1358// NVPTX32:#define __LDBL_MANT_DIG__ 53
1359// NVPTX32:#define __LDBL_MAX_10_EXP__ 308
1360// NVPTX32:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001361// NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001362// NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
1363// NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001364// NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001365// NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL
1366// NVPTX32:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001367// NVPTX32-NOT:#define __LP64__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001368// NVPTX32:#define __NVPTX__ 1
1369// NVPTX32:#define __POINTER_WIDTH__ 32
1370// NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1
1371// NVPTX32:#define __PTRDIFF_TYPE__ unsigned int
1372// NVPTX32:#define __PTRDIFF_WIDTH__ 32
1373// NVPTX32:#define __PTX__ 1
1374// NVPTX32:#define __SCHAR_MAX__ 127
1375// NVPTX32:#define __SHRT_MAX__ 32767
1376// NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32
1377// NVPTX32:#define __SIZEOF_DOUBLE__ 8
1378// NVPTX32:#define __SIZEOF_FLOAT__ 4
1379// NVPTX32:#define __SIZEOF_INT__ 4
1380// NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8
1381// NVPTX32:#define __SIZEOF_LONG_LONG__ 8
1382// NVPTX32:#define __SIZEOF_LONG__ 8
1383// NVPTX32:#define __SIZEOF_POINTER__ 4
1384// NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4
1385// NVPTX32:#define __SIZEOF_SHORT__ 2
1386// NVPTX32:#define __SIZEOF_SIZE_T__ 4
1387// NVPTX32:#define __SIZEOF_WCHAR_T__ 4
1388// NVPTX32:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001389// NVPTX32:#define __SIZE_MAX__ 4294967295U
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001390// NVPTX32:#define __SIZE_TYPE__ unsigned int
1391// NVPTX32:#define __SIZE_WIDTH__ 32
1392// NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int
1393// NVPTX32:#define __USER_LABEL_PREFIX__ _
1394// NVPTX32:#define __WCHAR_MAX__ 2147483647
1395// NVPTX32:#define __WCHAR_TYPE__ int
1396// NVPTX32:#define __WCHAR_WIDTH__ 32
1397// NVPTX32:#define __WINT_TYPE__ int
1398// NVPTX32:#define __WINT_WIDTH__ 32
1399//
1400// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -check-prefix NVPTX64 %s
1401//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001402// NVPTX64:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001403// NVPTX64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001404// NVPTX64:#define __CHAR16_TYPE__ unsigned short
1405// NVPTX64:#define __CHAR32_TYPE__ unsigned int
1406// NVPTX64:#define __CHAR_BIT__ 8
1407// NVPTX64:#define __CONSTANT_CFSTRINGS__ 1
1408// NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1409// NVPTX64:#define __DBL_DIG__ 15
1410// NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1411// NVPTX64:#define __DBL_HAS_DENORM__ 1
1412// NVPTX64:#define __DBL_HAS_INFINITY__ 1
1413// NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1
1414// NVPTX64:#define __DBL_MANT_DIG__ 53
1415// NVPTX64:#define __DBL_MAX_10_EXP__ 308
1416// NVPTX64:#define __DBL_MAX_EXP__ 1024
1417// NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308
1418// NVPTX64:#define __DBL_MIN_10_EXP__ (-307)
1419// NVPTX64:#define __DBL_MIN_EXP__ (-1021)
1420// NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308
1421// NVPTX64:#define __DECIMAL_DIG__ 17
1422// NVPTX64:#define __FINITE_MATH_ONLY__ 0
1423// NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1424// NVPTX64:#define __FLT_DIG__ 6
1425// NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F
1426// NVPTX64:#define __FLT_EVAL_METHOD__ 0
1427// NVPTX64:#define __FLT_HAS_DENORM__ 1
1428// NVPTX64:#define __FLT_HAS_INFINITY__ 1
1429// NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1
1430// NVPTX64:#define __FLT_MANT_DIG__ 24
1431// NVPTX64:#define __FLT_MAX_10_EXP__ 38
1432// NVPTX64:#define __FLT_MAX_EXP__ 128
1433// NVPTX64:#define __FLT_MAX__ 3.40282347e+38F
1434// NVPTX64:#define __FLT_MIN_10_EXP__ (-37)
1435// NVPTX64:#define __FLT_MIN_EXP__ (-125)
1436// NVPTX64:#define __FLT_MIN__ 1.17549435e-38F
1437// NVPTX64:#define __FLT_RADIX__ 2
1438// NVPTX64:#define __INT16_TYPE__ short
1439// NVPTX64:#define __INT32_TYPE__ int
1440// NVPTX64:#define __INT64_C_SUFFIX__ LL
1441// NVPTX64:#define __INT64_TYPE__ long long int
1442// NVPTX64:#define __INT8_TYPE__ char
1443// NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL
1444// NVPTX64:#define __INTMAX_TYPE__ long long int
1445// NVPTX64:#define __INTMAX_WIDTH__ 64
1446// NVPTX64:#define __INTPTR_TYPE__ long long unsigned int
1447// NVPTX64:#define __INTPTR_WIDTH__ 64
1448// NVPTX64:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001449// NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001450// NVPTX64:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001451// NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001452// NVPTX64:#define __LDBL_HAS_DENORM__ 1
1453// NVPTX64:#define __LDBL_HAS_INFINITY__ 1
1454// NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1
1455// NVPTX64:#define __LDBL_MANT_DIG__ 53
1456// NVPTX64:#define __LDBL_MAX_10_EXP__ 308
1457// NVPTX64:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001458// NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001459// NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
1460// NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00001461// NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001462// NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1463// NVPTX64:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001464// NVPTX64:#define __LP64__ 1
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001465// NVPTX64:#define __NVPTX__ 1
1466// NVPTX64:#define __POINTER_WIDTH__ 64
1467// NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1
1468// NVPTX64:#define __PTRDIFF_TYPE__ long long unsigned int
1469// NVPTX64:#define __PTRDIFF_WIDTH__ 64
1470// NVPTX64:#define __PTX__ 1
1471// NVPTX64:#define __SCHAR_MAX__ 127
1472// NVPTX64:#define __SHRT_MAX__ 32767
1473// NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32
1474// NVPTX64:#define __SIZEOF_DOUBLE__ 8
1475// NVPTX64:#define __SIZEOF_FLOAT__ 4
1476// NVPTX64:#define __SIZEOF_INT__ 4
1477// NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8
1478// NVPTX64:#define __SIZEOF_LONG_LONG__ 8
1479// NVPTX64:#define __SIZEOF_LONG__ 8
1480// NVPTX64:#define __SIZEOF_POINTER__ 8
1481// NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8
1482// NVPTX64:#define __SIZEOF_SHORT__ 2
1483// NVPTX64:#define __SIZEOF_SIZE_T__ 8
1484// NVPTX64:#define __SIZEOF_WCHAR_T__ 4
1485// NVPTX64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001486// NVPTX64:#define __SIZE_MAX__ 18446744073709551615UL
Dylan Noblesmitheaea2a82012-07-27 16:37:53 +00001487// NVPTX64:#define __SIZE_TYPE__ long long unsigned int
1488// NVPTX64:#define __SIZE_WIDTH__ 64
1489// NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int
1490// NVPTX64:#define __USER_LABEL_PREFIX__ _
1491// NVPTX64:#define __WCHAR_MAX__ 2147483647
1492// NVPTX64:#define __WCHAR_TYPE__ int
1493// NVPTX64:#define __WCHAR_WIDTH__ 32
1494// NVPTX64:#define __WINT_TYPE__ int
1495// NVPTX64:#define __WINT_WIDTH__ 32
1496//
Hal Finkel6b984f02012-07-03 16:51:04 +00001497// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -check-prefix PPC603E %s
1498//
1499// PPC603E:#define _ARCH_603 1
1500// PPC603E:#define _ARCH_603E 1
1501// PPC603E:#define _ARCH_PPC 1
1502// PPC603E:#define _ARCH_PPCGR 1
1503// PPC603E:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001504// PPC603E-NOT:#define _LP64
Hal Finkel6b984f02012-07-03 16:51:04 +00001505// PPC603E:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001506// PPC603E:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Hal Finkel6b984f02012-07-03 16:51:04 +00001507// PPC603E:#define __CHAR16_TYPE__ unsigned short
1508// PPC603E:#define __CHAR32_TYPE__ unsigned int
1509// PPC603E:#define __CHAR_BIT__ 8
1510// PPC603E:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1511// PPC603E:#define __DBL_DIG__ 15
1512// PPC603E:#define __DBL_EPSILON__ 2.2204460492503131e-16
1513// PPC603E:#define __DBL_HAS_DENORM__ 1
1514// PPC603E:#define __DBL_HAS_INFINITY__ 1
1515// PPC603E:#define __DBL_HAS_QUIET_NAN__ 1
1516// PPC603E:#define __DBL_MANT_DIG__ 53
1517// PPC603E:#define __DBL_MAX_10_EXP__ 308
1518// PPC603E:#define __DBL_MAX_EXP__ 1024
1519// PPC603E:#define __DBL_MAX__ 1.7976931348623157e+308
1520// PPC603E:#define __DBL_MIN_10_EXP__ (-307)
1521// PPC603E:#define __DBL_MIN_EXP__ (-1021)
1522// PPC603E:#define __DBL_MIN__ 2.2250738585072014e-308
1523// PPC603E:#define __DECIMAL_DIG__ 33
1524// PPC603E:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1525// PPC603E:#define __FLT_DIG__ 6
1526// PPC603E:#define __FLT_EPSILON__ 1.19209290e-7F
1527// PPC603E:#define __FLT_EVAL_METHOD__ 0
1528// PPC603E:#define __FLT_HAS_DENORM__ 1
1529// PPC603E:#define __FLT_HAS_INFINITY__ 1
1530// PPC603E:#define __FLT_HAS_QUIET_NAN__ 1
1531// PPC603E:#define __FLT_MANT_DIG__ 24
1532// PPC603E:#define __FLT_MAX_10_EXP__ 38
1533// PPC603E:#define __FLT_MAX_EXP__ 128
1534// PPC603E:#define __FLT_MAX__ 3.40282347e+38F
1535// PPC603E:#define __FLT_MIN_10_EXP__ (-37)
1536// PPC603E:#define __FLT_MIN_EXP__ (-125)
1537// PPC603E:#define __FLT_MIN__ 1.17549435e-38F
1538// PPC603E:#define __FLT_RADIX__ 2
1539// PPC603E:#define __INT16_TYPE__ short
1540// PPC603E:#define __INT32_TYPE__ int
1541// PPC603E:#define __INT64_C_SUFFIX__ LL
1542// PPC603E:#define __INT64_TYPE__ long long int
1543// PPC603E:#define __INT8_TYPE__ char
1544// PPC603E:#define __INTMAX_MAX__ 9223372036854775807LL
1545// PPC603E:#define __INTMAX_TYPE__ long long int
1546// PPC603E:#define __INTMAX_WIDTH__ 64
1547// PPC603E:#define __INTPTR_TYPE__ long int
1548// PPC603E:#define __INTPTR_WIDTH__ 32
1549// PPC603E:#define __INT_MAX__ 2147483647
1550// PPC603E:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1551// PPC603E:#define __LDBL_DIG__ 31
1552// PPC603E:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1553// PPC603E:#define __LDBL_HAS_DENORM__ 1
1554// PPC603E:#define __LDBL_HAS_INFINITY__ 1
1555// PPC603E:#define __LDBL_HAS_QUIET_NAN__ 1
1556// PPC603E:#define __LDBL_MANT_DIG__ 106
1557// PPC603E:#define __LDBL_MAX_10_EXP__ 308
1558// PPC603E:#define __LDBL_MAX_EXP__ 1024
1559// PPC603E:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1560// PPC603E:#define __LDBL_MIN_10_EXP__ (-291)
1561// PPC603E:#define __LDBL_MIN_EXP__ (-968)
1562// PPC603E:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1563// PPC603E:#define __LONG_DOUBLE_128__ 1
1564// PPC603E:#define __LONG_LONG_MAX__ 9223372036854775807LL
1565// PPC603E:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001566// PPC603E-NOT:#define __LP64__
Hal Finkel6b984f02012-07-03 16:51:04 +00001567// PPC603E:#define __NATURAL_ALIGNMENT__ 1
Hal Finkel6b984f02012-07-03 16:51:04 +00001568// PPC603E:#define __POINTER_WIDTH__ 32
1569// PPC603E:#define __POWERPC__ 1
1570// PPC603E:#define __PTRDIFF_TYPE__ long int
1571// PPC603E:#define __PTRDIFF_WIDTH__ 32
1572// PPC603E:#define __REGISTER_PREFIX__
1573// PPC603E:#define __SCHAR_MAX__ 127
1574// PPC603E:#define __SHRT_MAX__ 32767
1575// PPC603E:#define __SIG_ATOMIC_WIDTH__ 32
1576// PPC603E:#define __SIZEOF_DOUBLE__ 8
1577// PPC603E:#define __SIZEOF_FLOAT__ 4
1578// PPC603E:#define __SIZEOF_INT__ 4
1579// PPC603E:#define __SIZEOF_LONG_DOUBLE__ 16
1580// PPC603E:#define __SIZEOF_LONG_LONG__ 8
1581// PPC603E:#define __SIZEOF_LONG__ 4
1582// PPC603E:#define __SIZEOF_POINTER__ 4
1583// PPC603E:#define __SIZEOF_PTRDIFF_T__ 4
1584// PPC603E:#define __SIZEOF_SHORT__ 2
1585// PPC603E:#define __SIZEOF_SIZE_T__ 4
1586// PPC603E:#define __SIZEOF_WCHAR_T__ 4
1587// PPC603E:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001588// PPC603E:#define __SIZE_MAX__ 4294967295U
Hal Finkel6b984f02012-07-03 16:51:04 +00001589// PPC603E:#define __SIZE_TYPE__ long unsigned int
1590// PPC603E:#define __SIZE_WIDTH__ 32
1591// PPC603E:#define __UINTMAX_TYPE__ long long unsigned int
1592// PPC603E:#define __USER_LABEL_PREFIX__ _
1593// PPC603E:#define __WCHAR_MAX__ 2147483647
1594// PPC603E:#define __WCHAR_TYPE__ int
1595// PPC603E:#define __WCHAR_WIDTH__ 32
1596// PPC603E:#define __WINT_TYPE__ int
1597// PPC603E:#define __WINT_WIDTH__ 32
1598// PPC603E:#define __powerpc__ 1
1599// PPC603E:#define __ppc__ 1
1600//
Hal Finkel8eb59282012-06-11 22:35:19 +00001601// 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 +00001602//
1603// PPC64:#define _ARCH_PPC 1
1604// PPC64:#define _ARCH_PPC64 1
Hal Finkel6b984f02012-07-03 16:51:04 +00001605// PPC64:#define _ARCH_PPCGR 1
1606// PPC64:#define _ARCH_PPCSQ 1
1607// PPC64:#define _ARCH_PWR4 1
1608// PPC64:#define _ARCH_PWR5 1
1609// PPC64:#define _ARCH_PWR6 1
Hal Finkel8eb59282012-06-11 22:35:19 +00001610// PPC64:#define _ARCH_PWR7 1
Chris Lattnere963d092009-10-29 04:55:36 +00001611// PPC64:#define _BIG_ENDIAN 1
1612// PPC64:#define _LP64 1
1613// PPC64:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001614// PPC64:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00001615// PPC64:#define __CHAR16_TYPE__ unsigned short
1616// PPC64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001617// PPC64:#define __CHAR_BIT__ 8
1618// PPC64:#define __CHAR_UNSIGNED__ 1
1619// PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1620// PPC64:#define __DBL_DIG__ 15
1621// PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1622// PPC64:#define __DBL_HAS_DENORM__ 1
1623// PPC64:#define __DBL_HAS_INFINITY__ 1
1624// PPC64:#define __DBL_HAS_QUIET_NAN__ 1
1625// PPC64:#define __DBL_MANT_DIG__ 53
1626// PPC64:#define __DBL_MAX_10_EXP__ 308
1627// PPC64:#define __DBL_MAX_EXP__ 1024
1628// PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
1629// PPC64:#define __DBL_MIN_10_EXP__ (-307)
1630// PPC64:#define __DBL_MIN_EXP__ (-1021)
1631// PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber3435ede2012-01-31 02:07:33 +00001632// PPC64:#define __DECIMAL_DIG__ 33
Chris Lattnere963d092009-10-29 04:55:36 +00001633// PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1634// PPC64:#define __FLT_DIG__ 6
1635// PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
1636// PPC64:#define __FLT_EVAL_METHOD__ 0
1637// PPC64:#define __FLT_HAS_DENORM__ 1
1638// PPC64:#define __FLT_HAS_INFINITY__ 1
1639// PPC64:#define __FLT_HAS_QUIET_NAN__ 1
1640// PPC64:#define __FLT_MANT_DIG__ 24
1641// PPC64:#define __FLT_MAX_10_EXP__ 38
1642// PPC64:#define __FLT_MAX_EXP__ 128
1643// PPC64:#define __FLT_MAX__ 3.40282347e+38F
1644// PPC64:#define __FLT_MIN_10_EXP__ (-37)
1645// PPC64:#define __FLT_MIN_EXP__ (-125)
1646// PPC64:#define __FLT_MIN__ 1.17549435e-38F
1647// PPC64:#define __FLT_RADIX__ 2
1648// PPC64:#define __INT16_TYPE__ short
1649// PPC64:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00001650// PPC64:#define __INT64_C_SUFFIX__ L
Chris Lattnere963d092009-10-29 04:55:36 +00001651// PPC64:#define __INT64_TYPE__ long int
1652// PPC64:#define __INT8_TYPE__ char
1653// PPC64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck9b25f782009-11-19 13:18:59 +00001654// PPC64:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00001655// PPC64:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00001656// PPC64:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00001657// PPC64:#define __INTPTR_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00001658// PPC64:#define __INT_MAX__ 2147483647
Nico Weber3435ede2012-01-31 02:07:33 +00001659// PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1660// PPC64:#define __LDBL_DIG__ 31
1661// PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00001662// PPC64:#define __LDBL_HAS_DENORM__ 1
1663// PPC64:#define __LDBL_HAS_INFINITY__ 1
1664// PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00001665// PPC64:#define __LDBL_MANT_DIG__ 106
Chris Lattnere963d092009-10-29 04:55:36 +00001666// PPC64:#define __LDBL_MAX_10_EXP__ 308
1667// PPC64:#define __LDBL_MAX_EXP__ 1024
Nico Weber3435ede2012-01-31 02:07:33 +00001668// PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1669// PPC64:#define __LDBL_MIN_10_EXP__ (-291)
1670// PPC64:#define __LDBL_MIN_EXP__ (-968)
1671// PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnere963d092009-10-29 04:55:36 +00001672// PPC64:#define __LONG_DOUBLE_128__ 1
1673// PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1674// PPC64:#define __LONG_MAX__ 9223372036854775807L
1675// PPC64:#define __LP64__ 1
1676// PPC64:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00001677// PPC64:#define __POINTER_WIDTH__ 64
1678// PPC64:#define __POWERPC__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00001679// PPC64:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00001680// PPC64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00001681// PPC64:#define __REGISTER_PREFIX__
1682// PPC64:#define __SCHAR_MAX__ 127
1683// PPC64:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00001684// PPC64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00001685// PPC64:#define __SIZEOF_DOUBLE__ 8
1686// PPC64:#define __SIZEOF_FLOAT__ 4
1687// PPC64:#define __SIZEOF_INT__ 4
Nico Weber3435ede2012-01-31 02:07:33 +00001688// PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohman04f87202010-05-28 00:27:15 +00001689// PPC64:#define __SIZEOF_LONG_LONG__ 8
1690// PPC64:#define __SIZEOF_LONG__ 8
1691// PPC64:#define __SIZEOF_POINTER__ 8
1692// PPC64:#define __SIZEOF_PTRDIFF_T__ 8
1693// PPC64:#define __SIZEOF_SHORT__ 2
1694// PPC64:#define __SIZEOF_SIZE_T__ 8
1695// PPC64:#define __SIZEOF_WCHAR_T__ 4
1696// PPC64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001697// PPC64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnere963d092009-10-29 04:55:36 +00001698// PPC64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00001699// PPC64:#define __SIZE_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00001700// PPC64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001701// PPC64:#define __USER_LABEL_PREFIX__ _
1702// PPC64:#define __WCHAR_MAX__ 2147483647
1703// PPC64:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00001704// PPC64:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00001705// PPC64:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00001706// PPC64:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00001707// PPC64:#define __ppc64__ 1
1708// PPC64:#define __ppc__ 1
1709//
Hal Finkeldf1e4bf2013-02-01 05:53:33 +00001710// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu a2q -fno-signed-char < /dev/null | FileCheck -check-prefix PPCA2Q %s
1711//
1712// PPCA2Q:#define _ARCH_A2 1
1713// PPCA2Q:#define _ARCH_A2Q 1
1714// PPCA2Q:#define _ARCH_PPC 1
1715// PPCA2Q:#define _ARCH_PPC64 1
1716// PPCA2Q:#define _ARCH_QP 1
1717//
1718// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-bgq-linux -fno-signed-char < /dev/null | FileCheck -check-prefix PPCBGQ %s
1719//
1720// PPCBGQ:#define __THW_BLUEGENE__ 1
1721// PPCBGQ:#define __TOS_BGQ__ 1
1722// PPCBGQ:#define __bg__ 1
1723// PPCBGQ:#define __bgq__ 1
1724//
Bill Schmidt38378a02013-02-01 20:23:10 +00001725// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu 630 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC630 %s
1726//
1727// PPC630:#define _ARCH_630 1
1728// PPC630:#define _ARCH_PPC 1
1729// PPC630:#define _ARCH_PPC64 1
1730// PPC630:#define _ARCH_PPCGR 1
1731//
1732// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR3 %s
1733//
1734// PPCPWR3:#define _ARCH_PPC 1
1735// PPCPWR3:#define _ARCH_PPC64 1
1736// PPCPWR3:#define _ARCH_PPCGR 1
1737//
1738// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER3 %s
1739//
1740// PPCPOWER3:#define _ARCH_PPC 1
1741// PPCPOWER3:#define _ARCH_PPC64 1
1742// PPCPOWER3:#define _ARCH_PPCGR 1
1743//
1744// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR4 %s
1745//
1746// PPCPWR4:#define _ARCH_PPC 1
1747// PPCPWR4:#define _ARCH_PPC64 1
1748// PPCPWR4:#define _ARCH_PPCGR 1
1749// PPCPWR4:#define _ARCH_PPCSQ 1
1750// PPCPWR4:#define _ARCH_PWR4 1
1751//
1752// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER4 %s
1753//
1754// PPCPOWER4:#define _ARCH_PPC 1
1755// PPCPOWER4:#define _ARCH_PPC64 1
1756// PPCPOWER4:#define _ARCH_PPCGR 1
1757// PPCPOWER4:#define _ARCH_PPCSQ 1
1758// PPCPOWER4:#define _ARCH_PWR4 1
1759//
1760// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5 %s
1761//
1762// PPCPWR5:#define _ARCH_PPC 1
1763// PPCPWR5:#define _ARCH_PPC64 1
1764// PPCPWR5:#define _ARCH_PPCGR 1
1765// PPCPWR5:#define _ARCH_PPCSQ 1
1766// PPCPWR5:#define _ARCH_PWR4 1
1767// PPCPWR5:#define _ARCH_PWR5 1
1768//
1769// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5 %s
1770//
1771// PPCPOWER5:#define _ARCH_PPC 1
1772// PPCPOWER5:#define _ARCH_PPC64 1
1773// PPCPOWER5:#define _ARCH_PPCGR 1
1774// PPCPOWER5:#define _ARCH_PPCSQ 1
1775// PPCPOWER5:#define _ARCH_PWR4 1
1776// PPCPOWER5:#define _ARCH_PWR5 1
1777//
1778// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5X %s
1779//
1780// PPCPWR5X:#define _ARCH_PPC 1
1781// PPCPWR5X:#define _ARCH_PPC64 1
1782// PPCPWR5X:#define _ARCH_PPCGR 1
1783// PPCPWR5X:#define _ARCH_PPCSQ 1
1784// PPCPWR5X:#define _ARCH_PWR4 1
1785// PPCPWR5X:#define _ARCH_PWR5 1
1786// PPCPWR5X:#define _ARCH_PWR5X 1
1787//
1788// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5X %s
1789//
1790// PPCPOWER5X:#define _ARCH_PPC 1
1791// PPCPOWER5X:#define _ARCH_PPC64 1
1792// PPCPOWER5X:#define _ARCH_PPCGR 1
1793// PPCPOWER5X:#define _ARCH_PPCSQ 1
1794// PPCPOWER5X:#define _ARCH_PWR4 1
1795// PPCPOWER5X:#define _ARCH_PWR5 1
1796// PPCPOWER5X:#define _ARCH_PWR5X 1
1797//
1798// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6 %s
1799//
1800// PPCPWR6:#define _ARCH_PPC 1
1801// PPCPWR6:#define _ARCH_PPC64 1
1802// PPCPWR6:#define _ARCH_PPCGR 1
1803// PPCPWR6:#define _ARCH_PPCSQ 1
1804// PPCPWR6:#define _ARCH_PWR4 1
1805// PPCPWR6:#define _ARCH_PWR5 1
1806// PPCPWR6:#define _ARCH_PWR5X 1
1807// PPCPWR6:#define _ARCH_PWR6 1
1808//
1809// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6 %s
1810//
1811// PPCPOWER6:#define _ARCH_PPC 1
1812// PPCPOWER6:#define _ARCH_PPC64 1
1813// PPCPOWER6:#define _ARCH_PPCGR 1
1814// PPCPOWER6:#define _ARCH_PPCSQ 1
1815// PPCPOWER6:#define _ARCH_PWR4 1
1816// PPCPOWER6:#define _ARCH_PWR5 1
1817// PPCPOWER6:#define _ARCH_PWR5X 1
1818// PPCPOWER6:#define _ARCH_PWR6 1
1819//
1820// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6X %s
1821//
1822// PPCPWR6X:#define _ARCH_PPC 1
1823// PPCPWR6X:#define _ARCH_PPC64 1
1824// PPCPWR6X:#define _ARCH_PPCGR 1
1825// PPCPWR6X:#define _ARCH_PPCSQ 1
1826// PPCPWR6X:#define _ARCH_PWR4 1
1827// PPCPWR6X:#define _ARCH_PWR5 1
1828// PPCPWR6X:#define _ARCH_PWR5X 1
1829// PPCPWR6X:#define _ARCH_PWR6 1
1830// PPCPWR6X:#define _ARCH_PWR6X 1
1831//
1832// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6X %s
1833//
1834// PPCPOWER6X:#define _ARCH_PPC 1
1835// PPCPOWER6X:#define _ARCH_PPC64 1
1836// PPCPOWER6X:#define _ARCH_PPCGR 1
1837// PPCPOWER6X:#define _ARCH_PPCSQ 1
1838// PPCPOWER6X:#define _ARCH_PWR4 1
1839// PPCPOWER6X:#define _ARCH_PWR5 1
1840// PPCPOWER6X:#define _ARCH_PWR5X 1
1841// PPCPOWER6X:#define _ARCH_PWR6 1
1842// PPCPOWER6X:#define _ARCH_PWR6X 1
1843//
1844// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR7 %s
1845//
1846// PPCPWR7:#define _ARCH_PPC 1
1847// PPCPWR7:#define _ARCH_PPC64 1
1848// PPCPWR7:#define _ARCH_PPCGR 1
1849// PPCPWR7:#define _ARCH_PPCSQ 1
1850// PPCPWR7:#define _ARCH_PWR4 1
1851// PPCPWR7:#define _ARCH_PWR5 1
1852// PPCPWR7:#define _ARCH_PWR5X 1
1853// PPCPWR7:#define _ARCH_PWR6 1
1854// PPCPWR7:#define _ARCH_PWR6X 1
1855// PPCPWR7:#define _ARCH_PWR7 1
1856//
1857// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER7 %s
1858//
1859// PPCPOWER7:#define _ARCH_PPC 1
1860// PPCPOWER7:#define _ARCH_PPC64 1
1861// PPCPOWER7:#define _ARCH_PPCGR 1
1862// PPCPOWER7:#define _ARCH_PPCSQ 1
1863// PPCPOWER7:#define _ARCH_PWR4 1
1864// PPCPOWER7:#define _ARCH_PWR5 1
1865// PPCPOWER7:#define _ARCH_PWR5X 1
1866// PPCPOWER7:#define _ARCH_PWR6 1
1867// PPCPOWER7:#define _ARCH_PWR6X 1
1868// PPCPOWER7:#define _ARCH_PWR7 1
1869//
Nico Weber3435ede2012-01-31 02:07:33 +00001870// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
1871//
1872// PPC64-LINUX:#define _ARCH_PPC 1
1873// PPC64-LINUX:#define _ARCH_PPC64 1
1874// PPC64-LINUX:#define _BIG_ENDIAN 1
1875// PPC64-LINUX:#define _LP64 1
1876// PPC64-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001877// PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber3435ede2012-01-31 02:07:33 +00001878// PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
1879// PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
1880// PPC64-LINUX:#define __CHAR_BIT__ 8
1881// PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
1882// PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1883// PPC64-LINUX:#define __DBL_DIG__ 15
1884// PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
1885// PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
1886// PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
1887// PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
1888// PPC64-LINUX:#define __DBL_MANT_DIG__ 53
1889// PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
1890// PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
1891// PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
1892// PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
1893// PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
1894// PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
1895// PPC64-LINUX:#define __DECIMAL_DIG__ 33
1896// PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1897// PPC64-LINUX:#define __FLT_DIG__ 6
1898// PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
1899// PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
1900// PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
1901// PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
1902// PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
1903// PPC64-LINUX:#define __FLT_MANT_DIG__ 24
1904// PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
1905// PPC64-LINUX:#define __FLT_MAX_EXP__ 128
1906// PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
1907// PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
1908// PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
1909// PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
1910// PPC64-LINUX:#define __FLT_RADIX__ 2
1911// PPC64-LINUX:#define __INT16_TYPE__ short
1912// PPC64-LINUX:#define __INT32_TYPE__ int
1913// PPC64-LINUX:#define __INT64_C_SUFFIX__ L
1914// PPC64-LINUX:#define __INT64_TYPE__ long int
1915// PPC64-LINUX:#define __INT8_TYPE__ char
1916// PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
1917// PPC64-LINUX:#define __INTMAX_TYPE__ long int
1918// PPC64-LINUX:#define __INTMAX_WIDTH__ 64
1919// PPC64-LINUX:#define __INTPTR_TYPE__ long int
1920// PPC64-LINUX:#define __INTPTR_WIDTH__ 64
1921// PPC64-LINUX:#define __INT_MAX__ 2147483647
1922// PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1923// PPC64-LINUX:#define __LDBL_DIG__ 31
1924// PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1925// PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
1926// PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
1927// PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
1928// PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
1929// PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
1930// PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
1931// PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1932// PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
1933// PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
1934// PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1935// PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
1936// PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
1937// PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
1938// PPC64-LINUX:#define __LP64__ 1
1939// PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00001940// PPC64-LINUX:#define __POINTER_WIDTH__ 64
1941// PPC64-LINUX:#define __POWERPC__ 1
1942// PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
1943// PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
1944// PPC64-LINUX:#define __REGISTER_PREFIX__
1945// PPC64-LINUX:#define __SCHAR_MAX__ 127
1946// PPC64-LINUX:#define __SHRT_MAX__ 32767
1947// PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
1948// PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
1949// PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
1950// PPC64-LINUX:#define __SIZEOF_INT__ 4
1951// PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
1952// PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
1953// PPC64-LINUX:#define __SIZEOF_LONG__ 8
1954// PPC64-LINUX:#define __SIZEOF_POINTER__ 8
1955// PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
1956// PPC64-LINUX:#define __SIZEOF_SHORT__ 2
1957// PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
1958// PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
1959// PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00001960// PPC64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Nico Weber3435ede2012-01-31 02:07:33 +00001961// PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
1962// PPC64-LINUX:#define __SIZE_WIDTH__ 64
1963// PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
1964// PPC64-LINUX:#define __USER_LABEL_PREFIX__
1965// PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
1966// PPC64-LINUX:#define __WCHAR_TYPE__ int
1967// PPC64-LINUX:#define __WCHAR_WIDTH__ 32
1968// PPC64-LINUX:#define __WINT_TYPE__ unsigned int
1969// PPC64-LINUX:#define __WINT_UNSIGNED__ 1
1970// PPC64-LINUX:#define __WINT_WIDTH__ 32
1971// PPC64-LINUX:#define __powerpc64__ 1
1972// PPC64-LINUX:#define __powerpc__ 1
1973// PPC64-LINUX:#define __ppc64__ 1
1974// PPC64-LINUX:#define __ppc__ 1
1975//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00001976// 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 +00001977//
1978// PPC:#define _ARCH_PPC 1
1979// PPC:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00001980// PPC-NOT:#define _LP64
Chris Lattnere963d092009-10-29 04:55:36 +00001981// PPC:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00001982// PPC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00001983// PPC:#define __CHAR16_TYPE__ unsigned short
1984// PPC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00001985// PPC:#define __CHAR_BIT__ 8
1986// PPC:#define __CHAR_UNSIGNED__ 1
1987// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1988// PPC:#define __DBL_DIG__ 15
1989// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
1990// PPC:#define __DBL_HAS_DENORM__ 1
1991// PPC:#define __DBL_HAS_INFINITY__ 1
1992// PPC:#define __DBL_HAS_QUIET_NAN__ 1
1993// PPC:#define __DBL_MANT_DIG__ 53
1994// PPC:#define __DBL_MAX_10_EXP__ 308
1995// PPC:#define __DBL_MAX_EXP__ 1024
1996// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
1997// PPC:#define __DBL_MIN_10_EXP__ (-307)
1998// PPC:#define __DBL_MIN_EXP__ (-1021)
1999// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber3435ede2012-01-31 02:07:33 +00002000// PPC:#define __DECIMAL_DIG__ 33
Chris Lattnere963d092009-10-29 04:55:36 +00002001// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2002// PPC:#define __FLT_DIG__ 6
2003// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
2004// PPC:#define __FLT_EVAL_METHOD__ 0
2005// PPC:#define __FLT_HAS_DENORM__ 1
2006// PPC:#define __FLT_HAS_INFINITY__ 1
2007// PPC:#define __FLT_HAS_QUIET_NAN__ 1
2008// PPC:#define __FLT_MANT_DIG__ 24
2009// PPC:#define __FLT_MAX_10_EXP__ 38
2010// PPC:#define __FLT_MAX_EXP__ 128
2011// PPC:#define __FLT_MAX__ 3.40282347e+38F
2012// PPC:#define __FLT_MIN_10_EXP__ (-37)
2013// PPC:#define __FLT_MIN_EXP__ (-125)
2014// PPC:#define __FLT_MIN__ 1.17549435e-38F
2015// PPC:#define __FLT_RADIX__ 2
2016// PPC:#define __INT16_TYPE__ short
2017// PPC:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002018// PPC:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00002019// PPC:#define __INT64_TYPE__ long long int
2020// PPC:#define __INT8_TYPE__ char
2021// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00002022// PPC:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002023// PPC:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002024// PPC:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002025// PPC:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002026// PPC:#define __INT_MAX__ 2147483647
Nico Weber3435ede2012-01-31 02:07:33 +00002027// PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2028// PPC:#define __LDBL_DIG__ 31
2029// PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002030// PPC:#define __LDBL_HAS_DENORM__ 1
2031// PPC:#define __LDBL_HAS_INFINITY__ 1
2032// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002033// PPC:#define __LDBL_MANT_DIG__ 106
Chris Lattnere963d092009-10-29 04:55:36 +00002034// PPC:#define __LDBL_MAX_10_EXP__ 308
2035// PPC:#define __LDBL_MAX_EXP__ 1024
Nico Weber3435ede2012-01-31 02:07:33 +00002036// PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2037// PPC:#define __LDBL_MIN_10_EXP__ (-291)
2038// PPC:#define __LDBL_MIN_EXP__ (-968)
2039// PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnere963d092009-10-29 04:55:36 +00002040// PPC:#define __LONG_DOUBLE_128__ 1
2041// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2042// PPC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002043// PPC-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00002044// PPC:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002045// PPC:#define __POINTER_WIDTH__ 32
2046// PPC:#define __POWERPC__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002047// PPC:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002048// PPC:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002049// PPC:#define __REGISTER_PREFIX__
2050// PPC:#define __SCHAR_MAX__ 127
2051// PPC:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002052// PPC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002053// PPC:#define __SIZEOF_DOUBLE__ 8
2054// PPC:#define __SIZEOF_FLOAT__ 4
2055// PPC:#define __SIZEOF_INT__ 4
Nico Weber3435ede2012-01-31 02:07:33 +00002056// PPC:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohman04f87202010-05-28 00:27:15 +00002057// PPC:#define __SIZEOF_LONG_LONG__ 8
2058// PPC:#define __SIZEOF_LONG__ 4
2059// PPC:#define __SIZEOF_POINTER__ 4
2060// PPC:#define __SIZEOF_PTRDIFF_T__ 4
2061// PPC:#define __SIZEOF_SHORT__ 2
2062// PPC:#define __SIZEOF_SIZE_T__ 4
2063// PPC:#define __SIZEOF_WCHAR_T__ 4
2064// PPC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002065// PPC:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00002066// PPC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002067// PPC:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002068// PPC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002069// PPC:#define __USER_LABEL_PREFIX__ _
2070// PPC:#define __WCHAR_MAX__ 2147483647
2071// PPC:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002072// PPC:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002073// PPC:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002074// PPC:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002075// PPC:#define __ppc__ 1
2076//
Nico Weber3435ede2012-01-31 02:07:33 +00002077// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
2078//
2079// PPC-LINUX:#define _ARCH_PPC 1
2080// PPC-LINUX:#define _BIG_ENDIAN 1
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002081// PPC-LINUX-NOT:#define _LP64
Nico Weber3435ede2012-01-31 02:07:33 +00002082// PPC-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002083// PPC-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber3435ede2012-01-31 02:07:33 +00002084// PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
2085// PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
2086// PPC-LINUX:#define __CHAR_BIT__ 8
2087// PPC-LINUX:#define __CHAR_UNSIGNED__ 1
2088// PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2089// PPC-LINUX:#define __DBL_DIG__ 15
2090// PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2091// PPC-LINUX:#define __DBL_HAS_DENORM__ 1
2092// PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
2093// PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2094// PPC-LINUX:#define __DBL_MANT_DIG__ 53
2095// PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
2096// PPC-LINUX:#define __DBL_MAX_EXP__ 1024
2097// PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2098// PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2099// PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
2100// PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2101// PPC-LINUX:#define __DECIMAL_DIG__ 33
2102// PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2103// PPC-LINUX:#define __FLT_DIG__ 6
2104// PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2105// PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
2106// PPC-LINUX:#define __FLT_HAS_DENORM__ 1
2107// PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
2108// PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2109// PPC-LINUX:#define __FLT_MANT_DIG__ 24
2110// PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
2111// PPC-LINUX:#define __FLT_MAX_EXP__ 128
2112// PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2113// PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2114// PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
2115// PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2116// PPC-LINUX:#define __FLT_RADIX__ 2
2117// PPC-LINUX:#define __INT16_TYPE__ short
2118// PPC-LINUX:#define __INT32_TYPE__ int
2119// PPC-LINUX:#define __INT64_C_SUFFIX__ LL
2120// PPC-LINUX:#define __INT64_TYPE__ long long int
2121// PPC-LINUX:#define __INT8_TYPE__ char
2122// PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
2123// PPC-LINUX:#define __INTMAX_TYPE__ long long int
2124// PPC-LINUX:#define __INTMAX_WIDTH__ 64
Hal Finkel26908382012-03-02 20:54:36 +00002125// PPC-LINUX:#define __INTPTR_TYPE__ int
Nico Weber3435ede2012-01-31 02:07:33 +00002126// PPC-LINUX:#define __INTPTR_WIDTH__ 32
2127// PPC-LINUX:#define __INT_MAX__ 2147483647
2128// PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2129// PPC-LINUX:#define __LDBL_DIG__ 31
2130// PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2131// PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
2132// PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
2133// PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2134// PPC-LINUX:#define __LDBL_MANT_DIG__ 106
2135// PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
2136// PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
2137// PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2138// PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2139// PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
2140// PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2141// PPC-LINUX:#define __LONG_DOUBLE_128__ 1
2142// PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2143// PPC-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002144// PPC-LINUX-NOT:#define __LP64__
Nico Weber3435ede2012-01-31 02:07:33 +00002145// PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber3435ede2012-01-31 02:07:33 +00002146// PPC-LINUX:#define __POINTER_WIDTH__ 32
2147// PPC-LINUX:#define __POWERPC__ 1
Hal Finkel26908382012-03-02 20:54:36 +00002148// PPC-LINUX:#define __PTRDIFF_TYPE__ int
Nico Weber3435ede2012-01-31 02:07:33 +00002149// PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
2150// PPC-LINUX:#define __REGISTER_PREFIX__
2151// PPC-LINUX:#define __SCHAR_MAX__ 127
2152// PPC-LINUX:#define __SHRT_MAX__ 32767
2153// PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2154// PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
2155// PPC-LINUX:#define __SIZEOF_FLOAT__ 4
2156// PPC-LINUX:#define __SIZEOF_INT__ 4
2157// PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2158// PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
2159// PPC-LINUX:#define __SIZEOF_LONG__ 4
2160// PPC-LINUX:#define __SIZEOF_POINTER__ 4
2161// PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
2162// PPC-LINUX:#define __SIZEOF_SHORT__ 2
2163// PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
2164// PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
2165// PPC-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002166// PPC-LINUX:#define __SIZE_MAX__ 4294967295U
Nico Weber3435ede2012-01-31 02:07:33 +00002167// PPC-LINUX:#define __SIZE_TYPE__ unsigned int
2168// PPC-LINUX:#define __SIZE_WIDTH__ 32
2169// PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
2170// PPC-LINUX:#define __USER_LABEL_PREFIX__
2171// PPC-LINUX:#define __WCHAR_MAX__ 2147483647
2172// PPC-LINUX:#define __WCHAR_TYPE__ int
2173// PPC-LINUX:#define __WCHAR_WIDTH__ 32
2174// PPC-LINUX:#define __WINT_TYPE__ unsigned int
2175// PPC-LINUX:#define __WINT_UNSIGNED__ 1
2176// PPC-LINUX:#define __WINT_WIDTH__ 32
2177// PPC-LINUX:#define __powerpc__ 1
2178// PPC-LINUX:#define __ppc__ 1
2179//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002180// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
Chris Lattnere963d092009-10-29 04:55:36 +00002181//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002182// SPARC-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002183// SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002184// SPARC:#define __CHAR16_TYPE__ unsigned short
2185// SPARC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002186// SPARC:#define __CHAR_BIT__ 8
2187// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2188// SPARC:#define __DBL_DIG__ 15
2189// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2190// SPARC:#define __DBL_HAS_DENORM__ 1
2191// SPARC:#define __DBL_HAS_INFINITY__ 1
2192// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
2193// SPARC:#define __DBL_MANT_DIG__ 53
2194// SPARC:#define __DBL_MAX_10_EXP__ 308
2195// SPARC:#define __DBL_MAX_EXP__ 1024
2196// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
2197// SPARC:#define __DBL_MIN_10_EXP__ (-307)
2198// SPARC:#define __DBL_MIN_EXP__ (-1021)
2199// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
2200// SPARC:#define __DECIMAL_DIG__ 17
2201// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2202// SPARC:#define __FLT_DIG__ 6
2203// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
2204// SPARC:#define __FLT_EVAL_METHOD__ 0
2205// SPARC:#define __FLT_HAS_DENORM__ 1
2206// SPARC:#define __FLT_HAS_INFINITY__ 1
2207// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
2208// SPARC:#define __FLT_MANT_DIG__ 24
2209// SPARC:#define __FLT_MAX_10_EXP__ 38
2210// SPARC:#define __FLT_MAX_EXP__ 128
2211// SPARC:#define __FLT_MAX__ 3.40282347e+38F
2212// SPARC:#define __FLT_MIN_10_EXP__ (-37)
2213// SPARC:#define __FLT_MIN_EXP__ (-125)
2214// SPARC:#define __FLT_MIN__ 1.17549435e-38F
2215// SPARC:#define __FLT_RADIX__ 2
2216// SPARC:#define __INT16_TYPE__ short
2217// SPARC:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002218// SPARC:#define __INT64_C_SUFFIX__ LL
Chris Lattnere963d092009-10-29 04:55:36 +00002219// SPARC:#define __INT64_TYPE__ long long int
2220// SPARC:#define __INT8_TYPE__ char
2221// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck9b25f782009-11-19 13:18:59 +00002222// SPARC:#define __INTMAX_TYPE__ long long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002223// SPARC:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002224// SPARC:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002225// SPARC:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002226// SPARC:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002227// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnere963d092009-10-29 04:55:36 +00002228// SPARC:#define __LDBL_DIG__ 15
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002229// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnere963d092009-10-29 04:55:36 +00002230// SPARC:#define __LDBL_HAS_DENORM__ 1
2231// SPARC:#define __LDBL_HAS_INFINITY__ 1
2232// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
2233// SPARC:#define __LDBL_MANT_DIG__ 53
2234// SPARC:#define __LDBL_MAX_10_EXP__ 308
2235// SPARC:#define __LDBL_MAX_EXP__ 1024
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002236// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnere963d092009-10-29 04:55:36 +00002237// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
2238// SPARC:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002239// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnere963d092009-10-29 04:55:36 +00002240// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2241// SPARC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002242// SPARC-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00002243// SPARC:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002244// SPARC:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002245// SPARC:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbaracde99e2009-12-18 18:42:37 +00002246// SPARC:#define __REGISTER_PREFIX__
Chris Lattnere963d092009-10-29 04:55:36 +00002247// SPARC:#define __SCHAR_MAX__ 127
2248// SPARC:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002249// SPARC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002250// SPARC:#define __SIZEOF_DOUBLE__ 8
2251// SPARC:#define __SIZEOF_FLOAT__ 4
2252// SPARC:#define __SIZEOF_INT__ 4
2253// SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
2254// SPARC:#define __SIZEOF_LONG_LONG__ 8
2255// SPARC:#define __SIZEOF_LONG__ 4
2256// SPARC:#define __SIZEOF_POINTER__ 4
2257// SPARC:#define __SIZEOF_PTRDIFF_T__ 4
2258// SPARC:#define __SIZEOF_SHORT__ 2
2259// SPARC:#define __SIZEOF_SIZE_T__ 4
2260// SPARC:#define __SIZEOF_WCHAR_T__ 4
2261// SPARC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002262// SPARC:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00002263// SPARC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002264// SPARC:#define __SIZE_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002265// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002266// SPARC:#define __USER_LABEL_PREFIX__ _
Daniel Dunbar3b17a862011-03-31 00:53:51 +00002267// SPARC:#define __VERSION__ "4.2.1 Compatible
Chris Lattnere963d092009-10-29 04:55:36 +00002268// SPARC:#define __WCHAR_MAX__ 2147483647
2269// SPARC:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002270// SPARC:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002271// SPARC:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002272// SPARC:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002273// SPARC:#define __sparc 1
2274// SPARC:#define __sparc__ 1
2275// SPARC:#define __sparcv8 1
2276// SPARC:#define sparc 1
2277//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002278// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
Chris Lattnere963d092009-10-29 04:55:36 +00002279//
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002280// TCE-NOT:#define _LP64
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002281// TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002282// TCE:#define __CHAR16_TYPE__ unsigned short
2283// TCE:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002284// TCE:#define __CHAR_BIT__ 8
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002285// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45
Chris Lattnere963d092009-10-29 04:55:36 +00002286// TCE:#define __DBL_DIG__ 6
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002287// TCE:#define __DBL_EPSILON__ 1.19209290e-7
Chris Lattnere963d092009-10-29 04:55:36 +00002288// TCE:#define __DBL_HAS_DENORM__ 1
2289// TCE:#define __DBL_HAS_INFINITY__ 1
2290// TCE:#define __DBL_HAS_QUIET_NAN__ 1
2291// TCE:#define __DBL_MANT_DIG__ 24
2292// TCE:#define __DBL_MAX_10_EXP__ 38
2293// TCE:#define __DBL_MAX_EXP__ 128
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002294// TCE:#define __DBL_MAX__ 3.40282347e+38
Chris Lattnere963d092009-10-29 04:55:36 +00002295// TCE:#define __DBL_MIN_10_EXP__ (-37)
2296// TCE:#define __DBL_MIN_EXP__ (-125)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002297// TCE:#define __DBL_MIN__ 1.17549435e-38
Chris Lattnere963d092009-10-29 04:55:36 +00002298// TCE:#define __DECIMAL_DIG__ -1
2299// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2300// TCE:#define __FLT_DIG__ 6
2301// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
2302// TCE:#define __FLT_EVAL_METHOD__ 0
2303// TCE:#define __FLT_HAS_DENORM__ 1
2304// TCE:#define __FLT_HAS_INFINITY__ 1
2305// TCE:#define __FLT_HAS_QUIET_NAN__ 1
2306// TCE:#define __FLT_MANT_DIG__ 24
2307// TCE:#define __FLT_MAX_10_EXP__ 38
2308// TCE:#define __FLT_MAX_EXP__ 128
2309// TCE:#define __FLT_MAX__ 3.40282347e+38F
2310// TCE:#define __FLT_MIN_10_EXP__ (-37)
2311// TCE:#define __FLT_MIN_EXP__ (-125)
2312// TCE:#define __FLT_MIN__ 1.17549435e-38F
2313// TCE:#define __FLT_RADIX__ 2
2314// TCE:#define __INT16_TYPE__ short
2315// TCE:#define __INT32_TYPE__ int
2316// TCE:#define __INT8_TYPE__ char
2317// TCE:#define __INTMAX_MAX__ 2147483647L
Ken Dyck9b25f782009-11-19 13:18:59 +00002318// TCE:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002319// TCE:#define __INTMAX_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002320// TCE:#define __INTPTR_TYPE__ int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002321// TCE:#define __INTPTR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002322// TCE:#define __INT_MAX__ 2147483647
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002323// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45L
Chris Lattnere963d092009-10-29 04:55:36 +00002324// TCE:#define __LDBL_DIG__ 6
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002325// TCE:#define __LDBL_EPSILON__ 1.19209290e-7L
Chris Lattnere963d092009-10-29 04:55:36 +00002326// TCE:#define __LDBL_HAS_DENORM__ 1
2327// TCE:#define __LDBL_HAS_INFINITY__ 1
2328// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
2329// TCE:#define __LDBL_MANT_DIG__ 24
2330// TCE:#define __LDBL_MAX_10_EXP__ 38
2331// TCE:#define __LDBL_MAX_EXP__ 128
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002332// TCE:#define __LDBL_MAX__ 3.40282347e+38L
Chris Lattnere963d092009-10-29 04:55:36 +00002333// TCE:#define __LDBL_MIN_10_EXP__ (-37)
2334// TCE:#define __LDBL_MIN_EXP__ (-125)
Eli Friedmanc6d2fdb2012-11-10 00:20:38 +00002335// TCE:#define __LDBL_MIN__ 1.17549435e-38L
Chris Lattnere963d092009-10-29 04:55:36 +00002336// TCE:#define __LONG_LONG_MAX__ 2147483647LL
2337// TCE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith8d48c8c2012-08-10 19:12:37 +00002338// TCE-NOT:#define __LP64__
Chris Lattnere963d092009-10-29 04:55:36 +00002339// TCE:#define __POINTER_WIDTH__ 32
Ken Dyck9b25f782009-11-19 13:18:59 +00002340// TCE:#define __PTRDIFF_TYPE__ int
Ken Dyck056efe02009-11-19 12:21:52 +00002341// TCE:#define __PTRDIFF_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002342// TCE:#define __SCHAR_MAX__ 127
2343// TCE:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002344// TCE:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002345// TCE:#define __SIZEOF_DOUBLE__ 4
2346// TCE:#define __SIZEOF_FLOAT__ 4
2347// TCE:#define __SIZEOF_INT__ 4
2348// TCE:#define __SIZEOF_LONG_DOUBLE__ 4
2349// TCE:#define __SIZEOF_LONG_LONG__ 4
2350// TCE:#define __SIZEOF_LONG__ 4
2351// TCE:#define __SIZEOF_POINTER__ 4
2352// TCE:#define __SIZEOF_PTRDIFF_T__ 4
2353// TCE:#define __SIZEOF_SHORT__ 2
2354// TCE:#define __SIZEOF_SIZE_T__ 4
2355// TCE:#define __SIZEOF_WCHAR_T__ 4
2356// TCE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002357// TCE:#define __SIZE_MAX__ 4294967295U
Chris Lattnere963d092009-10-29 04:55:36 +00002358// TCE:#define __SIZE_TYPE__ unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002359// TCE:#define __SIZE_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002360// TCE:#define __TCE_V1__ 1
2361// TCE:#define __TCE__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002362// TCE:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002363// TCE:#define __USER_LABEL_PREFIX__ _
2364// TCE:#define __WCHAR_MAX__ 2147483647
2365// TCE:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002366// TCE:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002367// TCE:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002368// TCE:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002369// TCE:#define __tce 1
2370// TCE:#define __tce__ 1
2371// TCE:#define tce 1
2372//
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00002373// 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 +00002374//
2375// X86_64:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002376// X86_64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohman04f87202010-05-28 00:27:15 +00002377// X86_64:#define __CHAR16_TYPE__ unsigned short
2378// X86_64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002379// X86_64:#define __CHAR_BIT__ 8
2380// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2381// X86_64:#define __DBL_DIG__ 15
2382// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
2383// X86_64:#define __DBL_HAS_DENORM__ 1
2384// X86_64:#define __DBL_HAS_INFINITY__ 1
2385// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
2386// X86_64:#define __DBL_MANT_DIG__ 53
2387// X86_64:#define __DBL_MAX_10_EXP__ 308
2388// X86_64:#define __DBL_MAX_EXP__ 1024
2389// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
2390// X86_64:#define __DBL_MIN_10_EXP__ (-307)
2391// X86_64:#define __DBL_MIN_EXP__ (-1021)
2392// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
2393// X86_64:#define __DECIMAL_DIG__ 21
2394// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2395// X86_64:#define __FLT_DIG__ 6
2396// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
2397// X86_64:#define __FLT_EVAL_METHOD__ 0
2398// X86_64:#define __FLT_HAS_DENORM__ 1
2399// X86_64:#define __FLT_HAS_INFINITY__ 1
2400// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
2401// X86_64:#define __FLT_MANT_DIG__ 24
2402// X86_64:#define __FLT_MAX_10_EXP__ 38
2403// X86_64:#define __FLT_MAX_EXP__ 128
2404// X86_64:#define __FLT_MAX__ 3.40282347e+38F
2405// X86_64:#define __FLT_MIN_10_EXP__ (-37)
2406// X86_64:#define __FLT_MIN_EXP__ (-125)
2407// X86_64:#define __FLT_MIN__ 1.17549435e-38F
2408// X86_64:#define __FLT_RADIX__ 2
2409// X86_64:#define __INT16_TYPE__ short
2410// X86_64:#define __INT32_TYPE__ int
Ken Dyck2dc8d5f2009-11-16 16:36:33 +00002411// X86_64:#define __INT64_C_SUFFIX__ L
Chris Lattnere963d092009-10-29 04:55:36 +00002412// X86_64:#define __INT64_TYPE__ long int
2413// X86_64:#define __INT8_TYPE__ char
2414// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck9b25f782009-11-19 13:18:59 +00002415// X86_64:#define __INTMAX_TYPE__ long int
Ken Dyckc0c98292009-11-18 13:52:57 +00002416// X86_64:#define __INTMAX_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002417// X86_64:#define __INTPTR_TYPE__ long int
Ken Dyck24cfcf12009-11-18 20:05:48 +00002418// X86_64:#define __INTPTR_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00002419// X86_64:#define __INT_MAX__ 2147483647
2420// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
2421// X86_64:#define __LDBL_DIG__ 18
2422// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
2423// X86_64:#define __LDBL_HAS_DENORM__ 1
2424// X86_64:#define __LDBL_HAS_INFINITY__ 1
2425// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
2426// X86_64:#define __LDBL_MANT_DIG__ 64
2427// X86_64:#define __LDBL_MAX_10_EXP__ 4932
2428// X86_64:#define __LDBL_MAX_EXP__ 16384
2429// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
2430// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
2431// X86_64:#define __LDBL_MIN_EXP__ (-16381)
2432// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
2433// X86_64:#define __LITTLE_ENDIAN__ 1
2434// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
2435// X86_64:#define __LONG_MAX__ 9223372036854775807L
2436// X86_64:#define __LP64__ 1
2437// X86_64:#define __MMX__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002438// X86_64:#define __NO_MATH_INLINES 1
2439// X86_64:#define __POINTER_WIDTH__ 64
Ken Dyck9b25f782009-11-19 13:18:59 +00002440// X86_64:#define __PTRDIFF_TYPE__ long int
Ken Dyck056efe02009-11-19 12:21:52 +00002441// X86_64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00002442// X86_64:#define __REGISTER_PREFIX__
2443// X86_64:#define __SCHAR_MAX__ 127
2444// X86_64:#define __SHRT_MAX__ 32767
Ken Dyckadc85112009-11-22 15:41:04 +00002445// X86_64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohman04f87202010-05-28 00:27:15 +00002446// X86_64:#define __SIZEOF_DOUBLE__ 8
2447// X86_64:#define __SIZEOF_FLOAT__ 4
2448// X86_64:#define __SIZEOF_INT__ 4
2449// X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
2450// X86_64:#define __SIZEOF_LONG_LONG__ 8
2451// X86_64:#define __SIZEOF_LONG__ 8
2452// X86_64:#define __SIZEOF_POINTER__ 8
2453// X86_64:#define __SIZEOF_PTRDIFF_T__ 8
2454// X86_64:#define __SIZEOF_SHORT__ 2
2455// X86_64:#define __SIZEOF_SIZE_T__ 8
2456// X86_64:#define __SIZEOF_WCHAR_T__ 4
2457// X86_64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002458// X86_64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnere963d092009-10-29 04:55:36 +00002459// X86_64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck57512862009-11-19 13:42:09 +00002460// X86_64:#define __SIZE_WIDTH__ 64
Chris Lattnere963d092009-10-29 04:55:36 +00002461// X86_64:#define __SSE2_MATH__ 1
2462// X86_64:#define __SSE2__ 1
2463// X86_64:#define __SSE_MATH__ 1
2464// X86_64:#define __SSE__ 1
Ken Dyck9b25f782009-11-19 13:18:59 +00002465// X86_64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnere963d092009-10-29 04:55:36 +00002466// X86_64:#define __USER_LABEL_PREFIX__ _
2467// X86_64:#define __WCHAR_MAX__ 2147483647
2468// X86_64:#define __WCHAR_TYPE__ int
Ken Dyck0138b9e2009-11-19 15:47:58 +00002469// X86_64:#define __WCHAR_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002470// X86_64:#define __WINT_TYPE__ int
Ken Dycka1f677c2009-11-19 14:16:57 +00002471// X86_64:#define __WINT_WIDTH__ 32
Chris Lattnere963d092009-10-29 04:55:36 +00002472// X86_64:#define __amd64 1
2473// X86_64:#define __amd64__ 1
Chris Lattnere963d092009-10-29 04:55:36 +00002474// X86_64:#define __x86_64 1
2475// X86_64:#define __x86_64__ 1
2476//
Douglas Gregore6d6e512011-01-12 21:19:25 +00002477// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
2478//
2479// X86_64-LINUX:#define _LP64 1
Dylan Noblesmith673728f2012-07-27 18:34:31 +00002480// X86_64-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregore6d6e512011-01-12 21:19:25 +00002481// X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
2482// X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
2483// X86_64-LINUX:#define __CHAR_BIT__ 8
2484// X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2485// X86_64-LINUX:#define __DBL_DIG__ 15
2486// X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2487// X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
2488// X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
2489// X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2490// X86_64-LINUX:#define __DBL_MANT_DIG__ 53
2491// X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
2492// X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
2493// X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2494// X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2495// X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2496// X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2497// X86_64-LINUX:#define __DECIMAL_DIG__ 21
2498// X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2499// X86_64-LINUX:#define __FLT_DIG__ 6
2500// X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2501// X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
2502// X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
2503// X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
2504// X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2505// X86_64-LINUX:#define __FLT_MANT_DIG__ 24
2506// X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
2507// X86_64-LINUX:#define __FLT_MAX_EXP__ 128
2508// X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2509// X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2510// X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
2511// X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2512// X86_64-LINUX:#define __FLT_RADIX__ 2
2513// X86_64-LINUX:#define __INT16_TYPE__ short
2514// X86_64-LINUX:#define __INT32_TYPE__ int
2515// X86_64-LINUX:#define __INT64_C_SUFFIX__ L
2516// X86_64-LINUX:#define __INT64_TYPE__ long int
2517// X86_64-LINUX:#define __INT8_TYPE__ char
2518// X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2519// X86_64-LINUX:#define __INTMAX_TYPE__ long int
2520// X86_64-LINUX:#define __INTMAX_WIDTH__ 64
2521// X86_64-LINUX:#define __INTPTR_TYPE__ long int
2522// X86_64-LINUX:#define __INTPTR_WIDTH__ 64
2523// X86_64-LINUX:#define __INT_MAX__ 2147483647
2524// X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
2525// X86_64-LINUX:#define __LDBL_DIG__ 18
2526// X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
2527// X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
2528// X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2529// X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2530// X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
2531// X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
2532// X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
2533// X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
2534// X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
2535// X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
2536// X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
2537// X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
2538// X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2539// X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2540// X86_64-LINUX:#define __LP64__ 1
2541// X86_64-LINUX:#define __MMX__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00002542// X86_64-LINUX:#define __NO_MATH_INLINES 1
2543// X86_64-LINUX:#define __POINTER_WIDTH__ 64
2544// X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
2545// X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
2546// X86_64-LINUX:#define __REGISTER_PREFIX__
2547// X86_64-LINUX:#define __SCHAR_MAX__ 127
2548// X86_64-LINUX:#define __SHRT_MAX__ 32767
2549// X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2550// X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
2551// X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
2552// X86_64-LINUX:#define __SIZEOF_INT__ 4
2553// X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2554// X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2555// X86_64-LINUX:#define __SIZEOF_LONG__ 8
2556// X86_64-LINUX:#define __SIZEOF_POINTER__ 8
2557// X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2558// X86_64-LINUX:#define __SIZEOF_SHORT__ 2
2559// X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
2560// X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2561// X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovc3c725a2013-03-28 08:36:54 +00002562// X86_64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Douglas Gregore6d6e512011-01-12 21:19:25 +00002563// X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
2564// X86_64-LINUX:#define __SIZE_WIDTH__ 64
2565// X86_64-LINUX:#define __SSE2_MATH__ 1
2566// X86_64-LINUX:#define __SSE2__ 1
2567// X86_64-LINUX:#define __SSE_MATH__ 1
2568// X86_64-LINUX:#define __SSE__ 1
2569// X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2570// X86_64-LINUX:#define __USER_LABEL_PREFIX__
2571// X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
2572// X86_64-LINUX:#define __WCHAR_TYPE__ int
2573// X86_64-LINUX:#define __WCHAR_WIDTH__ 32
2574// X86_64-LINUX:#define __WINT_TYPE__ unsigned int
2575// X86_64-LINUX:#define __WINT_WIDTH__ 32
2576// X86_64-LINUX:#define __amd64 1
2577// X86_64-LINUX:#define __amd64__ 1
Douglas Gregore6d6e512011-01-12 21:19:25 +00002578// X86_64-LINUX:#define __x86_64 1
2579// X86_64-LINUX:#define __x86_64__ 1
2580//
David Chisnallb601c962012-07-03 20:49:52 +00002581// 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 +00002582// GNUSOURCE:#define _GNU_SOURCE 1
2583//
Dan Gohman04f87202010-05-28 00:27:15 +00002584// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
2585// NORTTI: __GXX_ABI_VERSION
2586// NORTTI-NOT:#define __GXX_RTTI
2587// NORTTI: __STDC__
Evgeniy Stepanov94dc4c92012-04-26 12:08:09 +00002588//
2589// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
2590// ANDROID: __ANDROID__ 1