blob: a48bf01b2e725ea092e0b9906ea76bbd4fd89c78 [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//
Rafael Espindolaa3f55b02013-09-04 04:12:25 +0000147// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix O0 %s
Dylan Noblesmithf23e8d22012-08-08 16:09:15 +0000148//
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//
Jack Carterc613b672013-08-12 17:20:29 +00001227// RUN: %clang_cc1 -target-feature +msa \
1228// RUN: -E -dM -triple=mips-none-none < /dev/null \
1229// RUN: | FileCheck -check-prefix MIPS-MSA %s
1230// MIPS-MSA:#define __mips_msa 1
1231//
Daniel Dunbara5728872009-12-15 20:14:24 +00001232// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00001233//
1234// MSP430:#define MSP430 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001235// MSP430-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001236// MSP430:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00001237// MSP430:#define __CHAR16_TYPE__ unsigned short
1238// MSP430:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001239// MSP430:#define __CHAR_BIT__ 8
1240// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1241// MSP430:#define __DBL_DIG__ 15
1242// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
1243// MSP430:#define __DBL_HAS_DENORM__ 1
1244// MSP430:#define __DBL_HAS_INFINITY__ 1
1245// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
1246// MSP430:#define __DBL_MANT_DIG__ 53
1247// MSP430:#define __DBL_MAX_10_EXP__ 308
1248// MSP430:#define __DBL_MAX_EXP__ 1024
1249// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
1250// MSP430:#define __DBL_MIN_10_EXP__ (-307)
1251// MSP430:#define __DBL_MIN_EXP__ (-1021)
1252// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
1253// MSP430:#define __DECIMAL_DIG__ 17
1254// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1255// MSP430:#define __FLT_DIG__ 6
1256// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
1257// MSP430:#define __FLT_EVAL_METHOD__ 0
1258// MSP430:#define __FLT_HAS_DENORM__ 1
1259// MSP430:#define __FLT_HAS_INFINITY__ 1
1260// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
1261// MSP430:#define __FLT_MANT_DIG__ 24
1262// MSP430:#define __FLT_MAX_10_EXP__ 38
1263// MSP430:#define __FLT_MAX_EXP__ 128
1264// MSP430:#define __FLT_MAX__ 3.40282347e+38F
1265// MSP430:#define __FLT_MIN_10_EXP__ (-37)
1266// MSP430:#define __FLT_MIN_EXP__ (-125)
1267// MSP430:#define __FLT_MIN__ 1.17549435e-38F
1268// MSP430:#define __FLT_RADIX__ 2
1269// MSP430:#define __INT16_TYPE__ short
Ken Dyckeef22ef2009-11-16 16:36:33 +00001270// MSP430:#define __INT32_C_SUFFIX__ L
Chris Lattnerdcdd2a02009-11-12 08:08:27 +00001271// MSP430:#define __INT32_TYPE__ long int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001272// MSP430:#define __INT8_TYPE__ char
Anton Korobeynikov18a295d2013-07-01 19:42:40 +00001273// MSP430:#define __INTMAX_MAX__ 9223372036854775807LL
1274// MSP430:#define __INTMAX_TYPE__ long long int
1275// MSP430:#define __INTMAX_WIDTH__ 64
1276// MSP430:#define __INTPTR_TYPE__ int
Ken Dyckd896e1a2009-11-18 20:05:48 +00001277// MSP430:#define __INTPTR_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +00001278// MSP430:#define __INT_MAX__ 32767
Eli Friedman75e8efe2012-11-10 00:20:38 +00001279// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001280// MSP430:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00001281// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001282// MSP430:#define __LDBL_HAS_DENORM__ 1
1283// MSP430:#define __LDBL_HAS_INFINITY__ 1
1284// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
1285// MSP430:#define __LDBL_MANT_DIG__ 53
1286// MSP430:#define __LDBL_MAX_10_EXP__ 308
1287// MSP430:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00001288// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001289// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
1290// MSP430:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00001291// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikov79bff432010-01-14 21:36:52 +00001292// MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
Chris Lattnerbceaf862009-10-29 04:55:36 +00001293// MSP430:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001294// MSP430-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +00001295// MSP430:#define __MSP430__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00001296// MSP430:#define __POINTER_WIDTH__ 16
Ken Dyck8241d732009-11-19 13:18:59 +00001297// MSP430:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +00001298// MSP430:#define __PTRDIFF_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +00001299// MSP430:#define __SCHAR_MAX__ 127
1300// MSP430:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00001301// MSP430:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00001302// MSP430:#define __SIZEOF_DOUBLE__ 8
1303// MSP430:#define __SIZEOF_FLOAT__ 4
1304// MSP430:#define __SIZEOF_INT__ 2
1305// MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
1306// MSP430:#define __SIZEOF_LONG_LONG__ 8
1307// MSP430:#define __SIZEOF_LONG__ 4
1308// MSP430:#define __SIZEOF_POINTER__ 2
1309// MSP430:#define __SIZEOF_PTRDIFF_T__ 2
1310// MSP430:#define __SIZEOF_SHORT__ 2
1311// MSP430:#define __SIZEOF_SIZE_T__ 2
1312// MSP430:#define __SIZEOF_WCHAR_T__ 2
1313// MSP430:#define __SIZEOF_WINT_T__ 2
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001314// MSP430:#define __SIZE_MAX__ 65535U
Chris Lattnerbceaf862009-10-29 04:55:36 +00001315// MSP430:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00001316// MSP430:#define __SIZE_WIDTH__ 16
Anton Korobeynikov18a295d2013-07-01 19:42:40 +00001317// MSP430:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001318// MSP430:#define __USER_LABEL_PREFIX__ _
Chris Lattner91846462009-11-12 08:04:33 +00001319// MSP430:#define __WCHAR_MAX__ 32767
Chris Lattnerbceaf862009-10-29 04:55:36 +00001320// MSP430:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001321// MSP430:#define __WCHAR_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +00001322// MSP430:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001323// MSP430:#define __WINT_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +00001324// MSP430:#define __clang__ 1
1325//
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001326// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s
1327//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001328// NVPTX32-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001329// NVPTX32:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001330// NVPTX32:#define __CHAR16_TYPE__ unsigned short
1331// NVPTX32:#define __CHAR32_TYPE__ unsigned int
1332// NVPTX32:#define __CHAR_BIT__ 8
1333// NVPTX32:#define __CONSTANT_CFSTRINGS__ 1
1334// NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1335// NVPTX32:#define __DBL_DIG__ 15
1336// NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16
1337// NVPTX32:#define __DBL_HAS_DENORM__ 1
1338// NVPTX32:#define __DBL_HAS_INFINITY__ 1
1339// NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1
1340// NVPTX32:#define __DBL_MANT_DIG__ 53
1341// NVPTX32:#define __DBL_MAX_10_EXP__ 308
1342// NVPTX32:#define __DBL_MAX_EXP__ 1024
1343// NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308
1344// NVPTX32:#define __DBL_MIN_10_EXP__ (-307)
1345// NVPTX32:#define __DBL_MIN_EXP__ (-1021)
1346// NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308
1347// NVPTX32:#define __DECIMAL_DIG__ 17
1348// NVPTX32:#define __FINITE_MATH_ONLY__ 0
1349// NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1350// NVPTX32:#define __FLT_DIG__ 6
1351// NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F
1352// NVPTX32:#define __FLT_EVAL_METHOD__ 0
1353// NVPTX32:#define __FLT_HAS_DENORM__ 1
1354// NVPTX32:#define __FLT_HAS_INFINITY__ 1
1355// NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1
1356// NVPTX32:#define __FLT_MANT_DIG__ 24
1357// NVPTX32:#define __FLT_MAX_10_EXP__ 38
1358// NVPTX32:#define __FLT_MAX_EXP__ 128
1359// NVPTX32:#define __FLT_MAX__ 3.40282347e+38F
1360// NVPTX32:#define __FLT_MIN_10_EXP__ (-37)
1361// NVPTX32:#define __FLT_MIN_EXP__ (-125)
1362// NVPTX32:#define __FLT_MIN__ 1.17549435e-38F
1363// NVPTX32:#define __FLT_RADIX__ 2
1364// NVPTX32:#define __INT16_TYPE__ short
1365// NVPTX32:#define __INT32_TYPE__ int
1366// NVPTX32:#define __INT64_C_SUFFIX__ LL
1367// NVPTX32:#define __INT64_TYPE__ long long int
1368// NVPTX32:#define __INT8_TYPE__ char
1369// NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL
1370// NVPTX32:#define __INTMAX_TYPE__ long long int
1371// NVPTX32:#define __INTMAX_WIDTH__ 64
1372// NVPTX32:#define __INTPTR_TYPE__ unsigned int
1373// NVPTX32:#define __INTPTR_WIDTH__ 32
1374// NVPTX32:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00001375// NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001376// NVPTX32:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00001377// NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001378// NVPTX32:#define __LDBL_HAS_DENORM__ 1
1379// NVPTX32:#define __LDBL_HAS_INFINITY__ 1
1380// NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1
1381// NVPTX32:#define __LDBL_MANT_DIG__ 53
1382// NVPTX32:#define __LDBL_MAX_10_EXP__ 308
1383// NVPTX32:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00001384// NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001385// NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
1386// NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00001387// NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001388// NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL
1389// NVPTX32:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001390// NVPTX32-NOT:#define __LP64__
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001391// NVPTX32:#define __NVPTX__ 1
1392// NVPTX32:#define __POINTER_WIDTH__ 32
1393// NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1
1394// NVPTX32:#define __PTRDIFF_TYPE__ unsigned int
1395// NVPTX32:#define __PTRDIFF_WIDTH__ 32
1396// NVPTX32:#define __PTX__ 1
1397// NVPTX32:#define __SCHAR_MAX__ 127
1398// NVPTX32:#define __SHRT_MAX__ 32767
1399// NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32
1400// NVPTX32:#define __SIZEOF_DOUBLE__ 8
1401// NVPTX32:#define __SIZEOF_FLOAT__ 4
1402// NVPTX32:#define __SIZEOF_INT__ 4
1403// NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8
1404// NVPTX32:#define __SIZEOF_LONG_LONG__ 8
1405// NVPTX32:#define __SIZEOF_LONG__ 8
1406// NVPTX32:#define __SIZEOF_POINTER__ 4
1407// NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4
1408// NVPTX32:#define __SIZEOF_SHORT__ 2
1409// NVPTX32:#define __SIZEOF_SIZE_T__ 4
1410// NVPTX32:#define __SIZEOF_WCHAR_T__ 4
1411// NVPTX32:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001412// NVPTX32:#define __SIZE_MAX__ 4294967295U
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001413// NVPTX32:#define __SIZE_TYPE__ unsigned int
1414// NVPTX32:#define __SIZE_WIDTH__ 32
1415// NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int
1416// NVPTX32:#define __USER_LABEL_PREFIX__ _
1417// NVPTX32:#define __WCHAR_MAX__ 2147483647
1418// NVPTX32:#define __WCHAR_TYPE__ int
1419// NVPTX32:#define __WCHAR_WIDTH__ 32
1420// NVPTX32:#define __WINT_TYPE__ int
1421// NVPTX32:#define __WINT_WIDTH__ 32
1422//
1423// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -check-prefix NVPTX64 %s
1424//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001425// NVPTX64:#define _LP64 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001426// NVPTX64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001427// NVPTX64:#define __CHAR16_TYPE__ unsigned short
1428// NVPTX64:#define __CHAR32_TYPE__ unsigned int
1429// NVPTX64:#define __CHAR_BIT__ 8
1430// NVPTX64:#define __CONSTANT_CFSTRINGS__ 1
1431// NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1432// NVPTX64:#define __DBL_DIG__ 15
1433// NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1434// NVPTX64:#define __DBL_HAS_DENORM__ 1
1435// NVPTX64:#define __DBL_HAS_INFINITY__ 1
1436// NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1
1437// NVPTX64:#define __DBL_MANT_DIG__ 53
1438// NVPTX64:#define __DBL_MAX_10_EXP__ 308
1439// NVPTX64:#define __DBL_MAX_EXP__ 1024
1440// NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308
1441// NVPTX64:#define __DBL_MIN_10_EXP__ (-307)
1442// NVPTX64:#define __DBL_MIN_EXP__ (-1021)
1443// NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308
1444// NVPTX64:#define __DECIMAL_DIG__ 17
1445// NVPTX64:#define __FINITE_MATH_ONLY__ 0
1446// NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1447// NVPTX64:#define __FLT_DIG__ 6
1448// NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F
1449// NVPTX64:#define __FLT_EVAL_METHOD__ 0
1450// NVPTX64:#define __FLT_HAS_DENORM__ 1
1451// NVPTX64:#define __FLT_HAS_INFINITY__ 1
1452// NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1
1453// NVPTX64:#define __FLT_MANT_DIG__ 24
1454// NVPTX64:#define __FLT_MAX_10_EXP__ 38
1455// NVPTX64:#define __FLT_MAX_EXP__ 128
1456// NVPTX64:#define __FLT_MAX__ 3.40282347e+38F
1457// NVPTX64:#define __FLT_MIN_10_EXP__ (-37)
1458// NVPTX64:#define __FLT_MIN_EXP__ (-125)
1459// NVPTX64:#define __FLT_MIN__ 1.17549435e-38F
1460// NVPTX64:#define __FLT_RADIX__ 2
1461// NVPTX64:#define __INT16_TYPE__ short
1462// NVPTX64:#define __INT32_TYPE__ int
1463// NVPTX64:#define __INT64_C_SUFFIX__ LL
1464// NVPTX64:#define __INT64_TYPE__ long long int
1465// NVPTX64:#define __INT8_TYPE__ char
1466// NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL
1467// NVPTX64:#define __INTMAX_TYPE__ long long int
1468// NVPTX64:#define __INTMAX_WIDTH__ 64
1469// NVPTX64:#define __INTPTR_TYPE__ long long unsigned int
1470// NVPTX64:#define __INTPTR_WIDTH__ 64
1471// NVPTX64:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00001472// NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001473// NVPTX64:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00001474// NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001475// NVPTX64:#define __LDBL_HAS_DENORM__ 1
1476// NVPTX64:#define __LDBL_HAS_INFINITY__ 1
1477// NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1
1478// NVPTX64:#define __LDBL_MANT_DIG__ 53
1479// NVPTX64:#define __LDBL_MAX_10_EXP__ 308
1480// NVPTX64:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00001481// NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001482// NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
1483// NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00001484// NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001485// NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1486// NVPTX64:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001487// NVPTX64:#define __LP64__ 1
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001488// NVPTX64:#define __NVPTX__ 1
1489// NVPTX64:#define __POINTER_WIDTH__ 64
1490// NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1
1491// NVPTX64:#define __PTRDIFF_TYPE__ long long unsigned int
1492// NVPTX64:#define __PTRDIFF_WIDTH__ 64
1493// NVPTX64:#define __PTX__ 1
1494// NVPTX64:#define __SCHAR_MAX__ 127
1495// NVPTX64:#define __SHRT_MAX__ 32767
1496// NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32
1497// NVPTX64:#define __SIZEOF_DOUBLE__ 8
1498// NVPTX64:#define __SIZEOF_FLOAT__ 4
1499// NVPTX64:#define __SIZEOF_INT__ 4
1500// NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8
1501// NVPTX64:#define __SIZEOF_LONG_LONG__ 8
1502// NVPTX64:#define __SIZEOF_LONG__ 8
1503// NVPTX64:#define __SIZEOF_POINTER__ 8
1504// NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8
1505// NVPTX64:#define __SIZEOF_SHORT__ 2
1506// NVPTX64:#define __SIZEOF_SIZE_T__ 8
1507// NVPTX64:#define __SIZEOF_WCHAR_T__ 4
1508// NVPTX64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001509// NVPTX64:#define __SIZE_MAX__ 18446744073709551615UL
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001510// NVPTX64:#define __SIZE_TYPE__ long long unsigned int
1511// NVPTX64:#define __SIZE_WIDTH__ 64
1512// NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int
1513// NVPTX64:#define __USER_LABEL_PREFIX__ _
1514// NVPTX64:#define __WCHAR_MAX__ 2147483647
1515// NVPTX64:#define __WCHAR_TYPE__ int
1516// NVPTX64:#define __WCHAR_WIDTH__ 32
1517// NVPTX64:#define __WINT_TYPE__ int
1518// NVPTX64:#define __WINT_WIDTH__ 32
1519//
Hal Finkel39d5fa12012-07-03 16:51:04 +00001520// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -check-prefix PPC603E %s
1521//
1522// PPC603E:#define _ARCH_603 1
1523// PPC603E:#define _ARCH_603E 1
1524// PPC603E:#define _ARCH_PPC 1
1525// PPC603E:#define _ARCH_PPCGR 1
1526// PPC603E:#define _BIG_ENDIAN 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001527// PPC603E-NOT:#define _LP64
Hal Finkel39d5fa12012-07-03 16:51:04 +00001528// PPC603E:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001529// PPC603E:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Hal Finkel39d5fa12012-07-03 16:51:04 +00001530// PPC603E:#define __CHAR16_TYPE__ unsigned short
1531// PPC603E:#define __CHAR32_TYPE__ unsigned int
1532// PPC603E:#define __CHAR_BIT__ 8
1533// PPC603E:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1534// PPC603E:#define __DBL_DIG__ 15
1535// PPC603E:#define __DBL_EPSILON__ 2.2204460492503131e-16
1536// PPC603E:#define __DBL_HAS_DENORM__ 1
1537// PPC603E:#define __DBL_HAS_INFINITY__ 1
1538// PPC603E:#define __DBL_HAS_QUIET_NAN__ 1
1539// PPC603E:#define __DBL_MANT_DIG__ 53
1540// PPC603E:#define __DBL_MAX_10_EXP__ 308
1541// PPC603E:#define __DBL_MAX_EXP__ 1024
1542// PPC603E:#define __DBL_MAX__ 1.7976931348623157e+308
1543// PPC603E:#define __DBL_MIN_10_EXP__ (-307)
1544// PPC603E:#define __DBL_MIN_EXP__ (-1021)
1545// PPC603E:#define __DBL_MIN__ 2.2250738585072014e-308
1546// PPC603E:#define __DECIMAL_DIG__ 33
1547// PPC603E:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1548// PPC603E:#define __FLT_DIG__ 6
1549// PPC603E:#define __FLT_EPSILON__ 1.19209290e-7F
1550// PPC603E:#define __FLT_EVAL_METHOD__ 0
1551// PPC603E:#define __FLT_HAS_DENORM__ 1
1552// PPC603E:#define __FLT_HAS_INFINITY__ 1
1553// PPC603E:#define __FLT_HAS_QUIET_NAN__ 1
1554// PPC603E:#define __FLT_MANT_DIG__ 24
1555// PPC603E:#define __FLT_MAX_10_EXP__ 38
1556// PPC603E:#define __FLT_MAX_EXP__ 128
1557// PPC603E:#define __FLT_MAX__ 3.40282347e+38F
1558// PPC603E:#define __FLT_MIN_10_EXP__ (-37)
1559// PPC603E:#define __FLT_MIN_EXP__ (-125)
1560// PPC603E:#define __FLT_MIN__ 1.17549435e-38F
1561// PPC603E:#define __FLT_RADIX__ 2
1562// PPC603E:#define __INT16_TYPE__ short
1563// PPC603E:#define __INT32_TYPE__ int
1564// PPC603E:#define __INT64_C_SUFFIX__ LL
1565// PPC603E:#define __INT64_TYPE__ long long int
1566// PPC603E:#define __INT8_TYPE__ char
1567// PPC603E:#define __INTMAX_MAX__ 9223372036854775807LL
1568// PPC603E:#define __INTMAX_TYPE__ long long int
1569// PPC603E:#define __INTMAX_WIDTH__ 64
1570// PPC603E:#define __INTPTR_TYPE__ long int
1571// PPC603E:#define __INTPTR_WIDTH__ 32
1572// PPC603E:#define __INT_MAX__ 2147483647
1573// PPC603E:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1574// PPC603E:#define __LDBL_DIG__ 31
1575// PPC603E:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1576// PPC603E:#define __LDBL_HAS_DENORM__ 1
1577// PPC603E:#define __LDBL_HAS_INFINITY__ 1
1578// PPC603E:#define __LDBL_HAS_QUIET_NAN__ 1
1579// PPC603E:#define __LDBL_MANT_DIG__ 106
1580// PPC603E:#define __LDBL_MAX_10_EXP__ 308
1581// PPC603E:#define __LDBL_MAX_EXP__ 1024
1582// PPC603E:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1583// PPC603E:#define __LDBL_MIN_10_EXP__ (-291)
1584// PPC603E:#define __LDBL_MIN_EXP__ (-968)
1585// PPC603E:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1586// PPC603E:#define __LONG_DOUBLE_128__ 1
1587// PPC603E:#define __LONG_LONG_MAX__ 9223372036854775807LL
1588// PPC603E:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001589// PPC603E-NOT:#define __LP64__
Hal Finkel39d5fa12012-07-03 16:51:04 +00001590// PPC603E:#define __NATURAL_ALIGNMENT__ 1
Hal Finkel39d5fa12012-07-03 16:51:04 +00001591// PPC603E:#define __POINTER_WIDTH__ 32
1592// PPC603E:#define __POWERPC__ 1
Chandler Carruthc6fa1152013-06-25 11:13:47 +00001593// PPC603E:#define __PPC__ 1
Hal Finkel39d5fa12012-07-03 16:51:04 +00001594// PPC603E:#define __PTRDIFF_TYPE__ long int
1595// PPC603E:#define __PTRDIFF_WIDTH__ 32
1596// PPC603E:#define __REGISTER_PREFIX__
1597// PPC603E:#define __SCHAR_MAX__ 127
1598// PPC603E:#define __SHRT_MAX__ 32767
1599// PPC603E:#define __SIG_ATOMIC_WIDTH__ 32
1600// PPC603E:#define __SIZEOF_DOUBLE__ 8
1601// PPC603E:#define __SIZEOF_FLOAT__ 4
1602// PPC603E:#define __SIZEOF_INT__ 4
1603// PPC603E:#define __SIZEOF_LONG_DOUBLE__ 16
1604// PPC603E:#define __SIZEOF_LONG_LONG__ 8
1605// PPC603E:#define __SIZEOF_LONG__ 4
1606// PPC603E:#define __SIZEOF_POINTER__ 4
1607// PPC603E:#define __SIZEOF_PTRDIFF_T__ 4
1608// PPC603E:#define __SIZEOF_SHORT__ 2
1609// PPC603E:#define __SIZEOF_SIZE_T__ 4
1610// PPC603E:#define __SIZEOF_WCHAR_T__ 4
1611// PPC603E:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001612// PPC603E:#define __SIZE_MAX__ 4294967295U
Hal Finkel39d5fa12012-07-03 16:51:04 +00001613// PPC603E:#define __SIZE_TYPE__ long unsigned int
1614// PPC603E:#define __SIZE_WIDTH__ 32
1615// PPC603E:#define __UINTMAX_TYPE__ long long unsigned int
1616// PPC603E:#define __USER_LABEL_PREFIX__ _
1617// PPC603E:#define __WCHAR_MAX__ 2147483647
1618// PPC603E:#define __WCHAR_TYPE__ int
1619// PPC603E:#define __WCHAR_WIDTH__ 32
1620// PPC603E:#define __WINT_TYPE__ int
1621// PPC603E:#define __WINT_WIDTH__ 32
1622// PPC603E:#define __powerpc__ 1
1623// PPC603E:#define __ppc__ 1
1624//
Hal Finkel02a84272012-06-11 22:35:19 +00001625// 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 +00001626//
1627// PPC64:#define _ARCH_PPC 1
1628// PPC64:#define _ARCH_PPC64 1
Hal Finkel39d5fa12012-07-03 16:51:04 +00001629// PPC64:#define _ARCH_PPCGR 1
1630// PPC64:#define _ARCH_PPCSQ 1
1631// PPC64:#define _ARCH_PWR4 1
1632// PPC64:#define _ARCH_PWR5 1
1633// PPC64:#define _ARCH_PWR6 1
Hal Finkel02a84272012-06-11 22:35:19 +00001634// PPC64:#define _ARCH_PWR7 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00001635// PPC64:#define _BIG_ENDIAN 1
1636// PPC64:#define _LP64 1
1637// PPC64:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001638// PPC64:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00001639// PPC64:#define __CHAR16_TYPE__ unsigned short
1640// PPC64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001641// PPC64:#define __CHAR_BIT__ 8
1642// PPC64:#define __CHAR_UNSIGNED__ 1
1643// PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1644// PPC64:#define __DBL_DIG__ 15
1645// PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1646// PPC64:#define __DBL_HAS_DENORM__ 1
1647// PPC64:#define __DBL_HAS_INFINITY__ 1
1648// PPC64:#define __DBL_HAS_QUIET_NAN__ 1
1649// PPC64:#define __DBL_MANT_DIG__ 53
1650// PPC64:#define __DBL_MAX_10_EXP__ 308
1651// PPC64:#define __DBL_MAX_EXP__ 1024
1652// PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
1653// PPC64:#define __DBL_MIN_10_EXP__ (-307)
1654// PPC64:#define __DBL_MIN_EXP__ (-1021)
1655// PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001656// PPC64:#define __DECIMAL_DIG__ 33
Chris Lattnerbceaf862009-10-29 04:55:36 +00001657// PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1658// PPC64:#define __FLT_DIG__ 6
1659// PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
1660// PPC64:#define __FLT_EVAL_METHOD__ 0
1661// PPC64:#define __FLT_HAS_DENORM__ 1
1662// PPC64:#define __FLT_HAS_INFINITY__ 1
1663// PPC64:#define __FLT_HAS_QUIET_NAN__ 1
1664// PPC64:#define __FLT_MANT_DIG__ 24
1665// PPC64:#define __FLT_MAX_10_EXP__ 38
1666// PPC64:#define __FLT_MAX_EXP__ 128
1667// PPC64:#define __FLT_MAX__ 3.40282347e+38F
1668// PPC64:#define __FLT_MIN_10_EXP__ (-37)
1669// PPC64:#define __FLT_MIN_EXP__ (-125)
1670// PPC64:#define __FLT_MIN__ 1.17549435e-38F
1671// PPC64:#define __FLT_RADIX__ 2
1672// PPC64:#define __INT16_TYPE__ short
1673// PPC64:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00001674// PPC64:#define __INT64_C_SUFFIX__ L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001675// PPC64:#define __INT64_TYPE__ long int
1676// PPC64:#define __INT8_TYPE__ char
1677// PPC64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck8241d732009-11-19 13:18:59 +00001678// PPC64:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00001679// PPC64:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001680// PPC64:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00001681// PPC64:#define __INTPTR_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001682// PPC64:#define __INT_MAX__ 2147483647
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001683// PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1684// PPC64:#define __LDBL_DIG__ 31
1685// PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001686// PPC64:#define __LDBL_HAS_DENORM__ 1
1687// PPC64:#define __LDBL_HAS_INFINITY__ 1
1688// PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001689// PPC64:#define __LDBL_MANT_DIG__ 106
Chris Lattnerbceaf862009-10-29 04:55:36 +00001690// PPC64:#define __LDBL_MAX_10_EXP__ 308
1691// PPC64:#define __LDBL_MAX_EXP__ 1024
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001692// PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1693// PPC64:#define __LDBL_MIN_10_EXP__ (-291)
1694// PPC64:#define __LDBL_MIN_EXP__ (-968)
1695// PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001696// PPC64:#define __LONG_DOUBLE_128__ 1
1697// PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1698// PPC64:#define __LONG_MAX__ 9223372036854775807L
1699// PPC64:#define __LP64__ 1
1700// PPC64:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00001701// PPC64:#define __POINTER_WIDTH__ 64
1702// PPC64:#define __POWERPC__ 1
Chandler Carruthc6fa1152013-06-25 11:13:47 +00001703// PPC64:#define __PPC64__ 1
1704// PPC64:#define __PPC__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00001705// PPC64:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00001706// PPC64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001707// PPC64:#define __REGISTER_PREFIX__
1708// PPC64:#define __SCHAR_MAX__ 127
1709// PPC64:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00001710// PPC64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00001711// PPC64:#define __SIZEOF_DOUBLE__ 8
1712// PPC64:#define __SIZEOF_FLOAT__ 4
1713// PPC64:#define __SIZEOF_INT__ 4
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001714// PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohmancfeac342010-05-28 00:27:15 +00001715// PPC64:#define __SIZEOF_LONG_LONG__ 8
1716// PPC64:#define __SIZEOF_LONG__ 8
1717// PPC64:#define __SIZEOF_POINTER__ 8
1718// PPC64:#define __SIZEOF_PTRDIFF_T__ 8
1719// PPC64:#define __SIZEOF_SHORT__ 2
1720// PPC64:#define __SIZEOF_SIZE_T__ 8
1721// PPC64:#define __SIZEOF_WCHAR_T__ 4
1722// PPC64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001723// PPC64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnerbceaf862009-10-29 04:55:36 +00001724// PPC64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00001725// PPC64:#define __SIZE_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001726// PPC64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001727// PPC64:#define __USER_LABEL_PREFIX__ _
1728// PPC64:#define __WCHAR_MAX__ 2147483647
1729// PPC64:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001730// PPC64:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001731// PPC64:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001732// PPC64:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001733// PPC64:#define __ppc64__ 1
1734// PPC64:#define __ppc__ 1
1735//
Bill Schmidtea7fb0c2013-07-26 01:36:11 +00001736// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64LE %s
1737//
1738// PPC64LE:#define _ARCH_PPC 1
1739// PPC64LE:#define _ARCH_PPC64 1
1740// PPC64LE:#define _ARCH_PPCGR 1
1741// PPC64LE:#define _ARCH_PPCSQ 1
1742// PPC64LE:#define _ARCH_PWR4 1
1743// PPC64LE:#define _ARCH_PWR5 1
1744// PPC64LE:#define _ARCH_PWR5X 1
1745// PPC64LE:#define _ARCH_PWR6 1
1746// PPC64LE:#define _ARCH_PWR6X 1
1747// PPC64LE:#define _ARCH_PWR7 1
1748// PPC64LE:#define _LITTLE_ENDIAN 1
1749// PPC64LE:#define _LP64 1
1750// PPC64LE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1751// PPC64LE:#define __CHAR16_TYPE__ unsigned short
1752// PPC64LE:#define __CHAR32_TYPE__ unsigned int
1753// PPC64LE:#define __CHAR_BIT__ 8
1754// PPC64LE:#define __CHAR_UNSIGNED__ 1
1755// PPC64LE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1756// PPC64LE:#define __DBL_DIG__ 15
1757// PPC64LE:#define __DBL_EPSILON__ 2.2204460492503131e-16
1758// PPC64LE:#define __DBL_HAS_DENORM__ 1
1759// PPC64LE:#define __DBL_HAS_INFINITY__ 1
1760// PPC64LE:#define __DBL_HAS_QUIET_NAN__ 1
1761// PPC64LE:#define __DBL_MANT_DIG__ 53
1762// PPC64LE:#define __DBL_MAX_10_EXP__ 308
1763// PPC64LE:#define __DBL_MAX_EXP__ 1024
1764// PPC64LE:#define __DBL_MAX__ 1.7976931348623157e+308
1765// PPC64LE:#define __DBL_MIN_10_EXP__ (-307)
1766// PPC64LE:#define __DBL_MIN_EXP__ (-1021)
1767// PPC64LE:#define __DBL_MIN__ 2.2250738585072014e-308
1768// PPC64LE:#define __DECIMAL_DIG__ 33
1769// PPC64LE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1770// PPC64LE:#define __FLT_DIG__ 6
1771// PPC64LE:#define __FLT_EPSILON__ 1.19209290e-7F
1772// PPC64LE:#define __FLT_EVAL_METHOD__ 0
1773// PPC64LE:#define __FLT_HAS_DENORM__ 1
1774// PPC64LE:#define __FLT_HAS_INFINITY__ 1
1775// PPC64LE:#define __FLT_HAS_QUIET_NAN__ 1
1776// PPC64LE:#define __FLT_MANT_DIG__ 24
1777// PPC64LE:#define __FLT_MAX_10_EXP__ 38
1778// PPC64LE:#define __FLT_MAX_EXP__ 128
1779// PPC64LE:#define __FLT_MAX__ 3.40282347e+38F
1780// PPC64LE:#define __FLT_MIN_10_EXP__ (-37)
1781// PPC64LE:#define __FLT_MIN_EXP__ (-125)
1782// PPC64LE:#define __FLT_MIN__ 1.17549435e-38F
1783// PPC64LE:#define __FLT_RADIX__ 2
1784// PPC64LE:#define __INT16_TYPE__ short
1785// PPC64LE:#define __INT32_TYPE__ int
1786// PPC64LE:#define __INT64_C_SUFFIX__ L
1787// PPC64LE:#define __INT64_TYPE__ long int
1788// PPC64LE:#define __INT8_TYPE__ char
1789// PPC64LE:#define __INTMAX_MAX__ 9223372036854775807L
1790// PPC64LE:#define __INTMAX_TYPE__ long int
1791// PPC64LE:#define __INTMAX_WIDTH__ 64
1792// PPC64LE:#define __INTPTR_TYPE__ long int
1793// PPC64LE:#define __INTPTR_WIDTH__ 64
1794// PPC64LE:#define __INT_MAX__ 2147483647
1795// PPC64LE:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1796// PPC64LE:#define __LDBL_DIG__ 31
1797// PPC64LE:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1798// PPC64LE:#define __LDBL_HAS_DENORM__ 1
1799// PPC64LE:#define __LDBL_HAS_INFINITY__ 1
1800// PPC64LE:#define __LDBL_HAS_QUIET_NAN__ 1
1801// PPC64LE:#define __LDBL_MANT_DIG__ 106
1802// PPC64LE:#define __LDBL_MAX_10_EXP__ 308
1803// PPC64LE:#define __LDBL_MAX_EXP__ 1024
1804// PPC64LE:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1805// PPC64LE:#define __LDBL_MIN_10_EXP__ (-291)
1806// PPC64LE:#define __LDBL_MIN_EXP__ (-968)
1807// PPC64LE:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1808// PPC64LE:#define __LITTLE_ENDIAN__ 1
1809// PPC64LE:#define __LONG_DOUBLE_128__ 1
1810// PPC64LE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1811// PPC64LE:#define __LONG_MAX__ 9223372036854775807L
1812// PPC64LE:#define __LP64__ 1
1813// PPC64LE:#define __NATURAL_ALIGNMENT__ 1
1814// PPC64LE:#define __POINTER_WIDTH__ 64
1815// PPC64LE:#define __POWERPC__ 1
1816// PPC64LE:#define __PPC64__ 1
1817// PPC64LE:#define __PPC__ 1
1818// PPC64LE:#define __PTRDIFF_TYPE__ long int
1819// PPC64LE:#define __PTRDIFF_WIDTH__ 64
1820// PPC64LE:#define __REGISTER_PREFIX__
1821// PPC64LE:#define __SCHAR_MAX__ 127
1822// PPC64LE:#define __SHRT_MAX__ 32767
1823// PPC64LE:#define __SIG_ATOMIC_WIDTH__ 32
1824// PPC64LE:#define __SIZEOF_DOUBLE__ 8
1825// PPC64LE:#define __SIZEOF_FLOAT__ 4
1826// PPC64LE:#define __SIZEOF_INT__ 4
1827// PPC64LE:#define __SIZEOF_LONG_DOUBLE__ 16
1828// PPC64LE:#define __SIZEOF_LONG_LONG__ 8
1829// PPC64LE:#define __SIZEOF_LONG__ 8
1830// PPC64LE:#define __SIZEOF_POINTER__ 8
1831// PPC64LE:#define __SIZEOF_PTRDIFF_T__ 8
1832// PPC64LE:#define __SIZEOF_SHORT__ 2
1833// PPC64LE:#define __SIZEOF_SIZE_T__ 8
1834// PPC64LE:#define __SIZEOF_WCHAR_T__ 4
1835// PPC64LE:#define __SIZEOF_WINT_T__ 4
1836// PPC64LE:#define __SIZE_MAX__ 18446744073709551615UL
1837// PPC64LE:#define __SIZE_TYPE__ long unsigned int
1838// PPC64LE:#define __SIZE_WIDTH__ 64
1839// PPC64LE:#define __UINTMAX_TYPE__ long unsigned int
1840// PPC64LE:#define __USER_LABEL_PREFIX__ _
1841// PPC64LE:#define __WCHAR_MAX__ 2147483647
1842// PPC64LE:#define __WCHAR_TYPE__ int
1843// PPC64LE:#define __WCHAR_WIDTH__ 32
1844// PPC64LE:#define __WINT_TYPE__ int
1845// PPC64LE:#define __WINT_WIDTH__ 32
1846// PPC64LE:#define __ppc64__ 1
1847// PPC64LE:#define __ppc__ 1
1848//
Hal Finkel5ccd3d02013-02-01 05:53:33 +00001849// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu a2q -fno-signed-char < /dev/null | FileCheck -check-prefix PPCA2Q %s
1850//
1851// PPCA2Q:#define _ARCH_A2 1
1852// PPCA2Q:#define _ARCH_A2Q 1
1853// PPCA2Q:#define _ARCH_PPC 1
1854// PPCA2Q:#define _ARCH_PPC64 1
1855// PPCA2Q:#define _ARCH_QP 1
1856//
1857// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-bgq-linux -fno-signed-char < /dev/null | FileCheck -check-prefix PPCBGQ %s
1858//
1859// PPCBGQ:#define __THW_BLUEGENE__ 1
1860// PPCBGQ:#define __TOS_BGQ__ 1
1861// PPCBGQ:#define __bg__ 1
1862// PPCBGQ:#define __bgq__ 1
1863//
Bill Schmidt2821e182013-02-01 20:23:10 +00001864// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu 630 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC630 %s
1865//
1866// PPC630:#define _ARCH_630 1
1867// PPC630:#define _ARCH_PPC 1
1868// PPC630:#define _ARCH_PPC64 1
1869// PPC630:#define _ARCH_PPCGR 1
1870//
1871// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR3 %s
1872//
1873// PPCPWR3:#define _ARCH_PPC 1
1874// PPCPWR3:#define _ARCH_PPC64 1
1875// PPCPWR3:#define _ARCH_PPCGR 1
1876//
1877// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER3 %s
1878//
1879// PPCPOWER3:#define _ARCH_PPC 1
1880// PPCPOWER3:#define _ARCH_PPC64 1
1881// PPCPOWER3:#define _ARCH_PPCGR 1
1882//
1883// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR4 %s
1884//
1885// PPCPWR4:#define _ARCH_PPC 1
1886// PPCPWR4:#define _ARCH_PPC64 1
1887// PPCPWR4:#define _ARCH_PPCGR 1
1888// PPCPWR4:#define _ARCH_PPCSQ 1
1889// PPCPWR4:#define _ARCH_PWR4 1
1890//
1891// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER4 %s
1892//
1893// PPCPOWER4:#define _ARCH_PPC 1
1894// PPCPOWER4:#define _ARCH_PPC64 1
1895// PPCPOWER4:#define _ARCH_PPCGR 1
1896// PPCPOWER4:#define _ARCH_PPCSQ 1
1897// PPCPOWER4:#define _ARCH_PWR4 1
1898//
1899// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5 %s
1900//
1901// PPCPWR5:#define _ARCH_PPC 1
1902// PPCPWR5:#define _ARCH_PPC64 1
1903// PPCPWR5:#define _ARCH_PPCGR 1
1904// PPCPWR5:#define _ARCH_PPCSQ 1
1905// PPCPWR5:#define _ARCH_PWR4 1
1906// PPCPWR5:#define _ARCH_PWR5 1
1907//
1908// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5 %s
1909//
1910// PPCPOWER5:#define _ARCH_PPC 1
1911// PPCPOWER5:#define _ARCH_PPC64 1
1912// PPCPOWER5:#define _ARCH_PPCGR 1
1913// PPCPOWER5:#define _ARCH_PPCSQ 1
1914// PPCPOWER5:#define _ARCH_PWR4 1
1915// PPCPOWER5:#define _ARCH_PWR5 1
1916//
1917// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5X %s
1918//
1919// PPCPWR5X:#define _ARCH_PPC 1
1920// PPCPWR5X:#define _ARCH_PPC64 1
1921// PPCPWR5X:#define _ARCH_PPCGR 1
1922// PPCPWR5X:#define _ARCH_PPCSQ 1
1923// PPCPWR5X:#define _ARCH_PWR4 1
1924// PPCPWR5X:#define _ARCH_PWR5 1
1925// PPCPWR5X:#define _ARCH_PWR5X 1
1926//
1927// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5X %s
1928//
1929// PPCPOWER5X:#define _ARCH_PPC 1
1930// PPCPOWER5X:#define _ARCH_PPC64 1
1931// PPCPOWER5X:#define _ARCH_PPCGR 1
1932// PPCPOWER5X:#define _ARCH_PPCSQ 1
1933// PPCPOWER5X:#define _ARCH_PWR4 1
1934// PPCPOWER5X:#define _ARCH_PWR5 1
1935// PPCPOWER5X:#define _ARCH_PWR5X 1
1936//
1937// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6 %s
1938//
1939// PPCPWR6:#define _ARCH_PPC 1
1940// PPCPWR6:#define _ARCH_PPC64 1
1941// PPCPWR6:#define _ARCH_PPCGR 1
1942// PPCPWR6:#define _ARCH_PPCSQ 1
1943// PPCPWR6:#define _ARCH_PWR4 1
1944// PPCPWR6:#define _ARCH_PWR5 1
1945// PPCPWR6:#define _ARCH_PWR5X 1
1946// PPCPWR6:#define _ARCH_PWR6 1
1947//
1948// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6 %s
1949//
1950// PPCPOWER6:#define _ARCH_PPC 1
1951// PPCPOWER6:#define _ARCH_PPC64 1
1952// PPCPOWER6:#define _ARCH_PPCGR 1
1953// PPCPOWER6:#define _ARCH_PPCSQ 1
1954// PPCPOWER6:#define _ARCH_PWR4 1
1955// PPCPOWER6:#define _ARCH_PWR5 1
1956// PPCPOWER6:#define _ARCH_PWR5X 1
1957// PPCPOWER6:#define _ARCH_PWR6 1
1958//
1959// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6X %s
1960//
1961// PPCPWR6X:#define _ARCH_PPC 1
1962// PPCPWR6X:#define _ARCH_PPC64 1
1963// PPCPWR6X:#define _ARCH_PPCGR 1
1964// PPCPWR6X:#define _ARCH_PPCSQ 1
1965// PPCPWR6X:#define _ARCH_PWR4 1
1966// PPCPWR6X:#define _ARCH_PWR5 1
1967// PPCPWR6X:#define _ARCH_PWR5X 1
1968// PPCPWR6X:#define _ARCH_PWR6 1
1969// PPCPWR6X:#define _ARCH_PWR6X 1
1970//
1971// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6X %s
1972//
1973// PPCPOWER6X:#define _ARCH_PPC 1
1974// PPCPOWER6X:#define _ARCH_PPC64 1
1975// PPCPOWER6X:#define _ARCH_PPCGR 1
1976// PPCPOWER6X:#define _ARCH_PPCSQ 1
1977// PPCPOWER6X:#define _ARCH_PWR4 1
1978// PPCPOWER6X:#define _ARCH_PWR5 1
1979// PPCPOWER6X:#define _ARCH_PWR5X 1
1980// PPCPOWER6X:#define _ARCH_PWR6 1
1981// PPCPOWER6X:#define _ARCH_PWR6X 1
1982//
1983// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR7 %s
1984//
1985// PPCPWR7:#define _ARCH_PPC 1
1986// PPCPWR7:#define _ARCH_PPC64 1
1987// PPCPWR7:#define _ARCH_PPCGR 1
1988// PPCPWR7:#define _ARCH_PPCSQ 1
1989// PPCPWR7:#define _ARCH_PWR4 1
1990// PPCPWR7:#define _ARCH_PWR5 1
1991// PPCPWR7:#define _ARCH_PWR5X 1
1992// PPCPWR7:#define _ARCH_PWR6 1
1993// PPCPWR7:#define _ARCH_PWR6X 1
1994// PPCPWR7:#define _ARCH_PWR7 1
1995//
1996// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER7 %s
1997//
1998// PPCPOWER7:#define _ARCH_PPC 1
1999// PPCPOWER7:#define _ARCH_PPC64 1
2000// PPCPOWER7:#define _ARCH_PPCGR 1
2001// PPCPOWER7:#define _ARCH_PPCSQ 1
2002// PPCPOWER7:#define _ARCH_PWR4 1
2003// PPCPOWER7:#define _ARCH_PWR5 1
2004// PPCPOWER7:#define _ARCH_PWR5X 1
2005// PPCPOWER7:#define _ARCH_PWR6 1
2006// PPCPOWER7:#define _ARCH_PWR6X 1
2007// PPCPOWER7:#define _ARCH_PWR7 1
2008//
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002009// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
2010//
2011// PPC64-LINUX:#define _ARCH_PPC 1
2012// PPC64-LINUX:#define _ARCH_PPC64 1
2013// PPC64-LINUX:#define _BIG_ENDIAN 1
2014// PPC64-LINUX:#define _LP64 1
2015// PPC64-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002016// PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002017// PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
2018// PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
2019// PPC64-LINUX:#define __CHAR_BIT__ 8
2020// PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
2021// PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2022// PPC64-LINUX:#define __DBL_DIG__ 15
2023// PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2024// PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
2025// PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
2026// PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2027// PPC64-LINUX:#define __DBL_MANT_DIG__ 53
2028// PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
2029// PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
2030// PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2031// PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2032// PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2033// PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2034// PPC64-LINUX:#define __DECIMAL_DIG__ 33
2035// PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2036// PPC64-LINUX:#define __FLT_DIG__ 6
2037// PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2038// PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
2039// PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
2040// PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
2041// PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2042// PPC64-LINUX:#define __FLT_MANT_DIG__ 24
2043// PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
2044// PPC64-LINUX:#define __FLT_MAX_EXP__ 128
2045// PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2046// PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2047// PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
2048// PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2049// PPC64-LINUX:#define __FLT_RADIX__ 2
2050// PPC64-LINUX:#define __INT16_TYPE__ short
2051// PPC64-LINUX:#define __INT32_TYPE__ int
2052// PPC64-LINUX:#define __INT64_C_SUFFIX__ L
2053// PPC64-LINUX:#define __INT64_TYPE__ long int
2054// PPC64-LINUX:#define __INT8_TYPE__ char
2055// PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2056// PPC64-LINUX:#define __INTMAX_TYPE__ long int
2057// PPC64-LINUX:#define __INTMAX_WIDTH__ 64
2058// PPC64-LINUX:#define __INTPTR_TYPE__ long int
2059// PPC64-LINUX:#define __INTPTR_WIDTH__ 64
2060// PPC64-LINUX:#define __INT_MAX__ 2147483647
2061// PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2062// PPC64-LINUX:#define __LDBL_DIG__ 31
2063// PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2064// PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
2065// PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2066// PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2067// PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
2068// PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
2069// PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
2070// PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2071// PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2072// PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
2073// PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2074// PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
2075// PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2076// PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2077// PPC64-LINUX:#define __LP64__ 1
2078// PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002079// PPC64-LINUX:#define __POINTER_WIDTH__ 64
2080// PPC64-LINUX:#define __POWERPC__ 1
Chandler Carruthc6fa1152013-06-25 11:13:47 +00002081// PPC64-LINUX:#define __PPC64__ 1
2082// PPC64-LINUX:#define __PPC__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002083// PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
2084// PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
2085// PPC64-LINUX:#define __REGISTER_PREFIX__
2086// PPC64-LINUX:#define __SCHAR_MAX__ 127
2087// PPC64-LINUX:#define __SHRT_MAX__ 32767
2088// PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2089// PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
2090// PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
2091// PPC64-LINUX:#define __SIZEOF_INT__ 4
2092// PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2093// PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2094// PPC64-LINUX:#define __SIZEOF_LONG__ 8
2095// PPC64-LINUX:#define __SIZEOF_POINTER__ 8
2096// PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2097// PPC64-LINUX:#define __SIZEOF_SHORT__ 2
2098// PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
2099// PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2100// PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002101// PPC64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002102// PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
2103// PPC64-LINUX:#define __SIZE_WIDTH__ 64
2104// PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2105// PPC64-LINUX:#define __USER_LABEL_PREFIX__
2106// PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
2107// PPC64-LINUX:#define __WCHAR_TYPE__ int
2108// PPC64-LINUX:#define __WCHAR_WIDTH__ 32
2109// PPC64-LINUX:#define __WINT_TYPE__ unsigned int
2110// PPC64-LINUX:#define __WINT_UNSIGNED__ 1
2111// PPC64-LINUX:#define __WINT_WIDTH__ 32
2112// PPC64-LINUX:#define __powerpc64__ 1
2113// PPC64-LINUX:#define __powerpc__ 1
2114// PPC64-LINUX:#define __ppc64__ 1
2115// PPC64-LINUX:#define __ppc__ 1
2116//
Daniel Dunbara5728872009-12-15 20:14:24 +00002117// 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 +00002118//
2119// PPC:#define _ARCH_PPC 1
2120// PPC:#define _BIG_ENDIAN 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002121// PPC-NOT:#define _LP64
Chris Lattnerbceaf862009-10-29 04:55:36 +00002122// PPC:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002123// PPC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00002124// PPC:#define __CHAR16_TYPE__ unsigned short
2125// PPC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002126// PPC:#define __CHAR_BIT__ 8
2127// PPC:#define __CHAR_UNSIGNED__ 1
2128// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2129// PPC:#define __DBL_DIG__ 15
2130// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2131// PPC:#define __DBL_HAS_DENORM__ 1
2132// PPC:#define __DBL_HAS_INFINITY__ 1
2133// PPC:#define __DBL_HAS_QUIET_NAN__ 1
2134// PPC:#define __DBL_MANT_DIG__ 53
2135// PPC:#define __DBL_MAX_10_EXP__ 308
2136// PPC:#define __DBL_MAX_EXP__ 1024
2137// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
2138// PPC:#define __DBL_MIN_10_EXP__ (-307)
2139// PPC:#define __DBL_MIN_EXP__ (-1021)
2140// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002141// PPC:#define __DECIMAL_DIG__ 33
Chris Lattnerbceaf862009-10-29 04:55:36 +00002142// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2143// PPC:#define __FLT_DIG__ 6
2144// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
2145// PPC:#define __FLT_EVAL_METHOD__ 0
2146// PPC:#define __FLT_HAS_DENORM__ 1
2147// PPC:#define __FLT_HAS_INFINITY__ 1
2148// PPC:#define __FLT_HAS_QUIET_NAN__ 1
2149// PPC:#define __FLT_MANT_DIG__ 24
2150// PPC:#define __FLT_MAX_10_EXP__ 38
2151// PPC:#define __FLT_MAX_EXP__ 128
2152// PPC:#define __FLT_MAX__ 3.40282347e+38F
2153// PPC:#define __FLT_MIN_10_EXP__ (-37)
2154// PPC:#define __FLT_MIN_EXP__ (-125)
2155// PPC:#define __FLT_MIN__ 1.17549435e-38F
2156// PPC:#define __FLT_RADIX__ 2
2157// PPC:#define __INT16_TYPE__ short
2158// PPC:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00002159// PPC:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +00002160// PPC:#define __INT64_TYPE__ long long int
2161// PPC:#define __INT8_TYPE__ char
2162// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +00002163// PPC:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +00002164// PPC:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00002165// PPC:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00002166// PPC:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002167// PPC:#define __INT_MAX__ 2147483647
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002168// PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2169// PPC:#define __LDBL_DIG__ 31
2170// PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002171// PPC:#define __LDBL_HAS_DENORM__ 1
2172// PPC:#define __LDBL_HAS_INFINITY__ 1
2173// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002174// PPC:#define __LDBL_MANT_DIG__ 106
Chris Lattnerbceaf862009-10-29 04:55:36 +00002175// PPC:#define __LDBL_MAX_10_EXP__ 308
2176// PPC:#define __LDBL_MAX_EXP__ 1024
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002177// PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2178// PPC:#define __LDBL_MIN_10_EXP__ (-291)
2179// PPC:#define __LDBL_MIN_EXP__ (-968)
2180// PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002181// PPC:#define __LONG_DOUBLE_128__ 1
2182// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2183// PPC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002184// PPC-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +00002185// PPC:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00002186// PPC:#define __POINTER_WIDTH__ 32
2187// PPC:#define __POWERPC__ 1
Chandler Carruthc6fa1152013-06-25 11:13:47 +00002188// PPC:#define __PPC__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00002189// PPC:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00002190// PPC:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002191// PPC:#define __REGISTER_PREFIX__
2192// PPC:#define __SCHAR_MAX__ 127
2193// PPC:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00002194// PPC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00002195// PPC:#define __SIZEOF_DOUBLE__ 8
2196// PPC:#define __SIZEOF_FLOAT__ 4
2197// PPC:#define __SIZEOF_INT__ 4
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002198// PPC:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohmancfeac342010-05-28 00:27:15 +00002199// PPC:#define __SIZEOF_LONG_LONG__ 8
2200// PPC:#define __SIZEOF_LONG__ 4
2201// PPC:#define __SIZEOF_POINTER__ 4
2202// PPC:#define __SIZEOF_PTRDIFF_T__ 4
2203// PPC:#define __SIZEOF_SHORT__ 2
2204// PPC:#define __SIZEOF_SIZE_T__ 4
2205// PPC:#define __SIZEOF_WCHAR_T__ 4
2206// PPC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002207// PPC:#define __SIZE_MAX__ 4294967295U
Chris Lattnerbceaf862009-10-29 04:55:36 +00002208// PPC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00002209// PPC:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00002210// PPC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002211// PPC:#define __USER_LABEL_PREFIX__ _
2212// PPC:#define __WCHAR_MAX__ 2147483647
2213// PPC:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00002214// PPC:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002215// PPC:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00002216// PPC:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002217// PPC:#define __ppc__ 1
2218//
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002219// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
2220//
2221// PPC-LINUX:#define _ARCH_PPC 1
2222// PPC-LINUX:#define _BIG_ENDIAN 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002223// PPC-LINUX-NOT:#define _LP64
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002224// PPC-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002225// PPC-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002226// PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
2227// PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
2228// PPC-LINUX:#define __CHAR_BIT__ 8
2229// PPC-LINUX:#define __CHAR_UNSIGNED__ 1
2230// PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2231// PPC-LINUX:#define __DBL_DIG__ 15
2232// PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2233// PPC-LINUX:#define __DBL_HAS_DENORM__ 1
2234// PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
2235// PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2236// PPC-LINUX:#define __DBL_MANT_DIG__ 53
2237// PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
2238// PPC-LINUX:#define __DBL_MAX_EXP__ 1024
2239// PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2240// PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2241// PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
2242// PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2243// PPC-LINUX:#define __DECIMAL_DIG__ 33
2244// PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2245// PPC-LINUX:#define __FLT_DIG__ 6
2246// PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2247// PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
2248// PPC-LINUX:#define __FLT_HAS_DENORM__ 1
2249// PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
2250// PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2251// PPC-LINUX:#define __FLT_MANT_DIG__ 24
2252// PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
2253// PPC-LINUX:#define __FLT_MAX_EXP__ 128
2254// PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2255// PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2256// PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
2257// PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2258// PPC-LINUX:#define __FLT_RADIX__ 2
2259// PPC-LINUX:#define __INT16_TYPE__ short
2260// PPC-LINUX:#define __INT32_TYPE__ int
2261// PPC-LINUX:#define __INT64_C_SUFFIX__ LL
2262// PPC-LINUX:#define __INT64_TYPE__ long long int
2263// PPC-LINUX:#define __INT8_TYPE__ char
2264// PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
2265// PPC-LINUX:#define __INTMAX_TYPE__ long long int
2266// PPC-LINUX:#define __INTMAX_WIDTH__ 64
Hal Finkel178a9b82012-03-02 20:54:36 +00002267// PPC-LINUX:#define __INTPTR_TYPE__ int
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002268// PPC-LINUX:#define __INTPTR_WIDTH__ 32
2269// PPC-LINUX:#define __INT_MAX__ 2147483647
2270// PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2271// PPC-LINUX:#define __LDBL_DIG__ 31
2272// PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2273// PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
2274// PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
2275// PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2276// PPC-LINUX:#define __LDBL_MANT_DIG__ 106
2277// PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
2278// PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
2279// PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2280// PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2281// PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
2282// PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2283// PPC-LINUX:#define __LONG_DOUBLE_128__ 1
2284// PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2285// PPC-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002286// PPC-LINUX-NOT:#define __LP64__
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002287// PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002288// PPC-LINUX:#define __POINTER_WIDTH__ 32
2289// PPC-LINUX:#define __POWERPC__ 1
Chandler Carruthc6fa1152013-06-25 11:13:47 +00002290// PPC-LINUX:#define __PPC__ 1
Hal Finkel178a9b82012-03-02 20:54:36 +00002291// PPC-LINUX:#define __PTRDIFF_TYPE__ int
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002292// PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
2293// PPC-LINUX:#define __REGISTER_PREFIX__
2294// PPC-LINUX:#define __SCHAR_MAX__ 127
2295// PPC-LINUX:#define __SHRT_MAX__ 32767
2296// PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2297// PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
2298// PPC-LINUX:#define __SIZEOF_FLOAT__ 4
2299// PPC-LINUX:#define __SIZEOF_INT__ 4
2300// PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2301// PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
2302// PPC-LINUX:#define __SIZEOF_LONG__ 4
2303// PPC-LINUX:#define __SIZEOF_POINTER__ 4
2304// PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
2305// PPC-LINUX:#define __SIZEOF_SHORT__ 2
2306// PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
2307// PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
2308// PPC-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002309// PPC-LINUX:#define __SIZE_MAX__ 4294967295U
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002310// PPC-LINUX:#define __SIZE_TYPE__ unsigned int
2311// PPC-LINUX:#define __SIZE_WIDTH__ 32
2312// PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
2313// PPC-LINUX:#define __USER_LABEL_PREFIX__
2314// PPC-LINUX:#define __WCHAR_MAX__ 2147483647
2315// PPC-LINUX:#define __WCHAR_TYPE__ int
2316// PPC-LINUX:#define __WCHAR_WIDTH__ 32
2317// PPC-LINUX:#define __WINT_TYPE__ unsigned int
2318// PPC-LINUX:#define __WINT_UNSIGNED__ 1
2319// PPC-LINUX:#define __WINT_WIDTH__ 32
2320// PPC-LINUX:#define __powerpc__ 1
2321// PPC-LINUX:#define __ppc__ 1
2322//
David Fangb5afadd2013-05-16 17:51:48 +00002323// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-apple-darwin8 < /dev/null | FileCheck -check-prefix PPC-DARWIN %s
2324//
2325// PPC-DARWIN:#define _ARCH_PPC 1
2326// PPC-DARWIN:#define _BIG_ENDIAN 1
2327// PPC-DARWIN:#define __BIG_ENDIAN__ 1
2328// PPC-DARWIN:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2329// PPC-DARWIN:#define __CHAR16_TYPE__ unsigned short
2330// PPC-DARWIN:#define __CHAR32_TYPE__ unsigned int
2331// PPC-DARWIN:#define __CHAR_BIT__ 8
2332// PPC-DARWIN:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2333// PPC-DARWIN:#define __DBL_DIG__ 15
2334// PPC-DARWIN:#define __DBL_EPSILON__ 2.2204460492503131e-16
2335// PPC-DARWIN:#define __DBL_HAS_DENORM__ 1
2336// PPC-DARWIN:#define __DBL_HAS_INFINITY__ 1
2337// PPC-DARWIN:#define __DBL_HAS_QUIET_NAN__ 1
2338// PPC-DARWIN:#define __DBL_MANT_DIG__ 53
2339// PPC-DARWIN:#define __DBL_MAX_10_EXP__ 308
2340// PPC-DARWIN:#define __DBL_MAX_EXP__ 1024
2341// PPC-DARWIN:#define __DBL_MAX__ 1.7976931348623157e+308
2342// PPC-DARWIN:#define __DBL_MIN_10_EXP__ (-307)
2343// PPC-DARWIN:#define __DBL_MIN_EXP__ (-1021)
2344// PPC-DARWIN:#define __DBL_MIN__ 2.2250738585072014e-308
2345// PPC-DARWIN:#define __DECIMAL_DIG__ 33
2346// PPC-DARWIN:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2347// PPC-DARWIN:#define __FLT_DIG__ 6
2348// PPC-DARWIN:#define __FLT_EPSILON__ 1.19209290e-7F
2349// PPC-DARWIN:#define __FLT_EVAL_METHOD__ 0
2350// PPC-DARWIN:#define __FLT_HAS_DENORM__ 1
2351// PPC-DARWIN:#define __FLT_HAS_INFINITY__ 1
2352// PPC-DARWIN:#define __FLT_HAS_QUIET_NAN__ 1
2353// PPC-DARWIN:#define __FLT_MANT_DIG__ 24
2354// PPC-DARWIN:#define __FLT_MAX_10_EXP__ 38
2355// PPC-DARWIN:#define __FLT_MAX_EXP__ 128
2356// PPC-DARWIN:#define __FLT_MAX__ 3.40282347e+38F
2357// PPC-DARWIN:#define __FLT_MIN_10_EXP__ (-37)
2358// PPC-DARWIN:#define __FLT_MIN_EXP__ (-125)
2359// PPC-DARWIN:#define __FLT_MIN__ 1.17549435e-38F
2360// PPC-DARWIN:#define __FLT_RADIX__ 2
2361// PPC-DARWIN:#define __INT16_TYPE__ short
2362// PPC-DARWIN:#define __INT32_TYPE__ int
2363// PPC-DARWIN:#define __INT64_C_SUFFIX__ LL
2364// PPC-DARWIN:#define __INT64_TYPE__ long long int
2365// PPC-DARWIN:#define __INT8_TYPE__ char
2366// PPC-DARWIN:#define __INTMAX_MAX__ 9223372036854775807LL
2367// PPC-DARWIN:#define __INTMAX_TYPE__ long long int
2368// PPC-DARWIN:#define __INTMAX_WIDTH__ 64
2369// PPC-DARWIN:#define __INTPTR_TYPE__ long int
2370// PPC-DARWIN:#define __INTPTR_WIDTH__ 32
2371// PPC-DARWIN:#define __INT_MAX__ 2147483647
2372// PPC-DARWIN:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2373// PPC-DARWIN:#define __LDBL_DIG__ 31
2374// PPC-DARWIN:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2375// PPC-DARWIN:#define __LDBL_HAS_DENORM__ 1
2376// PPC-DARWIN:#define __LDBL_HAS_INFINITY__ 1
2377// PPC-DARWIN:#define __LDBL_HAS_QUIET_NAN__ 1
2378// PPC-DARWIN:#define __LDBL_MANT_DIG__ 106
2379// PPC-DARWIN:#define __LDBL_MAX_10_EXP__ 308
2380// PPC-DARWIN:#define __LDBL_MAX_EXP__ 1024
2381// PPC-DARWIN:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2382// PPC-DARWIN:#define __LDBL_MIN_10_EXP__ (-291)
2383// PPC-DARWIN:#define __LDBL_MIN_EXP__ (-968)
2384// PPC-DARWIN:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2385// PPC-DARWIN:#define __LONG_DOUBLE_128__ 1
2386// PPC-DARWIN:#define __LONG_LONG_MAX__ 9223372036854775807LL
2387// PPC-DARWIN:#define __LONG_MAX__ 2147483647L
2388// PPC-DARWIN:#define __MACH__ 1
2389// PPC-DARWIN:#define __NATURAL_ALIGNMENT__ 1
2390// PPC-DARWIN:#define __ORDER_BIG_ENDIAN__ 4321
2391// PPC-DARWIN:#define __ORDER_LITTLE_ENDIAN__ 1234
2392// PPC-DARWIN:#define __ORDER_PDP_ENDIAN__ 3412
2393// PPC-DARWIN:#define __POINTER_WIDTH__ 32
2394// PPC-DARWIN:#define __POWERPC__ 1
Chandler Carruthc6fa1152013-06-25 11:13:47 +00002395// PPC-DARWIN:#define __PPC__ 1
David Fangb5afadd2013-05-16 17:51:48 +00002396// PPC-DARWIN:#define __PTRDIFF_TYPE__ int
2397// PPC-DARWIN:#define __PTRDIFF_WIDTH__ 32
2398// PPC-DARWIN:#define __REGISTER_PREFIX__
2399// PPC-DARWIN:#define __SCHAR_MAX__ 127
2400// PPC-DARWIN:#define __SHRT_MAX__ 32767
2401// PPC-DARWIN:#define __SIG_ATOMIC_WIDTH__ 32
2402// PPC-DARWIN:#define __SIZEOF_DOUBLE__ 8
2403// PPC-DARWIN:#define __SIZEOF_FLOAT__ 4
2404// PPC-DARWIN:#define __SIZEOF_INT__ 4
2405// PPC-DARWIN:#define __SIZEOF_LONG_DOUBLE__ 16
2406// PPC-DARWIN:#define __SIZEOF_LONG_LONG__ 8
2407// PPC-DARWIN:#define __SIZEOF_LONG__ 4
2408// PPC-DARWIN:#define __SIZEOF_POINTER__ 4
2409// PPC-DARWIN:#define __SIZEOF_PTRDIFF_T__ 4
2410// PPC-DARWIN:#define __SIZEOF_SHORT__ 2
2411// PPC-DARWIN:#define __SIZEOF_SIZE_T__ 4
2412// PPC-DARWIN:#define __SIZEOF_WCHAR_T__ 4
2413// PPC-DARWIN:#define __SIZEOF_WINT_T__ 4
2414// PPC-DARWIN:#define __SIZE_MAX__ 4294967295UL
2415// PPC-DARWIN:#define __SIZE_TYPE__ long unsigned int
2416// PPC-DARWIN:#define __SIZE_WIDTH__ 32
2417// PPC-DARWIN:#define __STDC_HOSTED__ 0
2418// PPC-DARWIN:#define __STDC_VERSION__ 199901L
2419// PPC-DARWIN:#define __STDC__ 1
2420// PPC-DARWIN:#define __UINTMAX_TYPE__ long long unsigned int
2421// PPC-DARWIN:#define __USER_LABEL_PREFIX__ _
2422// PPC-DARWIN:#define __WCHAR_MAX__ 2147483647
2423// PPC-DARWIN:#define __WCHAR_TYPE__ int
2424// PPC-DARWIN:#define __WCHAR_WIDTH__ 32
2425// PPC-DARWIN:#define __WINT_TYPE__ int
2426// PPC-DARWIN:#define __WINT_WIDTH__ 32
2427// PPC-DARWIN:#define __powerpc__ 1
2428// PPC-DARWIN:#define __ppc__ 1
2429//
Ulrich Weigandb8409212013-05-06 16:26:41 +00002430// RUN: %clang_cc1 -E -dM -ffreestanding -triple=s390x-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix S390X %s
2431//
2432// S390X:#define __CHAR16_TYPE__ unsigned short
2433// S390X:#define __CHAR32_TYPE__ unsigned int
2434// S390X:#define __CHAR_BIT__ 8
2435// S390X:#define __CHAR_UNSIGNED__ 1
2436// S390X:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2437// S390X:#define __DBL_DIG__ 15
2438// S390X:#define __DBL_EPSILON__ 2.2204460492503131e-16
2439// S390X:#define __DBL_HAS_DENORM__ 1
2440// S390X:#define __DBL_HAS_INFINITY__ 1
2441// S390X:#define __DBL_HAS_QUIET_NAN__ 1
2442// S390X:#define __DBL_MANT_DIG__ 53
2443// S390X:#define __DBL_MAX_10_EXP__ 308
2444// S390X:#define __DBL_MAX_EXP__ 1024
2445// S390X:#define __DBL_MAX__ 1.7976931348623157e+308
2446// S390X:#define __DBL_MIN_10_EXP__ (-307)
2447// S390X:#define __DBL_MIN_EXP__ (-1021)
2448// S390X:#define __DBL_MIN__ 2.2250738585072014e-308
2449// S390X:#define __DECIMAL_DIG__ 36
2450// S390X:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2451// S390X:#define __FLT_DIG__ 6
2452// S390X:#define __FLT_EPSILON__ 1.19209290e-7F
2453// S390X:#define __FLT_EVAL_METHOD__ 0
2454// S390X:#define __FLT_HAS_DENORM__ 1
2455// S390X:#define __FLT_HAS_INFINITY__ 1
2456// S390X:#define __FLT_HAS_QUIET_NAN__ 1
2457// S390X:#define __FLT_MANT_DIG__ 24
2458// S390X:#define __FLT_MAX_10_EXP__ 38
2459// S390X:#define __FLT_MAX_EXP__ 128
2460// S390X:#define __FLT_MAX__ 3.40282347e+38F
2461// S390X:#define __FLT_MIN_10_EXP__ (-37)
2462// S390X:#define __FLT_MIN_EXP__ (-125)
2463// S390X:#define __FLT_MIN__ 1.17549435e-38F
2464// S390X:#define __FLT_RADIX__ 2
2465// S390X:#define __INT16_TYPE__ short
2466// S390X:#define __INT32_TYPE__ int
2467// S390X:#define __INT64_C_SUFFIX__ L
2468// S390X:#define __INT64_TYPE__ long long int
2469// S390X:#define __INT8_TYPE__ char
2470// S390X:#define __INTMAX_MAX__ 9223372036854775807LL
2471// S390X:#define __INTMAX_TYPE__ long long int
2472// S390X:#define __INTMAX_WIDTH__ 64
2473// S390X:#define __INTPTR_TYPE__ long int
2474// S390X:#define __INTPTR_WIDTH__ 64
2475// S390X:#define __INT_MAX__ 2147483647
2476// S390X:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
2477// S390X:#define __LDBL_DIG__ 33
2478// S390X:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
2479// S390X:#define __LDBL_HAS_DENORM__ 1
2480// S390X:#define __LDBL_HAS_INFINITY__ 1
2481// S390X:#define __LDBL_HAS_QUIET_NAN__ 1
2482// S390X:#define __LDBL_MANT_DIG__ 113
2483// S390X:#define __LDBL_MAX_10_EXP__ 4932
2484// S390X:#define __LDBL_MAX_EXP__ 16384
2485// S390X:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
2486// S390X:#define __LDBL_MIN_10_EXP__ (-4931)
2487// S390X:#define __LDBL_MIN_EXP__ (-16381)
2488// S390X:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
2489// S390X:#define __LONG_LONG_MAX__ 9223372036854775807LL
2490// S390X:#define __LONG_MAX__ 9223372036854775807L
2491// S390X:#define __NO_INLINE__ 1
2492// S390X:#define __POINTER_WIDTH__ 64
2493// S390X:#define __PTRDIFF_TYPE__ long int
2494// S390X:#define __PTRDIFF_WIDTH__ 64
2495// S390X:#define __SCHAR_MAX__ 127
2496// S390X:#define __SHRT_MAX__ 32767
2497// S390X:#define __SIG_ATOMIC_WIDTH__ 32
2498// S390X:#define __SIZEOF_DOUBLE__ 8
2499// S390X:#define __SIZEOF_FLOAT__ 4
2500// S390X:#define __SIZEOF_INT__ 4
2501// S390X:#define __SIZEOF_LONG_DOUBLE__ 16
2502// S390X:#define __SIZEOF_LONG_LONG__ 8
2503// S390X:#define __SIZEOF_LONG__ 8
2504// S390X:#define __SIZEOF_POINTER__ 8
2505// S390X:#define __SIZEOF_PTRDIFF_T__ 8
2506// S390X:#define __SIZEOF_SHORT__ 2
2507// S390X:#define __SIZEOF_SIZE_T__ 8
2508// S390X:#define __SIZEOF_WCHAR_T__ 4
2509// S390X:#define __SIZEOF_WINT_T__ 4
2510// S390X:#define __SIZE_TYPE__ long unsigned int
2511// S390X:#define __SIZE_WIDTH__ 64
2512// S390X:#define __UINTMAX_TYPE__ long long unsigned int
2513// S390X:#define __USER_LABEL_PREFIX__ _
2514// S390X:#define __WCHAR_MAX__ 2147483647
2515// S390X:#define __WCHAR_TYPE__ int
2516// S390X:#define __WCHAR_WIDTH__ 32
2517// S390X:#define __WINT_TYPE__ int
2518// S390X:#define __WINT_WIDTH__ 32
2519// S390X:#define __s390__ 1
2520// S390X:#define __s390x__ 1
2521//
Daniel Dunbara5728872009-12-15 20:14:24 +00002522// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00002523//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002524// SPARC-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002525// SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00002526// SPARC:#define __CHAR16_TYPE__ unsigned short
2527// SPARC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002528// SPARC:#define __CHAR_BIT__ 8
2529// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2530// SPARC:#define __DBL_DIG__ 15
2531// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2532// SPARC:#define __DBL_HAS_DENORM__ 1
2533// SPARC:#define __DBL_HAS_INFINITY__ 1
2534// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
2535// SPARC:#define __DBL_MANT_DIG__ 53
2536// SPARC:#define __DBL_MAX_10_EXP__ 308
2537// SPARC:#define __DBL_MAX_EXP__ 1024
2538// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
2539// SPARC:#define __DBL_MIN_10_EXP__ (-307)
2540// SPARC:#define __DBL_MIN_EXP__ (-1021)
2541// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
2542// SPARC:#define __DECIMAL_DIG__ 17
2543// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2544// SPARC:#define __FLT_DIG__ 6
2545// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
2546// SPARC:#define __FLT_EVAL_METHOD__ 0
2547// SPARC:#define __FLT_HAS_DENORM__ 1
2548// SPARC:#define __FLT_HAS_INFINITY__ 1
2549// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
2550// SPARC:#define __FLT_MANT_DIG__ 24
2551// SPARC:#define __FLT_MAX_10_EXP__ 38
2552// SPARC:#define __FLT_MAX_EXP__ 128
2553// SPARC:#define __FLT_MAX__ 3.40282347e+38F
2554// SPARC:#define __FLT_MIN_10_EXP__ (-37)
2555// SPARC:#define __FLT_MIN_EXP__ (-125)
2556// SPARC:#define __FLT_MIN__ 1.17549435e-38F
2557// SPARC:#define __FLT_RADIX__ 2
2558// SPARC:#define __INT16_TYPE__ short
2559// SPARC:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00002560// SPARC:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +00002561// SPARC:#define __INT64_TYPE__ long long int
2562// SPARC:#define __INT8_TYPE__ char
2563// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +00002564// SPARC:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +00002565// SPARC:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00002566// SPARC:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00002567// SPARC:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002568// SPARC:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00002569// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002570// SPARC:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00002571// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002572// SPARC:#define __LDBL_HAS_DENORM__ 1
2573// SPARC:#define __LDBL_HAS_INFINITY__ 1
2574// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
2575// SPARC:#define __LDBL_MANT_DIG__ 53
2576// SPARC:#define __LDBL_MAX_10_EXP__ 308
2577// SPARC:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00002578// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002579// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
2580// SPARC:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00002581// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002582// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2583// SPARC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002584// SPARC-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +00002585// SPARC:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00002586// SPARC:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00002587// SPARC:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbareac7c532009-12-18 18:42:37 +00002588// SPARC:#define __REGISTER_PREFIX__
Chris Lattnerbceaf862009-10-29 04:55:36 +00002589// SPARC:#define __SCHAR_MAX__ 127
2590// SPARC:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00002591// SPARC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00002592// SPARC:#define __SIZEOF_DOUBLE__ 8
2593// SPARC:#define __SIZEOF_FLOAT__ 4
2594// SPARC:#define __SIZEOF_INT__ 4
2595// SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
2596// SPARC:#define __SIZEOF_LONG_LONG__ 8
2597// SPARC:#define __SIZEOF_LONG__ 4
2598// SPARC:#define __SIZEOF_POINTER__ 4
2599// SPARC:#define __SIZEOF_PTRDIFF_T__ 4
2600// SPARC:#define __SIZEOF_SHORT__ 2
2601// SPARC:#define __SIZEOF_SIZE_T__ 4
2602// SPARC:#define __SIZEOF_WCHAR_T__ 4
2603// SPARC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002604// SPARC:#define __SIZE_MAX__ 4294967295U
Chris Lattnerbceaf862009-10-29 04:55:36 +00002605// SPARC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00002606// SPARC:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00002607// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002608// SPARC:#define __USER_LABEL_PREFIX__ _
Daniel Dunbarad1a4c62011-03-31 00:53:51 +00002609// SPARC:#define __VERSION__ "4.2.1 Compatible
Chris Lattnerbceaf862009-10-29 04:55:36 +00002610// SPARC:#define __WCHAR_MAX__ 2147483647
2611// SPARC:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00002612// SPARC:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002613// SPARC:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00002614// SPARC:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002615// SPARC:#define __sparc 1
2616// SPARC:#define __sparc__ 1
2617// SPARC:#define __sparcv8 1
2618// SPARC:#define sparc 1
2619//
Daniel Dunbara5728872009-12-15 20:14:24 +00002620// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00002621//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002622// TCE-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002623// TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00002624// TCE:#define __CHAR16_TYPE__ unsigned short
2625// TCE:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002626// TCE:#define __CHAR_BIT__ 8
Eli Friedman75e8efe2012-11-10 00:20:38 +00002627// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45
Chris Lattnerbceaf862009-10-29 04:55:36 +00002628// TCE:#define __DBL_DIG__ 6
Eli Friedman75e8efe2012-11-10 00:20:38 +00002629// TCE:#define __DBL_EPSILON__ 1.19209290e-7
Chris Lattnerbceaf862009-10-29 04:55:36 +00002630// TCE:#define __DBL_HAS_DENORM__ 1
2631// TCE:#define __DBL_HAS_INFINITY__ 1
2632// TCE:#define __DBL_HAS_QUIET_NAN__ 1
2633// TCE:#define __DBL_MANT_DIG__ 24
2634// TCE:#define __DBL_MAX_10_EXP__ 38
2635// TCE:#define __DBL_MAX_EXP__ 128
Eli Friedman75e8efe2012-11-10 00:20:38 +00002636// TCE:#define __DBL_MAX__ 3.40282347e+38
Chris Lattnerbceaf862009-10-29 04:55:36 +00002637// TCE:#define __DBL_MIN_10_EXP__ (-37)
2638// TCE:#define __DBL_MIN_EXP__ (-125)
Eli Friedman75e8efe2012-11-10 00:20:38 +00002639// TCE:#define __DBL_MIN__ 1.17549435e-38
Chris Lattnerbceaf862009-10-29 04:55:36 +00002640// TCE:#define __DECIMAL_DIG__ -1
2641// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2642// TCE:#define __FLT_DIG__ 6
2643// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
2644// TCE:#define __FLT_EVAL_METHOD__ 0
2645// TCE:#define __FLT_HAS_DENORM__ 1
2646// TCE:#define __FLT_HAS_INFINITY__ 1
2647// TCE:#define __FLT_HAS_QUIET_NAN__ 1
2648// TCE:#define __FLT_MANT_DIG__ 24
2649// TCE:#define __FLT_MAX_10_EXP__ 38
2650// TCE:#define __FLT_MAX_EXP__ 128
2651// TCE:#define __FLT_MAX__ 3.40282347e+38F
2652// TCE:#define __FLT_MIN_10_EXP__ (-37)
2653// TCE:#define __FLT_MIN_EXP__ (-125)
2654// TCE:#define __FLT_MIN__ 1.17549435e-38F
2655// TCE:#define __FLT_RADIX__ 2
2656// TCE:#define __INT16_TYPE__ short
2657// TCE:#define __INT32_TYPE__ int
2658// TCE:#define __INT8_TYPE__ char
2659// TCE:#define __INTMAX_MAX__ 2147483647L
Ken Dyck8241d732009-11-19 13:18:59 +00002660// TCE:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00002661// TCE:#define __INTMAX_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00002662// TCE:#define __INTPTR_TYPE__ int
Ken Dyckd896e1a2009-11-18 20:05:48 +00002663// TCE:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002664// TCE:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00002665// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002666// TCE:#define __LDBL_DIG__ 6
Eli Friedman75e8efe2012-11-10 00:20:38 +00002667// TCE:#define __LDBL_EPSILON__ 1.19209290e-7L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002668// TCE:#define __LDBL_HAS_DENORM__ 1
2669// TCE:#define __LDBL_HAS_INFINITY__ 1
2670// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
2671// TCE:#define __LDBL_MANT_DIG__ 24
2672// TCE:#define __LDBL_MAX_10_EXP__ 38
2673// TCE:#define __LDBL_MAX_EXP__ 128
Eli Friedman75e8efe2012-11-10 00:20:38 +00002674// TCE:#define __LDBL_MAX__ 3.40282347e+38L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002675// TCE:#define __LDBL_MIN_10_EXP__ (-37)
2676// TCE:#define __LDBL_MIN_EXP__ (-125)
Eli Friedman75e8efe2012-11-10 00:20:38 +00002677// TCE:#define __LDBL_MIN__ 1.17549435e-38L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002678// TCE:#define __LONG_LONG_MAX__ 2147483647LL
2679// TCE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002680// TCE-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +00002681// TCE:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00002682// TCE:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +00002683// TCE:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002684// TCE:#define __SCHAR_MAX__ 127
2685// TCE:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00002686// TCE:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00002687// TCE:#define __SIZEOF_DOUBLE__ 4
2688// TCE:#define __SIZEOF_FLOAT__ 4
2689// TCE:#define __SIZEOF_INT__ 4
2690// TCE:#define __SIZEOF_LONG_DOUBLE__ 4
2691// TCE:#define __SIZEOF_LONG_LONG__ 4
2692// TCE:#define __SIZEOF_LONG__ 4
2693// TCE:#define __SIZEOF_POINTER__ 4
2694// TCE:#define __SIZEOF_PTRDIFF_T__ 4
2695// TCE:#define __SIZEOF_SHORT__ 2
2696// TCE:#define __SIZEOF_SIZE_T__ 4
2697// TCE:#define __SIZEOF_WCHAR_T__ 4
2698// TCE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002699// TCE:#define __SIZE_MAX__ 4294967295U
Chris Lattnerbceaf862009-10-29 04:55:36 +00002700// TCE:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00002701// TCE:#define __SIZE_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002702// TCE:#define __TCE_V1__ 1
2703// TCE:#define __TCE__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00002704// TCE:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002705// TCE:#define __USER_LABEL_PREFIX__ _
2706// TCE:#define __WCHAR_MAX__ 2147483647
2707// TCE:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00002708// TCE:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002709// TCE:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00002710// TCE:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002711// TCE:#define __tce 1
2712// TCE:#define __tce__ 1
2713// TCE:#define tce 1
2714//
Daniel Dunbara5728872009-12-15 20:14:24 +00002715// 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 +00002716//
2717// X86_64:#define _LP64 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002718// X86_64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00002719// X86_64:#define __CHAR16_TYPE__ unsigned short
2720// X86_64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002721// X86_64:#define __CHAR_BIT__ 8
2722// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2723// X86_64:#define __DBL_DIG__ 15
2724// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
2725// X86_64:#define __DBL_HAS_DENORM__ 1
2726// X86_64:#define __DBL_HAS_INFINITY__ 1
2727// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
2728// X86_64:#define __DBL_MANT_DIG__ 53
2729// X86_64:#define __DBL_MAX_10_EXP__ 308
2730// X86_64:#define __DBL_MAX_EXP__ 1024
2731// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
2732// X86_64:#define __DBL_MIN_10_EXP__ (-307)
2733// X86_64:#define __DBL_MIN_EXP__ (-1021)
2734// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
2735// X86_64:#define __DECIMAL_DIG__ 21
2736// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2737// X86_64:#define __FLT_DIG__ 6
2738// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
2739// X86_64:#define __FLT_EVAL_METHOD__ 0
2740// X86_64:#define __FLT_HAS_DENORM__ 1
2741// X86_64:#define __FLT_HAS_INFINITY__ 1
2742// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
2743// X86_64:#define __FLT_MANT_DIG__ 24
2744// X86_64:#define __FLT_MAX_10_EXP__ 38
2745// X86_64:#define __FLT_MAX_EXP__ 128
2746// X86_64:#define __FLT_MAX__ 3.40282347e+38F
2747// X86_64:#define __FLT_MIN_10_EXP__ (-37)
2748// X86_64:#define __FLT_MIN_EXP__ (-125)
2749// X86_64:#define __FLT_MIN__ 1.17549435e-38F
2750// X86_64:#define __FLT_RADIX__ 2
2751// X86_64:#define __INT16_TYPE__ short
2752// X86_64:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00002753// X86_64:#define __INT64_C_SUFFIX__ L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002754// X86_64:#define __INT64_TYPE__ long int
2755// X86_64:#define __INT8_TYPE__ char
2756// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck8241d732009-11-19 13:18:59 +00002757// X86_64:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00002758// X86_64:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00002759// X86_64:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00002760// X86_64:#define __INTPTR_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00002761// X86_64:#define __INT_MAX__ 2147483647
2762// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
2763// X86_64:#define __LDBL_DIG__ 18
2764// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
2765// X86_64:#define __LDBL_HAS_DENORM__ 1
2766// X86_64:#define __LDBL_HAS_INFINITY__ 1
2767// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
2768// X86_64:#define __LDBL_MANT_DIG__ 64
2769// X86_64:#define __LDBL_MAX_10_EXP__ 4932
2770// X86_64:#define __LDBL_MAX_EXP__ 16384
2771// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
2772// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
2773// X86_64:#define __LDBL_MIN_EXP__ (-16381)
2774// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
2775// X86_64:#define __LITTLE_ENDIAN__ 1
2776// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
2777// X86_64:#define __LONG_MAX__ 9223372036854775807L
2778// X86_64:#define __LP64__ 1
2779// X86_64:#define __MMX__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00002780// X86_64:#define __NO_MATH_INLINES 1
2781// X86_64:#define __POINTER_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00002782// X86_64:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00002783// X86_64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00002784// X86_64:#define __REGISTER_PREFIX__
2785// X86_64:#define __SCHAR_MAX__ 127
2786// X86_64:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00002787// X86_64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00002788// X86_64:#define __SIZEOF_DOUBLE__ 8
2789// X86_64:#define __SIZEOF_FLOAT__ 4
2790// X86_64:#define __SIZEOF_INT__ 4
2791// X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
2792// X86_64:#define __SIZEOF_LONG_LONG__ 8
2793// X86_64:#define __SIZEOF_LONG__ 8
2794// X86_64:#define __SIZEOF_POINTER__ 8
2795// X86_64:#define __SIZEOF_PTRDIFF_T__ 8
2796// X86_64:#define __SIZEOF_SHORT__ 2
2797// X86_64:#define __SIZEOF_SIZE_T__ 8
2798// X86_64:#define __SIZEOF_WCHAR_T__ 4
2799// X86_64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002800// X86_64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnerbceaf862009-10-29 04:55:36 +00002801// X86_64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00002802// X86_64:#define __SIZE_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00002803// X86_64:#define __SSE2_MATH__ 1
2804// X86_64:#define __SSE2__ 1
2805// X86_64:#define __SSE_MATH__ 1
2806// X86_64:#define __SSE__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00002807// X86_64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002808// X86_64:#define __USER_LABEL_PREFIX__ _
2809// X86_64:#define __WCHAR_MAX__ 2147483647
2810// X86_64:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00002811// X86_64:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002812// X86_64:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00002813// X86_64:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002814// X86_64:#define __amd64 1
2815// X86_64:#define __amd64__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00002816// X86_64:#define __x86_64 1
2817// X86_64:#define __x86_64__ 1
2818//
Douglas Gregor12e84642011-01-12 21:19:25 +00002819// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
2820//
2821// X86_64-LINUX:#define _LP64 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002822// X86_64-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregor12e84642011-01-12 21:19:25 +00002823// X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
2824// X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
2825// X86_64-LINUX:#define __CHAR_BIT__ 8
2826// X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2827// X86_64-LINUX:#define __DBL_DIG__ 15
2828// X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2829// X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
2830// X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
2831// X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2832// X86_64-LINUX:#define __DBL_MANT_DIG__ 53
2833// X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
2834// X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
2835// X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2836// X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2837// X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2838// X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2839// X86_64-LINUX:#define __DECIMAL_DIG__ 21
2840// X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2841// X86_64-LINUX:#define __FLT_DIG__ 6
2842// X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2843// X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
2844// X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
2845// X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
2846// X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2847// X86_64-LINUX:#define __FLT_MANT_DIG__ 24
2848// X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
2849// X86_64-LINUX:#define __FLT_MAX_EXP__ 128
2850// X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2851// X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2852// X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
2853// X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2854// X86_64-LINUX:#define __FLT_RADIX__ 2
2855// X86_64-LINUX:#define __INT16_TYPE__ short
2856// X86_64-LINUX:#define __INT32_TYPE__ int
2857// X86_64-LINUX:#define __INT64_C_SUFFIX__ L
2858// X86_64-LINUX:#define __INT64_TYPE__ long int
2859// X86_64-LINUX:#define __INT8_TYPE__ char
2860// X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2861// X86_64-LINUX:#define __INTMAX_TYPE__ long int
2862// X86_64-LINUX:#define __INTMAX_WIDTH__ 64
2863// X86_64-LINUX:#define __INTPTR_TYPE__ long int
2864// X86_64-LINUX:#define __INTPTR_WIDTH__ 64
2865// X86_64-LINUX:#define __INT_MAX__ 2147483647
2866// X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
2867// X86_64-LINUX:#define __LDBL_DIG__ 18
2868// X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
2869// X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
2870// X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2871// X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2872// X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
2873// X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
2874// X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
2875// X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
2876// X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
2877// X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
2878// X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
2879// X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
2880// X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2881// X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2882// X86_64-LINUX:#define __LP64__ 1
2883// X86_64-LINUX:#define __MMX__ 1
Douglas Gregor12e84642011-01-12 21:19:25 +00002884// X86_64-LINUX:#define __NO_MATH_INLINES 1
2885// X86_64-LINUX:#define __POINTER_WIDTH__ 64
2886// X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
2887// X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
2888// X86_64-LINUX:#define __REGISTER_PREFIX__
2889// X86_64-LINUX:#define __SCHAR_MAX__ 127
2890// X86_64-LINUX:#define __SHRT_MAX__ 32767
2891// X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2892// X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
2893// X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
2894// X86_64-LINUX:#define __SIZEOF_INT__ 4
2895// X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2896// X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2897// X86_64-LINUX:#define __SIZEOF_LONG__ 8
2898// X86_64-LINUX:#define __SIZEOF_POINTER__ 8
2899// X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2900// X86_64-LINUX:#define __SIZEOF_SHORT__ 2
2901// X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
2902// X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2903// X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002904// X86_64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Douglas Gregor12e84642011-01-12 21:19:25 +00002905// X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
2906// X86_64-LINUX:#define __SIZE_WIDTH__ 64
2907// X86_64-LINUX:#define __SSE2_MATH__ 1
2908// X86_64-LINUX:#define __SSE2__ 1
2909// X86_64-LINUX:#define __SSE_MATH__ 1
2910// X86_64-LINUX:#define __SSE__ 1
2911// X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2912// X86_64-LINUX:#define __USER_LABEL_PREFIX__
2913// X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
2914// X86_64-LINUX:#define __WCHAR_TYPE__ int
2915// X86_64-LINUX:#define __WCHAR_WIDTH__ 32
2916// X86_64-LINUX:#define __WINT_TYPE__ unsigned int
2917// X86_64-LINUX:#define __WINT_WIDTH__ 32
2918// X86_64-LINUX:#define __amd64 1
2919// X86_64-LINUX:#define __amd64__ 1
Douglas Gregor12e84642011-01-12 21:19:25 +00002920// X86_64-LINUX:#define __x86_64 1
2921// X86_64-LINUX:#define __x86_64__ 1
2922//
Jakob Stoklund Olesenfcec0c92013-05-15 03:22:33 +00002923// 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 +00002924// SPARCV9:#define __INT64_TYPE__ long int
Jakob Stoklund Olesenfcec0c92013-05-15 03:22:33 +00002925// SPARCV9:#define __INTMAX_TYPE__ long int
2926// SPARCV9:#define __INTPTR_TYPE__ long int
2927// SPARCV9:#define __LONG_MAX__ 9223372036854775807L
2928// SPARCV9:#define __LP64__ 1
2929// SPARCV9:#define __SIZEOF_LONG__ 8
2930// SPARCV9:#define __SIZEOF_POINTER__ 8
2931//
Jakob Stoklund Olesen5ac8c4f2013-05-19 17:53:37 +00002932// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-openbsd < /dev/null | FileCheck -check-prefix SPARC64-OBSD %s
2933// SPARC64-OBSD:#define __INT64_TYPE__ long long int
2934// SPARC64-OBSD:#define __INTMAX_TYPE__ long long int
2935// SPARC64-OBSD:#define __UINTMAX_TYPE__ long long unsigned int
2936//
Sylvestre Ledrubd461422013-09-06 14:53:07 +00002937// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSD-DEFINE %s
2938// KFREEBSD-DEFINE:#define __FreeBSD_kernel__ 1
2939// KFREEBSD-DEFINE:#define __GLIBC__ 1
2940//
David Chisnall11d3f4c2012-07-03 20:49:52 +00002941// 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 +00002942// GNUSOURCE:#define _GNU_SOURCE 1
2943//
Dan Gohmancfeac342010-05-28 00:27:15 +00002944// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
2945// NORTTI: __GXX_ABI_VERSION
2946// NORTTI-NOT:#define __GXX_RTTI
2947// NORTTI: __STDC__
Evgeniy Stepanov32064032012-04-26 12:08:09 +00002948//
2949// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
2950// ANDROID: __ANDROID__ 1
Roman Divackyb2f6f472013-07-03 19:45:54 +00002951// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd < /dev/null | FileCheck -check-prefix PPC64-FREEBSD %s
2952// PPC64-FREEBSD-NOT: #define __LONG_DOUBLE_128__ 1
Robert Lytton5f15f4d2013-08-13 09:43:10 +00002953//
2954// RUN: %clang_cc1 -E -dM -ffreestanding -triple=xcore-none-none < /dev/null | FileCheck -check-prefix XCORE %s
2955// XCORE:#define __XS1B__ 1