blob: 90b846634648d6aa3fd1c850cff108d38de70e5d [file] [log] [blame]
Daniel Dunbara5728872009-12-15 20:14:24 +00001// RUN: %clang_cc1 -E -dM -x assembler-with-cpp < /dev/null | FileCheck -check-prefix ASM %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00002//
3// ASM:#define __ASSEMBLER__ 1
4//
5//
Daniel Dunbara5728872009-12-15 20:14:24 +00006// RUN: %clang_cc1 -fblocks -E -dM < /dev/null | FileCheck -check-prefix BLOCKS %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00007//
8// BLOCKS:#define __BLOCKS__ 1
9// BLOCKS:#define __block __attribute__((__blocks__(byref)))
10//
11//
Richard Smith4e24f0f2013-01-02 12:01:23 +000012// RUN: %clang_cc1 -x c++ -std=c++11 -E -dM < /dev/null | FileCheck -check-prefix CXX11 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000013//
Richard Smith4e24f0f2013-01-02 12:01:23 +000014// CXX11:#define __GNUG__
15// CXX11:#define __GXX_EXPERIMENTAL_CXX0X__ 1
16// CXX11:#define __GXX_RTTI 1
17// CXX11:#define __GXX_WEAK__ 1
18// CXX11:#define __cplusplus 201103L
19// CXX11:#define __private_extern__ extern
Chris Lattnerbceaf862009-10-29 04:55:36 +000020//
21//
Daniel Dunbara5728872009-12-15 20:14:24 +000022// RUN: %clang_cc1 -x c++ -std=c++98 -E -dM < /dev/null | FileCheck -check-prefix CXX98 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000023//
Chris Lattnerbceaf862009-10-29 04:55:36 +000024// CXX98:#define __GNUG__
Dan Gohmancfeac342010-05-28 00:27:15 +000025// CXX98:#define __GXX_RTTI 1
Chris Lattnerbceaf862009-10-29 04:55:36 +000026// CXX98:#define __GXX_WEAK__ 1
27// CXX98:#define __cplusplus 199711L
28// CXX98:#define __private_extern__ extern
29//
30//
Chandler Carruthf8c247d2011-04-23 19:48:40 +000031// RUN: %clang_cc1 -fdeprecated-macro -E -dM < /dev/null | FileCheck -check-prefix DEPRECATED %s
32//
33// DEPRECATED:#define __DEPRECATED 1
34//
35//
Daniel Dunbara5728872009-12-15 20:14:24 +000036// RUN: %clang_cc1 -std=c99 -E -dM < /dev/null | FileCheck -check-prefix C99 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000037//
38// C99:#define __STDC_VERSION__ 199901L
39// C99:#define __STRICT_ANSI__ 1
40//
41//
Daniel Dunbara5728872009-12-15 20:14:24 +000042// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix COMMON %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000043//
44// COMMON:#define __CONSTANT_CFSTRINGS__ 1
45// COMMON:#define __FINITE_MATH_ONLY__ 0
46// COMMON:#define __GNUC_MINOR__
47// COMMON:#define __GNUC_PATCHLEVEL__
48// COMMON:#define __GNUC_STDC_INLINE__ 1
49// COMMON:#define __GNUC__
50// COMMON:#define __GXX_ABI_VERSION
Dylan Noblesmith3b198a92012-07-27 18:34:31 +000051// COMMON:#define __ORDER_BIG_ENDIAN__ 4321
52// COMMON:#define __ORDER_LITTLE_ENDIAN__ 1234
53// COMMON:#define __ORDER_PDP_ENDIAN__ 3412
Chris Lattnerbceaf862009-10-29 04:55:36 +000054// COMMON:#define __STDC_HOSTED__ 1
55// COMMON:#define __STDC_VERSION__
56// COMMON:#define __STDC__ 1
57// COMMON:#define __VERSION__
58// COMMON:#define __clang__ 1
Daniel Dunbarc4b8e922010-06-25 23:34:47 +000059// COMMON:#define __clang_major__ {{[0-9]+}}
60// COMMON:#define __clang_minor__ {{[0-9]+}}
61// COMMON:#define __clang_patchlevel__ {{[0-9]+}}
Douglas Gregorcf00ac82010-04-30 03:07:23 +000062// COMMON:#define __clang_version__
Chris Lattnerbceaf862009-10-29 04:55:36 +000063// COMMON:#define __llvm__ 1
64//
65//
Daniel Dunbara5728872009-12-15 20:14:24 +000066// RUN: %clang_cc1 -ffreestanding -E -dM < /dev/null | FileCheck -check-prefix FREESTANDING %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000067// FREESTANDING:#define __STDC_HOSTED__ 0
Richard Smith05134482012-05-03 22:18:20 +000068//
69//
70// RUN: %clang_cc1 -x c++ -std=gnu++11 -E -dM < /dev/null | FileCheck -check-prefix GXX11 %s
71//
72// GXX11:#define __GNUG__
73// GXX11:#define __GXX_WEAK__ 1
74// GXX11:#define __cplusplus 201103L
75// GXX11:#define __private_extern__ extern
76//
77//
Daniel Dunbara5728872009-12-15 20:14:24 +000078// RUN: %clang_cc1 -x c++ -std=gnu++98 -E -dM < /dev/null | FileCheck -check-prefix GXX98 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000079//
Chris Lattnerbceaf862009-10-29 04:55:36 +000080// GXX98:#define __GNUG__
81// GXX98:#define __GXX_WEAK__ 1
Richard Smith05134482012-05-03 22:18:20 +000082// GXX98:#define __cplusplus 199711L
Chris Lattnerbceaf862009-10-29 04:55:36 +000083// GXX98:#define __private_extern__ extern
84//
85//
Daniel Dunbara5728872009-12-15 20:14:24 +000086// RUN: %clang_cc1 -std=iso9899:199409 -E -dM < /dev/null | FileCheck -check-prefix C94 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000087//
88// C94:#define __STDC_VERSION__ 199409L
89//
90//
David Chisnall11d3f4c2012-07-03 20:49:52 +000091// RUN: %clang_cc1 -fms-extensions -triple i686-pc-win32 -fobjc-runtime=gcc -E -dM < /dev/null | FileCheck -check-prefix MSEXT %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000092//
93// MSEXT-NOT:#define __STDC__
Douglas Gregor72283802010-08-06 12:37:52 +000094// MSEXT:#define _INTEGRAL_MAX_BITS 64
Chris Lattnerbceaf862009-10-29 04:55:36 +000095//
96//
Daniel Dunbara5728872009-12-15 20:14:24 +000097// RUN: %clang_cc1 -x objective-c -E -dM < /dev/null | FileCheck -check-prefix OBJC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000098//
99// OBJC:#define OBJC_NEW_PROPERTIES 1
Daniel Dunbarc5a97ec2009-11-17 07:07:28 +0000100// OBJC:#define __NEXT_RUNTIME__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +0000101// OBJC:#define __OBJC__ 1
102//
Daniel Dunbarc5a97ec2009-11-17 07:07:28 +0000103//
Daniel Dunbara5728872009-12-15 20:14:24 +0000104// RUN: %clang_cc1 -x objective-c -fobjc-gc -E -dM < /dev/null | FileCheck -check-prefix OBJCGC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000105//
106// OBJCGC:#define __OBJC_GC__ 1
107//
108//
John McCalld1e40d52011-10-02 01:16:38 +0000109// RUN: %clang_cc1 -x objective-c -fobjc-exceptions -E -dM < /dev/null | FileCheck -check-prefix NONFRAGILE %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000110//
111// NONFRAGILE:#define OBJC_ZEROCOST_EXCEPTIONS 1
112// NONFRAGILE:#define __OBJC2__ 1
113//
Dylan Noblesmithf23e8d22012-08-08 16:09:15 +0000114//
115// RUN: %clang_cc1 -O0 -E -dM < /dev/null | FileCheck -check-prefix O0 %s
116//
117// O0:#define __NO_INLINE__ 1
118// O0-NOT:#define __OPTIMIZE_SIZE__
119// O0-NOT:#define __OPTIMIZE__
120//
121//
122// RUN: %clang_cc1 -fno-inline -O3 -E -dM < /dev/null | FileCheck -check-prefix NO_INLINE %s
123//
124// NO_INLINE:#define __NO_INLINE__ 1
125// NO_INLINE-NOT:#define __OPTIMIZE_SIZE__
126// NO_INLINE:#define __OPTIMIZE__
127//
128//
Daniel Dunbara5728872009-12-15 20:14:24 +0000129// RUN: %clang_cc1 -O1 -E -dM < /dev/null | FileCheck -check-prefix O1 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000130//
Dylan Noblesmithf23e8d22012-08-08 16:09:15 +0000131// O1-NOT:#define __OPTIMIZE_SIZE__
Chris Lattnerbceaf862009-10-29 04:55:36 +0000132// O1:#define __OPTIMIZE__ 1
133//
Dylan Noblesmithf23e8d22012-08-08 16:09:15 +0000134//
135// RUN: %clang_cc1 -Os -E -dM < /dev/null | FileCheck -check-prefix Os %s
136//
137// Os:#define __OPTIMIZE_SIZE__ 1
138// Os:#define __OPTIMIZE__ 1
139//
140//
141// RUN: %clang_cc1 -Oz -E -dM < /dev/null | FileCheck -check-prefix Oz %s
142//
143// Oz:#define __OPTIMIZE_SIZE__ 1
144// Oz:#define __OPTIMIZE__ 1
145//
146//
Daniel Dunbara5728872009-12-15 20:14:24 +0000147// RUN: %clang_cc1 -fpascal-strings -E -dM < /dev/null | FileCheck -check-prefix PASCAL %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000148//
149// PASCAL:#define __PASCAL_STRINGS__ 1
150//
151//
Daniel Dunbara5728872009-12-15 20:14:24 +0000152// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix SCHAR %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000153//
154// SCHAR:#define __STDC__ 1
155// SCHAR-NOT:#define __UNSIGNED_CHAR__
156// SCHAR:#define __clang__ 1
157//
Eli Friedman1d832432010-08-03 17:34:19 +0000158// RUN: %clang_cc1 -E -dM -fshort-wchar < /dev/null | FileCheck -check-prefix SHORTWCHAR %s
159//
160// SHORTWCHAR: #define __SIZEOF_WCHAR_T__ 2
161// SHORTWCHAR: #define __WCHAR_MAX__ 65535U
162// SHORTWCHAR: #define __WCHAR_TYPE__ unsigned short
163// SHORTWCHAR: #define __WCHAR_WIDTH__ 16
164//
Daniel Dunbara5728872009-12-15 20:14:24 +0000165// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000166//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000167// ARM-NOT:#define _LP64
Chris Lattnerbceaf862009-10-29 04:55:36 +0000168// ARM:#define __APCS_32__ 1
169// ARM:#define __ARMEL__ 1
Daniel Dunbareac7c532009-12-18 18:42:37 +0000170// ARM:#define __ARM_ARCH_6J__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000171// ARM:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +0000172// ARM:#define __CHAR16_TYPE__ unsigned short
173// ARM:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000174// ARM:#define __CHAR_BIT__ 8
175// ARM:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
176// ARM:#define __DBL_DIG__ 15
177// ARM:#define __DBL_EPSILON__ 2.2204460492503131e-16
178// ARM:#define __DBL_HAS_DENORM__ 1
179// ARM:#define __DBL_HAS_INFINITY__ 1
180// ARM:#define __DBL_HAS_QUIET_NAN__ 1
181// ARM:#define __DBL_MANT_DIG__ 53
182// ARM:#define __DBL_MAX_10_EXP__ 308
183// ARM:#define __DBL_MAX_EXP__ 1024
184// ARM:#define __DBL_MAX__ 1.7976931348623157e+308
185// ARM:#define __DBL_MIN_10_EXP__ (-307)
186// ARM:#define __DBL_MIN_EXP__ (-1021)
187// ARM:#define __DBL_MIN__ 2.2250738585072014e-308
188// ARM:#define __DECIMAL_DIG__ 17
189// ARM:#define __FLT_DENORM_MIN__ 1.40129846e-45F
190// ARM:#define __FLT_DIG__ 6
191// ARM:#define __FLT_EPSILON__ 1.19209290e-7F
192// ARM:#define __FLT_EVAL_METHOD__ 0
193// ARM:#define __FLT_HAS_DENORM__ 1
194// ARM:#define __FLT_HAS_INFINITY__ 1
195// ARM:#define __FLT_HAS_QUIET_NAN__ 1
196// ARM:#define __FLT_MANT_DIG__ 24
197// ARM:#define __FLT_MAX_10_EXP__ 38
198// ARM:#define __FLT_MAX_EXP__ 128
199// ARM:#define __FLT_MAX__ 3.40282347e+38F
200// ARM:#define __FLT_MIN_10_EXP__ (-37)
201// ARM:#define __FLT_MIN_EXP__ (-125)
202// ARM:#define __FLT_MIN__ 1.17549435e-38F
203// ARM:#define __FLT_RADIX__ 2
204// ARM:#define __INT16_TYPE__ short
205// ARM:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000206// ARM:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000207// ARM:#define __INT64_TYPE__ long long int
208// ARM:#define __INT8_TYPE__ char
209// ARM:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +0000210// ARM:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +0000211// ARM:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000212// ARM:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000213// ARM:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000214// ARM:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +0000215// ARM:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +0000216// ARM:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +0000217// ARM:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnerbceaf862009-10-29 04:55:36 +0000218// ARM:#define __LDBL_HAS_DENORM__ 1
219// ARM:#define __LDBL_HAS_INFINITY__ 1
220// ARM:#define __LDBL_HAS_QUIET_NAN__ 1
221// ARM:#define __LDBL_MANT_DIG__ 53
222// ARM:#define __LDBL_MAX_10_EXP__ 308
223// ARM:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +0000224// ARM:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnerbceaf862009-10-29 04:55:36 +0000225// ARM:#define __LDBL_MIN_10_EXP__ (-307)
226// ARM:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +0000227// ARM:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnerbceaf862009-10-29 04:55:36 +0000228// ARM:#define __LITTLE_ENDIAN__ 1
229// ARM:#define __LONG_LONG_MAX__ 9223372036854775807LL
230// ARM:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000231// ARM-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +0000232// ARM:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000233// ARM:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +0000234// ARM:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbareac7c532009-12-18 18:42:37 +0000235// ARM:#define __REGISTER_PREFIX__
Chris Lattnerbceaf862009-10-29 04:55:36 +0000236// ARM:#define __SCHAR_MAX__ 127
237// ARM:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000238// ARM:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000239// ARM:#define __SIZEOF_DOUBLE__ 8
240// ARM:#define __SIZEOF_FLOAT__ 4
241// ARM:#define __SIZEOF_INT__ 4
242// ARM:#define __SIZEOF_LONG_DOUBLE__ 8
243// ARM:#define __SIZEOF_LONG_LONG__ 8
244// ARM:#define __SIZEOF_LONG__ 4
245// ARM:#define __SIZEOF_POINTER__ 4
246// ARM:#define __SIZEOF_PTRDIFF_T__ 4
247// ARM:#define __SIZEOF_SHORT__ 2
248// ARM:#define __SIZEOF_SIZE_T__ 4
249// ARM:#define __SIZEOF_WCHAR_T__ 4
250// ARM:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000251// ARM:#define __SIZE_MAX__ 4294967295U
Chris Lattnerbceaf862009-10-29 04:55:36 +0000252// ARM:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000253// ARM:#define __SIZE_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000254// ARM:#define __THUMB_INTERWORK__ 1
Ken Dyck8241d732009-11-19 13:18:59 +0000255// ARM:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000256// ARM:#define __USER_LABEL_PREFIX__ _
James Molloya6d81f92011-11-23 13:35:08 +0000257// ARM:#define __WCHAR_MAX__ 4294967295U
258// ARM:#define __WCHAR_TYPE__ unsigned int
Ken Dyck63e65612009-11-19 15:47:58 +0000259// ARM:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000260// ARM:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000261// ARM:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000262// ARM:#define __arm 1
263// ARM:#define __arm__ 1
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000264
265// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-linux-gnueabi -target-feature +soft-float -target-feature +soft-float-abi < /dev/null | FileCheck -check-prefix ARMEABISOFTFP %s
266//
267// ARM-NOT:#define _LP64
268// ARMEABISOFTFP:#define __APCS_32__ 1
269// ARMEABISOFTFP:#define __ARMEL__ 1
270// ARMEABISOFTFP:#define __ARM_ARCH 6
271// ARMEABISOFTFP:#define __ARM_ARCH_6J__ 1
272// ARMEABISOFTFP:#define __ARM_EABI__ 1
273// ARMEABISOFTFP:#define __ARM_PCS 1
274// ARMEABISOFTFP-NOT:#define __ARM_PCS_VFP 1
275// ARMEABISOFTFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
276// ARMEABISOFTFP:#define __CHAR16_TYPE__ unsigned short
277// ARMEABISOFTFP:#define __CHAR32_TYPE__ unsigned int
278// ARMEABISOFTFP:#define __CHAR_BIT__ 8
279// ARMEABISOFTFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
280// ARMEABISOFTFP:#define __DBL_DIG__ 15
281// ARMEABISOFTFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
282// ARMEABISOFTFP:#define __DBL_HAS_DENORM__ 1
283// ARMEABISOFTFP:#define __DBL_HAS_INFINITY__ 1
284// ARMEABISOFTFP:#define __DBL_HAS_QUIET_NAN__ 1
285// ARMEABISOFTFP:#define __DBL_MANT_DIG__ 53
286// ARMEABISOFTFP:#define __DBL_MAX_10_EXP__ 308
287// ARMEABISOFTFP:#define __DBL_MAX_EXP__ 1024
288// ARMEABISOFTFP:#define __DBL_MAX__ 1.7976931348623157e+308
289// ARMEABISOFTFP:#define __DBL_MIN_10_EXP__ (-307)
290// ARMEABISOFTFP:#define __DBL_MIN_EXP__ (-1021)
291// ARMEABISOFTFP:#define __DBL_MIN__ 2.2250738585072014e-308
292// ARMEABISOFTFP:#define __DECIMAL_DIG__ 17
293// ARMEABISOFTFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
294// ARMEABISOFTFP:#define __FLT_DIG__ 6
295// ARMEABISOFTFP:#define __FLT_EPSILON__ 1.19209290e-7F
296// ARMEABISOFTFP:#define __FLT_EVAL_METHOD__ 0
297// ARMEABISOFTFP:#define __FLT_HAS_DENORM__ 1
298// ARMEABISOFTFP:#define __FLT_HAS_INFINITY__ 1
299// ARMEABISOFTFP:#define __FLT_HAS_QUIET_NAN__ 1
300// ARMEABISOFTFP:#define __FLT_MANT_DIG__ 24
301// ARMEABISOFTFP:#define __FLT_MAX_10_EXP__ 38
302// ARMEABISOFTFP:#define __FLT_MAX_EXP__ 128
303// ARMEABISOFTFP:#define __FLT_MAX__ 3.40282347e+38F
304// ARMEABISOFTFP:#define __FLT_MIN_10_EXP__ (-37)
305// ARMEABISOFTFP:#define __FLT_MIN_EXP__ (-125)
306// ARMEABISOFTFP:#define __FLT_MIN__ 1.17549435e-38F
307// ARMEABISOFTFP:#define __FLT_RADIX__ 2
308// ARMEABISOFTFP:#define __INT16_TYPE__ short
309// ARMEABISOFTFP:#define __INT32_TYPE__ int
310// ARMEABISOFTFP:#define __INT64_C_SUFFIX__ LL
311// ARMEABISOFTFP:#define __INT64_TYPE__ long long int
312// ARMEABISOFTFP:#define __INT8_TYPE__ char
313// ARMEABISOFTFP:#define __INTMAX_MAX__ 9223372036854775807LL
314// ARMEABISOFTFP:#define __INTMAX_TYPE__ long long int
315// ARMEABISOFTFP:#define __INTMAX_WIDTH__ 64
316// ARMEABISOFTFP:#define __INTPTR_TYPE__ long int
317// ARMEABISOFTFP:#define __INTPTR_WIDTH__ 32
318// ARMEABISOFTFP:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +0000319// ARMEABISOFTFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000320// ARMEABISOFTFP:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +0000321// ARMEABISOFTFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000322// ARMEABISOFTFP:#define __LDBL_HAS_DENORM__ 1
323// ARMEABISOFTFP:#define __LDBL_HAS_INFINITY__ 1
324// ARMEABISOFTFP:#define __LDBL_HAS_QUIET_NAN__ 1
325// ARMEABISOFTFP:#define __LDBL_MANT_DIG__ 53
326// ARMEABISOFTFP:#define __LDBL_MAX_10_EXP__ 308
327// ARMEABISOFTFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +0000328// ARMEABISOFTFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000329// ARMEABISOFTFP:#define __LDBL_MIN_10_EXP__ (-307)
330// ARMEABISOFTFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +0000331// ARMEABISOFTFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000332// ARMEABISOFTFP:#define __LITTLE_ENDIAN__ 1
333// ARMEABISOFTFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
334// ARMEABISOFTFP:#define __LONG_MAX__ 2147483647L
335// ARMEABISOFTFP-NOT:#define __LP64__
336// ARMEABISOFTFP:#define __POINTER_WIDTH__ 32
337// ARMEABISOFTFP:#define __PTRDIFF_TYPE__ int
338// ARMEABISOFTFP:#define __PTRDIFF_WIDTH__ 32
339// ARMEABISOFTFP:#define __REGISTER_PREFIX__
340// ARMEABISOFTFP:#define __SCHAR_MAX__ 127
341// ARMEABISOFTFP:#define __SHRT_MAX__ 32767
342// ARMEABISOFTFP:#define __SIG_ATOMIC_WIDTH__ 32
343// ARMEABISOFTFP:#define __SIZEOF_DOUBLE__ 8
344// ARMEABISOFTFP:#define __SIZEOF_FLOAT__ 4
345// ARMEABISOFTFP:#define __SIZEOF_INT__ 4
346// ARMEABISOFTFP:#define __SIZEOF_LONG_DOUBLE__ 8
347// ARMEABISOFTFP:#define __SIZEOF_LONG_LONG__ 8
348// ARMEABISOFTFP:#define __SIZEOF_LONG__ 4
349// ARMEABISOFTFP:#define __SIZEOF_POINTER__ 4
350// ARMEABISOFTFP:#define __SIZEOF_PTRDIFF_T__ 4
351// ARMEABISOFTFP:#define __SIZEOF_SHORT__ 2
352// ARMEABISOFTFP:#define __SIZEOF_SIZE_T__ 4
353// ARMEABISOFTFP:#define __SIZEOF_WCHAR_T__ 4
354// ARMEABISOFTFP:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000355// ARMEABISOFTFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000356// ARMEABISOFTFP:#define __SIZE_TYPE__ unsigned int
357// ARMEABISOFTFP:#define __SIZE_WIDTH__ 32
358// ARMEABISOFTFP:#define __SOFTFP__ 1
359// ARMEABISOFTFP:#define __THUMB_INTERWORK__ 1
360// ARMEABISOFTFP:#define __UINTMAX_TYPE__ long long unsigned int
361// ARMEABISOFTFP:#define __USER_LABEL_PREFIX__
362// ARMEABISOFTFP:#define __WCHAR_MAX__ 4294967295U
363// ARMEABISOFTFP:#define __WCHAR_TYPE__ unsigned int
364// ARMEABISOFTFP:#define __WCHAR_WIDTH__ 32
365// ARMEABISOFTFP:#define __WINT_TYPE__ unsigned int
366// ARMEABISOFTFP:#define __WINT_WIDTH__ 32
367// ARMEABISOFTFP:#define __arm 1
368// ARMEABISOFTFP:#define __arm__ 1
369
370// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-linux-gnueabi < /dev/null | FileCheck -check-prefix ARMEABIHARDFP %s
371//
372// ARM-NOT:#define _LP64
373// ARMEABIHARDFP:#define __APCS_32__ 1
374// ARMEABIHARDFP:#define __ARMEL__ 1
375// ARMEABIHARDFP:#define __ARM_ARCH 6
376// ARMEABIHARDFP:#define __ARM_ARCH_6J__ 1
377// ARMEABIHARDFP:#define __ARM_EABI__ 1
378// ARMEABIHARDFP:#define __ARM_PCS 1
379// ARMEABIHARDFP:#define __ARM_PCS_VFP 1
380// ARMEABIHARDFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
381// ARMEABIHARDFP:#define __CHAR16_TYPE__ unsigned short
382// ARMEABIHARDFP:#define __CHAR32_TYPE__ unsigned int
383// ARMEABIHARDFP:#define __CHAR_BIT__ 8
384// ARMEABIHARDFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
385// ARMEABIHARDFP:#define __DBL_DIG__ 15
386// ARMEABIHARDFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
387// ARMEABIHARDFP:#define __DBL_HAS_DENORM__ 1
388// ARMEABIHARDFP:#define __DBL_HAS_INFINITY__ 1
389// ARMEABIHARDFP:#define __DBL_HAS_QUIET_NAN__ 1
390// ARMEABIHARDFP:#define __DBL_MANT_DIG__ 53
391// ARMEABIHARDFP:#define __DBL_MAX_10_EXP__ 308
392// ARMEABIHARDFP:#define __DBL_MAX_EXP__ 1024
393// ARMEABIHARDFP:#define __DBL_MAX__ 1.7976931348623157e+308
394// ARMEABIHARDFP:#define __DBL_MIN_10_EXP__ (-307)
395// ARMEABIHARDFP:#define __DBL_MIN_EXP__ (-1021)
396// ARMEABIHARDFP:#define __DBL_MIN__ 2.2250738585072014e-308
397// ARMEABIHARDFP:#define __DECIMAL_DIG__ 17
398// ARMEABIHARDFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
399// ARMEABIHARDFP:#define __FLT_DIG__ 6
400// ARMEABIHARDFP:#define __FLT_EPSILON__ 1.19209290e-7F
401// ARMEABIHARDFP:#define __FLT_EVAL_METHOD__ 0
402// ARMEABIHARDFP:#define __FLT_HAS_DENORM__ 1
403// ARMEABIHARDFP:#define __FLT_HAS_INFINITY__ 1
404// ARMEABIHARDFP:#define __FLT_HAS_QUIET_NAN__ 1
405// ARMEABIHARDFP:#define __FLT_MANT_DIG__ 24
406// ARMEABIHARDFP:#define __FLT_MAX_10_EXP__ 38
407// ARMEABIHARDFP:#define __FLT_MAX_EXP__ 128
408// ARMEABIHARDFP:#define __FLT_MAX__ 3.40282347e+38F
409// ARMEABIHARDFP:#define __FLT_MIN_10_EXP__ (-37)
410// ARMEABIHARDFP:#define __FLT_MIN_EXP__ (-125)
411// ARMEABIHARDFP:#define __FLT_MIN__ 1.17549435e-38F
412// ARMEABIHARDFP:#define __FLT_RADIX__ 2
413// ARMEABIHARDFP:#define __INT16_TYPE__ short
414// ARMEABIHARDFP:#define __INT32_TYPE__ int
415// ARMEABIHARDFP:#define __INT64_C_SUFFIX__ LL
416// ARMEABIHARDFP:#define __INT64_TYPE__ long long int
417// ARMEABIHARDFP:#define __INT8_TYPE__ char
418// ARMEABIHARDFP:#define __INTMAX_MAX__ 9223372036854775807LL
419// ARMEABIHARDFP:#define __INTMAX_TYPE__ long long int
420// ARMEABIHARDFP:#define __INTMAX_WIDTH__ 64
421// ARMEABIHARDFP:#define __INTPTR_TYPE__ long int
422// ARMEABIHARDFP:#define __INTPTR_WIDTH__ 32
423// ARMEABIHARDFP:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +0000424// ARMEABIHARDFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000425// ARMEABIHARDFP:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +0000426// ARMEABIHARDFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000427// ARMEABIHARDFP:#define __LDBL_HAS_DENORM__ 1
428// ARMEABIHARDFP:#define __LDBL_HAS_INFINITY__ 1
429// ARMEABIHARDFP:#define __LDBL_HAS_QUIET_NAN__ 1
430// ARMEABIHARDFP:#define __LDBL_MANT_DIG__ 53
431// ARMEABIHARDFP:#define __LDBL_MAX_10_EXP__ 308
432// ARMEABIHARDFP:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +0000433// ARMEABIHARDFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000434// ARMEABIHARDFP:#define __LDBL_MIN_10_EXP__ (-307)
435// ARMEABIHARDFP:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +0000436// ARMEABIHARDFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000437// ARMEABIHARDFP:#define __LITTLE_ENDIAN__ 1
438// ARMEABIHARDFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
439// ARMEABIHARDFP:#define __LONG_MAX__ 2147483647L
440// ARMEABIHARDFP-NOT:#define __LP64__
441// ARMEABIHARDFP:#define __POINTER_WIDTH__ 32
442// ARMEABIHARDFP:#define __PTRDIFF_TYPE__ int
443// ARMEABIHARDFP:#define __PTRDIFF_WIDTH__ 32
444// ARMEABIHARDFP:#define __REGISTER_PREFIX__
445// ARMEABIHARDFP:#define __SCHAR_MAX__ 127
446// ARMEABIHARDFP:#define __SHRT_MAX__ 32767
447// ARMEABIHARDFP:#define __SIG_ATOMIC_WIDTH__ 32
448// ARMEABIHARDFP:#define __SIZEOF_DOUBLE__ 8
449// ARMEABIHARDFP:#define __SIZEOF_FLOAT__ 4
450// ARMEABIHARDFP:#define __SIZEOF_INT__ 4
451// ARMEABIHARDFP:#define __SIZEOF_LONG_DOUBLE__ 8
452// ARMEABIHARDFP:#define __SIZEOF_LONG_LONG__ 8
453// ARMEABIHARDFP:#define __SIZEOF_LONG__ 4
454// ARMEABIHARDFP:#define __SIZEOF_POINTER__ 4
455// ARMEABIHARDFP:#define __SIZEOF_PTRDIFF_T__ 4
456// ARMEABIHARDFP:#define __SIZEOF_SHORT__ 2
457// ARMEABIHARDFP:#define __SIZEOF_SIZE_T__ 4
458// ARMEABIHARDFP:#define __SIZEOF_WCHAR_T__ 4
459// ARMEABIHARDFP:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000460// ARMEABIHARDFP:#define __SIZE_MAX__ 4294967295U
Anton Korobeynikov3c7f5382012-09-08 08:45:10 +0000461// ARMEABIHARDFP:#define __SIZE_TYPE__ unsigned int
462// ARMEABIHARDFP:#define __SIZE_WIDTH__ 32
463// ARMEABIHARDFP-NOT:#define __SOFTFP__ 1
464// ARMEABIHARDFP:#define __THUMB_INTERWORK__ 1
465// ARMEABIHARDFP:#define __UINTMAX_TYPE__ long long unsigned int
466// ARMEABIHARDFP:#define __USER_LABEL_PREFIX__
467// ARMEABIHARDFP:#define __WCHAR_MAX__ 4294967295U
468// ARMEABIHARDFP:#define __WCHAR_TYPE__ unsigned int
469// ARMEABIHARDFP:#define __WCHAR_WIDTH__ 32
470// ARMEABIHARDFP:#define __WINT_TYPE__ unsigned int
471// ARMEABIHARDFP:#define __WINT_WIDTH__ 32
472// ARMEABIHARDFP:#define __arm 1
473// ARMEABIHARDFP:#define __arm__ 1
474
Chris Lattnerbceaf862009-10-29 04:55:36 +0000475//
Daniel Dunbara5728872009-12-15 20:14:24 +0000476// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000477//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000478// I386-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000479// I386:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +0000480// I386:#define __CHAR16_TYPE__ unsigned short
481// I386:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000482// I386:#define __CHAR_BIT__ 8
483// I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
484// I386:#define __DBL_DIG__ 15
485// I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
486// I386:#define __DBL_HAS_DENORM__ 1
487// I386:#define __DBL_HAS_INFINITY__ 1
488// I386:#define __DBL_HAS_QUIET_NAN__ 1
489// I386:#define __DBL_MANT_DIG__ 53
490// I386:#define __DBL_MAX_10_EXP__ 308
491// I386:#define __DBL_MAX_EXP__ 1024
492// I386:#define __DBL_MAX__ 1.7976931348623157e+308
493// I386:#define __DBL_MIN_10_EXP__ (-307)
494// I386:#define __DBL_MIN_EXP__ (-1021)
495// I386:#define __DBL_MIN__ 2.2250738585072014e-308
496// I386:#define __DECIMAL_DIG__ 21
497// I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
498// I386:#define __FLT_DIG__ 6
499// I386:#define __FLT_EPSILON__ 1.19209290e-7F
Benjamin Kramerb4066692011-12-28 15:47:06 +0000500// I386:#define __FLT_EVAL_METHOD__ 2
Chris Lattnerbceaf862009-10-29 04:55:36 +0000501// I386:#define __FLT_HAS_DENORM__ 1
502// I386:#define __FLT_HAS_INFINITY__ 1
503// I386:#define __FLT_HAS_QUIET_NAN__ 1
504// I386:#define __FLT_MANT_DIG__ 24
505// I386:#define __FLT_MAX_10_EXP__ 38
506// I386:#define __FLT_MAX_EXP__ 128
507// I386:#define __FLT_MAX__ 3.40282347e+38F
508// I386:#define __FLT_MIN_10_EXP__ (-37)
509// I386:#define __FLT_MIN_EXP__ (-125)
510// I386:#define __FLT_MIN__ 1.17549435e-38F
511// I386:#define __FLT_RADIX__ 2
512// I386:#define __INT16_TYPE__ short
513// I386:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000514// I386:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000515// I386:#define __INT64_TYPE__ long long int
516// I386:#define __INT8_TYPE__ char
517// I386:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +0000518// I386:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +0000519// I386:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000520// I386:#define __INTPTR_TYPE__ int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000521// I386:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000522// I386:#define __INT_MAX__ 2147483647
523// I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
524// I386:#define __LDBL_DIG__ 18
525// I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
526// I386:#define __LDBL_HAS_DENORM__ 1
527// I386:#define __LDBL_HAS_INFINITY__ 1
528// I386:#define __LDBL_HAS_QUIET_NAN__ 1
529// I386:#define __LDBL_MANT_DIG__ 64
530// I386:#define __LDBL_MAX_10_EXP__ 4932
531// I386:#define __LDBL_MAX_EXP__ 16384
532// I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
533// I386:#define __LDBL_MIN_10_EXP__ (-4931)
534// I386:#define __LDBL_MIN_EXP__ (-16381)
535// I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
536// I386:#define __LITTLE_ENDIAN__ 1
537// I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
538// I386:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000539// I386-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +0000540// I386:#define __NO_MATH_INLINES 1
541// I386:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000542// I386:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +0000543// I386:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000544// I386:#define __REGISTER_PREFIX__
545// I386:#define __SCHAR_MAX__ 127
546// I386:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000547// I386:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000548// I386:#define __SIZEOF_DOUBLE__ 8
549// I386:#define __SIZEOF_FLOAT__ 4
550// I386:#define __SIZEOF_INT__ 4
551// I386:#define __SIZEOF_LONG_DOUBLE__ 12
552// I386:#define __SIZEOF_LONG_LONG__ 8
553// I386:#define __SIZEOF_LONG__ 4
554// I386:#define __SIZEOF_POINTER__ 4
555// I386:#define __SIZEOF_PTRDIFF_T__ 4
556// I386:#define __SIZEOF_SHORT__ 2
557// I386:#define __SIZEOF_SIZE_T__ 4
558// I386:#define __SIZEOF_WCHAR_T__ 4
559// I386:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000560// I386:#define __SIZE_MAX__ 4294967295U
Chris Lattnerbceaf862009-10-29 04:55:36 +0000561// I386:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000562// I386:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000563// I386:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000564// I386:#define __USER_LABEL_PREFIX__ _
565// I386:#define __WCHAR_MAX__ 2147483647
566// I386:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +0000567// I386:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000568// I386:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000569// I386:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000570// I386:#define __i386 1
571// I386:#define __i386__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +0000572// I386:#define i386 1
573//
Benjamin Kramerb4066692011-12-28 15:47:06 +0000574// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-pc-linux-gnu -target-cpu pentium4 < /dev/null | FileCheck -check-prefix I386-LINUX %s
Douglas Gregor12e84642011-01-12 21:19:25 +0000575//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000576// I386-LINUX-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000577// I386-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregor12e84642011-01-12 21:19:25 +0000578// I386-LINUX:#define __CHAR16_TYPE__ unsigned short
579// I386-LINUX:#define __CHAR32_TYPE__ unsigned int
580// I386-LINUX:#define __CHAR_BIT__ 8
581// I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
582// I386-LINUX:#define __DBL_DIG__ 15
583// I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
584// I386-LINUX:#define __DBL_HAS_DENORM__ 1
585// I386-LINUX:#define __DBL_HAS_INFINITY__ 1
586// I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
587// I386-LINUX:#define __DBL_MANT_DIG__ 53
588// I386-LINUX:#define __DBL_MAX_10_EXP__ 308
589// I386-LINUX:#define __DBL_MAX_EXP__ 1024
590// I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
591// I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
592// I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
593// I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
594// I386-LINUX:#define __DECIMAL_DIG__ 21
595// I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
596// I386-LINUX:#define __FLT_DIG__ 6
597// I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
598// I386-LINUX:#define __FLT_EVAL_METHOD__ 0
599// I386-LINUX:#define __FLT_HAS_DENORM__ 1
600// I386-LINUX:#define __FLT_HAS_INFINITY__ 1
601// I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
602// I386-LINUX:#define __FLT_MANT_DIG__ 24
603// I386-LINUX:#define __FLT_MAX_10_EXP__ 38
604// I386-LINUX:#define __FLT_MAX_EXP__ 128
605// I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
606// I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
607// I386-LINUX:#define __FLT_MIN_EXP__ (-125)
608// I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
609// I386-LINUX:#define __FLT_RADIX__ 2
610// I386-LINUX:#define __INT16_TYPE__ short
611// I386-LINUX:#define __INT32_TYPE__ int
612// I386-LINUX:#define __INT64_C_SUFFIX__ LL
613// I386-LINUX:#define __INT64_TYPE__ long long int
614// I386-LINUX:#define __INT8_TYPE__ char
615// I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
616// I386-LINUX:#define __INTMAX_TYPE__ long long int
617// I386-LINUX:#define __INTMAX_WIDTH__ 64
618// I386-LINUX:#define __INTPTR_TYPE__ int
619// I386-LINUX:#define __INTPTR_WIDTH__ 32
620// I386-LINUX:#define __INT_MAX__ 2147483647
621// I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
622// I386-LINUX:#define __LDBL_DIG__ 18
623// I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
624// I386-LINUX:#define __LDBL_HAS_DENORM__ 1
625// I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
626// I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
627// I386-LINUX:#define __LDBL_MANT_DIG__ 64
628// I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
629// I386-LINUX:#define __LDBL_MAX_EXP__ 16384
630// I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
631// I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
632// I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
633// I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
634// I386-LINUX:#define __LITTLE_ENDIAN__ 1
635// I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
636// I386-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000637// I386-LINUX-NOT:#define __LP64__
Douglas Gregor12e84642011-01-12 21:19:25 +0000638// I386-LINUX:#define __NO_MATH_INLINES 1
639// I386-LINUX:#define __POINTER_WIDTH__ 32
640// I386-LINUX:#define __PTRDIFF_TYPE__ int
641// I386-LINUX:#define __PTRDIFF_WIDTH__ 32
642// I386-LINUX:#define __REGISTER_PREFIX__
643// I386-LINUX:#define __SCHAR_MAX__ 127
644// I386-LINUX:#define __SHRT_MAX__ 32767
645// I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
646// I386-LINUX:#define __SIZEOF_DOUBLE__ 8
647// I386-LINUX:#define __SIZEOF_FLOAT__ 4
648// I386-LINUX:#define __SIZEOF_INT__ 4
649// I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
650// I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
651// I386-LINUX:#define __SIZEOF_LONG__ 4
652// I386-LINUX:#define __SIZEOF_POINTER__ 4
653// I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
654// I386-LINUX:#define __SIZEOF_SHORT__ 2
655// I386-LINUX:#define __SIZEOF_SIZE_T__ 4
656// I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
657// I386-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000658// I386-LINUX:#define __SIZE_MAX__ 4294967295U
Douglas Gregor12e84642011-01-12 21:19:25 +0000659// I386-LINUX:#define __SIZE_TYPE__ unsigned int
660// I386-LINUX:#define __SIZE_WIDTH__ 32
661// I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
662// I386-LINUX:#define __USER_LABEL_PREFIX__
663// I386-LINUX:#define __WCHAR_MAX__ 2147483647
664// I386-LINUX:#define __WCHAR_TYPE__ int
665// I386-LINUX:#define __WCHAR_WIDTH__ 32
666// I386-LINUX:#define __WINT_TYPE__ unsigned int
667// I386-LINUX:#define __WINT_WIDTH__ 32
668// I386-LINUX:#define __i386 1
669// I386-LINUX:#define __i386__ 1
Douglas Gregor12e84642011-01-12 21:19:25 +0000670// I386-LINUX:#define i386 1
671//
Simon Atanasyan7a521802012-04-06 08:37:24 +0000672// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none < /dev/null | FileCheck -check-prefix MIPS32BE %s
673//
674// MIPS32BE:#define MIPSEB 1
675// MIPS32BE:#define _ABIO32 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000676// MIPS32BE-NOT:#define _LP64
Simon Atanasyan7a521802012-04-06 08:37:24 +0000677// MIPS32BE:#define _MIPSEB 1
Simon Atanasyan260e5062012-08-29 15:17:29 +0000678// MIPS32BE:#define _MIPS_ARCH "mips32"
679// MIPS32BE:#define _MIPS_ARCH_MIPS32 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000680// MIPS32BE:#define _MIPS_SIM _ABIO32
681// MIPS32BE:#define _MIPS_SZINT 32
682// MIPS32BE:#define _MIPS_SZLONG 32
683// MIPS32BE:#define _MIPS_SZPTR 32
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000684// MIPS32BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyan7a521802012-04-06 08:37:24 +0000685// MIPS32BE:#define __CHAR16_TYPE__ unsigned short
686// MIPS32BE:#define __CHAR32_TYPE__ unsigned int
687// MIPS32BE:#define __CHAR_BIT__ 8
688// MIPS32BE:#define __CONSTANT_CFSTRINGS__ 1
689// MIPS32BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
690// MIPS32BE:#define __DBL_DIG__ 15
691// MIPS32BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
692// MIPS32BE:#define __DBL_HAS_DENORM__ 1
693// MIPS32BE:#define __DBL_HAS_INFINITY__ 1
694// MIPS32BE:#define __DBL_HAS_QUIET_NAN__ 1
695// MIPS32BE:#define __DBL_MANT_DIG__ 53
696// MIPS32BE:#define __DBL_MAX_10_EXP__ 308
697// MIPS32BE:#define __DBL_MAX_EXP__ 1024
698// MIPS32BE:#define __DBL_MAX__ 1.7976931348623157e+308
699// MIPS32BE:#define __DBL_MIN_10_EXP__ (-307)
700// MIPS32BE:#define __DBL_MIN_EXP__ (-1021)
701// MIPS32BE:#define __DBL_MIN__ 2.2250738585072014e-308
702// MIPS32BE:#define __DECIMAL_DIG__ 17
703// MIPS32BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
704// MIPS32BE:#define __FLT_DIG__ 6
705// MIPS32BE:#define __FLT_EPSILON__ 1.19209290e-7F
706// MIPS32BE:#define __FLT_EVAL_METHOD__ 0
707// MIPS32BE:#define __FLT_HAS_DENORM__ 1
708// MIPS32BE:#define __FLT_HAS_INFINITY__ 1
709// MIPS32BE:#define __FLT_HAS_QUIET_NAN__ 1
710// MIPS32BE:#define __FLT_MANT_DIG__ 24
711// MIPS32BE:#define __FLT_MAX_10_EXP__ 38
712// MIPS32BE:#define __FLT_MAX_EXP__ 128
713// MIPS32BE:#define __FLT_MAX__ 3.40282347e+38F
714// MIPS32BE:#define __FLT_MIN_10_EXP__ (-37)
715// MIPS32BE:#define __FLT_MIN_EXP__ (-125)
716// MIPS32BE:#define __FLT_MIN__ 1.17549435e-38F
717// MIPS32BE:#define __FLT_RADIX__ 2
718// MIPS32BE:#define __INT16_TYPE__ short
719// MIPS32BE:#define __INT32_TYPE__ int
720// MIPS32BE:#define __INT64_C_SUFFIX__ LL
721// MIPS32BE:#define __INT64_TYPE__ long long int
722// MIPS32BE:#define __INT8_TYPE__ char
723// MIPS32BE:#define __INTMAX_MAX__ 9223372036854775807LL
724// MIPS32BE:#define __INTMAX_TYPE__ long long int
725// MIPS32BE:#define __INTMAX_WIDTH__ 64
726// MIPS32BE:#define __INTPTR_TYPE__ long int
727// MIPS32BE:#define __INTPTR_WIDTH__ 32
728// MIPS32BE:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +0000729// MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000730// MIPS32BE:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +0000731// MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000732// MIPS32BE:#define __LDBL_HAS_DENORM__ 1
733// MIPS32BE:#define __LDBL_HAS_INFINITY__ 1
734// MIPS32BE:#define __LDBL_HAS_QUIET_NAN__ 1
735// MIPS32BE:#define __LDBL_MANT_DIG__ 53
736// MIPS32BE:#define __LDBL_MAX_10_EXP__ 308
737// MIPS32BE:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +0000738// MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000739// MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307)
740// MIPS32BE:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +0000741// MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000742// MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
743// MIPS32BE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000744// MIPS32BE-NOT:#define __LP64__
Simon Atanasyan7a521802012-04-06 08:37:24 +0000745// MIPS32BE:#define __MIPSEB 1
746// MIPS32BE:#define __MIPSEB__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000747// MIPS32BE:#define __POINTER_WIDTH__ 32
748// MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1
749// MIPS32BE:#define __PTRDIFF_TYPE__ int
750// MIPS32BE:#define __PTRDIFF_WIDTH__ 32
751// MIPS32BE:#define __REGISTER_PREFIX__
752// MIPS32BE:#define __SCHAR_MAX__ 127
753// MIPS32BE:#define __SHRT_MAX__ 32767
754// MIPS32BE:#define __SIG_ATOMIC_WIDTH__ 32
755// MIPS32BE:#define __SIZEOF_DOUBLE__ 8
756// MIPS32BE:#define __SIZEOF_FLOAT__ 4
757// MIPS32BE:#define __SIZEOF_INT__ 4
758// MIPS32BE:#define __SIZEOF_LONG_DOUBLE__ 8
759// MIPS32BE:#define __SIZEOF_LONG_LONG__ 8
760// MIPS32BE:#define __SIZEOF_LONG__ 4
761// MIPS32BE:#define __SIZEOF_POINTER__ 4
762// MIPS32BE:#define __SIZEOF_PTRDIFF_T__ 4
763// MIPS32BE:#define __SIZEOF_SHORT__ 2
764// MIPS32BE:#define __SIZEOF_SIZE_T__ 4
765// MIPS32BE:#define __SIZEOF_WCHAR_T__ 4
766// MIPS32BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000767// MIPS32BE:#define __SIZE_MAX__ 4294967295U
Simon Atanasyan7a521802012-04-06 08:37:24 +0000768// MIPS32BE:#define __SIZE_TYPE__ unsigned int
769// MIPS32BE:#define __SIZE_WIDTH__ 32
770// MIPS32BE:#define __STDC_HOSTED__ 0
771// MIPS32BE:#define __STDC_VERSION__ 199901L
772// MIPS32BE:#define __STDC__ 1
773// MIPS32BE:#define __UINTMAX_TYPE__ long long unsigned int
774// MIPS32BE:#define __USER_LABEL_PREFIX__ _
775// MIPS32BE:#define __WCHAR_MAX__ 2147483647
776// MIPS32BE:#define __WCHAR_TYPE__ int
777// MIPS32BE:#define __WCHAR_WIDTH__ 32
778// MIPS32BE:#define __WINT_TYPE__ int
779// MIPS32BE:#define __WINT_WIDTH__ 32
780// MIPS32BE:#define __clang__ 1
781// MIPS32BE:#define __llvm__ 1
782// MIPS32BE:#define __mips 1
783// MIPS32BE:#define __mips__ 1
784// MIPS32BE:#define __mips_hard_float 1
785// MIPS32BE:#define __mips_o32 1
786// MIPS32BE:#define _mips 1
787// MIPS32BE:#define mips 1
788//
789// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -check-prefix MIPS32EL %s
790//
791// MIPS32EL:#define MIPSEL 1
792// MIPS32EL:#define _ABIO32 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000793// MIPS32EL-NOT:#define _LP64
Simon Atanasyan7a521802012-04-06 08:37:24 +0000794// MIPS32EL:#define _MIPSEL 1
Simon Atanasyan260e5062012-08-29 15:17:29 +0000795// MIPS32EL:#define _MIPS_ARCH "mips32"
796// MIPS32EL:#define _MIPS_ARCH_MIPS32 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000797// MIPS32EL:#define _MIPS_SIM _ABIO32
798// MIPS32EL:#define _MIPS_SZINT 32
799// MIPS32EL:#define _MIPS_SZLONG 32
800// MIPS32EL:#define _MIPS_SZPTR 32
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000801// MIPS32EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyan7a521802012-04-06 08:37:24 +0000802// MIPS32EL:#define __CHAR16_TYPE__ unsigned short
803// MIPS32EL:#define __CHAR32_TYPE__ unsigned int
804// MIPS32EL:#define __CHAR_BIT__ 8
805// MIPS32EL:#define __CONSTANT_CFSTRINGS__ 1
806// MIPS32EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
807// MIPS32EL:#define __DBL_DIG__ 15
808// MIPS32EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
809// MIPS32EL:#define __DBL_HAS_DENORM__ 1
810// MIPS32EL:#define __DBL_HAS_INFINITY__ 1
811// MIPS32EL:#define __DBL_HAS_QUIET_NAN__ 1
812// MIPS32EL:#define __DBL_MANT_DIG__ 53
813// MIPS32EL:#define __DBL_MAX_10_EXP__ 308
814// MIPS32EL:#define __DBL_MAX_EXP__ 1024
815// MIPS32EL:#define __DBL_MAX__ 1.7976931348623157e+308
816// MIPS32EL:#define __DBL_MIN_10_EXP__ (-307)
817// MIPS32EL:#define __DBL_MIN_EXP__ (-1021)
818// MIPS32EL:#define __DBL_MIN__ 2.2250738585072014e-308
819// MIPS32EL:#define __DECIMAL_DIG__ 17
820// MIPS32EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
821// MIPS32EL:#define __FLT_DIG__ 6
822// MIPS32EL:#define __FLT_EPSILON__ 1.19209290e-7F
823// MIPS32EL:#define __FLT_EVAL_METHOD__ 0
824// MIPS32EL:#define __FLT_HAS_DENORM__ 1
825// MIPS32EL:#define __FLT_HAS_INFINITY__ 1
826// MIPS32EL:#define __FLT_HAS_QUIET_NAN__ 1
827// MIPS32EL:#define __FLT_MANT_DIG__ 24
828// MIPS32EL:#define __FLT_MAX_10_EXP__ 38
829// MIPS32EL:#define __FLT_MAX_EXP__ 128
830// MIPS32EL:#define __FLT_MAX__ 3.40282347e+38F
831// MIPS32EL:#define __FLT_MIN_10_EXP__ (-37)
832// MIPS32EL:#define __FLT_MIN_EXP__ (-125)
833// MIPS32EL:#define __FLT_MIN__ 1.17549435e-38F
834// MIPS32EL:#define __FLT_RADIX__ 2
835// MIPS32EL:#define __INT16_TYPE__ short
836// MIPS32EL:#define __INT32_TYPE__ int
837// MIPS32EL:#define __INT64_C_SUFFIX__ LL
838// MIPS32EL:#define __INT64_TYPE__ long long int
839// MIPS32EL:#define __INT8_TYPE__ char
840// MIPS32EL:#define __INTMAX_MAX__ 9223372036854775807LL
841// MIPS32EL:#define __INTMAX_TYPE__ long long int
842// MIPS32EL:#define __INTMAX_WIDTH__ 64
843// MIPS32EL:#define __INTPTR_TYPE__ long int
844// MIPS32EL:#define __INTPTR_WIDTH__ 32
845// MIPS32EL:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +0000846// MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000847// MIPS32EL:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +0000848// MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000849// MIPS32EL:#define __LDBL_HAS_DENORM__ 1
850// MIPS32EL:#define __LDBL_HAS_INFINITY__ 1
851// MIPS32EL:#define __LDBL_HAS_QUIET_NAN__ 1
852// MIPS32EL:#define __LDBL_MANT_DIG__ 53
853// MIPS32EL:#define __LDBL_MAX_10_EXP__ 308
854// MIPS32EL:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +0000855// MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000856// MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307)
857// MIPS32EL:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +0000858// MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308L
Simon Atanasyan7a521802012-04-06 08:37:24 +0000859// MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
860// MIPS32EL:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000861// MIPS32EL-NOT:#define __LP64__
Simon Atanasyan7a521802012-04-06 08:37:24 +0000862// MIPS32EL:#define __MIPSEL 1
863// MIPS32EL:#define __MIPSEL__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000864// MIPS32EL:#define __POINTER_WIDTH__ 32
865// MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1
866// MIPS32EL:#define __PTRDIFF_TYPE__ int
867// MIPS32EL:#define __PTRDIFF_WIDTH__ 32
868// MIPS32EL:#define __REGISTER_PREFIX__
869// MIPS32EL:#define __SCHAR_MAX__ 127
870// MIPS32EL:#define __SHRT_MAX__ 32767
871// MIPS32EL:#define __SIG_ATOMIC_WIDTH__ 32
872// MIPS32EL:#define __SIZEOF_DOUBLE__ 8
873// MIPS32EL:#define __SIZEOF_FLOAT__ 4
874// MIPS32EL:#define __SIZEOF_INT__ 4
875// MIPS32EL:#define __SIZEOF_LONG_DOUBLE__ 8
876// MIPS32EL:#define __SIZEOF_LONG_LONG__ 8
877// MIPS32EL:#define __SIZEOF_LONG__ 4
878// MIPS32EL:#define __SIZEOF_POINTER__ 4
879// MIPS32EL:#define __SIZEOF_PTRDIFF_T__ 4
880// MIPS32EL:#define __SIZEOF_SHORT__ 2
881// MIPS32EL:#define __SIZEOF_SIZE_T__ 4
882// MIPS32EL:#define __SIZEOF_WCHAR_T__ 4
883// MIPS32EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000884// MIPS32EL:#define __SIZE_MAX__ 4294967295U
Simon Atanasyan7a521802012-04-06 08:37:24 +0000885// MIPS32EL:#define __SIZE_TYPE__ unsigned int
886// MIPS32EL:#define __SIZE_WIDTH__ 32
887// MIPS32EL:#define __UINTMAX_TYPE__ long long unsigned int
888// MIPS32EL:#define __USER_LABEL_PREFIX__ _
889// MIPS32EL:#define __WCHAR_MAX__ 2147483647
890// MIPS32EL:#define __WCHAR_TYPE__ int
891// MIPS32EL:#define __WCHAR_WIDTH__ 32
892// MIPS32EL:#define __WINT_TYPE__ int
893// MIPS32EL:#define __WINT_WIDTH__ 32
894// MIPS32EL:#define __clang__ 1
895// MIPS32EL:#define __llvm__ 1
896// MIPS32EL:#define __mips 1
897// MIPS32EL:#define __mips__ 1
898// MIPS32EL:#define __mips_hard_float 1
899// MIPS32EL:#define __mips_o32 1
900// MIPS32EL:#define _mips 1
901// MIPS32EL:#define mips 1
902//
903// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -check-prefix MIPS64BE %s
904//
905// MIPS64BE:#define MIPSEB 1
906// MIPS64BE:#define _ABI64 3
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000907// MIPS64BE:#define _LP64 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000908// MIPS64BE:#define _MIPSEB 1
Simon Atanasyan260e5062012-08-29 15:17:29 +0000909// MIPS64BE:#define _MIPS_ARCH "mips64"
910// MIPS64BE:#define _MIPS_ARCH_MIPS64 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000911// MIPS64BE:#define _MIPS_SIM _ABI64
912// MIPS64BE:#define _MIPS_SZINT 32
913// MIPS64BE:#define _MIPS_SZLONG 64
914// MIPS64BE:#define _MIPS_SZPTR 64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000915// MIPS64BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyan7a521802012-04-06 08:37:24 +0000916// MIPS64BE:#define __CHAR16_TYPE__ unsigned short
917// MIPS64BE:#define __CHAR32_TYPE__ unsigned int
918// MIPS64BE:#define __CHAR_BIT__ 8
919// MIPS64BE:#define __CONSTANT_CFSTRINGS__ 1
920// MIPS64BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
921// MIPS64BE:#define __DBL_DIG__ 15
922// MIPS64BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
923// MIPS64BE:#define __DBL_HAS_DENORM__ 1
924// MIPS64BE:#define __DBL_HAS_INFINITY__ 1
925// MIPS64BE:#define __DBL_HAS_QUIET_NAN__ 1
926// MIPS64BE:#define __DBL_MANT_DIG__ 53
927// MIPS64BE:#define __DBL_MAX_10_EXP__ 308
928// MIPS64BE:#define __DBL_MAX_EXP__ 1024
929// MIPS64BE:#define __DBL_MAX__ 1.7976931348623157e+308
930// MIPS64BE:#define __DBL_MIN_10_EXP__ (-307)
931// MIPS64BE:#define __DBL_MIN_EXP__ (-1021)
932// MIPS64BE:#define __DBL_MIN__ 2.2250738585072014e-308
933// MIPS64BE:#define __DECIMAL_DIG__ 36
934// MIPS64BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
935// MIPS64BE:#define __FLT_DIG__ 6
936// MIPS64BE:#define __FLT_EPSILON__ 1.19209290e-7F
937// MIPS64BE:#define __FLT_EVAL_METHOD__ 0
938// MIPS64BE:#define __FLT_HAS_DENORM__ 1
939// MIPS64BE:#define __FLT_HAS_INFINITY__ 1
940// MIPS64BE:#define __FLT_HAS_QUIET_NAN__ 1
941// MIPS64BE:#define __FLT_MANT_DIG__ 24
942// MIPS64BE:#define __FLT_MAX_10_EXP__ 38
943// MIPS64BE:#define __FLT_MAX_EXP__ 128
944// MIPS64BE:#define __FLT_MAX__ 3.40282347e+38F
945// MIPS64BE:#define __FLT_MIN_10_EXP__ (-37)
946// MIPS64BE:#define __FLT_MIN_EXP__ (-125)
947// MIPS64BE:#define __FLT_MIN__ 1.17549435e-38F
948// MIPS64BE:#define __FLT_RADIX__ 2
949// MIPS64BE:#define __INT16_TYPE__ short
950// MIPS64BE:#define __INT32_TYPE__ int
951// MIPS64BE:#define __INT64_C_SUFFIX__ LL
952// MIPS64BE:#define __INT64_TYPE__ long long int
953// MIPS64BE:#define __INT8_TYPE__ char
954// MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807LL
955// MIPS64BE:#define __INTMAX_TYPE__ long long int
956// MIPS64BE:#define __INTMAX_WIDTH__ 64
957// MIPS64BE:#define __INTPTR_TYPE__ long int
958// MIPS64BE:#define __INTPTR_WIDTH__ 64
959// MIPS64BE:#define __INT_MAX__ 2147483647
960// MIPS64BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
961// MIPS64BE:#define __LDBL_DIG__ 33
962// MIPS64BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
963// MIPS64BE:#define __LDBL_HAS_DENORM__ 1
964// MIPS64BE:#define __LDBL_HAS_INFINITY__ 1
965// MIPS64BE:#define __LDBL_HAS_QUIET_NAN__ 1
966// MIPS64BE:#define __LDBL_MANT_DIG__ 113
967// MIPS64BE:#define __LDBL_MAX_10_EXP__ 4932
968// MIPS64BE:#define __LDBL_MAX_EXP__ 16384
969// MIPS64BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
970// MIPS64BE:#define __LDBL_MIN_10_EXP__ (-4931)
971// MIPS64BE:#define __LDBL_MIN_EXP__ (-16381)
972// MIPS64BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
973// MIPS64BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
974// MIPS64BE:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +0000975// MIPS64BE:#define __LP64__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000976// MIPS64BE:#define __MIPSEB 1
977// MIPS64BE:#define __MIPSEB__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +0000978// MIPS64BE:#define __POINTER_WIDTH__ 64
979// MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1
980// MIPS64BE:#define __PTRDIFF_TYPE__ long int
981// MIPS64BE:#define __PTRDIFF_WIDTH__ 64
982// MIPS64BE:#define __REGISTER_PREFIX__
983// MIPS64BE:#define __SCHAR_MAX__ 127
984// MIPS64BE:#define __SHRT_MAX__ 32767
985// MIPS64BE:#define __SIG_ATOMIC_WIDTH__ 32
986// MIPS64BE:#define __SIZEOF_DOUBLE__ 8
987// MIPS64BE:#define __SIZEOF_FLOAT__ 4
988// MIPS64BE:#define __SIZEOF_INT__ 4
989// MIPS64BE:#define __SIZEOF_LONG_DOUBLE__ 16
990// MIPS64BE:#define __SIZEOF_LONG_LONG__ 8
991// MIPS64BE:#define __SIZEOF_LONG__ 8
992// MIPS64BE:#define __SIZEOF_POINTER__ 8
993// MIPS64BE:#define __SIZEOF_PTRDIFF_T__ 8
994// MIPS64BE:#define __SIZEOF_SHORT__ 2
995// MIPS64BE:#define __SIZEOF_SIZE_T__ 8
996// MIPS64BE:#define __SIZEOF_WCHAR_T__ 4
997// MIPS64BE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +0000998// MIPS64BE:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyan7a521802012-04-06 08:37:24 +0000999// MIPS64BE:#define __SIZE_TYPE__ long unsigned int
1000// MIPS64BE:#define __SIZE_WIDTH__ 64
1001// MIPS64BE:#define __UINTMAX_TYPE__ long long unsigned int
1002// MIPS64BE:#define __USER_LABEL_PREFIX__ _
1003// MIPS64BE:#define __WCHAR_MAX__ 2147483647
1004// MIPS64BE:#define __WCHAR_TYPE__ int
1005// MIPS64BE:#define __WCHAR_WIDTH__ 32
1006// MIPS64BE:#define __WINT_TYPE__ int
1007// MIPS64BE:#define __WINT_WIDTH__ 32
1008// MIPS64BE:#define __clang__ 1
1009// MIPS64BE:#define __llvm__ 1
1010// MIPS64BE:#define __mips 1
Simon Atanasyan600a5132012-08-29 20:50:11 +00001011// MIPS64BE:#define __mips64 1
1012// MIPS64BE:#define __mips64__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001013// MIPS64BE:#define __mips__ 1
1014// MIPS64BE:#define __mips_hard_float 1
1015// MIPS64BE:#define __mips_n64 1
1016// MIPS64BE:#define _mips 1
1017// MIPS64BE:#define mips 1
1018//
1019// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -check-prefix MIPS64EL %s
1020//
1021// MIPS64EL:#define MIPSEL 1
1022// MIPS64EL:#define _ABI64 3
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001023// MIPS64EL:#define _LP64 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001024// MIPS64EL:#define _MIPSEL 1
Simon Atanasyan260e5062012-08-29 15:17:29 +00001025// MIPS64EL:#define _MIPS_ARCH "mips64"
1026// MIPS64EL:#define _MIPS_ARCH_MIPS64 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001027// MIPS64EL:#define _MIPS_SIM _ABI64
1028// MIPS64EL:#define _MIPS_SZINT 32
1029// MIPS64EL:#define _MIPS_SZLONG 64
1030// MIPS64EL:#define _MIPS_SZPTR 64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001031// MIPS64EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyan7a521802012-04-06 08:37:24 +00001032// MIPS64EL:#define __CHAR16_TYPE__ unsigned short
1033// MIPS64EL:#define __CHAR32_TYPE__ unsigned int
1034// MIPS64EL:#define __CHAR_BIT__ 8
1035// MIPS64EL:#define __CONSTANT_CFSTRINGS__ 1
1036// MIPS64EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1037// MIPS64EL:#define __DBL_DIG__ 15
1038// MIPS64EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1039// MIPS64EL:#define __DBL_HAS_DENORM__ 1
1040// MIPS64EL:#define __DBL_HAS_INFINITY__ 1
1041// MIPS64EL:#define __DBL_HAS_QUIET_NAN__ 1
1042// MIPS64EL:#define __DBL_MANT_DIG__ 53
1043// MIPS64EL:#define __DBL_MAX_10_EXP__ 308
1044// MIPS64EL:#define __DBL_MAX_EXP__ 1024
1045// MIPS64EL:#define __DBL_MAX__ 1.7976931348623157e+308
1046// MIPS64EL:#define __DBL_MIN_10_EXP__ (-307)
1047// MIPS64EL:#define __DBL_MIN_EXP__ (-1021)
1048// MIPS64EL:#define __DBL_MIN__ 2.2250738585072014e-308
1049// MIPS64EL:#define __DECIMAL_DIG__ 36
1050// MIPS64EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1051// MIPS64EL:#define __FLT_DIG__ 6
1052// MIPS64EL:#define __FLT_EPSILON__ 1.19209290e-7F
1053// MIPS64EL:#define __FLT_EVAL_METHOD__ 0
1054// MIPS64EL:#define __FLT_HAS_DENORM__ 1
1055// MIPS64EL:#define __FLT_HAS_INFINITY__ 1
1056// MIPS64EL:#define __FLT_HAS_QUIET_NAN__ 1
1057// MIPS64EL:#define __FLT_MANT_DIG__ 24
1058// MIPS64EL:#define __FLT_MAX_10_EXP__ 38
1059// MIPS64EL:#define __FLT_MAX_EXP__ 128
1060// MIPS64EL:#define __FLT_MAX__ 3.40282347e+38F
1061// MIPS64EL:#define __FLT_MIN_10_EXP__ (-37)
1062// MIPS64EL:#define __FLT_MIN_EXP__ (-125)
1063// MIPS64EL:#define __FLT_MIN__ 1.17549435e-38F
1064// MIPS64EL:#define __FLT_RADIX__ 2
1065// MIPS64EL:#define __INT16_TYPE__ short
1066// MIPS64EL:#define __INT32_TYPE__ int
1067// MIPS64EL:#define __INT64_C_SUFFIX__ LL
1068// MIPS64EL:#define __INT64_TYPE__ long long int
1069// MIPS64EL:#define __INT8_TYPE__ char
1070// MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807LL
1071// MIPS64EL:#define __INTMAX_TYPE__ long long int
1072// MIPS64EL:#define __INTMAX_WIDTH__ 64
1073// MIPS64EL:#define __INTPTR_TYPE__ long int
1074// MIPS64EL:#define __INTPTR_WIDTH__ 64
1075// MIPS64EL:#define __INT_MAX__ 2147483647
1076// MIPS64EL:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1077// MIPS64EL:#define __LDBL_DIG__ 33
1078// MIPS64EL:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1079// MIPS64EL:#define __LDBL_HAS_DENORM__ 1
1080// MIPS64EL:#define __LDBL_HAS_INFINITY__ 1
1081// MIPS64EL:#define __LDBL_HAS_QUIET_NAN__ 1
1082// MIPS64EL:#define __LDBL_MANT_DIG__ 113
1083// MIPS64EL:#define __LDBL_MAX_10_EXP__ 4932
1084// MIPS64EL:#define __LDBL_MAX_EXP__ 16384
1085// MIPS64EL:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1086// MIPS64EL:#define __LDBL_MIN_10_EXP__ (-4931)
1087// MIPS64EL:#define __LDBL_MIN_EXP__ (-16381)
1088// MIPS64EL:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1089// MIPS64EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1090// MIPS64EL:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001091// MIPS64EL:#define __LP64__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001092// MIPS64EL:#define __MIPSEL 1
1093// MIPS64EL:#define __MIPSEL__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001094// MIPS64EL:#define __POINTER_WIDTH__ 64
1095// MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1096// MIPS64EL:#define __PTRDIFF_TYPE__ long int
1097// MIPS64EL:#define __PTRDIFF_WIDTH__ 64
1098// MIPS64EL:#define __REGISTER_PREFIX__
1099// MIPS64EL:#define __SCHAR_MAX__ 127
1100// MIPS64EL:#define __SHRT_MAX__ 32767
1101// MIPS64EL:#define __SIG_ATOMIC_WIDTH__ 32
1102// MIPS64EL:#define __SIZEOF_DOUBLE__ 8
1103// MIPS64EL:#define __SIZEOF_FLOAT__ 4
1104// MIPS64EL:#define __SIZEOF_INT__ 4
1105// MIPS64EL:#define __SIZEOF_LONG_DOUBLE__ 16
1106// MIPS64EL:#define __SIZEOF_LONG_LONG__ 8
1107// MIPS64EL:#define __SIZEOF_LONG__ 8
1108// MIPS64EL:#define __SIZEOF_POINTER__ 8
1109// MIPS64EL:#define __SIZEOF_PTRDIFF_T__ 8
1110// MIPS64EL:#define __SIZEOF_SHORT__ 2
1111// MIPS64EL:#define __SIZEOF_SIZE_T__ 8
1112// MIPS64EL:#define __SIZEOF_WCHAR_T__ 4
1113// MIPS64EL:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001114// MIPS64EL:#define __SIZE_MAX__ 18446744073709551615UL
Simon Atanasyan7a521802012-04-06 08:37:24 +00001115// MIPS64EL:#define __SIZE_TYPE__ long unsigned int
1116// MIPS64EL:#define __SIZE_WIDTH__ 64
1117// MIPS64EL:#define __UINTMAX_TYPE__ long long unsigned int
1118// MIPS64EL:#define __USER_LABEL_PREFIX__ _
1119// MIPS64EL:#define __WCHAR_MAX__ 2147483647
1120// MIPS64EL:#define __WCHAR_TYPE__ int
1121// MIPS64EL:#define __WCHAR_WIDTH__ 32
1122// MIPS64EL:#define __WINT_TYPE__ int
1123// MIPS64EL:#define __WINT_WIDTH__ 32
1124// MIPS64EL:#define __clang__ 1
1125// MIPS64EL:#define __llvm__ 1
1126// MIPS64EL:#define __mips 1
Simon Atanasyan600a5132012-08-29 20:50:11 +00001127// MIPS64EL:#define __mips64 1
1128// MIPS64EL:#define __mips64__ 1
Simon Atanasyan7a521802012-04-06 08:37:24 +00001129// MIPS64EL:#define __mips__ 1
1130// MIPS64EL:#define __mips_hard_float 1
1131// MIPS64EL:#define __mips_n64 1
1132// MIPS64EL:#define _mips 1
1133// MIPS64EL:#define mips 1
1134//
Simon Atanasyanaba3f0f2012-04-06 17:51:49 +00001135// Check MIPS float ABI macros
1136//
1137// RUN: %clang_cc1 -E -dM -ffreestanding \
1138// RUN: -triple=mips-none-none < /dev/null \
1139// RUN: | FileCheck -check-prefix MIPS-FABI-HARD %s
1140// MIPS-FABI-HARD:#define __mips_hard_float 1
1141//
1142// RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \
1143// RUN: -triple=mips-none-none < /dev/null \
1144// RUN: | FileCheck -check-prefix MIPS-FABI-SOFT %s
1145// MIPS-FABI-SOFT:#define __mips_soft_float 1
1146//
1147// RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \
1148// RUN: -triple=mips-none-none < /dev/null \
1149// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE %s
Simon Atanasyan3dbcc882012-06-05 13:06:56 +00001150// MIPS-FABI-SINGLE:#define __mips_hard_float 1
Simon Atanasyanaba3f0f2012-04-06 17:51:49 +00001151// MIPS-FABI-SINGLE:#define __mips_single_float 1
1152//
Simon Atanasyan1176bcd2012-07-05 16:06:06 +00001153// Check MIPS features macros
1154//
1155// RUN: %clang_cc1 -target-feature +mips16 \
1156// RUN: -E -dM -triple=mips-none-none < /dev/null \
1157// RUN: | FileCheck -check-prefix MIPS16 %s
1158// MIPS16:#define __mips16 1
1159//
1160// RUN: %clang_cc1 -target-feature -mips16 \
1161// RUN: -E -dM -triple=mips-none-none < /dev/null \
1162// RUN: | FileCheck -check-prefix NOMIPS16 %s
1163// NOMIPS16-NOT:#define __mips16 1
1164//
Simon Atanasyana1b62272012-07-05 20:16:22 +00001165// RUN: %clang_cc1 -target-feature +dsp \
1166// RUN: -E -dM -triple=mips-none-none < /dev/null \
1167// RUN: | FileCheck -check-prefix MIPS-DSP %s
1168// MIPS-DSP:#define __mips_dsp 1
1169// MIPS-DSP:#define __mips_dsp_rev 1
1170// MIPS-DSP-NOT:#define __mips_dspr2 1
1171//
1172// RUN: %clang_cc1 -target-feature +dspr2 \
1173// RUN: -E -dM -triple=mips-none-none < /dev/null \
1174// RUN: | FileCheck -check-prefix MIPS-DSPR2 %s
1175// MIPS-DSPR2:#define __mips_dsp 1
1176// MIPS-DSPR2:#define __mips_dsp_rev 2
1177// MIPS-DSPR2:#define __mips_dspr2 1
1178//
Daniel Dunbara5728872009-12-15 20:14:24 +00001179// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00001180//
1181// MSP430:#define MSP430 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001182// MSP430-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001183// MSP430:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00001184// MSP430:#define __CHAR16_TYPE__ unsigned short
1185// MSP430:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001186// MSP430:#define __CHAR_BIT__ 8
1187// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1188// MSP430:#define __DBL_DIG__ 15
1189// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
1190// MSP430:#define __DBL_HAS_DENORM__ 1
1191// MSP430:#define __DBL_HAS_INFINITY__ 1
1192// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
1193// MSP430:#define __DBL_MANT_DIG__ 53
1194// MSP430:#define __DBL_MAX_10_EXP__ 308
1195// MSP430:#define __DBL_MAX_EXP__ 1024
1196// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
1197// MSP430:#define __DBL_MIN_10_EXP__ (-307)
1198// MSP430:#define __DBL_MIN_EXP__ (-1021)
1199// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
1200// MSP430:#define __DECIMAL_DIG__ 17
1201// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1202// MSP430:#define __FLT_DIG__ 6
1203// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
1204// MSP430:#define __FLT_EVAL_METHOD__ 0
1205// MSP430:#define __FLT_HAS_DENORM__ 1
1206// MSP430:#define __FLT_HAS_INFINITY__ 1
1207// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
1208// MSP430:#define __FLT_MANT_DIG__ 24
1209// MSP430:#define __FLT_MAX_10_EXP__ 38
1210// MSP430:#define __FLT_MAX_EXP__ 128
1211// MSP430:#define __FLT_MAX__ 3.40282347e+38F
1212// MSP430:#define __FLT_MIN_10_EXP__ (-37)
1213// MSP430:#define __FLT_MIN_EXP__ (-125)
1214// MSP430:#define __FLT_MIN__ 1.17549435e-38F
1215// MSP430:#define __FLT_RADIX__ 2
1216// MSP430:#define __INT16_TYPE__ short
Ken Dyckeef22ef2009-11-16 16:36:33 +00001217// MSP430:#define __INT32_C_SUFFIX__ L
Chris Lattnerdcdd2a02009-11-12 08:08:27 +00001218// MSP430:#define __INT32_TYPE__ long int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001219// MSP430:#define __INT8_TYPE__ char
1220// MSP430:#define __INTMAX_MAX__ 2147483647L
Ken Dyck8241d732009-11-19 13:18:59 +00001221// MSP430:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00001222// MSP430:#define __INTMAX_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00001223// MSP430:#define __INTPTR_TYPE__ short
Ken Dyckd896e1a2009-11-18 20:05:48 +00001224// MSP430:#define __INTPTR_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +00001225// MSP430:#define __INT_MAX__ 32767
Eli Friedman75e8efe2012-11-10 00:20:38 +00001226// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001227// MSP430:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00001228// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001229// MSP430:#define __LDBL_HAS_DENORM__ 1
1230// MSP430:#define __LDBL_HAS_INFINITY__ 1
1231// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
1232// MSP430:#define __LDBL_MANT_DIG__ 53
1233// MSP430:#define __LDBL_MAX_10_EXP__ 308
1234// MSP430:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00001235// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001236// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
1237// MSP430:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00001238// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308L
Anton Korobeynikov79bff432010-01-14 21:36:52 +00001239// MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
Chris Lattnerbceaf862009-10-29 04:55:36 +00001240// MSP430:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001241// MSP430-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +00001242// MSP430:#define __MSP430__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00001243// MSP430:#define __POINTER_WIDTH__ 16
Ken Dyck8241d732009-11-19 13:18:59 +00001244// MSP430:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +00001245// MSP430:#define __PTRDIFF_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +00001246// MSP430:#define __SCHAR_MAX__ 127
1247// MSP430:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00001248// MSP430:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00001249// MSP430:#define __SIZEOF_DOUBLE__ 8
1250// MSP430:#define __SIZEOF_FLOAT__ 4
1251// MSP430:#define __SIZEOF_INT__ 2
1252// MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
1253// MSP430:#define __SIZEOF_LONG_LONG__ 8
1254// MSP430:#define __SIZEOF_LONG__ 4
1255// MSP430:#define __SIZEOF_POINTER__ 2
1256// MSP430:#define __SIZEOF_PTRDIFF_T__ 2
1257// MSP430:#define __SIZEOF_SHORT__ 2
1258// MSP430:#define __SIZEOF_SIZE_T__ 2
1259// MSP430:#define __SIZEOF_WCHAR_T__ 2
1260// MSP430:#define __SIZEOF_WINT_T__ 2
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001261// MSP430:#define __SIZE_MAX__ 65535U
Chris Lattnerbceaf862009-10-29 04:55:36 +00001262// MSP430:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00001263// MSP430:#define __SIZE_WIDTH__ 16
Ken Dyck8241d732009-11-19 13:18:59 +00001264// MSP430:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001265// MSP430:#define __USER_LABEL_PREFIX__ _
Chris Lattner91846462009-11-12 08:04:33 +00001266// MSP430:#define __WCHAR_MAX__ 32767
Chris Lattnerbceaf862009-10-29 04:55:36 +00001267// MSP430:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001268// MSP430:#define __WCHAR_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +00001269// MSP430:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001270// MSP430:#define __WINT_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +00001271// MSP430:#define __clang__ 1
1272//
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001273// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s
1274//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001275// NVPTX32-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001276// NVPTX32:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001277// NVPTX32:#define __CHAR16_TYPE__ unsigned short
1278// NVPTX32:#define __CHAR32_TYPE__ unsigned int
1279// NVPTX32:#define __CHAR_BIT__ 8
1280// NVPTX32:#define __CONSTANT_CFSTRINGS__ 1
1281// NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1282// NVPTX32:#define __DBL_DIG__ 15
1283// NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16
1284// NVPTX32:#define __DBL_HAS_DENORM__ 1
1285// NVPTX32:#define __DBL_HAS_INFINITY__ 1
1286// NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1
1287// NVPTX32:#define __DBL_MANT_DIG__ 53
1288// NVPTX32:#define __DBL_MAX_10_EXP__ 308
1289// NVPTX32:#define __DBL_MAX_EXP__ 1024
1290// NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308
1291// NVPTX32:#define __DBL_MIN_10_EXP__ (-307)
1292// NVPTX32:#define __DBL_MIN_EXP__ (-1021)
1293// NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308
1294// NVPTX32:#define __DECIMAL_DIG__ 17
1295// NVPTX32:#define __FINITE_MATH_ONLY__ 0
1296// NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1297// NVPTX32:#define __FLT_DIG__ 6
1298// NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F
1299// NVPTX32:#define __FLT_EVAL_METHOD__ 0
1300// NVPTX32:#define __FLT_HAS_DENORM__ 1
1301// NVPTX32:#define __FLT_HAS_INFINITY__ 1
1302// NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1
1303// NVPTX32:#define __FLT_MANT_DIG__ 24
1304// NVPTX32:#define __FLT_MAX_10_EXP__ 38
1305// NVPTX32:#define __FLT_MAX_EXP__ 128
1306// NVPTX32:#define __FLT_MAX__ 3.40282347e+38F
1307// NVPTX32:#define __FLT_MIN_10_EXP__ (-37)
1308// NVPTX32:#define __FLT_MIN_EXP__ (-125)
1309// NVPTX32:#define __FLT_MIN__ 1.17549435e-38F
1310// NVPTX32:#define __FLT_RADIX__ 2
1311// NVPTX32:#define __INT16_TYPE__ short
1312// NVPTX32:#define __INT32_TYPE__ int
1313// NVPTX32:#define __INT64_C_SUFFIX__ LL
1314// NVPTX32:#define __INT64_TYPE__ long long int
1315// NVPTX32:#define __INT8_TYPE__ char
1316// NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL
1317// NVPTX32:#define __INTMAX_TYPE__ long long int
1318// NVPTX32:#define __INTMAX_WIDTH__ 64
1319// NVPTX32:#define __INTPTR_TYPE__ unsigned int
1320// NVPTX32:#define __INTPTR_WIDTH__ 32
1321// NVPTX32:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00001322// NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001323// NVPTX32:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00001324// NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001325// NVPTX32:#define __LDBL_HAS_DENORM__ 1
1326// NVPTX32:#define __LDBL_HAS_INFINITY__ 1
1327// NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1
1328// NVPTX32:#define __LDBL_MANT_DIG__ 53
1329// NVPTX32:#define __LDBL_MAX_10_EXP__ 308
1330// NVPTX32:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00001331// NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001332// NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
1333// NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00001334// NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001335// NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL
1336// NVPTX32:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001337// NVPTX32-NOT:#define __LP64__
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001338// NVPTX32:#define __NVPTX__ 1
1339// NVPTX32:#define __POINTER_WIDTH__ 32
1340// NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1
1341// NVPTX32:#define __PTRDIFF_TYPE__ unsigned int
1342// NVPTX32:#define __PTRDIFF_WIDTH__ 32
1343// NVPTX32:#define __PTX__ 1
1344// NVPTX32:#define __SCHAR_MAX__ 127
1345// NVPTX32:#define __SHRT_MAX__ 32767
1346// NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32
1347// NVPTX32:#define __SIZEOF_DOUBLE__ 8
1348// NVPTX32:#define __SIZEOF_FLOAT__ 4
1349// NVPTX32:#define __SIZEOF_INT__ 4
1350// NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8
1351// NVPTX32:#define __SIZEOF_LONG_LONG__ 8
1352// NVPTX32:#define __SIZEOF_LONG__ 8
1353// NVPTX32:#define __SIZEOF_POINTER__ 4
1354// NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4
1355// NVPTX32:#define __SIZEOF_SHORT__ 2
1356// NVPTX32:#define __SIZEOF_SIZE_T__ 4
1357// NVPTX32:#define __SIZEOF_WCHAR_T__ 4
1358// NVPTX32:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001359// NVPTX32:#define __SIZE_MAX__ 4294967295U
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001360// NVPTX32:#define __SIZE_TYPE__ unsigned int
1361// NVPTX32:#define __SIZE_WIDTH__ 32
1362// NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int
1363// NVPTX32:#define __USER_LABEL_PREFIX__ _
1364// NVPTX32:#define __WCHAR_MAX__ 2147483647
1365// NVPTX32:#define __WCHAR_TYPE__ int
1366// NVPTX32:#define __WCHAR_WIDTH__ 32
1367// NVPTX32:#define __WINT_TYPE__ int
1368// NVPTX32:#define __WINT_WIDTH__ 32
1369//
1370// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -check-prefix NVPTX64 %s
1371//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001372// NVPTX64:#define _LP64 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001373// NVPTX64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001374// NVPTX64:#define __CHAR16_TYPE__ unsigned short
1375// NVPTX64:#define __CHAR32_TYPE__ unsigned int
1376// NVPTX64:#define __CHAR_BIT__ 8
1377// NVPTX64:#define __CONSTANT_CFSTRINGS__ 1
1378// NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1379// NVPTX64:#define __DBL_DIG__ 15
1380// NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1381// NVPTX64:#define __DBL_HAS_DENORM__ 1
1382// NVPTX64:#define __DBL_HAS_INFINITY__ 1
1383// NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1
1384// NVPTX64:#define __DBL_MANT_DIG__ 53
1385// NVPTX64:#define __DBL_MAX_10_EXP__ 308
1386// NVPTX64:#define __DBL_MAX_EXP__ 1024
1387// NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308
1388// NVPTX64:#define __DBL_MIN_10_EXP__ (-307)
1389// NVPTX64:#define __DBL_MIN_EXP__ (-1021)
1390// NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308
1391// NVPTX64:#define __DECIMAL_DIG__ 17
1392// NVPTX64:#define __FINITE_MATH_ONLY__ 0
1393// NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1394// NVPTX64:#define __FLT_DIG__ 6
1395// NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F
1396// NVPTX64:#define __FLT_EVAL_METHOD__ 0
1397// NVPTX64:#define __FLT_HAS_DENORM__ 1
1398// NVPTX64:#define __FLT_HAS_INFINITY__ 1
1399// NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1
1400// NVPTX64:#define __FLT_MANT_DIG__ 24
1401// NVPTX64:#define __FLT_MAX_10_EXP__ 38
1402// NVPTX64:#define __FLT_MAX_EXP__ 128
1403// NVPTX64:#define __FLT_MAX__ 3.40282347e+38F
1404// NVPTX64:#define __FLT_MIN_10_EXP__ (-37)
1405// NVPTX64:#define __FLT_MIN_EXP__ (-125)
1406// NVPTX64:#define __FLT_MIN__ 1.17549435e-38F
1407// NVPTX64:#define __FLT_RADIX__ 2
1408// NVPTX64:#define __INT16_TYPE__ short
1409// NVPTX64:#define __INT32_TYPE__ int
1410// NVPTX64:#define __INT64_C_SUFFIX__ LL
1411// NVPTX64:#define __INT64_TYPE__ long long int
1412// NVPTX64:#define __INT8_TYPE__ char
1413// NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL
1414// NVPTX64:#define __INTMAX_TYPE__ long long int
1415// NVPTX64:#define __INTMAX_WIDTH__ 64
1416// NVPTX64:#define __INTPTR_TYPE__ long long unsigned int
1417// NVPTX64:#define __INTPTR_WIDTH__ 64
1418// NVPTX64:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00001419// NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001420// NVPTX64:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00001421// NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001422// NVPTX64:#define __LDBL_HAS_DENORM__ 1
1423// NVPTX64:#define __LDBL_HAS_INFINITY__ 1
1424// NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1
1425// NVPTX64:#define __LDBL_MANT_DIG__ 53
1426// NVPTX64:#define __LDBL_MAX_10_EXP__ 308
1427// NVPTX64:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00001428// NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001429// NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
1430// NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00001431// NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308L
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001432// NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1433// NVPTX64:#define __LONG_MAX__ 9223372036854775807L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001434// NVPTX64:#define __LP64__ 1
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001435// NVPTX64:#define __NVPTX__ 1
1436// NVPTX64:#define __POINTER_WIDTH__ 64
1437// NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1
1438// NVPTX64:#define __PTRDIFF_TYPE__ long long unsigned int
1439// NVPTX64:#define __PTRDIFF_WIDTH__ 64
1440// NVPTX64:#define __PTX__ 1
1441// NVPTX64:#define __SCHAR_MAX__ 127
1442// NVPTX64:#define __SHRT_MAX__ 32767
1443// NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32
1444// NVPTX64:#define __SIZEOF_DOUBLE__ 8
1445// NVPTX64:#define __SIZEOF_FLOAT__ 4
1446// NVPTX64:#define __SIZEOF_INT__ 4
1447// NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8
1448// NVPTX64:#define __SIZEOF_LONG_LONG__ 8
1449// NVPTX64:#define __SIZEOF_LONG__ 8
1450// NVPTX64:#define __SIZEOF_POINTER__ 8
1451// NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8
1452// NVPTX64:#define __SIZEOF_SHORT__ 2
1453// NVPTX64:#define __SIZEOF_SIZE_T__ 8
1454// NVPTX64:#define __SIZEOF_WCHAR_T__ 4
1455// NVPTX64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001456// NVPTX64:#define __SIZE_MAX__ 18446744073709551615UL
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001457// NVPTX64:#define __SIZE_TYPE__ long long unsigned int
1458// NVPTX64:#define __SIZE_WIDTH__ 64
1459// NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int
1460// NVPTX64:#define __USER_LABEL_PREFIX__ _
1461// NVPTX64:#define __WCHAR_MAX__ 2147483647
1462// NVPTX64:#define __WCHAR_TYPE__ int
1463// NVPTX64:#define __WCHAR_WIDTH__ 32
1464// NVPTX64:#define __WINT_TYPE__ int
1465// NVPTX64:#define __WINT_WIDTH__ 32
1466//
Hal Finkel39d5fa12012-07-03 16:51:04 +00001467// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -check-prefix PPC603E %s
1468//
1469// PPC603E:#define _ARCH_603 1
1470// PPC603E:#define _ARCH_603E 1
1471// PPC603E:#define _ARCH_PPC 1
1472// PPC603E:#define _ARCH_PPCGR 1
1473// PPC603E:#define _BIG_ENDIAN 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001474// PPC603E-NOT:#define _LP64
Hal Finkel39d5fa12012-07-03 16:51:04 +00001475// PPC603E:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001476// PPC603E:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Hal Finkel39d5fa12012-07-03 16:51:04 +00001477// PPC603E:#define __CHAR16_TYPE__ unsigned short
1478// PPC603E:#define __CHAR32_TYPE__ unsigned int
1479// PPC603E:#define __CHAR_BIT__ 8
1480// PPC603E:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1481// PPC603E:#define __DBL_DIG__ 15
1482// PPC603E:#define __DBL_EPSILON__ 2.2204460492503131e-16
1483// PPC603E:#define __DBL_HAS_DENORM__ 1
1484// PPC603E:#define __DBL_HAS_INFINITY__ 1
1485// PPC603E:#define __DBL_HAS_QUIET_NAN__ 1
1486// PPC603E:#define __DBL_MANT_DIG__ 53
1487// PPC603E:#define __DBL_MAX_10_EXP__ 308
1488// PPC603E:#define __DBL_MAX_EXP__ 1024
1489// PPC603E:#define __DBL_MAX__ 1.7976931348623157e+308
1490// PPC603E:#define __DBL_MIN_10_EXP__ (-307)
1491// PPC603E:#define __DBL_MIN_EXP__ (-1021)
1492// PPC603E:#define __DBL_MIN__ 2.2250738585072014e-308
1493// PPC603E:#define __DECIMAL_DIG__ 33
1494// PPC603E:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1495// PPC603E:#define __FLT_DIG__ 6
1496// PPC603E:#define __FLT_EPSILON__ 1.19209290e-7F
1497// PPC603E:#define __FLT_EVAL_METHOD__ 0
1498// PPC603E:#define __FLT_HAS_DENORM__ 1
1499// PPC603E:#define __FLT_HAS_INFINITY__ 1
1500// PPC603E:#define __FLT_HAS_QUIET_NAN__ 1
1501// PPC603E:#define __FLT_MANT_DIG__ 24
1502// PPC603E:#define __FLT_MAX_10_EXP__ 38
1503// PPC603E:#define __FLT_MAX_EXP__ 128
1504// PPC603E:#define __FLT_MAX__ 3.40282347e+38F
1505// PPC603E:#define __FLT_MIN_10_EXP__ (-37)
1506// PPC603E:#define __FLT_MIN_EXP__ (-125)
1507// PPC603E:#define __FLT_MIN__ 1.17549435e-38F
1508// PPC603E:#define __FLT_RADIX__ 2
1509// PPC603E:#define __INT16_TYPE__ short
1510// PPC603E:#define __INT32_TYPE__ int
1511// PPC603E:#define __INT64_C_SUFFIX__ LL
1512// PPC603E:#define __INT64_TYPE__ long long int
1513// PPC603E:#define __INT8_TYPE__ char
1514// PPC603E:#define __INTMAX_MAX__ 9223372036854775807LL
1515// PPC603E:#define __INTMAX_TYPE__ long long int
1516// PPC603E:#define __INTMAX_WIDTH__ 64
1517// PPC603E:#define __INTPTR_TYPE__ long int
1518// PPC603E:#define __INTPTR_WIDTH__ 32
1519// PPC603E:#define __INT_MAX__ 2147483647
1520// PPC603E:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1521// PPC603E:#define __LDBL_DIG__ 31
1522// PPC603E:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1523// PPC603E:#define __LDBL_HAS_DENORM__ 1
1524// PPC603E:#define __LDBL_HAS_INFINITY__ 1
1525// PPC603E:#define __LDBL_HAS_QUIET_NAN__ 1
1526// PPC603E:#define __LDBL_MANT_DIG__ 106
1527// PPC603E:#define __LDBL_MAX_10_EXP__ 308
1528// PPC603E:#define __LDBL_MAX_EXP__ 1024
1529// PPC603E:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1530// PPC603E:#define __LDBL_MIN_10_EXP__ (-291)
1531// PPC603E:#define __LDBL_MIN_EXP__ (-968)
1532// PPC603E:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1533// PPC603E:#define __LONG_DOUBLE_128__ 1
1534// PPC603E:#define __LONG_LONG_MAX__ 9223372036854775807LL
1535// PPC603E:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001536// PPC603E-NOT:#define __LP64__
Hal Finkel39d5fa12012-07-03 16:51:04 +00001537// PPC603E:#define __NATURAL_ALIGNMENT__ 1
Hal Finkel39d5fa12012-07-03 16:51:04 +00001538// PPC603E:#define __POINTER_WIDTH__ 32
1539// PPC603E:#define __POWERPC__ 1
1540// PPC603E:#define __PTRDIFF_TYPE__ long int
1541// PPC603E:#define __PTRDIFF_WIDTH__ 32
1542// PPC603E:#define __REGISTER_PREFIX__
1543// PPC603E:#define __SCHAR_MAX__ 127
1544// PPC603E:#define __SHRT_MAX__ 32767
1545// PPC603E:#define __SIG_ATOMIC_WIDTH__ 32
1546// PPC603E:#define __SIZEOF_DOUBLE__ 8
1547// PPC603E:#define __SIZEOF_FLOAT__ 4
1548// PPC603E:#define __SIZEOF_INT__ 4
1549// PPC603E:#define __SIZEOF_LONG_DOUBLE__ 16
1550// PPC603E:#define __SIZEOF_LONG_LONG__ 8
1551// PPC603E:#define __SIZEOF_LONG__ 4
1552// PPC603E:#define __SIZEOF_POINTER__ 4
1553// PPC603E:#define __SIZEOF_PTRDIFF_T__ 4
1554// PPC603E:#define __SIZEOF_SHORT__ 2
1555// PPC603E:#define __SIZEOF_SIZE_T__ 4
1556// PPC603E:#define __SIZEOF_WCHAR_T__ 4
1557// PPC603E:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001558// PPC603E:#define __SIZE_MAX__ 4294967295U
Hal Finkel39d5fa12012-07-03 16:51:04 +00001559// PPC603E:#define __SIZE_TYPE__ long unsigned int
1560// PPC603E:#define __SIZE_WIDTH__ 32
1561// PPC603E:#define __UINTMAX_TYPE__ long long unsigned int
1562// PPC603E:#define __USER_LABEL_PREFIX__ _
1563// PPC603E:#define __WCHAR_MAX__ 2147483647
1564// PPC603E:#define __WCHAR_TYPE__ int
1565// PPC603E:#define __WCHAR_WIDTH__ 32
1566// PPC603E:#define __WINT_TYPE__ int
1567// PPC603E:#define __WINT_WIDTH__ 32
1568// PPC603E:#define __powerpc__ 1
1569// PPC603E:#define __ppc__ 1
1570//
Hal Finkel02a84272012-06-11 22:35:19 +00001571// 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 +00001572//
1573// PPC64:#define _ARCH_PPC 1
1574// PPC64:#define _ARCH_PPC64 1
Hal Finkel39d5fa12012-07-03 16:51:04 +00001575// PPC64:#define _ARCH_PPCGR 1
1576// PPC64:#define _ARCH_PPCSQ 1
1577// PPC64:#define _ARCH_PWR4 1
1578// PPC64:#define _ARCH_PWR5 1
1579// PPC64:#define _ARCH_PWR6 1
Hal Finkel02a84272012-06-11 22:35:19 +00001580// PPC64:#define _ARCH_PWR7 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00001581// PPC64:#define _BIG_ENDIAN 1
1582// PPC64:#define _LP64 1
1583// PPC64:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001584// PPC64:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00001585// PPC64:#define __CHAR16_TYPE__ unsigned short
1586// PPC64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001587// PPC64:#define __CHAR_BIT__ 8
1588// PPC64:#define __CHAR_UNSIGNED__ 1
1589// PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1590// PPC64:#define __DBL_DIG__ 15
1591// PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1592// PPC64:#define __DBL_HAS_DENORM__ 1
1593// PPC64:#define __DBL_HAS_INFINITY__ 1
1594// PPC64:#define __DBL_HAS_QUIET_NAN__ 1
1595// PPC64:#define __DBL_MANT_DIG__ 53
1596// PPC64:#define __DBL_MAX_10_EXP__ 308
1597// PPC64:#define __DBL_MAX_EXP__ 1024
1598// PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
1599// PPC64:#define __DBL_MIN_10_EXP__ (-307)
1600// PPC64:#define __DBL_MIN_EXP__ (-1021)
1601// PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001602// PPC64:#define __DECIMAL_DIG__ 33
Chris Lattnerbceaf862009-10-29 04:55:36 +00001603// PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1604// PPC64:#define __FLT_DIG__ 6
1605// PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
1606// PPC64:#define __FLT_EVAL_METHOD__ 0
1607// PPC64:#define __FLT_HAS_DENORM__ 1
1608// PPC64:#define __FLT_HAS_INFINITY__ 1
1609// PPC64:#define __FLT_HAS_QUIET_NAN__ 1
1610// PPC64:#define __FLT_MANT_DIG__ 24
1611// PPC64:#define __FLT_MAX_10_EXP__ 38
1612// PPC64:#define __FLT_MAX_EXP__ 128
1613// PPC64:#define __FLT_MAX__ 3.40282347e+38F
1614// PPC64:#define __FLT_MIN_10_EXP__ (-37)
1615// PPC64:#define __FLT_MIN_EXP__ (-125)
1616// PPC64:#define __FLT_MIN__ 1.17549435e-38F
1617// PPC64:#define __FLT_RADIX__ 2
1618// PPC64:#define __INT16_TYPE__ short
1619// PPC64:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00001620// PPC64:#define __INT64_C_SUFFIX__ L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001621// PPC64:#define __INT64_TYPE__ long int
1622// PPC64:#define __INT8_TYPE__ char
1623// PPC64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck8241d732009-11-19 13:18:59 +00001624// PPC64:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00001625// PPC64:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001626// PPC64:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00001627// PPC64:#define __INTPTR_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001628// PPC64:#define __INT_MAX__ 2147483647
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001629// PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1630// PPC64:#define __LDBL_DIG__ 31
1631// PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001632// PPC64:#define __LDBL_HAS_DENORM__ 1
1633// PPC64:#define __LDBL_HAS_INFINITY__ 1
1634// PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001635// PPC64:#define __LDBL_MANT_DIG__ 106
Chris Lattnerbceaf862009-10-29 04:55:36 +00001636// PPC64:#define __LDBL_MAX_10_EXP__ 308
1637// PPC64:#define __LDBL_MAX_EXP__ 1024
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001638// PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1639// PPC64:#define __LDBL_MIN_10_EXP__ (-291)
1640// PPC64:#define __LDBL_MIN_EXP__ (-968)
1641// PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001642// PPC64:#define __LONG_DOUBLE_128__ 1
1643// PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1644// PPC64:#define __LONG_MAX__ 9223372036854775807L
1645// PPC64:#define __LP64__ 1
1646// PPC64:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00001647// PPC64:#define __POINTER_WIDTH__ 64
1648// PPC64:#define __POWERPC__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00001649// PPC64:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00001650// PPC64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001651// PPC64:#define __REGISTER_PREFIX__
1652// PPC64:#define __SCHAR_MAX__ 127
1653// PPC64:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00001654// PPC64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00001655// PPC64:#define __SIZEOF_DOUBLE__ 8
1656// PPC64:#define __SIZEOF_FLOAT__ 4
1657// PPC64:#define __SIZEOF_INT__ 4
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001658// PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohmancfeac342010-05-28 00:27:15 +00001659// PPC64:#define __SIZEOF_LONG_LONG__ 8
1660// PPC64:#define __SIZEOF_LONG__ 8
1661// PPC64:#define __SIZEOF_POINTER__ 8
1662// PPC64:#define __SIZEOF_PTRDIFF_T__ 8
1663// PPC64:#define __SIZEOF_SHORT__ 2
1664// PPC64:#define __SIZEOF_SIZE_T__ 8
1665// PPC64:#define __SIZEOF_WCHAR_T__ 4
1666// PPC64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001667// PPC64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnerbceaf862009-10-29 04:55:36 +00001668// PPC64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00001669// PPC64:#define __SIZE_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001670// PPC64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001671// PPC64:#define __USER_LABEL_PREFIX__ _
1672// PPC64:#define __WCHAR_MAX__ 2147483647
1673// PPC64:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001674// PPC64:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001675// PPC64:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001676// PPC64:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001677// PPC64:#define __ppc64__ 1
1678// PPC64:#define __ppc__ 1
1679//
Hal Finkel5ccd3d02013-02-01 05:53:33 +00001680// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu a2q -fno-signed-char < /dev/null | FileCheck -check-prefix PPCA2Q %s
1681//
1682// PPCA2Q:#define _ARCH_A2 1
1683// PPCA2Q:#define _ARCH_A2Q 1
1684// PPCA2Q:#define _ARCH_PPC 1
1685// PPCA2Q:#define _ARCH_PPC64 1
1686// PPCA2Q:#define _ARCH_QP 1
1687//
1688// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-bgq-linux -fno-signed-char < /dev/null | FileCheck -check-prefix PPCBGQ %s
1689//
1690// PPCBGQ:#define __THW_BLUEGENE__ 1
1691// PPCBGQ:#define __TOS_BGQ__ 1
1692// PPCBGQ:#define __bg__ 1
1693// PPCBGQ:#define __bgq__ 1
1694//
Bill Schmidt2821e182013-02-01 20:23:10 +00001695// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu 630 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC630 %s
1696//
1697// PPC630:#define _ARCH_630 1
1698// PPC630:#define _ARCH_PPC 1
1699// PPC630:#define _ARCH_PPC64 1
1700// PPC630:#define _ARCH_PPCGR 1
1701//
1702// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR3 %s
1703//
1704// PPCPWR3:#define _ARCH_PPC 1
1705// PPCPWR3:#define _ARCH_PPC64 1
1706// PPCPWR3:#define _ARCH_PPCGR 1
1707//
1708// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER3 %s
1709//
1710// PPCPOWER3:#define _ARCH_PPC 1
1711// PPCPOWER3:#define _ARCH_PPC64 1
1712// PPCPOWER3:#define _ARCH_PPCGR 1
1713//
1714// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR4 %s
1715//
1716// PPCPWR4:#define _ARCH_PPC 1
1717// PPCPWR4:#define _ARCH_PPC64 1
1718// PPCPWR4:#define _ARCH_PPCGR 1
1719// PPCPWR4:#define _ARCH_PPCSQ 1
1720// PPCPWR4:#define _ARCH_PWR4 1
1721//
1722// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER4 %s
1723//
1724// PPCPOWER4:#define _ARCH_PPC 1
1725// PPCPOWER4:#define _ARCH_PPC64 1
1726// PPCPOWER4:#define _ARCH_PPCGR 1
1727// PPCPOWER4:#define _ARCH_PPCSQ 1
1728// PPCPOWER4:#define _ARCH_PWR4 1
1729//
1730// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5 %s
1731//
1732// PPCPWR5:#define _ARCH_PPC 1
1733// PPCPWR5:#define _ARCH_PPC64 1
1734// PPCPWR5:#define _ARCH_PPCGR 1
1735// PPCPWR5:#define _ARCH_PPCSQ 1
1736// PPCPWR5:#define _ARCH_PWR4 1
1737// PPCPWR5:#define _ARCH_PWR5 1
1738//
1739// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5 %s
1740//
1741// PPCPOWER5:#define _ARCH_PPC 1
1742// PPCPOWER5:#define _ARCH_PPC64 1
1743// PPCPOWER5:#define _ARCH_PPCGR 1
1744// PPCPOWER5:#define _ARCH_PPCSQ 1
1745// PPCPOWER5:#define _ARCH_PWR4 1
1746// PPCPOWER5:#define _ARCH_PWR5 1
1747//
1748// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5X %s
1749//
1750// PPCPWR5X:#define _ARCH_PPC 1
1751// PPCPWR5X:#define _ARCH_PPC64 1
1752// PPCPWR5X:#define _ARCH_PPCGR 1
1753// PPCPWR5X:#define _ARCH_PPCSQ 1
1754// PPCPWR5X:#define _ARCH_PWR4 1
1755// PPCPWR5X:#define _ARCH_PWR5 1
1756// PPCPWR5X:#define _ARCH_PWR5X 1
1757//
1758// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5X %s
1759//
1760// PPCPOWER5X:#define _ARCH_PPC 1
1761// PPCPOWER5X:#define _ARCH_PPC64 1
1762// PPCPOWER5X:#define _ARCH_PPCGR 1
1763// PPCPOWER5X:#define _ARCH_PPCSQ 1
1764// PPCPOWER5X:#define _ARCH_PWR4 1
1765// PPCPOWER5X:#define _ARCH_PWR5 1
1766// PPCPOWER5X:#define _ARCH_PWR5X 1
1767//
1768// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6 %s
1769//
1770// PPCPWR6:#define _ARCH_PPC 1
1771// PPCPWR6:#define _ARCH_PPC64 1
1772// PPCPWR6:#define _ARCH_PPCGR 1
1773// PPCPWR6:#define _ARCH_PPCSQ 1
1774// PPCPWR6:#define _ARCH_PWR4 1
1775// PPCPWR6:#define _ARCH_PWR5 1
1776// PPCPWR6:#define _ARCH_PWR5X 1
1777// PPCPWR6:#define _ARCH_PWR6 1
1778//
1779// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6 %s
1780//
1781// PPCPOWER6:#define _ARCH_PPC 1
1782// PPCPOWER6:#define _ARCH_PPC64 1
1783// PPCPOWER6:#define _ARCH_PPCGR 1
1784// PPCPOWER6:#define _ARCH_PPCSQ 1
1785// PPCPOWER6:#define _ARCH_PWR4 1
1786// PPCPOWER6:#define _ARCH_PWR5 1
1787// PPCPOWER6:#define _ARCH_PWR5X 1
1788// PPCPOWER6:#define _ARCH_PWR6 1
1789//
1790// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6X %s
1791//
1792// PPCPWR6X:#define _ARCH_PPC 1
1793// PPCPWR6X:#define _ARCH_PPC64 1
1794// PPCPWR6X:#define _ARCH_PPCGR 1
1795// PPCPWR6X:#define _ARCH_PPCSQ 1
1796// PPCPWR6X:#define _ARCH_PWR4 1
1797// PPCPWR6X:#define _ARCH_PWR5 1
1798// PPCPWR6X:#define _ARCH_PWR5X 1
1799// PPCPWR6X:#define _ARCH_PWR6 1
1800// PPCPWR6X:#define _ARCH_PWR6X 1
1801//
1802// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6X %s
1803//
1804// PPCPOWER6X:#define _ARCH_PPC 1
1805// PPCPOWER6X:#define _ARCH_PPC64 1
1806// PPCPOWER6X:#define _ARCH_PPCGR 1
1807// PPCPOWER6X:#define _ARCH_PPCSQ 1
1808// PPCPOWER6X:#define _ARCH_PWR4 1
1809// PPCPOWER6X:#define _ARCH_PWR5 1
1810// PPCPOWER6X:#define _ARCH_PWR5X 1
1811// PPCPOWER6X:#define _ARCH_PWR6 1
1812// PPCPOWER6X:#define _ARCH_PWR6X 1
1813//
1814// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR7 %s
1815//
1816// PPCPWR7:#define _ARCH_PPC 1
1817// PPCPWR7:#define _ARCH_PPC64 1
1818// PPCPWR7:#define _ARCH_PPCGR 1
1819// PPCPWR7:#define _ARCH_PPCSQ 1
1820// PPCPWR7:#define _ARCH_PWR4 1
1821// PPCPWR7:#define _ARCH_PWR5 1
1822// PPCPWR7:#define _ARCH_PWR5X 1
1823// PPCPWR7:#define _ARCH_PWR6 1
1824// PPCPWR7:#define _ARCH_PWR6X 1
1825// PPCPWR7:#define _ARCH_PWR7 1
1826//
1827// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER7 %s
1828//
1829// PPCPOWER7:#define _ARCH_PPC 1
1830// PPCPOWER7:#define _ARCH_PPC64 1
1831// PPCPOWER7:#define _ARCH_PPCGR 1
1832// PPCPOWER7:#define _ARCH_PPCSQ 1
1833// PPCPOWER7:#define _ARCH_PWR4 1
1834// PPCPOWER7:#define _ARCH_PWR5 1
1835// PPCPOWER7:#define _ARCH_PWR5X 1
1836// PPCPOWER7:#define _ARCH_PWR6 1
1837// PPCPOWER7:#define _ARCH_PWR6X 1
1838// PPCPOWER7:#define _ARCH_PWR7 1
1839//
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001840// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
1841//
1842// PPC64-LINUX:#define _ARCH_PPC 1
1843// PPC64-LINUX:#define _ARCH_PPC64 1
1844// PPC64-LINUX:#define _BIG_ENDIAN 1
1845// PPC64-LINUX:#define _LP64 1
1846// PPC64-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001847// PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001848// PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
1849// PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
1850// PPC64-LINUX:#define __CHAR_BIT__ 8
1851// PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
1852// PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1853// PPC64-LINUX:#define __DBL_DIG__ 15
1854// PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
1855// PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
1856// PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
1857// PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
1858// PPC64-LINUX:#define __DBL_MANT_DIG__ 53
1859// PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
1860// PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
1861// PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
1862// PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
1863// PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
1864// PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
1865// PPC64-LINUX:#define __DECIMAL_DIG__ 33
1866// PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1867// PPC64-LINUX:#define __FLT_DIG__ 6
1868// PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
1869// PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
1870// PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
1871// PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
1872// PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
1873// PPC64-LINUX:#define __FLT_MANT_DIG__ 24
1874// PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
1875// PPC64-LINUX:#define __FLT_MAX_EXP__ 128
1876// PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
1877// PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
1878// PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
1879// PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
1880// PPC64-LINUX:#define __FLT_RADIX__ 2
1881// PPC64-LINUX:#define __INT16_TYPE__ short
1882// PPC64-LINUX:#define __INT32_TYPE__ int
1883// PPC64-LINUX:#define __INT64_C_SUFFIX__ L
1884// PPC64-LINUX:#define __INT64_TYPE__ long int
1885// PPC64-LINUX:#define __INT8_TYPE__ char
1886// PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
1887// PPC64-LINUX:#define __INTMAX_TYPE__ long int
1888// PPC64-LINUX:#define __INTMAX_WIDTH__ 64
1889// PPC64-LINUX:#define __INTPTR_TYPE__ long int
1890// PPC64-LINUX:#define __INTPTR_WIDTH__ 64
1891// PPC64-LINUX:#define __INT_MAX__ 2147483647
1892// PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1893// PPC64-LINUX:#define __LDBL_DIG__ 31
1894// PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1895// PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
1896// PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
1897// PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
1898// PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
1899// PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
1900// PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
1901// PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1902// PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
1903// PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
1904// PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1905// PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
1906// PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
1907// PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
1908// PPC64-LINUX:#define __LP64__ 1
1909// PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001910// PPC64-LINUX:#define __POINTER_WIDTH__ 64
1911// PPC64-LINUX:#define __POWERPC__ 1
1912// PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
1913// PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
1914// PPC64-LINUX:#define __REGISTER_PREFIX__
1915// PPC64-LINUX:#define __SCHAR_MAX__ 127
1916// PPC64-LINUX:#define __SHRT_MAX__ 32767
1917// PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
1918// PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
1919// PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
1920// PPC64-LINUX:#define __SIZEOF_INT__ 4
1921// PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
1922// PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
1923// PPC64-LINUX:#define __SIZEOF_LONG__ 8
1924// PPC64-LINUX:#define __SIZEOF_POINTER__ 8
1925// PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
1926// PPC64-LINUX:#define __SIZEOF_SHORT__ 2
1927// PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
1928// PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
1929// PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00001930// PPC64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001931// PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
1932// PPC64-LINUX:#define __SIZE_WIDTH__ 64
1933// PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
1934// PPC64-LINUX:#define __USER_LABEL_PREFIX__
1935// PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
1936// PPC64-LINUX:#define __WCHAR_TYPE__ int
1937// PPC64-LINUX:#define __WCHAR_WIDTH__ 32
1938// PPC64-LINUX:#define __WINT_TYPE__ unsigned int
1939// PPC64-LINUX:#define __WINT_UNSIGNED__ 1
1940// PPC64-LINUX:#define __WINT_WIDTH__ 32
1941// PPC64-LINUX:#define __powerpc64__ 1
1942// PPC64-LINUX:#define __powerpc__ 1
1943// PPC64-LINUX:#define __ppc64__ 1
1944// PPC64-LINUX:#define __ppc__ 1
1945//
Daniel Dunbara5728872009-12-15 20:14:24 +00001946// 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 +00001947//
1948// PPC:#define _ARCH_PPC 1
1949// PPC:#define _BIG_ENDIAN 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00001950// PPC-NOT:#define _LP64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001951// PPC:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001952// PPC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00001953// PPC:#define __CHAR16_TYPE__ unsigned short
1954// PPC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001955// PPC:#define __CHAR_BIT__ 8
1956// PPC:#define __CHAR_UNSIGNED__ 1
1957// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1958// PPC:#define __DBL_DIG__ 15
1959// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
1960// PPC:#define __DBL_HAS_DENORM__ 1
1961// PPC:#define __DBL_HAS_INFINITY__ 1
1962// PPC:#define __DBL_HAS_QUIET_NAN__ 1
1963// PPC:#define __DBL_MANT_DIG__ 53
1964// PPC:#define __DBL_MAX_10_EXP__ 308
1965// PPC:#define __DBL_MAX_EXP__ 1024
1966// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
1967// PPC:#define __DBL_MIN_10_EXP__ (-307)
1968// PPC:#define __DBL_MIN_EXP__ (-1021)
1969// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001970// PPC:#define __DECIMAL_DIG__ 33
Chris Lattnerbceaf862009-10-29 04:55:36 +00001971// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1972// PPC:#define __FLT_DIG__ 6
1973// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
1974// PPC:#define __FLT_EVAL_METHOD__ 0
1975// PPC:#define __FLT_HAS_DENORM__ 1
1976// PPC:#define __FLT_HAS_INFINITY__ 1
1977// PPC:#define __FLT_HAS_QUIET_NAN__ 1
1978// PPC:#define __FLT_MANT_DIG__ 24
1979// PPC:#define __FLT_MAX_10_EXP__ 38
1980// PPC:#define __FLT_MAX_EXP__ 128
1981// PPC:#define __FLT_MAX__ 3.40282347e+38F
1982// PPC:#define __FLT_MIN_10_EXP__ (-37)
1983// PPC:#define __FLT_MIN_EXP__ (-125)
1984// PPC:#define __FLT_MIN__ 1.17549435e-38F
1985// PPC:#define __FLT_RADIX__ 2
1986// PPC:#define __INT16_TYPE__ short
1987// PPC:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00001988// PPC:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +00001989// PPC:#define __INT64_TYPE__ long long int
1990// PPC:#define __INT8_TYPE__ char
1991// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +00001992// PPC:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +00001993// PPC:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001994// PPC:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00001995// PPC:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001996// PPC:#define __INT_MAX__ 2147483647
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001997// PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1998// PPC:#define __LDBL_DIG__ 31
1999// PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002000// PPC:#define __LDBL_HAS_DENORM__ 1
2001// PPC:#define __LDBL_HAS_INFINITY__ 1
2002// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002003// PPC:#define __LDBL_MANT_DIG__ 106
Chris Lattnerbceaf862009-10-29 04:55:36 +00002004// PPC:#define __LDBL_MAX_10_EXP__ 308
2005// PPC:#define __LDBL_MAX_EXP__ 1024
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002006// PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2007// PPC:#define __LDBL_MIN_10_EXP__ (-291)
2008// PPC:#define __LDBL_MIN_EXP__ (-968)
2009// PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002010// PPC:#define __LONG_DOUBLE_128__ 1
2011// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2012// PPC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002013// PPC-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +00002014// PPC:#define __NATURAL_ALIGNMENT__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00002015// PPC:#define __POINTER_WIDTH__ 32
2016// PPC:#define __POWERPC__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00002017// PPC:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00002018// PPC:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002019// PPC:#define __REGISTER_PREFIX__
2020// PPC:#define __SCHAR_MAX__ 127
2021// PPC:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00002022// PPC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00002023// PPC:#define __SIZEOF_DOUBLE__ 8
2024// PPC:#define __SIZEOF_FLOAT__ 4
2025// PPC:#define __SIZEOF_INT__ 4
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002026// PPC:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohmancfeac342010-05-28 00:27:15 +00002027// PPC:#define __SIZEOF_LONG_LONG__ 8
2028// PPC:#define __SIZEOF_LONG__ 4
2029// PPC:#define __SIZEOF_POINTER__ 4
2030// PPC:#define __SIZEOF_PTRDIFF_T__ 4
2031// PPC:#define __SIZEOF_SHORT__ 2
2032// PPC:#define __SIZEOF_SIZE_T__ 4
2033// PPC:#define __SIZEOF_WCHAR_T__ 4
2034// PPC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002035// PPC:#define __SIZE_MAX__ 4294967295U
Chris Lattnerbceaf862009-10-29 04:55:36 +00002036// PPC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00002037// PPC:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00002038// PPC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002039// PPC:#define __USER_LABEL_PREFIX__ _
2040// PPC:#define __WCHAR_MAX__ 2147483647
2041// PPC:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00002042// PPC:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002043// PPC:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00002044// PPC:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002045// PPC:#define __ppc__ 1
2046//
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002047// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
2048//
2049// PPC-LINUX:#define _ARCH_PPC 1
2050// PPC-LINUX:#define _BIG_ENDIAN 1
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002051// PPC-LINUX-NOT:#define _LP64
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002052// PPC-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002053// PPC-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002054// PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
2055// PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
2056// PPC-LINUX:#define __CHAR_BIT__ 8
2057// PPC-LINUX:#define __CHAR_UNSIGNED__ 1
2058// PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2059// PPC-LINUX:#define __DBL_DIG__ 15
2060// PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2061// PPC-LINUX:#define __DBL_HAS_DENORM__ 1
2062// PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
2063// PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2064// PPC-LINUX:#define __DBL_MANT_DIG__ 53
2065// PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
2066// PPC-LINUX:#define __DBL_MAX_EXP__ 1024
2067// PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2068// PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2069// PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
2070// PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2071// PPC-LINUX:#define __DECIMAL_DIG__ 33
2072// PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2073// PPC-LINUX:#define __FLT_DIG__ 6
2074// PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2075// PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
2076// PPC-LINUX:#define __FLT_HAS_DENORM__ 1
2077// PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
2078// PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2079// PPC-LINUX:#define __FLT_MANT_DIG__ 24
2080// PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
2081// PPC-LINUX:#define __FLT_MAX_EXP__ 128
2082// PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2083// PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2084// PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
2085// PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2086// PPC-LINUX:#define __FLT_RADIX__ 2
2087// PPC-LINUX:#define __INT16_TYPE__ short
2088// PPC-LINUX:#define __INT32_TYPE__ int
2089// PPC-LINUX:#define __INT64_C_SUFFIX__ LL
2090// PPC-LINUX:#define __INT64_TYPE__ long long int
2091// PPC-LINUX:#define __INT8_TYPE__ char
2092// PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
2093// PPC-LINUX:#define __INTMAX_TYPE__ long long int
2094// PPC-LINUX:#define __INTMAX_WIDTH__ 64
Hal Finkel178a9b82012-03-02 20:54:36 +00002095// PPC-LINUX:#define __INTPTR_TYPE__ int
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002096// PPC-LINUX:#define __INTPTR_WIDTH__ 32
2097// PPC-LINUX:#define __INT_MAX__ 2147483647
2098// PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2099// PPC-LINUX:#define __LDBL_DIG__ 31
2100// PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2101// PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
2102// PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
2103// PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2104// PPC-LINUX:#define __LDBL_MANT_DIG__ 106
2105// PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
2106// PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
2107// PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2108// PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2109// PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
2110// PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2111// PPC-LINUX:#define __LONG_DOUBLE_128__ 1
2112// PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2113// PPC-LINUX:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002114// PPC-LINUX-NOT:#define __LP64__
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002115// PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002116// PPC-LINUX:#define __POINTER_WIDTH__ 32
2117// PPC-LINUX:#define __POWERPC__ 1
Hal Finkel178a9b82012-03-02 20:54:36 +00002118// PPC-LINUX:#define __PTRDIFF_TYPE__ int
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002119// PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
2120// PPC-LINUX:#define __REGISTER_PREFIX__
2121// PPC-LINUX:#define __SCHAR_MAX__ 127
2122// PPC-LINUX:#define __SHRT_MAX__ 32767
2123// PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2124// PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
2125// PPC-LINUX:#define __SIZEOF_FLOAT__ 4
2126// PPC-LINUX:#define __SIZEOF_INT__ 4
2127// PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2128// PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
2129// PPC-LINUX:#define __SIZEOF_LONG__ 4
2130// PPC-LINUX:#define __SIZEOF_POINTER__ 4
2131// PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
2132// PPC-LINUX:#define __SIZEOF_SHORT__ 2
2133// PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
2134// PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
2135// PPC-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002136// PPC-LINUX:#define __SIZE_MAX__ 4294967295U
Nico Weber6e1d2ea2012-01-31 02:07:33 +00002137// PPC-LINUX:#define __SIZE_TYPE__ unsigned int
2138// PPC-LINUX:#define __SIZE_WIDTH__ 32
2139// PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
2140// PPC-LINUX:#define __USER_LABEL_PREFIX__
2141// PPC-LINUX:#define __WCHAR_MAX__ 2147483647
2142// PPC-LINUX:#define __WCHAR_TYPE__ int
2143// PPC-LINUX:#define __WCHAR_WIDTH__ 32
2144// PPC-LINUX:#define __WINT_TYPE__ unsigned int
2145// PPC-LINUX:#define __WINT_UNSIGNED__ 1
2146// PPC-LINUX:#define __WINT_WIDTH__ 32
2147// PPC-LINUX:#define __powerpc__ 1
2148// PPC-LINUX:#define __ppc__ 1
2149//
Daniel Dunbara5728872009-12-15 20:14:24 +00002150// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00002151//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002152// SPARC-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002153// SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00002154// SPARC:#define __CHAR16_TYPE__ unsigned short
2155// SPARC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002156// SPARC:#define __CHAR_BIT__ 8
2157// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2158// SPARC:#define __DBL_DIG__ 15
2159// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2160// SPARC:#define __DBL_HAS_DENORM__ 1
2161// SPARC:#define __DBL_HAS_INFINITY__ 1
2162// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
2163// SPARC:#define __DBL_MANT_DIG__ 53
2164// SPARC:#define __DBL_MAX_10_EXP__ 308
2165// SPARC:#define __DBL_MAX_EXP__ 1024
2166// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
2167// SPARC:#define __DBL_MIN_10_EXP__ (-307)
2168// SPARC:#define __DBL_MIN_EXP__ (-1021)
2169// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
2170// SPARC:#define __DECIMAL_DIG__ 17
2171// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2172// SPARC:#define __FLT_DIG__ 6
2173// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
2174// SPARC:#define __FLT_EVAL_METHOD__ 0
2175// SPARC:#define __FLT_HAS_DENORM__ 1
2176// SPARC:#define __FLT_HAS_INFINITY__ 1
2177// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
2178// SPARC:#define __FLT_MANT_DIG__ 24
2179// SPARC:#define __FLT_MAX_10_EXP__ 38
2180// SPARC:#define __FLT_MAX_EXP__ 128
2181// SPARC:#define __FLT_MAX__ 3.40282347e+38F
2182// SPARC:#define __FLT_MIN_10_EXP__ (-37)
2183// SPARC:#define __FLT_MIN_EXP__ (-125)
2184// SPARC:#define __FLT_MIN__ 1.17549435e-38F
2185// SPARC:#define __FLT_RADIX__ 2
2186// SPARC:#define __INT16_TYPE__ short
2187// SPARC:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00002188// SPARC:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +00002189// SPARC:#define __INT64_TYPE__ long long int
2190// SPARC:#define __INT8_TYPE__ char
2191// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +00002192// SPARC:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +00002193// SPARC:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00002194// SPARC:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00002195// SPARC:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002196// SPARC:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00002197// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002198// SPARC:#define __LDBL_DIG__ 15
Eli Friedman75e8efe2012-11-10 00:20:38 +00002199// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002200// SPARC:#define __LDBL_HAS_DENORM__ 1
2201// SPARC:#define __LDBL_HAS_INFINITY__ 1
2202// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
2203// SPARC:#define __LDBL_MANT_DIG__ 53
2204// SPARC:#define __LDBL_MAX_10_EXP__ 308
2205// SPARC:#define __LDBL_MAX_EXP__ 1024
Eli Friedman75e8efe2012-11-10 00:20:38 +00002206// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002207// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
2208// SPARC:#define __LDBL_MIN_EXP__ (-1021)
Eli Friedman75e8efe2012-11-10 00:20:38 +00002209// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002210// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2211// SPARC:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002212// SPARC-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +00002213// SPARC:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00002214// SPARC:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00002215// SPARC:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbareac7c532009-12-18 18:42:37 +00002216// SPARC:#define __REGISTER_PREFIX__
Chris Lattnerbceaf862009-10-29 04:55:36 +00002217// SPARC:#define __SCHAR_MAX__ 127
2218// SPARC:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00002219// SPARC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00002220// SPARC:#define __SIZEOF_DOUBLE__ 8
2221// SPARC:#define __SIZEOF_FLOAT__ 4
2222// SPARC:#define __SIZEOF_INT__ 4
2223// SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
2224// SPARC:#define __SIZEOF_LONG_LONG__ 8
2225// SPARC:#define __SIZEOF_LONG__ 4
2226// SPARC:#define __SIZEOF_POINTER__ 4
2227// SPARC:#define __SIZEOF_PTRDIFF_T__ 4
2228// SPARC:#define __SIZEOF_SHORT__ 2
2229// SPARC:#define __SIZEOF_SIZE_T__ 4
2230// SPARC:#define __SIZEOF_WCHAR_T__ 4
2231// SPARC:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002232// SPARC:#define __SIZE_MAX__ 4294967295U
Chris Lattnerbceaf862009-10-29 04:55:36 +00002233// SPARC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00002234// SPARC:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00002235// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002236// SPARC:#define __USER_LABEL_PREFIX__ _
Daniel Dunbarad1a4c62011-03-31 00:53:51 +00002237// SPARC:#define __VERSION__ "4.2.1 Compatible
Chris Lattnerbceaf862009-10-29 04:55:36 +00002238// SPARC:#define __WCHAR_MAX__ 2147483647
2239// SPARC:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00002240// SPARC:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002241// SPARC:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00002242// SPARC:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002243// SPARC:#define __sparc 1
2244// SPARC:#define __sparc__ 1
2245// SPARC:#define __sparcv8 1
2246// SPARC:#define sparc 1
2247//
Daniel Dunbara5728872009-12-15 20:14:24 +00002248// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00002249//
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002250// TCE-NOT:#define _LP64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002251// TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00002252// TCE:#define __CHAR16_TYPE__ unsigned short
2253// TCE:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002254// TCE:#define __CHAR_BIT__ 8
Eli Friedman75e8efe2012-11-10 00:20:38 +00002255// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45
Chris Lattnerbceaf862009-10-29 04:55:36 +00002256// TCE:#define __DBL_DIG__ 6
Eli Friedman75e8efe2012-11-10 00:20:38 +00002257// TCE:#define __DBL_EPSILON__ 1.19209290e-7
Chris Lattnerbceaf862009-10-29 04:55:36 +00002258// TCE:#define __DBL_HAS_DENORM__ 1
2259// TCE:#define __DBL_HAS_INFINITY__ 1
2260// TCE:#define __DBL_HAS_QUIET_NAN__ 1
2261// TCE:#define __DBL_MANT_DIG__ 24
2262// TCE:#define __DBL_MAX_10_EXP__ 38
2263// TCE:#define __DBL_MAX_EXP__ 128
Eli Friedman75e8efe2012-11-10 00:20:38 +00002264// TCE:#define __DBL_MAX__ 3.40282347e+38
Chris Lattnerbceaf862009-10-29 04:55:36 +00002265// TCE:#define __DBL_MIN_10_EXP__ (-37)
2266// TCE:#define __DBL_MIN_EXP__ (-125)
Eli Friedman75e8efe2012-11-10 00:20:38 +00002267// TCE:#define __DBL_MIN__ 1.17549435e-38
Chris Lattnerbceaf862009-10-29 04:55:36 +00002268// TCE:#define __DECIMAL_DIG__ -1
2269// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2270// TCE:#define __FLT_DIG__ 6
2271// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
2272// TCE:#define __FLT_EVAL_METHOD__ 0
2273// TCE:#define __FLT_HAS_DENORM__ 1
2274// TCE:#define __FLT_HAS_INFINITY__ 1
2275// TCE:#define __FLT_HAS_QUIET_NAN__ 1
2276// TCE:#define __FLT_MANT_DIG__ 24
2277// TCE:#define __FLT_MAX_10_EXP__ 38
2278// TCE:#define __FLT_MAX_EXP__ 128
2279// TCE:#define __FLT_MAX__ 3.40282347e+38F
2280// TCE:#define __FLT_MIN_10_EXP__ (-37)
2281// TCE:#define __FLT_MIN_EXP__ (-125)
2282// TCE:#define __FLT_MIN__ 1.17549435e-38F
2283// TCE:#define __FLT_RADIX__ 2
2284// TCE:#define __INT16_TYPE__ short
2285// TCE:#define __INT32_TYPE__ int
2286// TCE:#define __INT8_TYPE__ char
2287// TCE:#define __INTMAX_MAX__ 2147483647L
Ken Dyck8241d732009-11-19 13:18:59 +00002288// TCE:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00002289// TCE:#define __INTMAX_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00002290// TCE:#define __INTPTR_TYPE__ int
Ken Dyckd896e1a2009-11-18 20:05:48 +00002291// TCE:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002292// TCE:#define __INT_MAX__ 2147483647
Eli Friedman75e8efe2012-11-10 00:20:38 +00002293// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002294// TCE:#define __LDBL_DIG__ 6
Eli Friedman75e8efe2012-11-10 00:20:38 +00002295// TCE:#define __LDBL_EPSILON__ 1.19209290e-7L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002296// TCE:#define __LDBL_HAS_DENORM__ 1
2297// TCE:#define __LDBL_HAS_INFINITY__ 1
2298// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
2299// TCE:#define __LDBL_MANT_DIG__ 24
2300// TCE:#define __LDBL_MAX_10_EXP__ 38
2301// TCE:#define __LDBL_MAX_EXP__ 128
Eli Friedman75e8efe2012-11-10 00:20:38 +00002302// TCE:#define __LDBL_MAX__ 3.40282347e+38L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002303// TCE:#define __LDBL_MIN_10_EXP__ (-37)
2304// TCE:#define __LDBL_MIN_EXP__ (-125)
Eli Friedman75e8efe2012-11-10 00:20:38 +00002305// TCE:#define __LDBL_MIN__ 1.17549435e-38L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002306// TCE:#define __LONG_LONG_MAX__ 2147483647LL
2307// TCE:#define __LONG_MAX__ 2147483647L
Dylan Noblesmith6bd32912012-08-10 19:12:37 +00002308// TCE-NOT:#define __LP64__
Chris Lattnerbceaf862009-10-29 04:55:36 +00002309// TCE:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00002310// TCE:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +00002311// TCE:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002312// TCE:#define __SCHAR_MAX__ 127
2313// TCE:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00002314// TCE:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00002315// TCE:#define __SIZEOF_DOUBLE__ 4
2316// TCE:#define __SIZEOF_FLOAT__ 4
2317// TCE:#define __SIZEOF_INT__ 4
2318// TCE:#define __SIZEOF_LONG_DOUBLE__ 4
2319// TCE:#define __SIZEOF_LONG_LONG__ 4
2320// TCE:#define __SIZEOF_LONG__ 4
2321// TCE:#define __SIZEOF_POINTER__ 4
2322// TCE:#define __SIZEOF_PTRDIFF_T__ 4
2323// TCE:#define __SIZEOF_SHORT__ 2
2324// TCE:#define __SIZEOF_SIZE_T__ 4
2325// TCE:#define __SIZEOF_WCHAR_T__ 4
2326// TCE:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002327// TCE:#define __SIZE_MAX__ 4294967295U
Chris Lattnerbceaf862009-10-29 04:55:36 +00002328// TCE:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00002329// TCE:#define __SIZE_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002330// TCE:#define __TCE_V1__ 1
2331// TCE:#define __TCE__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00002332// TCE:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002333// TCE:#define __USER_LABEL_PREFIX__ _
2334// TCE:#define __WCHAR_MAX__ 2147483647
2335// TCE:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00002336// TCE:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002337// TCE:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00002338// TCE:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002339// TCE:#define __tce 1
2340// TCE:#define __tce__ 1
2341// TCE:#define tce 1
2342//
Daniel Dunbara5728872009-12-15 20:14:24 +00002343// 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 +00002344//
2345// X86_64:#define _LP64 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002346// X86_64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00002347// X86_64:#define __CHAR16_TYPE__ unsigned short
2348// X86_64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002349// X86_64:#define __CHAR_BIT__ 8
2350// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2351// X86_64:#define __DBL_DIG__ 15
2352// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
2353// X86_64:#define __DBL_HAS_DENORM__ 1
2354// X86_64:#define __DBL_HAS_INFINITY__ 1
2355// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
2356// X86_64:#define __DBL_MANT_DIG__ 53
2357// X86_64:#define __DBL_MAX_10_EXP__ 308
2358// X86_64:#define __DBL_MAX_EXP__ 1024
2359// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
2360// X86_64:#define __DBL_MIN_10_EXP__ (-307)
2361// X86_64:#define __DBL_MIN_EXP__ (-1021)
2362// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
2363// X86_64:#define __DECIMAL_DIG__ 21
2364// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2365// X86_64:#define __FLT_DIG__ 6
2366// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
2367// X86_64:#define __FLT_EVAL_METHOD__ 0
2368// X86_64:#define __FLT_HAS_DENORM__ 1
2369// X86_64:#define __FLT_HAS_INFINITY__ 1
2370// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
2371// X86_64:#define __FLT_MANT_DIG__ 24
2372// X86_64:#define __FLT_MAX_10_EXP__ 38
2373// X86_64:#define __FLT_MAX_EXP__ 128
2374// X86_64:#define __FLT_MAX__ 3.40282347e+38F
2375// X86_64:#define __FLT_MIN_10_EXP__ (-37)
2376// X86_64:#define __FLT_MIN_EXP__ (-125)
2377// X86_64:#define __FLT_MIN__ 1.17549435e-38F
2378// X86_64:#define __FLT_RADIX__ 2
2379// X86_64:#define __INT16_TYPE__ short
2380// X86_64:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00002381// X86_64:#define __INT64_C_SUFFIX__ L
Chris Lattnerbceaf862009-10-29 04:55:36 +00002382// X86_64:#define __INT64_TYPE__ long int
2383// X86_64:#define __INT8_TYPE__ char
2384// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck8241d732009-11-19 13:18:59 +00002385// X86_64:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00002386// X86_64:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00002387// X86_64:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00002388// X86_64:#define __INTPTR_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00002389// X86_64:#define __INT_MAX__ 2147483647
2390// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
2391// X86_64:#define __LDBL_DIG__ 18
2392// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
2393// X86_64:#define __LDBL_HAS_DENORM__ 1
2394// X86_64:#define __LDBL_HAS_INFINITY__ 1
2395// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
2396// X86_64:#define __LDBL_MANT_DIG__ 64
2397// X86_64:#define __LDBL_MAX_10_EXP__ 4932
2398// X86_64:#define __LDBL_MAX_EXP__ 16384
2399// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
2400// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
2401// X86_64:#define __LDBL_MIN_EXP__ (-16381)
2402// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
2403// X86_64:#define __LITTLE_ENDIAN__ 1
2404// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
2405// X86_64:#define __LONG_MAX__ 9223372036854775807L
2406// X86_64:#define __LP64__ 1
2407// X86_64:#define __MMX__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00002408// X86_64:#define __NO_MATH_INLINES 1
2409// X86_64:#define __POINTER_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00002410// X86_64:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00002411// X86_64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00002412// X86_64:#define __REGISTER_PREFIX__
2413// X86_64:#define __SCHAR_MAX__ 127
2414// X86_64:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00002415// X86_64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00002416// X86_64:#define __SIZEOF_DOUBLE__ 8
2417// X86_64:#define __SIZEOF_FLOAT__ 4
2418// X86_64:#define __SIZEOF_INT__ 4
2419// X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
2420// X86_64:#define __SIZEOF_LONG_LONG__ 8
2421// X86_64:#define __SIZEOF_LONG__ 8
2422// X86_64:#define __SIZEOF_POINTER__ 8
2423// X86_64:#define __SIZEOF_PTRDIFF_T__ 8
2424// X86_64:#define __SIZEOF_SHORT__ 2
2425// X86_64:#define __SIZEOF_SIZE_T__ 8
2426// X86_64:#define __SIZEOF_WCHAR_T__ 4
2427// X86_64:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002428// X86_64:#define __SIZE_MAX__ 18446744073709551615UL
Chris Lattnerbceaf862009-10-29 04:55:36 +00002429// X86_64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00002430// X86_64:#define __SIZE_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00002431// X86_64:#define __SSE2_MATH__ 1
2432// X86_64:#define __SSE2__ 1
2433// X86_64:#define __SSE_MATH__ 1
2434// X86_64:#define __SSE__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00002435// X86_64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00002436// X86_64:#define __USER_LABEL_PREFIX__ _
2437// X86_64:#define __WCHAR_MAX__ 2147483647
2438// X86_64:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00002439// X86_64:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002440// X86_64:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00002441// X86_64:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002442// X86_64:#define __amd64 1
2443// X86_64:#define __amd64__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00002444// X86_64:#define __x86_64 1
2445// X86_64:#define __x86_64__ 1
2446//
Douglas Gregor12e84642011-01-12 21:19:25 +00002447// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
2448//
2449// X86_64-LINUX:#define _LP64 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002450// X86_64-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregor12e84642011-01-12 21:19:25 +00002451// X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
2452// X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
2453// X86_64-LINUX:#define __CHAR_BIT__ 8
2454// X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2455// X86_64-LINUX:#define __DBL_DIG__ 15
2456// X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2457// X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
2458// X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
2459// X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2460// X86_64-LINUX:#define __DBL_MANT_DIG__ 53
2461// X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
2462// X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
2463// X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2464// X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2465// X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2466// X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2467// X86_64-LINUX:#define __DECIMAL_DIG__ 21
2468// X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2469// X86_64-LINUX:#define __FLT_DIG__ 6
2470// X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2471// X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
2472// X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
2473// X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
2474// X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2475// X86_64-LINUX:#define __FLT_MANT_DIG__ 24
2476// X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
2477// X86_64-LINUX:#define __FLT_MAX_EXP__ 128
2478// X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2479// X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2480// X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
2481// X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2482// X86_64-LINUX:#define __FLT_RADIX__ 2
2483// X86_64-LINUX:#define __INT16_TYPE__ short
2484// X86_64-LINUX:#define __INT32_TYPE__ int
2485// X86_64-LINUX:#define __INT64_C_SUFFIX__ L
2486// X86_64-LINUX:#define __INT64_TYPE__ long int
2487// X86_64-LINUX:#define __INT8_TYPE__ char
2488// X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2489// X86_64-LINUX:#define __INTMAX_TYPE__ long int
2490// X86_64-LINUX:#define __INTMAX_WIDTH__ 64
2491// X86_64-LINUX:#define __INTPTR_TYPE__ long int
2492// X86_64-LINUX:#define __INTPTR_WIDTH__ 64
2493// X86_64-LINUX:#define __INT_MAX__ 2147483647
2494// X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
2495// X86_64-LINUX:#define __LDBL_DIG__ 18
2496// X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
2497// X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
2498// X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2499// X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2500// X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
2501// X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
2502// X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
2503// X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
2504// X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
2505// X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
2506// X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
2507// X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
2508// X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2509// X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2510// X86_64-LINUX:#define __LP64__ 1
2511// X86_64-LINUX:#define __MMX__ 1
Douglas Gregor12e84642011-01-12 21:19:25 +00002512// X86_64-LINUX:#define __NO_MATH_INLINES 1
2513// X86_64-LINUX:#define __POINTER_WIDTH__ 64
2514// X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
2515// X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
2516// X86_64-LINUX:#define __REGISTER_PREFIX__
2517// X86_64-LINUX:#define __SCHAR_MAX__ 127
2518// X86_64-LINUX:#define __SHRT_MAX__ 32767
2519// X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2520// X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
2521// X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
2522// X86_64-LINUX:#define __SIZEOF_INT__ 4
2523// X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2524// X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2525// X86_64-LINUX:#define __SIZEOF_LONG__ 8
2526// X86_64-LINUX:#define __SIZEOF_POINTER__ 8
2527// X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2528// X86_64-LINUX:#define __SIZEOF_SHORT__ 2
2529// X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
2530// X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2531// X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
Evgeniy Stepanovedaf2812013-03-28 08:36:54 +00002532// X86_64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
Douglas Gregor12e84642011-01-12 21:19:25 +00002533// X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
2534// X86_64-LINUX:#define __SIZE_WIDTH__ 64
2535// X86_64-LINUX:#define __SSE2_MATH__ 1
2536// X86_64-LINUX:#define __SSE2__ 1
2537// X86_64-LINUX:#define __SSE_MATH__ 1
2538// X86_64-LINUX:#define __SSE__ 1
2539// X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2540// X86_64-LINUX:#define __USER_LABEL_PREFIX__
2541// X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
2542// X86_64-LINUX:#define __WCHAR_TYPE__ int
2543// X86_64-LINUX:#define __WCHAR_WIDTH__ 32
2544// X86_64-LINUX:#define __WINT_TYPE__ unsigned int
2545// X86_64-LINUX:#define __WINT_WIDTH__ 32
2546// X86_64-LINUX:#define __amd64 1
2547// X86_64-LINUX:#define __amd64__ 1
Douglas Gregor12e84642011-01-12 21:19:25 +00002548// X86_64-LINUX:#define __x86_64 1
2549// X86_64-LINUX:#define __x86_64__ 1
2550//
David Chisnall11d3f4c2012-07-03 20:49:52 +00002551// 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 +00002552// GNUSOURCE:#define _GNU_SOURCE 1
2553//
Dan Gohmancfeac342010-05-28 00:27:15 +00002554// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
2555// NORTTI: __GXX_ABI_VERSION
2556// NORTTI-NOT:#define __GXX_RTTI
2557// NORTTI: __STDC__
Evgeniy Stepanov32064032012-04-26 12:08:09 +00002558//
2559// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
2560// ANDROID: __ANDROID__ 1