blob: 58ae151832acf4ae70a1fa434cc92108b92ee0dc [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//
Ed Schouten5ada7a52013-09-29 07:54:52 +000052// RUN: %clang_cc1 -std=c11 -E -dM < /dev/null | FileCheck -check-prefix C11 %s
53//
54// C11:#define __STDC_UTF_16__ 1
55// C11:#define __STDC_UTF_32__ 1
56// C11:#define __STDC_VERSION__ 201112L
57// C11:#define __STRICT_ANSI__ 1
58//
59//
Daniel Dunbara5728872009-12-15 20:14:24 +000060// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix COMMON %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000061//
62// COMMON:#define __CONSTANT_CFSTRINGS__ 1
63// COMMON:#define __FINITE_MATH_ONLY__ 0
64// COMMON:#define __GNUC_MINOR__
65// COMMON:#define __GNUC_PATCHLEVEL__
66// COMMON:#define __GNUC_STDC_INLINE__ 1
67// COMMON:#define __GNUC__
68// COMMON:#define __GXX_ABI_VERSION
Dylan Noblesmith3b198a92012-07-27 18:34:31 +000069// COMMON:#define __ORDER_BIG_ENDIAN__ 4321
70// COMMON:#define __ORDER_LITTLE_ENDIAN__ 1234
71// COMMON:#define __ORDER_PDP_ENDIAN__ 3412
Chris Lattnerbceaf862009-10-29 04:55:36 +000072// COMMON:#define __STDC_HOSTED__ 1
73// COMMON:#define __STDC_VERSION__
74// COMMON:#define __STDC__ 1
75// COMMON:#define __VERSION__
76// COMMON:#define __clang__ 1
Daniel Dunbarc4b8e922010-06-25 23:34:47 +000077// COMMON:#define __clang_major__ {{[0-9]+}}
78// COMMON:#define __clang_minor__ {{[0-9]+}}
79// COMMON:#define __clang_patchlevel__ {{[0-9]+}}
Douglas Gregorcf00ac82010-04-30 03:07:23 +000080// COMMON:#define __clang_version__
Chris Lattnerbceaf862009-10-29 04:55:36 +000081// COMMON:#define __llvm__ 1
82//
83//
Daniel Dunbara5728872009-12-15 20:14:24 +000084// RUN: %clang_cc1 -ffreestanding -E -dM < /dev/null | FileCheck -check-prefix FREESTANDING %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000085// FREESTANDING:#define __STDC_HOSTED__ 0
Richard Smith05134482012-05-03 22:18:20 +000086//
87//
Richard Smith7f0ffb32013-05-07 19:32:56 +000088// RUN: %clang_cc1 -x c++ -std=gnu++1y -E -dM < /dev/null | FileCheck -check-prefix GXX1Y %s
89//
90// GXX1Y:#define __GNUG__
91// GXX1Y:#define __GXX_WEAK__ 1
92// GXX1Y:#define __cplusplus 201305L
93// GXX1Y:#define __private_extern__ extern
94//
95//
Richard Smith05134482012-05-03 22:18:20 +000096// RUN: %clang_cc1 -x c++ -std=gnu++11 -E -dM < /dev/null | FileCheck -check-prefix GXX11 %s
97//
98// GXX11:#define __GNUG__
99// GXX11:#define __GXX_WEAK__ 1
100// GXX11:#define __cplusplus 201103L
101// GXX11:#define __private_extern__ extern
102//
103//
Daniel Dunbara5728872009-12-15 20:14:24 +0000104// RUN: %clang_cc1 -x c++ -std=gnu++98 -E -dM < /dev/null | FileCheck -check-prefix GXX98 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000105//
Chris Lattnerbceaf862009-10-29 04:55:36 +0000106// GXX98:#define __GNUG__
107// GXX98:#define __GXX_WEAK__ 1
Richard Smith05134482012-05-03 22:18:20 +0000108// GXX98:#define __cplusplus 199711L
Chris Lattnerbceaf862009-10-29 04:55:36 +0000109// GXX98:#define __private_extern__ extern
110//
111//
Daniel Dunbara5728872009-12-15 20:14:24 +0000112// RUN: %clang_cc1 -std=iso9899:199409 -E -dM < /dev/null | FileCheck -check-prefix C94 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000113//
114// C94:#define __STDC_VERSION__ 199409L
115//
116//
Hans Wennborgc814c642013-05-02 13:12:32 +0000117// RUN: %clang_cc1 -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000118//
119// MSEXT-NOT:#define __STDC__
Douglas Gregor72283802010-08-06 12:37:52 +0000120// MSEXT:#define _INTEGRAL_MAX_BITS 64
Hans Wennborgc814c642013-05-02 13:12:32 +0000121// MSEXT-NOT:#define _NATIVE_WCHAR_T_DEFINED 1
122// MSEXT-NOT:#define _WCHAR_T_DEFINED 1
123//
124//
125// RUN: %clang_cc1 -x c++ -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT-CXX %s
126//
127// MSEXT-CXX:#define _NATIVE_WCHAR_T_DEFINED 1
128// MSEXT-CXX:#define _WCHAR_T_DEFINED 1
129//
130//
131// RUN: %clang_cc1 -x c++ -fno-wchar -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT-CXX-NOWCHAR %s
132//
133// MSEXT-CXX-NOWCHAR-NOT:#define _NATIVE_WCHAR_T_DEFINED 1
134// MSEXT-CXX-NOWCHAR-NOT:#define _WCHAR_T_DEFINED 1
Chris Lattnerbceaf862009-10-29 04:55:36 +0000135//
136//
Daniel Dunbara5728872009-12-15 20:14:24 +0000137// RUN: %clang_cc1 -x objective-c -E -dM < /dev/null | FileCheck -check-prefix OBJC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000138//
139// OBJC:#define OBJC_NEW_PROPERTIES 1
Daniel Dunbarc5a97ec2009-11-17 07:07:28 +0000140// OBJC:#define __NEXT_RUNTIME__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +0000141// OBJC:#define __OBJC__ 1
142//
Daniel Dunbarc5a97ec2009-11-17 07:07:28 +0000143//
Daniel Dunbara5728872009-12-15 20:14:24 +0000144// RUN: %clang_cc1 -x objective-c -fobjc-gc -E -dM < /dev/null | FileCheck -check-prefix OBJCGC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000145//
146// OBJCGC:#define __OBJC_GC__ 1
147//
148//
John McCalld1e40d52011-10-02 01:16:38 +0000149// RUN: %clang_cc1 -x objective-c -fobjc-exceptions -E -dM < /dev/null | FileCheck -check-prefix NONFRAGILE %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000150//
151// NONFRAGILE:#define OBJC_ZEROCOST_EXCEPTIONS 1
152// NONFRAGILE:#define __OBJC2__ 1
153//
Dylan Noblesmithf23e8d22012-08-08 16:09:15 +0000154//
Rafael Espindolaa3f55b02013-09-04 04:12:25 +0000155// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix O0 %s
Dylan Noblesmithf23e8d22012-08-08 16:09:15 +0000156//
157// O0:#define __NO_INLINE__ 1
158// O0-NOT:#define __OPTIMIZE_SIZE__
159// O0-NOT:#define __OPTIMIZE__
160//
161//
162// RUN: %clang_cc1 -fno-inline -O3 -E -dM < /dev/null | FileCheck -check-prefix NO_INLINE %s
163//
164// NO_INLINE:#define __NO_INLINE__ 1
165// NO_INLINE-NOT:#define __OPTIMIZE_SIZE__
166// NO_INLINE:#define __OPTIMIZE__
167//
168//
Daniel Dunbara5728872009-12-15 20:14:24 +0000169// RUN: %clang_cc1 -O1 -E -dM < /dev/null | FileCheck -check-prefix O1 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000170//
Dylan Noblesmithf23e8d22012-08-08 16:09:15 +0000171// O1-NOT:#define __OPTIMIZE_SIZE__
Chris Lattnerbceaf862009-10-29 04:55:36 +0000172// O1:#define __OPTIMIZE__ 1
173//
Dylan Noblesmithf23e8d22012-08-08 16:09:15 +0000174//
175// RUN: %clang_cc1 -Os -E -dM < /dev/null | FileCheck -check-prefix Os %s
176//
177// Os:#define __OPTIMIZE_SIZE__ 1
178// Os:#define __OPTIMIZE__ 1
179//
180//
181// RUN: %clang_cc1 -Oz -E -dM < /dev/null | FileCheck -check-prefix Oz %s
182//
183// Oz:#define __OPTIMIZE_SIZE__ 1
184// Oz:#define __OPTIMIZE__ 1
185//
186//
Daniel Dunbara5728872009-12-15 20:14:24 +0000187// RUN: %clang_cc1 -fpascal-strings -E -dM < /dev/null | FileCheck -check-prefix PASCAL %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000188//
189// PASCAL:#define __PASCAL_STRINGS__ 1
190//
191//
Daniel Dunbara5728872009-12-15 20:14:24 +0000192// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix SCHAR %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000193//
194// SCHAR:#define __STDC__ 1
195// SCHAR-NOT:#define __UNSIGNED_CHAR__
196// SCHAR:#define __clang__ 1
197//
Eli Friedman1d832432010-08-03 17:34:19 +0000198// RUN: %clang_cc1 -E -dM -fshort-wchar < /dev/null | FileCheck -check-prefix SHORTWCHAR %s
199//
200// SHORTWCHAR: #define __SIZEOF_WCHAR_T__ 2
201// SHORTWCHAR: #define __WCHAR_MAX__ 65535U
202// SHORTWCHAR: #define __WCHAR_TYPE__ unsigned short
203// SHORTWCHAR: #define __WCHAR_WIDTH__ 16
204//
Daniel Dunbara5728872009-12-15 20:14:24 +0000205// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000206//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000207// ARM-NOT:#define _LP64
Chris Lattnerbceaf862009-10-29 04:55:36 +0000208// ARM:#define __APCS_32__ 1
209// ARM:#define __ARMEL__ 1
Daniel Dunbareac7c532009-12-18 18:42:37 +0000210// ARM:#define __ARM_ARCH_6J__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000211// ARM:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +0000212// ARM:#define __CHAR16_TYPE__ unsigned short
213// ARM:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000214// ARM:#define __CHAR_BIT__ 8
215// ARM:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
216// ARM:#define __DBL_DIG__ 15
217// ARM:#define __DBL_EPSILON__ 2.2204460492503131e-16
218// ARM:#define __DBL_HAS_DENORM__ 1
219// ARM:#define __DBL_HAS_INFINITY__ 1
220// ARM:#define __DBL_HAS_QUIET_NAN__ 1
221// ARM:#define __DBL_MANT_DIG__ 53
222// ARM:#define __DBL_MAX_10_EXP__ 308
223// ARM:#define __DBL_MAX_EXP__ 1024
224// ARM:#define __DBL_MAX__ 1.7976931348623157e+308
225// ARM:#define __DBL_MIN_10_EXP__ (-307)
226// ARM:#define __DBL_MIN_EXP__ (-1021)
227// ARM:#define __DBL_MIN__ 2.2250738585072014e-308
228// ARM:#define __DECIMAL_DIG__ 17
229// ARM:#define __FLT_DENORM_MIN__ 1.40129846e-45F
230// ARM:#define __FLT_DIG__ 6
231// ARM:#define __FLT_EPSILON__ 1.19209290e-7F
232// ARM:#define __FLT_EVAL_METHOD__ 0
233// ARM:#define __FLT_HAS_DENORM__ 1
234// ARM:#define __FLT_HAS_INFINITY__ 1
235// ARM:#define __FLT_HAS_QUIET_NAN__ 1
236// ARM:#define __FLT_MANT_DIG__ 24
237// ARM:#define __FLT_MAX_10_EXP__ 38
238// ARM:#define __FLT_MAX_EXP__ 128
239// ARM:#define __FLT_MAX__ 3.40282347e+38F
240// ARM:#define __FLT_MIN_10_EXP__ (-37)
241// ARM:#define __FLT_MIN_EXP__ (-125)
242// ARM:#define __FLT_MIN__ 1.17549435e-38F
243// ARM:#define __FLT_RADIX__ 2
244// ARM:#define __INT16_TYPE__ short
245// ARM:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000246// ARM:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000247// ARM:#define __INT64_TYPE__ long long int
248// ARM:#define __INT8_TYPE__ char
249// ARM:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +0000250// ARM:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +0000251// ARM:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000252// ARM:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000253// ARM:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000254// ARM:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +0000255// ARM:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +0000256// ARM:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +0000257// ARM:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnerbceaf862009-10-29 04:55:36 +0000258// ARM:#define __LDBL_HAS_DENORM__ 1
259// ARM:#define __LDBL_HAS_INFINITY__ 1
260// ARM:#define __LDBL_HAS_QUIET_NAN__ 1
261// ARM:#define __LDBL_MANT_DIG__ 53
262// ARM:#define __LDBL_MAX_10_EXP__ 308
263// ARM:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +0000264// ARM:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnerbceaf862009-10-29 04:55:36 +0000265// ARM:#define __LDBL_MIN_10_EXP__ (-307)
266// ARM:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +0000267// ARM:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnerbceaf862009-10-29 04:55:36 +0000268// ARM:#define __LITTLE_ENDIAN__ 1
269// ARM:#define __LONG_LONG_MAX__ 9223372036854775807LL
270// ARM:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000271// ARM-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +0000272// ARM:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000273// ARM:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +0000274// ARM:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbareac7c532009-12-18 18:42:37 +0000275// ARM:#define __REGISTER_PREFIX__
Chris Lattnerbceaf862009-10-29 04:55:36 +0000276// ARM:#define __SCHAR_MAX__ 127
277// ARM:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000278// ARM:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000279// ARM:#define __SIZEOF_DOUBLE__ 8
280// ARM:#define __SIZEOF_FLOAT__ 4
281// ARM:#define __SIZEOF_INT__ 4
282// ARM:#define __SIZEOF_LONG_DOUBLE__ 8
283// ARM:#define __SIZEOF_LONG_LONG__ 8
284// ARM:#define __SIZEOF_LONG__ 4
285// ARM:#define __SIZEOF_POINTER__ 4
286// ARM:#define __SIZEOF_PTRDIFF_T__ 4
287// ARM:#define __SIZEOF_SHORT__ 2
288// ARM:#define __SIZEOF_SIZE_T__ 4
289// ARM:#define __SIZEOF_WCHAR_T__ 4
290// ARM:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000291// ARM:#define __SIZE_MAX__ 4294967295U
Chris Lattnerbceaf862009-10-29 04:55:36 +0000292// ARM:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000293// ARM:#define __SIZE_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000294// ARM:#define __THUMB_INTERWORK__ 1
Ken Dyck8241d732009-11-19 13:18:59 +0000295// ARM:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000296// ARM:#define __USER_LABEL_PREFIX__ _
James Molloya6d81f92011-11-23 13:35:08 +0000297// ARM:#define __WCHAR_MAX__ 4294967295U
298// ARM:#define __WCHAR_TYPE__ unsigned int
Ken Dyck63e65612009-11-19 15:47:58 +0000299// ARM:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000300// ARM:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000301// ARM:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000302// ARM:#define __arm 1
303// ARM:#define __arm__ 1
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000304
305// 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
306//
307// ARM-NOT:#define _LP64
308// ARMEABISOFTFP:#define __APCS_32__ 1
309// ARMEABISOFTFP:#define __ARMEL__ 1
310// ARMEABISOFTFP:#define __ARM_ARCH 6
311// ARMEABISOFTFP:#define __ARM_ARCH_6J__ 1
312// ARMEABISOFTFP:#define __ARM_EABI__ 1
313// ARMEABISOFTFP:#define __ARM_PCS 1
314// ARMEABISOFTFP-NOT:#define __ARM_PCS_VFP 1
315// ARMEABISOFTFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
316// ARMEABISOFTFP:#define __CHAR16_TYPE__ unsigned short
317// ARMEABISOFTFP:#define __CHAR32_TYPE__ unsigned int
318// ARMEABISOFTFP:#define __CHAR_BIT__ 8
319// ARMEABISOFTFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
320// ARMEABISOFTFP:#define __DBL_DIG__ 15
321// ARMEABISOFTFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
322// ARMEABISOFTFP:#define __DBL_HAS_DENORM__ 1
323// ARMEABISOFTFP:#define __DBL_HAS_INFINITY__ 1
324// ARMEABISOFTFP:#define __DBL_HAS_QUIET_NAN__ 1
325// ARMEABISOFTFP:#define __DBL_MANT_DIG__ 53
326// ARMEABISOFTFP:#define __DBL_MAX_10_EXP__ 308
327// ARMEABISOFTFP:#define __DBL_MAX_EXP__ 1024
328// ARMEABISOFTFP:#define __DBL_MAX__ 1.7976931348623157e+308
329// ARMEABISOFTFP:#define __DBL_MIN_10_EXP__ (-307)
330// ARMEABISOFTFP:#define __DBL_MIN_EXP__ (-1021)
331// ARMEABISOFTFP:#define __DBL_MIN__ 2.2250738585072014e-308
332// ARMEABISOFTFP:#define __DECIMAL_DIG__ 17
333// ARMEABISOFTFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
334// ARMEABISOFTFP:#define __FLT_DIG__ 6
335// ARMEABISOFTFP:#define __FLT_EPSILON__ 1.19209290e-7F
336// ARMEABISOFTFP:#define __FLT_EVAL_METHOD__ 0
337// ARMEABISOFTFP:#define __FLT_HAS_DENORM__ 1
338// ARMEABISOFTFP:#define __FLT_HAS_INFINITY__ 1
339// ARMEABISOFTFP:#define __FLT_HAS_QUIET_NAN__ 1
340// ARMEABISOFTFP:#define __FLT_MANT_DIG__ 24
341// ARMEABISOFTFP:#define __FLT_MAX_10_EXP__ 38
342// ARMEABISOFTFP:#define __FLT_MAX_EXP__ 128
343// ARMEABISOFTFP:#define __FLT_MAX__ 3.40282347e+38F
344// ARMEABISOFTFP:#define __FLT_MIN_10_EXP__ (-37)
345// ARMEABISOFTFP:#define __FLT_MIN_EXP__ (-125)
346// ARMEABISOFTFP:#define __FLT_MIN__ 1.17549435e-38F
347// ARMEABISOFTFP:#define __FLT_RADIX__ 2
348// ARMEABISOFTFP:#define __INT16_TYPE__ short
349// ARMEABISOFTFP:#define __INT32_TYPE__ int
350// ARMEABISOFTFP:#define __INT64_C_SUFFIX__ LL
351// ARMEABISOFTFP:#define __INT64_TYPE__ long long int
352// ARMEABISOFTFP:#define __INT8_TYPE__ char
353// ARMEABISOFTFP:#define __INTMAX_MAX__ 9223372036854775807LL
354// ARMEABISOFTFP:#define __INTMAX_TYPE__ long long int
355// ARMEABISOFTFP:#define __INTMAX_WIDTH__ 64
356// ARMEABISOFTFP:#define __INTPTR_TYPE__ long int
357// ARMEABISOFTFP:#define __INTPTR_WIDTH__ 32
358// ARMEABISOFTFP:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +0000359// ARMEABISOFTFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000360// ARMEABISOFTFP:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +0000361// ARMEABISOFTFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000362// ARMEABISOFTFP:#define __LDBL_HAS_DENORM__ 1
363// ARMEABISOFTFP:#define __LDBL_HAS_INFINITY__ 1
364// ARMEABISOFTFP:#define __LDBL_HAS_QUIET_NAN__ 1
365// ARMEABISOFTFP:#define __LDBL_MANT_DIG__ 53
366// ARMEABISOFTFP:#define __LDBL_MAX_10_EXP__ 308
367// ARMEABISOFTFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +0000368// ARMEABISOFTFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000369// ARMEABISOFTFP:#define __LDBL_MIN_10_EXP__ (-307)
370// ARMEABISOFTFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +0000371// ARMEABISOFTFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000372// ARMEABISOFTFP:#define __LITTLE_ENDIAN__ 1
373// ARMEABISOFTFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
374// ARMEABISOFTFP:#define __LONG_MAX__ 2147483647L
375// ARMEABISOFTFP-NOT:#define __LP64__
376// ARMEABISOFTFP:#define __POINTER_WIDTH__ 32
377// ARMEABISOFTFP:#define __PTRDIFF_TYPE__ int
378// ARMEABISOFTFP:#define __PTRDIFF_WIDTH__ 32
379// ARMEABISOFTFP:#define __REGISTER_PREFIX__
380// ARMEABISOFTFP:#define __SCHAR_MAX__ 127
381// ARMEABISOFTFP:#define __SHRT_MAX__ 32767
382// ARMEABISOFTFP:#define __SIG_ATOMIC_WIDTH__ 32
383// ARMEABISOFTFP:#define __SIZEOF_DOUBLE__ 8
384// ARMEABISOFTFP:#define __SIZEOF_FLOAT__ 4
385// ARMEABISOFTFP:#define __SIZEOF_INT__ 4
386// ARMEABISOFTFP:#define __SIZEOF_LONG_DOUBLE__ 8
387// ARMEABISOFTFP:#define __SIZEOF_LONG_LONG__ 8
388// ARMEABISOFTFP:#define __SIZEOF_LONG__ 4
389// ARMEABISOFTFP:#define __SIZEOF_POINTER__ 4
390// ARMEABISOFTFP:#define __SIZEOF_PTRDIFF_T__ 4
391// ARMEABISOFTFP:#define __SIZEOF_SHORT__ 2
392// ARMEABISOFTFP:#define __SIZEOF_SIZE_T__ 4
393// ARMEABISOFTFP:#define __SIZEOF_WCHAR_T__ 4
394// ARMEABISOFTFP:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000395// ARMEABISOFTFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000396// ARMEABISOFTFP:#define __SIZE_TYPE__ unsigned int
397// ARMEABISOFTFP:#define __SIZE_WIDTH__ 32
398// ARMEABISOFTFP:#define __SOFTFP__ 1
399// ARMEABISOFTFP:#define __THUMB_INTERWORK__ 1
400// ARMEABISOFTFP:#define __UINTMAX_TYPE__ long long unsigned int
401// ARMEABISOFTFP:#define __USER_LABEL_PREFIX__
402// ARMEABISOFTFP:#define __WCHAR_MAX__ 4294967295U
403// ARMEABISOFTFP:#define __WCHAR_TYPE__ unsigned int
404// ARMEABISOFTFP:#define __WCHAR_WIDTH__ 32
405// ARMEABISOFTFP:#define __WINT_TYPE__ unsigned int
406// ARMEABISOFTFP:#define __WINT_WIDTH__ 32
407// ARMEABISOFTFP:#define __arm 1
408// ARMEABISOFTFP:#define __arm__ 1
409
410// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-linux-gnueabi < /dev/null | FileCheck -check-prefix ARMEABIHARDFP %s
411//
412// ARM-NOT:#define _LP64
413// ARMEABIHARDFP:#define __APCS_32__ 1
414// ARMEABIHARDFP:#define __ARMEL__ 1
415// ARMEABIHARDFP:#define __ARM_ARCH 6
416// ARMEABIHARDFP:#define __ARM_ARCH_6J__ 1
417// ARMEABIHARDFP:#define __ARM_EABI__ 1
418// ARMEABIHARDFP:#define __ARM_PCS 1
419// ARMEABIHARDFP:#define __ARM_PCS_VFP 1
420// ARMEABIHARDFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
421// ARMEABIHARDFP:#define __CHAR16_TYPE__ unsigned short
422// ARMEABIHARDFP:#define __CHAR32_TYPE__ unsigned int
423// ARMEABIHARDFP:#define __CHAR_BIT__ 8
424// ARMEABIHARDFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
425// ARMEABIHARDFP:#define __DBL_DIG__ 15
426// ARMEABIHARDFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
427// ARMEABIHARDFP:#define __DBL_HAS_DENORM__ 1
428// ARMEABIHARDFP:#define __DBL_HAS_INFINITY__ 1
429// ARMEABIHARDFP:#define __DBL_HAS_QUIET_NAN__ 1
430// ARMEABIHARDFP:#define __DBL_MANT_DIG__ 53
431// ARMEABIHARDFP:#define __DBL_MAX_10_EXP__ 308
432// ARMEABIHARDFP:#define __DBL_MAX_EXP__ 1024
433// ARMEABIHARDFP:#define __DBL_MAX__ 1.7976931348623157e+308
434// ARMEABIHARDFP:#define __DBL_MIN_10_EXP__ (-307)
435// ARMEABIHARDFP:#define __DBL_MIN_EXP__ (-1021)
436// ARMEABIHARDFP:#define __DBL_MIN__ 2.2250738585072014e-308
437// ARMEABIHARDFP:#define __DECIMAL_DIG__ 17
438// ARMEABIHARDFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
439// ARMEABIHARDFP:#define __FLT_DIG__ 6
440// ARMEABIHARDFP:#define __FLT_EPSILON__ 1.19209290e-7F
441// ARMEABIHARDFP:#define __FLT_EVAL_METHOD__ 0
442// ARMEABIHARDFP:#define __FLT_HAS_DENORM__ 1
443// ARMEABIHARDFP:#define __FLT_HAS_INFINITY__ 1
444// ARMEABIHARDFP:#define __FLT_HAS_QUIET_NAN__ 1
445// ARMEABIHARDFP:#define __FLT_MANT_DIG__ 24
446// ARMEABIHARDFP:#define __FLT_MAX_10_EXP__ 38
447// ARMEABIHARDFP:#define __FLT_MAX_EXP__ 128
448// ARMEABIHARDFP:#define __FLT_MAX__ 3.40282347e+38F
449// ARMEABIHARDFP:#define __FLT_MIN_10_EXP__ (-37)
450// ARMEABIHARDFP:#define __FLT_MIN_EXP__ (-125)
451// ARMEABIHARDFP:#define __FLT_MIN__ 1.17549435e-38F
452// ARMEABIHARDFP:#define __FLT_RADIX__ 2
453// ARMEABIHARDFP:#define __INT16_TYPE__ short
454// ARMEABIHARDFP:#define __INT32_TYPE__ int
455// ARMEABIHARDFP:#define __INT64_C_SUFFIX__ LL
456// ARMEABIHARDFP:#define __INT64_TYPE__ long long int
457// ARMEABIHARDFP:#define __INT8_TYPE__ char
458// ARMEABIHARDFP:#define __INTMAX_MAX__ 9223372036854775807LL
459// ARMEABIHARDFP:#define __INTMAX_TYPE__ long long int
460// ARMEABIHARDFP:#define __INTMAX_WIDTH__ 64
461// ARMEABIHARDFP:#define __INTPTR_TYPE__ long int
462// ARMEABIHARDFP:#define __INTPTR_WIDTH__ 32
463// ARMEABIHARDFP:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +0000464// ARMEABIHARDFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000465// ARMEABIHARDFP:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +0000466// ARMEABIHARDFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000467// ARMEABIHARDFP:#define __LDBL_HAS_DENORM__ 1
468// ARMEABIHARDFP:#define __LDBL_HAS_INFINITY__ 1
469// ARMEABIHARDFP:#define __LDBL_HAS_QUIET_NAN__ 1
470// ARMEABIHARDFP:#define __LDBL_MANT_DIG__ 53
471// ARMEABIHARDFP:#define __LDBL_MAX_10_EXP__ 308
472// ARMEABIHARDFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +0000473// ARMEABIHARDFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000474// ARMEABIHARDFP:#define __LDBL_MIN_10_EXP__ (-307)
475// ARMEABIHARDFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +0000476// ARMEABIHARDFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000477// ARMEABIHARDFP:#define __LITTLE_ENDIAN__ 1
478// ARMEABIHARDFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
479// ARMEABIHARDFP:#define __LONG_MAX__ 2147483647L
480// ARMEABIHARDFP-NOT:#define __LP64__
481// ARMEABIHARDFP:#define __POINTER_WIDTH__ 32
482// ARMEABIHARDFP:#define __PTRDIFF_TYPE__ int
483// ARMEABIHARDFP:#define __PTRDIFF_WIDTH__ 32
484// ARMEABIHARDFP:#define __REGISTER_PREFIX__
485// ARMEABIHARDFP:#define __SCHAR_MAX__ 127
486// ARMEABIHARDFP:#define __SHRT_MAX__ 32767
487// ARMEABIHARDFP:#define __SIG_ATOMIC_WIDTH__ 32
488// ARMEABIHARDFP:#define __SIZEOF_DOUBLE__ 8
489// ARMEABIHARDFP:#define __SIZEOF_FLOAT__ 4
490// ARMEABIHARDFP:#define __SIZEOF_INT__ 4
491// ARMEABIHARDFP:#define __SIZEOF_LONG_DOUBLE__ 8
492// ARMEABIHARDFP:#define __SIZEOF_LONG_LONG__ 8
493// ARMEABIHARDFP:#define __SIZEOF_LONG__ 4
494// ARMEABIHARDFP:#define __SIZEOF_POINTER__ 4
495// ARMEABIHARDFP:#define __SIZEOF_PTRDIFF_T__ 4
496// ARMEABIHARDFP:#define __SIZEOF_SHORT__ 2
497// ARMEABIHARDFP:#define __SIZEOF_SIZE_T__ 4
498// ARMEABIHARDFP:#define __SIZEOF_WCHAR_T__ 4
499// ARMEABIHARDFP:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000500// ARMEABIHARDFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000501// ARMEABIHARDFP:#define __SIZE_TYPE__ unsigned int
502// ARMEABIHARDFP:#define __SIZE_WIDTH__ 32
503// ARMEABIHARDFP-NOT:#define __SOFTFP__ 1
504// ARMEABIHARDFP:#define __THUMB_INTERWORK__ 1
505// ARMEABIHARDFP:#define __UINTMAX_TYPE__ long long unsigned int
506// ARMEABIHARDFP:#define __USER_LABEL_PREFIX__
507// ARMEABIHARDFP:#define __WCHAR_MAX__ 4294967295U
508// ARMEABIHARDFP:#define __WCHAR_TYPE__ unsigned int
509// ARMEABIHARDFP:#define __WCHAR_WIDTH__ 32
510// ARMEABIHARDFP:#define __WINT_TYPE__ unsigned int
511// ARMEABIHARDFP:#define __WINT_WIDTH__ 32
512// ARMEABIHARDFP:#define __arm 1
513// ARMEABIHARDFP:#define __arm__ 1
514
Silviu Baranga1db2e272013-10-21 10:54:53 +0000515// Check that -mhwdiv works properly for targets which don't have the hwdiv feature enabled by default.
516
517// RUN: %clang -target arm -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-ARM %s
518// ARMHWDIV-ARM:#define __ARM_ARCH_EXT_IDIV__ 1
519
520// RUN: %clang -target arm -mthumb -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-THUMB %s
521// THUMBHWDIV-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1
522
523// RUN: %clang -target arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-FALSE %s
524// ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
525
526// RUN: %clang -target arm -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMB-FALSE %s
527// THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
528
529// RUN: %clang -target arm -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-ARM-FALSE %s
530// THUMBHWDIV-ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
531
532// RUN: %clang -target arm -mthumb -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-THUMB-FALSE %s
533// ARMHWDIV-THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
534
Chris Lattnerbceaf862009-10-29 04:55:36 +0000535//
Daniel Dunbara5728872009-12-15 20:14:24 +0000536// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000537//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000538// I386-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000539// I386:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +0000540// I386:#define __CHAR16_TYPE__ unsigned short
541// I386:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000542// I386:#define __CHAR_BIT__ 8
543// I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
544// I386:#define __DBL_DIG__ 15
545// I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
546// I386:#define __DBL_HAS_DENORM__ 1
547// I386:#define __DBL_HAS_INFINITY__ 1
548// I386:#define __DBL_HAS_QUIET_NAN__ 1
549// I386:#define __DBL_MANT_DIG__ 53
550// I386:#define __DBL_MAX_10_EXP__ 308
551// I386:#define __DBL_MAX_EXP__ 1024
552// I386:#define __DBL_MAX__ 1.7976931348623157e+308
553// I386:#define __DBL_MIN_10_EXP__ (-307)
554// I386:#define __DBL_MIN_EXP__ (-1021)
555// I386:#define __DBL_MIN__ 2.2250738585072014e-308
556// I386:#define __DECIMAL_DIG__ 21
557// I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
558// I386:#define __FLT_DIG__ 6
559// I386:#define __FLT_EPSILON__ 1.19209290e-7F
Benjamin Kramerb4066692011-12-28 15:47:06 +0000560// I386:#define __FLT_EVAL_METHOD__ 2
Chris Lattnerbceaf862009-10-29 04:55:36 +0000561// I386:#define __FLT_HAS_DENORM__ 1
562// I386:#define __FLT_HAS_INFINITY__ 1
563// I386:#define __FLT_HAS_QUIET_NAN__ 1
564// I386:#define __FLT_MANT_DIG__ 24
565// I386:#define __FLT_MAX_10_EXP__ 38
566// I386:#define __FLT_MAX_EXP__ 128
567// I386:#define __FLT_MAX__ 3.40282347e+38F
568// I386:#define __FLT_MIN_10_EXP__ (-37)
569// I386:#define __FLT_MIN_EXP__ (-125)
570// I386:#define __FLT_MIN__ 1.17549435e-38F
571// I386:#define __FLT_RADIX__ 2
572// I386:#define __INT16_TYPE__ short
573// I386:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000574// I386:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000575// I386:#define __INT64_TYPE__ long long int
576// I386:#define __INT8_TYPE__ char
577// I386:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +0000578// I386:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +0000579// I386:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000580// I386:#define __INTPTR_TYPE__ int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000581// I386:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000582// I386:#define __INT_MAX__ 2147483647
583// I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
584// I386:#define __LDBL_DIG__ 18
585// I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
586// I386:#define __LDBL_HAS_DENORM__ 1
587// I386:#define __LDBL_HAS_INFINITY__ 1
588// I386:#define __LDBL_HAS_QUIET_NAN__ 1
589// I386:#define __LDBL_MANT_DIG__ 64
590// I386:#define __LDBL_MAX_10_EXP__ 4932
591// I386:#define __LDBL_MAX_EXP__ 16384
592// I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
593// I386:#define __LDBL_MIN_10_EXP__ (-4931)
594// I386:#define __LDBL_MIN_EXP__ (-16381)
595// I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
596// I386:#define __LITTLE_ENDIAN__ 1
597// I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
598// I386:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000599// I386-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +0000600// I386:#define __NO_MATH_INLINES 1
601// I386:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000602// I386:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +0000603// I386:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000604// I386:#define __REGISTER_PREFIX__
605// I386:#define __SCHAR_MAX__ 127
606// I386:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000607// I386:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000608// I386:#define __SIZEOF_DOUBLE__ 8
609// I386:#define __SIZEOF_FLOAT__ 4
610// I386:#define __SIZEOF_INT__ 4
611// I386:#define __SIZEOF_LONG_DOUBLE__ 12
612// I386:#define __SIZEOF_LONG_LONG__ 8
613// I386:#define __SIZEOF_LONG__ 4
614// I386:#define __SIZEOF_POINTER__ 4
615// I386:#define __SIZEOF_PTRDIFF_T__ 4
616// I386:#define __SIZEOF_SHORT__ 2
617// I386:#define __SIZEOF_SIZE_T__ 4
618// I386:#define __SIZEOF_WCHAR_T__ 4
619// I386:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000620// I386:#define __SIZE_MAX__ 4294967295U
Chris Lattnerbceaf862009-10-29 04:55:36 +0000621// I386:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000622// I386:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000623// I386:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000624// I386:#define __USER_LABEL_PREFIX__ _
625// I386:#define __WCHAR_MAX__ 2147483647
626// I386:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +0000627// I386:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000628// I386:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000629// I386:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000630// I386:#define __i386 1
631// I386:#define __i386__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +0000632// I386:#define i386 1
633//
Benjamin Kramerb4066692011-12-28 15:47:06 +0000634// 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 +0000635//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000636// I386-LINUX-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000637// I386-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregor12e84642011-01-12 21:19:25 +0000638// I386-LINUX:#define __CHAR16_TYPE__ unsigned short
639// I386-LINUX:#define __CHAR32_TYPE__ unsigned int
640// I386-LINUX:#define __CHAR_BIT__ 8
641// I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
642// I386-LINUX:#define __DBL_DIG__ 15
643// I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
644// I386-LINUX:#define __DBL_HAS_DENORM__ 1
645// I386-LINUX:#define __DBL_HAS_INFINITY__ 1
646// I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
647// I386-LINUX:#define __DBL_MANT_DIG__ 53
648// I386-LINUX:#define __DBL_MAX_10_EXP__ 308
649// I386-LINUX:#define __DBL_MAX_EXP__ 1024
650// I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
651// I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
652// I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
653// I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
654// I386-LINUX:#define __DECIMAL_DIG__ 21
655// I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
656// I386-LINUX:#define __FLT_DIG__ 6
657// I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
658// I386-LINUX:#define __FLT_EVAL_METHOD__ 0
659// I386-LINUX:#define __FLT_HAS_DENORM__ 1
660// I386-LINUX:#define __FLT_HAS_INFINITY__ 1
661// I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
662// I386-LINUX:#define __FLT_MANT_DIG__ 24
663// I386-LINUX:#define __FLT_MAX_10_EXP__ 38
664// I386-LINUX:#define __FLT_MAX_EXP__ 128
665// I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
666// I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
667// I386-LINUX:#define __FLT_MIN_EXP__ (-125)
668// I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
669// I386-LINUX:#define __FLT_RADIX__ 2
670// I386-LINUX:#define __INT16_TYPE__ short
671// I386-LINUX:#define __INT32_TYPE__ int
672// I386-LINUX:#define __INT64_C_SUFFIX__ LL
673// I386-LINUX:#define __INT64_TYPE__ long long int
674// I386-LINUX:#define __INT8_TYPE__ char
675// I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
676// I386-LINUX:#define __INTMAX_TYPE__ long long int
677// I386-LINUX:#define __INTMAX_WIDTH__ 64
678// I386-LINUX:#define __INTPTR_TYPE__ int
679// I386-LINUX:#define __INTPTR_WIDTH__ 32
680// I386-LINUX:#define __INT_MAX__ 2147483647
681// I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
682// I386-LINUX:#define __LDBL_DIG__ 18
683// I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
684// I386-LINUX:#define __LDBL_HAS_DENORM__ 1
685// I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
686// I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
687// I386-LINUX:#define __LDBL_MANT_DIG__ 64
688// I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
689// I386-LINUX:#define __LDBL_MAX_EXP__ 16384
690// I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
691// I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
692// I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
693// I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
694// I386-LINUX:#define __LITTLE_ENDIAN__ 1
695// I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
696// I386-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000697// I386-LINUX-NOT:#define __LP64__
Douglas Gregor12e84642011-01-12 21:19:25 +0000698// I386-LINUX:#define __NO_MATH_INLINES 1
699// I386-LINUX:#define __POINTER_WIDTH__ 32
700// I386-LINUX:#define __PTRDIFF_TYPE__ int
701// I386-LINUX:#define __PTRDIFF_WIDTH__ 32
702// I386-LINUX:#define __REGISTER_PREFIX__
703// I386-LINUX:#define __SCHAR_MAX__ 127
704// I386-LINUX:#define __SHRT_MAX__ 32767
705// I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
706// I386-LINUX:#define __SIZEOF_DOUBLE__ 8
707// I386-LINUX:#define __SIZEOF_FLOAT__ 4
708// I386-LINUX:#define __SIZEOF_INT__ 4
709// I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
710// I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
711// I386-LINUX:#define __SIZEOF_LONG__ 4
712// I386-LINUX:#define __SIZEOF_POINTER__ 4
713// I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
714// I386-LINUX:#define __SIZEOF_SHORT__ 2
715// I386-LINUX:#define __SIZEOF_SIZE_T__ 4
716// I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
717// I386-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000718// I386-LINUX:#define __SIZE_MAX__ 4294967295U
Douglas Gregor12e84642011-01-12 21:19:25 +0000719// I386-LINUX:#define __SIZE_TYPE__ unsigned int
720// I386-LINUX:#define __SIZE_WIDTH__ 32
721// I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
722// I386-LINUX:#define __USER_LABEL_PREFIX__
723// I386-LINUX:#define __WCHAR_MAX__ 2147483647
724// I386-LINUX:#define __WCHAR_TYPE__ int
725// I386-LINUX:#define __WCHAR_WIDTH__ 32
726// I386-LINUX:#define __WINT_TYPE__ unsigned int
727// I386-LINUX:#define __WINT_WIDTH__ 32
728// I386-LINUX:#define __i386 1
729// I386-LINUX:#define __i386__ 1
Douglas Gregor12e84642011-01-12 21:19:25 +0000730// I386-LINUX:#define i386 1
731//
Joerg Sonnenberger8daa7fe2013-11-11 14:00:37 +0000732// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd < /dev/null | FileCheck -check-prefix I386-NETBSD %s
733//
734// I386-NETBSD-NOT:#define _LP64
735// I386-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
736// I386-NETBSD:#define __CHAR16_TYPE__ unsigned short
737// I386-NETBSD:#define __CHAR32_TYPE__ unsigned int
738// I386-NETBSD:#define __CHAR_BIT__ 8
739// I386-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
740// I386-NETBSD:#define __DBL_DIG__ 15
741// I386-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
742// I386-NETBSD:#define __DBL_HAS_DENORM__ 1
743// I386-NETBSD:#define __DBL_HAS_INFINITY__ 1
744// I386-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
745// I386-NETBSD:#define __DBL_MANT_DIG__ 53
746// I386-NETBSD:#define __DBL_MAX_10_EXP__ 308
747// I386-NETBSD:#define __DBL_MAX_EXP__ 1024
748// I386-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
749// I386-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
750// I386-NETBSD:#define __DBL_MIN_EXP__ (-1021)
751// I386-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
752// I386-NETBSD:#define __DECIMAL_DIG__ 21
753// I386-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
754// I386-NETBSD:#define __FLT_DIG__ 6
755// I386-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
756// I386-NETBSD:#define __FLT_EVAL_METHOD__ 2
757// I386-NETBSD:#define __FLT_HAS_DENORM__ 1
758// I386-NETBSD:#define __FLT_HAS_INFINITY__ 1
759// I386-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
760// I386-NETBSD:#define __FLT_MANT_DIG__ 24
761// I386-NETBSD:#define __FLT_MAX_10_EXP__ 38
762// I386-NETBSD:#define __FLT_MAX_EXP__ 128
763// I386-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
764// I386-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
765// I386-NETBSD:#define __FLT_MIN_EXP__ (-125)
766// I386-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
767// I386-NETBSD:#define __FLT_RADIX__ 2
768// I386-NETBSD:#define __INT16_TYPE__ short
769// I386-NETBSD:#define __INT32_TYPE__ int
770// I386-NETBSD:#define __INT64_C_SUFFIX__ LL
771// I386-NETBSD:#define __INT64_TYPE__ long long int
772// I386-NETBSD:#define __INT8_TYPE__ char
773// I386-NETBSD:#define __INTMAX_MAX__ 9223372036854775807LL
774// I386-NETBSD:#define __INTMAX_TYPE__ long long int
775// I386-NETBSD:#define __INTMAX_WIDTH__ 64
776// I386-NETBSD:#define __INTPTR_TYPE__ int
777// I386-NETBSD:#define __INTPTR_WIDTH__ 32
778// I386-NETBSD:#define __INT_MAX__ 2147483647
779// I386-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
780// I386-NETBSD:#define __LDBL_DIG__ 18
781// I386-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
782// I386-NETBSD:#define __LDBL_HAS_DENORM__ 1
783// I386-NETBSD:#define __LDBL_HAS_INFINITY__ 1
784// I386-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
785// I386-NETBSD:#define __LDBL_MANT_DIG__ 64
786// I386-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
787// I386-NETBSD:#define __LDBL_MAX_EXP__ 16384
788// I386-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
789// I386-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
790// I386-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
791// I386-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
792// I386-NETBSD:#define __LITTLE_ENDIAN__ 1
793// I386-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
794// I386-NETBSD:#define __LONG_MAX__ 2147483647L
795// I386-NETBSD-NOT:#define __LP64__
796// I386-NETBSD:#define __NO_MATH_INLINES 1
797// I386-NETBSD:#define __POINTER_WIDTH__ 32
798// I386-NETBSD:#define __PTRDIFF_TYPE__ int
799// I386-NETBSD:#define __PTRDIFF_WIDTH__ 32
800// I386-NETBSD:#define __REGISTER_PREFIX__
801// I386-NETBSD:#define __SCHAR_MAX__ 127
802// I386-NETBSD:#define __SHRT_MAX__ 32767
803// I386-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
804// I386-NETBSD:#define __SIZEOF_DOUBLE__ 8
805// I386-NETBSD:#define __SIZEOF_FLOAT__ 4
806// I386-NETBSD:#define __SIZEOF_INT__ 4
807// I386-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 12
808// I386-NETBSD:#define __SIZEOF_LONG_LONG__ 8
809// I386-NETBSD:#define __SIZEOF_LONG__ 4
810// I386-NETBSD:#define __SIZEOF_POINTER__ 4
811// I386-NETBSD:#define __SIZEOF_PTRDIFF_T__ 4
812// I386-NETBSD:#define __SIZEOF_SHORT__ 2
813// I386-NETBSD:#define __SIZEOF_SIZE_T__ 4
814// I386-NETBSD:#define __SIZEOF_WCHAR_T__ 4
815// I386-NETBSD:#define __SIZEOF_WINT_T__ 4
816// I386-NETBSD:#define __SIZE_MAX__ 4294967295U
817// I386-NETBSD:#define __SIZE_TYPE__ unsigned int
818// I386-NETBSD:#define __SIZE_WIDTH__ 32
819// I386-NETBSD:#define __UINTMAX_TYPE__ long long unsigned int
820// I386-NETBSD:#define __USER_LABEL_PREFIX__
821// I386-NETBSD:#define __WCHAR_MAX__ 2147483647
822// I386-NETBSD:#define __WCHAR_TYPE__ int
823// I386-NETBSD:#define __WCHAR_WIDTH__ 32
824// I386-NETBSD:#define __WINT_TYPE__ int
825// I386-NETBSD:#define __WINT_WIDTH__ 32
826// I386-NETBSD:#define __i386 1
827// I386-NETBSD:#define __i386__ 1
828// I386-NETBSD:#define i386 1
829//
830// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD-SSE %s
831// I386-NETBSD-SSE:#define __FLT_EVAL_METHOD__ 0
832// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 < /dev/null | FileCheck -check-prefix I386-NETBSD6 %s
833// I386-NETBSD6:#define __FLT_EVAL_METHOD__ 1
834// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD6-SSE %s
835// I386-NETBSD6-SSE:#define __FLT_EVAL_METHOD__ 1
836
837//
Simon Atanasyan7a521802012-04-06 08:37:24 +0000838// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none < /dev/null | FileCheck -check-prefix MIPS32BE %s
839//
840// MIPS32BE:#define MIPSEB 1
841// MIPS32BE:#define _ABIO32 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000842// MIPS32BE-NOT:#define _LP64
Simon Atanasyan7a521802012-04-06 08:37:24 +0000843// MIPS32BE:#define _MIPSEB 1
Simon Atanasyan260e5062012-08-29 15:17:29 +0000844// MIPS32BE:#define _MIPS_ARCH "mips32"
845// MIPS32BE:#define _MIPS_ARCH_MIPS32 1
Simon Atanasyanddb2ad22013-10-18 13:13:53 +0000846// MIPS32BE:#define _MIPS_FPSET 16
Simon Atanasyan7a521802012-04-06 08:37:24 +0000847// MIPS32BE:#define _MIPS_SIM _ABIO32
848// MIPS32BE:#define _MIPS_SZINT 32
849// MIPS32BE:#define _MIPS_SZLONG 32
850// MIPS32BE:#define _MIPS_SZPTR 32
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000851// MIPS32BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyan7a521802012-04-06 08:37:24 +0000852// MIPS32BE:#define __CHAR16_TYPE__ unsigned short
853// MIPS32BE:#define __CHAR32_TYPE__ unsigned int
854// MIPS32BE:#define __CHAR_BIT__ 8
855// MIPS32BE:#define __CONSTANT_CFSTRINGS__ 1
856// MIPS32BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
857// MIPS32BE:#define __DBL_DIG__ 15
858// MIPS32BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
859// MIPS32BE:#define __DBL_HAS_DENORM__ 1
860// MIPS32BE:#define __DBL_HAS_INFINITY__ 1
861// MIPS32BE:#define __DBL_HAS_QUIET_NAN__ 1
862// MIPS32BE:#define __DBL_MANT_DIG__ 53
863// MIPS32BE:#define __DBL_MAX_10_EXP__ 308
864// MIPS32BE:#define __DBL_MAX_EXP__ 1024
865// MIPS32BE:#define __DBL_MAX__ 1.7976931348623157e+308
866// MIPS32BE:#define __DBL_MIN_10_EXP__ (-307)
867// MIPS32BE:#define __DBL_MIN_EXP__ (-1021)
868// MIPS32BE:#define __DBL_MIN__ 2.2250738585072014e-308
869// MIPS32BE:#define __DECIMAL_DIG__ 17
870// MIPS32BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
871// MIPS32BE:#define __FLT_DIG__ 6
872// MIPS32BE:#define __FLT_EPSILON__ 1.19209290e-7F
873// MIPS32BE:#define __FLT_EVAL_METHOD__ 0
874// MIPS32BE:#define __FLT_HAS_DENORM__ 1
875// MIPS32BE:#define __FLT_HAS_INFINITY__ 1
876// MIPS32BE:#define __FLT_HAS_QUIET_NAN__ 1
877// MIPS32BE:#define __FLT_MANT_DIG__ 24
878// MIPS32BE:#define __FLT_MAX_10_EXP__ 38
879// MIPS32BE:#define __FLT_MAX_EXP__ 128
880// MIPS32BE:#define __FLT_MAX__ 3.40282347e+38F
881// MIPS32BE:#define __FLT_MIN_10_EXP__ (-37)
882// MIPS32BE:#define __FLT_MIN_EXP__ (-125)
883// MIPS32BE:#define __FLT_MIN__ 1.17549435e-38F
884// MIPS32BE:#define __FLT_RADIX__ 2
885// MIPS32BE:#define __INT16_TYPE__ short
886// MIPS32BE:#define __INT32_TYPE__ int
887// MIPS32BE:#define __INT64_C_SUFFIX__ LL
888// MIPS32BE:#define __INT64_TYPE__ long long int
889// MIPS32BE:#define __INT8_TYPE__ char
890// MIPS32BE:#define __INTMAX_MAX__ 9223372036854775807LL
891// MIPS32BE:#define __INTMAX_TYPE__ long long int
892// MIPS32BE:#define __INTMAX_WIDTH__ 64
893// MIPS32BE:#define __INTPTR_TYPE__ long int
894// MIPS32BE:#define __INTPTR_WIDTH__ 32
895// MIPS32BE:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +0000896// MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000897// MIPS32BE:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +0000898// MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000899// MIPS32BE:#define __LDBL_HAS_DENORM__ 1
900// MIPS32BE:#define __LDBL_HAS_INFINITY__ 1
901// MIPS32BE:#define __LDBL_HAS_QUIET_NAN__ 1
902// MIPS32BE:#define __LDBL_MANT_DIG__ 53
903// MIPS32BE:#define __LDBL_MAX_10_EXP__ 308
904// MIPS32BE:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +0000905// MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000906// MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307)
907// MIPS32BE:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +0000908// MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000909// MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
910// MIPS32BE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000911// MIPS32BE-NOT:#define __LP64__
Simon Atanasyan7a521802012-04-06 08:37:24 +0000912// MIPS32BE:#define __MIPSEB 1
913// MIPS32BE:#define __MIPSEB__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000914// MIPS32BE:#define __POINTER_WIDTH__ 32
915// MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1
916// MIPS32BE:#define __PTRDIFF_TYPE__ int
917// MIPS32BE:#define __PTRDIFF_WIDTH__ 32
918// MIPS32BE:#define __REGISTER_PREFIX__
919// MIPS32BE:#define __SCHAR_MAX__ 127
920// MIPS32BE:#define __SHRT_MAX__ 32767
921// MIPS32BE:#define __SIG_ATOMIC_WIDTH__ 32
922// MIPS32BE:#define __SIZEOF_DOUBLE__ 8
923// MIPS32BE:#define __SIZEOF_FLOAT__ 4
924// MIPS32BE:#define __SIZEOF_INT__ 4
925// MIPS32BE:#define __SIZEOF_LONG_DOUBLE__ 8
926// MIPS32BE:#define __SIZEOF_LONG_LONG__ 8
927// MIPS32BE:#define __SIZEOF_LONG__ 4
928// MIPS32BE:#define __SIZEOF_POINTER__ 4
929// MIPS32BE:#define __SIZEOF_PTRDIFF_T__ 4
930// MIPS32BE:#define __SIZEOF_SHORT__ 2
931// MIPS32BE:#define __SIZEOF_SIZE_T__ 4
932// MIPS32BE:#define __SIZEOF_WCHAR_T__ 4
933// MIPS32BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000934// MIPS32BE:#define __SIZE_MAX__ 4294967295U
Simon Atanasyan7a521802012-04-06 08:37:24 +0000935// MIPS32BE:#define __SIZE_TYPE__ unsigned int
936// MIPS32BE:#define __SIZE_WIDTH__ 32
937// MIPS32BE:#define __STDC_HOSTED__ 0
938// MIPS32BE:#define __STDC_VERSION__ 199901L
939// MIPS32BE:#define __STDC__ 1
940// MIPS32BE:#define __UINTMAX_TYPE__ long long unsigned int
941// MIPS32BE:#define __USER_LABEL_PREFIX__ _
942// MIPS32BE:#define __WCHAR_MAX__ 2147483647
943// MIPS32BE:#define __WCHAR_TYPE__ int
944// MIPS32BE:#define __WCHAR_WIDTH__ 32
945// MIPS32BE:#define __WINT_TYPE__ int
946// MIPS32BE:#define __WINT_WIDTH__ 32
947// MIPS32BE:#define __clang__ 1
948// MIPS32BE:#define __llvm__ 1
949// MIPS32BE:#define __mips 1
950// MIPS32BE:#define __mips__ 1
Simon Atanasyanddb2ad22013-10-18 13:13:53 +0000951// MIPS32BE:#define __mips_fpr 32
Simon Atanasyan7a521802012-04-06 08:37:24 +0000952// MIPS32BE:#define __mips_hard_float 1
953// MIPS32BE:#define __mips_o32 1
954// MIPS32BE:#define _mips 1
955// MIPS32BE:#define mips 1
956//
957// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -check-prefix MIPS32EL %s
958//
959// MIPS32EL:#define MIPSEL 1
960// MIPS32EL:#define _ABIO32 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000961// MIPS32EL-NOT:#define _LP64
Simon Atanasyan7a521802012-04-06 08:37:24 +0000962// MIPS32EL:#define _MIPSEL 1
Simon Atanasyan260e5062012-08-29 15:17:29 +0000963// MIPS32EL:#define _MIPS_ARCH "mips32"
964// MIPS32EL:#define _MIPS_ARCH_MIPS32 1
Simon Atanasyanddb2ad22013-10-18 13:13:53 +0000965// MIPS32EL:#define _MIPS_FPSET 16
Simon Atanasyan7a521802012-04-06 08:37:24 +0000966// MIPS32EL:#define _MIPS_SIM _ABIO32
967// MIPS32EL:#define _MIPS_SZINT 32
968// MIPS32EL:#define _MIPS_SZLONG 32
969// MIPS32EL:#define _MIPS_SZPTR 32
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000970// MIPS32EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyan7a521802012-04-06 08:37:24 +0000971// MIPS32EL:#define __CHAR16_TYPE__ unsigned short
972// MIPS32EL:#define __CHAR32_TYPE__ unsigned int
973// MIPS32EL:#define __CHAR_BIT__ 8
974// MIPS32EL:#define __CONSTANT_CFSTRINGS__ 1
975// MIPS32EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
976// MIPS32EL:#define __DBL_DIG__ 15
977// MIPS32EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
978// MIPS32EL:#define __DBL_HAS_DENORM__ 1
979// MIPS32EL:#define __DBL_HAS_INFINITY__ 1
980// MIPS32EL:#define __DBL_HAS_QUIET_NAN__ 1
981// MIPS32EL:#define __DBL_MANT_DIG__ 53
982// MIPS32EL:#define __DBL_MAX_10_EXP__ 308
983// MIPS32EL:#define __DBL_MAX_EXP__ 1024
984// MIPS32EL:#define __DBL_MAX__ 1.7976931348623157e+308
985// MIPS32EL:#define __DBL_MIN_10_EXP__ (-307)
986// MIPS32EL:#define __DBL_MIN_EXP__ (-1021)
987// MIPS32EL:#define __DBL_MIN__ 2.2250738585072014e-308
988// MIPS32EL:#define __DECIMAL_DIG__ 17
989// MIPS32EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
990// MIPS32EL:#define __FLT_DIG__ 6
991// MIPS32EL:#define __FLT_EPSILON__ 1.19209290e-7F
992// MIPS32EL:#define __FLT_EVAL_METHOD__ 0
993// MIPS32EL:#define __FLT_HAS_DENORM__ 1
994// MIPS32EL:#define __FLT_HAS_INFINITY__ 1
995// MIPS32EL:#define __FLT_HAS_QUIET_NAN__ 1
996// MIPS32EL:#define __FLT_MANT_DIG__ 24
997// MIPS32EL:#define __FLT_MAX_10_EXP__ 38
998// MIPS32EL:#define __FLT_MAX_EXP__ 128
999// MIPS32EL:#define __FLT_MAX__ 3.40282347e+38F
1000// MIPS32EL:#define __FLT_MIN_10_EXP__ (-37)
1001// MIPS32EL:#define __FLT_MIN_EXP__ (-125)
1002// MIPS32EL:#define __FLT_MIN__ 1.17549435e-38F
1003// MIPS32EL:#define __FLT_RADIX__ 2
1004// MIPS32EL:#define __INT16_TYPE__ short
1005// MIPS32EL:#define __INT32_TYPE__ int
1006// MIPS32EL:#define __INT64_C_SUFFIX__ LL
1007// MIPS32EL:#define __INT64_TYPE__ long long int
1008// MIPS32EL:#define __INT8_TYPE__ char
1009// MIPS32EL:#define __INTMAX_MAX__ 9223372036854775807LL
1010// MIPS32EL:#define __INTMAX_TYPE__ long long int
1011// MIPS32EL:#define __INTMAX_WIDTH__ 64
1012// MIPS32EL:#define __INTPTR_TYPE__ long int
1013// MIPS32EL:#define __INTPTR_WIDTH__ 32
1014// MIPS32EL:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00001015// MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyan7a521802012-04-06 08:37:24 +00001016// MIPS32EL:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00001017// MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyan7a521802012-04-06 08:37:24 +00001018// MIPS32EL:#define __LDBL_HAS_DENORM__ 1
1019// MIPS32EL:#define __LDBL_HAS_INFINITY__ 1
1020// MIPS32EL:#define __LDBL_HAS_QUIET_NAN__ 1
1021// MIPS32EL:#define __LDBL_MANT_DIG__ 53
1022// MIPS32EL:#define __LDBL_MAX_10_EXP__ 308
1023// MIPS32EL:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00001024// MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyan7a521802012-04-06 08:37:24 +00001025// MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307)
1026// MIPS32EL:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00001027// MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyan7a521802012-04-06 08:37:24 +00001028// MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1029// MIPS32EL:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001030// MIPS32EL-NOT:#define __LP64__
Simon Atanasyan7a521802012-04-06 08:37:24 +00001031// MIPS32EL:#define __MIPSEL 1
1032// MIPS32EL:#define __MIPSEL__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001033// MIPS32EL:#define __POINTER_WIDTH__ 32
1034// MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1035// MIPS32EL:#define __PTRDIFF_TYPE__ int
1036// MIPS32EL:#define __PTRDIFF_WIDTH__ 32
1037// MIPS32EL:#define __REGISTER_PREFIX__
1038// MIPS32EL:#define __SCHAR_MAX__ 127
1039// MIPS32EL:#define __SHRT_MAX__ 32767
1040// MIPS32EL:#define __SIG_ATOMIC_WIDTH__ 32
1041// MIPS32EL:#define __SIZEOF_DOUBLE__ 8
1042// MIPS32EL:#define __SIZEOF_FLOAT__ 4
1043// MIPS32EL:#define __SIZEOF_INT__ 4
1044// MIPS32EL:#define __SIZEOF_LONG_DOUBLE__ 8
1045// MIPS32EL:#define __SIZEOF_LONG_LONG__ 8
1046// MIPS32EL:#define __SIZEOF_LONG__ 4
1047// MIPS32EL:#define __SIZEOF_POINTER__ 4
1048// MIPS32EL:#define __SIZEOF_PTRDIFF_T__ 4
1049// MIPS32EL:#define __SIZEOF_SHORT__ 2
1050// MIPS32EL:#define __SIZEOF_SIZE_T__ 4
1051// MIPS32EL:#define __SIZEOF_WCHAR_T__ 4
1052// MIPS32EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001053// MIPS32EL:#define __SIZE_MAX__ 4294967295U
Simon Atanasyan7a521802012-04-06 08:37:24 +00001054// MIPS32EL:#define __SIZE_TYPE__ unsigned int
1055// MIPS32EL:#define __SIZE_WIDTH__ 32
1056// MIPS32EL:#define __UINTMAX_TYPE__ long long unsigned int
1057// MIPS32EL:#define __USER_LABEL_PREFIX__ _
1058// MIPS32EL:#define __WCHAR_MAX__ 2147483647
1059// MIPS32EL:#define __WCHAR_TYPE__ int
1060// MIPS32EL:#define __WCHAR_WIDTH__ 32
1061// MIPS32EL:#define __WINT_TYPE__ int
1062// MIPS32EL:#define __WINT_WIDTH__ 32
1063// MIPS32EL:#define __clang__ 1
1064// MIPS32EL:#define __llvm__ 1
1065// MIPS32EL:#define __mips 1
1066// MIPS32EL:#define __mips__ 1
Simon Atanasyanddb2ad22013-10-18 13:13:53 +00001067// MIPS32EL:#define __mips_fpr 32
Simon Atanasyan7a521802012-04-06 08:37:24 +00001068// MIPS32EL:#define __mips_hard_float 1
1069// MIPS32EL:#define __mips_o32 1
1070// MIPS32EL:#define _mips 1
1071// MIPS32EL:#define mips 1
1072//
1073// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -check-prefix MIPS64BE %s
1074//
1075// MIPS64BE:#define MIPSEB 1
1076// MIPS64BE:#define _ABI64 3
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001077// MIPS64BE:#define _LP64 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001078// MIPS64BE:#define _MIPSEB 1
Simon Atanasyan260e5062012-08-29 15:17:29 +00001079// MIPS64BE:#define _MIPS_ARCH "mips64"
1080// MIPS64BE:#define _MIPS_ARCH_MIPS64 1
Simon Atanasyanddb2ad22013-10-18 13:13:53 +00001081// MIPS64BE:#define _MIPS_FPSET 32
Simon Atanasyan7a521802012-04-06 08:37:24 +00001082// MIPS64BE:#define _MIPS_SIM _ABI64
1083// MIPS64BE:#define _MIPS_SZINT 32
1084// MIPS64BE:#define _MIPS_SZLONG 64
1085// MIPS64BE:#define _MIPS_SZPTR 64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001086// MIPS64BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyan7a521802012-04-06 08:37:24 +00001087// MIPS64BE:#define __CHAR16_TYPE__ unsigned short
1088// MIPS64BE:#define __CHAR32_TYPE__ unsigned int
1089// MIPS64BE:#define __CHAR_BIT__ 8
1090// MIPS64BE:#define __CONSTANT_CFSTRINGS__ 1
1091// MIPS64BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1092// MIPS64BE:#define __DBL_DIG__ 15
1093// MIPS64BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
1094// MIPS64BE:#define __DBL_HAS_DENORM__ 1
1095// MIPS64BE:#define __DBL_HAS_INFINITY__ 1
1096// MIPS64BE:#define __DBL_HAS_QUIET_NAN__ 1
1097// MIPS64BE:#define __DBL_MANT_DIG__ 53
1098// MIPS64BE:#define __DBL_MAX_10_EXP__ 308
1099// MIPS64BE:#define __DBL_MAX_EXP__ 1024
1100// MIPS64BE:#define __DBL_MAX__ 1.7976931348623157e+308
1101// MIPS64BE:#define __DBL_MIN_10_EXP__ (-307)
1102// MIPS64BE:#define __DBL_MIN_EXP__ (-1021)
1103// MIPS64BE:#define __DBL_MIN__ 2.2250738585072014e-308
1104// MIPS64BE:#define __DECIMAL_DIG__ 36
1105// MIPS64BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1106// MIPS64BE:#define __FLT_DIG__ 6
1107// MIPS64BE:#define __FLT_EPSILON__ 1.19209290e-7F
1108// MIPS64BE:#define __FLT_EVAL_METHOD__ 0
1109// MIPS64BE:#define __FLT_HAS_DENORM__ 1
1110// MIPS64BE:#define __FLT_HAS_INFINITY__ 1
1111// MIPS64BE:#define __FLT_HAS_QUIET_NAN__ 1
1112// MIPS64BE:#define __FLT_MANT_DIG__ 24
1113// MIPS64BE:#define __FLT_MAX_10_EXP__ 38
1114// MIPS64BE:#define __FLT_MAX_EXP__ 128
1115// MIPS64BE:#define __FLT_MAX__ 3.40282347e+38F
1116// MIPS64BE:#define __FLT_MIN_10_EXP__ (-37)
1117// MIPS64BE:#define __FLT_MIN_EXP__ (-125)
1118// MIPS64BE:#define __FLT_MIN__ 1.17549435e-38F
1119// MIPS64BE:#define __FLT_RADIX__ 2
1120// MIPS64BE:#define __INT16_TYPE__ short
1121// MIPS64BE:#define __INT32_TYPE__ int
1122// MIPS64BE:#define __INT64_C_SUFFIX__ LL
1123// MIPS64BE:#define __INT64_TYPE__ long long int
1124// MIPS64BE:#define __INT8_TYPE__ char
1125// MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807LL
1126// MIPS64BE:#define __INTMAX_TYPE__ long long int
1127// MIPS64BE:#define __INTMAX_WIDTH__ 64
1128// MIPS64BE:#define __INTPTR_TYPE__ long int
1129// MIPS64BE:#define __INTPTR_WIDTH__ 64
1130// MIPS64BE:#define __INT_MAX__ 2147483647
1131// MIPS64BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1132// MIPS64BE:#define __LDBL_DIG__ 33
1133// MIPS64BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1134// MIPS64BE:#define __LDBL_HAS_DENORM__ 1
1135// MIPS64BE:#define __LDBL_HAS_INFINITY__ 1
1136// MIPS64BE:#define __LDBL_HAS_QUIET_NAN__ 1
1137// MIPS64BE:#define __LDBL_MANT_DIG__ 113
1138// MIPS64BE:#define __LDBL_MAX_10_EXP__ 4932
1139// MIPS64BE:#define __LDBL_MAX_EXP__ 16384
1140// MIPS64BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1141// MIPS64BE:#define __LDBL_MIN_10_EXP__ (-4931)
1142// MIPS64BE:#define __LDBL_MIN_EXP__ (-16381)
1143// MIPS64BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1144// MIPS64BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1145// MIPS64BE:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001146// MIPS64BE:#define __LP64__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001147// MIPS64BE:#define __MIPSEB 1
1148// MIPS64BE:#define __MIPSEB__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001149// MIPS64BE:#define __POINTER_WIDTH__ 64
1150// MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1
1151// MIPS64BE:#define __PTRDIFF_TYPE__ long int
1152// MIPS64BE:#define __PTRDIFF_WIDTH__ 64
1153// MIPS64BE:#define __REGISTER_PREFIX__
1154// MIPS64BE:#define __SCHAR_MAX__ 127
1155// MIPS64BE:#define __SHRT_MAX__ 32767
1156// MIPS64BE:#define __SIG_ATOMIC_WIDTH__ 32
1157// MIPS64BE:#define __SIZEOF_DOUBLE__ 8
1158// MIPS64BE:#define __SIZEOF_FLOAT__ 4
1159// MIPS64BE:#define __SIZEOF_INT__ 4
1160// MIPS64BE:#define __SIZEOF_LONG_DOUBLE__ 16
1161// MIPS64BE:#define __SIZEOF_LONG_LONG__ 8
1162// MIPS64BE:#define __SIZEOF_LONG__ 8
1163// MIPS64BE:#define __SIZEOF_POINTER__ 8
1164// MIPS64BE:#define __SIZEOF_PTRDIFF_T__ 8
1165// MIPS64BE:#define __SIZEOF_SHORT__ 2
1166// MIPS64BE:#define __SIZEOF_SIZE_T__ 8
1167// MIPS64BE:#define __SIZEOF_WCHAR_T__ 4
1168// MIPS64BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001169// MIPS64BE:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyan7a521802012-04-06 08:37:24 +00001170// MIPS64BE:#define __SIZE_TYPE__ long unsigned int
1171// MIPS64BE:#define __SIZE_WIDTH__ 64
1172// MIPS64BE:#define __UINTMAX_TYPE__ long long unsigned int
1173// MIPS64BE:#define __USER_LABEL_PREFIX__ _
1174// MIPS64BE:#define __WCHAR_MAX__ 2147483647
1175// MIPS64BE:#define __WCHAR_TYPE__ int
1176// MIPS64BE:#define __WCHAR_WIDTH__ 32
1177// MIPS64BE:#define __WINT_TYPE__ int
1178// MIPS64BE:#define __WINT_WIDTH__ 32
1179// MIPS64BE:#define __clang__ 1
1180// MIPS64BE:#define __llvm__ 1
1181// MIPS64BE:#define __mips 1
Simon Atanasyan600a5132012-08-29 20:50:11 +00001182// MIPS64BE:#define __mips64 1
1183// MIPS64BE:#define __mips64__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001184// MIPS64BE:#define __mips__ 1
Simon Atanasyanddb2ad22013-10-18 13:13:53 +00001185// MIPS64BE:#define __mips_fpr 64
Simon Atanasyan7a521802012-04-06 08:37:24 +00001186// MIPS64BE:#define __mips_hard_float 1
1187// MIPS64BE:#define __mips_n64 1
1188// MIPS64BE:#define _mips 1
1189// MIPS64BE:#define mips 1
1190//
1191// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -check-prefix MIPS64EL %s
1192//
1193// MIPS64EL:#define MIPSEL 1
1194// MIPS64EL:#define _ABI64 3
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001195// MIPS64EL:#define _LP64 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001196// MIPS64EL:#define _MIPSEL 1
Simon Atanasyan260e5062012-08-29 15:17:29 +00001197// MIPS64EL:#define _MIPS_ARCH "mips64"
1198// MIPS64EL:#define _MIPS_ARCH_MIPS64 1
Simon Atanasyanddb2ad22013-10-18 13:13:53 +00001199// MIPS64EL:#define _MIPS_FPSET 32
Simon Atanasyan7a521802012-04-06 08:37:24 +00001200// MIPS64EL:#define _MIPS_SIM _ABI64
1201// MIPS64EL:#define _MIPS_SZINT 32
1202// MIPS64EL:#define _MIPS_SZLONG 64
1203// MIPS64EL:#define _MIPS_SZPTR 64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001204// MIPS64EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyan7a521802012-04-06 08:37:24 +00001205// MIPS64EL:#define __CHAR16_TYPE__ unsigned short
1206// MIPS64EL:#define __CHAR32_TYPE__ unsigned int
1207// MIPS64EL:#define __CHAR_BIT__ 8
1208// MIPS64EL:#define __CONSTANT_CFSTRINGS__ 1
1209// MIPS64EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1210// MIPS64EL:#define __DBL_DIG__ 15
1211// MIPS64EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1212// MIPS64EL:#define __DBL_HAS_DENORM__ 1
1213// MIPS64EL:#define __DBL_HAS_INFINITY__ 1
1214// MIPS64EL:#define __DBL_HAS_QUIET_NAN__ 1
1215// MIPS64EL:#define __DBL_MANT_DIG__ 53
1216// MIPS64EL:#define __DBL_MAX_10_EXP__ 308
1217// MIPS64EL:#define __DBL_MAX_EXP__ 1024
1218// MIPS64EL:#define __DBL_MAX__ 1.7976931348623157e+308
1219// MIPS64EL:#define __DBL_MIN_10_EXP__ (-307)
1220// MIPS64EL:#define __DBL_MIN_EXP__ (-1021)
1221// MIPS64EL:#define __DBL_MIN__ 2.2250738585072014e-308
1222// MIPS64EL:#define __DECIMAL_DIG__ 36
1223// MIPS64EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1224// MIPS64EL:#define __FLT_DIG__ 6
1225// MIPS64EL:#define __FLT_EPSILON__ 1.19209290e-7F
1226// MIPS64EL:#define __FLT_EVAL_METHOD__ 0
1227// MIPS64EL:#define __FLT_HAS_DENORM__ 1
1228// MIPS64EL:#define __FLT_HAS_INFINITY__ 1
1229// MIPS64EL:#define __FLT_HAS_QUIET_NAN__ 1
1230// MIPS64EL:#define __FLT_MANT_DIG__ 24
1231// MIPS64EL:#define __FLT_MAX_10_EXP__ 38
1232// MIPS64EL:#define __FLT_MAX_EXP__ 128
1233// MIPS64EL:#define __FLT_MAX__ 3.40282347e+38F
1234// MIPS64EL:#define __FLT_MIN_10_EXP__ (-37)
1235// MIPS64EL:#define __FLT_MIN_EXP__ (-125)
1236// MIPS64EL:#define __FLT_MIN__ 1.17549435e-38F
1237// MIPS64EL:#define __FLT_RADIX__ 2
1238// MIPS64EL:#define __INT16_TYPE__ short
1239// MIPS64EL:#define __INT32_TYPE__ int
1240// MIPS64EL:#define __INT64_C_SUFFIX__ LL
1241// MIPS64EL:#define __INT64_TYPE__ long long int
1242// MIPS64EL:#define __INT8_TYPE__ char
1243// MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807LL
1244// MIPS64EL:#define __INTMAX_TYPE__ long long int
1245// MIPS64EL:#define __INTMAX_WIDTH__ 64
1246// MIPS64EL:#define __INTPTR_TYPE__ long int
1247// MIPS64EL:#define __INTPTR_WIDTH__ 64
1248// MIPS64EL:#define __INT_MAX__ 2147483647
1249// MIPS64EL:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1250// MIPS64EL:#define __LDBL_DIG__ 33
1251// MIPS64EL:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1252// MIPS64EL:#define __LDBL_HAS_DENORM__ 1
1253// MIPS64EL:#define __LDBL_HAS_INFINITY__ 1
1254// MIPS64EL:#define __LDBL_HAS_QUIET_NAN__ 1
1255// MIPS64EL:#define __LDBL_MANT_DIG__ 113
1256// MIPS64EL:#define __LDBL_MAX_10_EXP__ 4932
1257// MIPS64EL:#define __LDBL_MAX_EXP__ 16384
1258// MIPS64EL:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1259// MIPS64EL:#define __LDBL_MIN_10_EXP__ (-4931)
1260// MIPS64EL:#define __LDBL_MIN_EXP__ (-16381)
1261// MIPS64EL:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1262// MIPS64EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1263// MIPS64EL:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001264// MIPS64EL:#define __LP64__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001265// MIPS64EL:#define __MIPSEL 1
1266// MIPS64EL:#define __MIPSEL__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001267// MIPS64EL:#define __POINTER_WIDTH__ 64
1268// MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1269// MIPS64EL:#define __PTRDIFF_TYPE__ long int
1270// MIPS64EL:#define __PTRDIFF_WIDTH__ 64
1271// MIPS64EL:#define __REGISTER_PREFIX__
1272// MIPS64EL:#define __SCHAR_MAX__ 127
1273// MIPS64EL:#define __SHRT_MAX__ 32767
1274// MIPS64EL:#define __SIG_ATOMIC_WIDTH__ 32
1275// MIPS64EL:#define __SIZEOF_DOUBLE__ 8
1276// MIPS64EL:#define __SIZEOF_FLOAT__ 4
1277// MIPS64EL:#define __SIZEOF_INT__ 4
1278// MIPS64EL:#define __SIZEOF_LONG_DOUBLE__ 16
1279// MIPS64EL:#define __SIZEOF_LONG_LONG__ 8
1280// MIPS64EL:#define __SIZEOF_LONG__ 8
1281// MIPS64EL:#define __SIZEOF_POINTER__ 8
1282// MIPS64EL:#define __SIZEOF_PTRDIFF_T__ 8
1283// MIPS64EL:#define __SIZEOF_SHORT__ 2
1284// MIPS64EL:#define __SIZEOF_SIZE_T__ 8
1285// MIPS64EL:#define __SIZEOF_WCHAR_T__ 4
1286// MIPS64EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001287// MIPS64EL:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyan7a521802012-04-06 08:37:24 +00001288// MIPS64EL:#define __SIZE_TYPE__ long unsigned int
1289// MIPS64EL:#define __SIZE_WIDTH__ 64
1290// MIPS64EL:#define __UINTMAX_TYPE__ long long unsigned int
1291// MIPS64EL:#define __USER_LABEL_PREFIX__ _
1292// MIPS64EL:#define __WCHAR_MAX__ 2147483647
1293// MIPS64EL:#define __WCHAR_TYPE__ int
1294// MIPS64EL:#define __WCHAR_WIDTH__ 32
1295// MIPS64EL:#define __WINT_TYPE__ int
1296// MIPS64EL:#define __WINT_WIDTH__ 32
1297// MIPS64EL:#define __clang__ 1
1298// MIPS64EL:#define __llvm__ 1
1299// MIPS64EL:#define __mips 1
Simon Atanasyan600a5132012-08-29 20:50:11 +00001300// MIPS64EL:#define __mips64 1
1301// MIPS64EL:#define __mips64__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001302// MIPS64EL:#define __mips__ 1
Simon Atanasyanddb2ad22013-10-18 13:13:53 +00001303// MIPS64EL:#define __mips_fpr 64
Simon Atanasyan7a521802012-04-06 08:37:24 +00001304// MIPS64EL:#define __mips_hard_float 1
1305// MIPS64EL:#define __mips_n64 1
1306// MIPS64EL:#define _mips 1
1307// MIPS64EL:#define mips 1
1308//
Simon Atanasyanaba3f0f2012-04-06 17:51:49 +00001309// Check MIPS float ABI macros
1310//
1311// RUN: %clang_cc1 -E -dM -ffreestanding \
1312// RUN: -triple=mips-none-none < /dev/null \
1313// RUN: | FileCheck -check-prefix MIPS-FABI-HARD %s
1314// MIPS-FABI-HARD:#define __mips_hard_float 1
1315//
1316// RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \
1317// RUN: -triple=mips-none-none < /dev/null \
1318// RUN: | FileCheck -check-prefix MIPS-FABI-SOFT %s
1319// MIPS-FABI-SOFT:#define __mips_soft_float 1
1320//
1321// RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \
1322// RUN: -triple=mips-none-none < /dev/null \
1323// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE %s
Simon Atanasyan3dbcc882012-06-05 13:06:56 +00001324// MIPS-FABI-SINGLE:#define __mips_hard_float 1
Simon Atanasyanaba3f0f2012-04-06 17:51:49 +00001325// MIPS-FABI-SINGLE:#define __mips_single_float 1
1326//
Simon Atanasyand96e3152013-04-14 14:07:30 +00001327// RUN: %clang_cc1 -target-feature +soft-float -target-feature +single-float \
1328// RUN: -E -dM -ffreestanding -triple=mips-none-none < /dev/null \
1329// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE-SOFT %s
1330// MIPS-FABI-SINGLE-SOFT:#define __mips_single_float 1
1331// MIPS-FABI-SINGLE-SOFT:#define __mips_soft_float 1
1332//
Simon Atanasyan1176bcd2012-07-05 16:06:06 +00001333// Check MIPS features macros
1334//
1335// RUN: %clang_cc1 -target-feature +mips16 \
1336// RUN: -E -dM -triple=mips-none-none < /dev/null \
1337// RUN: | FileCheck -check-prefix MIPS16 %s
1338// MIPS16:#define __mips16 1
1339//
1340// RUN: %clang_cc1 -target-feature -mips16 \
1341// RUN: -E -dM -triple=mips-none-none < /dev/null \
1342// RUN: | FileCheck -check-prefix NOMIPS16 %s
1343// NOMIPS16-NOT:#define __mips16 1
1344//
Simon Atanasyan321ae792013-04-14 14:07:51 +00001345// RUN: %clang_cc1 -target-feature +micromips \
1346// RUN: -E -dM -triple=mips-none-none < /dev/null \
1347// RUN: | FileCheck -check-prefix MICROMIPS %s
1348// MICROMIPS:#define __mips_micromips 1
1349//
1350// RUN: %clang_cc1 -target-feature -micromips \
1351// RUN: -E -dM -triple=mips-none-none < /dev/null \
1352// RUN: | FileCheck -check-prefix NOMICROMIPS %s
1353// NOMICROMIPS-NOT:#define __mips_micromips 1
1354//
Simon Atanasyana1b62272012-07-05 20:16:22 +00001355// RUN: %clang_cc1 -target-feature +dsp \
1356// RUN: -E -dM -triple=mips-none-none < /dev/null \
1357// RUN: | FileCheck -check-prefix MIPS-DSP %s
1358// MIPS-DSP:#define __mips_dsp 1
1359// MIPS-DSP:#define __mips_dsp_rev 1
1360// MIPS-DSP-NOT:#define __mips_dspr2 1
1361//
1362// RUN: %clang_cc1 -target-feature +dspr2 \
1363// RUN: -E -dM -triple=mips-none-none < /dev/null \
1364// RUN: | FileCheck -check-prefix MIPS-DSPR2 %s
1365// MIPS-DSPR2:#define __mips_dsp 1
1366// MIPS-DSPR2:#define __mips_dsp_rev 2
1367// MIPS-DSPR2:#define __mips_dspr2 1
1368//
Jack Carterc613b672013-08-12 17:20:29 +00001369// RUN: %clang_cc1 -target-feature +msa \
1370// RUN: -E -dM -triple=mips-none-none < /dev/null \
1371// RUN: | FileCheck -check-prefix MIPS-MSA %s
1372// MIPS-MSA:#define __mips_msa 1
1373//
Simon Atanasyanfc12c4a2013-09-24 09:09:16 +00001374// RUN: %clang_cc1 -target-feature +nan2008 \
1375// RUN: -E -dM -triple=mips-none-none < /dev/null \
1376// RUN: | FileCheck -check-prefix MIPS-NAN2008 %s
1377// MIPS-NAN2008:#define __mips_nan2008 1
1378//
Simon Atanasyanddb2ad22013-10-18 13:13:53 +00001379// RUN: %clang_cc1 -target-feature -fp64 \
1380// RUN: -E -dM -triple=mips-none-none < /dev/null \
1381// RUN: | FileCheck -check-prefix MIPS32-MFP32 %s
1382// MIPS32-MFP32:#define _MIPS_FPSET 16
1383// MIPS32-MFP32:#define __mips_fpr 32
1384//
1385// RUN: %clang_cc1 -target-feature +fp64 \
1386// RUN: -E -dM -triple=mips-none-none < /dev/null \
1387// RUN: | FileCheck -check-prefix MIPS32-MFP64 %s
1388// MIPS32-MFP64:#define _MIPS_FPSET 32
1389// MIPS32-MFP64:#define __mips_fpr 64
1390//
1391// RUN: %clang_cc1 -target-feature +single-float \
1392// RUN: -E -dM -triple=mips-none-none < /dev/null \
1393// RUN: | FileCheck -check-prefix MIPS32-MFP32SF %s
1394// MIPS32-MFP32SF:#define _MIPS_FPSET 32
1395// MIPS32-MFP32SF:#define __mips_fpr 32
1396//
1397// RUN: %clang_cc1 -target-feature +fp64 \
1398// RUN: -E -dM -triple=mips64-none-none < /dev/null \
1399// RUN: | FileCheck -check-prefix MIPS64-MFP64 %s
1400// MIPS64-MFP64:#define _MIPS_FPSET 32
1401// MIPS64-MFP64:#define __mips_fpr 64
1402//
1403// RUN: %clang_cc1 -target-feature -fp64 -target-feature +single-float \
1404// RUN: -E -dM -triple=mips64-none-none < /dev/null \
1405// RUN: | FileCheck -check-prefix MIPS64-NOMFP64 %s
1406// MIPS64-NOMFP64:#define _MIPS_FPSET 32
1407// MIPS64-NOMFP64:#define __mips_fpr 32
1408//
Daniel Dunbara5728872009-12-15 20:14:24 +00001409// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00001410//
1411// MSP430:#define MSP430 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001412// MSP430-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001413// MSP430:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00001414// MSP430:#define __CHAR16_TYPE__ unsigned short
1415// MSP430:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001416// MSP430:#define __CHAR_BIT__ 8
1417// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1418// MSP430:#define __DBL_DIG__ 15
1419// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
1420// MSP430:#define __DBL_HAS_DENORM__ 1
1421// MSP430:#define __DBL_HAS_INFINITY__ 1
1422// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
1423// MSP430:#define __DBL_MANT_DIG__ 53
1424// MSP430:#define __DBL_MAX_10_EXP__ 308
1425// MSP430:#define __DBL_MAX_EXP__ 1024
1426// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
1427// MSP430:#define __DBL_MIN_10_EXP__ (-307)
1428// MSP430:#define __DBL_MIN_EXP__ (-1021)
1429// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
1430// MSP430:#define __DECIMAL_DIG__ 17
1431// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1432// MSP430:#define __FLT_DIG__ 6
1433// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
1434// MSP430:#define __FLT_EVAL_METHOD__ 0
1435// MSP430:#define __FLT_HAS_DENORM__ 1
1436// MSP430:#define __FLT_HAS_INFINITY__ 1
1437// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
1438// MSP430:#define __FLT_MANT_DIG__ 24
1439// MSP430:#define __FLT_MAX_10_EXP__ 38
1440// MSP430:#define __FLT_MAX_EXP__ 128
1441// MSP430:#define __FLT_MAX__ 3.40282347e+38F
1442// MSP430:#define __FLT_MIN_10_EXP__ (-37)
1443// MSP430:#define __FLT_MIN_EXP__ (-125)
1444// MSP430:#define __FLT_MIN__ 1.17549435e-38F
1445// MSP430:#define __FLT_RADIX__ 2
1446// MSP430:#define __INT16_TYPE__ short
Ken Dyckeef22ef2009-11-16 16:36:33 +00001447// MSP430:#define __INT32_C_SUFFIX__ L
Chris Lattnerdcdd2a02009-11-12 08:08:27 +00001448// MSP430:#define __INT32_TYPE__ long int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001449// MSP430:#define __INT8_TYPE__ char
Anton Korobeynikov18a295d2013-07-01 19:42:40 +00001450// MSP430:#define __INTMAX_MAX__ 9223372036854775807LL
1451// MSP430:#define __INTMAX_TYPE__ long long int
1452// MSP430:#define __INTMAX_WIDTH__ 64
1453// MSP430:#define __INTPTR_TYPE__ int
Ken Dyckd896e1a2009-11-18 20:05:48 +00001454// MSP430:#define __INTPTR_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +00001455// MSP430:#define __INT_MAX__ 32767
Eli Friedman75e8efe2012-11-10 00:20:38 +00001456// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001457// MSP430:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00001458// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001459// MSP430:#define __LDBL_HAS_DENORM__ 1
1460// MSP430:#define __LDBL_HAS_INFINITY__ 1
1461// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
1462// MSP430:#define __LDBL_MANT_DIG__ 53
1463// MSP430:#define __LDBL_MAX_10_EXP__ 308
1464// MSP430:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00001465// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001466// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
1467// MSP430:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00001468// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikov79bff432010-01-14 21:36:52 +00001469// MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
Chris Lattnerbceaf862009-10-29 04:55:36 +00001470// MSP430:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001471// MSP430-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +00001472// MSP430:#define __MSP430__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00001473// MSP430:#define __POINTER_WIDTH__ 16
Ken Dyck8241d732009-11-19 13:18:59 +00001474// MSP430:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +00001475// MSP430:#define __PTRDIFF_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +00001476// MSP430:#define __SCHAR_MAX__ 127
1477// MSP430:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00001478// MSP430:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00001479// MSP430:#define __SIZEOF_DOUBLE__ 8
1480// MSP430:#define __SIZEOF_FLOAT__ 4
1481// MSP430:#define __SIZEOF_INT__ 2
1482// MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
1483// MSP430:#define __SIZEOF_LONG_LONG__ 8
1484// MSP430:#define __SIZEOF_LONG__ 4
1485// MSP430:#define __SIZEOF_POINTER__ 2
1486// MSP430:#define __SIZEOF_PTRDIFF_T__ 2
1487// MSP430:#define __SIZEOF_SHORT__ 2
1488// MSP430:#define __SIZEOF_SIZE_T__ 2
1489// MSP430:#define __SIZEOF_WCHAR_T__ 2
1490// MSP430:#define __SIZEOF_WINT_T__ 2
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001491// MSP430:#define __SIZE_MAX__ 65535U
Chris Lattnerbceaf862009-10-29 04:55:36 +00001492// MSP430:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00001493// MSP430:#define __SIZE_WIDTH__ 16
Anton Korobeynikov18a295d2013-07-01 19:42:40 +00001494// MSP430:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001495// MSP430:#define __USER_LABEL_PREFIX__ _
Chris Lattner91846462009-11-12 08:04:33 +00001496// MSP430:#define __WCHAR_MAX__ 32767
Chris Lattnerbceaf862009-10-29 04:55:36 +00001497// MSP430:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001498// MSP430:#define __WCHAR_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +00001499// MSP430:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001500// MSP430:#define __WINT_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +00001501// MSP430:#define __clang__ 1
1502//
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001503// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s
1504//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001505// NVPTX32-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001506// NVPTX32:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001507// NVPTX32:#define __CHAR16_TYPE__ unsigned short
1508// NVPTX32:#define __CHAR32_TYPE__ unsigned int
1509// NVPTX32:#define __CHAR_BIT__ 8
1510// NVPTX32:#define __CONSTANT_CFSTRINGS__ 1
1511// NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1512// NVPTX32:#define __DBL_DIG__ 15
1513// NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16
1514// NVPTX32:#define __DBL_HAS_DENORM__ 1
1515// NVPTX32:#define __DBL_HAS_INFINITY__ 1
1516// NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1
1517// NVPTX32:#define __DBL_MANT_DIG__ 53
1518// NVPTX32:#define __DBL_MAX_10_EXP__ 308
1519// NVPTX32:#define __DBL_MAX_EXP__ 1024
1520// NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308
1521// NVPTX32:#define __DBL_MIN_10_EXP__ (-307)
1522// NVPTX32:#define __DBL_MIN_EXP__ (-1021)
1523// NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308
1524// NVPTX32:#define __DECIMAL_DIG__ 17
1525// NVPTX32:#define __FINITE_MATH_ONLY__ 0
1526// NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1527// NVPTX32:#define __FLT_DIG__ 6
1528// NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F
1529// NVPTX32:#define __FLT_EVAL_METHOD__ 0
1530// NVPTX32:#define __FLT_HAS_DENORM__ 1
1531// NVPTX32:#define __FLT_HAS_INFINITY__ 1
1532// NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1
1533// NVPTX32:#define __FLT_MANT_DIG__ 24
1534// NVPTX32:#define __FLT_MAX_10_EXP__ 38
1535// NVPTX32:#define __FLT_MAX_EXP__ 128
1536// NVPTX32:#define __FLT_MAX__ 3.40282347e+38F
1537// NVPTX32:#define __FLT_MIN_10_EXP__ (-37)
1538// NVPTX32:#define __FLT_MIN_EXP__ (-125)
1539// NVPTX32:#define __FLT_MIN__ 1.17549435e-38F
1540// NVPTX32:#define __FLT_RADIX__ 2
1541// NVPTX32:#define __INT16_TYPE__ short
1542// NVPTX32:#define __INT32_TYPE__ int
1543// NVPTX32:#define __INT64_C_SUFFIX__ LL
1544// NVPTX32:#define __INT64_TYPE__ long long int
1545// NVPTX32:#define __INT8_TYPE__ char
1546// NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL
1547// NVPTX32:#define __INTMAX_TYPE__ long long int
1548// NVPTX32:#define __INTMAX_WIDTH__ 64
1549// NVPTX32:#define __INTPTR_TYPE__ unsigned int
1550// NVPTX32:#define __INTPTR_WIDTH__ 32
1551// NVPTX32:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00001552// NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001553// NVPTX32:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00001554// NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001555// NVPTX32:#define __LDBL_HAS_DENORM__ 1
1556// NVPTX32:#define __LDBL_HAS_INFINITY__ 1
1557// NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1
1558// NVPTX32:#define __LDBL_MANT_DIG__ 53
1559// NVPTX32:#define __LDBL_MAX_10_EXP__ 308
1560// NVPTX32:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00001561// NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001562// NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
1563// NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00001564// NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001565// NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL
1566// NVPTX32:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001567// NVPTX32-NOT:#define __LP64__
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001568// NVPTX32:#define __NVPTX__ 1
1569// NVPTX32:#define __POINTER_WIDTH__ 32
1570// NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1
1571// NVPTX32:#define __PTRDIFF_TYPE__ unsigned int
1572// NVPTX32:#define __PTRDIFF_WIDTH__ 32
1573// NVPTX32:#define __PTX__ 1
1574// NVPTX32:#define __SCHAR_MAX__ 127
1575// NVPTX32:#define __SHRT_MAX__ 32767
1576// NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32
1577// NVPTX32:#define __SIZEOF_DOUBLE__ 8
1578// NVPTX32:#define __SIZEOF_FLOAT__ 4
1579// NVPTX32:#define __SIZEOF_INT__ 4
1580// NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8
1581// NVPTX32:#define __SIZEOF_LONG_LONG__ 8
1582// NVPTX32:#define __SIZEOF_LONG__ 8
1583// NVPTX32:#define __SIZEOF_POINTER__ 4
1584// NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4
1585// NVPTX32:#define __SIZEOF_SHORT__ 2
1586// NVPTX32:#define __SIZEOF_SIZE_T__ 4
1587// NVPTX32:#define __SIZEOF_WCHAR_T__ 4
1588// NVPTX32:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001589// NVPTX32:#define __SIZE_MAX__ 4294967295U
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001590// NVPTX32:#define __SIZE_TYPE__ unsigned int
1591// NVPTX32:#define __SIZE_WIDTH__ 32
1592// NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int
1593// NVPTX32:#define __USER_LABEL_PREFIX__ _
1594// NVPTX32:#define __WCHAR_MAX__ 2147483647
1595// NVPTX32:#define __WCHAR_TYPE__ int
1596// NVPTX32:#define __WCHAR_WIDTH__ 32
1597// NVPTX32:#define __WINT_TYPE__ int
1598// NVPTX32:#define __WINT_WIDTH__ 32
1599//
1600// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -check-prefix NVPTX64 %s
1601//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001602// NVPTX64:#define _LP64 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001603// NVPTX64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001604// NVPTX64:#define __CHAR16_TYPE__ unsigned short
1605// NVPTX64:#define __CHAR32_TYPE__ unsigned int
1606// NVPTX64:#define __CHAR_BIT__ 8
1607// NVPTX64:#define __CONSTANT_CFSTRINGS__ 1
1608// NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1609// NVPTX64:#define __DBL_DIG__ 15
1610// NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1611// NVPTX64:#define __DBL_HAS_DENORM__ 1
1612// NVPTX64:#define __DBL_HAS_INFINITY__ 1
1613// NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1
1614// NVPTX64:#define __DBL_MANT_DIG__ 53
1615// NVPTX64:#define __DBL_MAX_10_EXP__ 308
1616// NVPTX64:#define __DBL_MAX_EXP__ 1024
1617// NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308
1618// NVPTX64:#define __DBL_MIN_10_EXP__ (-307)
1619// NVPTX64:#define __DBL_MIN_EXP__ (-1021)
1620// NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308
1621// NVPTX64:#define __DECIMAL_DIG__ 17
1622// NVPTX64:#define __FINITE_MATH_ONLY__ 0
1623// NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1624// NVPTX64:#define __FLT_DIG__ 6
1625// NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F
1626// NVPTX64:#define __FLT_EVAL_METHOD__ 0
1627// NVPTX64:#define __FLT_HAS_DENORM__ 1
1628// NVPTX64:#define __FLT_HAS_INFINITY__ 1
1629// NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1
1630// NVPTX64:#define __FLT_MANT_DIG__ 24
1631// NVPTX64:#define __FLT_MAX_10_EXP__ 38
1632// NVPTX64:#define __FLT_MAX_EXP__ 128
1633// NVPTX64:#define __FLT_MAX__ 3.40282347e+38F
1634// NVPTX64:#define __FLT_MIN_10_EXP__ (-37)
1635// NVPTX64:#define __FLT_MIN_EXP__ (-125)
1636// NVPTX64:#define __FLT_MIN__ 1.17549435e-38F
1637// NVPTX64:#define __FLT_RADIX__ 2
1638// NVPTX64:#define __INT16_TYPE__ short
1639// NVPTX64:#define __INT32_TYPE__ int
1640// NVPTX64:#define __INT64_C_SUFFIX__ LL
1641// NVPTX64:#define __INT64_TYPE__ long long int
1642// NVPTX64:#define __INT8_TYPE__ char
1643// NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL
1644// NVPTX64:#define __INTMAX_TYPE__ long long int
1645// NVPTX64:#define __INTMAX_WIDTH__ 64
1646// NVPTX64:#define __INTPTR_TYPE__ long long unsigned int
1647// NVPTX64:#define __INTPTR_WIDTH__ 64
1648// NVPTX64:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00001649// NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001650// NVPTX64:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00001651// NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001652// NVPTX64:#define __LDBL_HAS_DENORM__ 1
1653// NVPTX64:#define __LDBL_HAS_INFINITY__ 1
1654// NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1
1655// NVPTX64:#define __LDBL_MANT_DIG__ 53
1656// NVPTX64:#define __LDBL_MAX_10_EXP__ 308
1657// NVPTX64:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00001658// NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001659// NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
1660// NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00001661// NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001662// NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1663// NVPTX64:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001664// NVPTX64:#define __LP64__ 1
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001665// NVPTX64:#define __NVPTX__ 1
1666// NVPTX64:#define __POINTER_WIDTH__ 64
1667// NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1
1668// NVPTX64:#define __PTRDIFF_TYPE__ long long unsigned int
1669// NVPTX64:#define __PTRDIFF_WIDTH__ 64
1670// NVPTX64:#define __PTX__ 1
1671// NVPTX64:#define __SCHAR_MAX__ 127
1672// NVPTX64:#define __SHRT_MAX__ 32767
1673// NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32
1674// NVPTX64:#define __SIZEOF_DOUBLE__ 8
1675// NVPTX64:#define __SIZEOF_FLOAT__ 4
1676// NVPTX64:#define __SIZEOF_INT__ 4
1677// NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8
1678// NVPTX64:#define __SIZEOF_LONG_LONG__ 8
1679// NVPTX64:#define __SIZEOF_LONG__ 8
1680// NVPTX64:#define __SIZEOF_POINTER__ 8
1681// NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8
1682// NVPTX64:#define __SIZEOF_SHORT__ 2
1683// NVPTX64:#define __SIZEOF_SIZE_T__ 8
1684// NVPTX64:#define __SIZEOF_WCHAR_T__ 4
1685// NVPTX64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001686// NVPTX64:#define __SIZE_MAX__ 18446744073709551615UL
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001687// NVPTX64:#define __SIZE_TYPE__ long long unsigned int
1688// NVPTX64:#define __SIZE_WIDTH__ 64
1689// NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int
1690// NVPTX64:#define __USER_LABEL_PREFIX__ _
1691// NVPTX64:#define __WCHAR_MAX__ 2147483647
1692// NVPTX64:#define __WCHAR_TYPE__ int
1693// NVPTX64:#define __WCHAR_WIDTH__ 32
1694// NVPTX64:#define __WINT_TYPE__ int
1695// NVPTX64:#define __WINT_WIDTH__ 32
1696//
Hal Finkel39d5fa12012-07-03 16:51:04 +00001697// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -check-prefix PPC603E %s
1698//
1699// PPC603E:#define _ARCH_603 1
1700// PPC603E:#define _ARCH_603E 1
1701// PPC603E:#define _ARCH_PPC 1
1702// PPC603E:#define _ARCH_PPCGR 1
1703// PPC603E:#define _BIG_ENDIAN 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001704// PPC603E-NOT:#define _LP64
Hal Finkel39d5fa12012-07-03 16:51:04 +00001705// PPC603E:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001706// PPC603E:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Hal Finkel39d5fa12012-07-03 16:51:04 +00001707// PPC603E:#define __CHAR16_TYPE__ unsigned short
1708// PPC603E:#define __CHAR32_TYPE__ unsigned int
1709// PPC603E:#define __CHAR_BIT__ 8
1710// PPC603E:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1711// PPC603E:#define __DBL_DIG__ 15
1712// PPC603E:#define __DBL_EPSILON__ 2.2204460492503131e-16
1713// PPC603E:#define __DBL_HAS_DENORM__ 1
1714// PPC603E:#define __DBL_HAS_INFINITY__ 1
1715// PPC603E:#define __DBL_HAS_QUIET_NAN__ 1
1716// PPC603E:#define __DBL_MANT_DIG__ 53
1717// PPC603E:#define __DBL_MAX_10_EXP__ 308
1718// PPC603E:#define __DBL_MAX_EXP__ 1024
1719// PPC603E:#define __DBL_MAX__ 1.7976931348623157e+308
1720// PPC603E:#define __DBL_MIN_10_EXP__ (-307)
1721// PPC603E:#define __DBL_MIN_EXP__ (-1021)
1722// PPC603E:#define __DBL_MIN__ 2.2250738585072014e-308
1723// PPC603E:#define __DECIMAL_DIG__ 33
1724// PPC603E:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1725// PPC603E:#define __FLT_DIG__ 6
1726// PPC603E:#define __FLT_EPSILON__ 1.19209290e-7F
1727// PPC603E:#define __FLT_EVAL_METHOD__ 0
1728// PPC603E:#define __FLT_HAS_DENORM__ 1
1729// PPC603E:#define __FLT_HAS_INFINITY__ 1
1730// PPC603E:#define __FLT_HAS_QUIET_NAN__ 1
1731// PPC603E:#define __FLT_MANT_DIG__ 24
1732// PPC603E:#define __FLT_MAX_10_EXP__ 38
1733// PPC603E:#define __FLT_MAX_EXP__ 128
1734// PPC603E:#define __FLT_MAX__ 3.40282347e+38F
1735// PPC603E:#define __FLT_MIN_10_EXP__ (-37)
1736// PPC603E:#define __FLT_MIN_EXP__ (-125)
1737// PPC603E:#define __FLT_MIN__ 1.17549435e-38F
1738// PPC603E:#define __FLT_RADIX__ 2
1739// PPC603E:#define __INT16_TYPE__ short
1740// PPC603E:#define __INT32_TYPE__ int
1741// PPC603E:#define __INT64_C_SUFFIX__ LL
1742// PPC603E:#define __INT64_TYPE__ long long int
1743// PPC603E:#define __INT8_TYPE__ char
1744// PPC603E:#define __INTMAX_MAX__ 9223372036854775807LL
1745// PPC603E:#define __INTMAX_TYPE__ long long int
1746// PPC603E:#define __INTMAX_WIDTH__ 64
1747// PPC603E:#define __INTPTR_TYPE__ long int
1748// PPC603E:#define __INTPTR_WIDTH__ 32
1749// PPC603E:#define __INT_MAX__ 2147483647
1750// PPC603E:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1751// PPC603E:#define __LDBL_DIG__ 31
1752// PPC603E:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1753// PPC603E:#define __LDBL_HAS_DENORM__ 1
1754// PPC603E:#define __LDBL_HAS_INFINITY__ 1
1755// PPC603E:#define __LDBL_HAS_QUIET_NAN__ 1
1756// PPC603E:#define __LDBL_MANT_DIG__ 106
1757// PPC603E:#define __LDBL_MAX_10_EXP__ 308
1758// PPC603E:#define __LDBL_MAX_EXP__ 1024
1759// PPC603E:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1760// PPC603E:#define __LDBL_MIN_10_EXP__ (-291)
1761// PPC603E:#define __LDBL_MIN_EXP__ (-968)
1762// PPC603E:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1763// PPC603E:#define __LONG_DOUBLE_128__ 1
1764// PPC603E:#define __LONG_LONG_MAX__ 9223372036854775807LL
1765// PPC603E:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001766// PPC603E-NOT:#define __LP64__
Hal Finkel39d5fa12012-07-03 16:51:04 +00001767// PPC603E:#define __NATURAL_ALIGNMENT__ 1
Hal Finkel39d5fa12012-07-03 16:51:04 +00001768// PPC603E:#define __POINTER_WIDTH__ 32
1769// PPC603E:#define __POWERPC__ 1
Chandler Carruthc6fa1152013-06-25 11:13:47 +00001770// PPC603E:#define __PPC__ 1
Hal Finkel39d5fa12012-07-03 16:51:04 +00001771// PPC603E:#define __PTRDIFF_TYPE__ long int
1772// PPC603E:#define __PTRDIFF_WIDTH__ 32
1773// PPC603E:#define __REGISTER_PREFIX__
1774// PPC603E:#define __SCHAR_MAX__ 127
1775// PPC603E:#define __SHRT_MAX__ 32767
1776// PPC603E:#define __SIG_ATOMIC_WIDTH__ 32
1777// PPC603E:#define __SIZEOF_DOUBLE__ 8
1778// PPC603E:#define __SIZEOF_FLOAT__ 4
1779// PPC603E:#define __SIZEOF_INT__ 4
1780// PPC603E:#define __SIZEOF_LONG_DOUBLE__ 16
1781// PPC603E:#define __SIZEOF_LONG_LONG__ 8
1782// PPC603E:#define __SIZEOF_LONG__ 4
1783// PPC603E:#define __SIZEOF_POINTER__ 4
1784// PPC603E:#define __SIZEOF_PTRDIFF_T__ 4
1785// PPC603E:#define __SIZEOF_SHORT__ 2
1786// PPC603E:#define __SIZEOF_SIZE_T__ 4
1787// PPC603E:#define __SIZEOF_WCHAR_T__ 4
1788// PPC603E:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001789// PPC603E:#define __SIZE_MAX__ 4294967295U
Hal Finkel39d5fa12012-07-03 16:51:04 +00001790// PPC603E:#define __SIZE_TYPE__ long unsigned int
1791// PPC603E:#define __SIZE_WIDTH__ 32
1792// PPC603E:#define __UINTMAX_TYPE__ long long unsigned int
1793// PPC603E:#define __USER_LABEL_PREFIX__ _
1794// PPC603E:#define __WCHAR_MAX__ 2147483647
1795// PPC603E:#define __WCHAR_TYPE__ int
1796// PPC603E:#define __WCHAR_WIDTH__ 32
1797// PPC603E:#define __WINT_TYPE__ int
1798// PPC603E:#define __WINT_WIDTH__ 32
1799// PPC603E:#define __powerpc__ 1
1800// PPC603E:#define __ppc__ 1
1801//
Hal Finkel02a84272012-06-11 22:35:19 +00001802// 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 +00001803//
1804// PPC64:#define _ARCH_PPC 1
1805// PPC64:#define _ARCH_PPC64 1
Hal Finkel39d5fa12012-07-03 16:51:04 +00001806// PPC64:#define _ARCH_PPCGR 1
1807// PPC64:#define _ARCH_PPCSQ 1
1808// PPC64:#define _ARCH_PWR4 1
1809// PPC64:#define _ARCH_PWR5 1
1810// PPC64:#define _ARCH_PWR6 1
Hal Finkel02a84272012-06-11 22:35:19 +00001811// PPC64:#define _ARCH_PWR7 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00001812// PPC64:#define _BIG_ENDIAN 1
1813// PPC64:#define _LP64 1
1814// PPC64:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001815// PPC64:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00001816// PPC64:#define __CHAR16_TYPE__ unsigned short
1817// PPC64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001818// PPC64:#define __CHAR_BIT__ 8
1819// PPC64:#define __CHAR_UNSIGNED__ 1
1820// PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1821// PPC64:#define __DBL_DIG__ 15
1822// PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1823// PPC64:#define __DBL_HAS_DENORM__ 1
1824// PPC64:#define __DBL_HAS_INFINITY__ 1
1825// PPC64:#define __DBL_HAS_QUIET_NAN__ 1
1826// PPC64:#define __DBL_MANT_DIG__ 53
1827// PPC64:#define __DBL_MAX_10_EXP__ 308
1828// PPC64:#define __DBL_MAX_EXP__ 1024
1829// PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
1830// PPC64:#define __DBL_MIN_10_EXP__ (-307)
1831// PPC64:#define __DBL_MIN_EXP__ (-1021)
1832// PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001833// PPC64:#define __DECIMAL_DIG__ 33
Chris Lattnerbceaf862009-10-29 04:55:36 +00001834// PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1835// PPC64:#define __FLT_DIG__ 6
1836// PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
1837// PPC64:#define __FLT_EVAL_METHOD__ 0
1838// PPC64:#define __FLT_HAS_DENORM__ 1
1839// PPC64:#define __FLT_HAS_INFINITY__ 1
1840// PPC64:#define __FLT_HAS_QUIET_NAN__ 1
1841// PPC64:#define __FLT_MANT_DIG__ 24
1842// PPC64:#define __FLT_MAX_10_EXP__ 38
1843// PPC64:#define __FLT_MAX_EXP__ 128
1844// PPC64:#define __FLT_MAX__ 3.40282347e+38F
1845// PPC64:#define __FLT_MIN_10_EXP__ (-37)
1846// PPC64:#define __FLT_MIN_EXP__ (-125)
1847// PPC64:#define __FLT_MIN__ 1.17549435e-38F
1848// PPC64:#define __FLT_RADIX__ 2
1849// PPC64:#define __INT16_TYPE__ short
1850// PPC64:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00001851// PPC64:#define __INT64_C_SUFFIX__ L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001852// PPC64:#define __INT64_TYPE__ long int
1853// PPC64:#define __INT8_TYPE__ char
1854// PPC64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck8241d732009-11-19 13:18:59 +00001855// PPC64:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00001856// PPC64:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001857// PPC64:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00001858// PPC64:#define __INTPTR_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001859// PPC64:#define __INT_MAX__ 2147483647
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001860// PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1861// PPC64:#define __LDBL_DIG__ 31
1862// PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001863// PPC64:#define __LDBL_HAS_DENORM__ 1
1864// PPC64:#define __LDBL_HAS_INFINITY__ 1
1865// PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001866// PPC64:#define __LDBL_MANT_DIG__ 106
Chris Lattnerbceaf862009-10-29 04:55:36 +00001867// PPC64:#define __LDBL_MAX_10_EXP__ 308
1868// PPC64:#define __LDBL_MAX_EXP__ 1024
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001869// PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1870// PPC64:#define __LDBL_MIN_10_EXP__ (-291)
1871// PPC64:#define __LDBL_MIN_EXP__ (-968)
1872// PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001873// PPC64:#define __LONG_DOUBLE_128__ 1
1874// PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1875// PPC64:#define __LONG_MAX__ 9223372036854775807L
1876// PPC64:#define __LP64__ 1
1877// PPC64:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00001878// PPC64:#define __POINTER_WIDTH__ 64
1879// PPC64:#define __POWERPC__ 1
Chandler Carruthc6fa1152013-06-25 11:13:47 +00001880// PPC64:#define __PPC64__ 1
1881// PPC64:#define __PPC__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00001882// PPC64:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00001883// PPC64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001884// PPC64:#define __REGISTER_PREFIX__
1885// PPC64:#define __SCHAR_MAX__ 127
1886// PPC64:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00001887// PPC64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00001888// PPC64:#define __SIZEOF_DOUBLE__ 8
1889// PPC64:#define __SIZEOF_FLOAT__ 4
1890// PPC64:#define __SIZEOF_INT__ 4
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001891// PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohmancfeac342010-05-28 00:27:15 +00001892// PPC64:#define __SIZEOF_LONG_LONG__ 8
1893// PPC64:#define __SIZEOF_LONG__ 8
1894// PPC64:#define __SIZEOF_POINTER__ 8
1895// PPC64:#define __SIZEOF_PTRDIFF_T__ 8
1896// PPC64:#define __SIZEOF_SHORT__ 2
1897// PPC64:#define __SIZEOF_SIZE_T__ 8
1898// PPC64:#define __SIZEOF_WCHAR_T__ 4
1899// PPC64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001900// PPC64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnerbceaf862009-10-29 04:55:36 +00001901// PPC64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00001902// PPC64:#define __SIZE_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001903// PPC64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001904// PPC64:#define __USER_LABEL_PREFIX__ _
1905// PPC64:#define __WCHAR_MAX__ 2147483647
1906// PPC64:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001907// PPC64:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001908// PPC64:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001909// PPC64:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001910// PPC64:#define __ppc64__ 1
1911// PPC64:#define __ppc__ 1
1912//
Bill Schmidtea7fb0c2013-07-26 01:36:11 +00001913// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64LE %s
1914//
1915// PPC64LE:#define _ARCH_PPC 1
1916// PPC64LE:#define _ARCH_PPC64 1
1917// PPC64LE:#define _ARCH_PPCGR 1
1918// PPC64LE:#define _ARCH_PPCSQ 1
1919// PPC64LE:#define _ARCH_PWR4 1
1920// PPC64LE:#define _ARCH_PWR5 1
1921// PPC64LE:#define _ARCH_PWR5X 1
1922// PPC64LE:#define _ARCH_PWR6 1
1923// PPC64LE:#define _ARCH_PWR6X 1
1924// PPC64LE:#define _ARCH_PWR7 1
1925// PPC64LE:#define _LITTLE_ENDIAN 1
1926// PPC64LE:#define _LP64 1
1927// PPC64LE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1928// PPC64LE:#define __CHAR16_TYPE__ unsigned short
1929// PPC64LE:#define __CHAR32_TYPE__ unsigned int
1930// PPC64LE:#define __CHAR_BIT__ 8
1931// PPC64LE:#define __CHAR_UNSIGNED__ 1
1932// PPC64LE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1933// PPC64LE:#define __DBL_DIG__ 15
1934// PPC64LE:#define __DBL_EPSILON__ 2.2204460492503131e-16
1935// PPC64LE:#define __DBL_HAS_DENORM__ 1
1936// PPC64LE:#define __DBL_HAS_INFINITY__ 1
1937// PPC64LE:#define __DBL_HAS_QUIET_NAN__ 1
1938// PPC64LE:#define __DBL_MANT_DIG__ 53
1939// PPC64LE:#define __DBL_MAX_10_EXP__ 308
1940// PPC64LE:#define __DBL_MAX_EXP__ 1024
1941// PPC64LE:#define __DBL_MAX__ 1.7976931348623157e+308
1942// PPC64LE:#define __DBL_MIN_10_EXP__ (-307)
1943// PPC64LE:#define __DBL_MIN_EXP__ (-1021)
1944// PPC64LE:#define __DBL_MIN__ 2.2250738585072014e-308
1945// PPC64LE:#define __DECIMAL_DIG__ 33
1946// PPC64LE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1947// PPC64LE:#define __FLT_DIG__ 6
1948// PPC64LE:#define __FLT_EPSILON__ 1.19209290e-7F
1949// PPC64LE:#define __FLT_EVAL_METHOD__ 0
1950// PPC64LE:#define __FLT_HAS_DENORM__ 1
1951// PPC64LE:#define __FLT_HAS_INFINITY__ 1
1952// PPC64LE:#define __FLT_HAS_QUIET_NAN__ 1
1953// PPC64LE:#define __FLT_MANT_DIG__ 24
1954// PPC64LE:#define __FLT_MAX_10_EXP__ 38
1955// PPC64LE:#define __FLT_MAX_EXP__ 128
1956// PPC64LE:#define __FLT_MAX__ 3.40282347e+38F
1957// PPC64LE:#define __FLT_MIN_10_EXP__ (-37)
1958// PPC64LE:#define __FLT_MIN_EXP__ (-125)
1959// PPC64LE:#define __FLT_MIN__ 1.17549435e-38F
1960// PPC64LE:#define __FLT_RADIX__ 2
1961// PPC64LE:#define __INT16_TYPE__ short
1962// PPC64LE:#define __INT32_TYPE__ int
1963// PPC64LE:#define __INT64_C_SUFFIX__ L
1964// PPC64LE:#define __INT64_TYPE__ long int
1965// PPC64LE:#define __INT8_TYPE__ char
1966// PPC64LE:#define __INTMAX_MAX__ 9223372036854775807L
1967// PPC64LE:#define __INTMAX_TYPE__ long int
1968// PPC64LE:#define __INTMAX_WIDTH__ 64
1969// PPC64LE:#define __INTPTR_TYPE__ long int
1970// PPC64LE:#define __INTPTR_WIDTH__ 64
1971// PPC64LE:#define __INT_MAX__ 2147483647
1972// PPC64LE:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1973// PPC64LE:#define __LDBL_DIG__ 31
1974// PPC64LE:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1975// PPC64LE:#define __LDBL_HAS_DENORM__ 1
1976// PPC64LE:#define __LDBL_HAS_INFINITY__ 1
1977// PPC64LE:#define __LDBL_HAS_QUIET_NAN__ 1
1978// PPC64LE:#define __LDBL_MANT_DIG__ 106
1979// PPC64LE:#define __LDBL_MAX_10_EXP__ 308
1980// PPC64LE:#define __LDBL_MAX_EXP__ 1024
1981// PPC64LE:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1982// PPC64LE:#define __LDBL_MIN_10_EXP__ (-291)
1983// PPC64LE:#define __LDBL_MIN_EXP__ (-968)
1984// PPC64LE:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1985// PPC64LE:#define __LITTLE_ENDIAN__ 1
1986// PPC64LE:#define __LONG_DOUBLE_128__ 1
1987// PPC64LE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1988// PPC64LE:#define __LONG_MAX__ 9223372036854775807L
1989// PPC64LE:#define __LP64__ 1
1990// PPC64LE:#define __NATURAL_ALIGNMENT__ 1
1991// PPC64LE:#define __POINTER_WIDTH__ 64
1992// PPC64LE:#define __POWERPC__ 1
1993// PPC64LE:#define __PPC64__ 1
1994// PPC64LE:#define __PPC__ 1
1995// PPC64LE:#define __PTRDIFF_TYPE__ long int
1996// PPC64LE:#define __PTRDIFF_WIDTH__ 64
1997// PPC64LE:#define __REGISTER_PREFIX__
1998// PPC64LE:#define __SCHAR_MAX__ 127
1999// PPC64LE:#define __SHRT_MAX__ 32767
2000// PPC64LE:#define __SIG_ATOMIC_WIDTH__ 32
2001// PPC64LE:#define __SIZEOF_DOUBLE__ 8
2002// PPC64LE:#define __SIZEOF_FLOAT__ 4
2003// PPC64LE:#define __SIZEOF_INT__ 4
2004// PPC64LE:#define __SIZEOF_LONG_DOUBLE__ 16
2005// PPC64LE:#define __SIZEOF_LONG_LONG__ 8
2006// PPC64LE:#define __SIZEOF_LONG__ 8
2007// PPC64LE:#define __SIZEOF_POINTER__ 8
2008// PPC64LE:#define __SIZEOF_PTRDIFF_T__ 8
2009// PPC64LE:#define __SIZEOF_SHORT__ 2
2010// PPC64LE:#define __SIZEOF_SIZE_T__ 8
2011// PPC64LE:#define __SIZEOF_WCHAR_T__ 4
2012// PPC64LE:#define __SIZEOF_WINT_T__ 4
2013// PPC64LE:#define __SIZE_MAX__ 18446744073709551615UL
2014// PPC64LE:#define __SIZE_TYPE__ long unsigned int
2015// PPC64LE:#define __SIZE_WIDTH__ 64
2016// PPC64LE:#define __UINTMAX_TYPE__ long unsigned int
2017// PPC64LE:#define __USER_LABEL_PREFIX__ _
2018// PPC64LE:#define __WCHAR_MAX__ 2147483647
2019// PPC64LE:#define __WCHAR_TYPE__ int
2020// PPC64LE:#define __WCHAR_WIDTH__ 32
2021// PPC64LE:#define __WINT_TYPE__ int
2022// PPC64LE:#define __WINT_WIDTH__ 32
2023// PPC64LE:#define __ppc64__ 1
2024// PPC64LE:#define __ppc__ 1
2025//
Hal Finkel5ccd3d02013-02-01 05:53:33 +00002026// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu a2q -fno-signed-char < /dev/null | FileCheck -check-prefix PPCA2Q %s
2027//
2028// PPCA2Q:#define _ARCH_A2 1
2029// PPCA2Q:#define _ARCH_A2Q 1
2030// PPCA2Q:#define _ARCH_PPC 1
2031// PPCA2Q:#define _ARCH_PPC64 1
2032// PPCA2Q:#define _ARCH_QP 1
2033//
2034// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-bgq-linux -fno-signed-char < /dev/null | FileCheck -check-prefix PPCBGQ %s
2035//
2036// PPCBGQ:#define __THW_BLUEGENE__ 1
2037// PPCBGQ:#define __TOS_BGQ__ 1
2038// PPCBGQ:#define __bg__ 1
2039// PPCBGQ:#define __bgq__ 1
2040//
Bill Schmidt2821e182013-02-01 20:23:10 +00002041// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu 630 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC630 %s
2042//
2043// PPC630:#define _ARCH_630 1
2044// PPC630:#define _ARCH_PPC 1
2045// PPC630:#define _ARCH_PPC64 1
2046// PPC630:#define _ARCH_PPCGR 1
2047//
2048// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR3 %s
2049//
2050// PPCPWR3:#define _ARCH_PPC 1
2051// PPCPWR3:#define _ARCH_PPC64 1
2052// PPCPWR3:#define _ARCH_PPCGR 1
2053//
2054// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER3 %s
2055//
2056// PPCPOWER3:#define _ARCH_PPC 1
2057// PPCPOWER3:#define _ARCH_PPC64 1
2058// PPCPOWER3:#define _ARCH_PPCGR 1
2059//
2060// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR4 %s
2061//
2062// PPCPWR4:#define _ARCH_PPC 1
2063// PPCPWR4:#define _ARCH_PPC64 1
2064// PPCPWR4:#define _ARCH_PPCGR 1
2065// PPCPWR4:#define _ARCH_PPCSQ 1
2066// PPCPWR4:#define _ARCH_PWR4 1
2067//
2068// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER4 %s
2069//
2070// PPCPOWER4:#define _ARCH_PPC 1
2071// PPCPOWER4:#define _ARCH_PPC64 1
2072// PPCPOWER4:#define _ARCH_PPCGR 1
2073// PPCPOWER4:#define _ARCH_PPCSQ 1
2074// PPCPOWER4:#define _ARCH_PWR4 1
2075//
2076// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5 %s
2077//
2078// PPCPWR5:#define _ARCH_PPC 1
2079// PPCPWR5:#define _ARCH_PPC64 1
2080// PPCPWR5:#define _ARCH_PPCGR 1
2081// PPCPWR5:#define _ARCH_PPCSQ 1
2082// PPCPWR5:#define _ARCH_PWR4 1
2083// PPCPWR5:#define _ARCH_PWR5 1
2084//
2085// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5 %s
2086//
2087// PPCPOWER5:#define _ARCH_PPC 1
2088// PPCPOWER5:#define _ARCH_PPC64 1
2089// PPCPOWER5:#define _ARCH_PPCGR 1
2090// PPCPOWER5:#define _ARCH_PPCSQ 1
2091// PPCPOWER5:#define _ARCH_PWR4 1
2092// PPCPOWER5:#define _ARCH_PWR5 1
2093//
2094// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5X %s
2095//
2096// PPCPWR5X:#define _ARCH_PPC 1
2097// PPCPWR5X:#define _ARCH_PPC64 1
2098// PPCPWR5X:#define _ARCH_PPCGR 1
2099// PPCPWR5X:#define _ARCH_PPCSQ 1
2100// PPCPWR5X:#define _ARCH_PWR4 1
2101// PPCPWR5X:#define _ARCH_PWR5 1
2102// PPCPWR5X:#define _ARCH_PWR5X 1
2103//
2104// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5X %s
2105//
2106// PPCPOWER5X:#define _ARCH_PPC 1
2107// PPCPOWER5X:#define _ARCH_PPC64 1
2108// PPCPOWER5X:#define _ARCH_PPCGR 1
2109// PPCPOWER5X:#define _ARCH_PPCSQ 1
2110// PPCPOWER5X:#define _ARCH_PWR4 1
2111// PPCPOWER5X:#define _ARCH_PWR5 1
2112// PPCPOWER5X:#define _ARCH_PWR5X 1
2113//
2114// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6 %s
2115//
2116// PPCPWR6:#define _ARCH_PPC 1
2117// PPCPWR6:#define _ARCH_PPC64 1
2118// PPCPWR6:#define _ARCH_PPCGR 1
2119// PPCPWR6:#define _ARCH_PPCSQ 1
2120// PPCPWR6:#define _ARCH_PWR4 1
2121// PPCPWR6:#define _ARCH_PWR5 1
2122// PPCPWR6:#define _ARCH_PWR5X 1
2123// PPCPWR6:#define _ARCH_PWR6 1
2124//
2125// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6 %s
2126//
2127// PPCPOWER6:#define _ARCH_PPC 1
2128// PPCPOWER6:#define _ARCH_PPC64 1
2129// PPCPOWER6:#define _ARCH_PPCGR 1
2130// PPCPOWER6:#define _ARCH_PPCSQ 1
2131// PPCPOWER6:#define _ARCH_PWR4 1
2132// PPCPOWER6:#define _ARCH_PWR5 1
2133// PPCPOWER6:#define _ARCH_PWR5X 1
2134// PPCPOWER6:#define _ARCH_PWR6 1
2135//
2136// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6X %s
2137//
2138// PPCPWR6X:#define _ARCH_PPC 1
2139// PPCPWR6X:#define _ARCH_PPC64 1
2140// PPCPWR6X:#define _ARCH_PPCGR 1
2141// PPCPWR6X:#define _ARCH_PPCSQ 1
2142// PPCPWR6X:#define _ARCH_PWR4 1
2143// PPCPWR6X:#define _ARCH_PWR5 1
2144// PPCPWR6X:#define _ARCH_PWR5X 1
2145// PPCPWR6X:#define _ARCH_PWR6 1
2146// PPCPWR6X:#define _ARCH_PWR6X 1
2147//
2148// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6X %s
2149//
2150// PPCPOWER6X:#define _ARCH_PPC 1
2151// PPCPOWER6X:#define _ARCH_PPC64 1
2152// PPCPOWER6X:#define _ARCH_PPCGR 1
2153// PPCPOWER6X:#define _ARCH_PPCSQ 1
2154// PPCPOWER6X:#define _ARCH_PWR4 1
2155// PPCPOWER6X:#define _ARCH_PWR5 1
2156// PPCPOWER6X:#define _ARCH_PWR5X 1
2157// PPCPOWER6X:#define _ARCH_PWR6 1
2158// PPCPOWER6X:#define _ARCH_PWR6X 1
2159//
2160// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR7 %s
2161//
2162// PPCPWR7:#define _ARCH_PPC 1
2163// PPCPWR7:#define _ARCH_PPC64 1
2164// PPCPWR7:#define _ARCH_PPCGR 1
2165// PPCPWR7:#define _ARCH_PPCSQ 1
2166// PPCPWR7:#define _ARCH_PWR4 1
2167// PPCPWR7:#define _ARCH_PWR5 1
2168// PPCPWR7:#define _ARCH_PWR5X 1
2169// PPCPWR7:#define _ARCH_PWR6 1
2170// PPCPWR7:#define _ARCH_PWR6X 1
2171// PPCPWR7:#define _ARCH_PWR7 1
2172//
2173// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER7 %s
2174//
2175// PPCPOWER7:#define _ARCH_PPC 1
2176// PPCPOWER7:#define _ARCH_PPC64 1
2177// PPCPOWER7:#define _ARCH_PPCGR 1
2178// PPCPOWER7:#define _ARCH_PPCSQ 1
2179// PPCPOWER7:#define _ARCH_PWR4 1
2180// PPCPOWER7:#define _ARCH_PWR5 1
2181// PPCPOWER7:#define _ARCH_PWR5X 1
2182// PPCPOWER7:#define _ARCH_PWR6 1
2183// PPCPOWER7:#define _ARCH_PWR6X 1
2184// PPCPOWER7:#define _ARCH_PWR7 1
2185//
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002186// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
2187//
2188// PPC64-LINUX:#define _ARCH_PPC 1
2189// PPC64-LINUX:#define _ARCH_PPC64 1
2190// PPC64-LINUX:#define _BIG_ENDIAN 1
2191// PPC64-LINUX:#define _LP64 1
2192// PPC64-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002193// PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002194// PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
2195// PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
2196// PPC64-LINUX:#define __CHAR_BIT__ 8
2197// PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
2198// PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2199// PPC64-LINUX:#define __DBL_DIG__ 15
2200// PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2201// PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
2202// PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
2203// PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2204// PPC64-LINUX:#define __DBL_MANT_DIG__ 53
2205// PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
2206// PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
2207// PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2208// PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2209// PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2210// PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2211// PPC64-LINUX:#define __DECIMAL_DIG__ 33
2212// PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2213// PPC64-LINUX:#define __FLT_DIG__ 6
2214// PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2215// PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
2216// PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
2217// PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
2218// PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2219// PPC64-LINUX:#define __FLT_MANT_DIG__ 24
2220// PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
2221// PPC64-LINUX:#define __FLT_MAX_EXP__ 128
2222// PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2223// PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2224// PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
2225// PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2226// PPC64-LINUX:#define __FLT_RADIX__ 2
2227// PPC64-LINUX:#define __INT16_TYPE__ short
2228// PPC64-LINUX:#define __INT32_TYPE__ int
2229// PPC64-LINUX:#define __INT64_C_SUFFIX__ L
2230// PPC64-LINUX:#define __INT64_TYPE__ long int
2231// PPC64-LINUX:#define __INT8_TYPE__ char
2232// PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2233// PPC64-LINUX:#define __INTMAX_TYPE__ long int
2234// PPC64-LINUX:#define __INTMAX_WIDTH__ 64
2235// PPC64-LINUX:#define __INTPTR_TYPE__ long int
2236// PPC64-LINUX:#define __INTPTR_WIDTH__ 64
2237// PPC64-LINUX:#define __INT_MAX__ 2147483647
2238// PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2239// PPC64-LINUX:#define __LDBL_DIG__ 31
2240// PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2241// PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
2242// PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2243// PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2244// PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
2245// PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
2246// PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
2247// PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2248// PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2249// PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
2250// PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2251// PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
2252// PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2253// PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2254// PPC64-LINUX:#define __LP64__ 1
2255// PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002256// PPC64-LINUX:#define __POINTER_WIDTH__ 64
2257// PPC64-LINUX:#define __POWERPC__ 1
Chandler Carruthc6fa1152013-06-25 11:13:47 +00002258// PPC64-LINUX:#define __PPC64__ 1
2259// PPC64-LINUX:#define __PPC__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002260// PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
2261// PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
2262// PPC64-LINUX:#define __REGISTER_PREFIX__
2263// PPC64-LINUX:#define __SCHAR_MAX__ 127
2264// PPC64-LINUX:#define __SHRT_MAX__ 32767
2265// PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2266// PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
2267// PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
2268// PPC64-LINUX:#define __SIZEOF_INT__ 4
2269// PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2270// PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2271// PPC64-LINUX:#define __SIZEOF_LONG__ 8
2272// PPC64-LINUX:#define __SIZEOF_POINTER__ 8
2273// PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2274// PPC64-LINUX:#define __SIZEOF_SHORT__ 2
2275// PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
2276// PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2277// PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002278// PPC64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002279// PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
2280// PPC64-LINUX:#define __SIZE_WIDTH__ 64
2281// PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2282// PPC64-LINUX:#define __USER_LABEL_PREFIX__
2283// PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
2284// PPC64-LINUX:#define __WCHAR_TYPE__ int
2285// PPC64-LINUX:#define __WCHAR_WIDTH__ 32
2286// PPC64-LINUX:#define __WINT_TYPE__ unsigned int
2287// PPC64-LINUX:#define __WINT_UNSIGNED__ 1
2288// PPC64-LINUX:#define __WINT_WIDTH__ 32
2289// PPC64-LINUX:#define __powerpc64__ 1
2290// PPC64-LINUX:#define __powerpc__ 1
2291// PPC64-LINUX:#define __ppc64__ 1
2292// PPC64-LINUX:#define __ppc__ 1
2293//
Daniel Dunbara5728872009-12-15 20:14:24 +00002294// 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 +00002295//
2296// PPC:#define _ARCH_PPC 1
2297// PPC:#define _BIG_ENDIAN 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002298// PPC-NOT:#define _LP64
Chris Lattnerbceaf862009-10-29 04:55:36 +00002299// PPC:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002300// PPC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00002301// PPC:#define __CHAR16_TYPE__ unsigned short
2302// PPC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002303// PPC:#define __CHAR_BIT__ 8
2304// PPC:#define __CHAR_UNSIGNED__ 1
2305// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2306// PPC:#define __DBL_DIG__ 15
2307// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2308// PPC:#define __DBL_HAS_DENORM__ 1
2309// PPC:#define __DBL_HAS_INFINITY__ 1
2310// PPC:#define __DBL_HAS_QUIET_NAN__ 1
2311// PPC:#define __DBL_MANT_DIG__ 53
2312// PPC:#define __DBL_MAX_10_EXP__ 308
2313// PPC:#define __DBL_MAX_EXP__ 1024
2314// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
2315// PPC:#define __DBL_MIN_10_EXP__ (-307)
2316// PPC:#define __DBL_MIN_EXP__ (-1021)
2317// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002318// PPC:#define __DECIMAL_DIG__ 33
Chris Lattnerbceaf862009-10-29 04:55:36 +00002319// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2320// PPC:#define __FLT_DIG__ 6
2321// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
2322// PPC:#define __FLT_EVAL_METHOD__ 0
2323// PPC:#define __FLT_HAS_DENORM__ 1
2324// PPC:#define __FLT_HAS_INFINITY__ 1
2325// PPC:#define __FLT_HAS_QUIET_NAN__ 1
2326// PPC:#define __FLT_MANT_DIG__ 24
2327// PPC:#define __FLT_MAX_10_EXP__ 38
2328// PPC:#define __FLT_MAX_EXP__ 128
2329// PPC:#define __FLT_MAX__ 3.40282347e+38F
2330// PPC:#define __FLT_MIN_10_EXP__ (-37)
2331// PPC:#define __FLT_MIN_EXP__ (-125)
2332// PPC:#define __FLT_MIN__ 1.17549435e-38F
2333// PPC:#define __FLT_RADIX__ 2
2334// PPC:#define __INT16_TYPE__ short
2335// PPC:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00002336// PPC:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +00002337// PPC:#define __INT64_TYPE__ long long int
2338// PPC:#define __INT8_TYPE__ char
2339// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +00002340// PPC:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +00002341// PPC:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00002342// PPC:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00002343// PPC:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002344// PPC:#define __INT_MAX__ 2147483647
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002345// PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2346// PPC:#define __LDBL_DIG__ 31
2347// PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002348// PPC:#define __LDBL_HAS_DENORM__ 1
2349// PPC:#define __LDBL_HAS_INFINITY__ 1
2350// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002351// PPC:#define __LDBL_MANT_DIG__ 106
Chris Lattnerbceaf862009-10-29 04:55:36 +00002352// PPC:#define __LDBL_MAX_10_EXP__ 308
2353// PPC:#define __LDBL_MAX_EXP__ 1024
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002354// PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2355// PPC:#define __LDBL_MIN_10_EXP__ (-291)
2356// PPC:#define __LDBL_MIN_EXP__ (-968)
2357// PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002358// PPC:#define __LONG_DOUBLE_128__ 1
2359// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2360// PPC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002361// PPC-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +00002362// PPC:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00002363// PPC:#define __POINTER_WIDTH__ 32
2364// PPC:#define __POWERPC__ 1
Chandler Carruthc6fa1152013-06-25 11:13:47 +00002365// PPC:#define __PPC__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00002366// PPC:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00002367// PPC:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002368// PPC:#define __REGISTER_PREFIX__
2369// PPC:#define __SCHAR_MAX__ 127
2370// PPC:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00002371// PPC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00002372// PPC:#define __SIZEOF_DOUBLE__ 8
2373// PPC:#define __SIZEOF_FLOAT__ 4
2374// PPC:#define __SIZEOF_INT__ 4
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002375// PPC:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohmancfeac342010-05-28 00:27:15 +00002376// PPC:#define __SIZEOF_LONG_LONG__ 8
2377// PPC:#define __SIZEOF_LONG__ 4
2378// PPC:#define __SIZEOF_POINTER__ 4
2379// PPC:#define __SIZEOF_PTRDIFF_T__ 4
2380// PPC:#define __SIZEOF_SHORT__ 2
2381// PPC:#define __SIZEOF_SIZE_T__ 4
2382// PPC:#define __SIZEOF_WCHAR_T__ 4
2383// PPC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002384// PPC:#define __SIZE_MAX__ 4294967295U
Chris Lattnerbceaf862009-10-29 04:55:36 +00002385// PPC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00002386// PPC:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00002387// PPC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002388// PPC:#define __USER_LABEL_PREFIX__ _
2389// PPC:#define __WCHAR_MAX__ 2147483647
2390// PPC:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00002391// PPC:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002392// PPC:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00002393// PPC:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002394// PPC:#define __ppc__ 1
2395//
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002396// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
2397//
2398// PPC-LINUX:#define _ARCH_PPC 1
2399// PPC-LINUX:#define _BIG_ENDIAN 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002400// PPC-LINUX-NOT:#define _LP64
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002401// PPC-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002402// PPC-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002403// PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
2404// PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
2405// PPC-LINUX:#define __CHAR_BIT__ 8
2406// PPC-LINUX:#define __CHAR_UNSIGNED__ 1
2407// PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2408// PPC-LINUX:#define __DBL_DIG__ 15
2409// PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2410// PPC-LINUX:#define __DBL_HAS_DENORM__ 1
2411// PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
2412// PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2413// PPC-LINUX:#define __DBL_MANT_DIG__ 53
2414// PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
2415// PPC-LINUX:#define __DBL_MAX_EXP__ 1024
2416// PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2417// PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2418// PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
2419// PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2420// PPC-LINUX:#define __DECIMAL_DIG__ 33
2421// PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2422// PPC-LINUX:#define __FLT_DIG__ 6
2423// PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2424// PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
2425// PPC-LINUX:#define __FLT_HAS_DENORM__ 1
2426// PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
2427// PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2428// PPC-LINUX:#define __FLT_MANT_DIG__ 24
2429// PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
2430// PPC-LINUX:#define __FLT_MAX_EXP__ 128
2431// PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2432// PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2433// PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
2434// PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2435// PPC-LINUX:#define __FLT_RADIX__ 2
2436// PPC-LINUX:#define __INT16_TYPE__ short
2437// PPC-LINUX:#define __INT32_TYPE__ int
2438// PPC-LINUX:#define __INT64_C_SUFFIX__ LL
2439// PPC-LINUX:#define __INT64_TYPE__ long long int
2440// PPC-LINUX:#define __INT8_TYPE__ char
2441// PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
2442// PPC-LINUX:#define __INTMAX_TYPE__ long long int
2443// PPC-LINUX:#define __INTMAX_WIDTH__ 64
Hal Finkel178a9b82012-03-02 20:54:36 +00002444// PPC-LINUX:#define __INTPTR_TYPE__ int
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002445// PPC-LINUX:#define __INTPTR_WIDTH__ 32
2446// PPC-LINUX:#define __INT_MAX__ 2147483647
2447// PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2448// PPC-LINUX:#define __LDBL_DIG__ 31
2449// PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2450// PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
2451// PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
2452// PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2453// PPC-LINUX:#define __LDBL_MANT_DIG__ 106
2454// PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
2455// PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
2456// PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2457// PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2458// PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
2459// PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2460// PPC-LINUX:#define __LONG_DOUBLE_128__ 1
2461// PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2462// PPC-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002463// PPC-LINUX-NOT:#define __LP64__
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002464// PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002465// PPC-LINUX:#define __POINTER_WIDTH__ 32
2466// PPC-LINUX:#define __POWERPC__ 1
Chandler Carruthc6fa1152013-06-25 11:13:47 +00002467// PPC-LINUX:#define __PPC__ 1
Hal Finkel178a9b82012-03-02 20:54:36 +00002468// PPC-LINUX:#define __PTRDIFF_TYPE__ int
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002469// PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
2470// PPC-LINUX:#define __REGISTER_PREFIX__
2471// PPC-LINUX:#define __SCHAR_MAX__ 127
2472// PPC-LINUX:#define __SHRT_MAX__ 32767
2473// PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2474// PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
2475// PPC-LINUX:#define __SIZEOF_FLOAT__ 4
2476// PPC-LINUX:#define __SIZEOF_INT__ 4
2477// PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2478// PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
2479// PPC-LINUX:#define __SIZEOF_LONG__ 4
2480// PPC-LINUX:#define __SIZEOF_POINTER__ 4
2481// PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
2482// PPC-LINUX:#define __SIZEOF_SHORT__ 2
2483// PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
2484// PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
2485// PPC-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002486// PPC-LINUX:#define __SIZE_MAX__ 4294967295U
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002487// PPC-LINUX:#define __SIZE_TYPE__ unsigned int
2488// PPC-LINUX:#define __SIZE_WIDTH__ 32
2489// PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
2490// PPC-LINUX:#define __USER_LABEL_PREFIX__
2491// PPC-LINUX:#define __WCHAR_MAX__ 2147483647
2492// PPC-LINUX:#define __WCHAR_TYPE__ int
2493// PPC-LINUX:#define __WCHAR_WIDTH__ 32
2494// PPC-LINUX:#define __WINT_TYPE__ unsigned int
2495// PPC-LINUX:#define __WINT_UNSIGNED__ 1
2496// PPC-LINUX:#define __WINT_WIDTH__ 32
2497// PPC-LINUX:#define __powerpc__ 1
2498// PPC-LINUX:#define __ppc__ 1
2499//
David Fangb5afadd2013-05-16 17:51:48 +00002500// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-apple-darwin8 < /dev/null | FileCheck -check-prefix PPC-DARWIN %s
2501//
2502// PPC-DARWIN:#define _ARCH_PPC 1
2503// PPC-DARWIN:#define _BIG_ENDIAN 1
2504// PPC-DARWIN:#define __BIG_ENDIAN__ 1
2505// PPC-DARWIN:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2506// PPC-DARWIN:#define __CHAR16_TYPE__ unsigned short
2507// PPC-DARWIN:#define __CHAR32_TYPE__ unsigned int
2508// PPC-DARWIN:#define __CHAR_BIT__ 8
2509// PPC-DARWIN:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2510// PPC-DARWIN:#define __DBL_DIG__ 15
2511// PPC-DARWIN:#define __DBL_EPSILON__ 2.2204460492503131e-16
2512// PPC-DARWIN:#define __DBL_HAS_DENORM__ 1
2513// PPC-DARWIN:#define __DBL_HAS_INFINITY__ 1
2514// PPC-DARWIN:#define __DBL_HAS_QUIET_NAN__ 1
2515// PPC-DARWIN:#define __DBL_MANT_DIG__ 53
2516// PPC-DARWIN:#define __DBL_MAX_10_EXP__ 308
2517// PPC-DARWIN:#define __DBL_MAX_EXP__ 1024
2518// PPC-DARWIN:#define __DBL_MAX__ 1.7976931348623157e+308
2519// PPC-DARWIN:#define __DBL_MIN_10_EXP__ (-307)
2520// PPC-DARWIN:#define __DBL_MIN_EXP__ (-1021)
2521// PPC-DARWIN:#define __DBL_MIN__ 2.2250738585072014e-308
2522// PPC-DARWIN:#define __DECIMAL_DIG__ 33
2523// PPC-DARWIN:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2524// PPC-DARWIN:#define __FLT_DIG__ 6
2525// PPC-DARWIN:#define __FLT_EPSILON__ 1.19209290e-7F
2526// PPC-DARWIN:#define __FLT_EVAL_METHOD__ 0
2527// PPC-DARWIN:#define __FLT_HAS_DENORM__ 1
2528// PPC-DARWIN:#define __FLT_HAS_INFINITY__ 1
2529// PPC-DARWIN:#define __FLT_HAS_QUIET_NAN__ 1
2530// PPC-DARWIN:#define __FLT_MANT_DIG__ 24
2531// PPC-DARWIN:#define __FLT_MAX_10_EXP__ 38
2532// PPC-DARWIN:#define __FLT_MAX_EXP__ 128
2533// PPC-DARWIN:#define __FLT_MAX__ 3.40282347e+38F
2534// PPC-DARWIN:#define __FLT_MIN_10_EXP__ (-37)
2535// PPC-DARWIN:#define __FLT_MIN_EXP__ (-125)
2536// PPC-DARWIN:#define __FLT_MIN__ 1.17549435e-38F
2537// PPC-DARWIN:#define __FLT_RADIX__ 2
2538// PPC-DARWIN:#define __INT16_TYPE__ short
2539// PPC-DARWIN:#define __INT32_TYPE__ int
2540// PPC-DARWIN:#define __INT64_C_SUFFIX__ LL
2541// PPC-DARWIN:#define __INT64_TYPE__ long long int
2542// PPC-DARWIN:#define __INT8_TYPE__ char
2543// PPC-DARWIN:#define __INTMAX_MAX__ 9223372036854775807LL
2544// PPC-DARWIN:#define __INTMAX_TYPE__ long long int
2545// PPC-DARWIN:#define __INTMAX_WIDTH__ 64
2546// PPC-DARWIN:#define __INTPTR_TYPE__ long int
2547// PPC-DARWIN:#define __INTPTR_WIDTH__ 32
2548// PPC-DARWIN:#define __INT_MAX__ 2147483647
2549// PPC-DARWIN:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2550// PPC-DARWIN:#define __LDBL_DIG__ 31
2551// PPC-DARWIN:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2552// PPC-DARWIN:#define __LDBL_HAS_DENORM__ 1
2553// PPC-DARWIN:#define __LDBL_HAS_INFINITY__ 1
2554// PPC-DARWIN:#define __LDBL_HAS_QUIET_NAN__ 1
2555// PPC-DARWIN:#define __LDBL_MANT_DIG__ 106
2556// PPC-DARWIN:#define __LDBL_MAX_10_EXP__ 308
2557// PPC-DARWIN:#define __LDBL_MAX_EXP__ 1024
2558// PPC-DARWIN:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2559// PPC-DARWIN:#define __LDBL_MIN_10_EXP__ (-291)
2560// PPC-DARWIN:#define __LDBL_MIN_EXP__ (-968)
2561// PPC-DARWIN:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2562// PPC-DARWIN:#define __LONG_DOUBLE_128__ 1
2563// PPC-DARWIN:#define __LONG_LONG_MAX__ 9223372036854775807LL
2564// PPC-DARWIN:#define __LONG_MAX__ 2147483647L
2565// PPC-DARWIN:#define __MACH__ 1
2566// PPC-DARWIN:#define __NATURAL_ALIGNMENT__ 1
2567// PPC-DARWIN:#define __ORDER_BIG_ENDIAN__ 4321
2568// PPC-DARWIN:#define __ORDER_LITTLE_ENDIAN__ 1234
2569// PPC-DARWIN:#define __ORDER_PDP_ENDIAN__ 3412
2570// PPC-DARWIN:#define __POINTER_WIDTH__ 32
2571// PPC-DARWIN:#define __POWERPC__ 1
Chandler Carruthc6fa1152013-06-25 11:13:47 +00002572// PPC-DARWIN:#define __PPC__ 1
David Fangb5afadd2013-05-16 17:51:48 +00002573// PPC-DARWIN:#define __PTRDIFF_TYPE__ int
2574// PPC-DARWIN:#define __PTRDIFF_WIDTH__ 32
2575// PPC-DARWIN:#define __REGISTER_PREFIX__
2576// PPC-DARWIN:#define __SCHAR_MAX__ 127
2577// PPC-DARWIN:#define __SHRT_MAX__ 32767
2578// PPC-DARWIN:#define __SIG_ATOMIC_WIDTH__ 32
2579// PPC-DARWIN:#define __SIZEOF_DOUBLE__ 8
2580// PPC-DARWIN:#define __SIZEOF_FLOAT__ 4
2581// PPC-DARWIN:#define __SIZEOF_INT__ 4
2582// PPC-DARWIN:#define __SIZEOF_LONG_DOUBLE__ 16
2583// PPC-DARWIN:#define __SIZEOF_LONG_LONG__ 8
2584// PPC-DARWIN:#define __SIZEOF_LONG__ 4
2585// PPC-DARWIN:#define __SIZEOF_POINTER__ 4
2586// PPC-DARWIN:#define __SIZEOF_PTRDIFF_T__ 4
2587// PPC-DARWIN:#define __SIZEOF_SHORT__ 2
2588// PPC-DARWIN:#define __SIZEOF_SIZE_T__ 4
2589// PPC-DARWIN:#define __SIZEOF_WCHAR_T__ 4
2590// PPC-DARWIN:#define __SIZEOF_WINT_T__ 4
2591// PPC-DARWIN:#define __SIZE_MAX__ 4294967295UL
2592// PPC-DARWIN:#define __SIZE_TYPE__ long unsigned int
2593// PPC-DARWIN:#define __SIZE_WIDTH__ 32
2594// PPC-DARWIN:#define __STDC_HOSTED__ 0
2595// PPC-DARWIN:#define __STDC_VERSION__ 199901L
2596// PPC-DARWIN:#define __STDC__ 1
2597// PPC-DARWIN:#define __UINTMAX_TYPE__ long long unsigned int
2598// PPC-DARWIN:#define __USER_LABEL_PREFIX__ _
2599// PPC-DARWIN:#define __WCHAR_MAX__ 2147483647
2600// PPC-DARWIN:#define __WCHAR_TYPE__ int
2601// PPC-DARWIN:#define __WCHAR_WIDTH__ 32
2602// PPC-DARWIN:#define __WINT_TYPE__ int
2603// PPC-DARWIN:#define __WINT_WIDTH__ 32
2604// PPC-DARWIN:#define __powerpc__ 1
2605// PPC-DARWIN:#define __ppc__ 1
2606//
Ulrich Weigandb8409212013-05-06 16:26:41 +00002607// RUN: %clang_cc1 -E -dM -ffreestanding -triple=s390x-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix S390X %s
2608//
2609// S390X:#define __CHAR16_TYPE__ unsigned short
2610// S390X:#define __CHAR32_TYPE__ unsigned int
2611// S390X:#define __CHAR_BIT__ 8
2612// S390X:#define __CHAR_UNSIGNED__ 1
2613// S390X:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2614// S390X:#define __DBL_DIG__ 15
2615// S390X:#define __DBL_EPSILON__ 2.2204460492503131e-16
2616// S390X:#define __DBL_HAS_DENORM__ 1
2617// S390X:#define __DBL_HAS_INFINITY__ 1
2618// S390X:#define __DBL_HAS_QUIET_NAN__ 1
2619// S390X:#define __DBL_MANT_DIG__ 53
2620// S390X:#define __DBL_MAX_10_EXP__ 308
2621// S390X:#define __DBL_MAX_EXP__ 1024
2622// S390X:#define __DBL_MAX__ 1.7976931348623157e+308
2623// S390X:#define __DBL_MIN_10_EXP__ (-307)
2624// S390X:#define __DBL_MIN_EXP__ (-1021)
2625// S390X:#define __DBL_MIN__ 2.2250738585072014e-308
2626// S390X:#define __DECIMAL_DIG__ 36
2627// S390X:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2628// S390X:#define __FLT_DIG__ 6
2629// S390X:#define __FLT_EPSILON__ 1.19209290e-7F
2630// S390X:#define __FLT_EVAL_METHOD__ 0
2631// S390X:#define __FLT_HAS_DENORM__ 1
2632// S390X:#define __FLT_HAS_INFINITY__ 1
2633// S390X:#define __FLT_HAS_QUIET_NAN__ 1
2634// S390X:#define __FLT_MANT_DIG__ 24
2635// S390X:#define __FLT_MAX_10_EXP__ 38
2636// S390X:#define __FLT_MAX_EXP__ 128
2637// S390X:#define __FLT_MAX__ 3.40282347e+38F
2638// S390X:#define __FLT_MIN_10_EXP__ (-37)
2639// S390X:#define __FLT_MIN_EXP__ (-125)
2640// S390X:#define __FLT_MIN__ 1.17549435e-38F
2641// S390X:#define __FLT_RADIX__ 2
2642// S390X:#define __INT16_TYPE__ short
2643// S390X:#define __INT32_TYPE__ int
2644// S390X:#define __INT64_C_SUFFIX__ L
2645// S390X:#define __INT64_TYPE__ long long int
2646// S390X:#define __INT8_TYPE__ char
2647// S390X:#define __INTMAX_MAX__ 9223372036854775807LL
2648// S390X:#define __INTMAX_TYPE__ long long int
2649// S390X:#define __INTMAX_WIDTH__ 64
2650// S390X:#define __INTPTR_TYPE__ long int
2651// S390X:#define __INTPTR_WIDTH__ 64
2652// S390X:#define __INT_MAX__ 2147483647
2653// S390X:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
2654// S390X:#define __LDBL_DIG__ 33
2655// S390X:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
2656// S390X:#define __LDBL_HAS_DENORM__ 1
2657// S390X:#define __LDBL_HAS_INFINITY__ 1
2658// S390X:#define __LDBL_HAS_QUIET_NAN__ 1
2659// S390X:#define __LDBL_MANT_DIG__ 113
2660// S390X:#define __LDBL_MAX_10_EXP__ 4932
2661// S390X:#define __LDBL_MAX_EXP__ 16384
2662// S390X:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
2663// S390X:#define __LDBL_MIN_10_EXP__ (-4931)
2664// S390X:#define __LDBL_MIN_EXP__ (-16381)
2665// S390X:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
2666// S390X:#define __LONG_LONG_MAX__ 9223372036854775807LL
2667// S390X:#define __LONG_MAX__ 9223372036854775807L
2668// S390X:#define __NO_INLINE__ 1
2669// S390X:#define __POINTER_WIDTH__ 64
2670// S390X:#define __PTRDIFF_TYPE__ long int
2671// S390X:#define __PTRDIFF_WIDTH__ 64
2672// S390X:#define __SCHAR_MAX__ 127
2673// S390X:#define __SHRT_MAX__ 32767
2674// S390X:#define __SIG_ATOMIC_WIDTH__ 32
2675// S390X:#define __SIZEOF_DOUBLE__ 8
2676// S390X:#define __SIZEOF_FLOAT__ 4
2677// S390X:#define __SIZEOF_INT__ 4
2678// S390X:#define __SIZEOF_LONG_DOUBLE__ 16
2679// S390X:#define __SIZEOF_LONG_LONG__ 8
2680// S390X:#define __SIZEOF_LONG__ 8
2681// S390X:#define __SIZEOF_POINTER__ 8
2682// S390X:#define __SIZEOF_PTRDIFF_T__ 8
2683// S390X:#define __SIZEOF_SHORT__ 2
2684// S390X:#define __SIZEOF_SIZE_T__ 8
2685// S390X:#define __SIZEOF_WCHAR_T__ 4
2686// S390X:#define __SIZEOF_WINT_T__ 4
2687// S390X:#define __SIZE_TYPE__ long unsigned int
2688// S390X:#define __SIZE_WIDTH__ 64
2689// S390X:#define __UINTMAX_TYPE__ long long unsigned int
2690// S390X:#define __USER_LABEL_PREFIX__ _
2691// S390X:#define __WCHAR_MAX__ 2147483647
2692// S390X:#define __WCHAR_TYPE__ int
2693// S390X:#define __WCHAR_WIDTH__ 32
2694// S390X:#define __WINT_TYPE__ int
2695// S390X:#define __WINT_WIDTH__ 32
2696// S390X:#define __s390__ 1
2697// S390X:#define __s390x__ 1
2698//
Daniel Dunbara5728872009-12-15 20:14:24 +00002699// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00002700//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002701// SPARC-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002702// SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00002703// SPARC:#define __CHAR16_TYPE__ unsigned short
2704// SPARC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002705// SPARC:#define __CHAR_BIT__ 8
2706// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2707// SPARC:#define __DBL_DIG__ 15
2708// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2709// SPARC:#define __DBL_HAS_DENORM__ 1
2710// SPARC:#define __DBL_HAS_INFINITY__ 1
2711// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
2712// SPARC:#define __DBL_MANT_DIG__ 53
2713// SPARC:#define __DBL_MAX_10_EXP__ 308
2714// SPARC:#define __DBL_MAX_EXP__ 1024
2715// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
2716// SPARC:#define __DBL_MIN_10_EXP__ (-307)
2717// SPARC:#define __DBL_MIN_EXP__ (-1021)
2718// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
2719// SPARC:#define __DECIMAL_DIG__ 17
2720// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2721// SPARC:#define __FLT_DIG__ 6
2722// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
2723// SPARC:#define __FLT_EVAL_METHOD__ 0
2724// SPARC:#define __FLT_HAS_DENORM__ 1
2725// SPARC:#define __FLT_HAS_INFINITY__ 1
2726// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
2727// SPARC:#define __FLT_MANT_DIG__ 24
2728// SPARC:#define __FLT_MAX_10_EXP__ 38
2729// SPARC:#define __FLT_MAX_EXP__ 128
2730// SPARC:#define __FLT_MAX__ 3.40282347e+38F
2731// SPARC:#define __FLT_MIN_10_EXP__ (-37)
2732// SPARC:#define __FLT_MIN_EXP__ (-125)
2733// SPARC:#define __FLT_MIN__ 1.17549435e-38F
2734// SPARC:#define __FLT_RADIX__ 2
2735// SPARC:#define __INT16_TYPE__ short
2736// SPARC:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00002737// SPARC:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +00002738// SPARC:#define __INT64_TYPE__ long long int
2739// SPARC:#define __INT8_TYPE__ char
2740// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +00002741// SPARC:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +00002742// SPARC:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00002743// SPARC:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00002744// SPARC:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002745// SPARC:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00002746// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002747// SPARC:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00002748// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002749// SPARC:#define __LDBL_HAS_DENORM__ 1
2750// SPARC:#define __LDBL_HAS_INFINITY__ 1
2751// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
2752// SPARC:#define __LDBL_MANT_DIG__ 53
2753// SPARC:#define __LDBL_MAX_10_EXP__ 308
2754// SPARC:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00002755// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002756// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
2757// SPARC:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00002758// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002759// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2760// SPARC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002761// SPARC-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +00002762// SPARC:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00002763// SPARC:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00002764// SPARC:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbareac7c532009-12-18 18:42:37 +00002765// SPARC:#define __REGISTER_PREFIX__
Chris Lattnerbceaf862009-10-29 04:55:36 +00002766// SPARC:#define __SCHAR_MAX__ 127
2767// SPARC:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00002768// SPARC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00002769// SPARC:#define __SIZEOF_DOUBLE__ 8
2770// SPARC:#define __SIZEOF_FLOAT__ 4
2771// SPARC:#define __SIZEOF_INT__ 4
2772// SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
2773// SPARC:#define __SIZEOF_LONG_LONG__ 8
2774// SPARC:#define __SIZEOF_LONG__ 4
2775// SPARC:#define __SIZEOF_POINTER__ 4
2776// SPARC:#define __SIZEOF_PTRDIFF_T__ 4
2777// SPARC:#define __SIZEOF_SHORT__ 2
2778// SPARC:#define __SIZEOF_SIZE_T__ 4
2779// SPARC:#define __SIZEOF_WCHAR_T__ 4
2780// SPARC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002781// SPARC:#define __SIZE_MAX__ 4294967295U
Chris Lattnerbceaf862009-10-29 04:55:36 +00002782// SPARC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00002783// SPARC:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00002784// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002785// SPARC:#define __USER_LABEL_PREFIX__ _
Daniel Dunbarad1a4c62011-03-31 00:53:51 +00002786// SPARC:#define __VERSION__ "4.2.1 Compatible
Chris Lattnerbceaf862009-10-29 04:55:36 +00002787// SPARC:#define __WCHAR_MAX__ 2147483647
2788// SPARC:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00002789// SPARC:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002790// SPARC:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00002791// SPARC:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002792// SPARC:#define __sparc 1
2793// SPARC:#define __sparc__ 1
2794// SPARC:#define __sparcv8 1
2795// SPARC:#define sparc 1
2796//
Daniel Dunbara5728872009-12-15 20:14:24 +00002797// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00002798//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002799// TCE-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002800// TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00002801// TCE:#define __CHAR16_TYPE__ unsigned short
2802// TCE:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002803// TCE:#define __CHAR_BIT__ 8
Eli Friedman75e8efe2012-11-10 00:20:38 +00002804// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45
Chris Lattnerbceaf862009-10-29 04:55:36 +00002805// TCE:#define __DBL_DIG__ 6
Eli Friedman75e8efe2012-11-10 00:20:38 +00002806// TCE:#define __DBL_EPSILON__ 1.19209290e-7
Chris Lattnerbceaf862009-10-29 04:55:36 +00002807// TCE:#define __DBL_HAS_DENORM__ 1
2808// TCE:#define __DBL_HAS_INFINITY__ 1
2809// TCE:#define __DBL_HAS_QUIET_NAN__ 1
2810// TCE:#define __DBL_MANT_DIG__ 24
2811// TCE:#define __DBL_MAX_10_EXP__ 38
2812// TCE:#define __DBL_MAX_EXP__ 128
Eli Friedman75e8efe2012-11-10 00:20:38 +00002813// TCE:#define __DBL_MAX__ 3.40282347e+38
Chris Lattnerbceaf862009-10-29 04:55:36 +00002814// TCE:#define __DBL_MIN_10_EXP__ (-37)
2815// TCE:#define __DBL_MIN_EXP__ (-125)
Eli Friedman75e8efe2012-11-10 00:20:38 +00002816// TCE:#define __DBL_MIN__ 1.17549435e-38
Chris Lattnerbceaf862009-10-29 04:55:36 +00002817// TCE:#define __DECIMAL_DIG__ -1
2818// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2819// TCE:#define __FLT_DIG__ 6
2820// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
2821// TCE:#define __FLT_EVAL_METHOD__ 0
2822// TCE:#define __FLT_HAS_DENORM__ 1
2823// TCE:#define __FLT_HAS_INFINITY__ 1
2824// TCE:#define __FLT_HAS_QUIET_NAN__ 1
2825// TCE:#define __FLT_MANT_DIG__ 24
2826// TCE:#define __FLT_MAX_10_EXP__ 38
2827// TCE:#define __FLT_MAX_EXP__ 128
2828// TCE:#define __FLT_MAX__ 3.40282347e+38F
2829// TCE:#define __FLT_MIN_10_EXP__ (-37)
2830// TCE:#define __FLT_MIN_EXP__ (-125)
2831// TCE:#define __FLT_MIN__ 1.17549435e-38F
2832// TCE:#define __FLT_RADIX__ 2
2833// TCE:#define __INT16_TYPE__ short
2834// TCE:#define __INT32_TYPE__ int
2835// TCE:#define __INT8_TYPE__ char
2836// TCE:#define __INTMAX_MAX__ 2147483647L
Ken Dyck8241d732009-11-19 13:18:59 +00002837// TCE:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00002838// TCE:#define __INTMAX_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00002839// TCE:#define __INTPTR_TYPE__ int
Ken Dyckd896e1a2009-11-18 20:05:48 +00002840// TCE:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002841// TCE:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00002842// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002843// TCE:#define __LDBL_DIG__ 6
Eli Friedman75e8efe2012-11-10 00:20:38 +00002844// TCE:#define __LDBL_EPSILON__ 1.19209290e-7L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002845// TCE:#define __LDBL_HAS_DENORM__ 1
2846// TCE:#define __LDBL_HAS_INFINITY__ 1
2847// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
2848// TCE:#define __LDBL_MANT_DIG__ 24
2849// TCE:#define __LDBL_MAX_10_EXP__ 38
2850// TCE:#define __LDBL_MAX_EXP__ 128
Eli Friedman75e8efe2012-11-10 00:20:38 +00002851// TCE:#define __LDBL_MAX__ 3.40282347e+38L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002852// TCE:#define __LDBL_MIN_10_EXP__ (-37)
2853// TCE:#define __LDBL_MIN_EXP__ (-125)
Eli Friedman75e8efe2012-11-10 00:20:38 +00002854// TCE:#define __LDBL_MIN__ 1.17549435e-38L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002855// TCE:#define __LONG_LONG_MAX__ 2147483647LL
2856// TCE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002857// TCE-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +00002858// TCE:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00002859// TCE:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +00002860// TCE:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002861// TCE:#define __SCHAR_MAX__ 127
2862// TCE:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00002863// TCE:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00002864// TCE:#define __SIZEOF_DOUBLE__ 4
2865// TCE:#define __SIZEOF_FLOAT__ 4
2866// TCE:#define __SIZEOF_INT__ 4
2867// TCE:#define __SIZEOF_LONG_DOUBLE__ 4
2868// TCE:#define __SIZEOF_LONG_LONG__ 4
2869// TCE:#define __SIZEOF_LONG__ 4
2870// TCE:#define __SIZEOF_POINTER__ 4
2871// TCE:#define __SIZEOF_PTRDIFF_T__ 4
2872// TCE:#define __SIZEOF_SHORT__ 2
2873// TCE:#define __SIZEOF_SIZE_T__ 4
2874// TCE:#define __SIZEOF_WCHAR_T__ 4
2875// TCE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002876// TCE:#define __SIZE_MAX__ 4294967295U
Chris Lattnerbceaf862009-10-29 04:55:36 +00002877// TCE:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00002878// TCE:#define __SIZE_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002879// TCE:#define __TCE_V1__ 1
2880// TCE:#define __TCE__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00002881// TCE:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002882// TCE:#define __USER_LABEL_PREFIX__ _
2883// TCE:#define __WCHAR_MAX__ 2147483647
2884// TCE:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00002885// TCE:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002886// TCE:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00002887// TCE:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002888// TCE:#define __tce 1
2889// TCE:#define __tce__ 1
2890// TCE:#define tce 1
2891//
Daniel Dunbara5728872009-12-15 20:14:24 +00002892// 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 +00002893//
2894// X86_64:#define _LP64 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002895// X86_64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00002896// X86_64:#define __CHAR16_TYPE__ unsigned short
2897// X86_64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002898// X86_64:#define __CHAR_BIT__ 8
2899// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2900// X86_64:#define __DBL_DIG__ 15
2901// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
2902// X86_64:#define __DBL_HAS_DENORM__ 1
2903// X86_64:#define __DBL_HAS_INFINITY__ 1
2904// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
2905// X86_64:#define __DBL_MANT_DIG__ 53
2906// X86_64:#define __DBL_MAX_10_EXP__ 308
2907// X86_64:#define __DBL_MAX_EXP__ 1024
2908// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
2909// X86_64:#define __DBL_MIN_10_EXP__ (-307)
2910// X86_64:#define __DBL_MIN_EXP__ (-1021)
2911// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
2912// X86_64:#define __DECIMAL_DIG__ 21
2913// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2914// X86_64:#define __FLT_DIG__ 6
2915// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
2916// X86_64:#define __FLT_EVAL_METHOD__ 0
2917// X86_64:#define __FLT_HAS_DENORM__ 1
2918// X86_64:#define __FLT_HAS_INFINITY__ 1
2919// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
2920// X86_64:#define __FLT_MANT_DIG__ 24
2921// X86_64:#define __FLT_MAX_10_EXP__ 38
2922// X86_64:#define __FLT_MAX_EXP__ 128
2923// X86_64:#define __FLT_MAX__ 3.40282347e+38F
2924// X86_64:#define __FLT_MIN_10_EXP__ (-37)
2925// X86_64:#define __FLT_MIN_EXP__ (-125)
2926// X86_64:#define __FLT_MIN__ 1.17549435e-38F
2927// X86_64:#define __FLT_RADIX__ 2
2928// X86_64:#define __INT16_TYPE__ short
2929// X86_64:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00002930// X86_64:#define __INT64_C_SUFFIX__ L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002931// X86_64:#define __INT64_TYPE__ long int
2932// X86_64:#define __INT8_TYPE__ char
2933// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck8241d732009-11-19 13:18:59 +00002934// X86_64:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00002935// X86_64:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00002936// X86_64:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00002937// X86_64:#define __INTPTR_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00002938// X86_64:#define __INT_MAX__ 2147483647
2939// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
2940// X86_64:#define __LDBL_DIG__ 18
2941// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
2942// X86_64:#define __LDBL_HAS_DENORM__ 1
2943// X86_64:#define __LDBL_HAS_INFINITY__ 1
2944// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
2945// X86_64:#define __LDBL_MANT_DIG__ 64
2946// X86_64:#define __LDBL_MAX_10_EXP__ 4932
2947// X86_64:#define __LDBL_MAX_EXP__ 16384
2948// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
2949// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
2950// X86_64:#define __LDBL_MIN_EXP__ (-16381)
2951// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
2952// X86_64:#define __LITTLE_ENDIAN__ 1
2953// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
2954// X86_64:#define __LONG_MAX__ 9223372036854775807L
2955// X86_64:#define __LP64__ 1
2956// X86_64:#define __MMX__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00002957// X86_64:#define __NO_MATH_INLINES 1
2958// X86_64:#define __POINTER_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00002959// X86_64:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00002960// X86_64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00002961// X86_64:#define __REGISTER_PREFIX__
2962// X86_64:#define __SCHAR_MAX__ 127
2963// X86_64:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00002964// X86_64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00002965// X86_64:#define __SIZEOF_DOUBLE__ 8
2966// X86_64:#define __SIZEOF_FLOAT__ 4
2967// X86_64:#define __SIZEOF_INT__ 4
2968// X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
2969// X86_64:#define __SIZEOF_LONG_LONG__ 8
2970// X86_64:#define __SIZEOF_LONG__ 8
2971// X86_64:#define __SIZEOF_POINTER__ 8
2972// X86_64:#define __SIZEOF_PTRDIFF_T__ 8
2973// X86_64:#define __SIZEOF_SHORT__ 2
2974// X86_64:#define __SIZEOF_SIZE_T__ 8
2975// X86_64:#define __SIZEOF_WCHAR_T__ 4
2976// X86_64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002977// X86_64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnerbceaf862009-10-29 04:55:36 +00002978// X86_64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00002979// X86_64:#define __SIZE_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00002980// X86_64:#define __SSE2_MATH__ 1
2981// X86_64:#define __SSE2__ 1
2982// X86_64:#define __SSE_MATH__ 1
2983// X86_64:#define __SSE__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00002984// X86_64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002985// X86_64:#define __USER_LABEL_PREFIX__ _
2986// X86_64:#define __WCHAR_MAX__ 2147483647
2987// X86_64:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00002988// X86_64:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002989// X86_64:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00002990// X86_64:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002991// X86_64:#define __amd64 1
2992// X86_64:#define __amd64__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00002993// X86_64:#define __x86_64 1
2994// X86_64:#define __x86_64__ 1
2995//
Douglas Gregor12e84642011-01-12 21:19:25 +00002996// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
2997//
2998// X86_64-LINUX:#define _LP64 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002999// X86_64-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregor12e84642011-01-12 21:19:25 +00003000// X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
3001// X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
3002// X86_64-LINUX:#define __CHAR_BIT__ 8
3003// X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3004// X86_64-LINUX:#define __DBL_DIG__ 15
3005// X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
3006// X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
3007// X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
3008// X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
3009// X86_64-LINUX:#define __DBL_MANT_DIG__ 53
3010// X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
3011// X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
3012// X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
3013// X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
3014// X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
3015// X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
3016// X86_64-LINUX:#define __DECIMAL_DIG__ 21
3017// X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3018// X86_64-LINUX:#define __FLT_DIG__ 6
3019// X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
3020// X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
3021// X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
3022// X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
3023// X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
3024// X86_64-LINUX:#define __FLT_MANT_DIG__ 24
3025// X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
3026// X86_64-LINUX:#define __FLT_MAX_EXP__ 128
3027// X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
3028// X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
3029// X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
3030// X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
3031// X86_64-LINUX:#define __FLT_RADIX__ 2
3032// X86_64-LINUX:#define __INT16_TYPE__ short
3033// X86_64-LINUX:#define __INT32_TYPE__ int
3034// X86_64-LINUX:#define __INT64_C_SUFFIX__ L
3035// X86_64-LINUX:#define __INT64_TYPE__ long int
3036// X86_64-LINUX:#define __INT8_TYPE__ char
3037// X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
3038// X86_64-LINUX:#define __INTMAX_TYPE__ long int
3039// X86_64-LINUX:#define __INTMAX_WIDTH__ 64
3040// X86_64-LINUX:#define __INTPTR_TYPE__ long int
3041// X86_64-LINUX:#define __INTPTR_WIDTH__ 64
3042// X86_64-LINUX:#define __INT_MAX__ 2147483647
3043// X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3044// X86_64-LINUX:#define __LDBL_DIG__ 18
3045// X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3046// X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
3047// X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
3048// X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
3049// X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
3050// X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
3051// X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
3052// X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3053// X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
3054// X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
3055// X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3056// X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
3057// X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
3058// X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
3059// X86_64-LINUX:#define __LP64__ 1
3060// X86_64-LINUX:#define __MMX__ 1
Douglas Gregor12e84642011-01-12 21:19:25 +00003061// X86_64-LINUX:#define __NO_MATH_INLINES 1
3062// X86_64-LINUX:#define __POINTER_WIDTH__ 64
3063// X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
3064// X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
3065// X86_64-LINUX:#define __REGISTER_PREFIX__
3066// X86_64-LINUX:#define __SCHAR_MAX__ 127
3067// X86_64-LINUX:#define __SHRT_MAX__ 32767
3068// X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
3069// X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
3070// X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
3071// X86_64-LINUX:#define __SIZEOF_INT__ 4
3072// X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
3073// X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
3074// X86_64-LINUX:#define __SIZEOF_LONG__ 8
3075// X86_64-LINUX:#define __SIZEOF_POINTER__ 8
3076// X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
3077// X86_64-LINUX:#define __SIZEOF_SHORT__ 2
3078// X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
3079// X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
3080// X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00003081// X86_64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Douglas Gregor12e84642011-01-12 21:19:25 +00003082// X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
3083// X86_64-LINUX:#define __SIZE_WIDTH__ 64
3084// X86_64-LINUX:#define __SSE2_MATH__ 1
3085// X86_64-LINUX:#define __SSE2__ 1
3086// X86_64-LINUX:#define __SSE_MATH__ 1
3087// X86_64-LINUX:#define __SSE__ 1
3088// X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
3089// X86_64-LINUX:#define __USER_LABEL_PREFIX__
3090// X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
3091// X86_64-LINUX:#define __WCHAR_TYPE__ int
3092// X86_64-LINUX:#define __WCHAR_WIDTH__ 32
3093// X86_64-LINUX:#define __WINT_TYPE__ unsigned int
3094// X86_64-LINUX:#define __WINT_WIDTH__ 32
3095// X86_64-LINUX:#define __amd64 1
3096// X86_64-LINUX:#define __amd64__ 1
Douglas Gregor12e84642011-01-12 21:19:25 +00003097// X86_64-LINUX:#define __x86_64 1
3098// X86_64-LINUX:#define __x86_64__ 1
3099//
Ed Schouten5ada7a52013-09-29 07:54:52 +00003100// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-unknown-freebsd9.1 < /dev/null | FileCheck -check-prefix X86_64-FREEBSD %s
3101//
3102// X86_64-FREEBSD:#define __FreeBSD__ 9
3103// X86_64-FREEBSD:#define __FreeBSD_cc_version 900001
3104// X86_64-FREEBSD:#define __STDC_MB_MIGHT_NEQ_WC__ 1
3105//
Joerg Sonnenberger8daa7fe2013-11-11 14:00:37 +00003106// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-netbsd < /dev/null | FileCheck -check-prefix X86_64-NETBSD %s
3107//
3108// X86_64-NETBSD:#define _LP64 1
3109// X86_64-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
3110// X86_64-NETBSD:#define __CHAR16_TYPE__ unsigned short
3111// X86_64-NETBSD:#define __CHAR32_TYPE__ unsigned int
3112// X86_64-NETBSD:#define __CHAR_BIT__ 8
3113// X86_64-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3114// X86_64-NETBSD:#define __DBL_DIG__ 15
3115// X86_64-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
3116// X86_64-NETBSD:#define __DBL_HAS_DENORM__ 1
3117// X86_64-NETBSD:#define __DBL_HAS_INFINITY__ 1
3118// X86_64-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
3119// X86_64-NETBSD:#define __DBL_MANT_DIG__ 53
3120// X86_64-NETBSD:#define __DBL_MAX_10_EXP__ 308
3121// X86_64-NETBSD:#define __DBL_MAX_EXP__ 1024
3122// X86_64-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
3123// X86_64-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
3124// X86_64-NETBSD:#define __DBL_MIN_EXP__ (-1021)
3125// X86_64-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
3126// X86_64-NETBSD:#define __DECIMAL_DIG__ 21
3127// X86_64-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3128// X86_64-NETBSD:#define __FLT_DIG__ 6
3129// X86_64-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
3130// X86_64-NETBSD:#define __FLT_EVAL_METHOD__ 0
3131// X86_64-NETBSD:#define __FLT_HAS_DENORM__ 1
3132// X86_64-NETBSD:#define __FLT_HAS_INFINITY__ 1
3133// X86_64-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
3134// X86_64-NETBSD:#define __FLT_MANT_DIG__ 24
3135// X86_64-NETBSD:#define __FLT_MAX_10_EXP__ 38
3136// X86_64-NETBSD:#define __FLT_MAX_EXP__ 128
3137// X86_64-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
3138// X86_64-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
3139// X86_64-NETBSD:#define __FLT_MIN_EXP__ (-125)
3140// X86_64-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
3141// X86_64-NETBSD:#define __FLT_RADIX__ 2
3142// X86_64-NETBSD:#define __INT16_TYPE__ short
3143// X86_64-NETBSD:#define __INT32_TYPE__ int
3144// X86_64-NETBSD:#define __INT64_C_SUFFIX__ L
3145// X86_64-NETBSD:#define __INT64_TYPE__ long int
3146// X86_64-NETBSD:#define __INT8_TYPE__ char
3147// X86_64-NETBSD:#define __INTMAX_MAX__ 9223372036854775807L
3148// X86_64-NETBSD:#define __INTMAX_TYPE__ long int
3149// X86_64-NETBSD:#define __INTMAX_WIDTH__ 64
3150// X86_64-NETBSD:#define __INTPTR_TYPE__ long int
3151// X86_64-NETBSD:#define __INTPTR_WIDTH__ 64
3152// X86_64-NETBSD:#define __INT_MAX__ 2147483647
3153// X86_64-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3154// X86_64-NETBSD:#define __LDBL_DIG__ 18
3155// X86_64-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3156// X86_64-NETBSD:#define __LDBL_HAS_DENORM__ 1
3157// X86_64-NETBSD:#define __LDBL_HAS_INFINITY__ 1
3158// X86_64-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
3159// X86_64-NETBSD:#define __LDBL_MANT_DIG__ 64
3160// X86_64-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
3161// X86_64-NETBSD:#define __LDBL_MAX_EXP__ 16384
3162// X86_64-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3163// X86_64-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
3164// X86_64-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
3165// X86_64-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3166// X86_64-NETBSD:#define __LITTLE_ENDIAN__ 1
3167// X86_64-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
3168// X86_64-NETBSD:#define __LONG_MAX__ 9223372036854775807L
3169// X86_64-NETBSD:#define __LP64__ 1
3170// X86_64-NETBSD:#define __MMX__ 1
3171// X86_64-NETBSD:#define __NO_MATH_INLINES 1
3172// X86_64-NETBSD:#define __POINTER_WIDTH__ 64
3173// X86_64-NETBSD:#define __PTRDIFF_TYPE__ long int
3174// X86_64-NETBSD:#define __PTRDIFF_WIDTH__ 64
3175// X86_64-NETBSD:#define __REGISTER_PREFIX__
3176// X86_64-NETBSD:#define __SCHAR_MAX__ 127
3177// X86_64-NETBSD:#define __SHRT_MAX__ 32767
3178// X86_64-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
3179// X86_64-NETBSD:#define __SIZEOF_DOUBLE__ 8
3180// X86_64-NETBSD:#define __SIZEOF_FLOAT__ 4
3181// X86_64-NETBSD:#define __SIZEOF_INT__ 4
3182// X86_64-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 16
3183// X86_64-NETBSD:#define __SIZEOF_LONG_LONG__ 8
3184// X86_64-NETBSD:#define __SIZEOF_LONG__ 8
3185// X86_64-NETBSD:#define __SIZEOF_POINTER__ 8
3186// X86_64-NETBSD:#define __SIZEOF_PTRDIFF_T__ 8
3187// X86_64-NETBSD:#define __SIZEOF_SHORT__ 2
3188// X86_64-NETBSD:#define __SIZEOF_SIZE_T__ 8
3189// X86_64-NETBSD:#define __SIZEOF_WCHAR_T__ 4
3190// X86_64-NETBSD:#define __SIZEOF_WINT_T__ 4
3191// X86_64-NETBSD:#define __SIZE_MAX__ 18446744073709551615UL
3192// X86_64-NETBSD:#define __SIZE_TYPE__ long unsigned int
3193// X86_64-NETBSD:#define __SIZE_WIDTH__ 64
3194// X86_64-NETBSD:#define __SSE2_MATH__ 1
3195// X86_64-NETBSD:#define __SSE2__ 1
3196// X86_64-NETBSD:#define __SSE_MATH__ 1
3197// X86_64-NETBSD:#define __SSE__ 1
3198// X86_64-NETBSD:#define __UINTMAX_TYPE__ long unsigned int
3199// X86_64-NETBSD:#define __USER_LABEL_PREFIX__
3200// X86_64-NETBSD:#define __WCHAR_MAX__ 2147483647
3201// X86_64-NETBSD:#define __WCHAR_TYPE__ int
3202// X86_64-NETBSD:#define __WCHAR_WIDTH__ 32
3203// X86_64-NETBSD:#define __WINT_TYPE__ int
3204// X86_64-NETBSD:#define __WINT_WIDTH__ 32
3205// X86_64-NETBSD:#define __amd64 1
3206// X86_64-NETBSD:#define __amd64__ 1
3207// X86_64-NETBSD:#define __x86_64 1
3208// X86_64-NETBSD:#define __x86_64__ 1
3209//
Jakob Stoklund Olesenfcec0c92013-05-15 03:22:33 +00003210// 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 +00003211// SPARCV9:#define __INT64_TYPE__ long int
Jakob Stoklund Olesenfcec0c92013-05-15 03:22:33 +00003212// SPARCV9:#define __INTMAX_TYPE__ long int
3213// SPARCV9:#define __INTPTR_TYPE__ long int
3214// SPARCV9:#define __LONG_MAX__ 9223372036854775807L
3215// SPARCV9:#define __LP64__ 1
3216// SPARCV9:#define __SIZEOF_LONG__ 8
3217// SPARCV9:#define __SIZEOF_POINTER__ 8
3218//
Jakob Stoklund Olesen5ac8c4f2013-05-19 17:53:37 +00003219// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-openbsd < /dev/null | FileCheck -check-prefix SPARC64-OBSD %s
3220// SPARC64-OBSD:#define __INT64_TYPE__ long long int
3221// SPARC64-OBSD:#define __INTMAX_TYPE__ long long int
3222// SPARC64-OBSD:#define __UINTMAX_TYPE__ long long unsigned int
3223//
Sylvestre Ledrubd461422013-09-06 14:53:07 +00003224// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSD-DEFINE %s
3225// KFREEBSD-DEFINE:#define __FreeBSD_kernel__ 1
3226// KFREEBSD-DEFINE:#define __GLIBC__ 1
3227//
Sylvestre Ledru906db272013-09-06 15:36:36 +00003228// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i686-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSDI686-DEFINE %s
3229// KFREEBSDI686-DEFINE:#define __FreeBSD_kernel__ 1
3230// KFREEBSDI686-DEFINE:#define __GLIBC__ 1
3231//
David Chisnall11d3f4c2012-07-03 20:49:52 +00003232// 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 +00003233// GNUSOURCE:#define _GNU_SOURCE 1
Sylvestre Ledru906db272013-09-06 15:36:36 +00003234//
Dan Gohmancfeac342010-05-28 00:27:15 +00003235// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
3236// NORTTI: __GXX_ABI_VERSION
3237// NORTTI-NOT:#define __GXX_RTTI
3238// NORTTI: __STDC__
Evgeniy Stepanov32064032012-04-26 12:08:09 +00003239//
3240// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
3241// ANDROID: __ANDROID__ 1
Sylvestre Ledru906db272013-09-06 15:36:36 +00003242//
Roman Divackyb2f6f472013-07-03 19:45:54 +00003243// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd < /dev/null | FileCheck -check-prefix PPC64-FREEBSD %s
3244// PPC64-FREEBSD-NOT: #define __LONG_DOUBLE_128__ 1
Robert Lytton5f15f4d2013-08-13 09:43:10 +00003245//
3246// RUN: %clang_cc1 -E -dM -ffreestanding -triple=xcore-none-none < /dev/null | FileCheck -check-prefix XCORE %s
3247// XCORE:#define __XS1B__ 1