blob: 40dc638851723c10610e6cfdb347bb4e9958be77 [file] [log] [blame]
Daniel Dunbara5728872009-12-15 20:14:24 +00001// RUN: %clang_cc1 -E -dM -x assembler-with-cpp < /dev/null | FileCheck -check-prefix ASM %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00002//
3// ASM:#define __ASSEMBLER__ 1
4//
5//
Daniel Dunbara5728872009-12-15 20:14:24 +00006// RUN: %clang_cc1 -fblocks -E -dM < /dev/null | FileCheck -check-prefix BLOCKS %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00007//
8// BLOCKS:#define __BLOCKS__ 1
9// BLOCKS:#define __block __attribute__((__blocks__(byref)))
10//
Richard Smith7f0ffb32013-05-07 19:32:56 +000011//
12// RUN: %clang_cc1 -x c++ -std=c++1y -E -dM < /dev/null | FileCheck -check-prefix CXX1Y %s
13//
14// CXX1Y:#define __GNUG__
15// CXX1Y:#define __GXX_EXPERIMENTAL_CXX0X__ 1
16// CXX1Y:#define __GXX_RTTI 1
17// CXX1Y:#define __GXX_WEAK__ 1
18// CXX1Y:#define __cplusplus 201305L
19// CXX1Y:#define __private_extern__ extern
20//
21//
Richard Smith4e24f0f2013-01-02 12:01:23 +000022// RUN: %clang_cc1 -x c++ -std=c++11 -E -dM < /dev/null | FileCheck -check-prefix CXX11 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000023//
Richard Smith4e24f0f2013-01-02 12:01:23 +000024// CXX11:#define __GNUG__
25// CXX11:#define __GXX_EXPERIMENTAL_CXX0X__ 1
26// CXX11:#define __GXX_RTTI 1
27// CXX11:#define __GXX_WEAK__ 1
28// CXX11:#define __cplusplus 201103L
29// CXX11:#define __private_extern__ extern
Chris Lattnerbceaf862009-10-29 04:55:36 +000030//
31//
Daniel Dunbara5728872009-12-15 20:14:24 +000032// RUN: %clang_cc1 -x c++ -std=c++98 -E -dM < /dev/null | FileCheck -check-prefix CXX98 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000033//
Chris Lattnerbceaf862009-10-29 04:55:36 +000034// CXX98:#define __GNUG__
Dan Gohmancfeac342010-05-28 00:27:15 +000035// CXX98:#define __GXX_RTTI 1
Chris Lattnerbceaf862009-10-29 04:55:36 +000036// CXX98:#define __GXX_WEAK__ 1
37// CXX98:#define __cplusplus 199711L
38// CXX98:#define __private_extern__ extern
39//
40//
Chandler Carruthf8c247d2011-04-23 19:48:40 +000041// RUN: %clang_cc1 -fdeprecated-macro -E -dM < /dev/null | FileCheck -check-prefix DEPRECATED %s
42//
43// DEPRECATED:#define __DEPRECATED 1
44//
45//
Daniel Dunbara5728872009-12-15 20:14:24 +000046// RUN: %clang_cc1 -std=c99 -E -dM < /dev/null | FileCheck -check-prefix C99 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000047//
48// C99:#define __STDC_VERSION__ 199901L
49// C99:#define __STRICT_ANSI__ 1
50//
51//
Daniel Dunbara5728872009-12-15 20:14:24 +000052// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix COMMON %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000053//
54// COMMON:#define __CONSTANT_CFSTRINGS__ 1
55// COMMON:#define __FINITE_MATH_ONLY__ 0
56// COMMON:#define __GNUC_MINOR__
57// COMMON:#define __GNUC_PATCHLEVEL__
58// COMMON:#define __GNUC_STDC_INLINE__ 1
59// COMMON:#define __GNUC__
60// COMMON:#define __GXX_ABI_VERSION
Dylan Noblesmith3b198a92012-07-27 18:34:31 +000061// COMMON:#define __ORDER_BIG_ENDIAN__ 4321
62// COMMON:#define __ORDER_LITTLE_ENDIAN__ 1234
63// COMMON:#define __ORDER_PDP_ENDIAN__ 3412
Chris Lattnerbceaf862009-10-29 04:55:36 +000064// COMMON:#define __STDC_HOSTED__ 1
65// COMMON:#define __STDC_VERSION__
66// COMMON:#define __STDC__ 1
67// COMMON:#define __VERSION__
68// COMMON:#define __clang__ 1
Daniel Dunbarc4b8e922010-06-25 23:34:47 +000069// COMMON:#define __clang_major__ {{[0-9]+}}
70// COMMON:#define __clang_minor__ {{[0-9]+}}
71// COMMON:#define __clang_patchlevel__ {{[0-9]+}}
Douglas Gregorcf00ac82010-04-30 03:07:23 +000072// COMMON:#define __clang_version__
Chris Lattnerbceaf862009-10-29 04:55:36 +000073// COMMON:#define __llvm__ 1
74//
75//
Daniel Dunbara5728872009-12-15 20:14:24 +000076// RUN: %clang_cc1 -ffreestanding -E -dM < /dev/null | FileCheck -check-prefix FREESTANDING %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000077// FREESTANDING:#define __STDC_HOSTED__ 0
Richard Smith05134482012-05-03 22:18:20 +000078//
79//
Richard Smith7f0ffb32013-05-07 19:32:56 +000080// RUN: %clang_cc1 -x c++ -std=gnu++1y -E -dM < /dev/null | FileCheck -check-prefix GXX1Y %s
81//
82// GXX1Y:#define __GNUG__
83// GXX1Y:#define __GXX_WEAK__ 1
84// GXX1Y:#define __cplusplus 201305L
85// GXX1Y:#define __private_extern__ extern
86//
87//
Richard Smith05134482012-05-03 22:18:20 +000088// RUN: %clang_cc1 -x c++ -std=gnu++11 -E -dM < /dev/null | FileCheck -check-prefix GXX11 %s
89//
90// GXX11:#define __GNUG__
91// GXX11:#define __GXX_WEAK__ 1
92// GXX11:#define __cplusplus 201103L
93// GXX11:#define __private_extern__ extern
94//
95//
Daniel Dunbara5728872009-12-15 20:14:24 +000096// RUN: %clang_cc1 -x c++ -std=gnu++98 -E -dM < /dev/null | FileCheck -check-prefix GXX98 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000097//
Chris Lattnerbceaf862009-10-29 04:55:36 +000098// GXX98:#define __GNUG__
99// GXX98:#define __GXX_WEAK__ 1
Richard Smith05134482012-05-03 22:18:20 +0000100// GXX98:#define __cplusplus 199711L
Chris Lattnerbceaf862009-10-29 04:55:36 +0000101// GXX98:#define __private_extern__ extern
102//
103//
Daniel Dunbara5728872009-12-15 20:14:24 +0000104// RUN: %clang_cc1 -std=iso9899:199409 -E -dM < /dev/null | FileCheck -check-prefix C94 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000105//
106// C94:#define __STDC_VERSION__ 199409L
107//
108//
Hans Wennborgc814c642013-05-02 13:12:32 +0000109// RUN: %clang_cc1 -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000110//
111// MSEXT-NOT:#define __STDC__
Douglas Gregor72283802010-08-06 12:37:52 +0000112// MSEXT:#define _INTEGRAL_MAX_BITS 64
Hans Wennborgc814c642013-05-02 13:12:32 +0000113// MSEXT-NOT:#define _NATIVE_WCHAR_T_DEFINED 1
114// MSEXT-NOT:#define _WCHAR_T_DEFINED 1
115//
116//
117// RUN: %clang_cc1 -x c++ -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT-CXX %s
118//
119// MSEXT-CXX:#define _NATIVE_WCHAR_T_DEFINED 1
120// MSEXT-CXX:#define _WCHAR_T_DEFINED 1
121//
122//
123// RUN: %clang_cc1 -x c++ -fno-wchar -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT-CXX-NOWCHAR %s
124//
125// MSEXT-CXX-NOWCHAR-NOT:#define _NATIVE_WCHAR_T_DEFINED 1
126// MSEXT-CXX-NOWCHAR-NOT:#define _WCHAR_T_DEFINED 1
Chris Lattnerbceaf862009-10-29 04:55:36 +0000127//
128//
Daniel Dunbara5728872009-12-15 20:14:24 +0000129// RUN: %clang_cc1 -x objective-c -E -dM < /dev/null | FileCheck -check-prefix OBJC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000130//
131// OBJC:#define OBJC_NEW_PROPERTIES 1
Daniel Dunbarc5a97ec2009-11-17 07:07:28 +0000132// OBJC:#define __NEXT_RUNTIME__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +0000133// OBJC:#define __OBJC__ 1
134//
Daniel Dunbarc5a97ec2009-11-17 07:07:28 +0000135//
Daniel Dunbara5728872009-12-15 20:14:24 +0000136// RUN: %clang_cc1 -x objective-c -fobjc-gc -E -dM < /dev/null | FileCheck -check-prefix OBJCGC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000137//
138// OBJCGC:#define __OBJC_GC__ 1
139//
140//
John McCalld1e40d52011-10-02 01:16:38 +0000141// RUN: %clang_cc1 -x objective-c -fobjc-exceptions -E -dM < /dev/null | FileCheck -check-prefix NONFRAGILE %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000142//
143// NONFRAGILE:#define OBJC_ZEROCOST_EXCEPTIONS 1
144// NONFRAGILE:#define __OBJC2__ 1
145//
Dylan Noblesmithf23e8d22012-08-08 16:09:15 +0000146//
147// RUN: %clang_cc1 -O0 -E -dM < /dev/null | FileCheck -check-prefix O0 %s
148//
149// O0:#define __NO_INLINE__ 1
150// O0-NOT:#define __OPTIMIZE_SIZE__
151// O0-NOT:#define __OPTIMIZE__
152//
153//
154// RUN: %clang_cc1 -fno-inline -O3 -E -dM < /dev/null | FileCheck -check-prefix NO_INLINE %s
155//
156// NO_INLINE:#define __NO_INLINE__ 1
157// NO_INLINE-NOT:#define __OPTIMIZE_SIZE__
158// NO_INLINE:#define __OPTIMIZE__
159//
160//
Daniel Dunbara5728872009-12-15 20:14:24 +0000161// RUN: %clang_cc1 -O1 -E -dM < /dev/null | FileCheck -check-prefix O1 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000162//
Dylan Noblesmithf23e8d22012-08-08 16:09:15 +0000163// O1-NOT:#define __OPTIMIZE_SIZE__
Chris Lattnerbceaf862009-10-29 04:55:36 +0000164// O1:#define __OPTIMIZE__ 1
165//
Dylan Noblesmithf23e8d22012-08-08 16:09:15 +0000166//
167// RUN: %clang_cc1 -Os -E -dM < /dev/null | FileCheck -check-prefix Os %s
168//
169// Os:#define __OPTIMIZE_SIZE__ 1
170// Os:#define __OPTIMIZE__ 1
171//
172//
173// RUN: %clang_cc1 -Oz -E -dM < /dev/null | FileCheck -check-prefix Oz %s
174//
175// Oz:#define __OPTIMIZE_SIZE__ 1
176// Oz:#define __OPTIMIZE__ 1
177//
178//
Daniel Dunbara5728872009-12-15 20:14:24 +0000179// RUN: %clang_cc1 -fpascal-strings -E -dM < /dev/null | FileCheck -check-prefix PASCAL %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000180//
181// PASCAL:#define __PASCAL_STRINGS__ 1
182//
183//
Daniel Dunbara5728872009-12-15 20:14:24 +0000184// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix SCHAR %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000185//
186// SCHAR:#define __STDC__ 1
187// SCHAR-NOT:#define __UNSIGNED_CHAR__
188// SCHAR:#define __clang__ 1
189//
Eli Friedman1d832432010-08-03 17:34:19 +0000190// RUN: %clang_cc1 -E -dM -fshort-wchar < /dev/null | FileCheck -check-prefix SHORTWCHAR %s
191//
192// SHORTWCHAR: #define __SIZEOF_WCHAR_T__ 2
193// SHORTWCHAR: #define __WCHAR_MAX__ 65535U
194// SHORTWCHAR: #define __WCHAR_TYPE__ unsigned short
195// SHORTWCHAR: #define __WCHAR_WIDTH__ 16
196//
Daniel Dunbara5728872009-12-15 20:14:24 +0000197// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000198//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000199// ARM-NOT:#define _LP64
Chris Lattnerbceaf862009-10-29 04:55:36 +0000200// ARM:#define __APCS_32__ 1
201// ARM:#define __ARMEL__ 1
Daniel Dunbareac7c532009-12-18 18:42:37 +0000202// ARM:#define __ARM_ARCH_6J__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000203// ARM:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +0000204// ARM:#define __CHAR16_TYPE__ unsigned short
205// ARM:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000206// ARM:#define __CHAR_BIT__ 8
207// ARM:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
208// ARM:#define __DBL_DIG__ 15
209// ARM:#define __DBL_EPSILON__ 2.2204460492503131e-16
210// ARM:#define __DBL_HAS_DENORM__ 1
211// ARM:#define __DBL_HAS_INFINITY__ 1
212// ARM:#define __DBL_HAS_QUIET_NAN__ 1
213// ARM:#define __DBL_MANT_DIG__ 53
214// ARM:#define __DBL_MAX_10_EXP__ 308
215// ARM:#define __DBL_MAX_EXP__ 1024
216// ARM:#define __DBL_MAX__ 1.7976931348623157e+308
217// ARM:#define __DBL_MIN_10_EXP__ (-307)
218// ARM:#define __DBL_MIN_EXP__ (-1021)
219// ARM:#define __DBL_MIN__ 2.2250738585072014e-308
220// ARM:#define __DECIMAL_DIG__ 17
221// ARM:#define __FLT_DENORM_MIN__ 1.40129846e-45F
222// ARM:#define __FLT_DIG__ 6
223// ARM:#define __FLT_EPSILON__ 1.19209290e-7F
224// ARM:#define __FLT_EVAL_METHOD__ 0
225// ARM:#define __FLT_HAS_DENORM__ 1
226// ARM:#define __FLT_HAS_INFINITY__ 1
227// ARM:#define __FLT_HAS_QUIET_NAN__ 1
228// ARM:#define __FLT_MANT_DIG__ 24
229// ARM:#define __FLT_MAX_10_EXP__ 38
230// ARM:#define __FLT_MAX_EXP__ 128
231// ARM:#define __FLT_MAX__ 3.40282347e+38F
232// ARM:#define __FLT_MIN_10_EXP__ (-37)
233// ARM:#define __FLT_MIN_EXP__ (-125)
234// ARM:#define __FLT_MIN__ 1.17549435e-38F
235// ARM:#define __FLT_RADIX__ 2
236// ARM:#define __INT16_TYPE__ short
237// ARM:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000238// ARM:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000239// ARM:#define __INT64_TYPE__ long long int
240// ARM:#define __INT8_TYPE__ char
241// ARM:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +0000242// ARM:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +0000243// ARM:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000244// ARM:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000245// ARM:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000246// ARM:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +0000247// ARM:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +0000248// ARM:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +0000249// ARM:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnerbceaf862009-10-29 04:55:36 +0000250// ARM:#define __LDBL_HAS_DENORM__ 1
251// ARM:#define __LDBL_HAS_INFINITY__ 1
252// ARM:#define __LDBL_HAS_QUIET_NAN__ 1
253// ARM:#define __LDBL_MANT_DIG__ 53
254// ARM:#define __LDBL_MAX_10_EXP__ 308
255// ARM:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +0000256// ARM:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnerbceaf862009-10-29 04:55:36 +0000257// ARM:#define __LDBL_MIN_10_EXP__ (-307)
258// ARM:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +0000259// ARM:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnerbceaf862009-10-29 04:55:36 +0000260// ARM:#define __LITTLE_ENDIAN__ 1
261// ARM:#define __LONG_LONG_MAX__ 9223372036854775807LL
262// ARM:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000263// ARM-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +0000264// ARM:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000265// ARM:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +0000266// ARM:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbareac7c532009-12-18 18:42:37 +0000267// ARM:#define __REGISTER_PREFIX__
Chris Lattnerbceaf862009-10-29 04:55:36 +0000268// ARM:#define __SCHAR_MAX__ 127
269// ARM:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000270// ARM:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000271// ARM:#define __SIZEOF_DOUBLE__ 8
272// ARM:#define __SIZEOF_FLOAT__ 4
273// ARM:#define __SIZEOF_INT__ 4
274// ARM:#define __SIZEOF_LONG_DOUBLE__ 8
275// ARM:#define __SIZEOF_LONG_LONG__ 8
276// ARM:#define __SIZEOF_LONG__ 4
277// ARM:#define __SIZEOF_POINTER__ 4
278// ARM:#define __SIZEOF_PTRDIFF_T__ 4
279// ARM:#define __SIZEOF_SHORT__ 2
280// ARM:#define __SIZEOF_SIZE_T__ 4
281// ARM:#define __SIZEOF_WCHAR_T__ 4
282// ARM:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000283// ARM:#define __SIZE_MAX__ 4294967295U
Chris Lattnerbceaf862009-10-29 04:55:36 +0000284// ARM:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000285// ARM:#define __SIZE_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000286// ARM:#define __THUMB_INTERWORK__ 1
Ken Dyck8241d732009-11-19 13:18:59 +0000287// ARM:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000288// ARM:#define __USER_LABEL_PREFIX__ _
James Molloya6d81f92011-11-23 13:35:08 +0000289// ARM:#define __WCHAR_MAX__ 4294967295U
290// ARM:#define __WCHAR_TYPE__ unsigned int
Ken Dyck63e65612009-11-19 15:47:58 +0000291// ARM:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000292// ARM:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000293// ARM:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000294// ARM:#define __arm 1
295// ARM:#define __arm__ 1
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000296
297// 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
298//
299// ARM-NOT:#define _LP64
300// ARMEABISOFTFP:#define __APCS_32__ 1
301// ARMEABISOFTFP:#define __ARMEL__ 1
302// ARMEABISOFTFP:#define __ARM_ARCH 6
303// ARMEABISOFTFP:#define __ARM_ARCH_6J__ 1
304// ARMEABISOFTFP:#define __ARM_EABI__ 1
305// ARMEABISOFTFP:#define __ARM_PCS 1
306// ARMEABISOFTFP-NOT:#define __ARM_PCS_VFP 1
307// ARMEABISOFTFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
308// ARMEABISOFTFP:#define __CHAR16_TYPE__ unsigned short
309// ARMEABISOFTFP:#define __CHAR32_TYPE__ unsigned int
310// ARMEABISOFTFP:#define __CHAR_BIT__ 8
311// ARMEABISOFTFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
312// ARMEABISOFTFP:#define __DBL_DIG__ 15
313// ARMEABISOFTFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
314// ARMEABISOFTFP:#define __DBL_HAS_DENORM__ 1
315// ARMEABISOFTFP:#define __DBL_HAS_INFINITY__ 1
316// ARMEABISOFTFP:#define __DBL_HAS_QUIET_NAN__ 1
317// ARMEABISOFTFP:#define __DBL_MANT_DIG__ 53
318// ARMEABISOFTFP:#define __DBL_MAX_10_EXP__ 308
319// ARMEABISOFTFP:#define __DBL_MAX_EXP__ 1024
320// ARMEABISOFTFP:#define __DBL_MAX__ 1.7976931348623157e+308
321// ARMEABISOFTFP:#define __DBL_MIN_10_EXP__ (-307)
322// ARMEABISOFTFP:#define __DBL_MIN_EXP__ (-1021)
323// ARMEABISOFTFP:#define __DBL_MIN__ 2.2250738585072014e-308
324// ARMEABISOFTFP:#define __DECIMAL_DIG__ 17
325// ARMEABISOFTFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
326// ARMEABISOFTFP:#define __FLT_DIG__ 6
327// ARMEABISOFTFP:#define __FLT_EPSILON__ 1.19209290e-7F
328// ARMEABISOFTFP:#define __FLT_EVAL_METHOD__ 0
329// ARMEABISOFTFP:#define __FLT_HAS_DENORM__ 1
330// ARMEABISOFTFP:#define __FLT_HAS_INFINITY__ 1
331// ARMEABISOFTFP:#define __FLT_HAS_QUIET_NAN__ 1
332// ARMEABISOFTFP:#define __FLT_MANT_DIG__ 24
333// ARMEABISOFTFP:#define __FLT_MAX_10_EXP__ 38
334// ARMEABISOFTFP:#define __FLT_MAX_EXP__ 128
335// ARMEABISOFTFP:#define __FLT_MAX__ 3.40282347e+38F
336// ARMEABISOFTFP:#define __FLT_MIN_10_EXP__ (-37)
337// ARMEABISOFTFP:#define __FLT_MIN_EXP__ (-125)
338// ARMEABISOFTFP:#define __FLT_MIN__ 1.17549435e-38F
339// ARMEABISOFTFP:#define __FLT_RADIX__ 2
340// ARMEABISOFTFP:#define __INT16_TYPE__ short
341// ARMEABISOFTFP:#define __INT32_TYPE__ int
342// ARMEABISOFTFP:#define __INT64_C_SUFFIX__ LL
343// ARMEABISOFTFP:#define __INT64_TYPE__ long long int
344// ARMEABISOFTFP:#define __INT8_TYPE__ char
345// ARMEABISOFTFP:#define __INTMAX_MAX__ 9223372036854775807LL
346// ARMEABISOFTFP:#define __INTMAX_TYPE__ long long int
347// ARMEABISOFTFP:#define __INTMAX_WIDTH__ 64
348// ARMEABISOFTFP:#define __INTPTR_TYPE__ long int
349// ARMEABISOFTFP:#define __INTPTR_WIDTH__ 32
350// ARMEABISOFTFP:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +0000351// ARMEABISOFTFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000352// ARMEABISOFTFP:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +0000353// ARMEABISOFTFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000354// ARMEABISOFTFP:#define __LDBL_HAS_DENORM__ 1
355// ARMEABISOFTFP:#define __LDBL_HAS_INFINITY__ 1
356// ARMEABISOFTFP:#define __LDBL_HAS_QUIET_NAN__ 1
357// ARMEABISOFTFP:#define __LDBL_MANT_DIG__ 53
358// ARMEABISOFTFP:#define __LDBL_MAX_10_EXP__ 308
359// ARMEABISOFTFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +0000360// ARMEABISOFTFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000361// ARMEABISOFTFP:#define __LDBL_MIN_10_EXP__ (-307)
362// ARMEABISOFTFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +0000363// ARMEABISOFTFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000364// ARMEABISOFTFP:#define __LITTLE_ENDIAN__ 1
365// ARMEABISOFTFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
366// ARMEABISOFTFP:#define __LONG_MAX__ 2147483647L
367// ARMEABISOFTFP-NOT:#define __LP64__
368// ARMEABISOFTFP:#define __POINTER_WIDTH__ 32
369// ARMEABISOFTFP:#define __PTRDIFF_TYPE__ int
370// ARMEABISOFTFP:#define __PTRDIFF_WIDTH__ 32
371// ARMEABISOFTFP:#define __REGISTER_PREFIX__
372// ARMEABISOFTFP:#define __SCHAR_MAX__ 127
373// ARMEABISOFTFP:#define __SHRT_MAX__ 32767
374// ARMEABISOFTFP:#define __SIG_ATOMIC_WIDTH__ 32
375// ARMEABISOFTFP:#define __SIZEOF_DOUBLE__ 8
376// ARMEABISOFTFP:#define __SIZEOF_FLOAT__ 4
377// ARMEABISOFTFP:#define __SIZEOF_INT__ 4
378// ARMEABISOFTFP:#define __SIZEOF_LONG_DOUBLE__ 8
379// ARMEABISOFTFP:#define __SIZEOF_LONG_LONG__ 8
380// ARMEABISOFTFP:#define __SIZEOF_LONG__ 4
381// ARMEABISOFTFP:#define __SIZEOF_POINTER__ 4
382// ARMEABISOFTFP:#define __SIZEOF_PTRDIFF_T__ 4
383// ARMEABISOFTFP:#define __SIZEOF_SHORT__ 2
384// ARMEABISOFTFP:#define __SIZEOF_SIZE_T__ 4
385// ARMEABISOFTFP:#define __SIZEOF_WCHAR_T__ 4
386// ARMEABISOFTFP:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000387// ARMEABISOFTFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000388// ARMEABISOFTFP:#define __SIZE_TYPE__ unsigned int
389// ARMEABISOFTFP:#define __SIZE_WIDTH__ 32
390// ARMEABISOFTFP:#define __SOFTFP__ 1
391// ARMEABISOFTFP:#define __THUMB_INTERWORK__ 1
392// ARMEABISOFTFP:#define __UINTMAX_TYPE__ long long unsigned int
393// ARMEABISOFTFP:#define __USER_LABEL_PREFIX__
394// ARMEABISOFTFP:#define __WCHAR_MAX__ 4294967295U
395// ARMEABISOFTFP:#define __WCHAR_TYPE__ unsigned int
396// ARMEABISOFTFP:#define __WCHAR_WIDTH__ 32
397// ARMEABISOFTFP:#define __WINT_TYPE__ unsigned int
398// ARMEABISOFTFP:#define __WINT_WIDTH__ 32
399// ARMEABISOFTFP:#define __arm 1
400// ARMEABISOFTFP:#define __arm__ 1
401
402// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-linux-gnueabi < /dev/null | FileCheck -check-prefix ARMEABIHARDFP %s
403//
404// ARM-NOT:#define _LP64
405// ARMEABIHARDFP:#define __APCS_32__ 1
406// ARMEABIHARDFP:#define __ARMEL__ 1
407// ARMEABIHARDFP:#define __ARM_ARCH 6
408// ARMEABIHARDFP:#define __ARM_ARCH_6J__ 1
409// ARMEABIHARDFP:#define __ARM_EABI__ 1
410// ARMEABIHARDFP:#define __ARM_PCS 1
411// ARMEABIHARDFP:#define __ARM_PCS_VFP 1
412// ARMEABIHARDFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
413// ARMEABIHARDFP:#define __CHAR16_TYPE__ unsigned short
414// ARMEABIHARDFP:#define __CHAR32_TYPE__ unsigned int
415// ARMEABIHARDFP:#define __CHAR_BIT__ 8
416// ARMEABIHARDFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
417// ARMEABIHARDFP:#define __DBL_DIG__ 15
418// ARMEABIHARDFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
419// ARMEABIHARDFP:#define __DBL_HAS_DENORM__ 1
420// ARMEABIHARDFP:#define __DBL_HAS_INFINITY__ 1
421// ARMEABIHARDFP:#define __DBL_HAS_QUIET_NAN__ 1
422// ARMEABIHARDFP:#define __DBL_MANT_DIG__ 53
423// ARMEABIHARDFP:#define __DBL_MAX_10_EXP__ 308
424// ARMEABIHARDFP:#define __DBL_MAX_EXP__ 1024
425// ARMEABIHARDFP:#define __DBL_MAX__ 1.7976931348623157e+308
426// ARMEABIHARDFP:#define __DBL_MIN_10_EXP__ (-307)
427// ARMEABIHARDFP:#define __DBL_MIN_EXP__ (-1021)
428// ARMEABIHARDFP:#define __DBL_MIN__ 2.2250738585072014e-308
429// ARMEABIHARDFP:#define __DECIMAL_DIG__ 17
430// ARMEABIHARDFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
431// ARMEABIHARDFP:#define __FLT_DIG__ 6
432// ARMEABIHARDFP:#define __FLT_EPSILON__ 1.19209290e-7F
433// ARMEABIHARDFP:#define __FLT_EVAL_METHOD__ 0
434// ARMEABIHARDFP:#define __FLT_HAS_DENORM__ 1
435// ARMEABIHARDFP:#define __FLT_HAS_INFINITY__ 1
436// ARMEABIHARDFP:#define __FLT_HAS_QUIET_NAN__ 1
437// ARMEABIHARDFP:#define __FLT_MANT_DIG__ 24
438// ARMEABIHARDFP:#define __FLT_MAX_10_EXP__ 38
439// ARMEABIHARDFP:#define __FLT_MAX_EXP__ 128
440// ARMEABIHARDFP:#define __FLT_MAX__ 3.40282347e+38F
441// ARMEABIHARDFP:#define __FLT_MIN_10_EXP__ (-37)
442// ARMEABIHARDFP:#define __FLT_MIN_EXP__ (-125)
443// ARMEABIHARDFP:#define __FLT_MIN__ 1.17549435e-38F
444// ARMEABIHARDFP:#define __FLT_RADIX__ 2
445// ARMEABIHARDFP:#define __INT16_TYPE__ short
446// ARMEABIHARDFP:#define __INT32_TYPE__ int
447// ARMEABIHARDFP:#define __INT64_C_SUFFIX__ LL
448// ARMEABIHARDFP:#define __INT64_TYPE__ long long int
449// ARMEABIHARDFP:#define __INT8_TYPE__ char
450// ARMEABIHARDFP:#define __INTMAX_MAX__ 9223372036854775807LL
451// ARMEABIHARDFP:#define __INTMAX_TYPE__ long long int
452// ARMEABIHARDFP:#define __INTMAX_WIDTH__ 64
453// ARMEABIHARDFP:#define __INTPTR_TYPE__ long int
454// ARMEABIHARDFP:#define __INTPTR_WIDTH__ 32
455// ARMEABIHARDFP:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +0000456// ARMEABIHARDFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000457// ARMEABIHARDFP:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +0000458// ARMEABIHARDFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000459// ARMEABIHARDFP:#define __LDBL_HAS_DENORM__ 1
460// ARMEABIHARDFP:#define __LDBL_HAS_INFINITY__ 1
461// ARMEABIHARDFP:#define __LDBL_HAS_QUIET_NAN__ 1
462// ARMEABIHARDFP:#define __LDBL_MANT_DIG__ 53
463// ARMEABIHARDFP:#define __LDBL_MAX_10_EXP__ 308
464// ARMEABIHARDFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +0000465// ARMEABIHARDFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000466// ARMEABIHARDFP:#define __LDBL_MIN_10_EXP__ (-307)
467// ARMEABIHARDFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +0000468// ARMEABIHARDFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000469// ARMEABIHARDFP:#define __LITTLE_ENDIAN__ 1
470// ARMEABIHARDFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
471// ARMEABIHARDFP:#define __LONG_MAX__ 2147483647L
472// ARMEABIHARDFP-NOT:#define __LP64__
473// ARMEABIHARDFP:#define __POINTER_WIDTH__ 32
474// ARMEABIHARDFP:#define __PTRDIFF_TYPE__ int
475// ARMEABIHARDFP:#define __PTRDIFF_WIDTH__ 32
476// ARMEABIHARDFP:#define __REGISTER_PREFIX__
477// ARMEABIHARDFP:#define __SCHAR_MAX__ 127
478// ARMEABIHARDFP:#define __SHRT_MAX__ 32767
479// ARMEABIHARDFP:#define __SIG_ATOMIC_WIDTH__ 32
480// ARMEABIHARDFP:#define __SIZEOF_DOUBLE__ 8
481// ARMEABIHARDFP:#define __SIZEOF_FLOAT__ 4
482// ARMEABIHARDFP:#define __SIZEOF_INT__ 4
483// ARMEABIHARDFP:#define __SIZEOF_LONG_DOUBLE__ 8
484// ARMEABIHARDFP:#define __SIZEOF_LONG_LONG__ 8
485// ARMEABIHARDFP:#define __SIZEOF_LONG__ 4
486// ARMEABIHARDFP:#define __SIZEOF_POINTER__ 4
487// ARMEABIHARDFP:#define __SIZEOF_PTRDIFF_T__ 4
488// ARMEABIHARDFP:#define __SIZEOF_SHORT__ 2
489// ARMEABIHARDFP:#define __SIZEOF_SIZE_T__ 4
490// ARMEABIHARDFP:#define __SIZEOF_WCHAR_T__ 4
491// ARMEABIHARDFP:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000492// ARMEABIHARDFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000493// ARMEABIHARDFP:#define __SIZE_TYPE__ unsigned int
494// ARMEABIHARDFP:#define __SIZE_WIDTH__ 32
495// ARMEABIHARDFP-NOT:#define __SOFTFP__ 1
496// ARMEABIHARDFP:#define __THUMB_INTERWORK__ 1
497// ARMEABIHARDFP:#define __UINTMAX_TYPE__ long long unsigned int
498// ARMEABIHARDFP:#define __USER_LABEL_PREFIX__
499// ARMEABIHARDFP:#define __WCHAR_MAX__ 4294967295U
500// ARMEABIHARDFP:#define __WCHAR_TYPE__ unsigned int
501// ARMEABIHARDFP:#define __WCHAR_WIDTH__ 32
502// ARMEABIHARDFP:#define __WINT_TYPE__ unsigned int
503// ARMEABIHARDFP:#define __WINT_WIDTH__ 32
504// ARMEABIHARDFP:#define __arm 1
505// ARMEABIHARDFP:#define __arm__ 1
506
Chris Lattnerbceaf862009-10-29 04:55:36 +0000507//
Daniel Dunbara5728872009-12-15 20:14:24 +0000508// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000509//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000510// I386-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000511// I386:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +0000512// I386:#define __CHAR16_TYPE__ unsigned short
513// I386:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000514// I386:#define __CHAR_BIT__ 8
515// I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
516// I386:#define __DBL_DIG__ 15
517// I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
518// I386:#define __DBL_HAS_DENORM__ 1
519// I386:#define __DBL_HAS_INFINITY__ 1
520// I386:#define __DBL_HAS_QUIET_NAN__ 1
521// I386:#define __DBL_MANT_DIG__ 53
522// I386:#define __DBL_MAX_10_EXP__ 308
523// I386:#define __DBL_MAX_EXP__ 1024
524// I386:#define __DBL_MAX__ 1.7976931348623157e+308
525// I386:#define __DBL_MIN_10_EXP__ (-307)
526// I386:#define __DBL_MIN_EXP__ (-1021)
527// I386:#define __DBL_MIN__ 2.2250738585072014e-308
528// I386:#define __DECIMAL_DIG__ 21
529// I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
530// I386:#define __FLT_DIG__ 6
531// I386:#define __FLT_EPSILON__ 1.19209290e-7F
Benjamin Kramerb4066692011-12-28 15:47:06 +0000532// I386:#define __FLT_EVAL_METHOD__ 2
Chris Lattnerbceaf862009-10-29 04:55:36 +0000533// I386:#define __FLT_HAS_DENORM__ 1
534// I386:#define __FLT_HAS_INFINITY__ 1
535// I386:#define __FLT_HAS_QUIET_NAN__ 1
536// I386:#define __FLT_MANT_DIG__ 24
537// I386:#define __FLT_MAX_10_EXP__ 38
538// I386:#define __FLT_MAX_EXP__ 128
539// I386:#define __FLT_MAX__ 3.40282347e+38F
540// I386:#define __FLT_MIN_10_EXP__ (-37)
541// I386:#define __FLT_MIN_EXP__ (-125)
542// I386:#define __FLT_MIN__ 1.17549435e-38F
543// I386:#define __FLT_RADIX__ 2
544// I386:#define __INT16_TYPE__ short
545// I386:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000546// I386:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000547// I386:#define __INT64_TYPE__ long long int
548// I386:#define __INT8_TYPE__ char
549// I386:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +0000550// I386:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +0000551// I386:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000552// I386:#define __INTPTR_TYPE__ int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000553// I386:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000554// I386:#define __INT_MAX__ 2147483647
555// I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
556// I386:#define __LDBL_DIG__ 18
557// I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
558// I386:#define __LDBL_HAS_DENORM__ 1
559// I386:#define __LDBL_HAS_INFINITY__ 1
560// I386:#define __LDBL_HAS_QUIET_NAN__ 1
561// I386:#define __LDBL_MANT_DIG__ 64
562// I386:#define __LDBL_MAX_10_EXP__ 4932
563// I386:#define __LDBL_MAX_EXP__ 16384
564// I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
565// I386:#define __LDBL_MIN_10_EXP__ (-4931)
566// I386:#define __LDBL_MIN_EXP__ (-16381)
567// I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
568// I386:#define __LITTLE_ENDIAN__ 1
569// I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
570// I386:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000571// I386-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +0000572// I386:#define __NO_MATH_INLINES 1
573// I386:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000574// I386:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +0000575// I386:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000576// I386:#define __REGISTER_PREFIX__
577// I386:#define __SCHAR_MAX__ 127
578// I386:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000579// I386:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000580// I386:#define __SIZEOF_DOUBLE__ 8
581// I386:#define __SIZEOF_FLOAT__ 4
582// I386:#define __SIZEOF_INT__ 4
583// I386:#define __SIZEOF_LONG_DOUBLE__ 12
584// I386:#define __SIZEOF_LONG_LONG__ 8
585// I386:#define __SIZEOF_LONG__ 4
586// I386:#define __SIZEOF_POINTER__ 4
587// I386:#define __SIZEOF_PTRDIFF_T__ 4
588// I386:#define __SIZEOF_SHORT__ 2
589// I386:#define __SIZEOF_SIZE_T__ 4
590// I386:#define __SIZEOF_WCHAR_T__ 4
591// I386:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000592// I386:#define __SIZE_MAX__ 4294967295U
Chris Lattnerbceaf862009-10-29 04:55:36 +0000593// I386:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000594// I386:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000595// I386:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000596// I386:#define __USER_LABEL_PREFIX__ _
597// I386:#define __WCHAR_MAX__ 2147483647
598// I386:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +0000599// I386:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000600// I386:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000601// I386:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000602// I386:#define __i386 1
603// I386:#define __i386__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +0000604// I386:#define i386 1
605//
Benjamin Kramerb4066692011-12-28 15:47:06 +0000606// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-pc-linux-gnu -target-cpu pentium4 < /dev/null | FileCheck -check-prefix I386-LINUX %s
Douglas Gregor12e84642011-01-12 21:19:25 +0000607//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000608// I386-LINUX-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000609// I386-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregor12e84642011-01-12 21:19:25 +0000610// I386-LINUX:#define __CHAR16_TYPE__ unsigned short
611// I386-LINUX:#define __CHAR32_TYPE__ unsigned int
612// I386-LINUX:#define __CHAR_BIT__ 8
613// I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
614// I386-LINUX:#define __DBL_DIG__ 15
615// I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
616// I386-LINUX:#define __DBL_HAS_DENORM__ 1
617// I386-LINUX:#define __DBL_HAS_INFINITY__ 1
618// I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
619// I386-LINUX:#define __DBL_MANT_DIG__ 53
620// I386-LINUX:#define __DBL_MAX_10_EXP__ 308
621// I386-LINUX:#define __DBL_MAX_EXP__ 1024
622// I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
623// I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
624// I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
625// I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
626// I386-LINUX:#define __DECIMAL_DIG__ 21
627// I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
628// I386-LINUX:#define __FLT_DIG__ 6
629// I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
630// I386-LINUX:#define __FLT_EVAL_METHOD__ 0
631// I386-LINUX:#define __FLT_HAS_DENORM__ 1
632// I386-LINUX:#define __FLT_HAS_INFINITY__ 1
633// I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
634// I386-LINUX:#define __FLT_MANT_DIG__ 24
635// I386-LINUX:#define __FLT_MAX_10_EXP__ 38
636// I386-LINUX:#define __FLT_MAX_EXP__ 128
637// I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
638// I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
639// I386-LINUX:#define __FLT_MIN_EXP__ (-125)
640// I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
641// I386-LINUX:#define __FLT_RADIX__ 2
642// I386-LINUX:#define __INT16_TYPE__ short
643// I386-LINUX:#define __INT32_TYPE__ int
644// I386-LINUX:#define __INT64_C_SUFFIX__ LL
645// I386-LINUX:#define __INT64_TYPE__ long long int
646// I386-LINUX:#define __INT8_TYPE__ char
647// I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
648// I386-LINUX:#define __INTMAX_TYPE__ long long int
649// I386-LINUX:#define __INTMAX_WIDTH__ 64
650// I386-LINUX:#define __INTPTR_TYPE__ int
651// I386-LINUX:#define __INTPTR_WIDTH__ 32
652// I386-LINUX:#define __INT_MAX__ 2147483647
653// I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
654// I386-LINUX:#define __LDBL_DIG__ 18
655// I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
656// I386-LINUX:#define __LDBL_HAS_DENORM__ 1
657// I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
658// I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
659// I386-LINUX:#define __LDBL_MANT_DIG__ 64
660// I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
661// I386-LINUX:#define __LDBL_MAX_EXP__ 16384
662// I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
663// I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
664// I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
665// I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
666// I386-LINUX:#define __LITTLE_ENDIAN__ 1
667// I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
668// I386-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000669// I386-LINUX-NOT:#define __LP64__
Douglas Gregor12e84642011-01-12 21:19:25 +0000670// I386-LINUX:#define __NO_MATH_INLINES 1
671// I386-LINUX:#define __POINTER_WIDTH__ 32
672// I386-LINUX:#define __PTRDIFF_TYPE__ int
673// I386-LINUX:#define __PTRDIFF_WIDTH__ 32
674// I386-LINUX:#define __REGISTER_PREFIX__
675// I386-LINUX:#define __SCHAR_MAX__ 127
676// I386-LINUX:#define __SHRT_MAX__ 32767
677// I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
678// I386-LINUX:#define __SIZEOF_DOUBLE__ 8
679// I386-LINUX:#define __SIZEOF_FLOAT__ 4
680// I386-LINUX:#define __SIZEOF_INT__ 4
681// I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
682// I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
683// I386-LINUX:#define __SIZEOF_LONG__ 4
684// I386-LINUX:#define __SIZEOF_POINTER__ 4
685// I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
686// I386-LINUX:#define __SIZEOF_SHORT__ 2
687// I386-LINUX:#define __SIZEOF_SIZE_T__ 4
688// I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
689// I386-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000690// I386-LINUX:#define __SIZE_MAX__ 4294967295U
Douglas Gregor12e84642011-01-12 21:19:25 +0000691// I386-LINUX:#define __SIZE_TYPE__ unsigned int
692// I386-LINUX:#define __SIZE_WIDTH__ 32
693// I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
694// I386-LINUX:#define __USER_LABEL_PREFIX__
695// I386-LINUX:#define __WCHAR_MAX__ 2147483647
696// I386-LINUX:#define __WCHAR_TYPE__ int
697// I386-LINUX:#define __WCHAR_WIDTH__ 32
698// I386-LINUX:#define __WINT_TYPE__ unsigned int
699// I386-LINUX:#define __WINT_WIDTH__ 32
700// I386-LINUX:#define __i386 1
701// I386-LINUX:#define __i386__ 1
Douglas Gregor12e84642011-01-12 21:19:25 +0000702// I386-LINUX:#define i386 1
703//
Simon Atanasyan7a521802012-04-06 08:37:24 +0000704// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none < /dev/null | FileCheck -check-prefix MIPS32BE %s
705//
706// MIPS32BE:#define MIPSEB 1
707// MIPS32BE:#define _ABIO32 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000708// MIPS32BE-NOT:#define _LP64
Simon Atanasyan7a521802012-04-06 08:37:24 +0000709// MIPS32BE:#define _MIPSEB 1
Simon Atanasyan260e5062012-08-29 15:17:29 +0000710// MIPS32BE:#define _MIPS_ARCH "mips32"
711// MIPS32BE:#define _MIPS_ARCH_MIPS32 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000712// MIPS32BE:#define _MIPS_SIM _ABIO32
713// MIPS32BE:#define _MIPS_SZINT 32
714// MIPS32BE:#define _MIPS_SZLONG 32
715// MIPS32BE:#define _MIPS_SZPTR 32
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000716// MIPS32BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyan7a521802012-04-06 08:37:24 +0000717// MIPS32BE:#define __CHAR16_TYPE__ unsigned short
718// MIPS32BE:#define __CHAR32_TYPE__ unsigned int
719// MIPS32BE:#define __CHAR_BIT__ 8
720// MIPS32BE:#define __CONSTANT_CFSTRINGS__ 1
721// MIPS32BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
722// MIPS32BE:#define __DBL_DIG__ 15
723// MIPS32BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
724// MIPS32BE:#define __DBL_HAS_DENORM__ 1
725// MIPS32BE:#define __DBL_HAS_INFINITY__ 1
726// MIPS32BE:#define __DBL_HAS_QUIET_NAN__ 1
727// MIPS32BE:#define __DBL_MANT_DIG__ 53
728// MIPS32BE:#define __DBL_MAX_10_EXP__ 308
729// MIPS32BE:#define __DBL_MAX_EXP__ 1024
730// MIPS32BE:#define __DBL_MAX__ 1.7976931348623157e+308
731// MIPS32BE:#define __DBL_MIN_10_EXP__ (-307)
732// MIPS32BE:#define __DBL_MIN_EXP__ (-1021)
733// MIPS32BE:#define __DBL_MIN__ 2.2250738585072014e-308
734// MIPS32BE:#define __DECIMAL_DIG__ 17
735// MIPS32BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
736// MIPS32BE:#define __FLT_DIG__ 6
737// MIPS32BE:#define __FLT_EPSILON__ 1.19209290e-7F
738// MIPS32BE:#define __FLT_EVAL_METHOD__ 0
739// MIPS32BE:#define __FLT_HAS_DENORM__ 1
740// MIPS32BE:#define __FLT_HAS_INFINITY__ 1
741// MIPS32BE:#define __FLT_HAS_QUIET_NAN__ 1
742// MIPS32BE:#define __FLT_MANT_DIG__ 24
743// MIPS32BE:#define __FLT_MAX_10_EXP__ 38
744// MIPS32BE:#define __FLT_MAX_EXP__ 128
745// MIPS32BE:#define __FLT_MAX__ 3.40282347e+38F
746// MIPS32BE:#define __FLT_MIN_10_EXP__ (-37)
747// MIPS32BE:#define __FLT_MIN_EXP__ (-125)
748// MIPS32BE:#define __FLT_MIN__ 1.17549435e-38F
749// MIPS32BE:#define __FLT_RADIX__ 2
750// MIPS32BE:#define __INT16_TYPE__ short
751// MIPS32BE:#define __INT32_TYPE__ int
752// MIPS32BE:#define __INT64_C_SUFFIX__ LL
753// MIPS32BE:#define __INT64_TYPE__ long long int
754// MIPS32BE:#define __INT8_TYPE__ char
755// MIPS32BE:#define __INTMAX_MAX__ 9223372036854775807LL
756// MIPS32BE:#define __INTMAX_TYPE__ long long int
757// MIPS32BE:#define __INTMAX_WIDTH__ 64
758// MIPS32BE:#define __INTPTR_TYPE__ long int
759// MIPS32BE:#define __INTPTR_WIDTH__ 32
760// MIPS32BE:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +0000761// MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000762// MIPS32BE:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +0000763// MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000764// MIPS32BE:#define __LDBL_HAS_DENORM__ 1
765// MIPS32BE:#define __LDBL_HAS_INFINITY__ 1
766// MIPS32BE:#define __LDBL_HAS_QUIET_NAN__ 1
767// MIPS32BE:#define __LDBL_MANT_DIG__ 53
768// MIPS32BE:#define __LDBL_MAX_10_EXP__ 308
769// MIPS32BE:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +0000770// MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000771// MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307)
772// MIPS32BE:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +0000773// MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000774// MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
775// MIPS32BE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000776// MIPS32BE-NOT:#define __LP64__
Simon Atanasyan7a521802012-04-06 08:37:24 +0000777// MIPS32BE:#define __MIPSEB 1
778// MIPS32BE:#define __MIPSEB__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000779// MIPS32BE:#define __POINTER_WIDTH__ 32
780// MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1
781// MIPS32BE:#define __PTRDIFF_TYPE__ int
782// MIPS32BE:#define __PTRDIFF_WIDTH__ 32
783// MIPS32BE:#define __REGISTER_PREFIX__
784// MIPS32BE:#define __SCHAR_MAX__ 127
785// MIPS32BE:#define __SHRT_MAX__ 32767
786// MIPS32BE:#define __SIG_ATOMIC_WIDTH__ 32
787// MIPS32BE:#define __SIZEOF_DOUBLE__ 8
788// MIPS32BE:#define __SIZEOF_FLOAT__ 4
789// MIPS32BE:#define __SIZEOF_INT__ 4
790// MIPS32BE:#define __SIZEOF_LONG_DOUBLE__ 8
791// MIPS32BE:#define __SIZEOF_LONG_LONG__ 8
792// MIPS32BE:#define __SIZEOF_LONG__ 4
793// MIPS32BE:#define __SIZEOF_POINTER__ 4
794// MIPS32BE:#define __SIZEOF_PTRDIFF_T__ 4
795// MIPS32BE:#define __SIZEOF_SHORT__ 2
796// MIPS32BE:#define __SIZEOF_SIZE_T__ 4
797// MIPS32BE:#define __SIZEOF_WCHAR_T__ 4
798// MIPS32BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000799// MIPS32BE:#define __SIZE_MAX__ 4294967295U
Simon Atanasyan7a521802012-04-06 08:37:24 +0000800// MIPS32BE:#define __SIZE_TYPE__ unsigned int
801// MIPS32BE:#define __SIZE_WIDTH__ 32
802// MIPS32BE:#define __STDC_HOSTED__ 0
803// MIPS32BE:#define __STDC_VERSION__ 199901L
804// MIPS32BE:#define __STDC__ 1
805// MIPS32BE:#define __UINTMAX_TYPE__ long long unsigned int
806// MIPS32BE:#define __USER_LABEL_PREFIX__ _
807// MIPS32BE:#define __WCHAR_MAX__ 2147483647
808// MIPS32BE:#define __WCHAR_TYPE__ int
809// MIPS32BE:#define __WCHAR_WIDTH__ 32
810// MIPS32BE:#define __WINT_TYPE__ int
811// MIPS32BE:#define __WINT_WIDTH__ 32
812// MIPS32BE:#define __clang__ 1
813// MIPS32BE:#define __llvm__ 1
814// MIPS32BE:#define __mips 1
815// MIPS32BE:#define __mips__ 1
816// MIPS32BE:#define __mips_hard_float 1
817// MIPS32BE:#define __mips_o32 1
818// MIPS32BE:#define _mips 1
819// MIPS32BE:#define mips 1
820//
821// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -check-prefix MIPS32EL %s
822//
823// MIPS32EL:#define MIPSEL 1
824// MIPS32EL:#define _ABIO32 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000825// MIPS32EL-NOT:#define _LP64
Simon Atanasyan7a521802012-04-06 08:37:24 +0000826// MIPS32EL:#define _MIPSEL 1
Simon Atanasyan260e5062012-08-29 15:17:29 +0000827// MIPS32EL:#define _MIPS_ARCH "mips32"
828// MIPS32EL:#define _MIPS_ARCH_MIPS32 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000829// MIPS32EL:#define _MIPS_SIM _ABIO32
830// MIPS32EL:#define _MIPS_SZINT 32
831// MIPS32EL:#define _MIPS_SZLONG 32
832// MIPS32EL:#define _MIPS_SZPTR 32
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000833// MIPS32EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyan7a521802012-04-06 08:37:24 +0000834// MIPS32EL:#define __CHAR16_TYPE__ unsigned short
835// MIPS32EL:#define __CHAR32_TYPE__ unsigned int
836// MIPS32EL:#define __CHAR_BIT__ 8
837// MIPS32EL:#define __CONSTANT_CFSTRINGS__ 1
838// MIPS32EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
839// MIPS32EL:#define __DBL_DIG__ 15
840// MIPS32EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
841// MIPS32EL:#define __DBL_HAS_DENORM__ 1
842// MIPS32EL:#define __DBL_HAS_INFINITY__ 1
843// MIPS32EL:#define __DBL_HAS_QUIET_NAN__ 1
844// MIPS32EL:#define __DBL_MANT_DIG__ 53
845// MIPS32EL:#define __DBL_MAX_10_EXP__ 308
846// MIPS32EL:#define __DBL_MAX_EXP__ 1024
847// MIPS32EL:#define __DBL_MAX__ 1.7976931348623157e+308
848// MIPS32EL:#define __DBL_MIN_10_EXP__ (-307)
849// MIPS32EL:#define __DBL_MIN_EXP__ (-1021)
850// MIPS32EL:#define __DBL_MIN__ 2.2250738585072014e-308
851// MIPS32EL:#define __DECIMAL_DIG__ 17
852// MIPS32EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
853// MIPS32EL:#define __FLT_DIG__ 6
854// MIPS32EL:#define __FLT_EPSILON__ 1.19209290e-7F
855// MIPS32EL:#define __FLT_EVAL_METHOD__ 0
856// MIPS32EL:#define __FLT_HAS_DENORM__ 1
857// MIPS32EL:#define __FLT_HAS_INFINITY__ 1
858// MIPS32EL:#define __FLT_HAS_QUIET_NAN__ 1
859// MIPS32EL:#define __FLT_MANT_DIG__ 24
860// MIPS32EL:#define __FLT_MAX_10_EXP__ 38
861// MIPS32EL:#define __FLT_MAX_EXP__ 128
862// MIPS32EL:#define __FLT_MAX__ 3.40282347e+38F
863// MIPS32EL:#define __FLT_MIN_10_EXP__ (-37)
864// MIPS32EL:#define __FLT_MIN_EXP__ (-125)
865// MIPS32EL:#define __FLT_MIN__ 1.17549435e-38F
866// MIPS32EL:#define __FLT_RADIX__ 2
867// MIPS32EL:#define __INT16_TYPE__ short
868// MIPS32EL:#define __INT32_TYPE__ int
869// MIPS32EL:#define __INT64_C_SUFFIX__ LL
870// MIPS32EL:#define __INT64_TYPE__ long long int
871// MIPS32EL:#define __INT8_TYPE__ char
872// MIPS32EL:#define __INTMAX_MAX__ 9223372036854775807LL
873// MIPS32EL:#define __INTMAX_TYPE__ long long int
874// MIPS32EL:#define __INTMAX_WIDTH__ 64
875// MIPS32EL:#define __INTPTR_TYPE__ long int
876// MIPS32EL:#define __INTPTR_WIDTH__ 32
877// MIPS32EL:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +0000878// MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000879// MIPS32EL:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +0000880// MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000881// MIPS32EL:#define __LDBL_HAS_DENORM__ 1
882// MIPS32EL:#define __LDBL_HAS_INFINITY__ 1
883// MIPS32EL:#define __LDBL_HAS_QUIET_NAN__ 1
884// MIPS32EL:#define __LDBL_MANT_DIG__ 53
885// MIPS32EL:#define __LDBL_MAX_10_EXP__ 308
886// MIPS32EL:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +0000887// MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000888// MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307)
889// MIPS32EL:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +0000890// MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000891// MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
892// MIPS32EL:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000893// MIPS32EL-NOT:#define __LP64__
Simon Atanasyan7a521802012-04-06 08:37:24 +0000894// MIPS32EL:#define __MIPSEL 1
895// MIPS32EL:#define __MIPSEL__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000896// MIPS32EL:#define __POINTER_WIDTH__ 32
897// MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1
898// MIPS32EL:#define __PTRDIFF_TYPE__ int
899// MIPS32EL:#define __PTRDIFF_WIDTH__ 32
900// MIPS32EL:#define __REGISTER_PREFIX__
901// MIPS32EL:#define __SCHAR_MAX__ 127
902// MIPS32EL:#define __SHRT_MAX__ 32767
903// MIPS32EL:#define __SIG_ATOMIC_WIDTH__ 32
904// MIPS32EL:#define __SIZEOF_DOUBLE__ 8
905// MIPS32EL:#define __SIZEOF_FLOAT__ 4
906// MIPS32EL:#define __SIZEOF_INT__ 4
907// MIPS32EL:#define __SIZEOF_LONG_DOUBLE__ 8
908// MIPS32EL:#define __SIZEOF_LONG_LONG__ 8
909// MIPS32EL:#define __SIZEOF_LONG__ 4
910// MIPS32EL:#define __SIZEOF_POINTER__ 4
911// MIPS32EL:#define __SIZEOF_PTRDIFF_T__ 4
912// MIPS32EL:#define __SIZEOF_SHORT__ 2
913// MIPS32EL:#define __SIZEOF_SIZE_T__ 4
914// MIPS32EL:#define __SIZEOF_WCHAR_T__ 4
915// MIPS32EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000916// MIPS32EL:#define __SIZE_MAX__ 4294967295U
Simon Atanasyan7a521802012-04-06 08:37:24 +0000917// MIPS32EL:#define __SIZE_TYPE__ unsigned int
918// MIPS32EL:#define __SIZE_WIDTH__ 32
919// MIPS32EL:#define __UINTMAX_TYPE__ long long unsigned int
920// MIPS32EL:#define __USER_LABEL_PREFIX__ _
921// MIPS32EL:#define __WCHAR_MAX__ 2147483647
922// MIPS32EL:#define __WCHAR_TYPE__ int
923// MIPS32EL:#define __WCHAR_WIDTH__ 32
924// MIPS32EL:#define __WINT_TYPE__ int
925// MIPS32EL:#define __WINT_WIDTH__ 32
926// MIPS32EL:#define __clang__ 1
927// MIPS32EL:#define __llvm__ 1
928// MIPS32EL:#define __mips 1
929// MIPS32EL:#define __mips__ 1
930// MIPS32EL:#define __mips_hard_float 1
931// MIPS32EL:#define __mips_o32 1
932// MIPS32EL:#define _mips 1
933// MIPS32EL:#define mips 1
934//
935// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -check-prefix MIPS64BE %s
936//
937// MIPS64BE:#define MIPSEB 1
938// MIPS64BE:#define _ABI64 3
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000939// MIPS64BE:#define _LP64 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000940// MIPS64BE:#define _MIPSEB 1
Simon Atanasyan260e5062012-08-29 15:17:29 +0000941// MIPS64BE:#define _MIPS_ARCH "mips64"
942// MIPS64BE:#define _MIPS_ARCH_MIPS64 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000943// MIPS64BE:#define _MIPS_SIM _ABI64
944// MIPS64BE:#define _MIPS_SZINT 32
945// MIPS64BE:#define _MIPS_SZLONG 64
946// MIPS64BE:#define _MIPS_SZPTR 64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000947// MIPS64BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyan7a521802012-04-06 08:37:24 +0000948// MIPS64BE:#define __CHAR16_TYPE__ unsigned short
949// MIPS64BE:#define __CHAR32_TYPE__ unsigned int
950// MIPS64BE:#define __CHAR_BIT__ 8
951// MIPS64BE:#define __CONSTANT_CFSTRINGS__ 1
952// MIPS64BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
953// MIPS64BE:#define __DBL_DIG__ 15
954// MIPS64BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
955// MIPS64BE:#define __DBL_HAS_DENORM__ 1
956// MIPS64BE:#define __DBL_HAS_INFINITY__ 1
957// MIPS64BE:#define __DBL_HAS_QUIET_NAN__ 1
958// MIPS64BE:#define __DBL_MANT_DIG__ 53
959// MIPS64BE:#define __DBL_MAX_10_EXP__ 308
960// MIPS64BE:#define __DBL_MAX_EXP__ 1024
961// MIPS64BE:#define __DBL_MAX__ 1.7976931348623157e+308
962// MIPS64BE:#define __DBL_MIN_10_EXP__ (-307)
963// MIPS64BE:#define __DBL_MIN_EXP__ (-1021)
964// MIPS64BE:#define __DBL_MIN__ 2.2250738585072014e-308
965// MIPS64BE:#define __DECIMAL_DIG__ 36
966// MIPS64BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
967// MIPS64BE:#define __FLT_DIG__ 6
968// MIPS64BE:#define __FLT_EPSILON__ 1.19209290e-7F
969// MIPS64BE:#define __FLT_EVAL_METHOD__ 0
970// MIPS64BE:#define __FLT_HAS_DENORM__ 1
971// MIPS64BE:#define __FLT_HAS_INFINITY__ 1
972// MIPS64BE:#define __FLT_HAS_QUIET_NAN__ 1
973// MIPS64BE:#define __FLT_MANT_DIG__ 24
974// MIPS64BE:#define __FLT_MAX_10_EXP__ 38
975// MIPS64BE:#define __FLT_MAX_EXP__ 128
976// MIPS64BE:#define __FLT_MAX__ 3.40282347e+38F
977// MIPS64BE:#define __FLT_MIN_10_EXP__ (-37)
978// MIPS64BE:#define __FLT_MIN_EXP__ (-125)
979// MIPS64BE:#define __FLT_MIN__ 1.17549435e-38F
980// MIPS64BE:#define __FLT_RADIX__ 2
981// MIPS64BE:#define __INT16_TYPE__ short
982// MIPS64BE:#define __INT32_TYPE__ int
983// MIPS64BE:#define __INT64_C_SUFFIX__ LL
984// MIPS64BE:#define __INT64_TYPE__ long long int
985// MIPS64BE:#define __INT8_TYPE__ char
986// MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807LL
987// MIPS64BE:#define __INTMAX_TYPE__ long long int
988// MIPS64BE:#define __INTMAX_WIDTH__ 64
989// MIPS64BE:#define __INTPTR_TYPE__ long int
990// MIPS64BE:#define __INTPTR_WIDTH__ 64
991// MIPS64BE:#define __INT_MAX__ 2147483647
992// MIPS64BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
993// MIPS64BE:#define __LDBL_DIG__ 33
994// MIPS64BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
995// MIPS64BE:#define __LDBL_HAS_DENORM__ 1
996// MIPS64BE:#define __LDBL_HAS_INFINITY__ 1
997// MIPS64BE:#define __LDBL_HAS_QUIET_NAN__ 1
998// MIPS64BE:#define __LDBL_MANT_DIG__ 113
999// MIPS64BE:#define __LDBL_MAX_10_EXP__ 4932
1000// MIPS64BE:#define __LDBL_MAX_EXP__ 16384
1001// MIPS64BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1002// MIPS64BE:#define __LDBL_MIN_10_EXP__ (-4931)
1003// MIPS64BE:#define __LDBL_MIN_EXP__ (-16381)
1004// MIPS64BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1005// MIPS64BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1006// MIPS64BE:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001007// MIPS64BE:#define __LP64__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001008// MIPS64BE:#define __MIPSEB 1
1009// MIPS64BE:#define __MIPSEB__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001010// MIPS64BE:#define __POINTER_WIDTH__ 64
1011// MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1
1012// MIPS64BE:#define __PTRDIFF_TYPE__ long int
1013// MIPS64BE:#define __PTRDIFF_WIDTH__ 64
1014// MIPS64BE:#define __REGISTER_PREFIX__
1015// MIPS64BE:#define __SCHAR_MAX__ 127
1016// MIPS64BE:#define __SHRT_MAX__ 32767
1017// MIPS64BE:#define __SIG_ATOMIC_WIDTH__ 32
1018// MIPS64BE:#define __SIZEOF_DOUBLE__ 8
1019// MIPS64BE:#define __SIZEOF_FLOAT__ 4
1020// MIPS64BE:#define __SIZEOF_INT__ 4
1021// MIPS64BE:#define __SIZEOF_LONG_DOUBLE__ 16
1022// MIPS64BE:#define __SIZEOF_LONG_LONG__ 8
1023// MIPS64BE:#define __SIZEOF_LONG__ 8
1024// MIPS64BE:#define __SIZEOF_POINTER__ 8
1025// MIPS64BE:#define __SIZEOF_PTRDIFF_T__ 8
1026// MIPS64BE:#define __SIZEOF_SHORT__ 2
1027// MIPS64BE:#define __SIZEOF_SIZE_T__ 8
1028// MIPS64BE:#define __SIZEOF_WCHAR_T__ 4
1029// MIPS64BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001030// MIPS64BE:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyan7a521802012-04-06 08:37:24 +00001031// MIPS64BE:#define __SIZE_TYPE__ long unsigned int
1032// MIPS64BE:#define __SIZE_WIDTH__ 64
1033// MIPS64BE:#define __UINTMAX_TYPE__ long long unsigned int
1034// MIPS64BE:#define __USER_LABEL_PREFIX__ _
1035// MIPS64BE:#define __WCHAR_MAX__ 2147483647
1036// MIPS64BE:#define __WCHAR_TYPE__ int
1037// MIPS64BE:#define __WCHAR_WIDTH__ 32
1038// MIPS64BE:#define __WINT_TYPE__ int
1039// MIPS64BE:#define __WINT_WIDTH__ 32
1040// MIPS64BE:#define __clang__ 1
1041// MIPS64BE:#define __llvm__ 1
1042// MIPS64BE:#define __mips 1
Simon Atanasyan600a5132012-08-29 20:50:11 +00001043// MIPS64BE:#define __mips64 1
1044// MIPS64BE:#define __mips64__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001045// MIPS64BE:#define __mips__ 1
1046// MIPS64BE:#define __mips_hard_float 1
1047// MIPS64BE:#define __mips_n64 1
1048// MIPS64BE:#define _mips 1
1049// MIPS64BE:#define mips 1
1050//
1051// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -check-prefix MIPS64EL %s
1052//
1053// MIPS64EL:#define MIPSEL 1
1054// MIPS64EL:#define _ABI64 3
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001055// MIPS64EL:#define _LP64 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001056// MIPS64EL:#define _MIPSEL 1
Simon Atanasyan260e5062012-08-29 15:17:29 +00001057// MIPS64EL:#define _MIPS_ARCH "mips64"
1058// MIPS64EL:#define _MIPS_ARCH_MIPS64 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001059// MIPS64EL:#define _MIPS_SIM _ABI64
1060// MIPS64EL:#define _MIPS_SZINT 32
1061// MIPS64EL:#define _MIPS_SZLONG 64
1062// MIPS64EL:#define _MIPS_SZPTR 64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001063// MIPS64EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyan7a521802012-04-06 08:37:24 +00001064// MIPS64EL:#define __CHAR16_TYPE__ unsigned short
1065// MIPS64EL:#define __CHAR32_TYPE__ unsigned int
1066// MIPS64EL:#define __CHAR_BIT__ 8
1067// MIPS64EL:#define __CONSTANT_CFSTRINGS__ 1
1068// MIPS64EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1069// MIPS64EL:#define __DBL_DIG__ 15
1070// MIPS64EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1071// MIPS64EL:#define __DBL_HAS_DENORM__ 1
1072// MIPS64EL:#define __DBL_HAS_INFINITY__ 1
1073// MIPS64EL:#define __DBL_HAS_QUIET_NAN__ 1
1074// MIPS64EL:#define __DBL_MANT_DIG__ 53
1075// MIPS64EL:#define __DBL_MAX_10_EXP__ 308
1076// MIPS64EL:#define __DBL_MAX_EXP__ 1024
1077// MIPS64EL:#define __DBL_MAX__ 1.7976931348623157e+308
1078// MIPS64EL:#define __DBL_MIN_10_EXP__ (-307)
1079// MIPS64EL:#define __DBL_MIN_EXP__ (-1021)
1080// MIPS64EL:#define __DBL_MIN__ 2.2250738585072014e-308
1081// MIPS64EL:#define __DECIMAL_DIG__ 36
1082// MIPS64EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1083// MIPS64EL:#define __FLT_DIG__ 6
1084// MIPS64EL:#define __FLT_EPSILON__ 1.19209290e-7F
1085// MIPS64EL:#define __FLT_EVAL_METHOD__ 0
1086// MIPS64EL:#define __FLT_HAS_DENORM__ 1
1087// MIPS64EL:#define __FLT_HAS_INFINITY__ 1
1088// MIPS64EL:#define __FLT_HAS_QUIET_NAN__ 1
1089// MIPS64EL:#define __FLT_MANT_DIG__ 24
1090// MIPS64EL:#define __FLT_MAX_10_EXP__ 38
1091// MIPS64EL:#define __FLT_MAX_EXP__ 128
1092// MIPS64EL:#define __FLT_MAX__ 3.40282347e+38F
1093// MIPS64EL:#define __FLT_MIN_10_EXP__ (-37)
1094// MIPS64EL:#define __FLT_MIN_EXP__ (-125)
1095// MIPS64EL:#define __FLT_MIN__ 1.17549435e-38F
1096// MIPS64EL:#define __FLT_RADIX__ 2
1097// MIPS64EL:#define __INT16_TYPE__ short
1098// MIPS64EL:#define __INT32_TYPE__ int
1099// MIPS64EL:#define __INT64_C_SUFFIX__ LL
1100// MIPS64EL:#define __INT64_TYPE__ long long int
1101// MIPS64EL:#define __INT8_TYPE__ char
1102// MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807LL
1103// MIPS64EL:#define __INTMAX_TYPE__ long long int
1104// MIPS64EL:#define __INTMAX_WIDTH__ 64
1105// MIPS64EL:#define __INTPTR_TYPE__ long int
1106// MIPS64EL:#define __INTPTR_WIDTH__ 64
1107// MIPS64EL:#define __INT_MAX__ 2147483647
1108// MIPS64EL:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1109// MIPS64EL:#define __LDBL_DIG__ 33
1110// MIPS64EL:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1111// MIPS64EL:#define __LDBL_HAS_DENORM__ 1
1112// MIPS64EL:#define __LDBL_HAS_INFINITY__ 1
1113// MIPS64EL:#define __LDBL_HAS_QUIET_NAN__ 1
1114// MIPS64EL:#define __LDBL_MANT_DIG__ 113
1115// MIPS64EL:#define __LDBL_MAX_10_EXP__ 4932
1116// MIPS64EL:#define __LDBL_MAX_EXP__ 16384
1117// MIPS64EL:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1118// MIPS64EL:#define __LDBL_MIN_10_EXP__ (-4931)
1119// MIPS64EL:#define __LDBL_MIN_EXP__ (-16381)
1120// MIPS64EL:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1121// MIPS64EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1122// MIPS64EL:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001123// MIPS64EL:#define __LP64__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001124// MIPS64EL:#define __MIPSEL 1
1125// MIPS64EL:#define __MIPSEL__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001126// MIPS64EL:#define __POINTER_WIDTH__ 64
1127// MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1128// MIPS64EL:#define __PTRDIFF_TYPE__ long int
1129// MIPS64EL:#define __PTRDIFF_WIDTH__ 64
1130// MIPS64EL:#define __REGISTER_PREFIX__
1131// MIPS64EL:#define __SCHAR_MAX__ 127
1132// MIPS64EL:#define __SHRT_MAX__ 32767
1133// MIPS64EL:#define __SIG_ATOMIC_WIDTH__ 32
1134// MIPS64EL:#define __SIZEOF_DOUBLE__ 8
1135// MIPS64EL:#define __SIZEOF_FLOAT__ 4
1136// MIPS64EL:#define __SIZEOF_INT__ 4
1137// MIPS64EL:#define __SIZEOF_LONG_DOUBLE__ 16
1138// MIPS64EL:#define __SIZEOF_LONG_LONG__ 8
1139// MIPS64EL:#define __SIZEOF_LONG__ 8
1140// MIPS64EL:#define __SIZEOF_POINTER__ 8
1141// MIPS64EL:#define __SIZEOF_PTRDIFF_T__ 8
1142// MIPS64EL:#define __SIZEOF_SHORT__ 2
1143// MIPS64EL:#define __SIZEOF_SIZE_T__ 8
1144// MIPS64EL:#define __SIZEOF_WCHAR_T__ 4
1145// MIPS64EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001146// MIPS64EL:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyan7a521802012-04-06 08:37:24 +00001147// MIPS64EL:#define __SIZE_TYPE__ long unsigned int
1148// MIPS64EL:#define __SIZE_WIDTH__ 64
1149// MIPS64EL:#define __UINTMAX_TYPE__ long long unsigned int
1150// MIPS64EL:#define __USER_LABEL_PREFIX__ _
1151// MIPS64EL:#define __WCHAR_MAX__ 2147483647
1152// MIPS64EL:#define __WCHAR_TYPE__ int
1153// MIPS64EL:#define __WCHAR_WIDTH__ 32
1154// MIPS64EL:#define __WINT_TYPE__ int
1155// MIPS64EL:#define __WINT_WIDTH__ 32
1156// MIPS64EL:#define __clang__ 1
1157// MIPS64EL:#define __llvm__ 1
1158// MIPS64EL:#define __mips 1
Simon Atanasyan600a5132012-08-29 20:50:11 +00001159// MIPS64EL:#define __mips64 1
1160// MIPS64EL:#define __mips64__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001161// MIPS64EL:#define __mips__ 1
1162// MIPS64EL:#define __mips_hard_float 1
1163// MIPS64EL:#define __mips_n64 1
1164// MIPS64EL:#define _mips 1
1165// MIPS64EL:#define mips 1
1166//
Simon Atanasyanaba3f0f2012-04-06 17:51:49 +00001167// Check MIPS float ABI macros
1168//
1169// RUN: %clang_cc1 -E -dM -ffreestanding \
1170// RUN: -triple=mips-none-none < /dev/null \
1171// RUN: | FileCheck -check-prefix MIPS-FABI-HARD %s
1172// MIPS-FABI-HARD:#define __mips_hard_float 1
1173//
1174// RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \
1175// RUN: -triple=mips-none-none < /dev/null \
1176// RUN: | FileCheck -check-prefix MIPS-FABI-SOFT %s
1177// MIPS-FABI-SOFT:#define __mips_soft_float 1
1178//
1179// RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \
1180// RUN: -triple=mips-none-none < /dev/null \
1181// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE %s
Simon Atanasyan3dbcc882012-06-05 13:06:56 +00001182// MIPS-FABI-SINGLE:#define __mips_hard_float 1
Simon Atanasyanaba3f0f2012-04-06 17:51:49 +00001183// MIPS-FABI-SINGLE:#define __mips_single_float 1
1184//
Simon Atanasyand96e3152013-04-14 14:07:30 +00001185// RUN: %clang_cc1 -target-feature +soft-float -target-feature +single-float \
1186// RUN: -E -dM -ffreestanding -triple=mips-none-none < /dev/null \
1187// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE-SOFT %s
1188// MIPS-FABI-SINGLE-SOFT:#define __mips_single_float 1
1189// MIPS-FABI-SINGLE-SOFT:#define __mips_soft_float 1
1190//
Simon Atanasyan1176bcd2012-07-05 16:06:06 +00001191// Check MIPS features macros
1192//
1193// RUN: %clang_cc1 -target-feature +mips16 \
1194// RUN: -E -dM -triple=mips-none-none < /dev/null \
1195// RUN: | FileCheck -check-prefix MIPS16 %s
1196// MIPS16:#define __mips16 1
1197//
1198// RUN: %clang_cc1 -target-feature -mips16 \
1199// RUN: -E -dM -triple=mips-none-none < /dev/null \
1200// RUN: | FileCheck -check-prefix NOMIPS16 %s
1201// NOMIPS16-NOT:#define __mips16 1
1202//
Simon Atanasyan321ae792013-04-14 14:07:51 +00001203// RUN: %clang_cc1 -target-feature +micromips \
1204// RUN: -E -dM -triple=mips-none-none < /dev/null \
1205// RUN: | FileCheck -check-prefix MICROMIPS %s
1206// MICROMIPS:#define __mips_micromips 1
1207//
1208// RUN: %clang_cc1 -target-feature -micromips \
1209// RUN: -E -dM -triple=mips-none-none < /dev/null \
1210// RUN: | FileCheck -check-prefix NOMICROMIPS %s
1211// NOMICROMIPS-NOT:#define __mips_micromips 1
1212//
Simon Atanasyana1b62272012-07-05 20:16:22 +00001213// RUN: %clang_cc1 -target-feature +dsp \
1214// RUN: -E -dM -triple=mips-none-none < /dev/null \
1215// RUN: | FileCheck -check-prefix MIPS-DSP %s
1216// MIPS-DSP:#define __mips_dsp 1
1217// MIPS-DSP:#define __mips_dsp_rev 1
1218// MIPS-DSP-NOT:#define __mips_dspr2 1
1219//
1220// RUN: %clang_cc1 -target-feature +dspr2 \
1221// RUN: -E -dM -triple=mips-none-none < /dev/null \
1222// RUN: | FileCheck -check-prefix MIPS-DSPR2 %s
1223// MIPS-DSPR2:#define __mips_dsp 1
1224// MIPS-DSPR2:#define __mips_dsp_rev 2
1225// MIPS-DSPR2:#define __mips_dspr2 1
1226//
Daniel Dunbara5728872009-12-15 20:14:24 +00001227// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00001228//
1229// MSP430:#define MSP430 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001230// MSP430-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001231// MSP430:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00001232// MSP430:#define __CHAR16_TYPE__ unsigned short
1233// MSP430:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001234// MSP430:#define __CHAR_BIT__ 8
1235// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1236// MSP430:#define __DBL_DIG__ 15
1237// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
1238// MSP430:#define __DBL_HAS_DENORM__ 1
1239// MSP430:#define __DBL_HAS_INFINITY__ 1
1240// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
1241// MSP430:#define __DBL_MANT_DIG__ 53
1242// MSP430:#define __DBL_MAX_10_EXP__ 308
1243// MSP430:#define __DBL_MAX_EXP__ 1024
1244// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
1245// MSP430:#define __DBL_MIN_10_EXP__ (-307)
1246// MSP430:#define __DBL_MIN_EXP__ (-1021)
1247// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
1248// MSP430:#define __DECIMAL_DIG__ 17
1249// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1250// MSP430:#define __FLT_DIG__ 6
1251// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
1252// MSP430:#define __FLT_EVAL_METHOD__ 0
1253// MSP430:#define __FLT_HAS_DENORM__ 1
1254// MSP430:#define __FLT_HAS_INFINITY__ 1
1255// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
1256// MSP430:#define __FLT_MANT_DIG__ 24
1257// MSP430:#define __FLT_MAX_10_EXP__ 38
1258// MSP430:#define __FLT_MAX_EXP__ 128
1259// MSP430:#define __FLT_MAX__ 3.40282347e+38F
1260// MSP430:#define __FLT_MIN_10_EXP__ (-37)
1261// MSP430:#define __FLT_MIN_EXP__ (-125)
1262// MSP430:#define __FLT_MIN__ 1.17549435e-38F
1263// MSP430:#define __FLT_RADIX__ 2
1264// MSP430:#define __INT16_TYPE__ short
Ken Dyckeef22ef2009-11-16 16:36:33 +00001265// MSP430:#define __INT32_C_SUFFIX__ L
Chris Lattnerdcdd2a02009-11-12 08:08:27 +00001266// MSP430:#define __INT32_TYPE__ long int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001267// MSP430:#define __INT8_TYPE__ char
1268// MSP430:#define __INTMAX_MAX__ 2147483647L
Ken Dyck8241d732009-11-19 13:18:59 +00001269// MSP430:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00001270// MSP430:#define __INTMAX_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00001271// MSP430:#define __INTPTR_TYPE__ short
Ken Dyckd896e1a2009-11-18 20:05:48 +00001272// MSP430:#define __INTPTR_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +00001273// MSP430:#define __INT_MAX__ 32767
Eli Friedman75e8efe2012-11-10 00:20:38 +00001274// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001275// MSP430:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00001276// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001277// MSP430:#define __LDBL_HAS_DENORM__ 1
1278// MSP430:#define __LDBL_HAS_INFINITY__ 1
1279// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
1280// MSP430:#define __LDBL_MANT_DIG__ 53
1281// MSP430:#define __LDBL_MAX_10_EXP__ 308
1282// MSP430:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00001283// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001284// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
1285// MSP430:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00001286// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikov79bff432010-01-14 21:36:52 +00001287// MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
Chris Lattnerbceaf862009-10-29 04:55:36 +00001288// MSP430:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001289// MSP430-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +00001290// MSP430:#define __MSP430__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00001291// MSP430:#define __POINTER_WIDTH__ 16
Ken Dyck8241d732009-11-19 13:18:59 +00001292// MSP430:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +00001293// MSP430:#define __PTRDIFF_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +00001294// MSP430:#define __SCHAR_MAX__ 127
1295// MSP430:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00001296// MSP430:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00001297// MSP430:#define __SIZEOF_DOUBLE__ 8
1298// MSP430:#define __SIZEOF_FLOAT__ 4
1299// MSP430:#define __SIZEOF_INT__ 2
1300// MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
1301// MSP430:#define __SIZEOF_LONG_LONG__ 8
1302// MSP430:#define __SIZEOF_LONG__ 4
1303// MSP430:#define __SIZEOF_POINTER__ 2
1304// MSP430:#define __SIZEOF_PTRDIFF_T__ 2
1305// MSP430:#define __SIZEOF_SHORT__ 2
1306// MSP430:#define __SIZEOF_SIZE_T__ 2
1307// MSP430:#define __SIZEOF_WCHAR_T__ 2
1308// MSP430:#define __SIZEOF_WINT_T__ 2
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001309// MSP430:#define __SIZE_MAX__ 65535U
Chris Lattnerbceaf862009-10-29 04:55:36 +00001310// MSP430:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00001311// MSP430:#define __SIZE_WIDTH__ 16
Ken Dyck8241d732009-11-19 13:18:59 +00001312// MSP430:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001313// MSP430:#define __USER_LABEL_PREFIX__ _
Chris Lattner91846462009-11-12 08:04:33 +00001314// MSP430:#define __WCHAR_MAX__ 32767
Chris Lattnerbceaf862009-10-29 04:55:36 +00001315// MSP430:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001316// MSP430:#define __WCHAR_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +00001317// MSP430:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001318// MSP430:#define __WINT_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +00001319// MSP430:#define __clang__ 1
1320//
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001321// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s
1322//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001323// NVPTX32-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001324// NVPTX32:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001325// NVPTX32:#define __CHAR16_TYPE__ unsigned short
1326// NVPTX32:#define __CHAR32_TYPE__ unsigned int
1327// NVPTX32:#define __CHAR_BIT__ 8
1328// NVPTX32:#define __CONSTANT_CFSTRINGS__ 1
1329// NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1330// NVPTX32:#define __DBL_DIG__ 15
1331// NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16
1332// NVPTX32:#define __DBL_HAS_DENORM__ 1
1333// NVPTX32:#define __DBL_HAS_INFINITY__ 1
1334// NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1
1335// NVPTX32:#define __DBL_MANT_DIG__ 53
1336// NVPTX32:#define __DBL_MAX_10_EXP__ 308
1337// NVPTX32:#define __DBL_MAX_EXP__ 1024
1338// NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308
1339// NVPTX32:#define __DBL_MIN_10_EXP__ (-307)
1340// NVPTX32:#define __DBL_MIN_EXP__ (-1021)
1341// NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308
1342// NVPTX32:#define __DECIMAL_DIG__ 17
1343// NVPTX32:#define __FINITE_MATH_ONLY__ 0
1344// NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1345// NVPTX32:#define __FLT_DIG__ 6
1346// NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F
1347// NVPTX32:#define __FLT_EVAL_METHOD__ 0
1348// NVPTX32:#define __FLT_HAS_DENORM__ 1
1349// NVPTX32:#define __FLT_HAS_INFINITY__ 1
1350// NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1
1351// NVPTX32:#define __FLT_MANT_DIG__ 24
1352// NVPTX32:#define __FLT_MAX_10_EXP__ 38
1353// NVPTX32:#define __FLT_MAX_EXP__ 128
1354// NVPTX32:#define __FLT_MAX__ 3.40282347e+38F
1355// NVPTX32:#define __FLT_MIN_10_EXP__ (-37)
1356// NVPTX32:#define __FLT_MIN_EXP__ (-125)
1357// NVPTX32:#define __FLT_MIN__ 1.17549435e-38F
1358// NVPTX32:#define __FLT_RADIX__ 2
1359// NVPTX32:#define __INT16_TYPE__ short
1360// NVPTX32:#define __INT32_TYPE__ int
1361// NVPTX32:#define __INT64_C_SUFFIX__ LL
1362// NVPTX32:#define __INT64_TYPE__ long long int
1363// NVPTX32:#define __INT8_TYPE__ char
1364// NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL
1365// NVPTX32:#define __INTMAX_TYPE__ long long int
1366// NVPTX32:#define __INTMAX_WIDTH__ 64
1367// NVPTX32:#define __INTPTR_TYPE__ unsigned int
1368// NVPTX32:#define __INTPTR_WIDTH__ 32
1369// NVPTX32:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00001370// NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001371// NVPTX32:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00001372// NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001373// NVPTX32:#define __LDBL_HAS_DENORM__ 1
1374// NVPTX32:#define __LDBL_HAS_INFINITY__ 1
1375// NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1
1376// NVPTX32:#define __LDBL_MANT_DIG__ 53
1377// NVPTX32:#define __LDBL_MAX_10_EXP__ 308
1378// NVPTX32:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00001379// NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001380// NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
1381// NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00001382// NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001383// NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL
1384// NVPTX32:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001385// NVPTX32-NOT:#define __LP64__
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001386// NVPTX32:#define __NVPTX__ 1
1387// NVPTX32:#define __POINTER_WIDTH__ 32
1388// NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1
1389// NVPTX32:#define __PTRDIFF_TYPE__ unsigned int
1390// NVPTX32:#define __PTRDIFF_WIDTH__ 32
1391// NVPTX32:#define __PTX__ 1
1392// NVPTX32:#define __SCHAR_MAX__ 127
1393// NVPTX32:#define __SHRT_MAX__ 32767
1394// NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32
1395// NVPTX32:#define __SIZEOF_DOUBLE__ 8
1396// NVPTX32:#define __SIZEOF_FLOAT__ 4
1397// NVPTX32:#define __SIZEOF_INT__ 4
1398// NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8
1399// NVPTX32:#define __SIZEOF_LONG_LONG__ 8
1400// NVPTX32:#define __SIZEOF_LONG__ 8
1401// NVPTX32:#define __SIZEOF_POINTER__ 4
1402// NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4
1403// NVPTX32:#define __SIZEOF_SHORT__ 2
1404// NVPTX32:#define __SIZEOF_SIZE_T__ 4
1405// NVPTX32:#define __SIZEOF_WCHAR_T__ 4
1406// NVPTX32:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001407// NVPTX32:#define __SIZE_MAX__ 4294967295U
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001408// NVPTX32:#define __SIZE_TYPE__ unsigned int
1409// NVPTX32:#define __SIZE_WIDTH__ 32
1410// NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int
1411// NVPTX32:#define __USER_LABEL_PREFIX__ _
1412// NVPTX32:#define __WCHAR_MAX__ 2147483647
1413// NVPTX32:#define __WCHAR_TYPE__ int
1414// NVPTX32:#define __WCHAR_WIDTH__ 32
1415// NVPTX32:#define __WINT_TYPE__ int
1416// NVPTX32:#define __WINT_WIDTH__ 32
1417//
1418// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -check-prefix NVPTX64 %s
1419//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001420// NVPTX64:#define _LP64 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001421// NVPTX64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001422// NVPTX64:#define __CHAR16_TYPE__ unsigned short
1423// NVPTX64:#define __CHAR32_TYPE__ unsigned int
1424// NVPTX64:#define __CHAR_BIT__ 8
1425// NVPTX64:#define __CONSTANT_CFSTRINGS__ 1
1426// NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1427// NVPTX64:#define __DBL_DIG__ 15
1428// NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1429// NVPTX64:#define __DBL_HAS_DENORM__ 1
1430// NVPTX64:#define __DBL_HAS_INFINITY__ 1
1431// NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1
1432// NVPTX64:#define __DBL_MANT_DIG__ 53
1433// NVPTX64:#define __DBL_MAX_10_EXP__ 308
1434// NVPTX64:#define __DBL_MAX_EXP__ 1024
1435// NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308
1436// NVPTX64:#define __DBL_MIN_10_EXP__ (-307)
1437// NVPTX64:#define __DBL_MIN_EXP__ (-1021)
1438// NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308
1439// NVPTX64:#define __DECIMAL_DIG__ 17
1440// NVPTX64:#define __FINITE_MATH_ONLY__ 0
1441// NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1442// NVPTX64:#define __FLT_DIG__ 6
1443// NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F
1444// NVPTX64:#define __FLT_EVAL_METHOD__ 0
1445// NVPTX64:#define __FLT_HAS_DENORM__ 1
1446// NVPTX64:#define __FLT_HAS_INFINITY__ 1
1447// NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1
1448// NVPTX64:#define __FLT_MANT_DIG__ 24
1449// NVPTX64:#define __FLT_MAX_10_EXP__ 38
1450// NVPTX64:#define __FLT_MAX_EXP__ 128
1451// NVPTX64:#define __FLT_MAX__ 3.40282347e+38F
1452// NVPTX64:#define __FLT_MIN_10_EXP__ (-37)
1453// NVPTX64:#define __FLT_MIN_EXP__ (-125)
1454// NVPTX64:#define __FLT_MIN__ 1.17549435e-38F
1455// NVPTX64:#define __FLT_RADIX__ 2
1456// NVPTX64:#define __INT16_TYPE__ short
1457// NVPTX64:#define __INT32_TYPE__ int
1458// NVPTX64:#define __INT64_C_SUFFIX__ LL
1459// NVPTX64:#define __INT64_TYPE__ long long int
1460// NVPTX64:#define __INT8_TYPE__ char
1461// NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL
1462// NVPTX64:#define __INTMAX_TYPE__ long long int
1463// NVPTX64:#define __INTMAX_WIDTH__ 64
1464// NVPTX64:#define __INTPTR_TYPE__ long long unsigned int
1465// NVPTX64:#define __INTPTR_WIDTH__ 64
1466// NVPTX64:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00001467// NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001468// NVPTX64:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00001469// NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001470// NVPTX64:#define __LDBL_HAS_DENORM__ 1
1471// NVPTX64:#define __LDBL_HAS_INFINITY__ 1
1472// NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1
1473// NVPTX64:#define __LDBL_MANT_DIG__ 53
1474// NVPTX64:#define __LDBL_MAX_10_EXP__ 308
1475// NVPTX64:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00001476// NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001477// NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
1478// NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00001479// NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001480// NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1481// NVPTX64:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001482// NVPTX64:#define __LP64__ 1
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001483// NVPTX64:#define __NVPTX__ 1
1484// NVPTX64:#define __POINTER_WIDTH__ 64
1485// NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1
1486// NVPTX64:#define __PTRDIFF_TYPE__ long long unsigned int
1487// NVPTX64:#define __PTRDIFF_WIDTH__ 64
1488// NVPTX64:#define __PTX__ 1
1489// NVPTX64:#define __SCHAR_MAX__ 127
1490// NVPTX64:#define __SHRT_MAX__ 32767
1491// NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32
1492// NVPTX64:#define __SIZEOF_DOUBLE__ 8
1493// NVPTX64:#define __SIZEOF_FLOAT__ 4
1494// NVPTX64:#define __SIZEOF_INT__ 4
1495// NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8
1496// NVPTX64:#define __SIZEOF_LONG_LONG__ 8
1497// NVPTX64:#define __SIZEOF_LONG__ 8
1498// NVPTX64:#define __SIZEOF_POINTER__ 8
1499// NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8
1500// NVPTX64:#define __SIZEOF_SHORT__ 2
1501// NVPTX64:#define __SIZEOF_SIZE_T__ 8
1502// NVPTX64:#define __SIZEOF_WCHAR_T__ 4
1503// NVPTX64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001504// NVPTX64:#define __SIZE_MAX__ 18446744073709551615UL
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001505// NVPTX64:#define __SIZE_TYPE__ long long unsigned int
1506// NVPTX64:#define __SIZE_WIDTH__ 64
1507// NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int
1508// NVPTX64:#define __USER_LABEL_PREFIX__ _
1509// NVPTX64:#define __WCHAR_MAX__ 2147483647
1510// NVPTX64:#define __WCHAR_TYPE__ int
1511// NVPTX64:#define __WCHAR_WIDTH__ 32
1512// NVPTX64:#define __WINT_TYPE__ int
1513// NVPTX64:#define __WINT_WIDTH__ 32
1514//
Hal Finkel39d5fa12012-07-03 16:51:04 +00001515// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -check-prefix PPC603E %s
1516//
1517// PPC603E:#define _ARCH_603 1
1518// PPC603E:#define _ARCH_603E 1
1519// PPC603E:#define _ARCH_PPC 1
1520// PPC603E:#define _ARCH_PPCGR 1
1521// PPC603E:#define _BIG_ENDIAN 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001522// PPC603E-NOT:#define _LP64
Hal Finkel39d5fa12012-07-03 16:51:04 +00001523// PPC603E:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001524// PPC603E:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Hal Finkel39d5fa12012-07-03 16:51:04 +00001525// PPC603E:#define __CHAR16_TYPE__ unsigned short
1526// PPC603E:#define __CHAR32_TYPE__ unsigned int
1527// PPC603E:#define __CHAR_BIT__ 8
1528// PPC603E:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1529// PPC603E:#define __DBL_DIG__ 15
1530// PPC603E:#define __DBL_EPSILON__ 2.2204460492503131e-16
1531// PPC603E:#define __DBL_HAS_DENORM__ 1
1532// PPC603E:#define __DBL_HAS_INFINITY__ 1
1533// PPC603E:#define __DBL_HAS_QUIET_NAN__ 1
1534// PPC603E:#define __DBL_MANT_DIG__ 53
1535// PPC603E:#define __DBL_MAX_10_EXP__ 308
1536// PPC603E:#define __DBL_MAX_EXP__ 1024
1537// PPC603E:#define __DBL_MAX__ 1.7976931348623157e+308
1538// PPC603E:#define __DBL_MIN_10_EXP__ (-307)
1539// PPC603E:#define __DBL_MIN_EXP__ (-1021)
1540// PPC603E:#define __DBL_MIN__ 2.2250738585072014e-308
1541// PPC603E:#define __DECIMAL_DIG__ 33
1542// PPC603E:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1543// PPC603E:#define __FLT_DIG__ 6
1544// PPC603E:#define __FLT_EPSILON__ 1.19209290e-7F
1545// PPC603E:#define __FLT_EVAL_METHOD__ 0
1546// PPC603E:#define __FLT_HAS_DENORM__ 1
1547// PPC603E:#define __FLT_HAS_INFINITY__ 1
1548// PPC603E:#define __FLT_HAS_QUIET_NAN__ 1
1549// PPC603E:#define __FLT_MANT_DIG__ 24
1550// PPC603E:#define __FLT_MAX_10_EXP__ 38
1551// PPC603E:#define __FLT_MAX_EXP__ 128
1552// PPC603E:#define __FLT_MAX__ 3.40282347e+38F
1553// PPC603E:#define __FLT_MIN_10_EXP__ (-37)
1554// PPC603E:#define __FLT_MIN_EXP__ (-125)
1555// PPC603E:#define __FLT_MIN__ 1.17549435e-38F
1556// PPC603E:#define __FLT_RADIX__ 2
1557// PPC603E:#define __INT16_TYPE__ short
1558// PPC603E:#define __INT32_TYPE__ int
1559// PPC603E:#define __INT64_C_SUFFIX__ LL
1560// PPC603E:#define __INT64_TYPE__ long long int
1561// PPC603E:#define __INT8_TYPE__ char
1562// PPC603E:#define __INTMAX_MAX__ 9223372036854775807LL
1563// PPC603E:#define __INTMAX_TYPE__ long long int
1564// PPC603E:#define __INTMAX_WIDTH__ 64
1565// PPC603E:#define __INTPTR_TYPE__ long int
1566// PPC603E:#define __INTPTR_WIDTH__ 32
1567// PPC603E:#define __INT_MAX__ 2147483647
1568// PPC603E:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1569// PPC603E:#define __LDBL_DIG__ 31
1570// PPC603E:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1571// PPC603E:#define __LDBL_HAS_DENORM__ 1
1572// PPC603E:#define __LDBL_HAS_INFINITY__ 1
1573// PPC603E:#define __LDBL_HAS_QUIET_NAN__ 1
1574// PPC603E:#define __LDBL_MANT_DIG__ 106
1575// PPC603E:#define __LDBL_MAX_10_EXP__ 308
1576// PPC603E:#define __LDBL_MAX_EXP__ 1024
1577// PPC603E:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1578// PPC603E:#define __LDBL_MIN_10_EXP__ (-291)
1579// PPC603E:#define __LDBL_MIN_EXP__ (-968)
1580// PPC603E:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1581// PPC603E:#define __LONG_DOUBLE_128__ 1
1582// PPC603E:#define __LONG_LONG_MAX__ 9223372036854775807LL
1583// PPC603E:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001584// PPC603E-NOT:#define __LP64__
Hal Finkel39d5fa12012-07-03 16:51:04 +00001585// PPC603E:#define __NATURAL_ALIGNMENT__ 1
Hal Finkel39d5fa12012-07-03 16:51:04 +00001586// PPC603E:#define __POINTER_WIDTH__ 32
1587// PPC603E:#define __POWERPC__ 1
1588// PPC603E:#define __PTRDIFF_TYPE__ long int
1589// PPC603E:#define __PTRDIFF_WIDTH__ 32
1590// PPC603E:#define __REGISTER_PREFIX__
1591// PPC603E:#define __SCHAR_MAX__ 127
1592// PPC603E:#define __SHRT_MAX__ 32767
1593// PPC603E:#define __SIG_ATOMIC_WIDTH__ 32
1594// PPC603E:#define __SIZEOF_DOUBLE__ 8
1595// PPC603E:#define __SIZEOF_FLOAT__ 4
1596// PPC603E:#define __SIZEOF_INT__ 4
1597// PPC603E:#define __SIZEOF_LONG_DOUBLE__ 16
1598// PPC603E:#define __SIZEOF_LONG_LONG__ 8
1599// PPC603E:#define __SIZEOF_LONG__ 4
1600// PPC603E:#define __SIZEOF_POINTER__ 4
1601// PPC603E:#define __SIZEOF_PTRDIFF_T__ 4
1602// PPC603E:#define __SIZEOF_SHORT__ 2
1603// PPC603E:#define __SIZEOF_SIZE_T__ 4
1604// PPC603E:#define __SIZEOF_WCHAR_T__ 4
1605// PPC603E:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001606// PPC603E:#define __SIZE_MAX__ 4294967295U
Hal Finkel39d5fa12012-07-03 16:51:04 +00001607// PPC603E:#define __SIZE_TYPE__ long unsigned int
1608// PPC603E:#define __SIZE_WIDTH__ 32
1609// PPC603E:#define __UINTMAX_TYPE__ long long unsigned int
1610// PPC603E:#define __USER_LABEL_PREFIX__ _
1611// PPC603E:#define __WCHAR_MAX__ 2147483647
1612// PPC603E:#define __WCHAR_TYPE__ int
1613// PPC603E:#define __WCHAR_WIDTH__ 32
1614// PPC603E:#define __WINT_TYPE__ int
1615// PPC603E:#define __WINT_WIDTH__ 32
1616// PPC603E:#define __powerpc__ 1
1617// PPC603E:#define __ppc__ 1
1618//
Hal Finkel02a84272012-06-11 22:35:19 +00001619// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00001620//
1621// PPC64:#define _ARCH_PPC 1
1622// PPC64:#define _ARCH_PPC64 1
Hal Finkel39d5fa12012-07-03 16:51:04 +00001623// PPC64:#define _ARCH_PPCGR 1
1624// PPC64:#define _ARCH_PPCSQ 1
1625// PPC64:#define _ARCH_PWR4 1
1626// PPC64:#define _ARCH_PWR5 1
1627// PPC64:#define _ARCH_PWR6 1
Hal Finkel02a84272012-06-11 22:35:19 +00001628// PPC64:#define _ARCH_PWR7 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00001629// PPC64:#define _BIG_ENDIAN 1
1630// PPC64:#define _LP64 1
1631// PPC64:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001632// PPC64:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00001633// PPC64:#define __CHAR16_TYPE__ unsigned short
1634// PPC64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001635// PPC64:#define __CHAR_BIT__ 8
1636// PPC64:#define __CHAR_UNSIGNED__ 1
1637// PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1638// PPC64:#define __DBL_DIG__ 15
1639// PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1640// PPC64:#define __DBL_HAS_DENORM__ 1
1641// PPC64:#define __DBL_HAS_INFINITY__ 1
1642// PPC64:#define __DBL_HAS_QUIET_NAN__ 1
1643// PPC64:#define __DBL_MANT_DIG__ 53
1644// PPC64:#define __DBL_MAX_10_EXP__ 308
1645// PPC64:#define __DBL_MAX_EXP__ 1024
1646// PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
1647// PPC64:#define __DBL_MIN_10_EXP__ (-307)
1648// PPC64:#define __DBL_MIN_EXP__ (-1021)
1649// PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001650// PPC64:#define __DECIMAL_DIG__ 33
Chris Lattnerbceaf862009-10-29 04:55:36 +00001651// PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1652// PPC64:#define __FLT_DIG__ 6
1653// PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
1654// PPC64:#define __FLT_EVAL_METHOD__ 0
1655// PPC64:#define __FLT_HAS_DENORM__ 1
1656// PPC64:#define __FLT_HAS_INFINITY__ 1
1657// PPC64:#define __FLT_HAS_QUIET_NAN__ 1
1658// PPC64:#define __FLT_MANT_DIG__ 24
1659// PPC64:#define __FLT_MAX_10_EXP__ 38
1660// PPC64:#define __FLT_MAX_EXP__ 128
1661// PPC64:#define __FLT_MAX__ 3.40282347e+38F
1662// PPC64:#define __FLT_MIN_10_EXP__ (-37)
1663// PPC64:#define __FLT_MIN_EXP__ (-125)
1664// PPC64:#define __FLT_MIN__ 1.17549435e-38F
1665// PPC64:#define __FLT_RADIX__ 2
1666// PPC64:#define __INT16_TYPE__ short
1667// PPC64:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00001668// PPC64:#define __INT64_C_SUFFIX__ L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001669// PPC64:#define __INT64_TYPE__ long int
1670// PPC64:#define __INT8_TYPE__ char
1671// PPC64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck8241d732009-11-19 13:18:59 +00001672// PPC64:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00001673// PPC64:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001674// PPC64:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00001675// PPC64:#define __INTPTR_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001676// PPC64:#define __INT_MAX__ 2147483647
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001677// PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1678// PPC64:#define __LDBL_DIG__ 31
1679// PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001680// PPC64:#define __LDBL_HAS_DENORM__ 1
1681// PPC64:#define __LDBL_HAS_INFINITY__ 1
1682// PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001683// PPC64:#define __LDBL_MANT_DIG__ 106
Chris Lattnerbceaf862009-10-29 04:55:36 +00001684// PPC64:#define __LDBL_MAX_10_EXP__ 308
1685// PPC64:#define __LDBL_MAX_EXP__ 1024
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001686// PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1687// PPC64:#define __LDBL_MIN_10_EXP__ (-291)
1688// PPC64:#define __LDBL_MIN_EXP__ (-968)
1689// PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001690// PPC64:#define __LONG_DOUBLE_128__ 1
1691// PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1692// PPC64:#define __LONG_MAX__ 9223372036854775807L
1693// PPC64:#define __LP64__ 1
1694// PPC64:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00001695// PPC64:#define __POINTER_WIDTH__ 64
1696// PPC64:#define __POWERPC__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00001697// PPC64:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00001698// PPC64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001699// PPC64:#define __REGISTER_PREFIX__
1700// PPC64:#define __SCHAR_MAX__ 127
1701// PPC64:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00001702// PPC64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00001703// PPC64:#define __SIZEOF_DOUBLE__ 8
1704// PPC64:#define __SIZEOF_FLOAT__ 4
1705// PPC64:#define __SIZEOF_INT__ 4
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001706// PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohmancfeac342010-05-28 00:27:15 +00001707// PPC64:#define __SIZEOF_LONG_LONG__ 8
1708// PPC64:#define __SIZEOF_LONG__ 8
1709// PPC64:#define __SIZEOF_POINTER__ 8
1710// PPC64:#define __SIZEOF_PTRDIFF_T__ 8
1711// PPC64:#define __SIZEOF_SHORT__ 2
1712// PPC64:#define __SIZEOF_SIZE_T__ 8
1713// PPC64:#define __SIZEOF_WCHAR_T__ 4
1714// PPC64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001715// PPC64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnerbceaf862009-10-29 04:55:36 +00001716// PPC64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00001717// PPC64:#define __SIZE_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001718// PPC64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001719// PPC64:#define __USER_LABEL_PREFIX__ _
1720// PPC64:#define __WCHAR_MAX__ 2147483647
1721// PPC64:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001722// PPC64:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001723// PPC64:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001724// PPC64:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001725// PPC64:#define __ppc64__ 1
1726// PPC64:#define __ppc__ 1
1727//
Hal Finkel5ccd3d02013-02-01 05:53:33 +00001728// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu a2q -fno-signed-char < /dev/null | FileCheck -check-prefix PPCA2Q %s
1729//
1730// PPCA2Q:#define _ARCH_A2 1
1731// PPCA2Q:#define _ARCH_A2Q 1
1732// PPCA2Q:#define _ARCH_PPC 1
1733// PPCA2Q:#define _ARCH_PPC64 1
1734// PPCA2Q:#define _ARCH_QP 1
1735//
1736// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-bgq-linux -fno-signed-char < /dev/null | FileCheck -check-prefix PPCBGQ %s
1737//
1738// PPCBGQ:#define __THW_BLUEGENE__ 1
1739// PPCBGQ:#define __TOS_BGQ__ 1
1740// PPCBGQ:#define __bg__ 1
1741// PPCBGQ:#define __bgq__ 1
1742//
Bill Schmidt2821e182013-02-01 20:23:10 +00001743// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu 630 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC630 %s
1744//
1745// PPC630:#define _ARCH_630 1
1746// PPC630:#define _ARCH_PPC 1
1747// PPC630:#define _ARCH_PPC64 1
1748// PPC630:#define _ARCH_PPCGR 1
1749//
1750// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR3 %s
1751//
1752// PPCPWR3:#define _ARCH_PPC 1
1753// PPCPWR3:#define _ARCH_PPC64 1
1754// PPCPWR3:#define _ARCH_PPCGR 1
1755//
1756// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER3 %s
1757//
1758// PPCPOWER3:#define _ARCH_PPC 1
1759// PPCPOWER3:#define _ARCH_PPC64 1
1760// PPCPOWER3:#define _ARCH_PPCGR 1
1761//
1762// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR4 %s
1763//
1764// PPCPWR4:#define _ARCH_PPC 1
1765// PPCPWR4:#define _ARCH_PPC64 1
1766// PPCPWR4:#define _ARCH_PPCGR 1
1767// PPCPWR4:#define _ARCH_PPCSQ 1
1768// PPCPWR4:#define _ARCH_PWR4 1
1769//
1770// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER4 %s
1771//
1772// PPCPOWER4:#define _ARCH_PPC 1
1773// PPCPOWER4:#define _ARCH_PPC64 1
1774// PPCPOWER4:#define _ARCH_PPCGR 1
1775// PPCPOWER4:#define _ARCH_PPCSQ 1
1776// PPCPOWER4:#define _ARCH_PWR4 1
1777//
1778// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5 %s
1779//
1780// PPCPWR5:#define _ARCH_PPC 1
1781// PPCPWR5:#define _ARCH_PPC64 1
1782// PPCPWR5:#define _ARCH_PPCGR 1
1783// PPCPWR5:#define _ARCH_PPCSQ 1
1784// PPCPWR5:#define _ARCH_PWR4 1
1785// PPCPWR5:#define _ARCH_PWR5 1
1786//
1787// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5 %s
1788//
1789// PPCPOWER5:#define _ARCH_PPC 1
1790// PPCPOWER5:#define _ARCH_PPC64 1
1791// PPCPOWER5:#define _ARCH_PPCGR 1
1792// PPCPOWER5:#define _ARCH_PPCSQ 1
1793// PPCPOWER5:#define _ARCH_PWR4 1
1794// PPCPOWER5:#define _ARCH_PWR5 1
1795//
1796// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5X %s
1797//
1798// PPCPWR5X:#define _ARCH_PPC 1
1799// PPCPWR5X:#define _ARCH_PPC64 1
1800// PPCPWR5X:#define _ARCH_PPCGR 1
1801// PPCPWR5X:#define _ARCH_PPCSQ 1
1802// PPCPWR5X:#define _ARCH_PWR4 1
1803// PPCPWR5X:#define _ARCH_PWR5 1
1804// PPCPWR5X:#define _ARCH_PWR5X 1
1805//
1806// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5X %s
1807//
1808// PPCPOWER5X:#define _ARCH_PPC 1
1809// PPCPOWER5X:#define _ARCH_PPC64 1
1810// PPCPOWER5X:#define _ARCH_PPCGR 1
1811// PPCPOWER5X:#define _ARCH_PPCSQ 1
1812// PPCPOWER5X:#define _ARCH_PWR4 1
1813// PPCPOWER5X:#define _ARCH_PWR5 1
1814// PPCPOWER5X:#define _ARCH_PWR5X 1
1815//
1816// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6 %s
1817//
1818// PPCPWR6:#define _ARCH_PPC 1
1819// PPCPWR6:#define _ARCH_PPC64 1
1820// PPCPWR6:#define _ARCH_PPCGR 1
1821// PPCPWR6:#define _ARCH_PPCSQ 1
1822// PPCPWR6:#define _ARCH_PWR4 1
1823// PPCPWR6:#define _ARCH_PWR5 1
1824// PPCPWR6:#define _ARCH_PWR5X 1
1825// PPCPWR6:#define _ARCH_PWR6 1
1826//
1827// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6 %s
1828//
1829// PPCPOWER6:#define _ARCH_PPC 1
1830// PPCPOWER6:#define _ARCH_PPC64 1
1831// PPCPOWER6:#define _ARCH_PPCGR 1
1832// PPCPOWER6:#define _ARCH_PPCSQ 1
1833// PPCPOWER6:#define _ARCH_PWR4 1
1834// PPCPOWER6:#define _ARCH_PWR5 1
1835// PPCPOWER6:#define _ARCH_PWR5X 1
1836// PPCPOWER6:#define _ARCH_PWR6 1
1837//
1838// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6X %s
1839//
1840// PPCPWR6X:#define _ARCH_PPC 1
1841// PPCPWR6X:#define _ARCH_PPC64 1
1842// PPCPWR6X:#define _ARCH_PPCGR 1
1843// PPCPWR6X:#define _ARCH_PPCSQ 1
1844// PPCPWR6X:#define _ARCH_PWR4 1
1845// PPCPWR6X:#define _ARCH_PWR5 1
1846// PPCPWR6X:#define _ARCH_PWR5X 1
1847// PPCPWR6X:#define _ARCH_PWR6 1
1848// PPCPWR6X:#define _ARCH_PWR6X 1
1849//
1850// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6X %s
1851//
1852// PPCPOWER6X:#define _ARCH_PPC 1
1853// PPCPOWER6X:#define _ARCH_PPC64 1
1854// PPCPOWER6X:#define _ARCH_PPCGR 1
1855// PPCPOWER6X:#define _ARCH_PPCSQ 1
1856// PPCPOWER6X:#define _ARCH_PWR4 1
1857// PPCPOWER6X:#define _ARCH_PWR5 1
1858// PPCPOWER6X:#define _ARCH_PWR5X 1
1859// PPCPOWER6X:#define _ARCH_PWR6 1
1860// PPCPOWER6X:#define _ARCH_PWR6X 1
1861//
1862// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR7 %s
1863//
1864// PPCPWR7:#define _ARCH_PPC 1
1865// PPCPWR7:#define _ARCH_PPC64 1
1866// PPCPWR7:#define _ARCH_PPCGR 1
1867// PPCPWR7:#define _ARCH_PPCSQ 1
1868// PPCPWR7:#define _ARCH_PWR4 1
1869// PPCPWR7:#define _ARCH_PWR5 1
1870// PPCPWR7:#define _ARCH_PWR5X 1
1871// PPCPWR7:#define _ARCH_PWR6 1
1872// PPCPWR7:#define _ARCH_PWR6X 1
1873// PPCPWR7:#define _ARCH_PWR7 1
1874//
1875// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER7 %s
1876//
1877// PPCPOWER7:#define _ARCH_PPC 1
1878// PPCPOWER7:#define _ARCH_PPC64 1
1879// PPCPOWER7:#define _ARCH_PPCGR 1
1880// PPCPOWER7:#define _ARCH_PPCSQ 1
1881// PPCPOWER7:#define _ARCH_PWR4 1
1882// PPCPOWER7:#define _ARCH_PWR5 1
1883// PPCPOWER7:#define _ARCH_PWR5X 1
1884// PPCPOWER7:#define _ARCH_PWR6 1
1885// PPCPOWER7:#define _ARCH_PWR6X 1
1886// PPCPOWER7:#define _ARCH_PWR7 1
1887//
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001888// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
1889//
1890// PPC64-LINUX:#define _ARCH_PPC 1
1891// PPC64-LINUX:#define _ARCH_PPC64 1
1892// PPC64-LINUX:#define _BIG_ENDIAN 1
1893// PPC64-LINUX:#define _LP64 1
1894// PPC64-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001895// PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001896// PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
1897// PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
1898// PPC64-LINUX:#define __CHAR_BIT__ 8
1899// PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
1900// PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1901// PPC64-LINUX:#define __DBL_DIG__ 15
1902// PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
1903// PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
1904// PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
1905// PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
1906// PPC64-LINUX:#define __DBL_MANT_DIG__ 53
1907// PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
1908// PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
1909// PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
1910// PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
1911// PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
1912// PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
1913// PPC64-LINUX:#define __DECIMAL_DIG__ 33
1914// PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1915// PPC64-LINUX:#define __FLT_DIG__ 6
1916// PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
1917// PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
1918// PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
1919// PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
1920// PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
1921// PPC64-LINUX:#define __FLT_MANT_DIG__ 24
1922// PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
1923// PPC64-LINUX:#define __FLT_MAX_EXP__ 128
1924// PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
1925// PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
1926// PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
1927// PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
1928// PPC64-LINUX:#define __FLT_RADIX__ 2
1929// PPC64-LINUX:#define __INT16_TYPE__ short
1930// PPC64-LINUX:#define __INT32_TYPE__ int
1931// PPC64-LINUX:#define __INT64_C_SUFFIX__ L
1932// PPC64-LINUX:#define __INT64_TYPE__ long int
1933// PPC64-LINUX:#define __INT8_TYPE__ char
1934// PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
1935// PPC64-LINUX:#define __INTMAX_TYPE__ long int
1936// PPC64-LINUX:#define __INTMAX_WIDTH__ 64
1937// PPC64-LINUX:#define __INTPTR_TYPE__ long int
1938// PPC64-LINUX:#define __INTPTR_WIDTH__ 64
1939// PPC64-LINUX:#define __INT_MAX__ 2147483647
1940// PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1941// PPC64-LINUX:#define __LDBL_DIG__ 31
1942// PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1943// PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
1944// PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
1945// PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
1946// PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
1947// PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
1948// PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
1949// PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1950// PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
1951// PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
1952// PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1953// PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
1954// PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
1955// PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
1956// PPC64-LINUX:#define __LP64__ 1
1957// PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001958// PPC64-LINUX:#define __POINTER_WIDTH__ 64
1959// PPC64-LINUX:#define __POWERPC__ 1
1960// PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
1961// PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
1962// PPC64-LINUX:#define __REGISTER_PREFIX__
1963// PPC64-LINUX:#define __SCHAR_MAX__ 127
1964// PPC64-LINUX:#define __SHRT_MAX__ 32767
1965// PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
1966// PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
1967// PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
1968// PPC64-LINUX:#define __SIZEOF_INT__ 4
1969// PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
1970// PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
1971// PPC64-LINUX:#define __SIZEOF_LONG__ 8
1972// PPC64-LINUX:#define __SIZEOF_POINTER__ 8
1973// PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
1974// PPC64-LINUX:#define __SIZEOF_SHORT__ 2
1975// PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
1976// PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
1977// PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001978// PPC64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001979// PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
1980// PPC64-LINUX:#define __SIZE_WIDTH__ 64
1981// PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
1982// PPC64-LINUX:#define __USER_LABEL_PREFIX__
1983// PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
1984// PPC64-LINUX:#define __WCHAR_TYPE__ int
1985// PPC64-LINUX:#define __WCHAR_WIDTH__ 32
1986// PPC64-LINUX:#define __WINT_TYPE__ unsigned int
1987// PPC64-LINUX:#define __WINT_UNSIGNED__ 1
1988// PPC64-LINUX:#define __WINT_WIDTH__ 32
1989// PPC64-LINUX:#define __powerpc64__ 1
1990// PPC64-LINUX:#define __powerpc__ 1
1991// PPC64-LINUX:#define __ppc64__ 1
1992// PPC64-LINUX:#define __ppc__ 1
1993//
Daniel Dunbara5728872009-12-15 20:14:24 +00001994// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix PPC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00001995//
1996// PPC:#define _ARCH_PPC 1
1997// PPC:#define _BIG_ENDIAN 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001998// PPC-NOT:#define _LP64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001999// PPC:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002000// PPC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00002001// PPC:#define __CHAR16_TYPE__ unsigned short
2002// PPC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002003// PPC:#define __CHAR_BIT__ 8
2004// PPC:#define __CHAR_UNSIGNED__ 1
2005// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2006// PPC:#define __DBL_DIG__ 15
2007// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2008// PPC:#define __DBL_HAS_DENORM__ 1
2009// PPC:#define __DBL_HAS_INFINITY__ 1
2010// PPC:#define __DBL_HAS_QUIET_NAN__ 1
2011// PPC:#define __DBL_MANT_DIG__ 53
2012// PPC:#define __DBL_MAX_10_EXP__ 308
2013// PPC:#define __DBL_MAX_EXP__ 1024
2014// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
2015// PPC:#define __DBL_MIN_10_EXP__ (-307)
2016// PPC:#define __DBL_MIN_EXP__ (-1021)
2017// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002018// PPC:#define __DECIMAL_DIG__ 33
Chris Lattnerbceaf862009-10-29 04:55:36 +00002019// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2020// PPC:#define __FLT_DIG__ 6
2021// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
2022// PPC:#define __FLT_EVAL_METHOD__ 0
2023// PPC:#define __FLT_HAS_DENORM__ 1
2024// PPC:#define __FLT_HAS_INFINITY__ 1
2025// PPC:#define __FLT_HAS_QUIET_NAN__ 1
2026// PPC:#define __FLT_MANT_DIG__ 24
2027// PPC:#define __FLT_MAX_10_EXP__ 38
2028// PPC:#define __FLT_MAX_EXP__ 128
2029// PPC:#define __FLT_MAX__ 3.40282347e+38F
2030// PPC:#define __FLT_MIN_10_EXP__ (-37)
2031// PPC:#define __FLT_MIN_EXP__ (-125)
2032// PPC:#define __FLT_MIN__ 1.17549435e-38F
2033// PPC:#define __FLT_RADIX__ 2
2034// PPC:#define __INT16_TYPE__ short
2035// PPC:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00002036// PPC:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +00002037// PPC:#define __INT64_TYPE__ long long int
2038// PPC:#define __INT8_TYPE__ char
2039// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +00002040// PPC:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +00002041// PPC:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00002042// PPC:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00002043// PPC:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002044// PPC:#define __INT_MAX__ 2147483647
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002045// PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2046// PPC:#define __LDBL_DIG__ 31
2047// PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002048// PPC:#define __LDBL_HAS_DENORM__ 1
2049// PPC:#define __LDBL_HAS_INFINITY__ 1
2050// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002051// PPC:#define __LDBL_MANT_DIG__ 106
Chris Lattnerbceaf862009-10-29 04:55:36 +00002052// PPC:#define __LDBL_MAX_10_EXP__ 308
2053// PPC:#define __LDBL_MAX_EXP__ 1024
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002054// PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2055// PPC:#define __LDBL_MIN_10_EXP__ (-291)
2056// PPC:#define __LDBL_MIN_EXP__ (-968)
2057// PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002058// PPC:#define __LONG_DOUBLE_128__ 1
2059// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2060// PPC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002061// PPC-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +00002062// PPC:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00002063// PPC:#define __POINTER_WIDTH__ 32
2064// PPC:#define __POWERPC__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00002065// PPC:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00002066// PPC:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002067// PPC:#define __REGISTER_PREFIX__
2068// PPC:#define __SCHAR_MAX__ 127
2069// PPC:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00002070// PPC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00002071// PPC:#define __SIZEOF_DOUBLE__ 8
2072// PPC:#define __SIZEOF_FLOAT__ 4
2073// PPC:#define __SIZEOF_INT__ 4
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002074// PPC:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohmancfeac342010-05-28 00:27:15 +00002075// PPC:#define __SIZEOF_LONG_LONG__ 8
2076// PPC:#define __SIZEOF_LONG__ 4
2077// PPC:#define __SIZEOF_POINTER__ 4
2078// PPC:#define __SIZEOF_PTRDIFF_T__ 4
2079// PPC:#define __SIZEOF_SHORT__ 2
2080// PPC:#define __SIZEOF_SIZE_T__ 4
2081// PPC:#define __SIZEOF_WCHAR_T__ 4
2082// PPC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002083// PPC:#define __SIZE_MAX__ 4294967295U
Chris Lattnerbceaf862009-10-29 04:55:36 +00002084// PPC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00002085// PPC:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00002086// PPC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002087// PPC:#define __USER_LABEL_PREFIX__ _
2088// PPC:#define __WCHAR_MAX__ 2147483647
2089// PPC:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00002090// PPC:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002091// PPC:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00002092// PPC:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002093// PPC:#define __ppc__ 1
2094//
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002095// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
2096//
2097// PPC-LINUX:#define _ARCH_PPC 1
2098// PPC-LINUX:#define _BIG_ENDIAN 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002099// PPC-LINUX-NOT:#define _LP64
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002100// PPC-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002101// PPC-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002102// PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
2103// PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
2104// PPC-LINUX:#define __CHAR_BIT__ 8
2105// PPC-LINUX:#define __CHAR_UNSIGNED__ 1
2106// PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2107// PPC-LINUX:#define __DBL_DIG__ 15
2108// PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2109// PPC-LINUX:#define __DBL_HAS_DENORM__ 1
2110// PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
2111// PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2112// PPC-LINUX:#define __DBL_MANT_DIG__ 53
2113// PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
2114// PPC-LINUX:#define __DBL_MAX_EXP__ 1024
2115// PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2116// PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2117// PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
2118// PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2119// PPC-LINUX:#define __DECIMAL_DIG__ 33
2120// PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2121// PPC-LINUX:#define __FLT_DIG__ 6
2122// PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2123// PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
2124// PPC-LINUX:#define __FLT_HAS_DENORM__ 1
2125// PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
2126// PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2127// PPC-LINUX:#define __FLT_MANT_DIG__ 24
2128// PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
2129// PPC-LINUX:#define __FLT_MAX_EXP__ 128
2130// PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2131// PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2132// PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
2133// PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2134// PPC-LINUX:#define __FLT_RADIX__ 2
2135// PPC-LINUX:#define __INT16_TYPE__ short
2136// PPC-LINUX:#define __INT32_TYPE__ int
2137// PPC-LINUX:#define __INT64_C_SUFFIX__ LL
2138// PPC-LINUX:#define __INT64_TYPE__ long long int
2139// PPC-LINUX:#define __INT8_TYPE__ char
2140// PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
2141// PPC-LINUX:#define __INTMAX_TYPE__ long long int
2142// PPC-LINUX:#define __INTMAX_WIDTH__ 64
Hal Finkel178a9b82012-03-02 20:54:36 +00002143// PPC-LINUX:#define __INTPTR_TYPE__ int
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002144// PPC-LINUX:#define __INTPTR_WIDTH__ 32
2145// PPC-LINUX:#define __INT_MAX__ 2147483647
2146// PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2147// PPC-LINUX:#define __LDBL_DIG__ 31
2148// PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2149// PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
2150// PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
2151// PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2152// PPC-LINUX:#define __LDBL_MANT_DIG__ 106
2153// PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
2154// PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
2155// PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2156// PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2157// PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
2158// PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2159// PPC-LINUX:#define __LONG_DOUBLE_128__ 1
2160// PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2161// PPC-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002162// PPC-LINUX-NOT:#define __LP64__
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002163// PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002164// PPC-LINUX:#define __POINTER_WIDTH__ 32
2165// PPC-LINUX:#define __POWERPC__ 1
Hal Finkel178a9b82012-03-02 20:54:36 +00002166// PPC-LINUX:#define __PTRDIFF_TYPE__ int
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002167// PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
2168// PPC-LINUX:#define __REGISTER_PREFIX__
2169// PPC-LINUX:#define __SCHAR_MAX__ 127
2170// PPC-LINUX:#define __SHRT_MAX__ 32767
2171// PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2172// PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
2173// PPC-LINUX:#define __SIZEOF_FLOAT__ 4
2174// PPC-LINUX:#define __SIZEOF_INT__ 4
2175// PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2176// PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
2177// PPC-LINUX:#define __SIZEOF_LONG__ 4
2178// PPC-LINUX:#define __SIZEOF_POINTER__ 4
2179// PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
2180// PPC-LINUX:#define __SIZEOF_SHORT__ 2
2181// PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
2182// PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
2183// PPC-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002184// PPC-LINUX:#define __SIZE_MAX__ 4294967295U
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002185// PPC-LINUX:#define __SIZE_TYPE__ unsigned int
2186// PPC-LINUX:#define __SIZE_WIDTH__ 32
2187// PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
2188// PPC-LINUX:#define __USER_LABEL_PREFIX__
2189// PPC-LINUX:#define __WCHAR_MAX__ 2147483647
2190// PPC-LINUX:#define __WCHAR_TYPE__ int
2191// PPC-LINUX:#define __WCHAR_WIDTH__ 32
2192// PPC-LINUX:#define __WINT_TYPE__ unsigned int
2193// PPC-LINUX:#define __WINT_UNSIGNED__ 1
2194// PPC-LINUX:#define __WINT_WIDTH__ 32
2195// PPC-LINUX:#define __powerpc__ 1
2196// PPC-LINUX:#define __ppc__ 1
2197//
David Fangb5afadd2013-05-16 17:51:48 +00002198// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-apple-darwin8 < /dev/null | FileCheck -check-prefix PPC-DARWIN %s
2199//
2200// PPC-DARWIN:#define _ARCH_PPC 1
2201// PPC-DARWIN:#define _BIG_ENDIAN 1
2202// PPC-DARWIN:#define __BIG_ENDIAN__ 1
2203// PPC-DARWIN:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2204// PPC-DARWIN:#define __CHAR16_TYPE__ unsigned short
2205// PPC-DARWIN:#define __CHAR32_TYPE__ unsigned int
2206// PPC-DARWIN:#define __CHAR_BIT__ 8
2207// PPC-DARWIN:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2208// PPC-DARWIN:#define __DBL_DIG__ 15
2209// PPC-DARWIN:#define __DBL_EPSILON__ 2.2204460492503131e-16
2210// PPC-DARWIN:#define __DBL_HAS_DENORM__ 1
2211// PPC-DARWIN:#define __DBL_HAS_INFINITY__ 1
2212// PPC-DARWIN:#define __DBL_HAS_QUIET_NAN__ 1
2213// PPC-DARWIN:#define __DBL_MANT_DIG__ 53
2214// PPC-DARWIN:#define __DBL_MAX_10_EXP__ 308
2215// PPC-DARWIN:#define __DBL_MAX_EXP__ 1024
2216// PPC-DARWIN:#define __DBL_MAX__ 1.7976931348623157e+308
2217// PPC-DARWIN:#define __DBL_MIN_10_EXP__ (-307)
2218// PPC-DARWIN:#define __DBL_MIN_EXP__ (-1021)
2219// PPC-DARWIN:#define __DBL_MIN__ 2.2250738585072014e-308
2220// PPC-DARWIN:#define __DECIMAL_DIG__ 33
2221// PPC-DARWIN:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2222// PPC-DARWIN:#define __FLT_DIG__ 6
2223// PPC-DARWIN:#define __FLT_EPSILON__ 1.19209290e-7F
2224// PPC-DARWIN:#define __FLT_EVAL_METHOD__ 0
2225// PPC-DARWIN:#define __FLT_HAS_DENORM__ 1
2226// PPC-DARWIN:#define __FLT_HAS_INFINITY__ 1
2227// PPC-DARWIN:#define __FLT_HAS_QUIET_NAN__ 1
2228// PPC-DARWIN:#define __FLT_MANT_DIG__ 24
2229// PPC-DARWIN:#define __FLT_MAX_10_EXP__ 38
2230// PPC-DARWIN:#define __FLT_MAX_EXP__ 128
2231// PPC-DARWIN:#define __FLT_MAX__ 3.40282347e+38F
2232// PPC-DARWIN:#define __FLT_MIN_10_EXP__ (-37)
2233// PPC-DARWIN:#define __FLT_MIN_EXP__ (-125)
2234// PPC-DARWIN:#define __FLT_MIN__ 1.17549435e-38F
2235// PPC-DARWIN:#define __FLT_RADIX__ 2
2236// PPC-DARWIN:#define __INT16_TYPE__ short
2237// PPC-DARWIN:#define __INT32_TYPE__ int
2238// PPC-DARWIN:#define __INT64_C_SUFFIX__ LL
2239// PPC-DARWIN:#define __INT64_TYPE__ long long int
2240// PPC-DARWIN:#define __INT8_TYPE__ char
2241// PPC-DARWIN:#define __INTMAX_MAX__ 9223372036854775807LL
2242// PPC-DARWIN:#define __INTMAX_TYPE__ long long int
2243// PPC-DARWIN:#define __INTMAX_WIDTH__ 64
2244// PPC-DARWIN:#define __INTPTR_TYPE__ long int
2245// PPC-DARWIN:#define __INTPTR_WIDTH__ 32
2246// PPC-DARWIN:#define __INT_MAX__ 2147483647
2247// PPC-DARWIN:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2248// PPC-DARWIN:#define __LDBL_DIG__ 31
2249// PPC-DARWIN:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2250// PPC-DARWIN:#define __LDBL_HAS_DENORM__ 1
2251// PPC-DARWIN:#define __LDBL_HAS_INFINITY__ 1
2252// PPC-DARWIN:#define __LDBL_HAS_QUIET_NAN__ 1
2253// PPC-DARWIN:#define __LDBL_MANT_DIG__ 106
2254// PPC-DARWIN:#define __LDBL_MAX_10_EXP__ 308
2255// PPC-DARWIN:#define __LDBL_MAX_EXP__ 1024
2256// PPC-DARWIN:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2257// PPC-DARWIN:#define __LDBL_MIN_10_EXP__ (-291)
2258// PPC-DARWIN:#define __LDBL_MIN_EXP__ (-968)
2259// PPC-DARWIN:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2260// PPC-DARWIN:#define __LONG_DOUBLE_128__ 1
2261// PPC-DARWIN:#define __LONG_LONG_MAX__ 9223372036854775807LL
2262// PPC-DARWIN:#define __LONG_MAX__ 2147483647L
2263// PPC-DARWIN:#define __MACH__ 1
2264// PPC-DARWIN:#define __NATURAL_ALIGNMENT__ 1
2265// PPC-DARWIN:#define __ORDER_BIG_ENDIAN__ 4321
2266// PPC-DARWIN:#define __ORDER_LITTLE_ENDIAN__ 1234
2267// PPC-DARWIN:#define __ORDER_PDP_ENDIAN__ 3412
2268// PPC-DARWIN:#define __POINTER_WIDTH__ 32
2269// PPC-DARWIN:#define __POWERPC__ 1
2270// PPC-DARWIN:#define __PTRDIFF_TYPE__ int
2271// PPC-DARWIN:#define __PTRDIFF_WIDTH__ 32
2272// PPC-DARWIN:#define __REGISTER_PREFIX__
2273// PPC-DARWIN:#define __SCHAR_MAX__ 127
2274// PPC-DARWIN:#define __SHRT_MAX__ 32767
2275// PPC-DARWIN:#define __SIG_ATOMIC_WIDTH__ 32
2276// PPC-DARWIN:#define __SIZEOF_DOUBLE__ 8
2277// PPC-DARWIN:#define __SIZEOF_FLOAT__ 4
2278// PPC-DARWIN:#define __SIZEOF_INT__ 4
2279// PPC-DARWIN:#define __SIZEOF_LONG_DOUBLE__ 16
2280// PPC-DARWIN:#define __SIZEOF_LONG_LONG__ 8
2281// PPC-DARWIN:#define __SIZEOF_LONG__ 4
2282// PPC-DARWIN:#define __SIZEOF_POINTER__ 4
2283// PPC-DARWIN:#define __SIZEOF_PTRDIFF_T__ 4
2284// PPC-DARWIN:#define __SIZEOF_SHORT__ 2
2285// PPC-DARWIN:#define __SIZEOF_SIZE_T__ 4
2286// PPC-DARWIN:#define __SIZEOF_WCHAR_T__ 4
2287// PPC-DARWIN:#define __SIZEOF_WINT_T__ 4
2288// PPC-DARWIN:#define __SIZE_MAX__ 4294967295UL
2289// PPC-DARWIN:#define __SIZE_TYPE__ long unsigned int
2290// PPC-DARWIN:#define __SIZE_WIDTH__ 32
2291// PPC-DARWIN:#define __STDC_HOSTED__ 0
2292// PPC-DARWIN:#define __STDC_VERSION__ 199901L
2293// PPC-DARWIN:#define __STDC__ 1
2294// PPC-DARWIN:#define __UINTMAX_TYPE__ long long unsigned int
2295// PPC-DARWIN:#define __USER_LABEL_PREFIX__ _
2296// PPC-DARWIN:#define __WCHAR_MAX__ 2147483647
2297// PPC-DARWIN:#define __WCHAR_TYPE__ int
2298// PPC-DARWIN:#define __WCHAR_WIDTH__ 32
2299// PPC-DARWIN:#define __WINT_TYPE__ int
2300// PPC-DARWIN:#define __WINT_WIDTH__ 32
2301// PPC-DARWIN:#define __powerpc__ 1
2302// PPC-DARWIN:#define __ppc__ 1
2303//
Ulrich Weigandb8409212013-05-06 16:26:41 +00002304// RUN: %clang_cc1 -E -dM -ffreestanding -triple=s390x-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix S390X %s
2305//
2306// S390X:#define __CHAR16_TYPE__ unsigned short
2307// S390X:#define __CHAR32_TYPE__ unsigned int
2308// S390X:#define __CHAR_BIT__ 8
2309// S390X:#define __CHAR_UNSIGNED__ 1
2310// S390X:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2311// S390X:#define __DBL_DIG__ 15
2312// S390X:#define __DBL_EPSILON__ 2.2204460492503131e-16
2313// S390X:#define __DBL_HAS_DENORM__ 1
2314// S390X:#define __DBL_HAS_INFINITY__ 1
2315// S390X:#define __DBL_HAS_QUIET_NAN__ 1
2316// S390X:#define __DBL_MANT_DIG__ 53
2317// S390X:#define __DBL_MAX_10_EXP__ 308
2318// S390X:#define __DBL_MAX_EXP__ 1024
2319// S390X:#define __DBL_MAX__ 1.7976931348623157e+308
2320// S390X:#define __DBL_MIN_10_EXP__ (-307)
2321// S390X:#define __DBL_MIN_EXP__ (-1021)
2322// S390X:#define __DBL_MIN__ 2.2250738585072014e-308
2323// S390X:#define __DECIMAL_DIG__ 36
2324// S390X:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2325// S390X:#define __FLT_DIG__ 6
2326// S390X:#define __FLT_EPSILON__ 1.19209290e-7F
2327// S390X:#define __FLT_EVAL_METHOD__ 0
2328// S390X:#define __FLT_HAS_DENORM__ 1
2329// S390X:#define __FLT_HAS_INFINITY__ 1
2330// S390X:#define __FLT_HAS_QUIET_NAN__ 1
2331// S390X:#define __FLT_MANT_DIG__ 24
2332// S390X:#define __FLT_MAX_10_EXP__ 38
2333// S390X:#define __FLT_MAX_EXP__ 128
2334// S390X:#define __FLT_MAX__ 3.40282347e+38F
2335// S390X:#define __FLT_MIN_10_EXP__ (-37)
2336// S390X:#define __FLT_MIN_EXP__ (-125)
2337// S390X:#define __FLT_MIN__ 1.17549435e-38F
2338// S390X:#define __FLT_RADIX__ 2
2339// S390X:#define __INT16_TYPE__ short
2340// S390X:#define __INT32_TYPE__ int
2341// S390X:#define __INT64_C_SUFFIX__ L
2342// S390X:#define __INT64_TYPE__ long long int
2343// S390X:#define __INT8_TYPE__ char
2344// S390X:#define __INTMAX_MAX__ 9223372036854775807LL
2345// S390X:#define __INTMAX_TYPE__ long long int
2346// S390X:#define __INTMAX_WIDTH__ 64
2347// S390X:#define __INTPTR_TYPE__ long int
2348// S390X:#define __INTPTR_WIDTH__ 64
2349// S390X:#define __INT_MAX__ 2147483647
2350// S390X:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
2351// S390X:#define __LDBL_DIG__ 33
2352// S390X:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
2353// S390X:#define __LDBL_HAS_DENORM__ 1
2354// S390X:#define __LDBL_HAS_INFINITY__ 1
2355// S390X:#define __LDBL_HAS_QUIET_NAN__ 1
2356// S390X:#define __LDBL_MANT_DIG__ 113
2357// S390X:#define __LDBL_MAX_10_EXP__ 4932
2358// S390X:#define __LDBL_MAX_EXP__ 16384
2359// S390X:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
2360// S390X:#define __LDBL_MIN_10_EXP__ (-4931)
2361// S390X:#define __LDBL_MIN_EXP__ (-16381)
2362// S390X:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
2363// S390X:#define __LONG_LONG_MAX__ 9223372036854775807LL
2364// S390X:#define __LONG_MAX__ 9223372036854775807L
2365// S390X:#define __NO_INLINE__ 1
2366// S390X:#define __POINTER_WIDTH__ 64
2367// S390X:#define __PTRDIFF_TYPE__ long int
2368// S390X:#define __PTRDIFF_WIDTH__ 64
2369// S390X:#define __SCHAR_MAX__ 127
2370// S390X:#define __SHRT_MAX__ 32767
2371// S390X:#define __SIG_ATOMIC_WIDTH__ 32
2372// S390X:#define __SIZEOF_DOUBLE__ 8
2373// S390X:#define __SIZEOF_FLOAT__ 4
2374// S390X:#define __SIZEOF_INT__ 4
2375// S390X:#define __SIZEOF_LONG_DOUBLE__ 16
2376// S390X:#define __SIZEOF_LONG_LONG__ 8
2377// S390X:#define __SIZEOF_LONG__ 8
2378// S390X:#define __SIZEOF_POINTER__ 8
2379// S390X:#define __SIZEOF_PTRDIFF_T__ 8
2380// S390X:#define __SIZEOF_SHORT__ 2
2381// S390X:#define __SIZEOF_SIZE_T__ 8
2382// S390X:#define __SIZEOF_WCHAR_T__ 4
2383// S390X:#define __SIZEOF_WINT_T__ 4
2384// S390X:#define __SIZE_TYPE__ long unsigned int
2385// S390X:#define __SIZE_WIDTH__ 64
2386// S390X:#define __UINTMAX_TYPE__ long long unsigned int
2387// S390X:#define __USER_LABEL_PREFIX__ _
2388// S390X:#define __WCHAR_MAX__ 2147483647
2389// S390X:#define __WCHAR_TYPE__ int
2390// S390X:#define __WCHAR_WIDTH__ 32
2391// S390X:#define __WINT_TYPE__ int
2392// S390X:#define __WINT_WIDTH__ 32
2393// S390X:#define __s390__ 1
2394// S390X:#define __s390x__ 1
2395//
Daniel Dunbara5728872009-12-15 20:14:24 +00002396// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00002397//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002398// SPARC-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002399// SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00002400// SPARC:#define __CHAR16_TYPE__ unsigned short
2401// SPARC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002402// SPARC:#define __CHAR_BIT__ 8
2403// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2404// SPARC:#define __DBL_DIG__ 15
2405// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2406// SPARC:#define __DBL_HAS_DENORM__ 1
2407// SPARC:#define __DBL_HAS_INFINITY__ 1
2408// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
2409// SPARC:#define __DBL_MANT_DIG__ 53
2410// SPARC:#define __DBL_MAX_10_EXP__ 308
2411// SPARC:#define __DBL_MAX_EXP__ 1024
2412// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
2413// SPARC:#define __DBL_MIN_10_EXP__ (-307)
2414// SPARC:#define __DBL_MIN_EXP__ (-1021)
2415// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
2416// SPARC:#define __DECIMAL_DIG__ 17
2417// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2418// SPARC:#define __FLT_DIG__ 6
2419// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
2420// SPARC:#define __FLT_EVAL_METHOD__ 0
2421// SPARC:#define __FLT_HAS_DENORM__ 1
2422// SPARC:#define __FLT_HAS_INFINITY__ 1
2423// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
2424// SPARC:#define __FLT_MANT_DIG__ 24
2425// SPARC:#define __FLT_MAX_10_EXP__ 38
2426// SPARC:#define __FLT_MAX_EXP__ 128
2427// SPARC:#define __FLT_MAX__ 3.40282347e+38F
2428// SPARC:#define __FLT_MIN_10_EXP__ (-37)
2429// SPARC:#define __FLT_MIN_EXP__ (-125)
2430// SPARC:#define __FLT_MIN__ 1.17549435e-38F
2431// SPARC:#define __FLT_RADIX__ 2
2432// SPARC:#define __INT16_TYPE__ short
2433// SPARC:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00002434// SPARC:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +00002435// SPARC:#define __INT64_TYPE__ long long int
2436// SPARC:#define __INT8_TYPE__ char
2437// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +00002438// SPARC:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +00002439// SPARC:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00002440// SPARC:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00002441// SPARC:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002442// SPARC:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00002443// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002444// SPARC:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00002445// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002446// SPARC:#define __LDBL_HAS_DENORM__ 1
2447// SPARC:#define __LDBL_HAS_INFINITY__ 1
2448// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
2449// SPARC:#define __LDBL_MANT_DIG__ 53
2450// SPARC:#define __LDBL_MAX_10_EXP__ 308
2451// SPARC:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00002452// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002453// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
2454// SPARC:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00002455// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002456// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2457// SPARC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002458// SPARC-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +00002459// SPARC:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00002460// SPARC:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00002461// SPARC:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbareac7c532009-12-18 18:42:37 +00002462// SPARC:#define __REGISTER_PREFIX__
Chris Lattnerbceaf862009-10-29 04:55:36 +00002463// SPARC:#define __SCHAR_MAX__ 127
2464// SPARC:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00002465// SPARC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00002466// SPARC:#define __SIZEOF_DOUBLE__ 8
2467// SPARC:#define __SIZEOF_FLOAT__ 4
2468// SPARC:#define __SIZEOF_INT__ 4
2469// SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
2470// SPARC:#define __SIZEOF_LONG_LONG__ 8
2471// SPARC:#define __SIZEOF_LONG__ 4
2472// SPARC:#define __SIZEOF_POINTER__ 4
2473// SPARC:#define __SIZEOF_PTRDIFF_T__ 4
2474// SPARC:#define __SIZEOF_SHORT__ 2
2475// SPARC:#define __SIZEOF_SIZE_T__ 4
2476// SPARC:#define __SIZEOF_WCHAR_T__ 4
2477// SPARC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002478// SPARC:#define __SIZE_MAX__ 4294967295U
Chris Lattnerbceaf862009-10-29 04:55:36 +00002479// SPARC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00002480// SPARC:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00002481// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002482// SPARC:#define __USER_LABEL_PREFIX__ _
Daniel Dunbarad1a4c62011-03-31 00:53:51 +00002483// SPARC:#define __VERSION__ "4.2.1 Compatible
Chris Lattnerbceaf862009-10-29 04:55:36 +00002484// SPARC:#define __WCHAR_MAX__ 2147483647
2485// SPARC:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00002486// SPARC:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002487// SPARC:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00002488// SPARC:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002489// SPARC:#define __sparc 1
2490// SPARC:#define __sparc__ 1
2491// SPARC:#define __sparcv8 1
2492// SPARC:#define sparc 1
2493//
Daniel Dunbara5728872009-12-15 20:14:24 +00002494// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00002495//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002496// TCE-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002497// TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00002498// TCE:#define __CHAR16_TYPE__ unsigned short
2499// TCE:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002500// TCE:#define __CHAR_BIT__ 8
Eli Friedman75e8efe2012-11-10 00:20:38 +00002501// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45
Chris Lattnerbceaf862009-10-29 04:55:36 +00002502// TCE:#define __DBL_DIG__ 6
Eli Friedman75e8efe2012-11-10 00:20:38 +00002503// TCE:#define __DBL_EPSILON__ 1.19209290e-7
Chris Lattnerbceaf862009-10-29 04:55:36 +00002504// TCE:#define __DBL_HAS_DENORM__ 1
2505// TCE:#define __DBL_HAS_INFINITY__ 1
2506// TCE:#define __DBL_HAS_QUIET_NAN__ 1
2507// TCE:#define __DBL_MANT_DIG__ 24
2508// TCE:#define __DBL_MAX_10_EXP__ 38
2509// TCE:#define __DBL_MAX_EXP__ 128
Eli Friedman75e8efe2012-11-10 00:20:38 +00002510// TCE:#define __DBL_MAX__ 3.40282347e+38
Chris Lattnerbceaf862009-10-29 04:55:36 +00002511// TCE:#define __DBL_MIN_10_EXP__ (-37)
2512// TCE:#define __DBL_MIN_EXP__ (-125)
Eli Friedman75e8efe2012-11-10 00:20:38 +00002513// TCE:#define __DBL_MIN__ 1.17549435e-38
Chris Lattnerbceaf862009-10-29 04:55:36 +00002514// TCE:#define __DECIMAL_DIG__ -1
2515// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2516// TCE:#define __FLT_DIG__ 6
2517// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
2518// TCE:#define __FLT_EVAL_METHOD__ 0
2519// TCE:#define __FLT_HAS_DENORM__ 1
2520// TCE:#define __FLT_HAS_INFINITY__ 1
2521// TCE:#define __FLT_HAS_QUIET_NAN__ 1
2522// TCE:#define __FLT_MANT_DIG__ 24
2523// TCE:#define __FLT_MAX_10_EXP__ 38
2524// TCE:#define __FLT_MAX_EXP__ 128
2525// TCE:#define __FLT_MAX__ 3.40282347e+38F
2526// TCE:#define __FLT_MIN_10_EXP__ (-37)
2527// TCE:#define __FLT_MIN_EXP__ (-125)
2528// TCE:#define __FLT_MIN__ 1.17549435e-38F
2529// TCE:#define __FLT_RADIX__ 2
2530// TCE:#define __INT16_TYPE__ short
2531// TCE:#define __INT32_TYPE__ int
2532// TCE:#define __INT8_TYPE__ char
2533// TCE:#define __INTMAX_MAX__ 2147483647L
Ken Dyck8241d732009-11-19 13:18:59 +00002534// TCE:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00002535// TCE:#define __INTMAX_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00002536// TCE:#define __INTPTR_TYPE__ int
Ken Dyckd896e1a2009-11-18 20:05:48 +00002537// TCE:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002538// TCE:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00002539// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002540// TCE:#define __LDBL_DIG__ 6
Eli Friedman75e8efe2012-11-10 00:20:38 +00002541// TCE:#define __LDBL_EPSILON__ 1.19209290e-7L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002542// TCE:#define __LDBL_HAS_DENORM__ 1
2543// TCE:#define __LDBL_HAS_INFINITY__ 1
2544// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
2545// TCE:#define __LDBL_MANT_DIG__ 24
2546// TCE:#define __LDBL_MAX_10_EXP__ 38
2547// TCE:#define __LDBL_MAX_EXP__ 128
Eli Friedman75e8efe2012-11-10 00:20:38 +00002548// TCE:#define __LDBL_MAX__ 3.40282347e+38L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002549// TCE:#define __LDBL_MIN_10_EXP__ (-37)
2550// TCE:#define __LDBL_MIN_EXP__ (-125)
Eli Friedman75e8efe2012-11-10 00:20:38 +00002551// TCE:#define __LDBL_MIN__ 1.17549435e-38L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002552// TCE:#define __LONG_LONG_MAX__ 2147483647LL
2553// TCE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002554// TCE-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +00002555// TCE:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00002556// TCE:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +00002557// TCE:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002558// TCE:#define __SCHAR_MAX__ 127
2559// TCE:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00002560// TCE:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00002561// TCE:#define __SIZEOF_DOUBLE__ 4
2562// TCE:#define __SIZEOF_FLOAT__ 4
2563// TCE:#define __SIZEOF_INT__ 4
2564// TCE:#define __SIZEOF_LONG_DOUBLE__ 4
2565// TCE:#define __SIZEOF_LONG_LONG__ 4
2566// TCE:#define __SIZEOF_LONG__ 4
2567// TCE:#define __SIZEOF_POINTER__ 4
2568// TCE:#define __SIZEOF_PTRDIFF_T__ 4
2569// TCE:#define __SIZEOF_SHORT__ 2
2570// TCE:#define __SIZEOF_SIZE_T__ 4
2571// TCE:#define __SIZEOF_WCHAR_T__ 4
2572// TCE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002573// TCE:#define __SIZE_MAX__ 4294967295U
Chris Lattnerbceaf862009-10-29 04:55:36 +00002574// TCE:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00002575// TCE:#define __SIZE_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002576// TCE:#define __TCE_V1__ 1
2577// TCE:#define __TCE__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00002578// TCE:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002579// TCE:#define __USER_LABEL_PREFIX__ _
2580// TCE:#define __WCHAR_MAX__ 2147483647
2581// TCE:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00002582// TCE:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002583// TCE:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00002584// TCE:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002585// TCE:#define __tce 1
2586// TCE:#define __tce__ 1
2587// TCE:#define tce 1
2588//
Daniel Dunbara5728872009-12-15 20:14:24 +00002589// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-none-none < /dev/null | FileCheck -check-prefix X86_64 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00002590//
2591// X86_64:#define _LP64 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002592// X86_64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00002593// X86_64:#define __CHAR16_TYPE__ unsigned short
2594// X86_64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002595// X86_64:#define __CHAR_BIT__ 8
2596// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2597// X86_64:#define __DBL_DIG__ 15
2598// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
2599// X86_64:#define __DBL_HAS_DENORM__ 1
2600// X86_64:#define __DBL_HAS_INFINITY__ 1
2601// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
2602// X86_64:#define __DBL_MANT_DIG__ 53
2603// X86_64:#define __DBL_MAX_10_EXP__ 308
2604// X86_64:#define __DBL_MAX_EXP__ 1024
2605// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
2606// X86_64:#define __DBL_MIN_10_EXP__ (-307)
2607// X86_64:#define __DBL_MIN_EXP__ (-1021)
2608// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
2609// X86_64:#define __DECIMAL_DIG__ 21
2610// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2611// X86_64:#define __FLT_DIG__ 6
2612// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
2613// X86_64:#define __FLT_EVAL_METHOD__ 0
2614// X86_64:#define __FLT_HAS_DENORM__ 1
2615// X86_64:#define __FLT_HAS_INFINITY__ 1
2616// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
2617// X86_64:#define __FLT_MANT_DIG__ 24
2618// X86_64:#define __FLT_MAX_10_EXP__ 38
2619// X86_64:#define __FLT_MAX_EXP__ 128
2620// X86_64:#define __FLT_MAX__ 3.40282347e+38F
2621// X86_64:#define __FLT_MIN_10_EXP__ (-37)
2622// X86_64:#define __FLT_MIN_EXP__ (-125)
2623// X86_64:#define __FLT_MIN__ 1.17549435e-38F
2624// X86_64:#define __FLT_RADIX__ 2
2625// X86_64:#define __INT16_TYPE__ short
2626// X86_64:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00002627// X86_64:#define __INT64_C_SUFFIX__ L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002628// X86_64:#define __INT64_TYPE__ long int
2629// X86_64:#define __INT8_TYPE__ char
2630// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck8241d732009-11-19 13:18:59 +00002631// X86_64:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00002632// X86_64:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00002633// X86_64:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00002634// X86_64:#define __INTPTR_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00002635// X86_64:#define __INT_MAX__ 2147483647
2636// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
2637// X86_64:#define __LDBL_DIG__ 18
2638// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
2639// X86_64:#define __LDBL_HAS_DENORM__ 1
2640// X86_64:#define __LDBL_HAS_INFINITY__ 1
2641// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
2642// X86_64:#define __LDBL_MANT_DIG__ 64
2643// X86_64:#define __LDBL_MAX_10_EXP__ 4932
2644// X86_64:#define __LDBL_MAX_EXP__ 16384
2645// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
2646// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
2647// X86_64:#define __LDBL_MIN_EXP__ (-16381)
2648// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
2649// X86_64:#define __LITTLE_ENDIAN__ 1
2650// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
2651// X86_64:#define __LONG_MAX__ 9223372036854775807L
2652// X86_64:#define __LP64__ 1
2653// X86_64:#define __MMX__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00002654// X86_64:#define __NO_MATH_INLINES 1
2655// X86_64:#define __POINTER_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00002656// X86_64:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00002657// X86_64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00002658// X86_64:#define __REGISTER_PREFIX__
2659// X86_64:#define __SCHAR_MAX__ 127
2660// X86_64:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00002661// X86_64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00002662// X86_64:#define __SIZEOF_DOUBLE__ 8
2663// X86_64:#define __SIZEOF_FLOAT__ 4
2664// X86_64:#define __SIZEOF_INT__ 4
2665// X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
2666// X86_64:#define __SIZEOF_LONG_LONG__ 8
2667// X86_64:#define __SIZEOF_LONG__ 8
2668// X86_64:#define __SIZEOF_POINTER__ 8
2669// X86_64:#define __SIZEOF_PTRDIFF_T__ 8
2670// X86_64:#define __SIZEOF_SHORT__ 2
2671// X86_64:#define __SIZEOF_SIZE_T__ 8
2672// X86_64:#define __SIZEOF_WCHAR_T__ 4
2673// X86_64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002674// X86_64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnerbceaf862009-10-29 04:55:36 +00002675// X86_64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00002676// X86_64:#define __SIZE_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00002677// X86_64:#define __SSE2_MATH__ 1
2678// X86_64:#define __SSE2__ 1
2679// X86_64:#define __SSE_MATH__ 1
2680// X86_64:#define __SSE__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00002681// X86_64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002682// X86_64:#define __USER_LABEL_PREFIX__ _
2683// X86_64:#define __WCHAR_MAX__ 2147483647
2684// X86_64:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00002685// X86_64:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002686// X86_64:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00002687// X86_64:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002688// X86_64:#define __amd64 1
2689// X86_64:#define __amd64__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00002690// X86_64:#define __x86_64 1
2691// X86_64:#define __x86_64__ 1
2692//
Douglas Gregor12e84642011-01-12 21:19:25 +00002693// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
2694//
2695// X86_64-LINUX:#define _LP64 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002696// X86_64-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregor12e84642011-01-12 21:19:25 +00002697// X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
2698// X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
2699// X86_64-LINUX:#define __CHAR_BIT__ 8
2700// X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2701// X86_64-LINUX:#define __DBL_DIG__ 15
2702// X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2703// X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
2704// X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
2705// X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2706// X86_64-LINUX:#define __DBL_MANT_DIG__ 53
2707// X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
2708// X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
2709// X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2710// X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2711// X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2712// X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2713// X86_64-LINUX:#define __DECIMAL_DIG__ 21
2714// X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2715// X86_64-LINUX:#define __FLT_DIG__ 6
2716// X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2717// X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
2718// X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
2719// X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
2720// X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2721// X86_64-LINUX:#define __FLT_MANT_DIG__ 24
2722// X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
2723// X86_64-LINUX:#define __FLT_MAX_EXP__ 128
2724// X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2725// X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2726// X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
2727// X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2728// X86_64-LINUX:#define __FLT_RADIX__ 2
2729// X86_64-LINUX:#define __INT16_TYPE__ short
2730// X86_64-LINUX:#define __INT32_TYPE__ int
2731// X86_64-LINUX:#define __INT64_C_SUFFIX__ L
2732// X86_64-LINUX:#define __INT64_TYPE__ long int
2733// X86_64-LINUX:#define __INT8_TYPE__ char
2734// X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2735// X86_64-LINUX:#define __INTMAX_TYPE__ long int
2736// X86_64-LINUX:#define __INTMAX_WIDTH__ 64
2737// X86_64-LINUX:#define __INTPTR_TYPE__ long int
2738// X86_64-LINUX:#define __INTPTR_WIDTH__ 64
2739// X86_64-LINUX:#define __INT_MAX__ 2147483647
2740// X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
2741// X86_64-LINUX:#define __LDBL_DIG__ 18
2742// X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
2743// X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
2744// X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2745// X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2746// X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
2747// X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
2748// X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
2749// X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
2750// X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
2751// X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
2752// X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
2753// X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
2754// X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2755// X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2756// X86_64-LINUX:#define __LP64__ 1
2757// X86_64-LINUX:#define __MMX__ 1
Douglas Gregor12e84642011-01-12 21:19:25 +00002758// X86_64-LINUX:#define __NO_MATH_INLINES 1
2759// X86_64-LINUX:#define __POINTER_WIDTH__ 64
2760// X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
2761// X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
2762// X86_64-LINUX:#define __REGISTER_PREFIX__
2763// X86_64-LINUX:#define __SCHAR_MAX__ 127
2764// X86_64-LINUX:#define __SHRT_MAX__ 32767
2765// X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2766// X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
2767// X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
2768// X86_64-LINUX:#define __SIZEOF_INT__ 4
2769// X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2770// X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2771// X86_64-LINUX:#define __SIZEOF_LONG__ 8
2772// X86_64-LINUX:#define __SIZEOF_POINTER__ 8
2773// X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2774// X86_64-LINUX:#define __SIZEOF_SHORT__ 2
2775// X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
2776// X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2777// X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002778// X86_64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Douglas Gregor12e84642011-01-12 21:19:25 +00002779// X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
2780// X86_64-LINUX:#define __SIZE_WIDTH__ 64
2781// X86_64-LINUX:#define __SSE2_MATH__ 1
2782// X86_64-LINUX:#define __SSE2__ 1
2783// X86_64-LINUX:#define __SSE_MATH__ 1
2784// X86_64-LINUX:#define __SSE__ 1
2785// X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2786// X86_64-LINUX:#define __USER_LABEL_PREFIX__
2787// X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
2788// X86_64-LINUX:#define __WCHAR_TYPE__ int
2789// X86_64-LINUX:#define __WCHAR_WIDTH__ 32
2790// X86_64-LINUX:#define __WINT_TYPE__ unsigned int
2791// X86_64-LINUX:#define __WINT_WIDTH__ 32
2792// X86_64-LINUX:#define __amd64 1
2793// X86_64-LINUX:#define __amd64__ 1
Douglas Gregor12e84642011-01-12 21:19:25 +00002794// X86_64-LINUX:#define __x86_64 1
2795// X86_64-LINUX:#define __x86_64__ 1
2796//
Jakob Stoklund Olesenfcec0c92013-05-15 03:22:33 +00002797// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-none < /dev/null | FileCheck -check-prefix SPARCV9 %s
Jakob Stoklund Olesen5ac8c4f2013-05-19 17:53:37 +00002798// SPARCV9:#define __INT64_TYPE__ long int
Jakob Stoklund Olesenfcec0c92013-05-15 03:22:33 +00002799// SPARCV9:#define __INTMAX_TYPE__ long int
2800// SPARCV9:#define __INTPTR_TYPE__ long int
2801// SPARCV9:#define __LONG_MAX__ 9223372036854775807L
2802// SPARCV9:#define __LP64__ 1
2803// SPARCV9:#define __SIZEOF_LONG__ 8
2804// SPARCV9:#define __SIZEOF_POINTER__ 8
2805//
Jakob Stoklund Olesen5ac8c4f2013-05-19 17:53:37 +00002806// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-openbsd < /dev/null | FileCheck -check-prefix SPARC64-OBSD %s
2807// SPARC64-OBSD:#define __INT64_TYPE__ long long int
2808// SPARC64-OBSD:#define __INTMAX_TYPE__ long long int
2809// SPARC64-OBSD:#define __UINTMAX_TYPE__ long long unsigned int
2810//
David Chisnall11d3f4c2012-07-03 20:49:52 +00002811// RUN: %clang_cc1 -x c++ -triple i686-pc-linux-gnu -fobjc-runtime=gcc -E -dM < /dev/null | FileCheck -check-prefix GNUSOURCE %s
Douglas Gregor66791df2010-04-16 06:31:05 +00002812// GNUSOURCE:#define _GNU_SOURCE 1
2813//
Dan Gohmancfeac342010-05-28 00:27:15 +00002814// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
2815// NORTTI: __GXX_ABI_VERSION
2816// NORTTI-NOT:#define __GXX_RTTI
2817// NORTTI: __STDC__
Evgeniy Stepanov32064032012-04-26 12:08:09 +00002818//
2819// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
2820// ANDROID: __ANDROID__ 1