blob: c1519a8a7f185e0d0648702257b4ded7d9060fc8 [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//
11//
Richard Smith4e24f0f2013-01-02 12:01:23 +000012// RUN: %clang_cc1 -x c++ -std=c++11 -E -dM < /dev/null | FileCheck -check-prefix CXX11 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000013//
Richard Smith4e24f0f2013-01-02 12:01:23 +000014// CXX11:#define __GNUG__
15// CXX11:#define __GXX_EXPERIMENTAL_CXX0X__ 1
16// CXX11:#define __GXX_RTTI 1
17// CXX11:#define __GXX_WEAK__ 1
18// CXX11:#define __cplusplus 201103L
19// CXX11:#define __private_extern__ extern
Chris Lattnerbceaf862009-10-29 04:55:36 +000020//
21//
Daniel Dunbara5728872009-12-15 20:14:24 +000022// RUN: %clang_cc1 -x c++ -std=c++98 -E -dM < /dev/null | FileCheck -check-prefix CXX98 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000023//
Chris Lattnerbceaf862009-10-29 04:55:36 +000024// CXX98:#define __GNUG__
Dan Gohmancfeac342010-05-28 00:27:15 +000025// CXX98:#define __GXX_RTTI 1
Chris Lattnerbceaf862009-10-29 04:55:36 +000026// CXX98:#define __GXX_WEAK__ 1
27// CXX98:#define __cplusplus 199711L
28// CXX98:#define __private_extern__ extern
29//
30//
Chandler Carruthf8c247d2011-04-23 19:48:40 +000031// RUN: %clang_cc1 -fdeprecated-macro -E -dM < /dev/null | FileCheck -check-prefix DEPRECATED %s
32//
33// DEPRECATED:#define __DEPRECATED 1
34//
35//
Daniel Dunbara5728872009-12-15 20:14:24 +000036// RUN: %clang_cc1 -std=c99 -E -dM < /dev/null | FileCheck -check-prefix C99 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000037//
38// C99:#define __STDC_VERSION__ 199901L
39// C99:#define __STRICT_ANSI__ 1
40//
41//
Daniel Dunbara5728872009-12-15 20:14:24 +000042// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix COMMON %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000043//
44// COMMON:#define __CONSTANT_CFSTRINGS__ 1
45// COMMON:#define __FINITE_MATH_ONLY__ 0
46// COMMON:#define __GNUC_MINOR__
47// COMMON:#define __GNUC_PATCHLEVEL__
48// COMMON:#define __GNUC_STDC_INLINE__ 1
49// COMMON:#define __GNUC__
50// COMMON:#define __GXX_ABI_VERSION
Dylan Noblesmith3b198a92012-07-27 18:34:31 +000051// COMMON:#define __ORDER_BIG_ENDIAN__ 4321
52// COMMON:#define __ORDER_LITTLE_ENDIAN__ 1234
53// COMMON:#define __ORDER_PDP_ENDIAN__ 3412
Chris Lattnerbceaf862009-10-29 04:55:36 +000054// COMMON:#define __STDC_HOSTED__ 1
55// COMMON:#define __STDC_VERSION__
56// COMMON:#define __STDC__ 1
57// COMMON:#define __VERSION__
58// COMMON:#define __clang__ 1
Daniel Dunbarc4b8e922010-06-25 23:34:47 +000059// COMMON:#define __clang_major__ {{[0-9]+}}
60// COMMON:#define __clang_minor__ {{[0-9]+}}
61// COMMON:#define __clang_patchlevel__ {{[0-9]+}}
Douglas Gregorcf00ac82010-04-30 03:07:23 +000062// COMMON:#define __clang_version__
Chris Lattnerbceaf862009-10-29 04:55:36 +000063// COMMON:#define __llvm__ 1
64//
65//
Daniel Dunbara5728872009-12-15 20:14:24 +000066// RUN: %clang_cc1 -ffreestanding -E -dM < /dev/null | FileCheck -check-prefix FREESTANDING %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000067// FREESTANDING:#define __STDC_HOSTED__ 0
Richard Smith05134482012-05-03 22:18:20 +000068//
69//
70// RUN: %clang_cc1 -x c++ -std=gnu++11 -E -dM < /dev/null | FileCheck -check-prefix GXX11 %s
71//
72// GXX11:#define __GNUG__
73// GXX11:#define __GXX_WEAK__ 1
74// GXX11:#define __cplusplus 201103L
75// GXX11:#define __private_extern__ extern
76//
77//
Daniel Dunbara5728872009-12-15 20:14:24 +000078// RUN: %clang_cc1 -x c++ -std=gnu++98 -E -dM < /dev/null | FileCheck -check-prefix GXX98 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000079//
Chris Lattnerbceaf862009-10-29 04:55:36 +000080// GXX98:#define __GNUG__
81// GXX98:#define __GXX_WEAK__ 1
Richard Smith05134482012-05-03 22:18:20 +000082// GXX98:#define __cplusplus 199711L
Chris Lattnerbceaf862009-10-29 04:55:36 +000083// GXX98:#define __private_extern__ extern
84//
85//
Daniel Dunbara5728872009-12-15 20:14:24 +000086// RUN: %clang_cc1 -std=iso9899:199409 -E -dM < /dev/null | FileCheck -check-prefix C94 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000087//
88// C94:#define __STDC_VERSION__ 199409L
89//
90//
David Chisnall11d3f4c2012-07-03 20:49:52 +000091// RUN: %clang_cc1 -fms-extensions -triple i686-pc-win32 -fobjc-runtime=gcc -E -dM < /dev/null | FileCheck -check-prefix MSEXT %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000092//
93// MSEXT-NOT:#define __STDC__
Douglas Gregor72283802010-08-06 12:37:52 +000094// MSEXT:#define _INTEGRAL_MAX_BITS 64
Chris Lattnerbceaf862009-10-29 04:55:36 +000095//
96//
Daniel Dunbara5728872009-12-15 20:14:24 +000097// RUN: %clang_cc1 -x objective-c -E -dM < /dev/null | FileCheck -check-prefix OBJC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000098//
99// OBJC:#define OBJC_NEW_PROPERTIES 1
Daniel Dunbarc5a97ec2009-11-17 07:07:28 +0000100// OBJC:#define __NEXT_RUNTIME__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +0000101// OBJC:#define __OBJC__ 1
102//
Daniel Dunbarc5a97ec2009-11-17 07:07:28 +0000103//
Daniel Dunbara5728872009-12-15 20:14:24 +0000104// RUN: %clang_cc1 -x objective-c -fobjc-gc -E -dM < /dev/null | FileCheck -check-prefix OBJCGC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000105//
106// OBJCGC:#define __OBJC_GC__ 1
107//
108//
John McCalld1e40d52011-10-02 01:16:38 +0000109// RUN: %clang_cc1 -x objective-c -fobjc-exceptions -E -dM < /dev/null | FileCheck -check-prefix NONFRAGILE %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000110//
111// NONFRAGILE:#define OBJC_ZEROCOST_EXCEPTIONS 1
112// NONFRAGILE:#define __OBJC2__ 1
113//
Dylan Noblesmithf23e8d22012-08-08 16:09:15 +0000114//
115// RUN: %clang_cc1 -O0 -E -dM < /dev/null | FileCheck -check-prefix O0 %s
116//
117// O0:#define __NO_INLINE__ 1
118// O0-NOT:#define __OPTIMIZE_SIZE__
119// O0-NOT:#define __OPTIMIZE__
120//
121//
122// RUN: %clang_cc1 -fno-inline -O3 -E -dM < /dev/null | FileCheck -check-prefix NO_INLINE %s
123//
124// NO_INLINE:#define __NO_INLINE__ 1
125// NO_INLINE-NOT:#define __OPTIMIZE_SIZE__
126// NO_INLINE:#define __OPTIMIZE__
127//
128//
Daniel Dunbara5728872009-12-15 20:14:24 +0000129// RUN: %clang_cc1 -O1 -E -dM < /dev/null | FileCheck -check-prefix O1 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000130//
Dylan Noblesmithf23e8d22012-08-08 16:09:15 +0000131// O1-NOT:#define __OPTIMIZE_SIZE__
Chris Lattnerbceaf862009-10-29 04:55:36 +0000132// O1:#define __OPTIMIZE__ 1
133//
Dylan Noblesmithf23e8d22012-08-08 16:09:15 +0000134//
135// RUN: %clang_cc1 -Os -E -dM < /dev/null | FileCheck -check-prefix Os %s
136//
137// Os:#define __OPTIMIZE_SIZE__ 1
138// Os:#define __OPTIMIZE__ 1
139//
140//
141// RUN: %clang_cc1 -Oz -E -dM < /dev/null | FileCheck -check-prefix Oz %s
142//
143// Oz:#define __OPTIMIZE_SIZE__ 1
144// Oz:#define __OPTIMIZE__ 1
145//
146//
Daniel Dunbara5728872009-12-15 20:14:24 +0000147// RUN: %clang_cc1 -fpascal-strings -E -dM < /dev/null | FileCheck -check-prefix PASCAL %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000148//
149// PASCAL:#define __PASCAL_STRINGS__ 1
150//
151//
Daniel Dunbara5728872009-12-15 20:14:24 +0000152// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix SCHAR %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000153//
154// SCHAR:#define __STDC__ 1
155// SCHAR-NOT:#define __UNSIGNED_CHAR__
156// SCHAR:#define __clang__ 1
157//
Eli Friedman1d832432010-08-03 17:34:19 +0000158// RUN: %clang_cc1 -E -dM -fshort-wchar < /dev/null | FileCheck -check-prefix SHORTWCHAR %s
159//
160// SHORTWCHAR: #define __SIZEOF_WCHAR_T__ 2
161// SHORTWCHAR: #define __WCHAR_MAX__ 65535U
162// SHORTWCHAR: #define __WCHAR_TYPE__ unsigned short
163// SHORTWCHAR: #define __WCHAR_WIDTH__ 16
164//
Daniel Dunbara5728872009-12-15 20:14:24 +0000165// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000166//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000167// ARM-NOT:#define _LP64
Chris Lattnerbceaf862009-10-29 04:55:36 +0000168// ARM:#define __APCS_32__ 1
169// ARM:#define __ARMEL__ 1
Daniel Dunbareac7c532009-12-18 18:42:37 +0000170// ARM:#define __ARM_ARCH_6J__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000171// ARM:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +0000172// ARM:#define __CHAR16_TYPE__ unsigned short
173// ARM:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000174// ARM:#define __CHAR_BIT__ 8
175// ARM:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
176// ARM:#define __DBL_DIG__ 15
177// ARM:#define __DBL_EPSILON__ 2.2204460492503131e-16
178// ARM:#define __DBL_HAS_DENORM__ 1
179// ARM:#define __DBL_HAS_INFINITY__ 1
180// ARM:#define __DBL_HAS_QUIET_NAN__ 1
181// ARM:#define __DBL_MANT_DIG__ 53
182// ARM:#define __DBL_MAX_10_EXP__ 308
183// ARM:#define __DBL_MAX_EXP__ 1024
184// ARM:#define __DBL_MAX__ 1.7976931348623157e+308
185// ARM:#define __DBL_MIN_10_EXP__ (-307)
186// ARM:#define __DBL_MIN_EXP__ (-1021)
187// ARM:#define __DBL_MIN__ 2.2250738585072014e-308
188// ARM:#define __DECIMAL_DIG__ 17
189// ARM:#define __FLT_DENORM_MIN__ 1.40129846e-45F
190// ARM:#define __FLT_DIG__ 6
191// ARM:#define __FLT_EPSILON__ 1.19209290e-7F
192// ARM:#define __FLT_EVAL_METHOD__ 0
193// ARM:#define __FLT_HAS_DENORM__ 1
194// ARM:#define __FLT_HAS_INFINITY__ 1
195// ARM:#define __FLT_HAS_QUIET_NAN__ 1
196// ARM:#define __FLT_MANT_DIG__ 24
197// ARM:#define __FLT_MAX_10_EXP__ 38
198// ARM:#define __FLT_MAX_EXP__ 128
199// ARM:#define __FLT_MAX__ 3.40282347e+38F
200// ARM:#define __FLT_MIN_10_EXP__ (-37)
201// ARM:#define __FLT_MIN_EXP__ (-125)
202// ARM:#define __FLT_MIN__ 1.17549435e-38F
203// ARM:#define __FLT_RADIX__ 2
204// ARM:#define __INT16_TYPE__ short
205// ARM:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000206// ARM:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000207// ARM:#define __INT64_TYPE__ long long int
208// ARM:#define __INT8_TYPE__ char
209// ARM:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +0000210// ARM:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +0000211// ARM:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000212// ARM:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000213// ARM:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000214// ARM:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +0000215// ARM:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +0000216// ARM:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +0000217// ARM:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnerbceaf862009-10-29 04:55:36 +0000218// ARM:#define __LDBL_HAS_DENORM__ 1
219// ARM:#define __LDBL_HAS_INFINITY__ 1
220// ARM:#define __LDBL_HAS_QUIET_NAN__ 1
221// ARM:#define __LDBL_MANT_DIG__ 53
222// ARM:#define __LDBL_MAX_10_EXP__ 308
223// ARM:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +0000224// ARM:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnerbceaf862009-10-29 04:55:36 +0000225// ARM:#define __LDBL_MIN_10_EXP__ (-307)
226// ARM:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +0000227// ARM:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnerbceaf862009-10-29 04:55:36 +0000228// ARM:#define __LITTLE_ENDIAN__ 1
229// ARM:#define __LONG_LONG_MAX__ 9223372036854775807LL
230// ARM:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000231// ARM-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +0000232// ARM:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000233// ARM:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +0000234// ARM:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbareac7c532009-12-18 18:42:37 +0000235// ARM:#define __REGISTER_PREFIX__
Chris Lattnerbceaf862009-10-29 04:55:36 +0000236// ARM:#define __SCHAR_MAX__ 127
237// ARM:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000238// ARM:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000239// ARM:#define __SIZEOF_DOUBLE__ 8
240// ARM:#define __SIZEOF_FLOAT__ 4
241// ARM:#define __SIZEOF_INT__ 4
242// ARM:#define __SIZEOF_LONG_DOUBLE__ 8
243// ARM:#define __SIZEOF_LONG_LONG__ 8
244// ARM:#define __SIZEOF_LONG__ 4
245// ARM:#define __SIZEOF_POINTER__ 4
246// ARM:#define __SIZEOF_PTRDIFF_T__ 4
247// ARM:#define __SIZEOF_SHORT__ 2
248// ARM:#define __SIZEOF_SIZE_T__ 4
249// ARM:#define __SIZEOF_WCHAR_T__ 4
250// ARM:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000251// ARM:#define __SIZE_MAX__ 4294967295U
Chris Lattnerbceaf862009-10-29 04:55:36 +0000252// ARM:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000253// ARM:#define __SIZE_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000254// ARM:#define __THUMB_INTERWORK__ 1
Ken Dyck8241d732009-11-19 13:18:59 +0000255// ARM:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000256// ARM:#define __USER_LABEL_PREFIX__ _
James Molloya6d81f92011-11-23 13:35:08 +0000257// ARM:#define __WCHAR_MAX__ 4294967295U
258// ARM:#define __WCHAR_TYPE__ unsigned int
Ken Dyck63e65612009-11-19 15:47:58 +0000259// ARM:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000260// ARM:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000261// ARM:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000262// ARM:#define __arm 1
263// ARM:#define __arm__ 1
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000264
265// 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
266//
267// ARM-NOT:#define _LP64
268// ARMEABISOFTFP:#define __APCS_32__ 1
269// ARMEABISOFTFP:#define __ARMEL__ 1
270// ARMEABISOFTFP:#define __ARM_ARCH 6
271// ARMEABISOFTFP:#define __ARM_ARCH_6J__ 1
272// ARMEABISOFTFP:#define __ARM_EABI__ 1
273// ARMEABISOFTFP:#define __ARM_PCS 1
274// ARMEABISOFTFP-NOT:#define __ARM_PCS_VFP 1
275// ARMEABISOFTFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
276// ARMEABISOFTFP:#define __CHAR16_TYPE__ unsigned short
277// ARMEABISOFTFP:#define __CHAR32_TYPE__ unsigned int
278// ARMEABISOFTFP:#define __CHAR_BIT__ 8
279// ARMEABISOFTFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
280// ARMEABISOFTFP:#define __DBL_DIG__ 15
281// ARMEABISOFTFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
282// ARMEABISOFTFP:#define __DBL_HAS_DENORM__ 1
283// ARMEABISOFTFP:#define __DBL_HAS_INFINITY__ 1
284// ARMEABISOFTFP:#define __DBL_HAS_QUIET_NAN__ 1
285// ARMEABISOFTFP:#define __DBL_MANT_DIG__ 53
286// ARMEABISOFTFP:#define __DBL_MAX_10_EXP__ 308
287// ARMEABISOFTFP:#define __DBL_MAX_EXP__ 1024
288// ARMEABISOFTFP:#define __DBL_MAX__ 1.7976931348623157e+308
289// ARMEABISOFTFP:#define __DBL_MIN_10_EXP__ (-307)
290// ARMEABISOFTFP:#define __DBL_MIN_EXP__ (-1021)
291// ARMEABISOFTFP:#define __DBL_MIN__ 2.2250738585072014e-308
292// ARMEABISOFTFP:#define __DECIMAL_DIG__ 17
293// ARMEABISOFTFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
294// ARMEABISOFTFP:#define __FLT_DIG__ 6
295// ARMEABISOFTFP:#define __FLT_EPSILON__ 1.19209290e-7F
296// ARMEABISOFTFP:#define __FLT_EVAL_METHOD__ 0
297// ARMEABISOFTFP:#define __FLT_HAS_DENORM__ 1
298// ARMEABISOFTFP:#define __FLT_HAS_INFINITY__ 1
299// ARMEABISOFTFP:#define __FLT_HAS_QUIET_NAN__ 1
300// ARMEABISOFTFP:#define __FLT_MANT_DIG__ 24
301// ARMEABISOFTFP:#define __FLT_MAX_10_EXP__ 38
302// ARMEABISOFTFP:#define __FLT_MAX_EXP__ 128
303// ARMEABISOFTFP:#define __FLT_MAX__ 3.40282347e+38F
304// ARMEABISOFTFP:#define __FLT_MIN_10_EXP__ (-37)
305// ARMEABISOFTFP:#define __FLT_MIN_EXP__ (-125)
306// ARMEABISOFTFP:#define __FLT_MIN__ 1.17549435e-38F
307// ARMEABISOFTFP:#define __FLT_RADIX__ 2
308// ARMEABISOFTFP:#define __INT16_TYPE__ short
309// ARMEABISOFTFP:#define __INT32_TYPE__ int
310// ARMEABISOFTFP:#define __INT64_C_SUFFIX__ LL
311// ARMEABISOFTFP:#define __INT64_TYPE__ long long int
312// ARMEABISOFTFP:#define __INT8_TYPE__ char
313// ARMEABISOFTFP:#define __INTMAX_MAX__ 9223372036854775807LL
314// ARMEABISOFTFP:#define __INTMAX_TYPE__ long long int
315// ARMEABISOFTFP:#define __INTMAX_WIDTH__ 64
316// ARMEABISOFTFP:#define __INTPTR_TYPE__ long int
317// ARMEABISOFTFP:#define __INTPTR_WIDTH__ 32
318// ARMEABISOFTFP:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +0000319// ARMEABISOFTFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000320// ARMEABISOFTFP:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +0000321// ARMEABISOFTFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000322// ARMEABISOFTFP:#define __LDBL_HAS_DENORM__ 1
323// ARMEABISOFTFP:#define __LDBL_HAS_INFINITY__ 1
324// ARMEABISOFTFP:#define __LDBL_HAS_QUIET_NAN__ 1
325// ARMEABISOFTFP:#define __LDBL_MANT_DIG__ 53
326// ARMEABISOFTFP:#define __LDBL_MAX_10_EXP__ 308
327// ARMEABISOFTFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +0000328// ARMEABISOFTFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000329// ARMEABISOFTFP:#define __LDBL_MIN_10_EXP__ (-307)
330// ARMEABISOFTFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +0000331// ARMEABISOFTFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000332// ARMEABISOFTFP:#define __LITTLE_ENDIAN__ 1
333// ARMEABISOFTFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
334// ARMEABISOFTFP:#define __LONG_MAX__ 2147483647L
335// ARMEABISOFTFP-NOT:#define __LP64__
336// ARMEABISOFTFP:#define __POINTER_WIDTH__ 32
337// ARMEABISOFTFP:#define __PTRDIFF_TYPE__ int
338// ARMEABISOFTFP:#define __PTRDIFF_WIDTH__ 32
339// ARMEABISOFTFP:#define __REGISTER_PREFIX__
340// ARMEABISOFTFP:#define __SCHAR_MAX__ 127
341// ARMEABISOFTFP:#define __SHRT_MAX__ 32767
342// ARMEABISOFTFP:#define __SIG_ATOMIC_WIDTH__ 32
343// ARMEABISOFTFP:#define __SIZEOF_DOUBLE__ 8
344// ARMEABISOFTFP:#define __SIZEOF_FLOAT__ 4
345// ARMEABISOFTFP:#define __SIZEOF_INT__ 4
346// ARMEABISOFTFP:#define __SIZEOF_LONG_DOUBLE__ 8
347// ARMEABISOFTFP:#define __SIZEOF_LONG_LONG__ 8
348// ARMEABISOFTFP:#define __SIZEOF_LONG__ 4
349// ARMEABISOFTFP:#define __SIZEOF_POINTER__ 4
350// ARMEABISOFTFP:#define __SIZEOF_PTRDIFF_T__ 4
351// ARMEABISOFTFP:#define __SIZEOF_SHORT__ 2
352// ARMEABISOFTFP:#define __SIZEOF_SIZE_T__ 4
353// ARMEABISOFTFP:#define __SIZEOF_WCHAR_T__ 4
354// ARMEABISOFTFP:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000355// ARMEABISOFTFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000356// ARMEABISOFTFP:#define __SIZE_TYPE__ unsigned int
357// ARMEABISOFTFP:#define __SIZE_WIDTH__ 32
358// ARMEABISOFTFP:#define __SOFTFP__ 1
359// ARMEABISOFTFP:#define __THUMB_INTERWORK__ 1
360// ARMEABISOFTFP:#define __UINTMAX_TYPE__ long long unsigned int
361// ARMEABISOFTFP:#define __USER_LABEL_PREFIX__
362// ARMEABISOFTFP:#define __WCHAR_MAX__ 4294967295U
363// ARMEABISOFTFP:#define __WCHAR_TYPE__ unsigned int
364// ARMEABISOFTFP:#define __WCHAR_WIDTH__ 32
365// ARMEABISOFTFP:#define __WINT_TYPE__ unsigned int
366// ARMEABISOFTFP:#define __WINT_WIDTH__ 32
367// ARMEABISOFTFP:#define __arm 1
368// ARMEABISOFTFP:#define __arm__ 1
369
370// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-linux-gnueabi < /dev/null | FileCheck -check-prefix ARMEABIHARDFP %s
371//
372// ARM-NOT:#define _LP64
373// ARMEABIHARDFP:#define __APCS_32__ 1
374// ARMEABIHARDFP:#define __ARMEL__ 1
375// ARMEABIHARDFP:#define __ARM_ARCH 6
376// ARMEABIHARDFP:#define __ARM_ARCH_6J__ 1
377// ARMEABIHARDFP:#define __ARM_EABI__ 1
378// ARMEABIHARDFP:#define __ARM_PCS 1
379// ARMEABIHARDFP:#define __ARM_PCS_VFP 1
380// ARMEABIHARDFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
381// ARMEABIHARDFP:#define __CHAR16_TYPE__ unsigned short
382// ARMEABIHARDFP:#define __CHAR32_TYPE__ unsigned int
383// ARMEABIHARDFP:#define __CHAR_BIT__ 8
384// ARMEABIHARDFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
385// ARMEABIHARDFP:#define __DBL_DIG__ 15
386// ARMEABIHARDFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
387// ARMEABIHARDFP:#define __DBL_HAS_DENORM__ 1
388// ARMEABIHARDFP:#define __DBL_HAS_INFINITY__ 1
389// ARMEABIHARDFP:#define __DBL_HAS_QUIET_NAN__ 1
390// ARMEABIHARDFP:#define __DBL_MANT_DIG__ 53
391// ARMEABIHARDFP:#define __DBL_MAX_10_EXP__ 308
392// ARMEABIHARDFP:#define __DBL_MAX_EXP__ 1024
393// ARMEABIHARDFP:#define __DBL_MAX__ 1.7976931348623157e+308
394// ARMEABIHARDFP:#define __DBL_MIN_10_EXP__ (-307)
395// ARMEABIHARDFP:#define __DBL_MIN_EXP__ (-1021)
396// ARMEABIHARDFP:#define __DBL_MIN__ 2.2250738585072014e-308
397// ARMEABIHARDFP:#define __DECIMAL_DIG__ 17
398// ARMEABIHARDFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
399// ARMEABIHARDFP:#define __FLT_DIG__ 6
400// ARMEABIHARDFP:#define __FLT_EPSILON__ 1.19209290e-7F
401// ARMEABIHARDFP:#define __FLT_EVAL_METHOD__ 0
402// ARMEABIHARDFP:#define __FLT_HAS_DENORM__ 1
403// ARMEABIHARDFP:#define __FLT_HAS_INFINITY__ 1
404// ARMEABIHARDFP:#define __FLT_HAS_QUIET_NAN__ 1
405// ARMEABIHARDFP:#define __FLT_MANT_DIG__ 24
406// ARMEABIHARDFP:#define __FLT_MAX_10_EXP__ 38
407// ARMEABIHARDFP:#define __FLT_MAX_EXP__ 128
408// ARMEABIHARDFP:#define __FLT_MAX__ 3.40282347e+38F
409// ARMEABIHARDFP:#define __FLT_MIN_10_EXP__ (-37)
410// ARMEABIHARDFP:#define __FLT_MIN_EXP__ (-125)
411// ARMEABIHARDFP:#define __FLT_MIN__ 1.17549435e-38F
412// ARMEABIHARDFP:#define __FLT_RADIX__ 2
413// ARMEABIHARDFP:#define __INT16_TYPE__ short
414// ARMEABIHARDFP:#define __INT32_TYPE__ int
415// ARMEABIHARDFP:#define __INT64_C_SUFFIX__ LL
416// ARMEABIHARDFP:#define __INT64_TYPE__ long long int
417// ARMEABIHARDFP:#define __INT8_TYPE__ char
418// ARMEABIHARDFP:#define __INTMAX_MAX__ 9223372036854775807LL
419// ARMEABIHARDFP:#define __INTMAX_TYPE__ long long int
420// ARMEABIHARDFP:#define __INTMAX_WIDTH__ 64
421// ARMEABIHARDFP:#define __INTPTR_TYPE__ long int
422// ARMEABIHARDFP:#define __INTPTR_WIDTH__ 32
423// ARMEABIHARDFP:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +0000424// ARMEABIHARDFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000425// ARMEABIHARDFP:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +0000426// ARMEABIHARDFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000427// ARMEABIHARDFP:#define __LDBL_HAS_DENORM__ 1
428// ARMEABIHARDFP:#define __LDBL_HAS_INFINITY__ 1
429// ARMEABIHARDFP:#define __LDBL_HAS_QUIET_NAN__ 1
430// ARMEABIHARDFP:#define __LDBL_MANT_DIG__ 53
431// ARMEABIHARDFP:#define __LDBL_MAX_10_EXP__ 308
432// ARMEABIHARDFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +0000433// ARMEABIHARDFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000434// ARMEABIHARDFP:#define __LDBL_MIN_10_EXP__ (-307)
435// ARMEABIHARDFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +0000436// ARMEABIHARDFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000437// ARMEABIHARDFP:#define __LITTLE_ENDIAN__ 1
438// ARMEABIHARDFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
439// ARMEABIHARDFP:#define __LONG_MAX__ 2147483647L
440// ARMEABIHARDFP-NOT:#define __LP64__
441// ARMEABIHARDFP:#define __POINTER_WIDTH__ 32
442// ARMEABIHARDFP:#define __PTRDIFF_TYPE__ int
443// ARMEABIHARDFP:#define __PTRDIFF_WIDTH__ 32
444// ARMEABIHARDFP:#define __REGISTER_PREFIX__
445// ARMEABIHARDFP:#define __SCHAR_MAX__ 127
446// ARMEABIHARDFP:#define __SHRT_MAX__ 32767
447// ARMEABIHARDFP:#define __SIG_ATOMIC_WIDTH__ 32
448// ARMEABIHARDFP:#define __SIZEOF_DOUBLE__ 8
449// ARMEABIHARDFP:#define __SIZEOF_FLOAT__ 4
450// ARMEABIHARDFP:#define __SIZEOF_INT__ 4
451// ARMEABIHARDFP:#define __SIZEOF_LONG_DOUBLE__ 8
452// ARMEABIHARDFP:#define __SIZEOF_LONG_LONG__ 8
453// ARMEABIHARDFP:#define __SIZEOF_LONG__ 4
454// ARMEABIHARDFP:#define __SIZEOF_POINTER__ 4
455// ARMEABIHARDFP:#define __SIZEOF_PTRDIFF_T__ 4
456// ARMEABIHARDFP:#define __SIZEOF_SHORT__ 2
457// ARMEABIHARDFP:#define __SIZEOF_SIZE_T__ 4
458// ARMEABIHARDFP:#define __SIZEOF_WCHAR_T__ 4
459// ARMEABIHARDFP:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000460// ARMEABIHARDFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000461// ARMEABIHARDFP:#define __SIZE_TYPE__ unsigned int
462// ARMEABIHARDFP:#define __SIZE_WIDTH__ 32
463// ARMEABIHARDFP-NOT:#define __SOFTFP__ 1
464// ARMEABIHARDFP:#define __THUMB_INTERWORK__ 1
465// ARMEABIHARDFP:#define __UINTMAX_TYPE__ long long unsigned int
466// ARMEABIHARDFP:#define __USER_LABEL_PREFIX__
467// ARMEABIHARDFP:#define __WCHAR_MAX__ 4294967295U
468// ARMEABIHARDFP:#define __WCHAR_TYPE__ unsigned int
469// ARMEABIHARDFP:#define __WCHAR_WIDTH__ 32
470// ARMEABIHARDFP:#define __WINT_TYPE__ unsigned int
471// ARMEABIHARDFP:#define __WINT_WIDTH__ 32
472// ARMEABIHARDFP:#define __arm 1
473// ARMEABIHARDFP:#define __arm__ 1
474
Chris Lattnerbceaf862009-10-29 04:55:36 +0000475//
Daniel Dunbara5728872009-12-15 20:14:24 +0000476// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000477//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000478// I386-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000479// I386:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +0000480// I386:#define __CHAR16_TYPE__ unsigned short
481// I386:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000482// I386:#define __CHAR_BIT__ 8
483// I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
484// I386:#define __DBL_DIG__ 15
485// I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
486// I386:#define __DBL_HAS_DENORM__ 1
487// I386:#define __DBL_HAS_INFINITY__ 1
488// I386:#define __DBL_HAS_QUIET_NAN__ 1
489// I386:#define __DBL_MANT_DIG__ 53
490// I386:#define __DBL_MAX_10_EXP__ 308
491// I386:#define __DBL_MAX_EXP__ 1024
492// I386:#define __DBL_MAX__ 1.7976931348623157e+308
493// I386:#define __DBL_MIN_10_EXP__ (-307)
494// I386:#define __DBL_MIN_EXP__ (-1021)
495// I386:#define __DBL_MIN__ 2.2250738585072014e-308
496// I386:#define __DECIMAL_DIG__ 21
497// I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
498// I386:#define __FLT_DIG__ 6
499// I386:#define __FLT_EPSILON__ 1.19209290e-7F
Benjamin Kramerb4066692011-12-28 15:47:06 +0000500// I386:#define __FLT_EVAL_METHOD__ 2
Chris Lattnerbceaf862009-10-29 04:55:36 +0000501// I386:#define __FLT_HAS_DENORM__ 1
502// I386:#define __FLT_HAS_INFINITY__ 1
503// I386:#define __FLT_HAS_QUIET_NAN__ 1
504// I386:#define __FLT_MANT_DIG__ 24
505// I386:#define __FLT_MAX_10_EXP__ 38
506// I386:#define __FLT_MAX_EXP__ 128
507// I386:#define __FLT_MAX__ 3.40282347e+38F
508// I386:#define __FLT_MIN_10_EXP__ (-37)
509// I386:#define __FLT_MIN_EXP__ (-125)
510// I386:#define __FLT_MIN__ 1.17549435e-38F
511// I386:#define __FLT_RADIX__ 2
512// I386:#define __INT16_TYPE__ short
513// I386:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000514// I386:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000515// I386:#define __INT64_TYPE__ long long int
516// I386:#define __INT8_TYPE__ char
517// I386:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +0000518// I386:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +0000519// I386:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000520// I386:#define __INTPTR_TYPE__ int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000521// I386:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000522// I386:#define __INT_MAX__ 2147483647
523// I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
524// I386:#define __LDBL_DIG__ 18
525// I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
526// I386:#define __LDBL_HAS_DENORM__ 1
527// I386:#define __LDBL_HAS_INFINITY__ 1
528// I386:#define __LDBL_HAS_QUIET_NAN__ 1
529// I386:#define __LDBL_MANT_DIG__ 64
530// I386:#define __LDBL_MAX_10_EXP__ 4932
531// I386:#define __LDBL_MAX_EXP__ 16384
532// I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
533// I386:#define __LDBL_MIN_10_EXP__ (-4931)
534// I386:#define __LDBL_MIN_EXP__ (-16381)
535// I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
536// I386:#define __LITTLE_ENDIAN__ 1
537// I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
538// I386:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000539// I386-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +0000540// I386:#define __NO_MATH_INLINES 1
541// I386:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000542// I386:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +0000543// I386:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000544// I386:#define __REGISTER_PREFIX__
545// I386:#define __SCHAR_MAX__ 127
546// I386:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000547// I386:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000548// I386:#define __SIZEOF_DOUBLE__ 8
549// I386:#define __SIZEOF_FLOAT__ 4
550// I386:#define __SIZEOF_INT__ 4
551// I386:#define __SIZEOF_LONG_DOUBLE__ 12
552// I386:#define __SIZEOF_LONG_LONG__ 8
553// I386:#define __SIZEOF_LONG__ 4
554// I386:#define __SIZEOF_POINTER__ 4
555// I386:#define __SIZEOF_PTRDIFF_T__ 4
556// I386:#define __SIZEOF_SHORT__ 2
557// I386:#define __SIZEOF_SIZE_T__ 4
558// I386:#define __SIZEOF_WCHAR_T__ 4
559// I386:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000560// I386:#define __SIZE_MAX__ 4294967295U
Chris Lattnerbceaf862009-10-29 04:55:36 +0000561// I386:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000562// I386:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000563// I386:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000564// I386:#define __USER_LABEL_PREFIX__ _
565// I386:#define __WCHAR_MAX__ 2147483647
566// I386:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +0000567// I386:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000568// I386:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000569// I386:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000570// I386:#define __i386 1
571// I386:#define __i386__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +0000572// I386:#define i386 1
573//
Benjamin Kramerb4066692011-12-28 15:47:06 +0000574// 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 +0000575//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000576// I386-LINUX-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000577// I386-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregor12e84642011-01-12 21:19:25 +0000578// I386-LINUX:#define __CHAR16_TYPE__ unsigned short
579// I386-LINUX:#define __CHAR32_TYPE__ unsigned int
580// I386-LINUX:#define __CHAR_BIT__ 8
581// I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
582// I386-LINUX:#define __DBL_DIG__ 15
583// I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
584// I386-LINUX:#define __DBL_HAS_DENORM__ 1
585// I386-LINUX:#define __DBL_HAS_INFINITY__ 1
586// I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
587// I386-LINUX:#define __DBL_MANT_DIG__ 53
588// I386-LINUX:#define __DBL_MAX_10_EXP__ 308
589// I386-LINUX:#define __DBL_MAX_EXP__ 1024
590// I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
591// I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
592// I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
593// I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
594// I386-LINUX:#define __DECIMAL_DIG__ 21
595// I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
596// I386-LINUX:#define __FLT_DIG__ 6
597// I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
598// I386-LINUX:#define __FLT_EVAL_METHOD__ 0
599// I386-LINUX:#define __FLT_HAS_DENORM__ 1
600// I386-LINUX:#define __FLT_HAS_INFINITY__ 1
601// I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
602// I386-LINUX:#define __FLT_MANT_DIG__ 24
603// I386-LINUX:#define __FLT_MAX_10_EXP__ 38
604// I386-LINUX:#define __FLT_MAX_EXP__ 128
605// I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
606// I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
607// I386-LINUX:#define __FLT_MIN_EXP__ (-125)
608// I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
609// I386-LINUX:#define __FLT_RADIX__ 2
610// I386-LINUX:#define __INT16_TYPE__ short
611// I386-LINUX:#define __INT32_TYPE__ int
612// I386-LINUX:#define __INT64_C_SUFFIX__ LL
613// I386-LINUX:#define __INT64_TYPE__ long long int
614// I386-LINUX:#define __INT8_TYPE__ char
615// I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
616// I386-LINUX:#define __INTMAX_TYPE__ long long int
617// I386-LINUX:#define __INTMAX_WIDTH__ 64
618// I386-LINUX:#define __INTPTR_TYPE__ int
619// I386-LINUX:#define __INTPTR_WIDTH__ 32
620// I386-LINUX:#define __INT_MAX__ 2147483647
621// I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
622// I386-LINUX:#define __LDBL_DIG__ 18
623// I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
624// I386-LINUX:#define __LDBL_HAS_DENORM__ 1
625// I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
626// I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
627// I386-LINUX:#define __LDBL_MANT_DIG__ 64
628// I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
629// I386-LINUX:#define __LDBL_MAX_EXP__ 16384
630// I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
631// I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
632// I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
633// I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
634// I386-LINUX:#define __LITTLE_ENDIAN__ 1
635// I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
636// I386-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000637// I386-LINUX-NOT:#define __LP64__
Douglas Gregor12e84642011-01-12 21:19:25 +0000638// I386-LINUX:#define __NO_MATH_INLINES 1
639// I386-LINUX:#define __POINTER_WIDTH__ 32
640// I386-LINUX:#define __PTRDIFF_TYPE__ int
641// I386-LINUX:#define __PTRDIFF_WIDTH__ 32
642// I386-LINUX:#define __REGISTER_PREFIX__
643// I386-LINUX:#define __SCHAR_MAX__ 127
644// I386-LINUX:#define __SHRT_MAX__ 32767
645// I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
646// I386-LINUX:#define __SIZEOF_DOUBLE__ 8
647// I386-LINUX:#define __SIZEOF_FLOAT__ 4
648// I386-LINUX:#define __SIZEOF_INT__ 4
649// I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
650// I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
651// I386-LINUX:#define __SIZEOF_LONG__ 4
652// I386-LINUX:#define __SIZEOF_POINTER__ 4
653// I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
654// I386-LINUX:#define __SIZEOF_SHORT__ 2
655// I386-LINUX:#define __SIZEOF_SIZE_T__ 4
656// I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
657// I386-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000658// I386-LINUX:#define __SIZE_MAX__ 4294967295U
Douglas Gregor12e84642011-01-12 21:19:25 +0000659// I386-LINUX:#define __SIZE_TYPE__ unsigned int
660// I386-LINUX:#define __SIZE_WIDTH__ 32
661// I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
662// I386-LINUX:#define __USER_LABEL_PREFIX__
663// I386-LINUX:#define __WCHAR_MAX__ 2147483647
664// I386-LINUX:#define __WCHAR_TYPE__ int
665// I386-LINUX:#define __WCHAR_WIDTH__ 32
666// I386-LINUX:#define __WINT_TYPE__ unsigned int
667// I386-LINUX:#define __WINT_WIDTH__ 32
668// I386-LINUX:#define __i386 1
669// I386-LINUX:#define __i386__ 1
Douglas Gregor12e84642011-01-12 21:19:25 +0000670// I386-LINUX:#define i386 1
671//
Simon Atanasyan7a521802012-04-06 08:37:24 +0000672// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none < /dev/null | FileCheck -check-prefix MIPS32BE %s
673//
674// MIPS32BE:#define MIPSEB 1
675// MIPS32BE:#define _ABIO32 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000676// MIPS32BE-NOT:#define _LP64
Simon Atanasyan7a521802012-04-06 08:37:24 +0000677// MIPS32BE:#define _MIPSEB 1
Simon Atanasyan260e5062012-08-29 15:17:29 +0000678// MIPS32BE:#define _MIPS_ARCH "mips32"
679// MIPS32BE:#define _MIPS_ARCH_MIPS32 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000680// MIPS32BE:#define _MIPS_SIM _ABIO32
681// MIPS32BE:#define _MIPS_SZINT 32
682// MIPS32BE:#define _MIPS_SZLONG 32
683// MIPS32BE:#define _MIPS_SZPTR 32
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000684// MIPS32BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyan7a521802012-04-06 08:37:24 +0000685// MIPS32BE:#define __CHAR16_TYPE__ unsigned short
686// MIPS32BE:#define __CHAR32_TYPE__ unsigned int
687// MIPS32BE:#define __CHAR_BIT__ 8
688// MIPS32BE:#define __CONSTANT_CFSTRINGS__ 1
689// MIPS32BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
690// MIPS32BE:#define __DBL_DIG__ 15
691// MIPS32BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
692// MIPS32BE:#define __DBL_HAS_DENORM__ 1
693// MIPS32BE:#define __DBL_HAS_INFINITY__ 1
694// MIPS32BE:#define __DBL_HAS_QUIET_NAN__ 1
695// MIPS32BE:#define __DBL_MANT_DIG__ 53
696// MIPS32BE:#define __DBL_MAX_10_EXP__ 308
697// MIPS32BE:#define __DBL_MAX_EXP__ 1024
698// MIPS32BE:#define __DBL_MAX__ 1.7976931348623157e+308
699// MIPS32BE:#define __DBL_MIN_10_EXP__ (-307)
700// MIPS32BE:#define __DBL_MIN_EXP__ (-1021)
701// MIPS32BE:#define __DBL_MIN__ 2.2250738585072014e-308
702// MIPS32BE:#define __DECIMAL_DIG__ 17
703// MIPS32BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
704// MIPS32BE:#define __FLT_DIG__ 6
705// MIPS32BE:#define __FLT_EPSILON__ 1.19209290e-7F
706// MIPS32BE:#define __FLT_EVAL_METHOD__ 0
707// MIPS32BE:#define __FLT_HAS_DENORM__ 1
708// MIPS32BE:#define __FLT_HAS_INFINITY__ 1
709// MIPS32BE:#define __FLT_HAS_QUIET_NAN__ 1
710// MIPS32BE:#define __FLT_MANT_DIG__ 24
711// MIPS32BE:#define __FLT_MAX_10_EXP__ 38
712// MIPS32BE:#define __FLT_MAX_EXP__ 128
713// MIPS32BE:#define __FLT_MAX__ 3.40282347e+38F
714// MIPS32BE:#define __FLT_MIN_10_EXP__ (-37)
715// MIPS32BE:#define __FLT_MIN_EXP__ (-125)
716// MIPS32BE:#define __FLT_MIN__ 1.17549435e-38F
717// MIPS32BE:#define __FLT_RADIX__ 2
718// MIPS32BE:#define __INT16_TYPE__ short
719// MIPS32BE:#define __INT32_TYPE__ int
720// MIPS32BE:#define __INT64_C_SUFFIX__ LL
721// MIPS32BE:#define __INT64_TYPE__ long long int
722// MIPS32BE:#define __INT8_TYPE__ char
723// MIPS32BE:#define __INTMAX_MAX__ 9223372036854775807LL
724// MIPS32BE:#define __INTMAX_TYPE__ long long int
725// MIPS32BE:#define __INTMAX_WIDTH__ 64
726// MIPS32BE:#define __INTPTR_TYPE__ long int
727// MIPS32BE:#define __INTPTR_WIDTH__ 32
728// MIPS32BE:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +0000729// MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000730// MIPS32BE:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +0000731// MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000732// MIPS32BE:#define __LDBL_HAS_DENORM__ 1
733// MIPS32BE:#define __LDBL_HAS_INFINITY__ 1
734// MIPS32BE:#define __LDBL_HAS_QUIET_NAN__ 1
735// MIPS32BE:#define __LDBL_MANT_DIG__ 53
736// MIPS32BE:#define __LDBL_MAX_10_EXP__ 308
737// MIPS32BE:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +0000738// MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000739// MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307)
740// MIPS32BE:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +0000741// MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000742// MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
743// MIPS32BE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000744// MIPS32BE-NOT:#define __LP64__
Simon Atanasyan7a521802012-04-06 08:37:24 +0000745// MIPS32BE:#define __MIPSEB 1
746// MIPS32BE:#define __MIPSEB__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000747// MIPS32BE:#define __POINTER_WIDTH__ 32
748// MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1
749// MIPS32BE:#define __PTRDIFF_TYPE__ int
750// MIPS32BE:#define __PTRDIFF_WIDTH__ 32
751// MIPS32BE:#define __REGISTER_PREFIX__
752// MIPS32BE:#define __SCHAR_MAX__ 127
753// MIPS32BE:#define __SHRT_MAX__ 32767
754// MIPS32BE:#define __SIG_ATOMIC_WIDTH__ 32
755// MIPS32BE:#define __SIZEOF_DOUBLE__ 8
756// MIPS32BE:#define __SIZEOF_FLOAT__ 4
757// MIPS32BE:#define __SIZEOF_INT__ 4
758// MIPS32BE:#define __SIZEOF_LONG_DOUBLE__ 8
759// MIPS32BE:#define __SIZEOF_LONG_LONG__ 8
760// MIPS32BE:#define __SIZEOF_LONG__ 4
761// MIPS32BE:#define __SIZEOF_POINTER__ 4
762// MIPS32BE:#define __SIZEOF_PTRDIFF_T__ 4
763// MIPS32BE:#define __SIZEOF_SHORT__ 2
764// MIPS32BE:#define __SIZEOF_SIZE_T__ 4
765// MIPS32BE:#define __SIZEOF_WCHAR_T__ 4
766// MIPS32BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000767// MIPS32BE:#define __SIZE_MAX__ 4294967295U
Simon Atanasyan7a521802012-04-06 08:37:24 +0000768// MIPS32BE:#define __SIZE_TYPE__ unsigned int
769// MIPS32BE:#define __SIZE_WIDTH__ 32
770// MIPS32BE:#define __STDC_HOSTED__ 0
771// MIPS32BE:#define __STDC_VERSION__ 199901L
772// MIPS32BE:#define __STDC__ 1
773// MIPS32BE:#define __UINTMAX_TYPE__ long long unsigned int
774// MIPS32BE:#define __USER_LABEL_PREFIX__ _
775// MIPS32BE:#define __WCHAR_MAX__ 2147483647
776// MIPS32BE:#define __WCHAR_TYPE__ int
777// MIPS32BE:#define __WCHAR_WIDTH__ 32
778// MIPS32BE:#define __WINT_TYPE__ int
779// MIPS32BE:#define __WINT_WIDTH__ 32
780// MIPS32BE:#define __clang__ 1
781// MIPS32BE:#define __llvm__ 1
782// MIPS32BE:#define __mips 1
783// MIPS32BE:#define __mips__ 1
784// MIPS32BE:#define __mips_hard_float 1
785// MIPS32BE:#define __mips_o32 1
786// MIPS32BE:#define _mips 1
787// MIPS32BE:#define mips 1
788//
789// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -check-prefix MIPS32EL %s
790//
791// MIPS32EL:#define MIPSEL 1
792// MIPS32EL:#define _ABIO32 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000793// MIPS32EL-NOT:#define _LP64
Simon Atanasyan7a521802012-04-06 08:37:24 +0000794// MIPS32EL:#define _MIPSEL 1
Simon Atanasyan260e5062012-08-29 15:17:29 +0000795// MIPS32EL:#define _MIPS_ARCH "mips32"
796// MIPS32EL:#define _MIPS_ARCH_MIPS32 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000797// MIPS32EL:#define _MIPS_SIM _ABIO32
798// MIPS32EL:#define _MIPS_SZINT 32
799// MIPS32EL:#define _MIPS_SZLONG 32
800// MIPS32EL:#define _MIPS_SZPTR 32
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000801// MIPS32EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyan7a521802012-04-06 08:37:24 +0000802// MIPS32EL:#define __CHAR16_TYPE__ unsigned short
803// MIPS32EL:#define __CHAR32_TYPE__ unsigned int
804// MIPS32EL:#define __CHAR_BIT__ 8
805// MIPS32EL:#define __CONSTANT_CFSTRINGS__ 1
806// MIPS32EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
807// MIPS32EL:#define __DBL_DIG__ 15
808// MIPS32EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
809// MIPS32EL:#define __DBL_HAS_DENORM__ 1
810// MIPS32EL:#define __DBL_HAS_INFINITY__ 1
811// MIPS32EL:#define __DBL_HAS_QUIET_NAN__ 1
812// MIPS32EL:#define __DBL_MANT_DIG__ 53
813// MIPS32EL:#define __DBL_MAX_10_EXP__ 308
814// MIPS32EL:#define __DBL_MAX_EXP__ 1024
815// MIPS32EL:#define __DBL_MAX__ 1.7976931348623157e+308
816// MIPS32EL:#define __DBL_MIN_10_EXP__ (-307)
817// MIPS32EL:#define __DBL_MIN_EXP__ (-1021)
818// MIPS32EL:#define __DBL_MIN__ 2.2250738585072014e-308
819// MIPS32EL:#define __DECIMAL_DIG__ 17
820// MIPS32EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
821// MIPS32EL:#define __FLT_DIG__ 6
822// MIPS32EL:#define __FLT_EPSILON__ 1.19209290e-7F
823// MIPS32EL:#define __FLT_EVAL_METHOD__ 0
824// MIPS32EL:#define __FLT_HAS_DENORM__ 1
825// MIPS32EL:#define __FLT_HAS_INFINITY__ 1
826// MIPS32EL:#define __FLT_HAS_QUIET_NAN__ 1
827// MIPS32EL:#define __FLT_MANT_DIG__ 24
828// MIPS32EL:#define __FLT_MAX_10_EXP__ 38
829// MIPS32EL:#define __FLT_MAX_EXP__ 128
830// MIPS32EL:#define __FLT_MAX__ 3.40282347e+38F
831// MIPS32EL:#define __FLT_MIN_10_EXP__ (-37)
832// MIPS32EL:#define __FLT_MIN_EXP__ (-125)
833// MIPS32EL:#define __FLT_MIN__ 1.17549435e-38F
834// MIPS32EL:#define __FLT_RADIX__ 2
835// MIPS32EL:#define __INT16_TYPE__ short
836// MIPS32EL:#define __INT32_TYPE__ int
837// MIPS32EL:#define __INT64_C_SUFFIX__ LL
838// MIPS32EL:#define __INT64_TYPE__ long long int
839// MIPS32EL:#define __INT8_TYPE__ char
840// MIPS32EL:#define __INTMAX_MAX__ 9223372036854775807LL
841// MIPS32EL:#define __INTMAX_TYPE__ long long int
842// MIPS32EL:#define __INTMAX_WIDTH__ 64
843// MIPS32EL:#define __INTPTR_TYPE__ long int
844// MIPS32EL:#define __INTPTR_WIDTH__ 32
845// MIPS32EL:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +0000846// MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000847// MIPS32EL:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +0000848// MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000849// MIPS32EL:#define __LDBL_HAS_DENORM__ 1
850// MIPS32EL:#define __LDBL_HAS_INFINITY__ 1
851// MIPS32EL:#define __LDBL_HAS_QUIET_NAN__ 1
852// MIPS32EL:#define __LDBL_MANT_DIG__ 53
853// MIPS32EL:#define __LDBL_MAX_10_EXP__ 308
854// MIPS32EL:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +0000855// MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000856// MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307)
857// MIPS32EL:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +0000858// MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000859// MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
860// MIPS32EL:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000861// MIPS32EL-NOT:#define __LP64__
Simon Atanasyan7a521802012-04-06 08:37:24 +0000862// MIPS32EL:#define __MIPSEL 1
863// MIPS32EL:#define __MIPSEL__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000864// MIPS32EL:#define __POINTER_WIDTH__ 32
865// MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1
866// MIPS32EL:#define __PTRDIFF_TYPE__ int
867// MIPS32EL:#define __PTRDIFF_WIDTH__ 32
868// MIPS32EL:#define __REGISTER_PREFIX__
869// MIPS32EL:#define __SCHAR_MAX__ 127
870// MIPS32EL:#define __SHRT_MAX__ 32767
871// MIPS32EL:#define __SIG_ATOMIC_WIDTH__ 32
872// MIPS32EL:#define __SIZEOF_DOUBLE__ 8
873// MIPS32EL:#define __SIZEOF_FLOAT__ 4
874// MIPS32EL:#define __SIZEOF_INT__ 4
875// MIPS32EL:#define __SIZEOF_LONG_DOUBLE__ 8
876// MIPS32EL:#define __SIZEOF_LONG_LONG__ 8
877// MIPS32EL:#define __SIZEOF_LONG__ 4
878// MIPS32EL:#define __SIZEOF_POINTER__ 4
879// MIPS32EL:#define __SIZEOF_PTRDIFF_T__ 4
880// MIPS32EL:#define __SIZEOF_SHORT__ 2
881// MIPS32EL:#define __SIZEOF_SIZE_T__ 4
882// MIPS32EL:#define __SIZEOF_WCHAR_T__ 4
883// MIPS32EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000884// MIPS32EL:#define __SIZE_MAX__ 4294967295U
Simon Atanasyan7a521802012-04-06 08:37:24 +0000885// MIPS32EL:#define __SIZE_TYPE__ unsigned int
886// MIPS32EL:#define __SIZE_WIDTH__ 32
887// MIPS32EL:#define __UINTMAX_TYPE__ long long unsigned int
888// MIPS32EL:#define __USER_LABEL_PREFIX__ _
889// MIPS32EL:#define __WCHAR_MAX__ 2147483647
890// MIPS32EL:#define __WCHAR_TYPE__ int
891// MIPS32EL:#define __WCHAR_WIDTH__ 32
892// MIPS32EL:#define __WINT_TYPE__ int
893// MIPS32EL:#define __WINT_WIDTH__ 32
894// MIPS32EL:#define __clang__ 1
895// MIPS32EL:#define __llvm__ 1
896// MIPS32EL:#define __mips 1
897// MIPS32EL:#define __mips__ 1
898// MIPS32EL:#define __mips_hard_float 1
899// MIPS32EL:#define __mips_o32 1
900// MIPS32EL:#define _mips 1
901// MIPS32EL:#define mips 1
902//
903// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -check-prefix MIPS64BE %s
904//
905// MIPS64BE:#define MIPSEB 1
906// MIPS64BE:#define _ABI64 3
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000907// MIPS64BE:#define _LP64 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000908// MIPS64BE:#define _MIPSEB 1
Simon Atanasyan260e5062012-08-29 15:17:29 +0000909// MIPS64BE:#define _MIPS_ARCH "mips64"
910// MIPS64BE:#define _MIPS_ARCH_MIPS64 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000911// MIPS64BE:#define _MIPS_SIM _ABI64
912// MIPS64BE:#define _MIPS_SZINT 32
913// MIPS64BE:#define _MIPS_SZLONG 64
914// MIPS64BE:#define _MIPS_SZPTR 64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000915// MIPS64BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyan7a521802012-04-06 08:37:24 +0000916// MIPS64BE:#define __CHAR16_TYPE__ unsigned short
917// MIPS64BE:#define __CHAR32_TYPE__ unsigned int
918// MIPS64BE:#define __CHAR_BIT__ 8
919// MIPS64BE:#define __CONSTANT_CFSTRINGS__ 1
920// MIPS64BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
921// MIPS64BE:#define __DBL_DIG__ 15
922// MIPS64BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
923// MIPS64BE:#define __DBL_HAS_DENORM__ 1
924// MIPS64BE:#define __DBL_HAS_INFINITY__ 1
925// MIPS64BE:#define __DBL_HAS_QUIET_NAN__ 1
926// MIPS64BE:#define __DBL_MANT_DIG__ 53
927// MIPS64BE:#define __DBL_MAX_10_EXP__ 308
928// MIPS64BE:#define __DBL_MAX_EXP__ 1024
929// MIPS64BE:#define __DBL_MAX__ 1.7976931348623157e+308
930// MIPS64BE:#define __DBL_MIN_10_EXP__ (-307)
931// MIPS64BE:#define __DBL_MIN_EXP__ (-1021)
932// MIPS64BE:#define __DBL_MIN__ 2.2250738585072014e-308
933// MIPS64BE:#define __DECIMAL_DIG__ 36
934// MIPS64BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
935// MIPS64BE:#define __FLT_DIG__ 6
936// MIPS64BE:#define __FLT_EPSILON__ 1.19209290e-7F
937// MIPS64BE:#define __FLT_EVAL_METHOD__ 0
938// MIPS64BE:#define __FLT_HAS_DENORM__ 1
939// MIPS64BE:#define __FLT_HAS_INFINITY__ 1
940// MIPS64BE:#define __FLT_HAS_QUIET_NAN__ 1
941// MIPS64BE:#define __FLT_MANT_DIG__ 24
942// MIPS64BE:#define __FLT_MAX_10_EXP__ 38
943// MIPS64BE:#define __FLT_MAX_EXP__ 128
944// MIPS64BE:#define __FLT_MAX__ 3.40282347e+38F
945// MIPS64BE:#define __FLT_MIN_10_EXP__ (-37)
946// MIPS64BE:#define __FLT_MIN_EXP__ (-125)
947// MIPS64BE:#define __FLT_MIN__ 1.17549435e-38F
948// MIPS64BE:#define __FLT_RADIX__ 2
949// MIPS64BE:#define __INT16_TYPE__ short
950// MIPS64BE:#define __INT32_TYPE__ int
951// MIPS64BE:#define __INT64_C_SUFFIX__ LL
952// MIPS64BE:#define __INT64_TYPE__ long long int
953// MIPS64BE:#define __INT8_TYPE__ char
954// MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807LL
955// MIPS64BE:#define __INTMAX_TYPE__ long long int
956// MIPS64BE:#define __INTMAX_WIDTH__ 64
957// MIPS64BE:#define __INTPTR_TYPE__ long int
958// MIPS64BE:#define __INTPTR_WIDTH__ 64
959// MIPS64BE:#define __INT_MAX__ 2147483647
960// MIPS64BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
961// MIPS64BE:#define __LDBL_DIG__ 33
962// MIPS64BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
963// MIPS64BE:#define __LDBL_HAS_DENORM__ 1
964// MIPS64BE:#define __LDBL_HAS_INFINITY__ 1
965// MIPS64BE:#define __LDBL_HAS_QUIET_NAN__ 1
966// MIPS64BE:#define __LDBL_MANT_DIG__ 113
967// MIPS64BE:#define __LDBL_MAX_10_EXP__ 4932
968// MIPS64BE:#define __LDBL_MAX_EXP__ 16384
969// MIPS64BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
970// MIPS64BE:#define __LDBL_MIN_10_EXP__ (-4931)
971// MIPS64BE:#define __LDBL_MIN_EXP__ (-16381)
972// MIPS64BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
973// MIPS64BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
974// MIPS64BE:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000975// MIPS64BE:#define __LP64__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000976// MIPS64BE:#define __MIPSEB 1
977// MIPS64BE:#define __MIPSEB__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000978// MIPS64BE:#define __POINTER_WIDTH__ 64
979// MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1
980// MIPS64BE:#define __PTRDIFF_TYPE__ long int
981// MIPS64BE:#define __PTRDIFF_WIDTH__ 64
982// MIPS64BE:#define __REGISTER_PREFIX__
983// MIPS64BE:#define __SCHAR_MAX__ 127
984// MIPS64BE:#define __SHRT_MAX__ 32767
985// MIPS64BE:#define __SIG_ATOMIC_WIDTH__ 32
986// MIPS64BE:#define __SIZEOF_DOUBLE__ 8
987// MIPS64BE:#define __SIZEOF_FLOAT__ 4
988// MIPS64BE:#define __SIZEOF_INT__ 4
989// MIPS64BE:#define __SIZEOF_LONG_DOUBLE__ 16
990// MIPS64BE:#define __SIZEOF_LONG_LONG__ 8
991// MIPS64BE:#define __SIZEOF_LONG__ 8
992// MIPS64BE:#define __SIZEOF_POINTER__ 8
993// MIPS64BE:#define __SIZEOF_PTRDIFF_T__ 8
994// MIPS64BE:#define __SIZEOF_SHORT__ 2
995// MIPS64BE:#define __SIZEOF_SIZE_T__ 8
996// MIPS64BE:#define __SIZEOF_WCHAR_T__ 4
997// MIPS64BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000998// MIPS64BE:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyan7a521802012-04-06 08:37:24 +0000999// MIPS64BE:#define __SIZE_TYPE__ long unsigned int
1000// MIPS64BE:#define __SIZE_WIDTH__ 64
1001// MIPS64BE:#define __UINTMAX_TYPE__ long long unsigned int
1002// MIPS64BE:#define __USER_LABEL_PREFIX__ _
1003// MIPS64BE:#define __WCHAR_MAX__ 2147483647
1004// MIPS64BE:#define __WCHAR_TYPE__ int
1005// MIPS64BE:#define __WCHAR_WIDTH__ 32
1006// MIPS64BE:#define __WINT_TYPE__ int
1007// MIPS64BE:#define __WINT_WIDTH__ 32
1008// MIPS64BE:#define __clang__ 1
1009// MIPS64BE:#define __llvm__ 1
1010// MIPS64BE:#define __mips 1
Simon Atanasyan600a5132012-08-29 20:50:11 +00001011// MIPS64BE:#define __mips64 1
1012// MIPS64BE:#define __mips64__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001013// MIPS64BE:#define __mips__ 1
1014// MIPS64BE:#define __mips_hard_float 1
1015// MIPS64BE:#define __mips_n64 1
1016// MIPS64BE:#define _mips 1
1017// MIPS64BE:#define mips 1
1018//
1019// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -check-prefix MIPS64EL %s
1020//
1021// MIPS64EL:#define MIPSEL 1
1022// MIPS64EL:#define _ABI64 3
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001023// MIPS64EL:#define _LP64 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001024// MIPS64EL:#define _MIPSEL 1
Simon Atanasyan260e5062012-08-29 15:17:29 +00001025// MIPS64EL:#define _MIPS_ARCH "mips64"
1026// MIPS64EL:#define _MIPS_ARCH_MIPS64 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001027// MIPS64EL:#define _MIPS_SIM _ABI64
1028// MIPS64EL:#define _MIPS_SZINT 32
1029// MIPS64EL:#define _MIPS_SZLONG 64
1030// MIPS64EL:#define _MIPS_SZPTR 64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001031// MIPS64EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyan7a521802012-04-06 08:37:24 +00001032// MIPS64EL:#define __CHAR16_TYPE__ unsigned short
1033// MIPS64EL:#define __CHAR32_TYPE__ unsigned int
1034// MIPS64EL:#define __CHAR_BIT__ 8
1035// MIPS64EL:#define __CONSTANT_CFSTRINGS__ 1
1036// MIPS64EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1037// MIPS64EL:#define __DBL_DIG__ 15
1038// MIPS64EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1039// MIPS64EL:#define __DBL_HAS_DENORM__ 1
1040// MIPS64EL:#define __DBL_HAS_INFINITY__ 1
1041// MIPS64EL:#define __DBL_HAS_QUIET_NAN__ 1
1042// MIPS64EL:#define __DBL_MANT_DIG__ 53
1043// MIPS64EL:#define __DBL_MAX_10_EXP__ 308
1044// MIPS64EL:#define __DBL_MAX_EXP__ 1024
1045// MIPS64EL:#define __DBL_MAX__ 1.7976931348623157e+308
1046// MIPS64EL:#define __DBL_MIN_10_EXP__ (-307)
1047// MIPS64EL:#define __DBL_MIN_EXP__ (-1021)
1048// MIPS64EL:#define __DBL_MIN__ 2.2250738585072014e-308
1049// MIPS64EL:#define __DECIMAL_DIG__ 36
1050// MIPS64EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1051// MIPS64EL:#define __FLT_DIG__ 6
1052// MIPS64EL:#define __FLT_EPSILON__ 1.19209290e-7F
1053// MIPS64EL:#define __FLT_EVAL_METHOD__ 0
1054// MIPS64EL:#define __FLT_HAS_DENORM__ 1
1055// MIPS64EL:#define __FLT_HAS_INFINITY__ 1
1056// MIPS64EL:#define __FLT_HAS_QUIET_NAN__ 1
1057// MIPS64EL:#define __FLT_MANT_DIG__ 24
1058// MIPS64EL:#define __FLT_MAX_10_EXP__ 38
1059// MIPS64EL:#define __FLT_MAX_EXP__ 128
1060// MIPS64EL:#define __FLT_MAX__ 3.40282347e+38F
1061// MIPS64EL:#define __FLT_MIN_10_EXP__ (-37)
1062// MIPS64EL:#define __FLT_MIN_EXP__ (-125)
1063// MIPS64EL:#define __FLT_MIN__ 1.17549435e-38F
1064// MIPS64EL:#define __FLT_RADIX__ 2
1065// MIPS64EL:#define __INT16_TYPE__ short
1066// MIPS64EL:#define __INT32_TYPE__ int
1067// MIPS64EL:#define __INT64_C_SUFFIX__ LL
1068// MIPS64EL:#define __INT64_TYPE__ long long int
1069// MIPS64EL:#define __INT8_TYPE__ char
1070// MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807LL
1071// MIPS64EL:#define __INTMAX_TYPE__ long long int
1072// MIPS64EL:#define __INTMAX_WIDTH__ 64
1073// MIPS64EL:#define __INTPTR_TYPE__ long int
1074// MIPS64EL:#define __INTPTR_WIDTH__ 64
1075// MIPS64EL:#define __INT_MAX__ 2147483647
1076// MIPS64EL:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1077// MIPS64EL:#define __LDBL_DIG__ 33
1078// MIPS64EL:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1079// MIPS64EL:#define __LDBL_HAS_DENORM__ 1
1080// MIPS64EL:#define __LDBL_HAS_INFINITY__ 1
1081// MIPS64EL:#define __LDBL_HAS_QUIET_NAN__ 1
1082// MIPS64EL:#define __LDBL_MANT_DIG__ 113
1083// MIPS64EL:#define __LDBL_MAX_10_EXP__ 4932
1084// MIPS64EL:#define __LDBL_MAX_EXP__ 16384
1085// MIPS64EL:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1086// MIPS64EL:#define __LDBL_MIN_10_EXP__ (-4931)
1087// MIPS64EL:#define __LDBL_MIN_EXP__ (-16381)
1088// MIPS64EL:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1089// MIPS64EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1090// MIPS64EL:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001091// MIPS64EL:#define __LP64__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001092// MIPS64EL:#define __MIPSEL 1
1093// MIPS64EL:#define __MIPSEL__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001094// MIPS64EL:#define __POINTER_WIDTH__ 64
1095// MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1096// MIPS64EL:#define __PTRDIFF_TYPE__ long int
1097// MIPS64EL:#define __PTRDIFF_WIDTH__ 64
1098// MIPS64EL:#define __REGISTER_PREFIX__
1099// MIPS64EL:#define __SCHAR_MAX__ 127
1100// MIPS64EL:#define __SHRT_MAX__ 32767
1101// MIPS64EL:#define __SIG_ATOMIC_WIDTH__ 32
1102// MIPS64EL:#define __SIZEOF_DOUBLE__ 8
1103// MIPS64EL:#define __SIZEOF_FLOAT__ 4
1104// MIPS64EL:#define __SIZEOF_INT__ 4
1105// MIPS64EL:#define __SIZEOF_LONG_DOUBLE__ 16
1106// MIPS64EL:#define __SIZEOF_LONG_LONG__ 8
1107// MIPS64EL:#define __SIZEOF_LONG__ 8
1108// MIPS64EL:#define __SIZEOF_POINTER__ 8
1109// MIPS64EL:#define __SIZEOF_PTRDIFF_T__ 8
1110// MIPS64EL:#define __SIZEOF_SHORT__ 2
1111// MIPS64EL:#define __SIZEOF_SIZE_T__ 8
1112// MIPS64EL:#define __SIZEOF_WCHAR_T__ 4
1113// MIPS64EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001114// MIPS64EL:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyan7a521802012-04-06 08:37:24 +00001115// MIPS64EL:#define __SIZE_TYPE__ long unsigned int
1116// MIPS64EL:#define __SIZE_WIDTH__ 64
1117// MIPS64EL:#define __UINTMAX_TYPE__ long long unsigned int
1118// MIPS64EL:#define __USER_LABEL_PREFIX__ _
1119// MIPS64EL:#define __WCHAR_MAX__ 2147483647
1120// MIPS64EL:#define __WCHAR_TYPE__ int
1121// MIPS64EL:#define __WCHAR_WIDTH__ 32
1122// MIPS64EL:#define __WINT_TYPE__ int
1123// MIPS64EL:#define __WINT_WIDTH__ 32
1124// MIPS64EL:#define __clang__ 1
1125// MIPS64EL:#define __llvm__ 1
1126// MIPS64EL:#define __mips 1
Simon Atanasyan600a5132012-08-29 20:50:11 +00001127// MIPS64EL:#define __mips64 1
1128// MIPS64EL:#define __mips64__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001129// MIPS64EL:#define __mips__ 1
1130// MIPS64EL:#define __mips_hard_float 1
1131// MIPS64EL:#define __mips_n64 1
1132// MIPS64EL:#define _mips 1
1133// MIPS64EL:#define mips 1
1134//
Simon Atanasyanaba3f0f2012-04-06 17:51:49 +00001135// Check MIPS float ABI macros
1136//
1137// RUN: %clang_cc1 -E -dM -ffreestanding \
1138// RUN: -triple=mips-none-none < /dev/null \
1139// RUN: | FileCheck -check-prefix MIPS-FABI-HARD %s
1140// MIPS-FABI-HARD:#define __mips_hard_float 1
1141//
1142// RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \
1143// RUN: -triple=mips-none-none < /dev/null \
1144// RUN: | FileCheck -check-prefix MIPS-FABI-SOFT %s
1145// MIPS-FABI-SOFT:#define __mips_soft_float 1
1146//
1147// RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \
1148// RUN: -triple=mips-none-none < /dev/null \
1149// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE %s
Simon Atanasyan3dbcc882012-06-05 13:06:56 +00001150// MIPS-FABI-SINGLE:#define __mips_hard_float 1
Simon Atanasyanaba3f0f2012-04-06 17:51:49 +00001151// MIPS-FABI-SINGLE:#define __mips_single_float 1
1152//
Simon Atanasyand96e3152013-04-14 14:07:30 +00001153// RUN: %clang_cc1 -target-feature +soft-float -target-feature +single-float \
1154// RUN: -E -dM -ffreestanding -triple=mips-none-none < /dev/null \
1155// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE-SOFT %s
1156// MIPS-FABI-SINGLE-SOFT:#define __mips_single_float 1
1157// MIPS-FABI-SINGLE-SOFT:#define __mips_soft_float 1
1158//
Simon Atanasyan1176bcd2012-07-05 16:06:06 +00001159// Check MIPS features macros
1160//
1161// RUN: %clang_cc1 -target-feature +mips16 \
1162// RUN: -E -dM -triple=mips-none-none < /dev/null \
1163// RUN: | FileCheck -check-prefix MIPS16 %s
1164// MIPS16:#define __mips16 1
1165//
1166// RUN: %clang_cc1 -target-feature -mips16 \
1167// RUN: -E -dM -triple=mips-none-none < /dev/null \
1168// RUN: | FileCheck -check-prefix NOMIPS16 %s
1169// NOMIPS16-NOT:#define __mips16 1
1170//
Simon Atanasyan321ae792013-04-14 14:07:51 +00001171// RUN: %clang_cc1 -target-feature +micromips \
1172// RUN: -E -dM -triple=mips-none-none < /dev/null \
1173// RUN: | FileCheck -check-prefix MICROMIPS %s
1174// MICROMIPS:#define __mips_micromips 1
1175//
1176// RUN: %clang_cc1 -target-feature -micromips \
1177// RUN: -E -dM -triple=mips-none-none < /dev/null \
1178// RUN: | FileCheck -check-prefix NOMICROMIPS %s
1179// NOMICROMIPS-NOT:#define __mips_micromips 1
1180//
Simon Atanasyana1b62272012-07-05 20:16:22 +00001181// RUN: %clang_cc1 -target-feature +dsp \
1182// RUN: -E -dM -triple=mips-none-none < /dev/null \
1183// RUN: | FileCheck -check-prefix MIPS-DSP %s
1184// MIPS-DSP:#define __mips_dsp 1
1185// MIPS-DSP:#define __mips_dsp_rev 1
1186// MIPS-DSP-NOT:#define __mips_dspr2 1
1187//
1188// RUN: %clang_cc1 -target-feature +dspr2 \
1189// RUN: -E -dM -triple=mips-none-none < /dev/null \
1190// RUN: | FileCheck -check-prefix MIPS-DSPR2 %s
1191// MIPS-DSPR2:#define __mips_dsp 1
1192// MIPS-DSPR2:#define __mips_dsp_rev 2
1193// MIPS-DSPR2:#define __mips_dspr2 1
1194//
Daniel Dunbara5728872009-12-15 20:14:24 +00001195// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00001196//
1197// MSP430:#define MSP430 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001198// MSP430-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001199// MSP430:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00001200// MSP430:#define __CHAR16_TYPE__ unsigned short
1201// MSP430:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001202// MSP430:#define __CHAR_BIT__ 8
1203// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1204// MSP430:#define __DBL_DIG__ 15
1205// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
1206// MSP430:#define __DBL_HAS_DENORM__ 1
1207// MSP430:#define __DBL_HAS_INFINITY__ 1
1208// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
1209// MSP430:#define __DBL_MANT_DIG__ 53
1210// MSP430:#define __DBL_MAX_10_EXP__ 308
1211// MSP430:#define __DBL_MAX_EXP__ 1024
1212// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
1213// MSP430:#define __DBL_MIN_10_EXP__ (-307)
1214// MSP430:#define __DBL_MIN_EXP__ (-1021)
1215// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
1216// MSP430:#define __DECIMAL_DIG__ 17
1217// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1218// MSP430:#define __FLT_DIG__ 6
1219// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
1220// MSP430:#define __FLT_EVAL_METHOD__ 0
1221// MSP430:#define __FLT_HAS_DENORM__ 1
1222// MSP430:#define __FLT_HAS_INFINITY__ 1
1223// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
1224// MSP430:#define __FLT_MANT_DIG__ 24
1225// MSP430:#define __FLT_MAX_10_EXP__ 38
1226// MSP430:#define __FLT_MAX_EXP__ 128
1227// MSP430:#define __FLT_MAX__ 3.40282347e+38F
1228// MSP430:#define __FLT_MIN_10_EXP__ (-37)
1229// MSP430:#define __FLT_MIN_EXP__ (-125)
1230// MSP430:#define __FLT_MIN__ 1.17549435e-38F
1231// MSP430:#define __FLT_RADIX__ 2
1232// MSP430:#define __INT16_TYPE__ short
Ken Dyckeef22ef2009-11-16 16:36:33 +00001233// MSP430:#define __INT32_C_SUFFIX__ L
Chris Lattnerdcdd2a02009-11-12 08:08:27 +00001234// MSP430:#define __INT32_TYPE__ long int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001235// MSP430:#define __INT8_TYPE__ char
1236// MSP430:#define __INTMAX_MAX__ 2147483647L
Ken Dyck8241d732009-11-19 13:18:59 +00001237// MSP430:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00001238// MSP430:#define __INTMAX_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00001239// MSP430:#define __INTPTR_TYPE__ short
Ken Dyckd896e1a2009-11-18 20:05:48 +00001240// MSP430:#define __INTPTR_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +00001241// MSP430:#define __INT_MAX__ 32767
Eli Friedman75e8efe2012-11-10 00:20:38 +00001242// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001243// MSP430:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00001244// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001245// MSP430:#define __LDBL_HAS_DENORM__ 1
1246// MSP430:#define __LDBL_HAS_INFINITY__ 1
1247// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
1248// MSP430:#define __LDBL_MANT_DIG__ 53
1249// MSP430:#define __LDBL_MAX_10_EXP__ 308
1250// MSP430:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00001251// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001252// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
1253// MSP430:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00001254// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikov79bff432010-01-14 21:36:52 +00001255// MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
Chris Lattnerbceaf862009-10-29 04:55:36 +00001256// MSP430:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001257// MSP430-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +00001258// MSP430:#define __MSP430__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00001259// MSP430:#define __POINTER_WIDTH__ 16
Ken Dyck8241d732009-11-19 13:18:59 +00001260// MSP430:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +00001261// MSP430:#define __PTRDIFF_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +00001262// MSP430:#define __SCHAR_MAX__ 127
1263// MSP430:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00001264// MSP430:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00001265// MSP430:#define __SIZEOF_DOUBLE__ 8
1266// MSP430:#define __SIZEOF_FLOAT__ 4
1267// MSP430:#define __SIZEOF_INT__ 2
1268// MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
1269// MSP430:#define __SIZEOF_LONG_LONG__ 8
1270// MSP430:#define __SIZEOF_LONG__ 4
1271// MSP430:#define __SIZEOF_POINTER__ 2
1272// MSP430:#define __SIZEOF_PTRDIFF_T__ 2
1273// MSP430:#define __SIZEOF_SHORT__ 2
1274// MSP430:#define __SIZEOF_SIZE_T__ 2
1275// MSP430:#define __SIZEOF_WCHAR_T__ 2
1276// MSP430:#define __SIZEOF_WINT_T__ 2
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001277// MSP430:#define __SIZE_MAX__ 65535U
Chris Lattnerbceaf862009-10-29 04:55:36 +00001278// MSP430:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00001279// MSP430:#define __SIZE_WIDTH__ 16
Ken Dyck8241d732009-11-19 13:18:59 +00001280// MSP430:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001281// MSP430:#define __USER_LABEL_PREFIX__ _
Chris Lattner91846462009-11-12 08:04:33 +00001282// MSP430:#define __WCHAR_MAX__ 32767
Chris Lattnerbceaf862009-10-29 04:55:36 +00001283// MSP430:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001284// MSP430:#define __WCHAR_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +00001285// MSP430:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001286// MSP430:#define __WINT_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +00001287// MSP430:#define __clang__ 1
1288//
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001289// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s
1290//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001291// NVPTX32-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001292// NVPTX32:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001293// NVPTX32:#define __CHAR16_TYPE__ unsigned short
1294// NVPTX32:#define __CHAR32_TYPE__ unsigned int
1295// NVPTX32:#define __CHAR_BIT__ 8
1296// NVPTX32:#define __CONSTANT_CFSTRINGS__ 1
1297// NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1298// NVPTX32:#define __DBL_DIG__ 15
1299// NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16
1300// NVPTX32:#define __DBL_HAS_DENORM__ 1
1301// NVPTX32:#define __DBL_HAS_INFINITY__ 1
1302// NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1
1303// NVPTX32:#define __DBL_MANT_DIG__ 53
1304// NVPTX32:#define __DBL_MAX_10_EXP__ 308
1305// NVPTX32:#define __DBL_MAX_EXP__ 1024
1306// NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308
1307// NVPTX32:#define __DBL_MIN_10_EXP__ (-307)
1308// NVPTX32:#define __DBL_MIN_EXP__ (-1021)
1309// NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308
1310// NVPTX32:#define __DECIMAL_DIG__ 17
1311// NVPTX32:#define __FINITE_MATH_ONLY__ 0
1312// NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1313// NVPTX32:#define __FLT_DIG__ 6
1314// NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F
1315// NVPTX32:#define __FLT_EVAL_METHOD__ 0
1316// NVPTX32:#define __FLT_HAS_DENORM__ 1
1317// NVPTX32:#define __FLT_HAS_INFINITY__ 1
1318// NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1
1319// NVPTX32:#define __FLT_MANT_DIG__ 24
1320// NVPTX32:#define __FLT_MAX_10_EXP__ 38
1321// NVPTX32:#define __FLT_MAX_EXP__ 128
1322// NVPTX32:#define __FLT_MAX__ 3.40282347e+38F
1323// NVPTX32:#define __FLT_MIN_10_EXP__ (-37)
1324// NVPTX32:#define __FLT_MIN_EXP__ (-125)
1325// NVPTX32:#define __FLT_MIN__ 1.17549435e-38F
1326// NVPTX32:#define __FLT_RADIX__ 2
1327// NVPTX32:#define __INT16_TYPE__ short
1328// NVPTX32:#define __INT32_TYPE__ int
1329// NVPTX32:#define __INT64_C_SUFFIX__ LL
1330// NVPTX32:#define __INT64_TYPE__ long long int
1331// NVPTX32:#define __INT8_TYPE__ char
1332// NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL
1333// NVPTX32:#define __INTMAX_TYPE__ long long int
1334// NVPTX32:#define __INTMAX_WIDTH__ 64
1335// NVPTX32:#define __INTPTR_TYPE__ unsigned int
1336// NVPTX32:#define __INTPTR_WIDTH__ 32
1337// NVPTX32:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00001338// NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001339// NVPTX32:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00001340// NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001341// NVPTX32:#define __LDBL_HAS_DENORM__ 1
1342// NVPTX32:#define __LDBL_HAS_INFINITY__ 1
1343// NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1
1344// NVPTX32:#define __LDBL_MANT_DIG__ 53
1345// NVPTX32:#define __LDBL_MAX_10_EXP__ 308
1346// NVPTX32:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00001347// NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001348// NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
1349// NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00001350// NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001351// NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL
1352// NVPTX32:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001353// NVPTX32-NOT:#define __LP64__
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001354// NVPTX32:#define __NVPTX__ 1
1355// NVPTX32:#define __POINTER_WIDTH__ 32
1356// NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1
1357// NVPTX32:#define __PTRDIFF_TYPE__ unsigned int
1358// NVPTX32:#define __PTRDIFF_WIDTH__ 32
1359// NVPTX32:#define __PTX__ 1
1360// NVPTX32:#define __SCHAR_MAX__ 127
1361// NVPTX32:#define __SHRT_MAX__ 32767
1362// NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32
1363// NVPTX32:#define __SIZEOF_DOUBLE__ 8
1364// NVPTX32:#define __SIZEOF_FLOAT__ 4
1365// NVPTX32:#define __SIZEOF_INT__ 4
1366// NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8
1367// NVPTX32:#define __SIZEOF_LONG_LONG__ 8
1368// NVPTX32:#define __SIZEOF_LONG__ 8
1369// NVPTX32:#define __SIZEOF_POINTER__ 4
1370// NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4
1371// NVPTX32:#define __SIZEOF_SHORT__ 2
1372// NVPTX32:#define __SIZEOF_SIZE_T__ 4
1373// NVPTX32:#define __SIZEOF_WCHAR_T__ 4
1374// NVPTX32:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001375// NVPTX32:#define __SIZE_MAX__ 4294967295U
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001376// NVPTX32:#define __SIZE_TYPE__ unsigned int
1377// NVPTX32:#define __SIZE_WIDTH__ 32
1378// NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int
1379// NVPTX32:#define __USER_LABEL_PREFIX__ _
1380// NVPTX32:#define __WCHAR_MAX__ 2147483647
1381// NVPTX32:#define __WCHAR_TYPE__ int
1382// NVPTX32:#define __WCHAR_WIDTH__ 32
1383// NVPTX32:#define __WINT_TYPE__ int
1384// NVPTX32:#define __WINT_WIDTH__ 32
1385//
1386// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -check-prefix NVPTX64 %s
1387//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001388// NVPTX64:#define _LP64 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001389// NVPTX64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001390// NVPTX64:#define __CHAR16_TYPE__ unsigned short
1391// NVPTX64:#define __CHAR32_TYPE__ unsigned int
1392// NVPTX64:#define __CHAR_BIT__ 8
1393// NVPTX64:#define __CONSTANT_CFSTRINGS__ 1
1394// NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1395// NVPTX64:#define __DBL_DIG__ 15
1396// NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1397// NVPTX64:#define __DBL_HAS_DENORM__ 1
1398// NVPTX64:#define __DBL_HAS_INFINITY__ 1
1399// NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1
1400// NVPTX64:#define __DBL_MANT_DIG__ 53
1401// NVPTX64:#define __DBL_MAX_10_EXP__ 308
1402// NVPTX64:#define __DBL_MAX_EXP__ 1024
1403// NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308
1404// NVPTX64:#define __DBL_MIN_10_EXP__ (-307)
1405// NVPTX64:#define __DBL_MIN_EXP__ (-1021)
1406// NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308
1407// NVPTX64:#define __DECIMAL_DIG__ 17
1408// NVPTX64:#define __FINITE_MATH_ONLY__ 0
1409// NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1410// NVPTX64:#define __FLT_DIG__ 6
1411// NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F
1412// NVPTX64:#define __FLT_EVAL_METHOD__ 0
1413// NVPTX64:#define __FLT_HAS_DENORM__ 1
1414// NVPTX64:#define __FLT_HAS_INFINITY__ 1
1415// NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1
1416// NVPTX64:#define __FLT_MANT_DIG__ 24
1417// NVPTX64:#define __FLT_MAX_10_EXP__ 38
1418// NVPTX64:#define __FLT_MAX_EXP__ 128
1419// NVPTX64:#define __FLT_MAX__ 3.40282347e+38F
1420// NVPTX64:#define __FLT_MIN_10_EXP__ (-37)
1421// NVPTX64:#define __FLT_MIN_EXP__ (-125)
1422// NVPTX64:#define __FLT_MIN__ 1.17549435e-38F
1423// NVPTX64:#define __FLT_RADIX__ 2
1424// NVPTX64:#define __INT16_TYPE__ short
1425// NVPTX64:#define __INT32_TYPE__ int
1426// NVPTX64:#define __INT64_C_SUFFIX__ LL
1427// NVPTX64:#define __INT64_TYPE__ long long int
1428// NVPTX64:#define __INT8_TYPE__ char
1429// NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL
1430// NVPTX64:#define __INTMAX_TYPE__ long long int
1431// NVPTX64:#define __INTMAX_WIDTH__ 64
1432// NVPTX64:#define __INTPTR_TYPE__ long long unsigned int
1433// NVPTX64:#define __INTPTR_WIDTH__ 64
1434// NVPTX64:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00001435// NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001436// NVPTX64:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00001437// NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001438// NVPTX64:#define __LDBL_HAS_DENORM__ 1
1439// NVPTX64:#define __LDBL_HAS_INFINITY__ 1
1440// NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1
1441// NVPTX64:#define __LDBL_MANT_DIG__ 53
1442// NVPTX64:#define __LDBL_MAX_10_EXP__ 308
1443// NVPTX64:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00001444// NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001445// NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
1446// NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00001447// NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001448// NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1449// NVPTX64:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001450// NVPTX64:#define __LP64__ 1
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001451// NVPTX64:#define __NVPTX__ 1
1452// NVPTX64:#define __POINTER_WIDTH__ 64
1453// NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1
1454// NVPTX64:#define __PTRDIFF_TYPE__ long long unsigned int
1455// NVPTX64:#define __PTRDIFF_WIDTH__ 64
1456// NVPTX64:#define __PTX__ 1
1457// NVPTX64:#define __SCHAR_MAX__ 127
1458// NVPTX64:#define __SHRT_MAX__ 32767
1459// NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32
1460// NVPTX64:#define __SIZEOF_DOUBLE__ 8
1461// NVPTX64:#define __SIZEOF_FLOAT__ 4
1462// NVPTX64:#define __SIZEOF_INT__ 4
1463// NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8
1464// NVPTX64:#define __SIZEOF_LONG_LONG__ 8
1465// NVPTX64:#define __SIZEOF_LONG__ 8
1466// NVPTX64:#define __SIZEOF_POINTER__ 8
1467// NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8
1468// NVPTX64:#define __SIZEOF_SHORT__ 2
1469// NVPTX64:#define __SIZEOF_SIZE_T__ 8
1470// NVPTX64:#define __SIZEOF_WCHAR_T__ 4
1471// NVPTX64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001472// NVPTX64:#define __SIZE_MAX__ 18446744073709551615UL
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001473// NVPTX64:#define __SIZE_TYPE__ long long unsigned int
1474// NVPTX64:#define __SIZE_WIDTH__ 64
1475// NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int
1476// NVPTX64:#define __USER_LABEL_PREFIX__ _
1477// NVPTX64:#define __WCHAR_MAX__ 2147483647
1478// NVPTX64:#define __WCHAR_TYPE__ int
1479// NVPTX64:#define __WCHAR_WIDTH__ 32
1480// NVPTX64:#define __WINT_TYPE__ int
1481// NVPTX64:#define __WINT_WIDTH__ 32
1482//
Hal Finkel39d5fa12012-07-03 16:51:04 +00001483// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -check-prefix PPC603E %s
1484//
1485// PPC603E:#define _ARCH_603 1
1486// PPC603E:#define _ARCH_603E 1
1487// PPC603E:#define _ARCH_PPC 1
1488// PPC603E:#define _ARCH_PPCGR 1
1489// PPC603E:#define _BIG_ENDIAN 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001490// PPC603E-NOT:#define _LP64
Hal Finkel39d5fa12012-07-03 16:51:04 +00001491// PPC603E:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001492// PPC603E:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Hal Finkel39d5fa12012-07-03 16:51:04 +00001493// PPC603E:#define __CHAR16_TYPE__ unsigned short
1494// PPC603E:#define __CHAR32_TYPE__ unsigned int
1495// PPC603E:#define __CHAR_BIT__ 8
1496// PPC603E:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1497// PPC603E:#define __DBL_DIG__ 15
1498// PPC603E:#define __DBL_EPSILON__ 2.2204460492503131e-16
1499// PPC603E:#define __DBL_HAS_DENORM__ 1
1500// PPC603E:#define __DBL_HAS_INFINITY__ 1
1501// PPC603E:#define __DBL_HAS_QUIET_NAN__ 1
1502// PPC603E:#define __DBL_MANT_DIG__ 53
1503// PPC603E:#define __DBL_MAX_10_EXP__ 308
1504// PPC603E:#define __DBL_MAX_EXP__ 1024
1505// PPC603E:#define __DBL_MAX__ 1.7976931348623157e+308
1506// PPC603E:#define __DBL_MIN_10_EXP__ (-307)
1507// PPC603E:#define __DBL_MIN_EXP__ (-1021)
1508// PPC603E:#define __DBL_MIN__ 2.2250738585072014e-308
1509// PPC603E:#define __DECIMAL_DIG__ 33
1510// PPC603E:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1511// PPC603E:#define __FLT_DIG__ 6
1512// PPC603E:#define __FLT_EPSILON__ 1.19209290e-7F
1513// PPC603E:#define __FLT_EVAL_METHOD__ 0
1514// PPC603E:#define __FLT_HAS_DENORM__ 1
1515// PPC603E:#define __FLT_HAS_INFINITY__ 1
1516// PPC603E:#define __FLT_HAS_QUIET_NAN__ 1
1517// PPC603E:#define __FLT_MANT_DIG__ 24
1518// PPC603E:#define __FLT_MAX_10_EXP__ 38
1519// PPC603E:#define __FLT_MAX_EXP__ 128
1520// PPC603E:#define __FLT_MAX__ 3.40282347e+38F
1521// PPC603E:#define __FLT_MIN_10_EXP__ (-37)
1522// PPC603E:#define __FLT_MIN_EXP__ (-125)
1523// PPC603E:#define __FLT_MIN__ 1.17549435e-38F
1524// PPC603E:#define __FLT_RADIX__ 2
1525// PPC603E:#define __INT16_TYPE__ short
1526// PPC603E:#define __INT32_TYPE__ int
1527// PPC603E:#define __INT64_C_SUFFIX__ LL
1528// PPC603E:#define __INT64_TYPE__ long long int
1529// PPC603E:#define __INT8_TYPE__ char
1530// PPC603E:#define __INTMAX_MAX__ 9223372036854775807LL
1531// PPC603E:#define __INTMAX_TYPE__ long long int
1532// PPC603E:#define __INTMAX_WIDTH__ 64
1533// PPC603E:#define __INTPTR_TYPE__ long int
1534// PPC603E:#define __INTPTR_WIDTH__ 32
1535// PPC603E:#define __INT_MAX__ 2147483647
1536// PPC603E:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1537// PPC603E:#define __LDBL_DIG__ 31
1538// PPC603E:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1539// PPC603E:#define __LDBL_HAS_DENORM__ 1
1540// PPC603E:#define __LDBL_HAS_INFINITY__ 1
1541// PPC603E:#define __LDBL_HAS_QUIET_NAN__ 1
1542// PPC603E:#define __LDBL_MANT_DIG__ 106
1543// PPC603E:#define __LDBL_MAX_10_EXP__ 308
1544// PPC603E:#define __LDBL_MAX_EXP__ 1024
1545// PPC603E:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1546// PPC603E:#define __LDBL_MIN_10_EXP__ (-291)
1547// PPC603E:#define __LDBL_MIN_EXP__ (-968)
1548// PPC603E:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1549// PPC603E:#define __LONG_DOUBLE_128__ 1
1550// PPC603E:#define __LONG_LONG_MAX__ 9223372036854775807LL
1551// PPC603E:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001552// PPC603E-NOT:#define __LP64__
Hal Finkel39d5fa12012-07-03 16:51:04 +00001553// PPC603E:#define __NATURAL_ALIGNMENT__ 1
Hal Finkel39d5fa12012-07-03 16:51:04 +00001554// PPC603E:#define __POINTER_WIDTH__ 32
1555// PPC603E:#define __POWERPC__ 1
1556// PPC603E:#define __PTRDIFF_TYPE__ long int
1557// PPC603E:#define __PTRDIFF_WIDTH__ 32
1558// PPC603E:#define __REGISTER_PREFIX__
1559// PPC603E:#define __SCHAR_MAX__ 127
1560// PPC603E:#define __SHRT_MAX__ 32767
1561// PPC603E:#define __SIG_ATOMIC_WIDTH__ 32
1562// PPC603E:#define __SIZEOF_DOUBLE__ 8
1563// PPC603E:#define __SIZEOF_FLOAT__ 4
1564// PPC603E:#define __SIZEOF_INT__ 4
1565// PPC603E:#define __SIZEOF_LONG_DOUBLE__ 16
1566// PPC603E:#define __SIZEOF_LONG_LONG__ 8
1567// PPC603E:#define __SIZEOF_LONG__ 4
1568// PPC603E:#define __SIZEOF_POINTER__ 4
1569// PPC603E:#define __SIZEOF_PTRDIFF_T__ 4
1570// PPC603E:#define __SIZEOF_SHORT__ 2
1571// PPC603E:#define __SIZEOF_SIZE_T__ 4
1572// PPC603E:#define __SIZEOF_WCHAR_T__ 4
1573// PPC603E:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001574// PPC603E:#define __SIZE_MAX__ 4294967295U
Hal Finkel39d5fa12012-07-03 16:51:04 +00001575// PPC603E:#define __SIZE_TYPE__ long unsigned int
1576// PPC603E:#define __SIZE_WIDTH__ 32
1577// PPC603E:#define __UINTMAX_TYPE__ long long unsigned int
1578// PPC603E:#define __USER_LABEL_PREFIX__ _
1579// PPC603E:#define __WCHAR_MAX__ 2147483647
1580// PPC603E:#define __WCHAR_TYPE__ int
1581// PPC603E:#define __WCHAR_WIDTH__ 32
1582// PPC603E:#define __WINT_TYPE__ int
1583// PPC603E:#define __WINT_WIDTH__ 32
1584// PPC603E:#define __powerpc__ 1
1585// PPC603E:#define __ppc__ 1
1586//
Hal Finkel02a84272012-06-11 22:35:19 +00001587// 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 +00001588//
1589// PPC64:#define _ARCH_PPC 1
1590// PPC64:#define _ARCH_PPC64 1
Hal Finkel39d5fa12012-07-03 16:51:04 +00001591// PPC64:#define _ARCH_PPCGR 1
1592// PPC64:#define _ARCH_PPCSQ 1
1593// PPC64:#define _ARCH_PWR4 1
1594// PPC64:#define _ARCH_PWR5 1
1595// PPC64:#define _ARCH_PWR6 1
Hal Finkel02a84272012-06-11 22:35:19 +00001596// PPC64:#define _ARCH_PWR7 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00001597// PPC64:#define _BIG_ENDIAN 1
1598// PPC64:#define _LP64 1
1599// PPC64:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001600// PPC64:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00001601// PPC64:#define __CHAR16_TYPE__ unsigned short
1602// PPC64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001603// PPC64:#define __CHAR_BIT__ 8
1604// PPC64:#define __CHAR_UNSIGNED__ 1
1605// PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1606// PPC64:#define __DBL_DIG__ 15
1607// PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1608// PPC64:#define __DBL_HAS_DENORM__ 1
1609// PPC64:#define __DBL_HAS_INFINITY__ 1
1610// PPC64:#define __DBL_HAS_QUIET_NAN__ 1
1611// PPC64:#define __DBL_MANT_DIG__ 53
1612// PPC64:#define __DBL_MAX_10_EXP__ 308
1613// PPC64:#define __DBL_MAX_EXP__ 1024
1614// PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
1615// PPC64:#define __DBL_MIN_10_EXP__ (-307)
1616// PPC64:#define __DBL_MIN_EXP__ (-1021)
1617// PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001618// PPC64:#define __DECIMAL_DIG__ 33
Chris Lattnerbceaf862009-10-29 04:55:36 +00001619// PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1620// PPC64:#define __FLT_DIG__ 6
1621// PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
1622// PPC64:#define __FLT_EVAL_METHOD__ 0
1623// PPC64:#define __FLT_HAS_DENORM__ 1
1624// PPC64:#define __FLT_HAS_INFINITY__ 1
1625// PPC64:#define __FLT_HAS_QUIET_NAN__ 1
1626// PPC64:#define __FLT_MANT_DIG__ 24
1627// PPC64:#define __FLT_MAX_10_EXP__ 38
1628// PPC64:#define __FLT_MAX_EXP__ 128
1629// PPC64:#define __FLT_MAX__ 3.40282347e+38F
1630// PPC64:#define __FLT_MIN_10_EXP__ (-37)
1631// PPC64:#define __FLT_MIN_EXP__ (-125)
1632// PPC64:#define __FLT_MIN__ 1.17549435e-38F
1633// PPC64:#define __FLT_RADIX__ 2
1634// PPC64:#define __INT16_TYPE__ short
1635// PPC64:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00001636// PPC64:#define __INT64_C_SUFFIX__ L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001637// PPC64:#define __INT64_TYPE__ long int
1638// PPC64:#define __INT8_TYPE__ char
1639// PPC64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck8241d732009-11-19 13:18:59 +00001640// PPC64:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00001641// PPC64:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001642// PPC64:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00001643// PPC64:#define __INTPTR_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001644// PPC64:#define __INT_MAX__ 2147483647
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001645// PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1646// PPC64:#define __LDBL_DIG__ 31
1647// PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001648// PPC64:#define __LDBL_HAS_DENORM__ 1
1649// PPC64:#define __LDBL_HAS_INFINITY__ 1
1650// PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001651// PPC64:#define __LDBL_MANT_DIG__ 106
Chris Lattnerbceaf862009-10-29 04:55:36 +00001652// PPC64:#define __LDBL_MAX_10_EXP__ 308
1653// PPC64:#define __LDBL_MAX_EXP__ 1024
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001654// PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1655// PPC64:#define __LDBL_MIN_10_EXP__ (-291)
1656// PPC64:#define __LDBL_MIN_EXP__ (-968)
1657// PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001658// PPC64:#define __LONG_DOUBLE_128__ 1
1659// PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1660// PPC64:#define __LONG_MAX__ 9223372036854775807L
1661// PPC64:#define __LP64__ 1
1662// PPC64:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00001663// PPC64:#define __POINTER_WIDTH__ 64
1664// PPC64:#define __POWERPC__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00001665// PPC64:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00001666// PPC64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001667// PPC64:#define __REGISTER_PREFIX__
1668// PPC64:#define __SCHAR_MAX__ 127
1669// PPC64:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00001670// PPC64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00001671// PPC64:#define __SIZEOF_DOUBLE__ 8
1672// PPC64:#define __SIZEOF_FLOAT__ 4
1673// PPC64:#define __SIZEOF_INT__ 4
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001674// PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohmancfeac342010-05-28 00:27:15 +00001675// PPC64:#define __SIZEOF_LONG_LONG__ 8
1676// PPC64:#define __SIZEOF_LONG__ 8
1677// PPC64:#define __SIZEOF_POINTER__ 8
1678// PPC64:#define __SIZEOF_PTRDIFF_T__ 8
1679// PPC64:#define __SIZEOF_SHORT__ 2
1680// PPC64:#define __SIZEOF_SIZE_T__ 8
1681// PPC64:#define __SIZEOF_WCHAR_T__ 4
1682// PPC64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001683// PPC64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnerbceaf862009-10-29 04:55:36 +00001684// PPC64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00001685// PPC64:#define __SIZE_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001686// PPC64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001687// PPC64:#define __USER_LABEL_PREFIX__ _
1688// PPC64:#define __WCHAR_MAX__ 2147483647
1689// PPC64:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001690// PPC64:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001691// PPC64:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001692// PPC64:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001693// PPC64:#define __ppc64__ 1
1694// PPC64:#define __ppc__ 1
1695//
Hal Finkel5ccd3d02013-02-01 05:53:33 +00001696// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu a2q -fno-signed-char < /dev/null | FileCheck -check-prefix PPCA2Q %s
1697//
1698// PPCA2Q:#define _ARCH_A2 1
1699// PPCA2Q:#define _ARCH_A2Q 1
1700// PPCA2Q:#define _ARCH_PPC 1
1701// PPCA2Q:#define _ARCH_PPC64 1
1702// PPCA2Q:#define _ARCH_QP 1
1703//
1704// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-bgq-linux -fno-signed-char < /dev/null | FileCheck -check-prefix PPCBGQ %s
1705//
1706// PPCBGQ:#define __THW_BLUEGENE__ 1
1707// PPCBGQ:#define __TOS_BGQ__ 1
1708// PPCBGQ:#define __bg__ 1
1709// PPCBGQ:#define __bgq__ 1
1710//
Bill Schmidt2821e182013-02-01 20:23:10 +00001711// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu 630 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC630 %s
1712//
1713// PPC630:#define _ARCH_630 1
1714// PPC630:#define _ARCH_PPC 1
1715// PPC630:#define _ARCH_PPC64 1
1716// PPC630:#define _ARCH_PPCGR 1
1717//
1718// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR3 %s
1719//
1720// PPCPWR3:#define _ARCH_PPC 1
1721// PPCPWR3:#define _ARCH_PPC64 1
1722// PPCPWR3:#define _ARCH_PPCGR 1
1723//
1724// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER3 %s
1725//
1726// PPCPOWER3:#define _ARCH_PPC 1
1727// PPCPOWER3:#define _ARCH_PPC64 1
1728// PPCPOWER3:#define _ARCH_PPCGR 1
1729//
1730// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR4 %s
1731//
1732// PPCPWR4:#define _ARCH_PPC 1
1733// PPCPWR4:#define _ARCH_PPC64 1
1734// PPCPWR4:#define _ARCH_PPCGR 1
1735// PPCPWR4:#define _ARCH_PPCSQ 1
1736// PPCPWR4:#define _ARCH_PWR4 1
1737//
1738// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER4 %s
1739//
1740// PPCPOWER4:#define _ARCH_PPC 1
1741// PPCPOWER4:#define _ARCH_PPC64 1
1742// PPCPOWER4:#define _ARCH_PPCGR 1
1743// PPCPOWER4:#define _ARCH_PPCSQ 1
1744// PPCPOWER4:#define _ARCH_PWR4 1
1745//
1746// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5 %s
1747//
1748// PPCPWR5:#define _ARCH_PPC 1
1749// PPCPWR5:#define _ARCH_PPC64 1
1750// PPCPWR5:#define _ARCH_PPCGR 1
1751// PPCPWR5:#define _ARCH_PPCSQ 1
1752// PPCPWR5:#define _ARCH_PWR4 1
1753// PPCPWR5:#define _ARCH_PWR5 1
1754//
1755// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5 %s
1756//
1757// PPCPOWER5:#define _ARCH_PPC 1
1758// PPCPOWER5:#define _ARCH_PPC64 1
1759// PPCPOWER5:#define _ARCH_PPCGR 1
1760// PPCPOWER5:#define _ARCH_PPCSQ 1
1761// PPCPOWER5:#define _ARCH_PWR4 1
1762// PPCPOWER5:#define _ARCH_PWR5 1
1763//
1764// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5X %s
1765//
1766// PPCPWR5X:#define _ARCH_PPC 1
1767// PPCPWR5X:#define _ARCH_PPC64 1
1768// PPCPWR5X:#define _ARCH_PPCGR 1
1769// PPCPWR5X:#define _ARCH_PPCSQ 1
1770// PPCPWR5X:#define _ARCH_PWR4 1
1771// PPCPWR5X:#define _ARCH_PWR5 1
1772// PPCPWR5X:#define _ARCH_PWR5X 1
1773//
1774// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5X %s
1775//
1776// PPCPOWER5X:#define _ARCH_PPC 1
1777// PPCPOWER5X:#define _ARCH_PPC64 1
1778// PPCPOWER5X:#define _ARCH_PPCGR 1
1779// PPCPOWER5X:#define _ARCH_PPCSQ 1
1780// PPCPOWER5X:#define _ARCH_PWR4 1
1781// PPCPOWER5X:#define _ARCH_PWR5 1
1782// PPCPOWER5X:#define _ARCH_PWR5X 1
1783//
1784// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6 %s
1785//
1786// PPCPWR6:#define _ARCH_PPC 1
1787// PPCPWR6:#define _ARCH_PPC64 1
1788// PPCPWR6:#define _ARCH_PPCGR 1
1789// PPCPWR6:#define _ARCH_PPCSQ 1
1790// PPCPWR6:#define _ARCH_PWR4 1
1791// PPCPWR6:#define _ARCH_PWR5 1
1792// PPCPWR6:#define _ARCH_PWR5X 1
1793// PPCPWR6:#define _ARCH_PWR6 1
1794//
1795// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6 %s
1796//
1797// PPCPOWER6:#define _ARCH_PPC 1
1798// PPCPOWER6:#define _ARCH_PPC64 1
1799// PPCPOWER6:#define _ARCH_PPCGR 1
1800// PPCPOWER6:#define _ARCH_PPCSQ 1
1801// PPCPOWER6:#define _ARCH_PWR4 1
1802// PPCPOWER6:#define _ARCH_PWR5 1
1803// PPCPOWER6:#define _ARCH_PWR5X 1
1804// PPCPOWER6:#define _ARCH_PWR6 1
1805//
1806// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6X %s
1807//
1808// PPCPWR6X:#define _ARCH_PPC 1
1809// PPCPWR6X:#define _ARCH_PPC64 1
1810// PPCPWR6X:#define _ARCH_PPCGR 1
1811// PPCPWR6X:#define _ARCH_PPCSQ 1
1812// PPCPWR6X:#define _ARCH_PWR4 1
1813// PPCPWR6X:#define _ARCH_PWR5 1
1814// PPCPWR6X:#define _ARCH_PWR5X 1
1815// PPCPWR6X:#define _ARCH_PWR6 1
1816// PPCPWR6X:#define _ARCH_PWR6X 1
1817//
1818// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6X %s
1819//
1820// PPCPOWER6X:#define _ARCH_PPC 1
1821// PPCPOWER6X:#define _ARCH_PPC64 1
1822// PPCPOWER6X:#define _ARCH_PPCGR 1
1823// PPCPOWER6X:#define _ARCH_PPCSQ 1
1824// PPCPOWER6X:#define _ARCH_PWR4 1
1825// PPCPOWER6X:#define _ARCH_PWR5 1
1826// PPCPOWER6X:#define _ARCH_PWR5X 1
1827// PPCPOWER6X:#define _ARCH_PWR6 1
1828// PPCPOWER6X:#define _ARCH_PWR6X 1
1829//
1830// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR7 %s
1831//
1832// PPCPWR7:#define _ARCH_PPC 1
1833// PPCPWR7:#define _ARCH_PPC64 1
1834// PPCPWR7:#define _ARCH_PPCGR 1
1835// PPCPWR7:#define _ARCH_PPCSQ 1
1836// PPCPWR7:#define _ARCH_PWR4 1
1837// PPCPWR7:#define _ARCH_PWR5 1
1838// PPCPWR7:#define _ARCH_PWR5X 1
1839// PPCPWR7:#define _ARCH_PWR6 1
1840// PPCPWR7:#define _ARCH_PWR6X 1
1841// PPCPWR7:#define _ARCH_PWR7 1
1842//
1843// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER7 %s
1844//
1845// PPCPOWER7:#define _ARCH_PPC 1
1846// PPCPOWER7:#define _ARCH_PPC64 1
1847// PPCPOWER7:#define _ARCH_PPCGR 1
1848// PPCPOWER7:#define _ARCH_PPCSQ 1
1849// PPCPOWER7:#define _ARCH_PWR4 1
1850// PPCPOWER7:#define _ARCH_PWR5 1
1851// PPCPOWER7:#define _ARCH_PWR5X 1
1852// PPCPOWER7:#define _ARCH_PWR6 1
1853// PPCPOWER7:#define _ARCH_PWR6X 1
1854// PPCPOWER7:#define _ARCH_PWR7 1
1855//
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001856// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
1857//
1858// PPC64-LINUX:#define _ARCH_PPC 1
1859// PPC64-LINUX:#define _ARCH_PPC64 1
1860// PPC64-LINUX:#define _BIG_ENDIAN 1
1861// PPC64-LINUX:#define _LP64 1
1862// PPC64-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001863// PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001864// PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
1865// PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
1866// PPC64-LINUX:#define __CHAR_BIT__ 8
1867// PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
1868// PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1869// PPC64-LINUX:#define __DBL_DIG__ 15
1870// PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
1871// PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
1872// PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
1873// PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
1874// PPC64-LINUX:#define __DBL_MANT_DIG__ 53
1875// PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
1876// PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
1877// PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
1878// PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
1879// PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
1880// PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
1881// PPC64-LINUX:#define __DECIMAL_DIG__ 33
1882// PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1883// PPC64-LINUX:#define __FLT_DIG__ 6
1884// PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
1885// PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
1886// PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
1887// PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
1888// PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
1889// PPC64-LINUX:#define __FLT_MANT_DIG__ 24
1890// PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
1891// PPC64-LINUX:#define __FLT_MAX_EXP__ 128
1892// PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
1893// PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
1894// PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
1895// PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
1896// PPC64-LINUX:#define __FLT_RADIX__ 2
1897// PPC64-LINUX:#define __INT16_TYPE__ short
1898// PPC64-LINUX:#define __INT32_TYPE__ int
1899// PPC64-LINUX:#define __INT64_C_SUFFIX__ L
1900// PPC64-LINUX:#define __INT64_TYPE__ long int
1901// PPC64-LINUX:#define __INT8_TYPE__ char
1902// PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
1903// PPC64-LINUX:#define __INTMAX_TYPE__ long int
1904// PPC64-LINUX:#define __INTMAX_WIDTH__ 64
1905// PPC64-LINUX:#define __INTPTR_TYPE__ long int
1906// PPC64-LINUX:#define __INTPTR_WIDTH__ 64
1907// PPC64-LINUX:#define __INT_MAX__ 2147483647
1908// PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1909// PPC64-LINUX:#define __LDBL_DIG__ 31
1910// PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1911// PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
1912// PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
1913// PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
1914// PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
1915// PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
1916// PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
1917// PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1918// PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
1919// PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
1920// PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1921// PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
1922// PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
1923// PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
1924// PPC64-LINUX:#define __LP64__ 1
1925// PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001926// PPC64-LINUX:#define __POINTER_WIDTH__ 64
1927// PPC64-LINUX:#define __POWERPC__ 1
1928// PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
1929// PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
1930// PPC64-LINUX:#define __REGISTER_PREFIX__
1931// PPC64-LINUX:#define __SCHAR_MAX__ 127
1932// PPC64-LINUX:#define __SHRT_MAX__ 32767
1933// PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
1934// PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
1935// PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
1936// PPC64-LINUX:#define __SIZEOF_INT__ 4
1937// PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
1938// PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
1939// PPC64-LINUX:#define __SIZEOF_LONG__ 8
1940// PPC64-LINUX:#define __SIZEOF_POINTER__ 8
1941// PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
1942// PPC64-LINUX:#define __SIZEOF_SHORT__ 2
1943// PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
1944// PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
1945// PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001946// PPC64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001947// PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
1948// PPC64-LINUX:#define __SIZE_WIDTH__ 64
1949// PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
1950// PPC64-LINUX:#define __USER_LABEL_PREFIX__
1951// PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
1952// PPC64-LINUX:#define __WCHAR_TYPE__ int
1953// PPC64-LINUX:#define __WCHAR_WIDTH__ 32
1954// PPC64-LINUX:#define __WINT_TYPE__ unsigned int
1955// PPC64-LINUX:#define __WINT_UNSIGNED__ 1
1956// PPC64-LINUX:#define __WINT_WIDTH__ 32
1957// PPC64-LINUX:#define __powerpc64__ 1
1958// PPC64-LINUX:#define __powerpc__ 1
1959// PPC64-LINUX:#define __ppc64__ 1
1960// PPC64-LINUX:#define __ppc__ 1
1961//
Daniel Dunbara5728872009-12-15 20:14:24 +00001962// 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 +00001963//
1964// PPC:#define _ARCH_PPC 1
1965// PPC:#define _BIG_ENDIAN 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001966// PPC-NOT:#define _LP64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001967// PPC:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001968// PPC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00001969// PPC:#define __CHAR16_TYPE__ unsigned short
1970// PPC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001971// PPC:#define __CHAR_BIT__ 8
1972// PPC:#define __CHAR_UNSIGNED__ 1
1973// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1974// PPC:#define __DBL_DIG__ 15
1975// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
1976// PPC:#define __DBL_HAS_DENORM__ 1
1977// PPC:#define __DBL_HAS_INFINITY__ 1
1978// PPC:#define __DBL_HAS_QUIET_NAN__ 1
1979// PPC:#define __DBL_MANT_DIG__ 53
1980// PPC:#define __DBL_MAX_10_EXP__ 308
1981// PPC:#define __DBL_MAX_EXP__ 1024
1982// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
1983// PPC:#define __DBL_MIN_10_EXP__ (-307)
1984// PPC:#define __DBL_MIN_EXP__ (-1021)
1985// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001986// PPC:#define __DECIMAL_DIG__ 33
Chris Lattnerbceaf862009-10-29 04:55:36 +00001987// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1988// PPC:#define __FLT_DIG__ 6
1989// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
1990// PPC:#define __FLT_EVAL_METHOD__ 0
1991// PPC:#define __FLT_HAS_DENORM__ 1
1992// PPC:#define __FLT_HAS_INFINITY__ 1
1993// PPC:#define __FLT_HAS_QUIET_NAN__ 1
1994// PPC:#define __FLT_MANT_DIG__ 24
1995// PPC:#define __FLT_MAX_10_EXP__ 38
1996// PPC:#define __FLT_MAX_EXP__ 128
1997// PPC:#define __FLT_MAX__ 3.40282347e+38F
1998// PPC:#define __FLT_MIN_10_EXP__ (-37)
1999// PPC:#define __FLT_MIN_EXP__ (-125)
2000// PPC:#define __FLT_MIN__ 1.17549435e-38F
2001// PPC:#define __FLT_RADIX__ 2
2002// PPC:#define __INT16_TYPE__ short
2003// PPC:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00002004// PPC:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +00002005// PPC:#define __INT64_TYPE__ long long int
2006// PPC:#define __INT8_TYPE__ char
2007// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +00002008// PPC:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +00002009// PPC:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00002010// PPC:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00002011// PPC:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002012// PPC:#define __INT_MAX__ 2147483647
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002013// PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2014// PPC:#define __LDBL_DIG__ 31
2015// PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002016// PPC:#define __LDBL_HAS_DENORM__ 1
2017// PPC:#define __LDBL_HAS_INFINITY__ 1
2018// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002019// PPC:#define __LDBL_MANT_DIG__ 106
Chris Lattnerbceaf862009-10-29 04:55:36 +00002020// PPC:#define __LDBL_MAX_10_EXP__ 308
2021// PPC:#define __LDBL_MAX_EXP__ 1024
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002022// PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2023// PPC:#define __LDBL_MIN_10_EXP__ (-291)
2024// PPC:#define __LDBL_MIN_EXP__ (-968)
2025// PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002026// PPC:#define __LONG_DOUBLE_128__ 1
2027// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2028// PPC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002029// PPC-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +00002030// PPC:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00002031// PPC:#define __POINTER_WIDTH__ 32
2032// PPC:#define __POWERPC__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00002033// PPC:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00002034// PPC:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002035// PPC:#define __REGISTER_PREFIX__
2036// PPC:#define __SCHAR_MAX__ 127
2037// PPC:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00002038// PPC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00002039// PPC:#define __SIZEOF_DOUBLE__ 8
2040// PPC:#define __SIZEOF_FLOAT__ 4
2041// PPC:#define __SIZEOF_INT__ 4
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002042// PPC:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohmancfeac342010-05-28 00:27:15 +00002043// PPC:#define __SIZEOF_LONG_LONG__ 8
2044// PPC:#define __SIZEOF_LONG__ 4
2045// PPC:#define __SIZEOF_POINTER__ 4
2046// PPC:#define __SIZEOF_PTRDIFF_T__ 4
2047// PPC:#define __SIZEOF_SHORT__ 2
2048// PPC:#define __SIZEOF_SIZE_T__ 4
2049// PPC:#define __SIZEOF_WCHAR_T__ 4
2050// PPC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002051// PPC:#define __SIZE_MAX__ 4294967295U
Chris Lattnerbceaf862009-10-29 04:55:36 +00002052// PPC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00002053// PPC:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00002054// PPC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002055// PPC:#define __USER_LABEL_PREFIX__ _
2056// PPC:#define __WCHAR_MAX__ 2147483647
2057// PPC:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00002058// PPC:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002059// PPC:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00002060// PPC:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002061// PPC:#define __ppc__ 1
2062//
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002063// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
2064//
2065// PPC-LINUX:#define _ARCH_PPC 1
2066// PPC-LINUX:#define _BIG_ENDIAN 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002067// PPC-LINUX-NOT:#define _LP64
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002068// PPC-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002069// PPC-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002070// PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
2071// PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
2072// PPC-LINUX:#define __CHAR_BIT__ 8
2073// PPC-LINUX:#define __CHAR_UNSIGNED__ 1
2074// PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2075// PPC-LINUX:#define __DBL_DIG__ 15
2076// PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2077// PPC-LINUX:#define __DBL_HAS_DENORM__ 1
2078// PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
2079// PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2080// PPC-LINUX:#define __DBL_MANT_DIG__ 53
2081// PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
2082// PPC-LINUX:#define __DBL_MAX_EXP__ 1024
2083// PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2084// PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2085// PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
2086// PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2087// PPC-LINUX:#define __DECIMAL_DIG__ 33
2088// PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2089// PPC-LINUX:#define __FLT_DIG__ 6
2090// PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2091// PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
2092// PPC-LINUX:#define __FLT_HAS_DENORM__ 1
2093// PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
2094// PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2095// PPC-LINUX:#define __FLT_MANT_DIG__ 24
2096// PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
2097// PPC-LINUX:#define __FLT_MAX_EXP__ 128
2098// PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2099// PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2100// PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
2101// PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2102// PPC-LINUX:#define __FLT_RADIX__ 2
2103// PPC-LINUX:#define __INT16_TYPE__ short
2104// PPC-LINUX:#define __INT32_TYPE__ int
2105// PPC-LINUX:#define __INT64_C_SUFFIX__ LL
2106// PPC-LINUX:#define __INT64_TYPE__ long long int
2107// PPC-LINUX:#define __INT8_TYPE__ char
2108// PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
2109// PPC-LINUX:#define __INTMAX_TYPE__ long long int
2110// PPC-LINUX:#define __INTMAX_WIDTH__ 64
Hal Finkel178a9b82012-03-02 20:54:36 +00002111// PPC-LINUX:#define __INTPTR_TYPE__ int
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002112// PPC-LINUX:#define __INTPTR_WIDTH__ 32
2113// PPC-LINUX:#define __INT_MAX__ 2147483647
2114// PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2115// PPC-LINUX:#define __LDBL_DIG__ 31
2116// PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2117// PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
2118// PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
2119// PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2120// PPC-LINUX:#define __LDBL_MANT_DIG__ 106
2121// PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
2122// PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
2123// PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2124// PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2125// PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
2126// PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2127// PPC-LINUX:#define __LONG_DOUBLE_128__ 1
2128// PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2129// PPC-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002130// PPC-LINUX-NOT:#define __LP64__
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002131// PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002132// PPC-LINUX:#define __POINTER_WIDTH__ 32
2133// PPC-LINUX:#define __POWERPC__ 1
Hal Finkel178a9b82012-03-02 20:54:36 +00002134// PPC-LINUX:#define __PTRDIFF_TYPE__ int
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002135// PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
2136// PPC-LINUX:#define __REGISTER_PREFIX__
2137// PPC-LINUX:#define __SCHAR_MAX__ 127
2138// PPC-LINUX:#define __SHRT_MAX__ 32767
2139// PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2140// PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
2141// PPC-LINUX:#define __SIZEOF_FLOAT__ 4
2142// PPC-LINUX:#define __SIZEOF_INT__ 4
2143// PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2144// PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
2145// PPC-LINUX:#define __SIZEOF_LONG__ 4
2146// PPC-LINUX:#define __SIZEOF_POINTER__ 4
2147// PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
2148// PPC-LINUX:#define __SIZEOF_SHORT__ 2
2149// PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
2150// PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
2151// PPC-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002152// PPC-LINUX:#define __SIZE_MAX__ 4294967295U
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002153// PPC-LINUX:#define __SIZE_TYPE__ unsigned int
2154// PPC-LINUX:#define __SIZE_WIDTH__ 32
2155// PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
2156// PPC-LINUX:#define __USER_LABEL_PREFIX__
2157// PPC-LINUX:#define __WCHAR_MAX__ 2147483647
2158// PPC-LINUX:#define __WCHAR_TYPE__ int
2159// PPC-LINUX:#define __WCHAR_WIDTH__ 32
2160// PPC-LINUX:#define __WINT_TYPE__ unsigned int
2161// PPC-LINUX:#define __WINT_UNSIGNED__ 1
2162// PPC-LINUX:#define __WINT_WIDTH__ 32
2163// PPC-LINUX:#define __powerpc__ 1
2164// PPC-LINUX:#define __ppc__ 1
2165//
Daniel Dunbara5728872009-12-15 20:14:24 +00002166// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00002167//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002168// SPARC-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002169// SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00002170// SPARC:#define __CHAR16_TYPE__ unsigned short
2171// SPARC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002172// SPARC:#define __CHAR_BIT__ 8
2173// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2174// SPARC:#define __DBL_DIG__ 15
2175// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2176// SPARC:#define __DBL_HAS_DENORM__ 1
2177// SPARC:#define __DBL_HAS_INFINITY__ 1
2178// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
2179// SPARC:#define __DBL_MANT_DIG__ 53
2180// SPARC:#define __DBL_MAX_10_EXP__ 308
2181// SPARC:#define __DBL_MAX_EXP__ 1024
2182// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
2183// SPARC:#define __DBL_MIN_10_EXP__ (-307)
2184// SPARC:#define __DBL_MIN_EXP__ (-1021)
2185// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
2186// SPARC:#define __DECIMAL_DIG__ 17
2187// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2188// SPARC:#define __FLT_DIG__ 6
2189// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
2190// SPARC:#define __FLT_EVAL_METHOD__ 0
2191// SPARC:#define __FLT_HAS_DENORM__ 1
2192// SPARC:#define __FLT_HAS_INFINITY__ 1
2193// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
2194// SPARC:#define __FLT_MANT_DIG__ 24
2195// SPARC:#define __FLT_MAX_10_EXP__ 38
2196// SPARC:#define __FLT_MAX_EXP__ 128
2197// SPARC:#define __FLT_MAX__ 3.40282347e+38F
2198// SPARC:#define __FLT_MIN_10_EXP__ (-37)
2199// SPARC:#define __FLT_MIN_EXP__ (-125)
2200// SPARC:#define __FLT_MIN__ 1.17549435e-38F
2201// SPARC:#define __FLT_RADIX__ 2
2202// SPARC:#define __INT16_TYPE__ short
2203// SPARC:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00002204// SPARC:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +00002205// SPARC:#define __INT64_TYPE__ long long int
2206// SPARC:#define __INT8_TYPE__ char
2207// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +00002208// SPARC:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +00002209// SPARC:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00002210// SPARC:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00002211// SPARC:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002212// SPARC:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00002213// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002214// SPARC:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00002215// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002216// SPARC:#define __LDBL_HAS_DENORM__ 1
2217// SPARC:#define __LDBL_HAS_INFINITY__ 1
2218// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
2219// SPARC:#define __LDBL_MANT_DIG__ 53
2220// SPARC:#define __LDBL_MAX_10_EXP__ 308
2221// SPARC:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00002222// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002223// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
2224// SPARC:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00002225// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002226// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2227// SPARC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002228// SPARC-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +00002229// SPARC:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00002230// SPARC:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00002231// SPARC:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbareac7c532009-12-18 18:42:37 +00002232// SPARC:#define __REGISTER_PREFIX__
Chris Lattnerbceaf862009-10-29 04:55:36 +00002233// SPARC:#define __SCHAR_MAX__ 127
2234// SPARC:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00002235// SPARC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00002236// SPARC:#define __SIZEOF_DOUBLE__ 8
2237// SPARC:#define __SIZEOF_FLOAT__ 4
2238// SPARC:#define __SIZEOF_INT__ 4
2239// SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
2240// SPARC:#define __SIZEOF_LONG_LONG__ 8
2241// SPARC:#define __SIZEOF_LONG__ 4
2242// SPARC:#define __SIZEOF_POINTER__ 4
2243// SPARC:#define __SIZEOF_PTRDIFF_T__ 4
2244// SPARC:#define __SIZEOF_SHORT__ 2
2245// SPARC:#define __SIZEOF_SIZE_T__ 4
2246// SPARC:#define __SIZEOF_WCHAR_T__ 4
2247// SPARC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002248// SPARC:#define __SIZE_MAX__ 4294967295U
Chris Lattnerbceaf862009-10-29 04:55:36 +00002249// SPARC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00002250// SPARC:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00002251// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002252// SPARC:#define __USER_LABEL_PREFIX__ _
Daniel Dunbarad1a4c62011-03-31 00:53:51 +00002253// SPARC:#define __VERSION__ "4.2.1 Compatible
Chris Lattnerbceaf862009-10-29 04:55:36 +00002254// SPARC:#define __WCHAR_MAX__ 2147483647
2255// SPARC:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00002256// SPARC:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002257// SPARC:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00002258// SPARC:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002259// SPARC:#define __sparc 1
2260// SPARC:#define __sparc__ 1
2261// SPARC:#define __sparcv8 1
2262// SPARC:#define sparc 1
2263//
Daniel Dunbara5728872009-12-15 20:14:24 +00002264// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00002265//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002266// TCE-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002267// TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00002268// TCE:#define __CHAR16_TYPE__ unsigned short
2269// TCE:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002270// TCE:#define __CHAR_BIT__ 8
Eli Friedman75e8efe2012-11-10 00:20:38 +00002271// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45
Chris Lattnerbceaf862009-10-29 04:55:36 +00002272// TCE:#define __DBL_DIG__ 6
Eli Friedman75e8efe2012-11-10 00:20:38 +00002273// TCE:#define __DBL_EPSILON__ 1.19209290e-7
Chris Lattnerbceaf862009-10-29 04:55:36 +00002274// TCE:#define __DBL_HAS_DENORM__ 1
2275// TCE:#define __DBL_HAS_INFINITY__ 1
2276// TCE:#define __DBL_HAS_QUIET_NAN__ 1
2277// TCE:#define __DBL_MANT_DIG__ 24
2278// TCE:#define __DBL_MAX_10_EXP__ 38
2279// TCE:#define __DBL_MAX_EXP__ 128
Eli Friedman75e8efe2012-11-10 00:20:38 +00002280// TCE:#define __DBL_MAX__ 3.40282347e+38
Chris Lattnerbceaf862009-10-29 04:55:36 +00002281// TCE:#define __DBL_MIN_10_EXP__ (-37)
2282// TCE:#define __DBL_MIN_EXP__ (-125)
Eli Friedman75e8efe2012-11-10 00:20:38 +00002283// TCE:#define __DBL_MIN__ 1.17549435e-38
Chris Lattnerbceaf862009-10-29 04:55:36 +00002284// TCE:#define __DECIMAL_DIG__ -1
2285// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2286// TCE:#define __FLT_DIG__ 6
2287// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
2288// TCE:#define __FLT_EVAL_METHOD__ 0
2289// TCE:#define __FLT_HAS_DENORM__ 1
2290// TCE:#define __FLT_HAS_INFINITY__ 1
2291// TCE:#define __FLT_HAS_QUIET_NAN__ 1
2292// TCE:#define __FLT_MANT_DIG__ 24
2293// TCE:#define __FLT_MAX_10_EXP__ 38
2294// TCE:#define __FLT_MAX_EXP__ 128
2295// TCE:#define __FLT_MAX__ 3.40282347e+38F
2296// TCE:#define __FLT_MIN_10_EXP__ (-37)
2297// TCE:#define __FLT_MIN_EXP__ (-125)
2298// TCE:#define __FLT_MIN__ 1.17549435e-38F
2299// TCE:#define __FLT_RADIX__ 2
2300// TCE:#define __INT16_TYPE__ short
2301// TCE:#define __INT32_TYPE__ int
2302// TCE:#define __INT8_TYPE__ char
2303// TCE:#define __INTMAX_MAX__ 2147483647L
Ken Dyck8241d732009-11-19 13:18:59 +00002304// TCE:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00002305// TCE:#define __INTMAX_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00002306// TCE:#define __INTPTR_TYPE__ int
Ken Dyckd896e1a2009-11-18 20:05:48 +00002307// TCE:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002308// TCE:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00002309// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002310// TCE:#define __LDBL_DIG__ 6
Eli Friedman75e8efe2012-11-10 00:20:38 +00002311// TCE:#define __LDBL_EPSILON__ 1.19209290e-7L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002312// TCE:#define __LDBL_HAS_DENORM__ 1
2313// TCE:#define __LDBL_HAS_INFINITY__ 1
2314// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
2315// TCE:#define __LDBL_MANT_DIG__ 24
2316// TCE:#define __LDBL_MAX_10_EXP__ 38
2317// TCE:#define __LDBL_MAX_EXP__ 128
Eli Friedman75e8efe2012-11-10 00:20:38 +00002318// TCE:#define __LDBL_MAX__ 3.40282347e+38L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002319// TCE:#define __LDBL_MIN_10_EXP__ (-37)
2320// TCE:#define __LDBL_MIN_EXP__ (-125)
Eli Friedman75e8efe2012-11-10 00:20:38 +00002321// TCE:#define __LDBL_MIN__ 1.17549435e-38L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002322// TCE:#define __LONG_LONG_MAX__ 2147483647LL
2323// TCE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002324// TCE-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +00002325// TCE:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00002326// TCE:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +00002327// TCE:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002328// TCE:#define __SCHAR_MAX__ 127
2329// TCE:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00002330// TCE:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00002331// TCE:#define __SIZEOF_DOUBLE__ 4
2332// TCE:#define __SIZEOF_FLOAT__ 4
2333// TCE:#define __SIZEOF_INT__ 4
2334// TCE:#define __SIZEOF_LONG_DOUBLE__ 4
2335// TCE:#define __SIZEOF_LONG_LONG__ 4
2336// TCE:#define __SIZEOF_LONG__ 4
2337// TCE:#define __SIZEOF_POINTER__ 4
2338// TCE:#define __SIZEOF_PTRDIFF_T__ 4
2339// TCE:#define __SIZEOF_SHORT__ 2
2340// TCE:#define __SIZEOF_SIZE_T__ 4
2341// TCE:#define __SIZEOF_WCHAR_T__ 4
2342// TCE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002343// TCE:#define __SIZE_MAX__ 4294967295U
Chris Lattnerbceaf862009-10-29 04:55:36 +00002344// TCE:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00002345// TCE:#define __SIZE_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002346// TCE:#define __TCE_V1__ 1
2347// TCE:#define __TCE__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00002348// TCE:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002349// TCE:#define __USER_LABEL_PREFIX__ _
2350// TCE:#define __WCHAR_MAX__ 2147483647
2351// TCE:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00002352// TCE:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002353// TCE:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00002354// TCE:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002355// TCE:#define __tce 1
2356// TCE:#define __tce__ 1
2357// TCE:#define tce 1
2358//
Daniel Dunbara5728872009-12-15 20:14:24 +00002359// 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 +00002360//
2361// X86_64:#define _LP64 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002362// X86_64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00002363// X86_64:#define __CHAR16_TYPE__ unsigned short
2364// X86_64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002365// X86_64:#define __CHAR_BIT__ 8
2366// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2367// X86_64:#define __DBL_DIG__ 15
2368// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
2369// X86_64:#define __DBL_HAS_DENORM__ 1
2370// X86_64:#define __DBL_HAS_INFINITY__ 1
2371// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
2372// X86_64:#define __DBL_MANT_DIG__ 53
2373// X86_64:#define __DBL_MAX_10_EXP__ 308
2374// X86_64:#define __DBL_MAX_EXP__ 1024
2375// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
2376// X86_64:#define __DBL_MIN_10_EXP__ (-307)
2377// X86_64:#define __DBL_MIN_EXP__ (-1021)
2378// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
2379// X86_64:#define __DECIMAL_DIG__ 21
2380// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2381// X86_64:#define __FLT_DIG__ 6
2382// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
2383// X86_64:#define __FLT_EVAL_METHOD__ 0
2384// X86_64:#define __FLT_HAS_DENORM__ 1
2385// X86_64:#define __FLT_HAS_INFINITY__ 1
2386// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
2387// X86_64:#define __FLT_MANT_DIG__ 24
2388// X86_64:#define __FLT_MAX_10_EXP__ 38
2389// X86_64:#define __FLT_MAX_EXP__ 128
2390// X86_64:#define __FLT_MAX__ 3.40282347e+38F
2391// X86_64:#define __FLT_MIN_10_EXP__ (-37)
2392// X86_64:#define __FLT_MIN_EXP__ (-125)
2393// X86_64:#define __FLT_MIN__ 1.17549435e-38F
2394// X86_64:#define __FLT_RADIX__ 2
2395// X86_64:#define __INT16_TYPE__ short
2396// X86_64:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00002397// X86_64:#define __INT64_C_SUFFIX__ L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002398// X86_64:#define __INT64_TYPE__ long int
2399// X86_64:#define __INT8_TYPE__ char
2400// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck8241d732009-11-19 13:18:59 +00002401// X86_64:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00002402// X86_64:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00002403// X86_64:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00002404// X86_64:#define __INTPTR_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00002405// X86_64:#define __INT_MAX__ 2147483647
2406// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
2407// X86_64:#define __LDBL_DIG__ 18
2408// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
2409// X86_64:#define __LDBL_HAS_DENORM__ 1
2410// X86_64:#define __LDBL_HAS_INFINITY__ 1
2411// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
2412// X86_64:#define __LDBL_MANT_DIG__ 64
2413// X86_64:#define __LDBL_MAX_10_EXP__ 4932
2414// X86_64:#define __LDBL_MAX_EXP__ 16384
2415// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
2416// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
2417// X86_64:#define __LDBL_MIN_EXP__ (-16381)
2418// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
2419// X86_64:#define __LITTLE_ENDIAN__ 1
2420// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
2421// X86_64:#define __LONG_MAX__ 9223372036854775807L
2422// X86_64:#define __LP64__ 1
2423// X86_64:#define __MMX__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00002424// X86_64:#define __NO_MATH_INLINES 1
2425// X86_64:#define __POINTER_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00002426// X86_64:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00002427// X86_64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00002428// X86_64:#define __REGISTER_PREFIX__
2429// X86_64:#define __SCHAR_MAX__ 127
2430// X86_64:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00002431// X86_64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00002432// X86_64:#define __SIZEOF_DOUBLE__ 8
2433// X86_64:#define __SIZEOF_FLOAT__ 4
2434// X86_64:#define __SIZEOF_INT__ 4
2435// X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
2436// X86_64:#define __SIZEOF_LONG_LONG__ 8
2437// X86_64:#define __SIZEOF_LONG__ 8
2438// X86_64:#define __SIZEOF_POINTER__ 8
2439// X86_64:#define __SIZEOF_PTRDIFF_T__ 8
2440// X86_64:#define __SIZEOF_SHORT__ 2
2441// X86_64:#define __SIZEOF_SIZE_T__ 8
2442// X86_64:#define __SIZEOF_WCHAR_T__ 4
2443// X86_64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002444// X86_64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnerbceaf862009-10-29 04:55:36 +00002445// X86_64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00002446// X86_64:#define __SIZE_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00002447// X86_64:#define __SSE2_MATH__ 1
2448// X86_64:#define __SSE2__ 1
2449// X86_64:#define __SSE_MATH__ 1
2450// X86_64:#define __SSE__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00002451// X86_64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002452// X86_64:#define __USER_LABEL_PREFIX__ _
2453// X86_64:#define __WCHAR_MAX__ 2147483647
2454// X86_64:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00002455// X86_64:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002456// X86_64:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00002457// X86_64:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002458// X86_64:#define __amd64 1
2459// X86_64:#define __amd64__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00002460// X86_64:#define __x86_64 1
2461// X86_64:#define __x86_64__ 1
2462//
Douglas Gregor12e84642011-01-12 21:19:25 +00002463// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
2464//
2465// X86_64-LINUX:#define _LP64 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002466// X86_64-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregor12e84642011-01-12 21:19:25 +00002467// X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
2468// X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
2469// X86_64-LINUX:#define __CHAR_BIT__ 8
2470// X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2471// X86_64-LINUX:#define __DBL_DIG__ 15
2472// X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2473// X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
2474// X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
2475// X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2476// X86_64-LINUX:#define __DBL_MANT_DIG__ 53
2477// X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
2478// X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
2479// X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2480// X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2481// X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2482// X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2483// X86_64-LINUX:#define __DECIMAL_DIG__ 21
2484// X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2485// X86_64-LINUX:#define __FLT_DIG__ 6
2486// X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2487// X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
2488// X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
2489// X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
2490// X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2491// X86_64-LINUX:#define __FLT_MANT_DIG__ 24
2492// X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
2493// X86_64-LINUX:#define __FLT_MAX_EXP__ 128
2494// X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2495// X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2496// X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
2497// X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2498// X86_64-LINUX:#define __FLT_RADIX__ 2
2499// X86_64-LINUX:#define __INT16_TYPE__ short
2500// X86_64-LINUX:#define __INT32_TYPE__ int
2501// X86_64-LINUX:#define __INT64_C_SUFFIX__ L
2502// X86_64-LINUX:#define __INT64_TYPE__ long int
2503// X86_64-LINUX:#define __INT8_TYPE__ char
2504// X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2505// X86_64-LINUX:#define __INTMAX_TYPE__ long int
2506// X86_64-LINUX:#define __INTMAX_WIDTH__ 64
2507// X86_64-LINUX:#define __INTPTR_TYPE__ long int
2508// X86_64-LINUX:#define __INTPTR_WIDTH__ 64
2509// X86_64-LINUX:#define __INT_MAX__ 2147483647
2510// X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
2511// X86_64-LINUX:#define __LDBL_DIG__ 18
2512// X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
2513// X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
2514// X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2515// X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2516// X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
2517// X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
2518// X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
2519// X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
2520// X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
2521// X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
2522// X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
2523// X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
2524// X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2525// X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2526// X86_64-LINUX:#define __LP64__ 1
2527// X86_64-LINUX:#define __MMX__ 1
Douglas Gregor12e84642011-01-12 21:19:25 +00002528// X86_64-LINUX:#define __NO_MATH_INLINES 1
2529// X86_64-LINUX:#define __POINTER_WIDTH__ 64
2530// X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
2531// X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
2532// X86_64-LINUX:#define __REGISTER_PREFIX__
2533// X86_64-LINUX:#define __SCHAR_MAX__ 127
2534// X86_64-LINUX:#define __SHRT_MAX__ 32767
2535// X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2536// X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
2537// X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
2538// X86_64-LINUX:#define __SIZEOF_INT__ 4
2539// X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2540// X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2541// X86_64-LINUX:#define __SIZEOF_LONG__ 8
2542// X86_64-LINUX:#define __SIZEOF_POINTER__ 8
2543// X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2544// X86_64-LINUX:#define __SIZEOF_SHORT__ 2
2545// X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
2546// X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2547// X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002548// X86_64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Douglas Gregor12e84642011-01-12 21:19:25 +00002549// X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
2550// X86_64-LINUX:#define __SIZE_WIDTH__ 64
2551// X86_64-LINUX:#define __SSE2_MATH__ 1
2552// X86_64-LINUX:#define __SSE2__ 1
2553// X86_64-LINUX:#define __SSE_MATH__ 1
2554// X86_64-LINUX:#define __SSE__ 1
2555// X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2556// X86_64-LINUX:#define __USER_LABEL_PREFIX__
2557// X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
2558// X86_64-LINUX:#define __WCHAR_TYPE__ int
2559// X86_64-LINUX:#define __WCHAR_WIDTH__ 32
2560// X86_64-LINUX:#define __WINT_TYPE__ unsigned int
2561// X86_64-LINUX:#define __WINT_WIDTH__ 32
2562// X86_64-LINUX:#define __amd64 1
2563// X86_64-LINUX:#define __amd64__ 1
Douglas Gregor12e84642011-01-12 21:19:25 +00002564// X86_64-LINUX:#define __x86_64 1
2565// X86_64-LINUX:#define __x86_64__ 1
2566//
David Chisnall11d3f4c2012-07-03 20:49:52 +00002567// 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 +00002568// GNUSOURCE:#define _GNU_SOURCE 1
2569//
Dan Gohmancfeac342010-05-28 00:27:15 +00002570// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
2571// NORTTI: __GXX_ABI_VERSION
2572// NORTTI-NOT:#define __GXX_RTTI
2573// NORTTI: __STDC__
Evgeniy Stepanov32064032012-04-26 12:08:09 +00002574//
2575// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
2576// ANDROID: __ANDROID__ 1