blob: 73a3a7353e000b9f5bce106cccff3f3c92123097 [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
Chris Lattnerbceaf862009-10-29 04:55:36 +0000251// ARM:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000252// ARM:#define __SIZE_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000253// ARM:#define __THUMB_INTERWORK__ 1
Ken Dyck8241d732009-11-19 13:18:59 +0000254// ARM:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000255// ARM:#define __USER_LABEL_PREFIX__ _
James Molloya6d81f92011-11-23 13:35:08 +0000256// ARM:#define __WCHAR_MAX__ 4294967295U
257// ARM:#define __WCHAR_TYPE__ unsigned int
Ken Dyck63e65612009-11-19 15:47:58 +0000258// ARM:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000259// ARM:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000260// ARM:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000261// ARM:#define __arm 1
262// ARM:#define __arm__ 1
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000263
264// 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
265//
266// ARM-NOT:#define _LP64
267// ARMEABISOFTFP:#define __APCS_32__ 1
268// ARMEABISOFTFP:#define __ARMEL__ 1
269// ARMEABISOFTFP:#define __ARM_ARCH 6
270// ARMEABISOFTFP:#define __ARM_ARCH_6J__ 1
271// ARMEABISOFTFP:#define __ARM_EABI__ 1
272// ARMEABISOFTFP:#define __ARM_PCS 1
273// ARMEABISOFTFP-NOT:#define __ARM_PCS_VFP 1
274// ARMEABISOFTFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
275// ARMEABISOFTFP:#define __CHAR16_TYPE__ unsigned short
276// ARMEABISOFTFP:#define __CHAR32_TYPE__ unsigned int
277// ARMEABISOFTFP:#define __CHAR_BIT__ 8
278// ARMEABISOFTFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
279// ARMEABISOFTFP:#define __DBL_DIG__ 15
280// ARMEABISOFTFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
281// ARMEABISOFTFP:#define __DBL_HAS_DENORM__ 1
282// ARMEABISOFTFP:#define __DBL_HAS_INFINITY__ 1
283// ARMEABISOFTFP:#define __DBL_HAS_QUIET_NAN__ 1
284// ARMEABISOFTFP:#define __DBL_MANT_DIG__ 53
285// ARMEABISOFTFP:#define __DBL_MAX_10_EXP__ 308
286// ARMEABISOFTFP:#define __DBL_MAX_EXP__ 1024
287// ARMEABISOFTFP:#define __DBL_MAX__ 1.7976931348623157e+308
288// ARMEABISOFTFP:#define __DBL_MIN_10_EXP__ (-307)
289// ARMEABISOFTFP:#define __DBL_MIN_EXP__ (-1021)
290// ARMEABISOFTFP:#define __DBL_MIN__ 2.2250738585072014e-308
291// ARMEABISOFTFP:#define __DECIMAL_DIG__ 17
292// ARMEABISOFTFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
293// ARMEABISOFTFP:#define __FLT_DIG__ 6
294// ARMEABISOFTFP:#define __FLT_EPSILON__ 1.19209290e-7F
295// ARMEABISOFTFP:#define __FLT_EVAL_METHOD__ 0
296// ARMEABISOFTFP:#define __FLT_HAS_DENORM__ 1
297// ARMEABISOFTFP:#define __FLT_HAS_INFINITY__ 1
298// ARMEABISOFTFP:#define __FLT_HAS_QUIET_NAN__ 1
299// ARMEABISOFTFP:#define __FLT_MANT_DIG__ 24
300// ARMEABISOFTFP:#define __FLT_MAX_10_EXP__ 38
301// ARMEABISOFTFP:#define __FLT_MAX_EXP__ 128
302// ARMEABISOFTFP:#define __FLT_MAX__ 3.40282347e+38F
303// ARMEABISOFTFP:#define __FLT_MIN_10_EXP__ (-37)
304// ARMEABISOFTFP:#define __FLT_MIN_EXP__ (-125)
305// ARMEABISOFTFP:#define __FLT_MIN__ 1.17549435e-38F
306// ARMEABISOFTFP:#define __FLT_RADIX__ 2
307// ARMEABISOFTFP:#define __INT16_TYPE__ short
308// ARMEABISOFTFP:#define __INT32_TYPE__ int
309// ARMEABISOFTFP:#define __INT64_C_SUFFIX__ LL
310// ARMEABISOFTFP:#define __INT64_TYPE__ long long int
311// ARMEABISOFTFP:#define __INT8_TYPE__ char
312// ARMEABISOFTFP:#define __INTMAX_MAX__ 9223372036854775807LL
313// ARMEABISOFTFP:#define __INTMAX_TYPE__ long long int
314// ARMEABISOFTFP:#define __INTMAX_WIDTH__ 64
315// ARMEABISOFTFP:#define __INTPTR_TYPE__ long int
316// ARMEABISOFTFP:#define __INTPTR_WIDTH__ 32
317// ARMEABISOFTFP:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +0000318// ARMEABISOFTFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000319// ARMEABISOFTFP:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +0000320// ARMEABISOFTFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000321// ARMEABISOFTFP:#define __LDBL_HAS_DENORM__ 1
322// ARMEABISOFTFP:#define __LDBL_HAS_INFINITY__ 1
323// ARMEABISOFTFP:#define __LDBL_HAS_QUIET_NAN__ 1
324// ARMEABISOFTFP:#define __LDBL_MANT_DIG__ 53
325// ARMEABISOFTFP:#define __LDBL_MAX_10_EXP__ 308
326// ARMEABISOFTFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +0000327// ARMEABISOFTFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000328// ARMEABISOFTFP:#define __LDBL_MIN_10_EXP__ (-307)
329// ARMEABISOFTFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +0000330// ARMEABISOFTFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000331// ARMEABISOFTFP:#define __LITTLE_ENDIAN__ 1
332// ARMEABISOFTFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
333// ARMEABISOFTFP:#define __LONG_MAX__ 2147483647L
334// ARMEABISOFTFP-NOT:#define __LP64__
335// ARMEABISOFTFP:#define __POINTER_WIDTH__ 32
336// ARMEABISOFTFP:#define __PTRDIFF_TYPE__ int
337// ARMEABISOFTFP:#define __PTRDIFF_WIDTH__ 32
338// ARMEABISOFTFP:#define __REGISTER_PREFIX__
339// ARMEABISOFTFP:#define __SCHAR_MAX__ 127
340// ARMEABISOFTFP:#define __SHRT_MAX__ 32767
341// ARMEABISOFTFP:#define __SIG_ATOMIC_WIDTH__ 32
342// ARMEABISOFTFP:#define __SIZEOF_DOUBLE__ 8
343// ARMEABISOFTFP:#define __SIZEOF_FLOAT__ 4
344// ARMEABISOFTFP:#define __SIZEOF_INT__ 4
345// ARMEABISOFTFP:#define __SIZEOF_LONG_DOUBLE__ 8
346// ARMEABISOFTFP:#define __SIZEOF_LONG_LONG__ 8
347// ARMEABISOFTFP:#define __SIZEOF_LONG__ 4
348// ARMEABISOFTFP:#define __SIZEOF_POINTER__ 4
349// ARMEABISOFTFP:#define __SIZEOF_PTRDIFF_T__ 4
350// ARMEABISOFTFP:#define __SIZEOF_SHORT__ 2
351// ARMEABISOFTFP:#define __SIZEOF_SIZE_T__ 4
352// ARMEABISOFTFP:#define __SIZEOF_WCHAR_T__ 4
353// ARMEABISOFTFP:#define __SIZEOF_WINT_T__ 4
354// ARMEABISOFTFP:#define __SIZE_TYPE__ unsigned int
355// ARMEABISOFTFP:#define __SIZE_WIDTH__ 32
356// ARMEABISOFTFP:#define __SOFTFP__ 1
357// ARMEABISOFTFP:#define __THUMB_INTERWORK__ 1
358// ARMEABISOFTFP:#define __UINTMAX_TYPE__ long long unsigned int
359// ARMEABISOFTFP:#define __USER_LABEL_PREFIX__
360// ARMEABISOFTFP:#define __WCHAR_MAX__ 4294967295U
361// ARMEABISOFTFP:#define __WCHAR_TYPE__ unsigned int
362// ARMEABISOFTFP:#define __WCHAR_WIDTH__ 32
363// ARMEABISOFTFP:#define __WINT_TYPE__ unsigned int
364// ARMEABISOFTFP:#define __WINT_WIDTH__ 32
365// ARMEABISOFTFP:#define __arm 1
366// ARMEABISOFTFP:#define __arm__ 1
367
368// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-linux-gnueabi < /dev/null | FileCheck -check-prefix ARMEABIHARDFP %s
369//
370// ARM-NOT:#define _LP64
371// ARMEABIHARDFP:#define __APCS_32__ 1
372// ARMEABIHARDFP:#define __ARMEL__ 1
373// ARMEABIHARDFP:#define __ARM_ARCH 6
374// ARMEABIHARDFP:#define __ARM_ARCH_6J__ 1
375// ARMEABIHARDFP:#define __ARM_EABI__ 1
376// ARMEABIHARDFP:#define __ARM_PCS 1
377// ARMEABIHARDFP:#define __ARM_PCS_VFP 1
378// ARMEABIHARDFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
379// ARMEABIHARDFP:#define __CHAR16_TYPE__ unsigned short
380// ARMEABIHARDFP:#define __CHAR32_TYPE__ unsigned int
381// ARMEABIHARDFP:#define __CHAR_BIT__ 8
382// ARMEABIHARDFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
383// ARMEABIHARDFP:#define __DBL_DIG__ 15
384// ARMEABIHARDFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
385// ARMEABIHARDFP:#define __DBL_HAS_DENORM__ 1
386// ARMEABIHARDFP:#define __DBL_HAS_INFINITY__ 1
387// ARMEABIHARDFP:#define __DBL_HAS_QUIET_NAN__ 1
388// ARMEABIHARDFP:#define __DBL_MANT_DIG__ 53
389// ARMEABIHARDFP:#define __DBL_MAX_10_EXP__ 308
390// ARMEABIHARDFP:#define __DBL_MAX_EXP__ 1024
391// ARMEABIHARDFP:#define __DBL_MAX__ 1.7976931348623157e+308
392// ARMEABIHARDFP:#define __DBL_MIN_10_EXP__ (-307)
393// ARMEABIHARDFP:#define __DBL_MIN_EXP__ (-1021)
394// ARMEABIHARDFP:#define __DBL_MIN__ 2.2250738585072014e-308
395// ARMEABIHARDFP:#define __DECIMAL_DIG__ 17
396// ARMEABIHARDFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
397// ARMEABIHARDFP:#define __FLT_DIG__ 6
398// ARMEABIHARDFP:#define __FLT_EPSILON__ 1.19209290e-7F
399// ARMEABIHARDFP:#define __FLT_EVAL_METHOD__ 0
400// ARMEABIHARDFP:#define __FLT_HAS_DENORM__ 1
401// ARMEABIHARDFP:#define __FLT_HAS_INFINITY__ 1
402// ARMEABIHARDFP:#define __FLT_HAS_QUIET_NAN__ 1
403// ARMEABIHARDFP:#define __FLT_MANT_DIG__ 24
404// ARMEABIHARDFP:#define __FLT_MAX_10_EXP__ 38
405// ARMEABIHARDFP:#define __FLT_MAX_EXP__ 128
406// ARMEABIHARDFP:#define __FLT_MAX__ 3.40282347e+38F
407// ARMEABIHARDFP:#define __FLT_MIN_10_EXP__ (-37)
408// ARMEABIHARDFP:#define __FLT_MIN_EXP__ (-125)
409// ARMEABIHARDFP:#define __FLT_MIN__ 1.17549435e-38F
410// ARMEABIHARDFP:#define __FLT_RADIX__ 2
411// ARMEABIHARDFP:#define __INT16_TYPE__ short
412// ARMEABIHARDFP:#define __INT32_TYPE__ int
413// ARMEABIHARDFP:#define __INT64_C_SUFFIX__ LL
414// ARMEABIHARDFP:#define __INT64_TYPE__ long long int
415// ARMEABIHARDFP:#define __INT8_TYPE__ char
416// ARMEABIHARDFP:#define __INTMAX_MAX__ 9223372036854775807LL
417// ARMEABIHARDFP:#define __INTMAX_TYPE__ long long int
418// ARMEABIHARDFP:#define __INTMAX_WIDTH__ 64
419// ARMEABIHARDFP:#define __INTPTR_TYPE__ long int
420// ARMEABIHARDFP:#define __INTPTR_WIDTH__ 32
421// ARMEABIHARDFP:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +0000422// ARMEABIHARDFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000423// ARMEABIHARDFP:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +0000424// ARMEABIHARDFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000425// ARMEABIHARDFP:#define __LDBL_HAS_DENORM__ 1
426// ARMEABIHARDFP:#define __LDBL_HAS_INFINITY__ 1
427// ARMEABIHARDFP:#define __LDBL_HAS_QUIET_NAN__ 1
428// ARMEABIHARDFP:#define __LDBL_MANT_DIG__ 53
429// ARMEABIHARDFP:#define __LDBL_MAX_10_EXP__ 308
430// ARMEABIHARDFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +0000431// ARMEABIHARDFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000432// ARMEABIHARDFP:#define __LDBL_MIN_10_EXP__ (-307)
433// ARMEABIHARDFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +0000434// ARMEABIHARDFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000435// ARMEABIHARDFP:#define __LITTLE_ENDIAN__ 1
436// ARMEABIHARDFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
437// ARMEABIHARDFP:#define __LONG_MAX__ 2147483647L
438// ARMEABIHARDFP-NOT:#define __LP64__
439// ARMEABIHARDFP:#define __POINTER_WIDTH__ 32
440// ARMEABIHARDFP:#define __PTRDIFF_TYPE__ int
441// ARMEABIHARDFP:#define __PTRDIFF_WIDTH__ 32
442// ARMEABIHARDFP:#define __REGISTER_PREFIX__
443// ARMEABIHARDFP:#define __SCHAR_MAX__ 127
444// ARMEABIHARDFP:#define __SHRT_MAX__ 32767
445// ARMEABIHARDFP:#define __SIG_ATOMIC_WIDTH__ 32
446// ARMEABIHARDFP:#define __SIZEOF_DOUBLE__ 8
447// ARMEABIHARDFP:#define __SIZEOF_FLOAT__ 4
448// ARMEABIHARDFP:#define __SIZEOF_INT__ 4
449// ARMEABIHARDFP:#define __SIZEOF_LONG_DOUBLE__ 8
450// ARMEABIHARDFP:#define __SIZEOF_LONG_LONG__ 8
451// ARMEABIHARDFP:#define __SIZEOF_LONG__ 4
452// ARMEABIHARDFP:#define __SIZEOF_POINTER__ 4
453// ARMEABIHARDFP:#define __SIZEOF_PTRDIFF_T__ 4
454// ARMEABIHARDFP:#define __SIZEOF_SHORT__ 2
455// ARMEABIHARDFP:#define __SIZEOF_SIZE_T__ 4
456// ARMEABIHARDFP:#define __SIZEOF_WCHAR_T__ 4
457// ARMEABIHARDFP:#define __SIZEOF_WINT_T__ 4
458// ARMEABIHARDFP:#define __SIZE_TYPE__ unsigned int
459// ARMEABIHARDFP:#define __SIZE_WIDTH__ 32
460// ARMEABIHARDFP-NOT:#define __SOFTFP__ 1
461// ARMEABIHARDFP:#define __THUMB_INTERWORK__ 1
462// ARMEABIHARDFP:#define __UINTMAX_TYPE__ long long unsigned int
463// ARMEABIHARDFP:#define __USER_LABEL_PREFIX__
464// ARMEABIHARDFP:#define __WCHAR_MAX__ 4294967295U
465// ARMEABIHARDFP:#define __WCHAR_TYPE__ unsigned int
466// ARMEABIHARDFP:#define __WCHAR_WIDTH__ 32
467// ARMEABIHARDFP:#define __WINT_TYPE__ unsigned int
468// ARMEABIHARDFP:#define __WINT_WIDTH__ 32
469// ARMEABIHARDFP:#define __arm 1
470// ARMEABIHARDFP:#define __arm__ 1
471
Chris Lattnerbceaf862009-10-29 04:55:36 +0000472//
Daniel Dunbara5728872009-12-15 20:14:24 +0000473// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000474//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000475// I386-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000476// I386:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +0000477// I386:#define __CHAR16_TYPE__ unsigned short
478// I386:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000479// I386:#define __CHAR_BIT__ 8
480// I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
481// I386:#define __DBL_DIG__ 15
482// I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
483// I386:#define __DBL_HAS_DENORM__ 1
484// I386:#define __DBL_HAS_INFINITY__ 1
485// I386:#define __DBL_HAS_QUIET_NAN__ 1
486// I386:#define __DBL_MANT_DIG__ 53
487// I386:#define __DBL_MAX_10_EXP__ 308
488// I386:#define __DBL_MAX_EXP__ 1024
489// I386:#define __DBL_MAX__ 1.7976931348623157e+308
490// I386:#define __DBL_MIN_10_EXP__ (-307)
491// I386:#define __DBL_MIN_EXP__ (-1021)
492// I386:#define __DBL_MIN__ 2.2250738585072014e-308
493// I386:#define __DECIMAL_DIG__ 21
494// I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
495// I386:#define __FLT_DIG__ 6
496// I386:#define __FLT_EPSILON__ 1.19209290e-7F
Benjamin Kramerb4066692011-12-28 15:47:06 +0000497// I386:#define __FLT_EVAL_METHOD__ 2
Chris Lattnerbceaf862009-10-29 04:55:36 +0000498// I386:#define __FLT_HAS_DENORM__ 1
499// I386:#define __FLT_HAS_INFINITY__ 1
500// I386:#define __FLT_HAS_QUIET_NAN__ 1
501// I386:#define __FLT_MANT_DIG__ 24
502// I386:#define __FLT_MAX_10_EXP__ 38
503// I386:#define __FLT_MAX_EXP__ 128
504// I386:#define __FLT_MAX__ 3.40282347e+38F
505// I386:#define __FLT_MIN_10_EXP__ (-37)
506// I386:#define __FLT_MIN_EXP__ (-125)
507// I386:#define __FLT_MIN__ 1.17549435e-38F
508// I386:#define __FLT_RADIX__ 2
509// I386:#define __INT16_TYPE__ short
510// I386:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000511// I386:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000512// I386:#define __INT64_TYPE__ long long int
513// I386:#define __INT8_TYPE__ char
514// I386:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +0000515// I386:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +0000516// I386:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000517// I386:#define __INTPTR_TYPE__ int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000518// I386:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000519// I386:#define __INT_MAX__ 2147483647
520// I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
521// I386:#define __LDBL_DIG__ 18
522// I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
523// I386:#define __LDBL_HAS_DENORM__ 1
524// I386:#define __LDBL_HAS_INFINITY__ 1
525// I386:#define __LDBL_HAS_QUIET_NAN__ 1
526// I386:#define __LDBL_MANT_DIG__ 64
527// I386:#define __LDBL_MAX_10_EXP__ 4932
528// I386:#define __LDBL_MAX_EXP__ 16384
529// I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
530// I386:#define __LDBL_MIN_10_EXP__ (-4931)
531// I386:#define __LDBL_MIN_EXP__ (-16381)
532// I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
533// I386:#define __LITTLE_ENDIAN__ 1
534// I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
535// I386:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000536// I386-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +0000537// I386:#define __NO_MATH_INLINES 1
538// I386:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000539// I386:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +0000540// I386:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000541// I386:#define __REGISTER_PREFIX__
542// I386:#define __SCHAR_MAX__ 127
543// I386:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000544// I386:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000545// I386:#define __SIZEOF_DOUBLE__ 8
546// I386:#define __SIZEOF_FLOAT__ 4
547// I386:#define __SIZEOF_INT__ 4
548// I386:#define __SIZEOF_LONG_DOUBLE__ 12
549// I386:#define __SIZEOF_LONG_LONG__ 8
550// I386:#define __SIZEOF_LONG__ 4
551// I386:#define __SIZEOF_POINTER__ 4
552// I386:#define __SIZEOF_PTRDIFF_T__ 4
553// I386:#define __SIZEOF_SHORT__ 2
554// I386:#define __SIZEOF_SIZE_T__ 4
555// I386:#define __SIZEOF_WCHAR_T__ 4
556// I386:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +0000557// I386:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000558// I386:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000559// I386:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000560// I386:#define __USER_LABEL_PREFIX__ _
561// I386:#define __WCHAR_MAX__ 2147483647
562// I386:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +0000563// I386:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000564// I386:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000565// I386:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000566// I386:#define __i386 1
567// I386:#define __i386__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +0000568// I386:#define i386 1
569//
Benjamin Kramerb4066692011-12-28 15:47:06 +0000570// 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 +0000571//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000572// I386-LINUX-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000573// I386-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregor12e84642011-01-12 21:19:25 +0000574// I386-LINUX:#define __CHAR16_TYPE__ unsigned short
575// I386-LINUX:#define __CHAR32_TYPE__ unsigned int
576// I386-LINUX:#define __CHAR_BIT__ 8
577// I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
578// I386-LINUX:#define __DBL_DIG__ 15
579// I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
580// I386-LINUX:#define __DBL_HAS_DENORM__ 1
581// I386-LINUX:#define __DBL_HAS_INFINITY__ 1
582// I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
583// I386-LINUX:#define __DBL_MANT_DIG__ 53
584// I386-LINUX:#define __DBL_MAX_10_EXP__ 308
585// I386-LINUX:#define __DBL_MAX_EXP__ 1024
586// I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
587// I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
588// I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
589// I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
590// I386-LINUX:#define __DECIMAL_DIG__ 21
591// I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
592// I386-LINUX:#define __FLT_DIG__ 6
593// I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
594// I386-LINUX:#define __FLT_EVAL_METHOD__ 0
595// I386-LINUX:#define __FLT_HAS_DENORM__ 1
596// I386-LINUX:#define __FLT_HAS_INFINITY__ 1
597// I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
598// I386-LINUX:#define __FLT_MANT_DIG__ 24
599// I386-LINUX:#define __FLT_MAX_10_EXP__ 38
600// I386-LINUX:#define __FLT_MAX_EXP__ 128
601// I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
602// I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
603// I386-LINUX:#define __FLT_MIN_EXP__ (-125)
604// I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
605// I386-LINUX:#define __FLT_RADIX__ 2
606// I386-LINUX:#define __INT16_TYPE__ short
607// I386-LINUX:#define __INT32_TYPE__ int
608// I386-LINUX:#define __INT64_C_SUFFIX__ LL
609// I386-LINUX:#define __INT64_TYPE__ long long int
610// I386-LINUX:#define __INT8_TYPE__ char
611// I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
612// I386-LINUX:#define __INTMAX_TYPE__ long long int
613// I386-LINUX:#define __INTMAX_WIDTH__ 64
614// I386-LINUX:#define __INTPTR_TYPE__ int
615// I386-LINUX:#define __INTPTR_WIDTH__ 32
616// I386-LINUX:#define __INT_MAX__ 2147483647
617// I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
618// I386-LINUX:#define __LDBL_DIG__ 18
619// I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
620// I386-LINUX:#define __LDBL_HAS_DENORM__ 1
621// I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
622// I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
623// I386-LINUX:#define __LDBL_MANT_DIG__ 64
624// I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
625// I386-LINUX:#define __LDBL_MAX_EXP__ 16384
626// I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
627// I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
628// I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
629// I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
630// I386-LINUX:#define __LITTLE_ENDIAN__ 1
631// I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
632// I386-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000633// I386-LINUX-NOT:#define __LP64__
Douglas Gregor12e84642011-01-12 21:19:25 +0000634// I386-LINUX:#define __NO_MATH_INLINES 1
635// I386-LINUX:#define __POINTER_WIDTH__ 32
636// I386-LINUX:#define __PTRDIFF_TYPE__ int
637// I386-LINUX:#define __PTRDIFF_WIDTH__ 32
638// I386-LINUX:#define __REGISTER_PREFIX__
639// I386-LINUX:#define __SCHAR_MAX__ 127
640// I386-LINUX:#define __SHRT_MAX__ 32767
641// I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
642// I386-LINUX:#define __SIZEOF_DOUBLE__ 8
643// I386-LINUX:#define __SIZEOF_FLOAT__ 4
644// I386-LINUX:#define __SIZEOF_INT__ 4
645// I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
646// I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
647// I386-LINUX:#define __SIZEOF_LONG__ 4
648// I386-LINUX:#define __SIZEOF_POINTER__ 4
649// I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
650// I386-LINUX:#define __SIZEOF_SHORT__ 2
651// I386-LINUX:#define __SIZEOF_SIZE_T__ 4
652// I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
653// I386-LINUX:#define __SIZEOF_WINT_T__ 4
654// I386-LINUX:#define __SIZE_TYPE__ unsigned int
655// I386-LINUX:#define __SIZE_WIDTH__ 32
656// I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
657// I386-LINUX:#define __USER_LABEL_PREFIX__
658// I386-LINUX:#define __WCHAR_MAX__ 2147483647
659// I386-LINUX:#define __WCHAR_TYPE__ int
660// I386-LINUX:#define __WCHAR_WIDTH__ 32
661// I386-LINUX:#define __WINT_TYPE__ unsigned int
662// I386-LINUX:#define __WINT_WIDTH__ 32
663// I386-LINUX:#define __i386 1
664// I386-LINUX:#define __i386__ 1
Douglas Gregor12e84642011-01-12 21:19:25 +0000665// I386-LINUX:#define i386 1
666//
Simon Atanasyan7a521802012-04-06 08:37:24 +0000667// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none < /dev/null | FileCheck -check-prefix MIPS32BE %s
668//
669// MIPS32BE:#define MIPSEB 1
670// MIPS32BE:#define _ABIO32 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000671// MIPS32BE-NOT:#define _LP64
Simon Atanasyan7a521802012-04-06 08:37:24 +0000672// MIPS32BE:#define _MIPSEB 1
Simon Atanasyan260e5062012-08-29 15:17:29 +0000673// MIPS32BE:#define _MIPS_ARCH "mips32"
674// MIPS32BE:#define _MIPS_ARCH_MIPS32 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000675// MIPS32BE:#define _MIPS_SIM _ABIO32
676// MIPS32BE:#define _MIPS_SZINT 32
677// MIPS32BE:#define _MIPS_SZLONG 32
678// MIPS32BE:#define _MIPS_SZPTR 32
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000679// MIPS32BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyan7a521802012-04-06 08:37:24 +0000680// MIPS32BE:#define __CHAR16_TYPE__ unsigned short
681// MIPS32BE:#define __CHAR32_TYPE__ unsigned int
682// MIPS32BE:#define __CHAR_BIT__ 8
683// MIPS32BE:#define __CONSTANT_CFSTRINGS__ 1
684// MIPS32BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
685// MIPS32BE:#define __DBL_DIG__ 15
686// MIPS32BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
687// MIPS32BE:#define __DBL_HAS_DENORM__ 1
688// MIPS32BE:#define __DBL_HAS_INFINITY__ 1
689// MIPS32BE:#define __DBL_HAS_QUIET_NAN__ 1
690// MIPS32BE:#define __DBL_MANT_DIG__ 53
691// MIPS32BE:#define __DBL_MAX_10_EXP__ 308
692// MIPS32BE:#define __DBL_MAX_EXP__ 1024
693// MIPS32BE:#define __DBL_MAX__ 1.7976931348623157e+308
694// MIPS32BE:#define __DBL_MIN_10_EXP__ (-307)
695// MIPS32BE:#define __DBL_MIN_EXP__ (-1021)
696// MIPS32BE:#define __DBL_MIN__ 2.2250738585072014e-308
697// MIPS32BE:#define __DECIMAL_DIG__ 17
698// MIPS32BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
699// MIPS32BE:#define __FLT_DIG__ 6
700// MIPS32BE:#define __FLT_EPSILON__ 1.19209290e-7F
701// MIPS32BE:#define __FLT_EVAL_METHOD__ 0
702// MIPS32BE:#define __FLT_HAS_DENORM__ 1
703// MIPS32BE:#define __FLT_HAS_INFINITY__ 1
704// MIPS32BE:#define __FLT_HAS_QUIET_NAN__ 1
705// MIPS32BE:#define __FLT_MANT_DIG__ 24
706// MIPS32BE:#define __FLT_MAX_10_EXP__ 38
707// MIPS32BE:#define __FLT_MAX_EXP__ 128
708// MIPS32BE:#define __FLT_MAX__ 3.40282347e+38F
709// MIPS32BE:#define __FLT_MIN_10_EXP__ (-37)
710// MIPS32BE:#define __FLT_MIN_EXP__ (-125)
711// MIPS32BE:#define __FLT_MIN__ 1.17549435e-38F
712// MIPS32BE:#define __FLT_RADIX__ 2
713// MIPS32BE:#define __INT16_TYPE__ short
714// MIPS32BE:#define __INT32_TYPE__ int
715// MIPS32BE:#define __INT64_C_SUFFIX__ LL
716// MIPS32BE:#define __INT64_TYPE__ long long int
717// MIPS32BE:#define __INT8_TYPE__ char
718// MIPS32BE:#define __INTMAX_MAX__ 9223372036854775807LL
719// MIPS32BE:#define __INTMAX_TYPE__ long long int
720// MIPS32BE:#define __INTMAX_WIDTH__ 64
721// MIPS32BE:#define __INTPTR_TYPE__ long int
722// MIPS32BE:#define __INTPTR_WIDTH__ 32
723// MIPS32BE:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +0000724// MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000725// MIPS32BE:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +0000726// MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000727// MIPS32BE:#define __LDBL_HAS_DENORM__ 1
728// MIPS32BE:#define __LDBL_HAS_INFINITY__ 1
729// MIPS32BE:#define __LDBL_HAS_QUIET_NAN__ 1
730// MIPS32BE:#define __LDBL_MANT_DIG__ 53
731// MIPS32BE:#define __LDBL_MAX_10_EXP__ 308
732// MIPS32BE:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +0000733// MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000734// MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307)
735// MIPS32BE:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +0000736// MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000737// MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
738// MIPS32BE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000739// MIPS32BE-NOT:#define __LP64__
Simon Atanasyan7a521802012-04-06 08:37:24 +0000740// MIPS32BE:#define __MIPSEB 1
741// MIPS32BE:#define __MIPSEB__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000742// MIPS32BE:#define __POINTER_WIDTH__ 32
743// MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1
744// MIPS32BE:#define __PTRDIFF_TYPE__ int
745// MIPS32BE:#define __PTRDIFF_WIDTH__ 32
746// MIPS32BE:#define __REGISTER_PREFIX__
747// MIPS32BE:#define __SCHAR_MAX__ 127
748// MIPS32BE:#define __SHRT_MAX__ 32767
749// MIPS32BE:#define __SIG_ATOMIC_WIDTH__ 32
750// MIPS32BE:#define __SIZEOF_DOUBLE__ 8
751// MIPS32BE:#define __SIZEOF_FLOAT__ 4
752// MIPS32BE:#define __SIZEOF_INT__ 4
753// MIPS32BE:#define __SIZEOF_LONG_DOUBLE__ 8
754// MIPS32BE:#define __SIZEOF_LONG_LONG__ 8
755// MIPS32BE:#define __SIZEOF_LONG__ 4
756// MIPS32BE:#define __SIZEOF_POINTER__ 4
757// MIPS32BE:#define __SIZEOF_PTRDIFF_T__ 4
758// MIPS32BE:#define __SIZEOF_SHORT__ 2
759// MIPS32BE:#define __SIZEOF_SIZE_T__ 4
760// MIPS32BE:#define __SIZEOF_WCHAR_T__ 4
761// MIPS32BE:#define __SIZEOF_WINT_T__ 4
762// MIPS32BE:#define __SIZE_TYPE__ unsigned int
763// MIPS32BE:#define __SIZE_WIDTH__ 32
764// MIPS32BE:#define __STDC_HOSTED__ 0
765// MIPS32BE:#define __STDC_VERSION__ 199901L
766// MIPS32BE:#define __STDC__ 1
767// MIPS32BE:#define __UINTMAX_TYPE__ long long unsigned int
768// MIPS32BE:#define __USER_LABEL_PREFIX__ _
769// MIPS32BE:#define __WCHAR_MAX__ 2147483647
770// MIPS32BE:#define __WCHAR_TYPE__ int
771// MIPS32BE:#define __WCHAR_WIDTH__ 32
772// MIPS32BE:#define __WINT_TYPE__ int
773// MIPS32BE:#define __WINT_WIDTH__ 32
774// MIPS32BE:#define __clang__ 1
775// MIPS32BE:#define __llvm__ 1
776// MIPS32BE:#define __mips 1
777// MIPS32BE:#define __mips__ 1
778// MIPS32BE:#define __mips_hard_float 1
779// MIPS32BE:#define __mips_o32 1
780// MIPS32BE:#define _mips 1
781// MIPS32BE:#define mips 1
782//
783// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -check-prefix MIPS32EL %s
784//
785// MIPS32EL:#define MIPSEL 1
786// MIPS32EL:#define _ABIO32 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000787// MIPS32EL-NOT:#define _LP64
Simon Atanasyan7a521802012-04-06 08:37:24 +0000788// MIPS32EL:#define _MIPSEL 1
Simon Atanasyan260e5062012-08-29 15:17:29 +0000789// MIPS32EL:#define _MIPS_ARCH "mips32"
790// MIPS32EL:#define _MIPS_ARCH_MIPS32 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000791// MIPS32EL:#define _MIPS_SIM _ABIO32
792// MIPS32EL:#define _MIPS_SZINT 32
793// MIPS32EL:#define _MIPS_SZLONG 32
794// MIPS32EL:#define _MIPS_SZPTR 32
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000795// MIPS32EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyan7a521802012-04-06 08:37:24 +0000796// MIPS32EL:#define __CHAR16_TYPE__ unsigned short
797// MIPS32EL:#define __CHAR32_TYPE__ unsigned int
798// MIPS32EL:#define __CHAR_BIT__ 8
799// MIPS32EL:#define __CONSTANT_CFSTRINGS__ 1
800// MIPS32EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
801// MIPS32EL:#define __DBL_DIG__ 15
802// MIPS32EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
803// MIPS32EL:#define __DBL_HAS_DENORM__ 1
804// MIPS32EL:#define __DBL_HAS_INFINITY__ 1
805// MIPS32EL:#define __DBL_HAS_QUIET_NAN__ 1
806// MIPS32EL:#define __DBL_MANT_DIG__ 53
807// MIPS32EL:#define __DBL_MAX_10_EXP__ 308
808// MIPS32EL:#define __DBL_MAX_EXP__ 1024
809// MIPS32EL:#define __DBL_MAX__ 1.7976931348623157e+308
810// MIPS32EL:#define __DBL_MIN_10_EXP__ (-307)
811// MIPS32EL:#define __DBL_MIN_EXP__ (-1021)
812// MIPS32EL:#define __DBL_MIN__ 2.2250738585072014e-308
813// MIPS32EL:#define __DECIMAL_DIG__ 17
814// MIPS32EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
815// MIPS32EL:#define __FLT_DIG__ 6
816// MIPS32EL:#define __FLT_EPSILON__ 1.19209290e-7F
817// MIPS32EL:#define __FLT_EVAL_METHOD__ 0
818// MIPS32EL:#define __FLT_HAS_DENORM__ 1
819// MIPS32EL:#define __FLT_HAS_INFINITY__ 1
820// MIPS32EL:#define __FLT_HAS_QUIET_NAN__ 1
821// MIPS32EL:#define __FLT_MANT_DIG__ 24
822// MIPS32EL:#define __FLT_MAX_10_EXP__ 38
823// MIPS32EL:#define __FLT_MAX_EXP__ 128
824// MIPS32EL:#define __FLT_MAX__ 3.40282347e+38F
825// MIPS32EL:#define __FLT_MIN_10_EXP__ (-37)
826// MIPS32EL:#define __FLT_MIN_EXP__ (-125)
827// MIPS32EL:#define __FLT_MIN__ 1.17549435e-38F
828// MIPS32EL:#define __FLT_RADIX__ 2
829// MIPS32EL:#define __INT16_TYPE__ short
830// MIPS32EL:#define __INT32_TYPE__ int
831// MIPS32EL:#define __INT64_C_SUFFIX__ LL
832// MIPS32EL:#define __INT64_TYPE__ long long int
833// MIPS32EL:#define __INT8_TYPE__ char
834// MIPS32EL:#define __INTMAX_MAX__ 9223372036854775807LL
835// MIPS32EL:#define __INTMAX_TYPE__ long long int
836// MIPS32EL:#define __INTMAX_WIDTH__ 64
837// MIPS32EL:#define __INTPTR_TYPE__ long int
838// MIPS32EL:#define __INTPTR_WIDTH__ 32
839// MIPS32EL:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +0000840// MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000841// MIPS32EL:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +0000842// MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000843// MIPS32EL:#define __LDBL_HAS_DENORM__ 1
844// MIPS32EL:#define __LDBL_HAS_INFINITY__ 1
845// MIPS32EL:#define __LDBL_HAS_QUIET_NAN__ 1
846// MIPS32EL:#define __LDBL_MANT_DIG__ 53
847// MIPS32EL:#define __LDBL_MAX_10_EXP__ 308
848// MIPS32EL:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +0000849// MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000850// MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307)
851// MIPS32EL:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +0000852// MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000853// MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
854// MIPS32EL:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000855// MIPS32EL-NOT:#define __LP64__
Simon Atanasyan7a521802012-04-06 08:37:24 +0000856// MIPS32EL:#define __MIPSEL 1
857// MIPS32EL:#define __MIPSEL__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000858// MIPS32EL:#define __POINTER_WIDTH__ 32
859// MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1
860// MIPS32EL:#define __PTRDIFF_TYPE__ int
861// MIPS32EL:#define __PTRDIFF_WIDTH__ 32
862// MIPS32EL:#define __REGISTER_PREFIX__
863// MIPS32EL:#define __SCHAR_MAX__ 127
864// MIPS32EL:#define __SHRT_MAX__ 32767
865// MIPS32EL:#define __SIG_ATOMIC_WIDTH__ 32
866// MIPS32EL:#define __SIZEOF_DOUBLE__ 8
867// MIPS32EL:#define __SIZEOF_FLOAT__ 4
868// MIPS32EL:#define __SIZEOF_INT__ 4
869// MIPS32EL:#define __SIZEOF_LONG_DOUBLE__ 8
870// MIPS32EL:#define __SIZEOF_LONG_LONG__ 8
871// MIPS32EL:#define __SIZEOF_LONG__ 4
872// MIPS32EL:#define __SIZEOF_POINTER__ 4
873// MIPS32EL:#define __SIZEOF_PTRDIFF_T__ 4
874// MIPS32EL:#define __SIZEOF_SHORT__ 2
875// MIPS32EL:#define __SIZEOF_SIZE_T__ 4
876// MIPS32EL:#define __SIZEOF_WCHAR_T__ 4
877// MIPS32EL:#define __SIZEOF_WINT_T__ 4
878// MIPS32EL:#define __SIZE_TYPE__ unsigned int
879// MIPS32EL:#define __SIZE_WIDTH__ 32
880// MIPS32EL:#define __UINTMAX_TYPE__ long long unsigned int
881// MIPS32EL:#define __USER_LABEL_PREFIX__ _
882// MIPS32EL:#define __WCHAR_MAX__ 2147483647
883// MIPS32EL:#define __WCHAR_TYPE__ int
884// MIPS32EL:#define __WCHAR_WIDTH__ 32
885// MIPS32EL:#define __WINT_TYPE__ int
886// MIPS32EL:#define __WINT_WIDTH__ 32
887// MIPS32EL:#define __clang__ 1
888// MIPS32EL:#define __llvm__ 1
889// MIPS32EL:#define __mips 1
890// MIPS32EL:#define __mips__ 1
891// MIPS32EL:#define __mips_hard_float 1
892// MIPS32EL:#define __mips_o32 1
893// MIPS32EL:#define _mips 1
894// MIPS32EL:#define mips 1
895//
896// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -check-prefix MIPS64BE %s
897//
898// MIPS64BE:#define MIPSEB 1
899// MIPS64BE:#define _ABI64 3
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000900// MIPS64BE:#define _LP64 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000901// MIPS64BE:#define _MIPSEB 1
Simon Atanasyan260e5062012-08-29 15:17:29 +0000902// MIPS64BE:#define _MIPS_ARCH "mips64"
903// MIPS64BE:#define _MIPS_ARCH_MIPS64 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000904// MIPS64BE:#define _MIPS_SIM _ABI64
905// MIPS64BE:#define _MIPS_SZINT 32
906// MIPS64BE:#define _MIPS_SZLONG 64
907// MIPS64BE:#define _MIPS_SZPTR 64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000908// MIPS64BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyan7a521802012-04-06 08:37:24 +0000909// MIPS64BE:#define __CHAR16_TYPE__ unsigned short
910// MIPS64BE:#define __CHAR32_TYPE__ unsigned int
911// MIPS64BE:#define __CHAR_BIT__ 8
912// MIPS64BE:#define __CONSTANT_CFSTRINGS__ 1
913// MIPS64BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
914// MIPS64BE:#define __DBL_DIG__ 15
915// MIPS64BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
916// MIPS64BE:#define __DBL_HAS_DENORM__ 1
917// MIPS64BE:#define __DBL_HAS_INFINITY__ 1
918// MIPS64BE:#define __DBL_HAS_QUIET_NAN__ 1
919// MIPS64BE:#define __DBL_MANT_DIG__ 53
920// MIPS64BE:#define __DBL_MAX_10_EXP__ 308
921// MIPS64BE:#define __DBL_MAX_EXP__ 1024
922// MIPS64BE:#define __DBL_MAX__ 1.7976931348623157e+308
923// MIPS64BE:#define __DBL_MIN_10_EXP__ (-307)
924// MIPS64BE:#define __DBL_MIN_EXP__ (-1021)
925// MIPS64BE:#define __DBL_MIN__ 2.2250738585072014e-308
926// MIPS64BE:#define __DECIMAL_DIG__ 36
927// MIPS64BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
928// MIPS64BE:#define __FLT_DIG__ 6
929// MIPS64BE:#define __FLT_EPSILON__ 1.19209290e-7F
930// MIPS64BE:#define __FLT_EVAL_METHOD__ 0
931// MIPS64BE:#define __FLT_HAS_DENORM__ 1
932// MIPS64BE:#define __FLT_HAS_INFINITY__ 1
933// MIPS64BE:#define __FLT_HAS_QUIET_NAN__ 1
934// MIPS64BE:#define __FLT_MANT_DIG__ 24
935// MIPS64BE:#define __FLT_MAX_10_EXP__ 38
936// MIPS64BE:#define __FLT_MAX_EXP__ 128
937// MIPS64BE:#define __FLT_MAX__ 3.40282347e+38F
938// MIPS64BE:#define __FLT_MIN_10_EXP__ (-37)
939// MIPS64BE:#define __FLT_MIN_EXP__ (-125)
940// MIPS64BE:#define __FLT_MIN__ 1.17549435e-38F
941// MIPS64BE:#define __FLT_RADIX__ 2
942// MIPS64BE:#define __INT16_TYPE__ short
943// MIPS64BE:#define __INT32_TYPE__ int
944// MIPS64BE:#define __INT64_C_SUFFIX__ LL
945// MIPS64BE:#define __INT64_TYPE__ long long int
946// MIPS64BE:#define __INT8_TYPE__ char
947// MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807LL
948// MIPS64BE:#define __INTMAX_TYPE__ long long int
949// MIPS64BE:#define __INTMAX_WIDTH__ 64
950// MIPS64BE:#define __INTPTR_TYPE__ long int
951// MIPS64BE:#define __INTPTR_WIDTH__ 64
952// MIPS64BE:#define __INT_MAX__ 2147483647
953// MIPS64BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
954// MIPS64BE:#define __LDBL_DIG__ 33
955// MIPS64BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
956// MIPS64BE:#define __LDBL_HAS_DENORM__ 1
957// MIPS64BE:#define __LDBL_HAS_INFINITY__ 1
958// MIPS64BE:#define __LDBL_HAS_QUIET_NAN__ 1
959// MIPS64BE:#define __LDBL_MANT_DIG__ 113
960// MIPS64BE:#define __LDBL_MAX_10_EXP__ 4932
961// MIPS64BE:#define __LDBL_MAX_EXP__ 16384
962// MIPS64BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
963// MIPS64BE:#define __LDBL_MIN_10_EXP__ (-4931)
964// MIPS64BE:#define __LDBL_MIN_EXP__ (-16381)
965// MIPS64BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
966// MIPS64BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
967// MIPS64BE:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000968// MIPS64BE:#define __LP64__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000969// MIPS64BE:#define __MIPSEB 1
970// MIPS64BE:#define __MIPSEB__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000971// MIPS64BE:#define __POINTER_WIDTH__ 64
972// MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1
973// MIPS64BE:#define __PTRDIFF_TYPE__ long int
974// MIPS64BE:#define __PTRDIFF_WIDTH__ 64
975// MIPS64BE:#define __REGISTER_PREFIX__
976// MIPS64BE:#define __SCHAR_MAX__ 127
977// MIPS64BE:#define __SHRT_MAX__ 32767
978// MIPS64BE:#define __SIG_ATOMIC_WIDTH__ 32
979// MIPS64BE:#define __SIZEOF_DOUBLE__ 8
980// MIPS64BE:#define __SIZEOF_FLOAT__ 4
981// MIPS64BE:#define __SIZEOF_INT__ 4
982// MIPS64BE:#define __SIZEOF_LONG_DOUBLE__ 16
983// MIPS64BE:#define __SIZEOF_LONG_LONG__ 8
984// MIPS64BE:#define __SIZEOF_LONG__ 8
985// MIPS64BE:#define __SIZEOF_POINTER__ 8
986// MIPS64BE:#define __SIZEOF_PTRDIFF_T__ 8
987// MIPS64BE:#define __SIZEOF_SHORT__ 2
988// MIPS64BE:#define __SIZEOF_SIZE_T__ 8
989// MIPS64BE:#define __SIZEOF_WCHAR_T__ 4
990// MIPS64BE:#define __SIZEOF_WINT_T__ 4
991// MIPS64BE:#define __SIZE_TYPE__ long unsigned int
992// MIPS64BE:#define __SIZE_WIDTH__ 64
993// MIPS64BE:#define __UINTMAX_TYPE__ long long unsigned int
994// MIPS64BE:#define __USER_LABEL_PREFIX__ _
995// MIPS64BE:#define __WCHAR_MAX__ 2147483647
996// MIPS64BE:#define __WCHAR_TYPE__ int
997// MIPS64BE:#define __WCHAR_WIDTH__ 32
998// MIPS64BE:#define __WINT_TYPE__ int
999// MIPS64BE:#define __WINT_WIDTH__ 32
1000// MIPS64BE:#define __clang__ 1
1001// MIPS64BE:#define __llvm__ 1
1002// MIPS64BE:#define __mips 1
Simon Atanasyan600a5132012-08-29 20:50:11 +00001003// MIPS64BE:#define __mips64 1
1004// MIPS64BE:#define __mips64__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001005// MIPS64BE:#define __mips__ 1
1006// MIPS64BE:#define __mips_hard_float 1
1007// MIPS64BE:#define __mips_n64 1
1008// MIPS64BE:#define _mips 1
1009// MIPS64BE:#define mips 1
1010//
1011// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -check-prefix MIPS64EL %s
1012//
1013// MIPS64EL:#define MIPSEL 1
1014// MIPS64EL:#define _ABI64 3
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001015// MIPS64EL:#define _LP64 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001016// MIPS64EL:#define _MIPSEL 1
Simon Atanasyan260e5062012-08-29 15:17:29 +00001017// MIPS64EL:#define _MIPS_ARCH "mips64"
1018// MIPS64EL:#define _MIPS_ARCH_MIPS64 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001019// MIPS64EL:#define _MIPS_SIM _ABI64
1020// MIPS64EL:#define _MIPS_SZINT 32
1021// MIPS64EL:#define _MIPS_SZLONG 64
1022// MIPS64EL:#define _MIPS_SZPTR 64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001023// MIPS64EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyan7a521802012-04-06 08:37:24 +00001024// MIPS64EL:#define __CHAR16_TYPE__ unsigned short
1025// MIPS64EL:#define __CHAR32_TYPE__ unsigned int
1026// MIPS64EL:#define __CHAR_BIT__ 8
1027// MIPS64EL:#define __CONSTANT_CFSTRINGS__ 1
1028// MIPS64EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1029// MIPS64EL:#define __DBL_DIG__ 15
1030// MIPS64EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1031// MIPS64EL:#define __DBL_HAS_DENORM__ 1
1032// MIPS64EL:#define __DBL_HAS_INFINITY__ 1
1033// MIPS64EL:#define __DBL_HAS_QUIET_NAN__ 1
1034// MIPS64EL:#define __DBL_MANT_DIG__ 53
1035// MIPS64EL:#define __DBL_MAX_10_EXP__ 308
1036// MIPS64EL:#define __DBL_MAX_EXP__ 1024
1037// MIPS64EL:#define __DBL_MAX__ 1.7976931348623157e+308
1038// MIPS64EL:#define __DBL_MIN_10_EXP__ (-307)
1039// MIPS64EL:#define __DBL_MIN_EXP__ (-1021)
1040// MIPS64EL:#define __DBL_MIN__ 2.2250738585072014e-308
1041// MIPS64EL:#define __DECIMAL_DIG__ 36
1042// MIPS64EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1043// MIPS64EL:#define __FLT_DIG__ 6
1044// MIPS64EL:#define __FLT_EPSILON__ 1.19209290e-7F
1045// MIPS64EL:#define __FLT_EVAL_METHOD__ 0
1046// MIPS64EL:#define __FLT_HAS_DENORM__ 1
1047// MIPS64EL:#define __FLT_HAS_INFINITY__ 1
1048// MIPS64EL:#define __FLT_HAS_QUIET_NAN__ 1
1049// MIPS64EL:#define __FLT_MANT_DIG__ 24
1050// MIPS64EL:#define __FLT_MAX_10_EXP__ 38
1051// MIPS64EL:#define __FLT_MAX_EXP__ 128
1052// MIPS64EL:#define __FLT_MAX__ 3.40282347e+38F
1053// MIPS64EL:#define __FLT_MIN_10_EXP__ (-37)
1054// MIPS64EL:#define __FLT_MIN_EXP__ (-125)
1055// MIPS64EL:#define __FLT_MIN__ 1.17549435e-38F
1056// MIPS64EL:#define __FLT_RADIX__ 2
1057// MIPS64EL:#define __INT16_TYPE__ short
1058// MIPS64EL:#define __INT32_TYPE__ int
1059// MIPS64EL:#define __INT64_C_SUFFIX__ LL
1060// MIPS64EL:#define __INT64_TYPE__ long long int
1061// MIPS64EL:#define __INT8_TYPE__ char
1062// MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807LL
1063// MIPS64EL:#define __INTMAX_TYPE__ long long int
1064// MIPS64EL:#define __INTMAX_WIDTH__ 64
1065// MIPS64EL:#define __INTPTR_TYPE__ long int
1066// MIPS64EL:#define __INTPTR_WIDTH__ 64
1067// MIPS64EL:#define __INT_MAX__ 2147483647
1068// MIPS64EL:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1069// MIPS64EL:#define __LDBL_DIG__ 33
1070// MIPS64EL:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1071// MIPS64EL:#define __LDBL_HAS_DENORM__ 1
1072// MIPS64EL:#define __LDBL_HAS_INFINITY__ 1
1073// MIPS64EL:#define __LDBL_HAS_QUIET_NAN__ 1
1074// MIPS64EL:#define __LDBL_MANT_DIG__ 113
1075// MIPS64EL:#define __LDBL_MAX_10_EXP__ 4932
1076// MIPS64EL:#define __LDBL_MAX_EXP__ 16384
1077// MIPS64EL:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1078// MIPS64EL:#define __LDBL_MIN_10_EXP__ (-4931)
1079// MIPS64EL:#define __LDBL_MIN_EXP__ (-16381)
1080// MIPS64EL:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1081// MIPS64EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1082// MIPS64EL:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001083// MIPS64EL:#define __LP64__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001084// MIPS64EL:#define __MIPSEL 1
1085// MIPS64EL:#define __MIPSEL__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001086// MIPS64EL:#define __POINTER_WIDTH__ 64
1087// MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1088// MIPS64EL:#define __PTRDIFF_TYPE__ long int
1089// MIPS64EL:#define __PTRDIFF_WIDTH__ 64
1090// MIPS64EL:#define __REGISTER_PREFIX__
1091// MIPS64EL:#define __SCHAR_MAX__ 127
1092// MIPS64EL:#define __SHRT_MAX__ 32767
1093// MIPS64EL:#define __SIG_ATOMIC_WIDTH__ 32
1094// MIPS64EL:#define __SIZEOF_DOUBLE__ 8
1095// MIPS64EL:#define __SIZEOF_FLOAT__ 4
1096// MIPS64EL:#define __SIZEOF_INT__ 4
1097// MIPS64EL:#define __SIZEOF_LONG_DOUBLE__ 16
1098// MIPS64EL:#define __SIZEOF_LONG_LONG__ 8
1099// MIPS64EL:#define __SIZEOF_LONG__ 8
1100// MIPS64EL:#define __SIZEOF_POINTER__ 8
1101// MIPS64EL:#define __SIZEOF_PTRDIFF_T__ 8
1102// MIPS64EL:#define __SIZEOF_SHORT__ 2
1103// MIPS64EL:#define __SIZEOF_SIZE_T__ 8
1104// MIPS64EL:#define __SIZEOF_WCHAR_T__ 4
1105// MIPS64EL:#define __SIZEOF_WINT_T__ 4
1106// MIPS64EL:#define __SIZE_TYPE__ long unsigned int
1107// MIPS64EL:#define __SIZE_WIDTH__ 64
1108// MIPS64EL:#define __UINTMAX_TYPE__ long long unsigned int
1109// MIPS64EL:#define __USER_LABEL_PREFIX__ _
1110// MIPS64EL:#define __WCHAR_MAX__ 2147483647
1111// MIPS64EL:#define __WCHAR_TYPE__ int
1112// MIPS64EL:#define __WCHAR_WIDTH__ 32
1113// MIPS64EL:#define __WINT_TYPE__ int
1114// MIPS64EL:#define __WINT_WIDTH__ 32
1115// MIPS64EL:#define __clang__ 1
1116// MIPS64EL:#define __llvm__ 1
1117// MIPS64EL:#define __mips 1
Simon Atanasyan600a5132012-08-29 20:50:11 +00001118// MIPS64EL:#define __mips64 1
1119// MIPS64EL:#define __mips64__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001120// MIPS64EL:#define __mips__ 1
1121// MIPS64EL:#define __mips_hard_float 1
1122// MIPS64EL:#define __mips_n64 1
1123// MIPS64EL:#define _mips 1
1124// MIPS64EL:#define mips 1
1125//
Simon Atanasyanaba3f0f2012-04-06 17:51:49 +00001126// Check MIPS float ABI macros
1127//
1128// RUN: %clang_cc1 -E -dM -ffreestanding \
1129// RUN: -triple=mips-none-none < /dev/null \
1130// RUN: | FileCheck -check-prefix MIPS-FABI-HARD %s
1131// MIPS-FABI-HARD:#define __mips_hard_float 1
1132//
1133// RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \
1134// RUN: -triple=mips-none-none < /dev/null \
1135// RUN: | FileCheck -check-prefix MIPS-FABI-SOFT %s
1136// MIPS-FABI-SOFT:#define __mips_soft_float 1
1137//
1138// RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \
1139// RUN: -triple=mips-none-none < /dev/null \
1140// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE %s
Simon Atanasyan3dbcc882012-06-05 13:06:56 +00001141// MIPS-FABI-SINGLE:#define __mips_hard_float 1
Simon Atanasyanaba3f0f2012-04-06 17:51:49 +00001142// MIPS-FABI-SINGLE:#define __mips_single_float 1
1143//
Simon Atanasyan1176bcd2012-07-05 16:06:06 +00001144// Check MIPS features macros
1145//
1146// RUN: %clang_cc1 -target-feature +mips16 \
1147// RUN: -E -dM -triple=mips-none-none < /dev/null \
1148// RUN: | FileCheck -check-prefix MIPS16 %s
1149// MIPS16:#define __mips16 1
1150//
1151// RUN: %clang_cc1 -target-feature -mips16 \
1152// RUN: -E -dM -triple=mips-none-none < /dev/null \
1153// RUN: | FileCheck -check-prefix NOMIPS16 %s
1154// NOMIPS16-NOT:#define __mips16 1
1155//
Simon Atanasyana1b62272012-07-05 20:16:22 +00001156// RUN: %clang_cc1 -target-feature +dsp \
1157// RUN: -E -dM -triple=mips-none-none < /dev/null \
1158// RUN: | FileCheck -check-prefix MIPS-DSP %s
1159// MIPS-DSP:#define __mips_dsp 1
1160// MIPS-DSP:#define __mips_dsp_rev 1
1161// MIPS-DSP-NOT:#define __mips_dspr2 1
1162//
1163// RUN: %clang_cc1 -target-feature +dspr2 \
1164// RUN: -E -dM -triple=mips-none-none < /dev/null \
1165// RUN: | FileCheck -check-prefix MIPS-DSPR2 %s
1166// MIPS-DSPR2:#define __mips_dsp 1
1167// MIPS-DSPR2:#define __mips_dsp_rev 2
1168// MIPS-DSPR2:#define __mips_dspr2 1
1169//
Daniel Dunbara5728872009-12-15 20:14:24 +00001170// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00001171//
1172// MSP430:#define MSP430 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001173// MSP430-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001174// MSP430:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00001175// MSP430:#define __CHAR16_TYPE__ unsigned short
1176// MSP430:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001177// MSP430:#define __CHAR_BIT__ 8
1178// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1179// MSP430:#define __DBL_DIG__ 15
1180// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
1181// MSP430:#define __DBL_HAS_DENORM__ 1
1182// MSP430:#define __DBL_HAS_INFINITY__ 1
1183// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
1184// MSP430:#define __DBL_MANT_DIG__ 53
1185// MSP430:#define __DBL_MAX_10_EXP__ 308
1186// MSP430:#define __DBL_MAX_EXP__ 1024
1187// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
1188// MSP430:#define __DBL_MIN_10_EXP__ (-307)
1189// MSP430:#define __DBL_MIN_EXP__ (-1021)
1190// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
1191// MSP430:#define __DECIMAL_DIG__ 17
1192// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1193// MSP430:#define __FLT_DIG__ 6
1194// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
1195// MSP430:#define __FLT_EVAL_METHOD__ 0
1196// MSP430:#define __FLT_HAS_DENORM__ 1
1197// MSP430:#define __FLT_HAS_INFINITY__ 1
1198// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
1199// MSP430:#define __FLT_MANT_DIG__ 24
1200// MSP430:#define __FLT_MAX_10_EXP__ 38
1201// MSP430:#define __FLT_MAX_EXP__ 128
1202// MSP430:#define __FLT_MAX__ 3.40282347e+38F
1203// MSP430:#define __FLT_MIN_10_EXP__ (-37)
1204// MSP430:#define __FLT_MIN_EXP__ (-125)
1205// MSP430:#define __FLT_MIN__ 1.17549435e-38F
1206// MSP430:#define __FLT_RADIX__ 2
1207// MSP430:#define __INT16_TYPE__ short
Ken Dyckeef22ef2009-11-16 16:36:33 +00001208// MSP430:#define __INT32_C_SUFFIX__ L
Chris Lattnerdcdd2a02009-11-12 08:08:27 +00001209// MSP430:#define __INT32_TYPE__ long int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001210// MSP430:#define __INT8_TYPE__ char
1211// MSP430:#define __INTMAX_MAX__ 2147483647L
Ken Dyck8241d732009-11-19 13:18:59 +00001212// MSP430:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00001213// MSP430:#define __INTMAX_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00001214// MSP430:#define __INTPTR_TYPE__ short
Ken Dyckd896e1a2009-11-18 20:05:48 +00001215// MSP430:#define __INTPTR_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +00001216// MSP430:#define __INT_MAX__ 32767
Eli Friedman75e8efe2012-11-10 00:20:38 +00001217// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001218// MSP430:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00001219// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001220// MSP430:#define __LDBL_HAS_DENORM__ 1
1221// MSP430:#define __LDBL_HAS_INFINITY__ 1
1222// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
1223// MSP430:#define __LDBL_MANT_DIG__ 53
1224// MSP430:#define __LDBL_MAX_10_EXP__ 308
1225// MSP430:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00001226// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001227// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
1228// MSP430:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00001229// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikov79bff432010-01-14 21:36:52 +00001230// MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
Chris Lattnerbceaf862009-10-29 04:55:36 +00001231// MSP430:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001232// MSP430-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +00001233// MSP430:#define __MSP430__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00001234// MSP430:#define __POINTER_WIDTH__ 16
Ken Dyck8241d732009-11-19 13:18:59 +00001235// MSP430:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +00001236// MSP430:#define __PTRDIFF_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +00001237// MSP430:#define __SCHAR_MAX__ 127
1238// MSP430:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00001239// MSP430:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00001240// MSP430:#define __SIZEOF_DOUBLE__ 8
1241// MSP430:#define __SIZEOF_FLOAT__ 4
1242// MSP430:#define __SIZEOF_INT__ 2
1243// MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
1244// MSP430:#define __SIZEOF_LONG_LONG__ 8
1245// MSP430:#define __SIZEOF_LONG__ 4
1246// MSP430:#define __SIZEOF_POINTER__ 2
1247// MSP430:#define __SIZEOF_PTRDIFF_T__ 2
1248// MSP430:#define __SIZEOF_SHORT__ 2
1249// MSP430:#define __SIZEOF_SIZE_T__ 2
1250// MSP430:#define __SIZEOF_WCHAR_T__ 2
1251// MSP430:#define __SIZEOF_WINT_T__ 2
Chris Lattnerbceaf862009-10-29 04:55:36 +00001252// MSP430:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00001253// MSP430:#define __SIZE_WIDTH__ 16
Ken Dyck8241d732009-11-19 13:18:59 +00001254// MSP430:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001255// MSP430:#define __USER_LABEL_PREFIX__ _
Chris Lattner91846462009-11-12 08:04:33 +00001256// MSP430:#define __WCHAR_MAX__ 32767
Chris Lattnerbceaf862009-10-29 04:55:36 +00001257// MSP430:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001258// MSP430:#define __WCHAR_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +00001259// MSP430:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001260// MSP430:#define __WINT_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +00001261// MSP430:#define __clang__ 1
1262//
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001263// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s
1264//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001265// NVPTX32-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001266// NVPTX32:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001267// NVPTX32:#define __CHAR16_TYPE__ unsigned short
1268// NVPTX32:#define __CHAR32_TYPE__ unsigned int
1269// NVPTX32:#define __CHAR_BIT__ 8
1270// NVPTX32:#define __CONSTANT_CFSTRINGS__ 1
1271// NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1272// NVPTX32:#define __DBL_DIG__ 15
1273// NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16
1274// NVPTX32:#define __DBL_HAS_DENORM__ 1
1275// NVPTX32:#define __DBL_HAS_INFINITY__ 1
1276// NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1
1277// NVPTX32:#define __DBL_MANT_DIG__ 53
1278// NVPTX32:#define __DBL_MAX_10_EXP__ 308
1279// NVPTX32:#define __DBL_MAX_EXP__ 1024
1280// NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308
1281// NVPTX32:#define __DBL_MIN_10_EXP__ (-307)
1282// NVPTX32:#define __DBL_MIN_EXP__ (-1021)
1283// NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308
1284// NVPTX32:#define __DECIMAL_DIG__ 17
1285// NVPTX32:#define __FINITE_MATH_ONLY__ 0
1286// NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1287// NVPTX32:#define __FLT_DIG__ 6
1288// NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F
1289// NVPTX32:#define __FLT_EVAL_METHOD__ 0
1290// NVPTX32:#define __FLT_HAS_DENORM__ 1
1291// NVPTX32:#define __FLT_HAS_INFINITY__ 1
1292// NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1
1293// NVPTX32:#define __FLT_MANT_DIG__ 24
1294// NVPTX32:#define __FLT_MAX_10_EXP__ 38
1295// NVPTX32:#define __FLT_MAX_EXP__ 128
1296// NVPTX32:#define __FLT_MAX__ 3.40282347e+38F
1297// NVPTX32:#define __FLT_MIN_10_EXP__ (-37)
1298// NVPTX32:#define __FLT_MIN_EXP__ (-125)
1299// NVPTX32:#define __FLT_MIN__ 1.17549435e-38F
1300// NVPTX32:#define __FLT_RADIX__ 2
1301// NVPTX32:#define __INT16_TYPE__ short
1302// NVPTX32:#define __INT32_TYPE__ int
1303// NVPTX32:#define __INT64_C_SUFFIX__ LL
1304// NVPTX32:#define __INT64_TYPE__ long long int
1305// NVPTX32:#define __INT8_TYPE__ char
1306// NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL
1307// NVPTX32:#define __INTMAX_TYPE__ long long int
1308// NVPTX32:#define __INTMAX_WIDTH__ 64
1309// NVPTX32:#define __INTPTR_TYPE__ unsigned int
1310// NVPTX32:#define __INTPTR_WIDTH__ 32
1311// NVPTX32:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00001312// NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001313// NVPTX32:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00001314// NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001315// NVPTX32:#define __LDBL_HAS_DENORM__ 1
1316// NVPTX32:#define __LDBL_HAS_INFINITY__ 1
1317// NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1
1318// NVPTX32:#define __LDBL_MANT_DIG__ 53
1319// NVPTX32:#define __LDBL_MAX_10_EXP__ 308
1320// NVPTX32:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00001321// NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001322// NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
1323// NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00001324// NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001325// NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL
1326// NVPTX32:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001327// NVPTX32-NOT:#define __LP64__
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001328// NVPTX32:#define __NVPTX__ 1
1329// NVPTX32:#define __POINTER_WIDTH__ 32
1330// NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1
1331// NVPTX32:#define __PTRDIFF_TYPE__ unsigned int
1332// NVPTX32:#define __PTRDIFF_WIDTH__ 32
1333// NVPTX32:#define __PTX__ 1
1334// NVPTX32:#define __SCHAR_MAX__ 127
1335// NVPTX32:#define __SHRT_MAX__ 32767
1336// NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32
1337// NVPTX32:#define __SIZEOF_DOUBLE__ 8
1338// NVPTX32:#define __SIZEOF_FLOAT__ 4
1339// NVPTX32:#define __SIZEOF_INT__ 4
1340// NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8
1341// NVPTX32:#define __SIZEOF_LONG_LONG__ 8
1342// NVPTX32:#define __SIZEOF_LONG__ 8
1343// NVPTX32:#define __SIZEOF_POINTER__ 4
1344// NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4
1345// NVPTX32:#define __SIZEOF_SHORT__ 2
1346// NVPTX32:#define __SIZEOF_SIZE_T__ 4
1347// NVPTX32:#define __SIZEOF_WCHAR_T__ 4
1348// NVPTX32:#define __SIZEOF_WINT_T__ 4
1349// NVPTX32:#define __SIZE_TYPE__ unsigned int
1350// NVPTX32:#define __SIZE_WIDTH__ 32
1351// NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int
1352// NVPTX32:#define __USER_LABEL_PREFIX__ _
1353// NVPTX32:#define __WCHAR_MAX__ 2147483647
1354// NVPTX32:#define __WCHAR_TYPE__ int
1355// NVPTX32:#define __WCHAR_WIDTH__ 32
1356// NVPTX32:#define __WINT_TYPE__ int
1357// NVPTX32:#define __WINT_WIDTH__ 32
1358//
1359// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -check-prefix NVPTX64 %s
1360//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001361// NVPTX64:#define _LP64 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001362// NVPTX64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001363// NVPTX64:#define __CHAR16_TYPE__ unsigned short
1364// NVPTX64:#define __CHAR32_TYPE__ unsigned int
1365// NVPTX64:#define __CHAR_BIT__ 8
1366// NVPTX64:#define __CONSTANT_CFSTRINGS__ 1
1367// NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1368// NVPTX64:#define __DBL_DIG__ 15
1369// NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1370// NVPTX64:#define __DBL_HAS_DENORM__ 1
1371// NVPTX64:#define __DBL_HAS_INFINITY__ 1
1372// NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1
1373// NVPTX64:#define __DBL_MANT_DIG__ 53
1374// NVPTX64:#define __DBL_MAX_10_EXP__ 308
1375// NVPTX64:#define __DBL_MAX_EXP__ 1024
1376// NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308
1377// NVPTX64:#define __DBL_MIN_10_EXP__ (-307)
1378// NVPTX64:#define __DBL_MIN_EXP__ (-1021)
1379// NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308
1380// NVPTX64:#define __DECIMAL_DIG__ 17
1381// NVPTX64:#define __FINITE_MATH_ONLY__ 0
1382// NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1383// NVPTX64:#define __FLT_DIG__ 6
1384// NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F
1385// NVPTX64:#define __FLT_EVAL_METHOD__ 0
1386// NVPTX64:#define __FLT_HAS_DENORM__ 1
1387// NVPTX64:#define __FLT_HAS_INFINITY__ 1
1388// NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1
1389// NVPTX64:#define __FLT_MANT_DIG__ 24
1390// NVPTX64:#define __FLT_MAX_10_EXP__ 38
1391// NVPTX64:#define __FLT_MAX_EXP__ 128
1392// NVPTX64:#define __FLT_MAX__ 3.40282347e+38F
1393// NVPTX64:#define __FLT_MIN_10_EXP__ (-37)
1394// NVPTX64:#define __FLT_MIN_EXP__ (-125)
1395// NVPTX64:#define __FLT_MIN__ 1.17549435e-38F
1396// NVPTX64:#define __FLT_RADIX__ 2
1397// NVPTX64:#define __INT16_TYPE__ short
1398// NVPTX64:#define __INT32_TYPE__ int
1399// NVPTX64:#define __INT64_C_SUFFIX__ LL
1400// NVPTX64:#define __INT64_TYPE__ long long int
1401// NVPTX64:#define __INT8_TYPE__ char
1402// NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL
1403// NVPTX64:#define __INTMAX_TYPE__ long long int
1404// NVPTX64:#define __INTMAX_WIDTH__ 64
1405// NVPTX64:#define __INTPTR_TYPE__ long long unsigned int
1406// NVPTX64:#define __INTPTR_WIDTH__ 64
1407// NVPTX64:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00001408// NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001409// NVPTX64:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00001410// NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001411// NVPTX64:#define __LDBL_HAS_DENORM__ 1
1412// NVPTX64:#define __LDBL_HAS_INFINITY__ 1
1413// NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1
1414// NVPTX64:#define __LDBL_MANT_DIG__ 53
1415// NVPTX64:#define __LDBL_MAX_10_EXP__ 308
1416// NVPTX64:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00001417// NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001418// NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
1419// NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00001420// NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001421// NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1422// NVPTX64:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001423// NVPTX64:#define __LP64__ 1
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001424// NVPTX64:#define __NVPTX__ 1
1425// NVPTX64:#define __POINTER_WIDTH__ 64
1426// NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1
1427// NVPTX64:#define __PTRDIFF_TYPE__ long long unsigned int
1428// NVPTX64:#define __PTRDIFF_WIDTH__ 64
1429// NVPTX64:#define __PTX__ 1
1430// NVPTX64:#define __SCHAR_MAX__ 127
1431// NVPTX64:#define __SHRT_MAX__ 32767
1432// NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32
1433// NVPTX64:#define __SIZEOF_DOUBLE__ 8
1434// NVPTX64:#define __SIZEOF_FLOAT__ 4
1435// NVPTX64:#define __SIZEOF_INT__ 4
1436// NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8
1437// NVPTX64:#define __SIZEOF_LONG_LONG__ 8
1438// NVPTX64:#define __SIZEOF_LONG__ 8
1439// NVPTX64:#define __SIZEOF_POINTER__ 8
1440// NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8
1441// NVPTX64:#define __SIZEOF_SHORT__ 2
1442// NVPTX64:#define __SIZEOF_SIZE_T__ 8
1443// NVPTX64:#define __SIZEOF_WCHAR_T__ 4
1444// NVPTX64:#define __SIZEOF_WINT_T__ 4
1445// NVPTX64:#define __SIZE_TYPE__ long long unsigned int
1446// NVPTX64:#define __SIZE_WIDTH__ 64
1447// NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int
1448// NVPTX64:#define __USER_LABEL_PREFIX__ _
1449// NVPTX64:#define __WCHAR_MAX__ 2147483647
1450// NVPTX64:#define __WCHAR_TYPE__ int
1451// NVPTX64:#define __WCHAR_WIDTH__ 32
1452// NVPTX64:#define __WINT_TYPE__ int
1453// NVPTX64:#define __WINT_WIDTH__ 32
1454//
Hal Finkel39d5fa12012-07-03 16:51:04 +00001455// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -check-prefix PPC603E %s
1456//
1457// PPC603E:#define _ARCH_603 1
1458// PPC603E:#define _ARCH_603E 1
1459// PPC603E:#define _ARCH_PPC 1
1460// PPC603E:#define _ARCH_PPCGR 1
1461// PPC603E:#define _BIG_ENDIAN 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001462// PPC603E-NOT:#define _LP64
Hal Finkel39d5fa12012-07-03 16:51:04 +00001463// PPC603E:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001464// PPC603E:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Hal Finkel39d5fa12012-07-03 16:51:04 +00001465// PPC603E:#define __CHAR16_TYPE__ unsigned short
1466// PPC603E:#define __CHAR32_TYPE__ unsigned int
1467// PPC603E:#define __CHAR_BIT__ 8
1468// PPC603E:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1469// PPC603E:#define __DBL_DIG__ 15
1470// PPC603E:#define __DBL_EPSILON__ 2.2204460492503131e-16
1471// PPC603E:#define __DBL_HAS_DENORM__ 1
1472// PPC603E:#define __DBL_HAS_INFINITY__ 1
1473// PPC603E:#define __DBL_HAS_QUIET_NAN__ 1
1474// PPC603E:#define __DBL_MANT_DIG__ 53
1475// PPC603E:#define __DBL_MAX_10_EXP__ 308
1476// PPC603E:#define __DBL_MAX_EXP__ 1024
1477// PPC603E:#define __DBL_MAX__ 1.7976931348623157e+308
1478// PPC603E:#define __DBL_MIN_10_EXP__ (-307)
1479// PPC603E:#define __DBL_MIN_EXP__ (-1021)
1480// PPC603E:#define __DBL_MIN__ 2.2250738585072014e-308
1481// PPC603E:#define __DECIMAL_DIG__ 33
1482// PPC603E:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1483// PPC603E:#define __FLT_DIG__ 6
1484// PPC603E:#define __FLT_EPSILON__ 1.19209290e-7F
1485// PPC603E:#define __FLT_EVAL_METHOD__ 0
1486// PPC603E:#define __FLT_HAS_DENORM__ 1
1487// PPC603E:#define __FLT_HAS_INFINITY__ 1
1488// PPC603E:#define __FLT_HAS_QUIET_NAN__ 1
1489// PPC603E:#define __FLT_MANT_DIG__ 24
1490// PPC603E:#define __FLT_MAX_10_EXP__ 38
1491// PPC603E:#define __FLT_MAX_EXP__ 128
1492// PPC603E:#define __FLT_MAX__ 3.40282347e+38F
1493// PPC603E:#define __FLT_MIN_10_EXP__ (-37)
1494// PPC603E:#define __FLT_MIN_EXP__ (-125)
1495// PPC603E:#define __FLT_MIN__ 1.17549435e-38F
1496// PPC603E:#define __FLT_RADIX__ 2
1497// PPC603E:#define __INT16_TYPE__ short
1498// PPC603E:#define __INT32_TYPE__ int
1499// PPC603E:#define __INT64_C_SUFFIX__ LL
1500// PPC603E:#define __INT64_TYPE__ long long int
1501// PPC603E:#define __INT8_TYPE__ char
1502// PPC603E:#define __INTMAX_MAX__ 9223372036854775807LL
1503// PPC603E:#define __INTMAX_TYPE__ long long int
1504// PPC603E:#define __INTMAX_WIDTH__ 64
1505// PPC603E:#define __INTPTR_TYPE__ long int
1506// PPC603E:#define __INTPTR_WIDTH__ 32
1507// PPC603E:#define __INT_MAX__ 2147483647
1508// PPC603E:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1509// PPC603E:#define __LDBL_DIG__ 31
1510// PPC603E:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1511// PPC603E:#define __LDBL_HAS_DENORM__ 1
1512// PPC603E:#define __LDBL_HAS_INFINITY__ 1
1513// PPC603E:#define __LDBL_HAS_QUIET_NAN__ 1
1514// PPC603E:#define __LDBL_MANT_DIG__ 106
1515// PPC603E:#define __LDBL_MAX_10_EXP__ 308
1516// PPC603E:#define __LDBL_MAX_EXP__ 1024
1517// PPC603E:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1518// PPC603E:#define __LDBL_MIN_10_EXP__ (-291)
1519// PPC603E:#define __LDBL_MIN_EXP__ (-968)
1520// PPC603E:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1521// PPC603E:#define __LONG_DOUBLE_128__ 1
1522// PPC603E:#define __LONG_LONG_MAX__ 9223372036854775807LL
1523// PPC603E:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001524// PPC603E-NOT:#define __LP64__
Hal Finkel39d5fa12012-07-03 16:51:04 +00001525// PPC603E:#define __NATURAL_ALIGNMENT__ 1
Hal Finkel39d5fa12012-07-03 16:51:04 +00001526// PPC603E:#define __POINTER_WIDTH__ 32
1527// PPC603E:#define __POWERPC__ 1
1528// PPC603E:#define __PTRDIFF_TYPE__ long int
1529// PPC603E:#define __PTRDIFF_WIDTH__ 32
1530// PPC603E:#define __REGISTER_PREFIX__
1531// PPC603E:#define __SCHAR_MAX__ 127
1532// PPC603E:#define __SHRT_MAX__ 32767
1533// PPC603E:#define __SIG_ATOMIC_WIDTH__ 32
1534// PPC603E:#define __SIZEOF_DOUBLE__ 8
1535// PPC603E:#define __SIZEOF_FLOAT__ 4
1536// PPC603E:#define __SIZEOF_INT__ 4
1537// PPC603E:#define __SIZEOF_LONG_DOUBLE__ 16
1538// PPC603E:#define __SIZEOF_LONG_LONG__ 8
1539// PPC603E:#define __SIZEOF_LONG__ 4
1540// PPC603E:#define __SIZEOF_POINTER__ 4
1541// PPC603E:#define __SIZEOF_PTRDIFF_T__ 4
1542// PPC603E:#define __SIZEOF_SHORT__ 2
1543// PPC603E:#define __SIZEOF_SIZE_T__ 4
1544// PPC603E:#define __SIZEOF_WCHAR_T__ 4
1545// PPC603E:#define __SIZEOF_WINT_T__ 4
1546// PPC603E:#define __SIZE_TYPE__ long unsigned int
1547// PPC603E:#define __SIZE_WIDTH__ 32
1548// PPC603E:#define __UINTMAX_TYPE__ long long unsigned int
1549// PPC603E:#define __USER_LABEL_PREFIX__ _
1550// PPC603E:#define __WCHAR_MAX__ 2147483647
1551// PPC603E:#define __WCHAR_TYPE__ int
1552// PPC603E:#define __WCHAR_WIDTH__ 32
1553// PPC603E:#define __WINT_TYPE__ int
1554// PPC603E:#define __WINT_WIDTH__ 32
1555// PPC603E:#define __powerpc__ 1
1556// PPC603E:#define __ppc__ 1
1557//
Hal Finkel02a84272012-06-11 22:35:19 +00001558// 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 +00001559//
1560// PPC64:#define _ARCH_PPC 1
1561// PPC64:#define _ARCH_PPC64 1
Hal Finkel39d5fa12012-07-03 16:51:04 +00001562// PPC64:#define _ARCH_PPCGR 1
1563// PPC64:#define _ARCH_PPCSQ 1
1564// PPC64:#define _ARCH_PWR4 1
1565// PPC64:#define _ARCH_PWR5 1
1566// PPC64:#define _ARCH_PWR6 1
Hal Finkel02a84272012-06-11 22:35:19 +00001567// PPC64:#define _ARCH_PWR7 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00001568// PPC64:#define _BIG_ENDIAN 1
1569// PPC64:#define _LP64 1
1570// PPC64:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001571// PPC64:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00001572// PPC64:#define __CHAR16_TYPE__ unsigned short
1573// PPC64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001574// PPC64:#define __CHAR_BIT__ 8
1575// PPC64:#define __CHAR_UNSIGNED__ 1
1576// PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1577// PPC64:#define __DBL_DIG__ 15
1578// PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1579// PPC64:#define __DBL_HAS_DENORM__ 1
1580// PPC64:#define __DBL_HAS_INFINITY__ 1
1581// PPC64:#define __DBL_HAS_QUIET_NAN__ 1
1582// PPC64:#define __DBL_MANT_DIG__ 53
1583// PPC64:#define __DBL_MAX_10_EXP__ 308
1584// PPC64:#define __DBL_MAX_EXP__ 1024
1585// PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
1586// PPC64:#define __DBL_MIN_10_EXP__ (-307)
1587// PPC64:#define __DBL_MIN_EXP__ (-1021)
1588// PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001589// PPC64:#define __DECIMAL_DIG__ 33
Chris Lattnerbceaf862009-10-29 04:55:36 +00001590// PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1591// PPC64:#define __FLT_DIG__ 6
1592// PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
1593// PPC64:#define __FLT_EVAL_METHOD__ 0
1594// PPC64:#define __FLT_HAS_DENORM__ 1
1595// PPC64:#define __FLT_HAS_INFINITY__ 1
1596// PPC64:#define __FLT_HAS_QUIET_NAN__ 1
1597// PPC64:#define __FLT_MANT_DIG__ 24
1598// PPC64:#define __FLT_MAX_10_EXP__ 38
1599// PPC64:#define __FLT_MAX_EXP__ 128
1600// PPC64:#define __FLT_MAX__ 3.40282347e+38F
1601// PPC64:#define __FLT_MIN_10_EXP__ (-37)
1602// PPC64:#define __FLT_MIN_EXP__ (-125)
1603// PPC64:#define __FLT_MIN__ 1.17549435e-38F
1604// PPC64:#define __FLT_RADIX__ 2
1605// PPC64:#define __INT16_TYPE__ short
1606// PPC64:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00001607// PPC64:#define __INT64_C_SUFFIX__ L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001608// PPC64:#define __INT64_TYPE__ long int
1609// PPC64:#define __INT8_TYPE__ char
1610// PPC64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck8241d732009-11-19 13:18:59 +00001611// PPC64:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00001612// PPC64:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001613// PPC64:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00001614// PPC64:#define __INTPTR_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001615// PPC64:#define __INT_MAX__ 2147483647
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001616// PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1617// PPC64:#define __LDBL_DIG__ 31
1618// PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001619// PPC64:#define __LDBL_HAS_DENORM__ 1
1620// PPC64:#define __LDBL_HAS_INFINITY__ 1
1621// PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001622// PPC64:#define __LDBL_MANT_DIG__ 106
Chris Lattnerbceaf862009-10-29 04:55:36 +00001623// PPC64:#define __LDBL_MAX_10_EXP__ 308
1624// PPC64:#define __LDBL_MAX_EXP__ 1024
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001625// PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1626// PPC64:#define __LDBL_MIN_10_EXP__ (-291)
1627// PPC64:#define __LDBL_MIN_EXP__ (-968)
1628// PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001629// PPC64:#define __LONG_DOUBLE_128__ 1
1630// PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1631// PPC64:#define __LONG_MAX__ 9223372036854775807L
1632// PPC64:#define __LP64__ 1
1633// PPC64:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00001634// PPC64:#define __POINTER_WIDTH__ 64
1635// PPC64:#define __POWERPC__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00001636// PPC64:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00001637// PPC64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001638// PPC64:#define __REGISTER_PREFIX__
1639// PPC64:#define __SCHAR_MAX__ 127
1640// PPC64:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00001641// PPC64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00001642// PPC64:#define __SIZEOF_DOUBLE__ 8
1643// PPC64:#define __SIZEOF_FLOAT__ 4
1644// PPC64:#define __SIZEOF_INT__ 4
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001645// PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohmancfeac342010-05-28 00:27:15 +00001646// PPC64:#define __SIZEOF_LONG_LONG__ 8
1647// PPC64:#define __SIZEOF_LONG__ 8
1648// PPC64:#define __SIZEOF_POINTER__ 8
1649// PPC64:#define __SIZEOF_PTRDIFF_T__ 8
1650// PPC64:#define __SIZEOF_SHORT__ 2
1651// PPC64:#define __SIZEOF_SIZE_T__ 8
1652// PPC64:#define __SIZEOF_WCHAR_T__ 4
1653// PPC64:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +00001654// PPC64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00001655// PPC64:#define __SIZE_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001656// PPC64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001657// PPC64:#define __USER_LABEL_PREFIX__ _
1658// PPC64:#define __WCHAR_MAX__ 2147483647
1659// PPC64:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001660// PPC64:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001661// PPC64:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001662// PPC64:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001663// PPC64:#define __ppc64__ 1
1664// PPC64:#define __ppc__ 1
1665//
Hal Finkel5ccd3d02013-02-01 05:53:33 +00001666// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu a2q -fno-signed-char < /dev/null | FileCheck -check-prefix PPCA2Q %s
1667//
1668// PPCA2Q:#define _ARCH_A2 1
1669// PPCA2Q:#define _ARCH_A2Q 1
1670// PPCA2Q:#define _ARCH_PPC 1
1671// PPCA2Q:#define _ARCH_PPC64 1
1672// PPCA2Q:#define _ARCH_QP 1
1673//
1674// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-bgq-linux -fno-signed-char < /dev/null | FileCheck -check-prefix PPCBGQ %s
1675//
1676// PPCBGQ:#define __THW_BLUEGENE__ 1
1677// PPCBGQ:#define __TOS_BGQ__ 1
1678// PPCBGQ:#define __bg__ 1
1679// PPCBGQ:#define __bgq__ 1
1680//
Bill Schmidt2821e182013-02-01 20:23:10 +00001681// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu 630 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC630 %s
1682//
1683// PPC630:#define _ARCH_630 1
1684// PPC630:#define _ARCH_PPC 1
1685// PPC630:#define _ARCH_PPC64 1
1686// PPC630:#define _ARCH_PPCGR 1
1687//
1688// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR3 %s
1689//
1690// PPCPWR3:#define _ARCH_PPC 1
1691// PPCPWR3:#define _ARCH_PPC64 1
1692// PPCPWR3:#define _ARCH_PPCGR 1
1693//
1694// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER3 %s
1695//
1696// PPCPOWER3:#define _ARCH_PPC 1
1697// PPCPOWER3:#define _ARCH_PPC64 1
1698// PPCPOWER3:#define _ARCH_PPCGR 1
1699//
1700// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR4 %s
1701//
1702// PPCPWR4:#define _ARCH_PPC 1
1703// PPCPWR4:#define _ARCH_PPC64 1
1704// PPCPWR4:#define _ARCH_PPCGR 1
1705// PPCPWR4:#define _ARCH_PPCSQ 1
1706// PPCPWR4:#define _ARCH_PWR4 1
1707//
1708// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER4 %s
1709//
1710// PPCPOWER4:#define _ARCH_PPC 1
1711// PPCPOWER4:#define _ARCH_PPC64 1
1712// PPCPOWER4:#define _ARCH_PPCGR 1
1713// PPCPOWER4:#define _ARCH_PPCSQ 1
1714// PPCPOWER4:#define _ARCH_PWR4 1
1715//
1716// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5 %s
1717//
1718// PPCPWR5:#define _ARCH_PPC 1
1719// PPCPWR5:#define _ARCH_PPC64 1
1720// PPCPWR5:#define _ARCH_PPCGR 1
1721// PPCPWR5:#define _ARCH_PPCSQ 1
1722// PPCPWR5:#define _ARCH_PWR4 1
1723// PPCPWR5:#define _ARCH_PWR5 1
1724//
1725// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5 %s
1726//
1727// PPCPOWER5:#define _ARCH_PPC 1
1728// PPCPOWER5:#define _ARCH_PPC64 1
1729// PPCPOWER5:#define _ARCH_PPCGR 1
1730// PPCPOWER5:#define _ARCH_PPCSQ 1
1731// PPCPOWER5:#define _ARCH_PWR4 1
1732// PPCPOWER5:#define _ARCH_PWR5 1
1733//
1734// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5X %s
1735//
1736// PPCPWR5X:#define _ARCH_PPC 1
1737// PPCPWR5X:#define _ARCH_PPC64 1
1738// PPCPWR5X:#define _ARCH_PPCGR 1
1739// PPCPWR5X:#define _ARCH_PPCSQ 1
1740// PPCPWR5X:#define _ARCH_PWR4 1
1741// PPCPWR5X:#define _ARCH_PWR5 1
1742// PPCPWR5X:#define _ARCH_PWR5X 1
1743//
1744// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5X %s
1745//
1746// PPCPOWER5X:#define _ARCH_PPC 1
1747// PPCPOWER5X:#define _ARCH_PPC64 1
1748// PPCPOWER5X:#define _ARCH_PPCGR 1
1749// PPCPOWER5X:#define _ARCH_PPCSQ 1
1750// PPCPOWER5X:#define _ARCH_PWR4 1
1751// PPCPOWER5X:#define _ARCH_PWR5 1
1752// PPCPOWER5X:#define _ARCH_PWR5X 1
1753//
1754// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6 %s
1755//
1756// PPCPWR6:#define _ARCH_PPC 1
1757// PPCPWR6:#define _ARCH_PPC64 1
1758// PPCPWR6:#define _ARCH_PPCGR 1
1759// PPCPWR6:#define _ARCH_PPCSQ 1
1760// PPCPWR6:#define _ARCH_PWR4 1
1761// PPCPWR6:#define _ARCH_PWR5 1
1762// PPCPWR6:#define _ARCH_PWR5X 1
1763// PPCPWR6:#define _ARCH_PWR6 1
1764//
1765// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6 %s
1766//
1767// PPCPOWER6:#define _ARCH_PPC 1
1768// PPCPOWER6:#define _ARCH_PPC64 1
1769// PPCPOWER6:#define _ARCH_PPCGR 1
1770// PPCPOWER6:#define _ARCH_PPCSQ 1
1771// PPCPOWER6:#define _ARCH_PWR4 1
1772// PPCPOWER6:#define _ARCH_PWR5 1
1773// PPCPOWER6:#define _ARCH_PWR5X 1
1774// PPCPOWER6:#define _ARCH_PWR6 1
1775//
1776// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6X %s
1777//
1778// PPCPWR6X:#define _ARCH_PPC 1
1779// PPCPWR6X:#define _ARCH_PPC64 1
1780// PPCPWR6X:#define _ARCH_PPCGR 1
1781// PPCPWR6X:#define _ARCH_PPCSQ 1
1782// PPCPWR6X:#define _ARCH_PWR4 1
1783// PPCPWR6X:#define _ARCH_PWR5 1
1784// PPCPWR6X:#define _ARCH_PWR5X 1
1785// PPCPWR6X:#define _ARCH_PWR6 1
1786// PPCPWR6X:#define _ARCH_PWR6X 1
1787//
1788// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6X %s
1789//
1790// PPCPOWER6X:#define _ARCH_PPC 1
1791// PPCPOWER6X:#define _ARCH_PPC64 1
1792// PPCPOWER6X:#define _ARCH_PPCGR 1
1793// PPCPOWER6X:#define _ARCH_PPCSQ 1
1794// PPCPOWER6X:#define _ARCH_PWR4 1
1795// PPCPOWER6X:#define _ARCH_PWR5 1
1796// PPCPOWER6X:#define _ARCH_PWR5X 1
1797// PPCPOWER6X:#define _ARCH_PWR6 1
1798// PPCPOWER6X:#define _ARCH_PWR6X 1
1799//
1800// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR7 %s
1801//
1802// PPCPWR7:#define _ARCH_PPC 1
1803// PPCPWR7:#define _ARCH_PPC64 1
1804// PPCPWR7:#define _ARCH_PPCGR 1
1805// PPCPWR7:#define _ARCH_PPCSQ 1
1806// PPCPWR7:#define _ARCH_PWR4 1
1807// PPCPWR7:#define _ARCH_PWR5 1
1808// PPCPWR7:#define _ARCH_PWR5X 1
1809// PPCPWR7:#define _ARCH_PWR6 1
1810// PPCPWR7:#define _ARCH_PWR6X 1
1811// PPCPWR7:#define _ARCH_PWR7 1
1812//
1813// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER7 %s
1814//
1815// PPCPOWER7:#define _ARCH_PPC 1
1816// PPCPOWER7:#define _ARCH_PPC64 1
1817// PPCPOWER7:#define _ARCH_PPCGR 1
1818// PPCPOWER7:#define _ARCH_PPCSQ 1
1819// PPCPOWER7:#define _ARCH_PWR4 1
1820// PPCPOWER7:#define _ARCH_PWR5 1
1821// PPCPOWER7:#define _ARCH_PWR5X 1
1822// PPCPOWER7:#define _ARCH_PWR6 1
1823// PPCPOWER7:#define _ARCH_PWR6X 1
1824// PPCPOWER7:#define _ARCH_PWR7 1
1825//
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001826// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
1827//
1828// PPC64-LINUX:#define _ARCH_PPC 1
1829// PPC64-LINUX:#define _ARCH_PPC64 1
1830// PPC64-LINUX:#define _BIG_ENDIAN 1
1831// PPC64-LINUX:#define _LP64 1
1832// PPC64-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001833// PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001834// PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
1835// PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
1836// PPC64-LINUX:#define __CHAR_BIT__ 8
1837// PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
1838// PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1839// PPC64-LINUX:#define __DBL_DIG__ 15
1840// PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
1841// PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
1842// PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
1843// PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
1844// PPC64-LINUX:#define __DBL_MANT_DIG__ 53
1845// PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
1846// PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
1847// PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
1848// PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
1849// PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
1850// PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
1851// PPC64-LINUX:#define __DECIMAL_DIG__ 33
1852// PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1853// PPC64-LINUX:#define __FLT_DIG__ 6
1854// PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
1855// PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
1856// PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
1857// PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
1858// PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
1859// PPC64-LINUX:#define __FLT_MANT_DIG__ 24
1860// PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
1861// PPC64-LINUX:#define __FLT_MAX_EXP__ 128
1862// PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
1863// PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
1864// PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
1865// PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
1866// PPC64-LINUX:#define __FLT_RADIX__ 2
1867// PPC64-LINUX:#define __INT16_TYPE__ short
1868// PPC64-LINUX:#define __INT32_TYPE__ int
1869// PPC64-LINUX:#define __INT64_C_SUFFIX__ L
1870// PPC64-LINUX:#define __INT64_TYPE__ long int
1871// PPC64-LINUX:#define __INT8_TYPE__ char
1872// PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
1873// PPC64-LINUX:#define __INTMAX_TYPE__ long int
1874// PPC64-LINUX:#define __INTMAX_WIDTH__ 64
1875// PPC64-LINUX:#define __INTPTR_TYPE__ long int
1876// PPC64-LINUX:#define __INTPTR_WIDTH__ 64
1877// PPC64-LINUX:#define __INT_MAX__ 2147483647
1878// PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1879// PPC64-LINUX:#define __LDBL_DIG__ 31
1880// PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1881// PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
1882// PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
1883// PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
1884// PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
1885// PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
1886// PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
1887// PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1888// PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
1889// PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
1890// PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1891// PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
1892// PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
1893// PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
1894// PPC64-LINUX:#define __LP64__ 1
1895// PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001896// PPC64-LINUX:#define __POINTER_WIDTH__ 64
1897// PPC64-LINUX:#define __POWERPC__ 1
1898// PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
1899// PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
1900// PPC64-LINUX:#define __REGISTER_PREFIX__
1901// PPC64-LINUX:#define __SCHAR_MAX__ 127
1902// PPC64-LINUX:#define __SHRT_MAX__ 32767
1903// PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
1904// PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
1905// PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
1906// PPC64-LINUX:#define __SIZEOF_INT__ 4
1907// PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
1908// PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
1909// PPC64-LINUX:#define __SIZEOF_LONG__ 8
1910// PPC64-LINUX:#define __SIZEOF_POINTER__ 8
1911// PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
1912// PPC64-LINUX:#define __SIZEOF_SHORT__ 2
1913// PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
1914// PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
1915// PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
1916// PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
1917// PPC64-LINUX:#define __SIZE_WIDTH__ 64
1918// PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
1919// PPC64-LINUX:#define __USER_LABEL_PREFIX__
1920// PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
1921// PPC64-LINUX:#define __WCHAR_TYPE__ int
1922// PPC64-LINUX:#define __WCHAR_WIDTH__ 32
1923// PPC64-LINUX:#define __WINT_TYPE__ unsigned int
1924// PPC64-LINUX:#define __WINT_UNSIGNED__ 1
1925// PPC64-LINUX:#define __WINT_WIDTH__ 32
1926// PPC64-LINUX:#define __powerpc64__ 1
1927// PPC64-LINUX:#define __powerpc__ 1
1928// PPC64-LINUX:#define __ppc64__ 1
1929// PPC64-LINUX:#define __ppc__ 1
1930//
Daniel Dunbara5728872009-12-15 20:14:24 +00001931// 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 +00001932//
1933// PPC:#define _ARCH_PPC 1
1934// PPC:#define _BIG_ENDIAN 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001935// PPC-NOT:#define _LP64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001936// PPC:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001937// PPC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00001938// PPC:#define __CHAR16_TYPE__ unsigned short
1939// PPC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001940// PPC:#define __CHAR_BIT__ 8
1941// PPC:#define __CHAR_UNSIGNED__ 1
1942// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1943// PPC:#define __DBL_DIG__ 15
1944// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
1945// PPC:#define __DBL_HAS_DENORM__ 1
1946// PPC:#define __DBL_HAS_INFINITY__ 1
1947// PPC:#define __DBL_HAS_QUIET_NAN__ 1
1948// PPC:#define __DBL_MANT_DIG__ 53
1949// PPC:#define __DBL_MAX_10_EXP__ 308
1950// PPC:#define __DBL_MAX_EXP__ 1024
1951// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
1952// PPC:#define __DBL_MIN_10_EXP__ (-307)
1953// PPC:#define __DBL_MIN_EXP__ (-1021)
1954// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001955// PPC:#define __DECIMAL_DIG__ 33
Chris Lattnerbceaf862009-10-29 04:55:36 +00001956// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1957// PPC:#define __FLT_DIG__ 6
1958// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
1959// PPC:#define __FLT_EVAL_METHOD__ 0
1960// PPC:#define __FLT_HAS_DENORM__ 1
1961// PPC:#define __FLT_HAS_INFINITY__ 1
1962// PPC:#define __FLT_HAS_QUIET_NAN__ 1
1963// PPC:#define __FLT_MANT_DIG__ 24
1964// PPC:#define __FLT_MAX_10_EXP__ 38
1965// PPC:#define __FLT_MAX_EXP__ 128
1966// PPC:#define __FLT_MAX__ 3.40282347e+38F
1967// PPC:#define __FLT_MIN_10_EXP__ (-37)
1968// PPC:#define __FLT_MIN_EXP__ (-125)
1969// PPC:#define __FLT_MIN__ 1.17549435e-38F
1970// PPC:#define __FLT_RADIX__ 2
1971// PPC:#define __INT16_TYPE__ short
1972// PPC:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00001973// PPC:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +00001974// PPC:#define __INT64_TYPE__ long long int
1975// PPC:#define __INT8_TYPE__ char
1976// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +00001977// PPC:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +00001978// PPC:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001979// PPC:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00001980// PPC:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001981// PPC:#define __INT_MAX__ 2147483647
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001982// PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1983// PPC:#define __LDBL_DIG__ 31
1984// PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001985// PPC:#define __LDBL_HAS_DENORM__ 1
1986// PPC:#define __LDBL_HAS_INFINITY__ 1
1987// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001988// PPC:#define __LDBL_MANT_DIG__ 106
Chris Lattnerbceaf862009-10-29 04:55:36 +00001989// PPC:#define __LDBL_MAX_10_EXP__ 308
1990// PPC:#define __LDBL_MAX_EXP__ 1024
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001991// PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1992// PPC:#define __LDBL_MIN_10_EXP__ (-291)
1993// PPC:#define __LDBL_MIN_EXP__ (-968)
1994// PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001995// PPC:#define __LONG_DOUBLE_128__ 1
1996// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
1997// PPC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001998// PPC-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +00001999// PPC:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00002000// PPC:#define __POINTER_WIDTH__ 32
2001// PPC:#define __POWERPC__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00002002// PPC:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00002003// PPC:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002004// PPC:#define __REGISTER_PREFIX__
2005// PPC:#define __SCHAR_MAX__ 127
2006// PPC:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00002007// PPC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00002008// PPC:#define __SIZEOF_DOUBLE__ 8
2009// PPC:#define __SIZEOF_FLOAT__ 4
2010// PPC:#define __SIZEOF_INT__ 4
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002011// PPC:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohmancfeac342010-05-28 00:27:15 +00002012// PPC:#define __SIZEOF_LONG_LONG__ 8
2013// PPC:#define __SIZEOF_LONG__ 4
2014// PPC:#define __SIZEOF_POINTER__ 4
2015// PPC:#define __SIZEOF_PTRDIFF_T__ 4
2016// PPC:#define __SIZEOF_SHORT__ 2
2017// PPC:#define __SIZEOF_SIZE_T__ 4
2018// PPC:#define __SIZEOF_WCHAR_T__ 4
2019// PPC:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +00002020// PPC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00002021// PPC:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00002022// PPC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002023// PPC:#define __USER_LABEL_PREFIX__ _
2024// PPC:#define __WCHAR_MAX__ 2147483647
2025// PPC:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00002026// PPC:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002027// PPC:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00002028// PPC:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002029// PPC:#define __ppc__ 1
2030//
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002031// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
2032//
2033// PPC-LINUX:#define _ARCH_PPC 1
2034// PPC-LINUX:#define _BIG_ENDIAN 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002035// PPC-LINUX-NOT:#define _LP64
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002036// PPC-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002037// PPC-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002038// PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
2039// PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
2040// PPC-LINUX:#define __CHAR_BIT__ 8
2041// PPC-LINUX:#define __CHAR_UNSIGNED__ 1
2042// PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2043// PPC-LINUX:#define __DBL_DIG__ 15
2044// PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2045// PPC-LINUX:#define __DBL_HAS_DENORM__ 1
2046// PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
2047// PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2048// PPC-LINUX:#define __DBL_MANT_DIG__ 53
2049// PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
2050// PPC-LINUX:#define __DBL_MAX_EXP__ 1024
2051// PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2052// PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2053// PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
2054// PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2055// PPC-LINUX:#define __DECIMAL_DIG__ 33
2056// PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2057// PPC-LINUX:#define __FLT_DIG__ 6
2058// PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2059// PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
2060// PPC-LINUX:#define __FLT_HAS_DENORM__ 1
2061// PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
2062// PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2063// PPC-LINUX:#define __FLT_MANT_DIG__ 24
2064// PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
2065// PPC-LINUX:#define __FLT_MAX_EXP__ 128
2066// PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2067// PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2068// PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
2069// PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2070// PPC-LINUX:#define __FLT_RADIX__ 2
2071// PPC-LINUX:#define __INT16_TYPE__ short
2072// PPC-LINUX:#define __INT32_TYPE__ int
2073// PPC-LINUX:#define __INT64_C_SUFFIX__ LL
2074// PPC-LINUX:#define __INT64_TYPE__ long long int
2075// PPC-LINUX:#define __INT8_TYPE__ char
2076// PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
2077// PPC-LINUX:#define __INTMAX_TYPE__ long long int
2078// PPC-LINUX:#define __INTMAX_WIDTH__ 64
Hal Finkel178a9b82012-03-02 20:54:36 +00002079// PPC-LINUX:#define __INTPTR_TYPE__ int
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002080// PPC-LINUX:#define __INTPTR_WIDTH__ 32
2081// PPC-LINUX:#define __INT_MAX__ 2147483647
2082// PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2083// PPC-LINUX:#define __LDBL_DIG__ 31
2084// PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2085// PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
2086// PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
2087// PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2088// PPC-LINUX:#define __LDBL_MANT_DIG__ 106
2089// PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
2090// PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
2091// PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2092// PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2093// PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
2094// PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2095// PPC-LINUX:#define __LONG_DOUBLE_128__ 1
2096// PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2097// PPC-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002098// PPC-LINUX-NOT:#define __LP64__
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002099// PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002100// PPC-LINUX:#define __POINTER_WIDTH__ 32
2101// PPC-LINUX:#define __POWERPC__ 1
Hal Finkel178a9b82012-03-02 20:54:36 +00002102// PPC-LINUX:#define __PTRDIFF_TYPE__ int
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002103// PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
2104// PPC-LINUX:#define __REGISTER_PREFIX__
2105// PPC-LINUX:#define __SCHAR_MAX__ 127
2106// PPC-LINUX:#define __SHRT_MAX__ 32767
2107// PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2108// PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
2109// PPC-LINUX:#define __SIZEOF_FLOAT__ 4
2110// PPC-LINUX:#define __SIZEOF_INT__ 4
2111// PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2112// PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
2113// PPC-LINUX:#define __SIZEOF_LONG__ 4
2114// PPC-LINUX:#define __SIZEOF_POINTER__ 4
2115// PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
2116// PPC-LINUX:#define __SIZEOF_SHORT__ 2
2117// PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
2118// PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
2119// PPC-LINUX:#define __SIZEOF_WINT_T__ 4
2120// PPC-LINUX:#define __SIZE_TYPE__ unsigned int
2121// PPC-LINUX:#define __SIZE_WIDTH__ 32
2122// PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
2123// PPC-LINUX:#define __USER_LABEL_PREFIX__
2124// PPC-LINUX:#define __WCHAR_MAX__ 2147483647
2125// PPC-LINUX:#define __WCHAR_TYPE__ int
2126// PPC-LINUX:#define __WCHAR_WIDTH__ 32
2127// PPC-LINUX:#define __WINT_TYPE__ unsigned int
2128// PPC-LINUX:#define __WINT_UNSIGNED__ 1
2129// PPC-LINUX:#define __WINT_WIDTH__ 32
2130// PPC-LINUX:#define __powerpc__ 1
2131// PPC-LINUX:#define __ppc__ 1
2132//
Daniel Dunbara5728872009-12-15 20:14:24 +00002133// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00002134//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002135// SPARC-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002136// SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00002137// SPARC:#define __CHAR16_TYPE__ unsigned short
2138// SPARC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002139// SPARC:#define __CHAR_BIT__ 8
2140// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2141// SPARC:#define __DBL_DIG__ 15
2142// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2143// SPARC:#define __DBL_HAS_DENORM__ 1
2144// SPARC:#define __DBL_HAS_INFINITY__ 1
2145// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
2146// SPARC:#define __DBL_MANT_DIG__ 53
2147// SPARC:#define __DBL_MAX_10_EXP__ 308
2148// SPARC:#define __DBL_MAX_EXP__ 1024
2149// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
2150// SPARC:#define __DBL_MIN_10_EXP__ (-307)
2151// SPARC:#define __DBL_MIN_EXP__ (-1021)
2152// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
2153// SPARC:#define __DECIMAL_DIG__ 17
2154// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2155// SPARC:#define __FLT_DIG__ 6
2156// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
2157// SPARC:#define __FLT_EVAL_METHOD__ 0
2158// SPARC:#define __FLT_HAS_DENORM__ 1
2159// SPARC:#define __FLT_HAS_INFINITY__ 1
2160// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
2161// SPARC:#define __FLT_MANT_DIG__ 24
2162// SPARC:#define __FLT_MAX_10_EXP__ 38
2163// SPARC:#define __FLT_MAX_EXP__ 128
2164// SPARC:#define __FLT_MAX__ 3.40282347e+38F
2165// SPARC:#define __FLT_MIN_10_EXP__ (-37)
2166// SPARC:#define __FLT_MIN_EXP__ (-125)
2167// SPARC:#define __FLT_MIN__ 1.17549435e-38F
2168// SPARC:#define __FLT_RADIX__ 2
2169// SPARC:#define __INT16_TYPE__ short
2170// SPARC:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00002171// SPARC:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +00002172// SPARC:#define __INT64_TYPE__ long long int
2173// SPARC:#define __INT8_TYPE__ char
2174// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +00002175// SPARC:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +00002176// SPARC:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00002177// SPARC:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00002178// SPARC:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002179// SPARC:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00002180// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002181// SPARC:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00002182// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002183// SPARC:#define __LDBL_HAS_DENORM__ 1
2184// SPARC:#define __LDBL_HAS_INFINITY__ 1
2185// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
2186// SPARC:#define __LDBL_MANT_DIG__ 53
2187// SPARC:#define __LDBL_MAX_10_EXP__ 308
2188// SPARC:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00002189// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002190// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
2191// SPARC:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00002192// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002193// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2194// SPARC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002195// SPARC-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +00002196// SPARC:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00002197// SPARC:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00002198// SPARC:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbareac7c532009-12-18 18:42:37 +00002199// SPARC:#define __REGISTER_PREFIX__
Chris Lattnerbceaf862009-10-29 04:55:36 +00002200// SPARC:#define __SCHAR_MAX__ 127
2201// SPARC:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00002202// SPARC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00002203// SPARC:#define __SIZEOF_DOUBLE__ 8
2204// SPARC:#define __SIZEOF_FLOAT__ 4
2205// SPARC:#define __SIZEOF_INT__ 4
2206// SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
2207// SPARC:#define __SIZEOF_LONG_LONG__ 8
2208// SPARC:#define __SIZEOF_LONG__ 4
2209// SPARC:#define __SIZEOF_POINTER__ 4
2210// SPARC:#define __SIZEOF_PTRDIFF_T__ 4
2211// SPARC:#define __SIZEOF_SHORT__ 2
2212// SPARC:#define __SIZEOF_SIZE_T__ 4
2213// SPARC:#define __SIZEOF_WCHAR_T__ 4
2214// SPARC:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +00002215// SPARC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00002216// SPARC:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00002217// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002218// SPARC:#define __USER_LABEL_PREFIX__ _
Daniel Dunbarad1a4c62011-03-31 00:53:51 +00002219// SPARC:#define __VERSION__ "4.2.1 Compatible
Chris Lattnerbceaf862009-10-29 04:55:36 +00002220// SPARC:#define __WCHAR_MAX__ 2147483647
2221// SPARC:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00002222// SPARC:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002223// SPARC:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00002224// SPARC:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002225// SPARC:#define __sparc 1
2226// SPARC:#define __sparc__ 1
2227// SPARC:#define __sparcv8 1
2228// SPARC:#define sparc 1
2229//
Daniel Dunbara5728872009-12-15 20:14:24 +00002230// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00002231//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002232// TCE-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002233// TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00002234// TCE:#define __CHAR16_TYPE__ unsigned short
2235// TCE:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002236// TCE:#define __CHAR_BIT__ 8
Eli Friedman75e8efe2012-11-10 00:20:38 +00002237// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45
Chris Lattnerbceaf862009-10-29 04:55:36 +00002238// TCE:#define __DBL_DIG__ 6
Eli Friedman75e8efe2012-11-10 00:20:38 +00002239// TCE:#define __DBL_EPSILON__ 1.19209290e-7
Chris Lattnerbceaf862009-10-29 04:55:36 +00002240// TCE:#define __DBL_HAS_DENORM__ 1
2241// TCE:#define __DBL_HAS_INFINITY__ 1
2242// TCE:#define __DBL_HAS_QUIET_NAN__ 1
2243// TCE:#define __DBL_MANT_DIG__ 24
2244// TCE:#define __DBL_MAX_10_EXP__ 38
2245// TCE:#define __DBL_MAX_EXP__ 128
Eli Friedman75e8efe2012-11-10 00:20:38 +00002246// TCE:#define __DBL_MAX__ 3.40282347e+38
Chris Lattnerbceaf862009-10-29 04:55:36 +00002247// TCE:#define __DBL_MIN_10_EXP__ (-37)
2248// TCE:#define __DBL_MIN_EXP__ (-125)
Eli Friedman75e8efe2012-11-10 00:20:38 +00002249// TCE:#define __DBL_MIN__ 1.17549435e-38
Chris Lattnerbceaf862009-10-29 04:55:36 +00002250// TCE:#define __DECIMAL_DIG__ -1
2251// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2252// TCE:#define __FLT_DIG__ 6
2253// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
2254// TCE:#define __FLT_EVAL_METHOD__ 0
2255// TCE:#define __FLT_HAS_DENORM__ 1
2256// TCE:#define __FLT_HAS_INFINITY__ 1
2257// TCE:#define __FLT_HAS_QUIET_NAN__ 1
2258// TCE:#define __FLT_MANT_DIG__ 24
2259// TCE:#define __FLT_MAX_10_EXP__ 38
2260// TCE:#define __FLT_MAX_EXP__ 128
2261// TCE:#define __FLT_MAX__ 3.40282347e+38F
2262// TCE:#define __FLT_MIN_10_EXP__ (-37)
2263// TCE:#define __FLT_MIN_EXP__ (-125)
2264// TCE:#define __FLT_MIN__ 1.17549435e-38F
2265// TCE:#define __FLT_RADIX__ 2
2266// TCE:#define __INT16_TYPE__ short
2267// TCE:#define __INT32_TYPE__ int
2268// TCE:#define __INT8_TYPE__ char
2269// TCE:#define __INTMAX_MAX__ 2147483647L
Ken Dyck8241d732009-11-19 13:18:59 +00002270// TCE:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00002271// TCE:#define __INTMAX_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00002272// TCE:#define __INTPTR_TYPE__ int
Ken Dyckd896e1a2009-11-18 20:05:48 +00002273// TCE:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002274// TCE:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00002275// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002276// TCE:#define __LDBL_DIG__ 6
Eli Friedman75e8efe2012-11-10 00:20:38 +00002277// TCE:#define __LDBL_EPSILON__ 1.19209290e-7L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002278// TCE:#define __LDBL_HAS_DENORM__ 1
2279// TCE:#define __LDBL_HAS_INFINITY__ 1
2280// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
2281// TCE:#define __LDBL_MANT_DIG__ 24
2282// TCE:#define __LDBL_MAX_10_EXP__ 38
2283// TCE:#define __LDBL_MAX_EXP__ 128
Eli Friedman75e8efe2012-11-10 00:20:38 +00002284// TCE:#define __LDBL_MAX__ 3.40282347e+38L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002285// TCE:#define __LDBL_MIN_10_EXP__ (-37)
2286// TCE:#define __LDBL_MIN_EXP__ (-125)
Eli Friedman75e8efe2012-11-10 00:20:38 +00002287// TCE:#define __LDBL_MIN__ 1.17549435e-38L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002288// TCE:#define __LONG_LONG_MAX__ 2147483647LL
2289// TCE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002290// TCE-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +00002291// TCE:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00002292// TCE:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +00002293// TCE:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002294// TCE:#define __SCHAR_MAX__ 127
2295// TCE:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00002296// TCE:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00002297// TCE:#define __SIZEOF_DOUBLE__ 4
2298// TCE:#define __SIZEOF_FLOAT__ 4
2299// TCE:#define __SIZEOF_INT__ 4
2300// TCE:#define __SIZEOF_LONG_DOUBLE__ 4
2301// TCE:#define __SIZEOF_LONG_LONG__ 4
2302// TCE:#define __SIZEOF_LONG__ 4
2303// TCE:#define __SIZEOF_POINTER__ 4
2304// TCE:#define __SIZEOF_PTRDIFF_T__ 4
2305// TCE:#define __SIZEOF_SHORT__ 2
2306// TCE:#define __SIZEOF_SIZE_T__ 4
2307// TCE:#define __SIZEOF_WCHAR_T__ 4
2308// TCE:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +00002309// TCE:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00002310// TCE:#define __SIZE_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002311// TCE:#define __TCE_V1__ 1
2312// TCE:#define __TCE__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00002313// TCE:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002314// TCE:#define __USER_LABEL_PREFIX__ _
2315// TCE:#define __WCHAR_MAX__ 2147483647
2316// TCE:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00002317// TCE:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002318// TCE:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00002319// TCE:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002320// TCE:#define __tce 1
2321// TCE:#define __tce__ 1
2322// TCE:#define tce 1
2323//
Daniel Dunbara5728872009-12-15 20:14:24 +00002324// 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 +00002325//
2326// X86_64:#define _LP64 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002327// X86_64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00002328// X86_64:#define __CHAR16_TYPE__ unsigned short
2329// X86_64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002330// X86_64:#define __CHAR_BIT__ 8
2331// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2332// X86_64:#define __DBL_DIG__ 15
2333// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
2334// X86_64:#define __DBL_HAS_DENORM__ 1
2335// X86_64:#define __DBL_HAS_INFINITY__ 1
2336// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
2337// X86_64:#define __DBL_MANT_DIG__ 53
2338// X86_64:#define __DBL_MAX_10_EXP__ 308
2339// X86_64:#define __DBL_MAX_EXP__ 1024
2340// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
2341// X86_64:#define __DBL_MIN_10_EXP__ (-307)
2342// X86_64:#define __DBL_MIN_EXP__ (-1021)
2343// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
2344// X86_64:#define __DECIMAL_DIG__ 21
2345// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2346// X86_64:#define __FLT_DIG__ 6
2347// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
2348// X86_64:#define __FLT_EVAL_METHOD__ 0
2349// X86_64:#define __FLT_HAS_DENORM__ 1
2350// X86_64:#define __FLT_HAS_INFINITY__ 1
2351// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
2352// X86_64:#define __FLT_MANT_DIG__ 24
2353// X86_64:#define __FLT_MAX_10_EXP__ 38
2354// X86_64:#define __FLT_MAX_EXP__ 128
2355// X86_64:#define __FLT_MAX__ 3.40282347e+38F
2356// X86_64:#define __FLT_MIN_10_EXP__ (-37)
2357// X86_64:#define __FLT_MIN_EXP__ (-125)
2358// X86_64:#define __FLT_MIN__ 1.17549435e-38F
2359// X86_64:#define __FLT_RADIX__ 2
2360// X86_64:#define __INT16_TYPE__ short
2361// X86_64:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00002362// X86_64:#define __INT64_C_SUFFIX__ L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002363// X86_64:#define __INT64_TYPE__ long int
2364// X86_64:#define __INT8_TYPE__ char
2365// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck8241d732009-11-19 13:18:59 +00002366// X86_64:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00002367// X86_64:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00002368// X86_64:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00002369// X86_64:#define __INTPTR_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00002370// X86_64:#define __INT_MAX__ 2147483647
2371// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
2372// X86_64:#define __LDBL_DIG__ 18
2373// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
2374// X86_64:#define __LDBL_HAS_DENORM__ 1
2375// X86_64:#define __LDBL_HAS_INFINITY__ 1
2376// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
2377// X86_64:#define __LDBL_MANT_DIG__ 64
2378// X86_64:#define __LDBL_MAX_10_EXP__ 4932
2379// X86_64:#define __LDBL_MAX_EXP__ 16384
2380// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
2381// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
2382// X86_64:#define __LDBL_MIN_EXP__ (-16381)
2383// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
2384// X86_64:#define __LITTLE_ENDIAN__ 1
2385// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
2386// X86_64:#define __LONG_MAX__ 9223372036854775807L
2387// X86_64:#define __LP64__ 1
2388// X86_64:#define __MMX__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00002389// X86_64:#define __NO_MATH_INLINES 1
2390// X86_64:#define __POINTER_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00002391// X86_64:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00002392// X86_64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00002393// X86_64:#define __REGISTER_PREFIX__
2394// X86_64:#define __SCHAR_MAX__ 127
2395// X86_64:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00002396// X86_64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00002397// X86_64:#define __SIZEOF_DOUBLE__ 8
2398// X86_64:#define __SIZEOF_FLOAT__ 4
2399// X86_64:#define __SIZEOF_INT__ 4
2400// X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
2401// X86_64:#define __SIZEOF_LONG_LONG__ 8
2402// X86_64:#define __SIZEOF_LONG__ 8
2403// X86_64:#define __SIZEOF_POINTER__ 8
2404// X86_64:#define __SIZEOF_PTRDIFF_T__ 8
2405// X86_64:#define __SIZEOF_SHORT__ 2
2406// X86_64:#define __SIZEOF_SIZE_T__ 8
2407// X86_64:#define __SIZEOF_WCHAR_T__ 4
2408// X86_64:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +00002409// X86_64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00002410// X86_64:#define __SIZE_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00002411// X86_64:#define __SSE2_MATH__ 1
2412// X86_64:#define __SSE2__ 1
2413// X86_64:#define __SSE_MATH__ 1
2414// X86_64:#define __SSE__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00002415// X86_64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002416// X86_64:#define __USER_LABEL_PREFIX__ _
2417// X86_64:#define __WCHAR_MAX__ 2147483647
2418// X86_64:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00002419// X86_64:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002420// X86_64:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00002421// X86_64:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002422// X86_64:#define __amd64 1
2423// X86_64:#define __amd64__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00002424// X86_64:#define __x86_64 1
2425// X86_64:#define __x86_64__ 1
2426//
Douglas Gregor12e84642011-01-12 21:19:25 +00002427// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
2428//
2429// X86_64-LINUX:#define _LP64 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002430// X86_64-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregor12e84642011-01-12 21:19:25 +00002431// X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
2432// X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
2433// X86_64-LINUX:#define __CHAR_BIT__ 8
2434// X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2435// X86_64-LINUX:#define __DBL_DIG__ 15
2436// X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2437// X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
2438// X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
2439// X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2440// X86_64-LINUX:#define __DBL_MANT_DIG__ 53
2441// X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
2442// X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
2443// X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2444// X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2445// X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2446// X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2447// X86_64-LINUX:#define __DECIMAL_DIG__ 21
2448// X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2449// X86_64-LINUX:#define __FLT_DIG__ 6
2450// X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2451// X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
2452// X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
2453// X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
2454// X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2455// X86_64-LINUX:#define __FLT_MANT_DIG__ 24
2456// X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
2457// X86_64-LINUX:#define __FLT_MAX_EXP__ 128
2458// X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2459// X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2460// X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
2461// X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2462// X86_64-LINUX:#define __FLT_RADIX__ 2
2463// X86_64-LINUX:#define __INT16_TYPE__ short
2464// X86_64-LINUX:#define __INT32_TYPE__ int
2465// X86_64-LINUX:#define __INT64_C_SUFFIX__ L
2466// X86_64-LINUX:#define __INT64_TYPE__ long int
2467// X86_64-LINUX:#define __INT8_TYPE__ char
2468// X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2469// X86_64-LINUX:#define __INTMAX_TYPE__ long int
2470// X86_64-LINUX:#define __INTMAX_WIDTH__ 64
2471// X86_64-LINUX:#define __INTPTR_TYPE__ long int
2472// X86_64-LINUX:#define __INTPTR_WIDTH__ 64
2473// X86_64-LINUX:#define __INT_MAX__ 2147483647
2474// X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
2475// X86_64-LINUX:#define __LDBL_DIG__ 18
2476// X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
2477// X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
2478// X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2479// X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2480// X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
2481// X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
2482// X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
2483// X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
2484// X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
2485// X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
2486// X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
2487// X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
2488// X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2489// X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2490// X86_64-LINUX:#define __LP64__ 1
2491// X86_64-LINUX:#define __MMX__ 1
Douglas Gregor12e84642011-01-12 21:19:25 +00002492// X86_64-LINUX:#define __NO_MATH_INLINES 1
2493// X86_64-LINUX:#define __POINTER_WIDTH__ 64
2494// X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
2495// X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
2496// X86_64-LINUX:#define __REGISTER_PREFIX__
2497// X86_64-LINUX:#define __SCHAR_MAX__ 127
2498// X86_64-LINUX:#define __SHRT_MAX__ 32767
2499// X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2500// X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
2501// X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
2502// X86_64-LINUX:#define __SIZEOF_INT__ 4
2503// X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2504// X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2505// X86_64-LINUX:#define __SIZEOF_LONG__ 8
2506// X86_64-LINUX:#define __SIZEOF_POINTER__ 8
2507// X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2508// X86_64-LINUX:#define __SIZEOF_SHORT__ 2
2509// X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
2510// X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2511// X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
2512// X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
2513// X86_64-LINUX:#define __SIZE_WIDTH__ 64
2514// X86_64-LINUX:#define __SSE2_MATH__ 1
2515// X86_64-LINUX:#define __SSE2__ 1
2516// X86_64-LINUX:#define __SSE_MATH__ 1
2517// X86_64-LINUX:#define __SSE__ 1
2518// X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2519// X86_64-LINUX:#define __USER_LABEL_PREFIX__
2520// X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
2521// X86_64-LINUX:#define __WCHAR_TYPE__ int
2522// X86_64-LINUX:#define __WCHAR_WIDTH__ 32
2523// X86_64-LINUX:#define __WINT_TYPE__ unsigned int
2524// X86_64-LINUX:#define __WINT_WIDTH__ 32
2525// X86_64-LINUX:#define __amd64 1
2526// X86_64-LINUX:#define __amd64__ 1
Douglas Gregor12e84642011-01-12 21:19:25 +00002527// X86_64-LINUX:#define __x86_64 1
2528// X86_64-LINUX:#define __x86_64__ 1
2529//
David Chisnall11d3f4c2012-07-03 20:49:52 +00002530// 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 +00002531// GNUSOURCE:#define _GNU_SOURCE 1
2532//
Dan Gohmancfeac342010-05-28 00:27:15 +00002533// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
2534// NORTTI: __GXX_ABI_VERSION
2535// NORTTI-NOT:#define __GXX_RTTI
2536// NORTTI: __STDC__
Evgeniy Stepanov32064032012-04-26 12:08:09 +00002537//
2538// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
2539// ANDROID: __ANDROID__ 1