blob: c2f7dcfa823d002fa85989a26cba626345a760d7 [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 Smith762bb9d2011-10-13 22:29:44 +000012// RUN: %clang_cc1 -x c++ -std=c++11 -E -dM < /dev/null | FileCheck -check-prefix CXX0X %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000013//
Chris Lattnerbceaf862009-10-29 04:55:36 +000014// CXX0X:#define __GNUG__
15// CXX0X:#define __GXX_EXPERIMENTAL_CXX0X__ 1
Dan Gohmancfeac342010-05-28 00:27:15 +000016// CXX0X:#define __GXX_RTTI 1
Chris Lattnerbceaf862009-10-29 04:55:36 +000017// CXX0X:#define __GXX_WEAK__ 1
Douglas Gregor06788992011-06-20 15:00:58 +000018// CXX0X:#define __cplusplus 201103L
Chris Lattnerbceaf862009-10-29 04:55:36 +000019// CXX0X:#define __private_extern__ extern
20//
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//
114//
Daniel Dunbara5728872009-12-15 20:14:24 +0000115// RUN: %clang_cc1 -O1 -E -dM < /dev/null | FileCheck -check-prefix O1 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000116//
117// O1:#define __OPTIMIZE__ 1
118//
119//
Daniel Dunbara5728872009-12-15 20:14:24 +0000120// RUN: %clang_cc1 -fpascal-strings -E -dM < /dev/null | FileCheck -check-prefix PASCAL %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000121//
122// PASCAL:#define __PASCAL_STRINGS__ 1
123//
124//
Daniel Dunbara5728872009-12-15 20:14:24 +0000125// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix SCHAR %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000126//
127// SCHAR:#define __STDC__ 1
128// SCHAR-NOT:#define __UNSIGNED_CHAR__
129// SCHAR:#define __clang__ 1
130//
Eli Friedman1d832432010-08-03 17:34:19 +0000131// RUN: %clang_cc1 -E -dM -fshort-wchar < /dev/null | FileCheck -check-prefix SHORTWCHAR %s
132//
133// SHORTWCHAR: #define __SIZEOF_WCHAR_T__ 2
134// SHORTWCHAR: #define __WCHAR_MAX__ 65535U
135// SHORTWCHAR: #define __WCHAR_TYPE__ unsigned short
136// SHORTWCHAR: #define __WCHAR_WIDTH__ 16
137//
Daniel Dunbara5728872009-12-15 20:14:24 +0000138// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000139//
140// ARM:#define __APCS_32__ 1
141// ARM:#define __ARMEL__ 1
Daniel Dunbareac7c532009-12-18 18:42:37 +0000142// ARM:#define __ARM_ARCH_6J__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000143// ARM:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +0000144// ARM:#define __CHAR16_TYPE__ unsigned short
145// ARM:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000146// ARM:#define __CHAR_BIT__ 8
147// ARM:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
148// ARM:#define __DBL_DIG__ 15
149// ARM:#define __DBL_EPSILON__ 2.2204460492503131e-16
150// ARM:#define __DBL_HAS_DENORM__ 1
151// ARM:#define __DBL_HAS_INFINITY__ 1
152// ARM:#define __DBL_HAS_QUIET_NAN__ 1
153// ARM:#define __DBL_MANT_DIG__ 53
154// ARM:#define __DBL_MAX_10_EXP__ 308
155// ARM:#define __DBL_MAX_EXP__ 1024
156// ARM:#define __DBL_MAX__ 1.7976931348623157e+308
157// ARM:#define __DBL_MIN_10_EXP__ (-307)
158// ARM:#define __DBL_MIN_EXP__ (-1021)
159// ARM:#define __DBL_MIN__ 2.2250738585072014e-308
160// ARM:#define __DECIMAL_DIG__ 17
161// ARM:#define __FLT_DENORM_MIN__ 1.40129846e-45F
162// ARM:#define __FLT_DIG__ 6
163// ARM:#define __FLT_EPSILON__ 1.19209290e-7F
164// ARM:#define __FLT_EVAL_METHOD__ 0
165// ARM:#define __FLT_HAS_DENORM__ 1
166// ARM:#define __FLT_HAS_INFINITY__ 1
167// ARM:#define __FLT_HAS_QUIET_NAN__ 1
168// ARM:#define __FLT_MANT_DIG__ 24
169// ARM:#define __FLT_MAX_10_EXP__ 38
170// ARM:#define __FLT_MAX_EXP__ 128
171// ARM:#define __FLT_MAX__ 3.40282347e+38F
172// ARM:#define __FLT_MIN_10_EXP__ (-37)
173// ARM:#define __FLT_MIN_EXP__ (-125)
174// ARM:#define __FLT_MIN__ 1.17549435e-38F
175// ARM:#define __FLT_RADIX__ 2
176// ARM:#define __INT16_TYPE__ short
177// ARM:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000178// ARM:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000179// ARM:#define __INT64_TYPE__ long long int
180// ARM:#define __INT8_TYPE__ char
181// ARM:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +0000182// ARM:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +0000183// ARM:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000184// ARM:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000185// ARM:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000186// ARM:#define __INT_MAX__ 2147483647
187// ARM:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
188// ARM:#define __LDBL_DIG__ 15
189// ARM:#define __LDBL_EPSILON__ 2.2204460492503131e-16
190// ARM:#define __LDBL_HAS_DENORM__ 1
191// ARM:#define __LDBL_HAS_INFINITY__ 1
192// ARM:#define __LDBL_HAS_QUIET_NAN__ 1
193// ARM:#define __LDBL_MANT_DIG__ 53
194// ARM:#define __LDBL_MAX_10_EXP__ 308
195// ARM:#define __LDBL_MAX_EXP__ 1024
196// ARM:#define __LDBL_MAX__ 1.7976931348623157e+308
197// ARM:#define __LDBL_MIN_10_EXP__ (-307)
198// ARM:#define __LDBL_MIN_EXP__ (-1021)
199// ARM:#define __LDBL_MIN__ 2.2250738585072014e-308
200// ARM:#define __LITTLE_ENDIAN__ 1
201// ARM:#define __LONG_LONG_MAX__ 9223372036854775807LL
202// ARM:#define __LONG_MAX__ 2147483647L
203// ARM:#define __NO_INLINE__ 1
204// ARM:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000205// ARM:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +0000206// ARM:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbareac7c532009-12-18 18:42:37 +0000207// ARM:#define __REGISTER_PREFIX__
Chris Lattnerbceaf862009-10-29 04:55:36 +0000208// ARM:#define __SCHAR_MAX__ 127
209// ARM:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000210// ARM:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000211// ARM:#define __SIZEOF_DOUBLE__ 8
212// ARM:#define __SIZEOF_FLOAT__ 4
213// ARM:#define __SIZEOF_INT__ 4
214// ARM:#define __SIZEOF_LONG_DOUBLE__ 8
215// ARM:#define __SIZEOF_LONG_LONG__ 8
216// ARM:#define __SIZEOF_LONG__ 4
217// ARM:#define __SIZEOF_POINTER__ 4
218// ARM:#define __SIZEOF_PTRDIFF_T__ 4
219// ARM:#define __SIZEOF_SHORT__ 2
220// ARM:#define __SIZEOF_SIZE_T__ 4
221// ARM:#define __SIZEOF_WCHAR_T__ 4
222// ARM:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +0000223// ARM:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000224// ARM:#define __SIZE_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000225// ARM:#define __THUMB_INTERWORK__ 1
Ken Dyck8241d732009-11-19 13:18:59 +0000226// ARM:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000227// ARM:#define __USER_LABEL_PREFIX__ _
James Molloya6d81f92011-11-23 13:35:08 +0000228// ARM:#define __WCHAR_MAX__ 4294967295U
229// ARM:#define __WCHAR_TYPE__ unsigned int
Ken Dyck63e65612009-11-19 15:47:58 +0000230// ARM:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000231// ARM:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000232// ARM:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000233// ARM:#define __arm 1
234// ARM:#define __arm__ 1
235//
Daniel Dunbara5728872009-12-15 20:14:24 +0000236// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000237//
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000238// I386:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +0000239// I386:#define __CHAR16_TYPE__ unsigned short
240// I386:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000241// I386:#define __CHAR_BIT__ 8
242// I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
243// I386:#define __DBL_DIG__ 15
244// I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
245// I386:#define __DBL_HAS_DENORM__ 1
246// I386:#define __DBL_HAS_INFINITY__ 1
247// I386:#define __DBL_HAS_QUIET_NAN__ 1
248// I386:#define __DBL_MANT_DIG__ 53
249// I386:#define __DBL_MAX_10_EXP__ 308
250// I386:#define __DBL_MAX_EXP__ 1024
251// I386:#define __DBL_MAX__ 1.7976931348623157e+308
252// I386:#define __DBL_MIN_10_EXP__ (-307)
253// I386:#define __DBL_MIN_EXP__ (-1021)
254// I386:#define __DBL_MIN__ 2.2250738585072014e-308
255// I386:#define __DECIMAL_DIG__ 21
256// I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
257// I386:#define __FLT_DIG__ 6
258// I386:#define __FLT_EPSILON__ 1.19209290e-7F
Benjamin Kramerb4066692011-12-28 15:47:06 +0000259// I386:#define __FLT_EVAL_METHOD__ 2
Chris Lattnerbceaf862009-10-29 04:55:36 +0000260// I386:#define __FLT_HAS_DENORM__ 1
261// I386:#define __FLT_HAS_INFINITY__ 1
262// I386:#define __FLT_HAS_QUIET_NAN__ 1
263// I386:#define __FLT_MANT_DIG__ 24
264// I386:#define __FLT_MAX_10_EXP__ 38
265// I386:#define __FLT_MAX_EXP__ 128
266// I386:#define __FLT_MAX__ 3.40282347e+38F
267// I386:#define __FLT_MIN_10_EXP__ (-37)
268// I386:#define __FLT_MIN_EXP__ (-125)
269// I386:#define __FLT_MIN__ 1.17549435e-38F
270// I386:#define __FLT_RADIX__ 2
271// I386:#define __INT16_TYPE__ short
272// I386:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000273// I386:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000274// I386:#define __INT64_TYPE__ long long int
275// I386:#define __INT8_TYPE__ char
276// I386:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +0000277// I386:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +0000278// I386:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000279// I386:#define __INTPTR_TYPE__ int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000280// I386:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000281// I386:#define __INT_MAX__ 2147483647
282// I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
283// I386:#define __LDBL_DIG__ 18
284// I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
285// I386:#define __LDBL_HAS_DENORM__ 1
286// I386:#define __LDBL_HAS_INFINITY__ 1
287// I386:#define __LDBL_HAS_QUIET_NAN__ 1
288// I386:#define __LDBL_MANT_DIG__ 64
289// I386:#define __LDBL_MAX_10_EXP__ 4932
290// I386:#define __LDBL_MAX_EXP__ 16384
291// I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
292// I386:#define __LDBL_MIN_10_EXP__ (-4931)
293// I386:#define __LDBL_MIN_EXP__ (-16381)
294// I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
295// I386:#define __LITTLE_ENDIAN__ 1
296// I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
297// I386:#define __LONG_MAX__ 2147483647L
298// I386:#define __NO_INLINE__ 1
299// I386:#define __NO_MATH_INLINES 1
300// I386:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000301// I386:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +0000302// I386:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000303// I386:#define __REGISTER_PREFIX__
304// I386:#define __SCHAR_MAX__ 127
305// I386:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000306// I386:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000307// I386:#define __SIZEOF_DOUBLE__ 8
308// I386:#define __SIZEOF_FLOAT__ 4
309// I386:#define __SIZEOF_INT__ 4
310// I386:#define __SIZEOF_LONG_DOUBLE__ 12
311// I386:#define __SIZEOF_LONG_LONG__ 8
312// I386:#define __SIZEOF_LONG__ 4
313// I386:#define __SIZEOF_POINTER__ 4
314// I386:#define __SIZEOF_PTRDIFF_T__ 4
315// I386:#define __SIZEOF_SHORT__ 2
316// I386:#define __SIZEOF_SIZE_T__ 4
317// I386:#define __SIZEOF_WCHAR_T__ 4
318// I386:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +0000319// I386:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000320// I386:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000321// I386:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000322// I386:#define __USER_LABEL_PREFIX__ _
323// I386:#define __WCHAR_MAX__ 2147483647
324// I386:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +0000325// I386:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000326// I386:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000327// I386:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000328// I386:#define __i386 1
329// I386:#define __i386__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +0000330// I386:#define i386 1
331//
Benjamin Kramerb4066692011-12-28 15:47:06 +0000332// 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 +0000333//
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000334// I386-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregor12e84642011-01-12 21:19:25 +0000335// I386-LINUX:#define __CHAR16_TYPE__ unsigned short
336// I386-LINUX:#define __CHAR32_TYPE__ unsigned int
337// I386-LINUX:#define __CHAR_BIT__ 8
338// I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
339// I386-LINUX:#define __DBL_DIG__ 15
340// I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
341// I386-LINUX:#define __DBL_HAS_DENORM__ 1
342// I386-LINUX:#define __DBL_HAS_INFINITY__ 1
343// I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
344// I386-LINUX:#define __DBL_MANT_DIG__ 53
345// I386-LINUX:#define __DBL_MAX_10_EXP__ 308
346// I386-LINUX:#define __DBL_MAX_EXP__ 1024
347// I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
348// I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
349// I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
350// I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
351// I386-LINUX:#define __DECIMAL_DIG__ 21
352// I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
353// I386-LINUX:#define __FLT_DIG__ 6
354// I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
355// I386-LINUX:#define __FLT_EVAL_METHOD__ 0
356// I386-LINUX:#define __FLT_HAS_DENORM__ 1
357// I386-LINUX:#define __FLT_HAS_INFINITY__ 1
358// I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
359// I386-LINUX:#define __FLT_MANT_DIG__ 24
360// I386-LINUX:#define __FLT_MAX_10_EXP__ 38
361// I386-LINUX:#define __FLT_MAX_EXP__ 128
362// I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
363// I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
364// I386-LINUX:#define __FLT_MIN_EXP__ (-125)
365// I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
366// I386-LINUX:#define __FLT_RADIX__ 2
367// I386-LINUX:#define __INT16_TYPE__ short
368// I386-LINUX:#define __INT32_TYPE__ int
369// I386-LINUX:#define __INT64_C_SUFFIX__ LL
370// I386-LINUX:#define __INT64_TYPE__ long long int
371// I386-LINUX:#define __INT8_TYPE__ char
372// I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
373// I386-LINUX:#define __INTMAX_TYPE__ long long int
374// I386-LINUX:#define __INTMAX_WIDTH__ 64
375// I386-LINUX:#define __INTPTR_TYPE__ int
376// I386-LINUX:#define __INTPTR_WIDTH__ 32
377// I386-LINUX:#define __INT_MAX__ 2147483647
378// I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
379// I386-LINUX:#define __LDBL_DIG__ 18
380// I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
381// I386-LINUX:#define __LDBL_HAS_DENORM__ 1
382// I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
383// I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
384// I386-LINUX:#define __LDBL_MANT_DIG__ 64
385// I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
386// I386-LINUX:#define __LDBL_MAX_EXP__ 16384
387// I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
388// I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
389// I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
390// I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
391// I386-LINUX:#define __LITTLE_ENDIAN__ 1
392// I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
393// I386-LINUX:#define __LONG_MAX__ 2147483647L
394// I386-LINUX:#define __NO_INLINE__ 1
395// I386-LINUX:#define __NO_MATH_INLINES 1
396// I386-LINUX:#define __POINTER_WIDTH__ 32
397// I386-LINUX:#define __PTRDIFF_TYPE__ int
398// I386-LINUX:#define __PTRDIFF_WIDTH__ 32
399// I386-LINUX:#define __REGISTER_PREFIX__
400// I386-LINUX:#define __SCHAR_MAX__ 127
401// I386-LINUX:#define __SHRT_MAX__ 32767
402// I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
403// I386-LINUX:#define __SIZEOF_DOUBLE__ 8
404// I386-LINUX:#define __SIZEOF_FLOAT__ 4
405// I386-LINUX:#define __SIZEOF_INT__ 4
406// I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
407// I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
408// I386-LINUX:#define __SIZEOF_LONG__ 4
409// I386-LINUX:#define __SIZEOF_POINTER__ 4
410// I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
411// I386-LINUX:#define __SIZEOF_SHORT__ 2
412// I386-LINUX:#define __SIZEOF_SIZE_T__ 4
413// I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
414// I386-LINUX:#define __SIZEOF_WINT_T__ 4
415// I386-LINUX:#define __SIZE_TYPE__ unsigned int
416// I386-LINUX:#define __SIZE_WIDTH__ 32
417// I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
418// I386-LINUX:#define __USER_LABEL_PREFIX__
419// I386-LINUX:#define __WCHAR_MAX__ 2147483647
420// I386-LINUX:#define __WCHAR_TYPE__ int
421// I386-LINUX:#define __WCHAR_WIDTH__ 32
422// I386-LINUX:#define __WINT_TYPE__ unsigned int
423// I386-LINUX:#define __WINT_WIDTH__ 32
424// I386-LINUX:#define __i386 1
425// I386-LINUX:#define __i386__ 1
Douglas Gregor12e84642011-01-12 21:19:25 +0000426// I386-LINUX:#define i386 1
427//
Simon Atanasyan7a521802012-04-06 08:37:24 +0000428// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none < /dev/null | FileCheck -check-prefix MIPS32BE %s
429//
430// MIPS32BE:#define MIPSEB 1
431// MIPS32BE:#define _ABIO32 1
432// MIPS32BE:#define _MIPSEB 1
433// MIPS32BE:#define _MIPS_SIM _ABIO32
434// MIPS32BE:#define _MIPS_SZINT 32
435// MIPS32BE:#define _MIPS_SZLONG 32
436// MIPS32BE:#define _MIPS_SZPTR 32
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000437// MIPS32BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyan7a521802012-04-06 08:37:24 +0000438// MIPS32BE:#define __CHAR16_TYPE__ unsigned short
439// MIPS32BE:#define __CHAR32_TYPE__ unsigned int
440// MIPS32BE:#define __CHAR_BIT__ 8
441// MIPS32BE:#define __CONSTANT_CFSTRINGS__ 1
442// MIPS32BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
443// MIPS32BE:#define __DBL_DIG__ 15
444// MIPS32BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
445// MIPS32BE:#define __DBL_HAS_DENORM__ 1
446// MIPS32BE:#define __DBL_HAS_INFINITY__ 1
447// MIPS32BE:#define __DBL_HAS_QUIET_NAN__ 1
448// MIPS32BE:#define __DBL_MANT_DIG__ 53
449// MIPS32BE:#define __DBL_MAX_10_EXP__ 308
450// MIPS32BE:#define __DBL_MAX_EXP__ 1024
451// MIPS32BE:#define __DBL_MAX__ 1.7976931348623157e+308
452// MIPS32BE:#define __DBL_MIN_10_EXP__ (-307)
453// MIPS32BE:#define __DBL_MIN_EXP__ (-1021)
454// MIPS32BE:#define __DBL_MIN__ 2.2250738585072014e-308
455// MIPS32BE:#define __DECIMAL_DIG__ 17
456// MIPS32BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
457// MIPS32BE:#define __FLT_DIG__ 6
458// MIPS32BE:#define __FLT_EPSILON__ 1.19209290e-7F
459// MIPS32BE:#define __FLT_EVAL_METHOD__ 0
460// MIPS32BE:#define __FLT_HAS_DENORM__ 1
461// MIPS32BE:#define __FLT_HAS_INFINITY__ 1
462// MIPS32BE:#define __FLT_HAS_QUIET_NAN__ 1
463// MIPS32BE:#define __FLT_MANT_DIG__ 24
464// MIPS32BE:#define __FLT_MAX_10_EXP__ 38
465// MIPS32BE:#define __FLT_MAX_EXP__ 128
466// MIPS32BE:#define __FLT_MAX__ 3.40282347e+38F
467// MIPS32BE:#define __FLT_MIN_10_EXP__ (-37)
468// MIPS32BE:#define __FLT_MIN_EXP__ (-125)
469// MIPS32BE:#define __FLT_MIN__ 1.17549435e-38F
470// MIPS32BE:#define __FLT_RADIX__ 2
471// MIPS32BE:#define __INT16_TYPE__ short
472// MIPS32BE:#define __INT32_TYPE__ int
473// MIPS32BE:#define __INT64_C_SUFFIX__ LL
474// MIPS32BE:#define __INT64_TYPE__ long long int
475// MIPS32BE:#define __INT8_TYPE__ char
476// MIPS32BE:#define __INTMAX_MAX__ 9223372036854775807LL
477// MIPS32BE:#define __INTMAX_TYPE__ long long int
478// MIPS32BE:#define __INTMAX_WIDTH__ 64
479// MIPS32BE:#define __INTPTR_TYPE__ long int
480// MIPS32BE:#define __INTPTR_WIDTH__ 32
481// MIPS32BE:#define __INT_MAX__ 2147483647
482// MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
483// MIPS32BE:#define __LDBL_DIG__ 15
484// MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16
485// MIPS32BE:#define __LDBL_HAS_DENORM__ 1
486// MIPS32BE:#define __LDBL_HAS_INFINITY__ 1
487// MIPS32BE:#define __LDBL_HAS_QUIET_NAN__ 1
488// MIPS32BE:#define __LDBL_MANT_DIG__ 53
489// MIPS32BE:#define __LDBL_MAX_10_EXP__ 308
490// MIPS32BE:#define __LDBL_MAX_EXP__ 1024
491// MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308
492// MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307)
493// MIPS32BE:#define __LDBL_MIN_EXP__ (-1021)
494// MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308
495// MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
496// MIPS32BE:#define __LONG_MAX__ 2147483647L
497// MIPS32BE:#define __MIPSEB 1
498// MIPS32BE:#define __MIPSEB__ 1
499// MIPS32BE:#define __NO_INLINE__ 1
500// MIPS32BE:#define __POINTER_WIDTH__ 32
501// MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1
502// MIPS32BE:#define __PTRDIFF_TYPE__ int
503// MIPS32BE:#define __PTRDIFF_WIDTH__ 32
504// MIPS32BE:#define __REGISTER_PREFIX__
505// MIPS32BE:#define __SCHAR_MAX__ 127
506// MIPS32BE:#define __SHRT_MAX__ 32767
507// MIPS32BE:#define __SIG_ATOMIC_WIDTH__ 32
508// MIPS32BE:#define __SIZEOF_DOUBLE__ 8
509// MIPS32BE:#define __SIZEOF_FLOAT__ 4
510// MIPS32BE:#define __SIZEOF_INT__ 4
511// MIPS32BE:#define __SIZEOF_LONG_DOUBLE__ 8
512// MIPS32BE:#define __SIZEOF_LONG_LONG__ 8
513// MIPS32BE:#define __SIZEOF_LONG__ 4
514// MIPS32BE:#define __SIZEOF_POINTER__ 4
515// MIPS32BE:#define __SIZEOF_PTRDIFF_T__ 4
516// MIPS32BE:#define __SIZEOF_SHORT__ 2
517// MIPS32BE:#define __SIZEOF_SIZE_T__ 4
518// MIPS32BE:#define __SIZEOF_WCHAR_T__ 4
519// MIPS32BE:#define __SIZEOF_WINT_T__ 4
520// MIPS32BE:#define __SIZE_TYPE__ unsigned int
521// MIPS32BE:#define __SIZE_WIDTH__ 32
522// MIPS32BE:#define __STDC_HOSTED__ 0
523// MIPS32BE:#define __STDC_VERSION__ 199901L
524// MIPS32BE:#define __STDC__ 1
525// MIPS32BE:#define __UINTMAX_TYPE__ long long unsigned int
526// MIPS32BE:#define __USER_LABEL_PREFIX__ _
527// MIPS32BE:#define __WCHAR_MAX__ 2147483647
528// MIPS32BE:#define __WCHAR_TYPE__ int
529// MIPS32BE:#define __WCHAR_WIDTH__ 32
530// MIPS32BE:#define __WINT_TYPE__ int
531// MIPS32BE:#define __WINT_WIDTH__ 32
532// MIPS32BE:#define __clang__ 1
533// MIPS32BE:#define __llvm__ 1
534// MIPS32BE:#define __mips 1
535// MIPS32BE:#define __mips__ 1
536// MIPS32BE:#define __mips_hard_float 1
537// MIPS32BE:#define __mips_o32 1
538// MIPS32BE:#define _mips 1
539// MIPS32BE:#define mips 1
540//
541// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -check-prefix MIPS32EL %s
542//
543// MIPS32EL:#define MIPSEL 1
544// MIPS32EL:#define _ABIO32 1
545// MIPS32EL:#define _MIPSEL 1
546// MIPS32EL:#define _MIPS_SIM _ABIO32
547// MIPS32EL:#define _MIPS_SZINT 32
548// MIPS32EL:#define _MIPS_SZLONG 32
549// MIPS32EL:#define _MIPS_SZPTR 32
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000550// MIPS32EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyan7a521802012-04-06 08:37:24 +0000551// MIPS32EL:#define __CHAR16_TYPE__ unsigned short
552// MIPS32EL:#define __CHAR32_TYPE__ unsigned int
553// MIPS32EL:#define __CHAR_BIT__ 8
554// MIPS32EL:#define __CONSTANT_CFSTRINGS__ 1
555// MIPS32EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
556// MIPS32EL:#define __DBL_DIG__ 15
557// MIPS32EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
558// MIPS32EL:#define __DBL_HAS_DENORM__ 1
559// MIPS32EL:#define __DBL_HAS_INFINITY__ 1
560// MIPS32EL:#define __DBL_HAS_QUIET_NAN__ 1
561// MIPS32EL:#define __DBL_MANT_DIG__ 53
562// MIPS32EL:#define __DBL_MAX_10_EXP__ 308
563// MIPS32EL:#define __DBL_MAX_EXP__ 1024
564// MIPS32EL:#define __DBL_MAX__ 1.7976931348623157e+308
565// MIPS32EL:#define __DBL_MIN_10_EXP__ (-307)
566// MIPS32EL:#define __DBL_MIN_EXP__ (-1021)
567// MIPS32EL:#define __DBL_MIN__ 2.2250738585072014e-308
568// MIPS32EL:#define __DECIMAL_DIG__ 17
569// MIPS32EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
570// MIPS32EL:#define __FLT_DIG__ 6
571// MIPS32EL:#define __FLT_EPSILON__ 1.19209290e-7F
572// MIPS32EL:#define __FLT_EVAL_METHOD__ 0
573// MIPS32EL:#define __FLT_HAS_DENORM__ 1
574// MIPS32EL:#define __FLT_HAS_INFINITY__ 1
575// MIPS32EL:#define __FLT_HAS_QUIET_NAN__ 1
576// MIPS32EL:#define __FLT_MANT_DIG__ 24
577// MIPS32EL:#define __FLT_MAX_10_EXP__ 38
578// MIPS32EL:#define __FLT_MAX_EXP__ 128
579// MIPS32EL:#define __FLT_MAX__ 3.40282347e+38F
580// MIPS32EL:#define __FLT_MIN_10_EXP__ (-37)
581// MIPS32EL:#define __FLT_MIN_EXP__ (-125)
582// MIPS32EL:#define __FLT_MIN__ 1.17549435e-38F
583// MIPS32EL:#define __FLT_RADIX__ 2
584// MIPS32EL:#define __INT16_TYPE__ short
585// MIPS32EL:#define __INT32_TYPE__ int
586// MIPS32EL:#define __INT64_C_SUFFIX__ LL
587// MIPS32EL:#define __INT64_TYPE__ long long int
588// MIPS32EL:#define __INT8_TYPE__ char
589// MIPS32EL:#define __INTMAX_MAX__ 9223372036854775807LL
590// MIPS32EL:#define __INTMAX_TYPE__ long long int
591// MIPS32EL:#define __INTMAX_WIDTH__ 64
592// MIPS32EL:#define __INTPTR_TYPE__ long int
593// MIPS32EL:#define __INTPTR_WIDTH__ 32
594// MIPS32EL:#define __INT_MAX__ 2147483647
595// MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
596// MIPS32EL:#define __LDBL_DIG__ 15
597// MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16
598// MIPS32EL:#define __LDBL_HAS_DENORM__ 1
599// MIPS32EL:#define __LDBL_HAS_INFINITY__ 1
600// MIPS32EL:#define __LDBL_HAS_QUIET_NAN__ 1
601// MIPS32EL:#define __LDBL_MANT_DIG__ 53
602// MIPS32EL:#define __LDBL_MAX_10_EXP__ 308
603// MIPS32EL:#define __LDBL_MAX_EXP__ 1024
604// MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308
605// MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307)
606// MIPS32EL:#define __LDBL_MIN_EXP__ (-1021)
607// MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308
608// MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
609// MIPS32EL:#define __LONG_MAX__ 2147483647L
610// MIPS32EL:#define __MIPSEL 1
611// MIPS32EL:#define __MIPSEL__ 1
612// MIPS32EL:#define __NO_INLINE__ 1
613// MIPS32EL:#define __POINTER_WIDTH__ 32
614// MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1
615// MIPS32EL:#define __PTRDIFF_TYPE__ int
616// MIPS32EL:#define __PTRDIFF_WIDTH__ 32
617// MIPS32EL:#define __REGISTER_PREFIX__
618// MIPS32EL:#define __SCHAR_MAX__ 127
619// MIPS32EL:#define __SHRT_MAX__ 32767
620// MIPS32EL:#define __SIG_ATOMIC_WIDTH__ 32
621// MIPS32EL:#define __SIZEOF_DOUBLE__ 8
622// MIPS32EL:#define __SIZEOF_FLOAT__ 4
623// MIPS32EL:#define __SIZEOF_INT__ 4
624// MIPS32EL:#define __SIZEOF_LONG_DOUBLE__ 8
625// MIPS32EL:#define __SIZEOF_LONG_LONG__ 8
626// MIPS32EL:#define __SIZEOF_LONG__ 4
627// MIPS32EL:#define __SIZEOF_POINTER__ 4
628// MIPS32EL:#define __SIZEOF_PTRDIFF_T__ 4
629// MIPS32EL:#define __SIZEOF_SHORT__ 2
630// MIPS32EL:#define __SIZEOF_SIZE_T__ 4
631// MIPS32EL:#define __SIZEOF_WCHAR_T__ 4
632// MIPS32EL:#define __SIZEOF_WINT_T__ 4
633// MIPS32EL:#define __SIZE_TYPE__ unsigned int
634// MIPS32EL:#define __SIZE_WIDTH__ 32
635// MIPS32EL:#define __UINTMAX_TYPE__ long long unsigned int
636// MIPS32EL:#define __USER_LABEL_PREFIX__ _
637// MIPS32EL:#define __WCHAR_MAX__ 2147483647
638// MIPS32EL:#define __WCHAR_TYPE__ int
639// MIPS32EL:#define __WCHAR_WIDTH__ 32
640// MIPS32EL:#define __WINT_TYPE__ int
641// MIPS32EL:#define __WINT_WIDTH__ 32
642// MIPS32EL:#define __clang__ 1
643// MIPS32EL:#define __llvm__ 1
644// MIPS32EL:#define __mips 1
645// MIPS32EL:#define __mips__ 1
646// MIPS32EL:#define __mips_hard_float 1
647// MIPS32EL:#define __mips_o32 1
648// MIPS32EL:#define _mips 1
649// MIPS32EL:#define mips 1
650//
651// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -check-prefix MIPS64BE %s
652//
653// MIPS64BE:#define MIPSEB 1
654// MIPS64BE:#define _ABI64 3
655// MIPS64BE:#define _MIPSEB 1
656// MIPS64BE:#define _MIPS_SIM _ABI64
657// MIPS64BE:#define _MIPS_SZINT 32
658// MIPS64BE:#define _MIPS_SZLONG 64
659// MIPS64BE:#define _MIPS_SZPTR 64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000660// MIPS64BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Simon Atanasyan7a521802012-04-06 08:37:24 +0000661// MIPS64BE:#define __CHAR16_TYPE__ unsigned short
662// MIPS64BE:#define __CHAR32_TYPE__ unsigned int
663// MIPS64BE:#define __CHAR_BIT__ 8
664// MIPS64BE:#define __CONSTANT_CFSTRINGS__ 1
665// MIPS64BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
666// MIPS64BE:#define __DBL_DIG__ 15
667// MIPS64BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
668// MIPS64BE:#define __DBL_HAS_DENORM__ 1
669// MIPS64BE:#define __DBL_HAS_INFINITY__ 1
670// MIPS64BE:#define __DBL_HAS_QUIET_NAN__ 1
671// MIPS64BE:#define __DBL_MANT_DIG__ 53
672// MIPS64BE:#define __DBL_MAX_10_EXP__ 308
673// MIPS64BE:#define __DBL_MAX_EXP__ 1024
674// MIPS64BE:#define __DBL_MAX__ 1.7976931348623157e+308
675// MIPS64BE:#define __DBL_MIN_10_EXP__ (-307)
676// MIPS64BE:#define __DBL_MIN_EXP__ (-1021)
677// MIPS64BE:#define __DBL_MIN__ 2.2250738585072014e-308
678// MIPS64BE:#define __DECIMAL_DIG__ 36
679// MIPS64BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
680// MIPS64BE:#define __FLT_DIG__ 6
681// MIPS64BE:#define __FLT_EPSILON__ 1.19209290e-7F
682// MIPS64BE:#define __FLT_EVAL_METHOD__ 0
683// MIPS64BE:#define __FLT_HAS_DENORM__ 1
684// MIPS64BE:#define __FLT_HAS_INFINITY__ 1
685// MIPS64BE:#define __FLT_HAS_QUIET_NAN__ 1
686// MIPS64BE:#define __FLT_MANT_DIG__ 24
687// MIPS64BE:#define __FLT_MAX_10_EXP__ 38
688// MIPS64BE:#define __FLT_MAX_EXP__ 128
689// MIPS64BE:#define __FLT_MAX__ 3.40282347e+38F
690// MIPS64BE:#define __FLT_MIN_10_EXP__ (-37)
691// MIPS64BE:#define __FLT_MIN_EXP__ (-125)
692// MIPS64BE:#define __FLT_MIN__ 1.17549435e-38F
693// MIPS64BE:#define __FLT_RADIX__ 2
694// MIPS64BE:#define __INT16_TYPE__ short
695// MIPS64BE:#define __INT32_TYPE__ int
696// MIPS64BE:#define __INT64_C_SUFFIX__ LL
697// MIPS64BE:#define __INT64_TYPE__ long long int
698// MIPS64BE:#define __INT8_TYPE__ char
699// MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807LL
700// MIPS64BE:#define __INTMAX_TYPE__ long long int
701// MIPS64BE:#define __INTMAX_WIDTH__ 64
702// MIPS64BE:#define __INTPTR_TYPE__ long int
703// MIPS64BE:#define __INTPTR_WIDTH__ 64
704// MIPS64BE:#define __INT_MAX__ 2147483647
705// MIPS64BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
706// MIPS64BE:#define __LDBL_DIG__ 33
707// MIPS64BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
708// MIPS64BE:#define __LDBL_HAS_DENORM__ 1
709// MIPS64BE:#define __LDBL_HAS_INFINITY__ 1
710// MIPS64BE:#define __LDBL_HAS_QUIET_NAN__ 1
711// MIPS64BE:#define __LDBL_MANT_DIG__ 113
712// MIPS64BE:#define __LDBL_MAX_10_EXP__ 4932
713// MIPS64BE:#define __LDBL_MAX_EXP__ 16384
714// MIPS64BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
715// MIPS64BE:#define __LDBL_MIN_10_EXP__ (-4931)
716// MIPS64BE:#define __LDBL_MIN_EXP__ (-16381)
717// MIPS64BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
718// MIPS64BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
719// MIPS64BE:#define __LONG_MAX__ 9223372036854775807L
720// MIPS64BE:#define __MIPSEB 1
721// MIPS64BE:#define __MIPSEB__ 1
722// MIPS64BE:#define __NO_INLINE__ 1
723// MIPS64BE:#define __POINTER_WIDTH__ 64
724// MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1
725// MIPS64BE:#define __PTRDIFF_TYPE__ long int
726// MIPS64BE:#define __PTRDIFF_WIDTH__ 64
727// MIPS64BE:#define __REGISTER_PREFIX__
728// MIPS64BE:#define __SCHAR_MAX__ 127
729// MIPS64BE:#define __SHRT_MAX__ 32767
730// MIPS64BE:#define __SIG_ATOMIC_WIDTH__ 32
731// MIPS64BE:#define __SIZEOF_DOUBLE__ 8
732// MIPS64BE:#define __SIZEOF_FLOAT__ 4
733// MIPS64BE:#define __SIZEOF_INT__ 4
734// MIPS64BE:#define __SIZEOF_LONG_DOUBLE__ 16
735// MIPS64BE:#define __SIZEOF_LONG_LONG__ 8
736// MIPS64BE:#define __SIZEOF_LONG__ 8
737// MIPS64BE:#define __SIZEOF_POINTER__ 8
738// MIPS64BE:#define __SIZEOF_PTRDIFF_T__ 8
739// MIPS64BE:#define __SIZEOF_SHORT__ 2
740// MIPS64BE:#define __SIZEOF_SIZE_T__ 8
741// MIPS64BE:#define __SIZEOF_WCHAR_T__ 4
742// MIPS64BE:#define __SIZEOF_WINT_T__ 4
743// MIPS64BE:#define __SIZE_TYPE__ long unsigned int
744// MIPS64BE:#define __SIZE_WIDTH__ 64
745// MIPS64BE:#define __UINTMAX_TYPE__ long long unsigned int
746// MIPS64BE:#define __USER_LABEL_PREFIX__ _
747// MIPS64BE:#define __WCHAR_MAX__ 2147483647
748// MIPS64BE:#define __WCHAR_TYPE__ int
749// MIPS64BE:#define __WCHAR_WIDTH__ 32
750// MIPS64BE:#define __WINT_TYPE__ int
751// MIPS64BE:#define __WINT_WIDTH__ 32
752// MIPS64BE:#define __clang__ 1
753// MIPS64BE:#define __llvm__ 1
754// MIPS64BE:#define __mips 1
755// MIPS64BE:#define __mips__ 1
756// MIPS64BE:#define __mips_hard_float 1
757// MIPS64BE:#define __mips_n64 1
758// MIPS64BE:#define _mips 1
759// MIPS64BE:#define mips 1
760//
761// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -check-prefix MIPS64EL %s
762//
763// MIPS64EL:#define MIPSEL 1
764// MIPS64EL:#define _ABI64 3
765// MIPS64EL:#define _MIPSEL 1
766// MIPS64EL:#define _MIPS_SIM _ABI64
767// MIPS64EL:#define _MIPS_SZINT 32
768// MIPS64EL:#define _MIPS_SZLONG 64
769// MIPS64EL:#define _MIPS_SZPTR 64
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000770// MIPS64EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Simon Atanasyan7a521802012-04-06 08:37:24 +0000771// MIPS64EL:#define __CHAR16_TYPE__ unsigned short
772// MIPS64EL:#define __CHAR32_TYPE__ unsigned int
773// MIPS64EL:#define __CHAR_BIT__ 8
774// MIPS64EL:#define __CONSTANT_CFSTRINGS__ 1
775// MIPS64EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
776// MIPS64EL:#define __DBL_DIG__ 15
777// MIPS64EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
778// MIPS64EL:#define __DBL_HAS_DENORM__ 1
779// MIPS64EL:#define __DBL_HAS_INFINITY__ 1
780// MIPS64EL:#define __DBL_HAS_QUIET_NAN__ 1
781// MIPS64EL:#define __DBL_MANT_DIG__ 53
782// MIPS64EL:#define __DBL_MAX_10_EXP__ 308
783// MIPS64EL:#define __DBL_MAX_EXP__ 1024
784// MIPS64EL:#define __DBL_MAX__ 1.7976931348623157e+308
785// MIPS64EL:#define __DBL_MIN_10_EXP__ (-307)
786// MIPS64EL:#define __DBL_MIN_EXP__ (-1021)
787// MIPS64EL:#define __DBL_MIN__ 2.2250738585072014e-308
788// MIPS64EL:#define __DECIMAL_DIG__ 36
789// MIPS64EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
790// MIPS64EL:#define __FLT_DIG__ 6
791// MIPS64EL:#define __FLT_EPSILON__ 1.19209290e-7F
792// MIPS64EL:#define __FLT_EVAL_METHOD__ 0
793// MIPS64EL:#define __FLT_HAS_DENORM__ 1
794// MIPS64EL:#define __FLT_HAS_INFINITY__ 1
795// MIPS64EL:#define __FLT_HAS_QUIET_NAN__ 1
796// MIPS64EL:#define __FLT_MANT_DIG__ 24
797// MIPS64EL:#define __FLT_MAX_10_EXP__ 38
798// MIPS64EL:#define __FLT_MAX_EXP__ 128
799// MIPS64EL:#define __FLT_MAX__ 3.40282347e+38F
800// MIPS64EL:#define __FLT_MIN_10_EXP__ (-37)
801// MIPS64EL:#define __FLT_MIN_EXP__ (-125)
802// MIPS64EL:#define __FLT_MIN__ 1.17549435e-38F
803// MIPS64EL:#define __FLT_RADIX__ 2
804// MIPS64EL:#define __INT16_TYPE__ short
805// MIPS64EL:#define __INT32_TYPE__ int
806// MIPS64EL:#define __INT64_C_SUFFIX__ LL
807// MIPS64EL:#define __INT64_TYPE__ long long int
808// MIPS64EL:#define __INT8_TYPE__ char
809// MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807LL
810// MIPS64EL:#define __INTMAX_TYPE__ long long int
811// MIPS64EL:#define __INTMAX_WIDTH__ 64
812// MIPS64EL:#define __INTPTR_TYPE__ long int
813// MIPS64EL:#define __INTPTR_WIDTH__ 64
814// MIPS64EL:#define __INT_MAX__ 2147483647
815// MIPS64EL:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
816// MIPS64EL:#define __LDBL_DIG__ 33
817// MIPS64EL:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
818// MIPS64EL:#define __LDBL_HAS_DENORM__ 1
819// MIPS64EL:#define __LDBL_HAS_INFINITY__ 1
820// MIPS64EL:#define __LDBL_HAS_QUIET_NAN__ 1
821// MIPS64EL:#define __LDBL_MANT_DIG__ 113
822// MIPS64EL:#define __LDBL_MAX_10_EXP__ 4932
823// MIPS64EL:#define __LDBL_MAX_EXP__ 16384
824// MIPS64EL:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
825// MIPS64EL:#define __LDBL_MIN_10_EXP__ (-4931)
826// MIPS64EL:#define __LDBL_MIN_EXP__ (-16381)
827// MIPS64EL:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
828// MIPS64EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
829// MIPS64EL:#define __LONG_MAX__ 9223372036854775807L
830// MIPS64EL:#define __MIPSEL 1
831// MIPS64EL:#define __MIPSEL__ 1
832// MIPS64EL:#define __NO_INLINE__ 1
833// MIPS64EL:#define __POINTER_WIDTH__ 64
834// MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1
835// MIPS64EL:#define __PTRDIFF_TYPE__ long int
836// MIPS64EL:#define __PTRDIFF_WIDTH__ 64
837// MIPS64EL:#define __REGISTER_PREFIX__
838// MIPS64EL:#define __SCHAR_MAX__ 127
839// MIPS64EL:#define __SHRT_MAX__ 32767
840// MIPS64EL:#define __SIG_ATOMIC_WIDTH__ 32
841// MIPS64EL:#define __SIZEOF_DOUBLE__ 8
842// MIPS64EL:#define __SIZEOF_FLOAT__ 4
843// MIPS64EL:#define __SIZEOF_INT__ 4
844// MIPS64EL:#define __SIZEOF_LONG_DOUBLE__ 16
845// MIPS64EL:#define __SIZEOF_LONG_LONG__ 8
846// MIPS64EL:#define __SIZEOF_LONG__ 8
847// MIPS64EL:#define __SIZEOF_POINTER__ 8
848// MIPS64EL:#define __SIZEOF_PTRDIFF_T__ 8
849// MIPS64EL:#define __SIZEOF_SHORT__ 2
850// MIPS64EL:#define __SIZEOF_SIZE_T__ 8
851// MIPS64EL:#define __SIZEOF_WCHAR_T__ 4
852// MIPS64EL:#define __SIZEOF_WINT_T__ 4
853// MIPS64EL:#define __SIZE_TYPE__ long unsigned int
854// MIPS64EL:#define __SIZE_WIDTH__ 64
855// MIPS64EL:#define __UINTMAX_TYPE__ long long unsigned int
856// MIPS64EL:#define __USER_LABEL_PREFIX__ _
857// MIPS64EL:#define __WCHAR_MAX__ 2147483647
858// MIPS64EL:#define __WCHAR_TYPE__ int
859// MIPS64EL:#define __WCHAR_WIDTH__ 32
860// MIPS64EL:#define __WINT_TYPE__ int
861// MIPS64EL:#define __WINT_WIDTH__ 32
862// MIPS64EL:#define __clang__ 1
863// MIPS64EL:#define __llvm__ 1
864// MIPS64EL:#define __mips 1
865// MIPS64EL:#define __mips__ 1
866// MIPS64EL:#define __mips_hard_float 1
867// MIPS64EL:#define __mips_n64 1
868// MIPS64EL:#define _mips 1
869// MIPS64EL:#define mips 1
870//
Simon Atanasyanaba3f0f2012-04-06 17:51:49 +0000871// Check MIPS float ABI macros
872//
873// RUN: %clang_cc1 -E -dM -ffreestanding \
874// RUN: -triple=mips-none-none < /dev/null \
875// RUN: | FileCheck -check-prefix MIPS-FABI-HARD %s
876// MIPS-FABI-HARD:#define __mips_hard_float 1
877//
878// RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \
879// RUN: -triple=mips-none-none < /dev/null \
880// RUN: | FileCheck -check-prefix MIPS-FABI-SOFT %s
881// MIPS-FABI-SOFT:#define __mips_soft_float 1
882//
883// RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \
884// RUN: -triple=mips-none-none < /dev/null \
885// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE %s
Simon Atanasyan3dbcc882012-06-05 13:06:56 +0000886// MIPS-FABI-SINGLE:#define __mips_hard_float 1
Simon Atanasyanaba3f0f2012-04-06 17:51:49 +0000887// MIPS-FABI-SINGLE:#define __mips_single_float 1
888//
Simon Atanasyan1176bcd2012-07-05 16:06:06 +0000889// Check MIPS features macros
890//
891// RUN: %clang_cc1 -target-feature +mips16 \
892// RUN: -E -dM -triple=mips-none-none < /dev/null \
893// RUN: | FileCheck -check-prefix MIPS16 %s
894// MIPS16:#define __mips16 1
895//
896// RUN: %clang_cc1 -target-feature -mips16 \
897// RUN: -E -dM -triple=mips-none-none < /dev/null \
898// RUN: | FileCheck -check-prefix NOMIPS16 %s
899// NOMIPS16-NOT:#define __mips16 1
900//
Simon Atanasyana1b62272012-07-05 20:16:22 +0000901// RUN: %clang_cc1 -target-feature +dsp \
902// RUN: -E -dM -triple=mips-none-none < /dev/null \
903// RUN: | FileCheck -check-prefix MIPS-DSP %s
904// MIPS-DSP:#define __mips_dsp 1
905// MIPS-DSP:#define __mips_dsp_rev 1
906// MIPS-DSP-NOT:#define __mips_dspr2 1
907//
908// RUN: %clang_cc1 -target-feature +dspr2 \
909// RUN: -E -dM -triple=mips-none-none < /dev/null \
910// RUN: | FileCheck -check-prefix MIPS-DSPR2 %s
911// MIPS-DSPR2:#define __mips_dsp 1
912// MIPS-DSPR2:#define __mips_dsp_rev 2
913// MIPS-DSPR2:#define __mips_dspr2 1
914//
Daniel Dunbara5728872009-12-15 20:14:24 +0000915// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000916//
917// MSP430:#define MSP430 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +0000918// MSP430:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +0000919// MSP430:#define __CHAR16_TYPE__ unsigned short
920// MSP430:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000921// MSP430:#define __CHAR_BIT__ 8
922// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
923// MSP430:#define __DBL_DIG__ 15
924// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
925// MSP430:#define __DBL_HAS_DENORM__ 1
926// MSP430:#define __DBL_HAS_INFINITY__ 1
927// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
928// MSP430:#define __DBL_MANT_DIG__ 53
929// MSP430:#define __DBL_MAX_10_EXP__ 308
930// MSP430:#define __DBL_MAX_EXP__ 1024
931// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
932// MSP430:#define __DBL_MIN_10_EXP__ (-307)
933// MSP430:#define __DBL_MIN_EXP__ (-1021)
934// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
935// MSP430:#define __DECIMAL_DIG__ 17
936// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
937// MSP430:#define __FLT_DIG__ 6
938// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
939// MSP430:#define __FLT_EVAL_METHOD__ 0
940// MSP430:#define __FLT_HAS_DENORM__ 1
941// MSP430:#define __FLT_HAS_INFINITY__ 1
942// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
943// MSP430:#define __FLT_MANT_DIG__ 24
944// MSP430:#define __FLT_MAX_10_EXP__ 38
945// MSP430:#define __FLT_MAX_EXP__ 128
946// MSP430:#define __FLT_MAX__ 3.40282347e+38F
947// MSP430:#define __FLT_MIN_10_EXP__ (-37)
948// MSP430:#define __FLT_MIN_EXP__ (-125)
949// MSP430:#define __FLT_MIN__ 1.17549435e-38F
950// MSP430:#define __FLT_RADIX__ 2
951// MSP430:#define __INT16_TYPE__ short
Ken Dyckeef22ef2009-11-16 16:36:33 +0000952// MSP430:#define __INT32_C_SUFFIX__ L
Chris Lattnerdcdd2a02009-11-12 08:08:27 +0000953// MSP430:#define __INT32_TYPE__ long int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000954// MSP430:#define __INT8_TYPE__ char
955// MSP430:#define __INTMAX_MAX__ 2147483647L
Ken Dyck8241d732009-11-19 13:18:59 +0000956// MSP430:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +0000957// MSP430:#define __INTMAX_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000958// MSP430:#define __INTPTR_TYPE__ short
Ken Dyckd896e1a2009-11-18 20:05:48 +0000959// MSP430:#define __INTPTR_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +0000960// MSP430:#define __INT_MAX__ 32767
961// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
962// MSP430:#define __LDBL_DIG__ 15
963// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16
964// MSP430:#define __LDBL_HAS_DENORM__ 1
965// MSP430:#define __LDBL_HAS_INFINITY__ 1
966// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
967// MSP430:#define __LDBL_MANT_DIG__ 53
968// MSP430:#define __LDBL_MAX_10_EXP__ 308
969// MSP430:#define __LDBL_MAX_EXP__ 1024
970// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308
971// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
972// MSP430:#define __LDBL_MIN_EXP__ (-1021)
973// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308
Anton Korobeynikov79bff432010-01-14 21:36:52 +0000974// MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000975// MSP430:#define __LONG_MAX__ 2147483647L
976// MSP430:#define __MSP430__ 1
977// MSP430:#define __NO_INLINE__ 1
978// MSP430:#define __POINTER_WIDTH__ 16
Ken Dyck8241d732009-11-19 13:18:59 +0000979// MSP430:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +0000980// MSP430:#define __PTRDIFF_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +0000981// MSP430:#define __SCHAR_MAX__ 127
982// MSP430:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000983// MSP430:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000984// MSP430:#define __SIZEOF_DOUBLE__ 8
985// MSP430:#define __SIZEOF_FLOAT__ 4
986// MSP430:#define __SIZEOF_INT__ 2
987// MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
988// MSP430:#define __SIZEOF_LONG_LONG__ 8
989// MSP430:#define __SIZEOF_LONG__ 4
990// MSP430:#define __SIZEOF_POINTER__ 2
991// MSP430:#define __SIZEOF_PTRDIFF_T__ 2
992// MSP430:#define __SIZEOF_SHORT__ 2
993// MSP430:#define __SIZEOF_SIZE_T__ 2
994// MSP430:#define __SIZEOF_WCHAR_T__ 2
995// MSP430:#define __SIZEOF_WINT_T__ 2
Chris Lattnerbceaf862009-10-29 04:55:36 +0000996// MSP430:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000997// MSP430:#define __SIZE_WIDTH__ 16
Ken Dyck8241d732009-11-19 13:18:59 +0000998// MSP430:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000999// MSP430:#define __USER_LABEL_PREFIX__ _
Chris Lattner91846462009-11-12 08:04:33 +00001000// MSP430:#define __WCHAR_MAX__ 32767
Chris Lattnerbceaf862009-10-29 04:55:36 +00001001// MSP430:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001002// MSP430:#define __WCHAR_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +00001003// MSP430:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001004// MSP430:#define __WINT_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +00001005// MSP430:#define __clang__ 1
1006//
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001007// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s
1008//
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001009// NVPTX32:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001010// NVPTX32:#define __CHAR16_TYPE__ unsigned short
1011// NVPTX32:#define __CHAR32_TYPE__ unsigned int
1012// NVPTX32:#define __CHAR_BIT__ 8
1013// NVPTX32:#define __CONSTANT_CFSTRINGS__ 1
1014// NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1015// NVPTX32:#define __DBL_DIG__ 15
1016// NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16
1017// NVPTX32:#define __DBL_HAS_DENORM__ 1
1018// NVPTX32:#define __DBL_HAS_INFINITY__ 1
1019// NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1
1020// NVPTX32:#define __DBL_MANT_DIG__ 53
1021// NVPTX32:#define __DBL_MAX_10_EXP__ 308
1022// NVPTX32:#define __DBL_MAX_EXP__ 1024
1023// NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308
1024// NVPTX32:#define __DBL_MIN_10_EXP__ (-307)
1025// NVPTX32:#define __DBL_MIN_EXP__ (-1021)
1026// NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308
1027// NVPTX32:#define __DECIMAL_DIG__ 17
1028// NVPTX32:#define __FINITE_MATH_ONLY__ 0
1029// NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1030// NVPTX32:#define __FLT_DIG__ 6
1031// NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F
1032// NVPTX32:#define __FLT_EVAL_METHOD__ 0
1033// NVPTX32:#define __FLT_HAS_DENORM__ 1
1034// NVPTX32:#define __FLT_HAS_INFINITY__ 1
1035// NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1
1036// NVPTX32:#define __FLT_MANT_DIG__ 24
1037// NVPTX32:#define __FLT_MAX_10_EXP__ 38
1038// NVPTX32:#define __FLT_MAX_EXP__ 128
1039// NVPTX32:#define __FLT_MAX__ 3.40282347e+38F
1040// NVPTX32:#define __FLT_MIN_10_EXP__ (-37)
1041// NVPTX32:#define __FLT_MIN_EXP__ (-125)
1042// NVPTX32:#define __FLT_MIN__ 1.17549435e-38F
1043// NVPTX32:#define __FLT_RADIX__ 2
1044// NVPTX32:#define __INT16_TYPE__ short
1045// NVPTX32:#define __INT32_TYPE__ int
1046// NVPTX32:#define __INT64_C_SUFFIX__ LL
1047// NVPTX32:#define __INT64_TYPE__ long long int
1048// NVPTX32:#define __INT8_TYPE__ char
1049// NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL
1050// NVPTX32:#define __INTMAX_TYPE__ long long int
1051// NVPTX32:#define __INTMAX_WIDTH__ 64
1052// NVPTX32:#define __INTPTR_TYPE__ unsigned int
1053// NVPTX32:#define __INTPTR_WIDTH__ 32
1054// NVPTX32:#define __INT_MAX__ 2147483647
1055// NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
1056// NVPTX32:#define __LDBL_DIG__ 15
1057// NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16
1058// NVPTX32:#define __LDBL_HAS_DENORM__ 1
1059// NVPTX32:#define __LDBL_HAS_INFINITY__ 1
1060// NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1
1061// NVPTX32:#define __LDBL_MANT_DIG__ 53
1062// NVPTX32:#define __LDBL_MAX_10_EXP__ 308
1063// NVPTX32:#define __LDBL_MAX_EXP__ 1024
1064// NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308
1065// NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
1066// NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
1067// NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308
1068// NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL
1069// NVPTX32:#define __LONG_MAX__ 9223372036854775807L
1070// NVPTX32:#define __NVPTX__ 1
1071// NVPTX32:#define __POINTER_WIDTH__ 32
1072// NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1
1073// NVPTX32:#define __PTRDIFF_TYPE__ unsigned int
1074// NVPTX32:#define __PTRDIFF_WIDTH__ 32
1075// NVPTX32:#define __PTX__ 1
1076// NVPTX32:#define __SCHAR_MAX__ 127
1077// NVPTX32:#define __SHRT_MAX__ 32767
1078// NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32
1079// NVPTX32:#define __SIZEOF_DOUBLE__ 8
1080// NVPTX32:#define __SIZEOF_FLOAT__ 4
1081// NVPTX32:#define __SIZEOF_INT__ 4
1082// NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8
1083// NVPTX32:#define __SIZEOF_LONG_LONG__ 8
1084// NVPTX32:#define __SIZEOF_LONG__ 8
1085// NVPTX32:#define __SIZEOF_POINTER__ 4
1086// NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4
1087// NVPTX32:#define __SIZEOF_SHORT__ 2
1088// NVPTX32:#define __SIZEOF_SIZE_T__ 4
1089// NVPTX32:#define __SIZEOF_WCHAR_T__ 4
1090// NVPTX32:#define __SIZEOF_WINT_T__ 4
1091// NVPTX32:#define __SIZE_TYPE__ unsigned int
1092// NVPTX32:#define __SIZE_WIDTH__ 32
1093// NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int
1094// NVPTX32:#define __USER_LABEL_PREFIX__ _
1095// NVPTX32:#define __WCHAR_MAX__ 2147483647
1096// NVPTX32:#define __WCHAR_TYPE__ int
1097// NVPTX32:#define __WCHAR_WIDTH__ 32
1098// NVPTX32:#define __WINT_TYPE__ int
1099// NVPTX32:#define __WINT_WIDTH__ 32
1100//
1101// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -check-prefix NVPTX64 %s
1102//
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001103// NVPTX64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dylan Noblesmith77a4d572012-07-27 16:37:53 +00001104// NVPTX64:#define __CHAR16_TYPE__ unsigned short
1105// NVPTX64:#define __CHAR32_TYPE__ unsigned int
1106// NVPTX64:#define __CHAR_BIT__ 8
1107// NVPTX64:#define __CONSTANT_CFSTRINGS__ 1
1108// NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1109// NVPTX64:#define __DBL_DIG__ 15
1110// NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1111// NVPTX64:#define __DBL_HAS_DENORM__ 1
1112// NVPTX64:#define __DBL_HAS_INFINITY__ 1
1113// NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1
1114// NVPTX64:#define __DBL_MANT_DIG__ 53
1115// NVPTX64:#define __DBL_MAX_10_EXP__ 308
1116// NVPTX64:#define __DBL_MAX_EXP__ 1024
1117// NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308
1118// NVPTX64:#define __DBL_MIN_10_EXP__ (-307)
1119// NVPTX64:#define __DBL_MIN_EXP__ (-1021)
1120// NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308
1121// NVPTX64:#define __DECIMAL_DIG__ 17
1122// NVPTX64:#define __FINITE_MATH_ONLY__ 0
1123// NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1124// NVPTX64:#define __FLT_DIG__ 6
1125// NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F
1126// NVPTX64:#define __FLT_EVAL_METHOD__ 0
1127// NVPTX64:#define __FLT_HAS_DENORM__ 1
1128// NVPTX64:#define __FLT_HAS_INFINITY__ 1
1129// NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1
1130// NVPTX64:#define __FLT_MANT_DIG__ 24
1131// NVPTX64:#define __FLT_MAX_10_EXP__ 38
1132// NVPTX64:#define __FLT_MAX_EXP__ 128
1133// NVPTX64:#define __FLT_MAX__ 3.40282347e+38F
1134// NVPTX64:#define __FLT_MIN_10_EXP__ (-37)
1135// NVPTX64:#define __FLT_MIN_EXP__ (-125)
1136// NVPTX64:#define __FLT_MIN__ 1.17549435e-38F
1137// NVPTX64:#define __FLT_RADIX__ 2
1138// NVPTX64:#define __INT16_TYPE__ short
1139// NVPTX64:#define __INT32_TYPE__ int
1140// NVPTX64:#define __INT64_C_SUFFIX__ LL
1141// NVPTX64:#define __INT64_TYPE__ long long int
1142// NVPTX64:#define __INT8_TYPE__ char
1143// NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL
1144// NVPTX64:#define __INTMAX_TYPE__ long long int
1145// NVPTX64:#define __INTMAX_WIDTH__ 64
1146// NVPTX64:#define __INTPTR_TYPE__ long long unsigned int
1147// NVPTX64:#define __INTPTR_WIDTH__ 64
1148// NVPTX64:#define __INT_MAX__ 2147483647
1149// NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
1150// NVPTX64:#define __LDBL_DIG__ 15
1151// NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16
1152// NVPTX64:#define __LDBL_HAS_DENORM__ 1
1153// NVPTX64:#define __LDBL_HAS_INFINITY__ 1
1154// NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1
1155// NVPTX64:#define __LDBL_MANT_DIG__ 53
1156// NVPTX64:#define __LDBL_MAX_10_EXP__ 308
1157// NVPTX64:#define __LDBL_MAX_EXP__ 1024
1158// NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308
1159// NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
1160// NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
1161// NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308
1162// NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1163// NVPTX64:#define __LONG_MAX__ 9223372036854775807L
1164// NVPTX64:#define __NVPTX__ 1
1165// NVPTX64:#define __POINTER_WIDTH__ 64
1166// NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1
1167// NVPTX64:#define __PTRDIFF_TYPE__ long long unsigned int
1168// NVPTX64:#define __PTRDIFF_WIDTH__ 64
1169// NVPTX64:#define __PTX__ 1
1170// NVPTX64:#define __SCHAR_MAX__ 127
1171// NVPTX64:#define __SHRT_MAX__ 32767
1172// NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32
1173// NVPTX64:#define __SIZEOF_DOUBLE__ 8
1174// NVPTX64:#define __SIZEOF_FLOAT__ 4
1175// NVPTX64:#define __SIZEOF_INT__ 4
1176// NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8
1177// NVPTX64:#define __SIZEOF_LONG_LONG__ 8
1178// NVPTX64:#define __SIZEOF_LONG__ 8
1179// NVPTX64:#define __SIZEOF_POINTER__ 8
1180// NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8
1181// NVPTX64:#define __SIZEOF_SHORT__ 2
1182// NVPTX64:#define __SIZEOF_SIZE_T__ 8
1183// NVPTX64:#define __SIZEOF_WCHAR_T__ 4
1184// NVPTX64:#define __SIZEOF_WINT_T__ 4
1185// NVPTX64:#define __SIZE_TYPE__ long long unsigned int
1186// NVPTX64:#define __SIZE_WIDTH__ 64
1187// NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int
1188// NVPTX64:#define __USER_LABEL_PREFIX__ _
1189// NVPTX64:#define __WCHAR_MAX__ 2147483647
1190// NVPTX64:#define __WCHAR_TYPE__ int
1191// NVPTX64:#define __WCHAR_WIDTH__ 32
1192// NVPTX64:#define __WINT_TYPE__ int
1193// NVPTX64:#define __WINT_WIDTH__ 32
1194//
Hal Finkel39d5fa12012-07-03 16:51:04 +00001195// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -check-prefix PPC603E %s
1196//
1197// PPC603E:#define _ARCH_603 1
1198// PPC603E:#define _ARCH_603E 1
1199// PPC603E:#define _ARCH_PPC 1
1200// PPC603E:#define _ARCH_PPCGR 1
1201// PPC603E:#define _BIG_ENDIAN 1
1202// PPC603E:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001203// PPC603E:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Hal Finkel39d5fa12012-07-03 16:51:04 +00001204// PPC603E:#define __CHAR16_TYPE__ unsigned short
1205// PPC603E:#define __CHAR32_TYPE__ unsigned int
1206// PPC603E:#define __CHAR_BIT__ 8
1207// PPC603E:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1208// PPC603E:#define __DBL_DIG__ 15
1209// PPC603E:#define __DBL_EPSILON__ 2.2204460492503131e-16
1210// PPC603E:#define __DBL_HAS_DENORM__ 1
1211// PPC603E:#define __DBL_HAS_INFINITY__ 1
1212// PPC603E:#define __DBL_HAS_QUIET_NAN__ 1
1213// PPC603E:#define __DBL_MANT_DIG__ 53
1214// PPC603E:#define __DBL_MAX_10_EXP__ 308
1215// PPC603E:#define __DBL_MAX_EXP__ 1024
1216// PPC603E:#define __DBL_MAX__ 1.7976931348623157e+308
1217// PPC603E:#define __DBL_MIN_10_EXP__ (-307)
1218// PPC603E:#define __DBL_MIN_EXP__ (-1021)
1219// PPC603E:#define __DBL_MIN__ 2.2250738585072014e-308
1220// PPC603E:#define __DECIMAL_DIG__ 33
1221// PPC603E:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1222// PPC603E:#define __FLT_DIG__ 6
1223// PPC603E:#define __FLT_EPSILON__ 1.19209290e-7F
1224// PPC603E:#define __FLT_EVAL_METHOD__ 0
1225// PPC603E:#define __FLT_HAS_DENORM__ 1
1226// PPC603E:#define __FLT_HAS_INFINITY__ 1
1227// PPC603E:#define __FLT_HAS_QUIET_NAN__ 1
1228// PPC603E:#define __FLT_MANT_DIG__ 24
1229// PPC603E:#define __FLT_MAX_10_EXP__ 38
1230// PPC603E:#define __FLT_MAX_EXP__ 128
1231// PPC603E:#define __FLT_MAX__ 3.40282347e+38F
1232// PPC603E:#define __FLT_MIN_10_EXP__ (-37)
1233// PPC603E:#define __FLT_MIN_EXP__ (-125)
1234// PPC603E:#define __FLT_MIN__ 1.17549435e-38F
1235// PPC603E:#define __FLT_RADIX__ 2
1236// PPC603E:#define __INT16_TYPE__ short
1237// PPC603E:#define __INT32_TYPE__ int
1238// PPC603E:#define __INT64_C_SUFFIX__ LL
1239// PPC603E:#define __INT64_TYPE__ long long int
1240// PPC603E:#define __INT8_TYPE__ char
1241// PPC603E:#define __INTMAX_MAX__ 9223372036854775807LL
1242// PPC603E:#define __INTMAX_TYPE__ long long int
1243// PPC603E:#define __INTMAX_WIDTH__ 64
1244// PPC603E:#define __INTPTR_TYPE__ long int
1245// PPC603E:#define __INTPTR_WIDTH__ 32
1246// PPC603E:#define __INT_MAX__ 2147483647
1247// PPC603E:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1248// PPC603E:#define __LDBL_DIG__ 31
1249// PPC603E:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1250// PPC603E:#define __LDBL_HAS_DENORM__ 1
1251// PPC603E:#define __LDBL_HAS_INFINITY__ 1
1252// PPC603E:#define __LDBL_HAS_QUIET_NAN__ 1
1253// PPC603E:#define __LDBL_MANT_DIG__ 106
1254// PPC603E:#define __LDBL_MAX_10_EXP__ 308
1255// PPC603E:#define __LDBL_MAX_EXP__ 1024
1256// PPC603E:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1257// PPC603E:#define __LDBL_MIN_10_EXP__ (-291)
1258// PPC603E:#define __LDBL_MIN_EXP__ (-968)
1259// PPC603E:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1260// PPC603E:#define __LONG_DOUBLE_128__ 1
1261// PPC603E:#define __LONG_LONG_MAX__ 9223372036854775807LL
1262// PPC603E:#define __LONG_MAX__ 2147483647L
1263// PPC603E:#define __NATURAL_ALIGNMENT__ 1
1264// PPC603E:#define __NO_INLINE__ 1
1265// PPC603E:#define __POINTER_WIDTH__ 32
1266// PPC603E:#define __POWERPC__ 1
1267// PPC603E:#define __PTRDIFF_TYPE__ long int
1268// PPC603E:#define __PTRDIFF_WIDTH__ 32
1269// PPC603E:#define __REGISTER_PREFIX__
1270// PPC603E:#define __SCHAR_MAX__ 127
1271// PPC603E:#define __SHRT_MAX__ 32767
1272// PPC603E:#define __SIG_ATOMIC_WIDTH__ 32
1273// PPC603E:#define __SIZEOF_DOUBLE__ 8
1274// PPC603E:#define __SIZEOF_FLOAT__ 4
1275// PPC603E:#define __SIZEOF_INT__ 4
1276// PPC603E:#define __SIZEOF_LONG_DOUBLE__ 16
1277// PPC603E:#define __SIZEOF_LONG_LONG__ 8
1278// PPC603E:#define __SIZEOF_LONG__ 4
1279// PPC603E:#define __SIZEOF_POINTER__ 4
1280// PPC603E:#define __SIZEOF_PTRDIFF_T__ 4
1281// PPC603E:#define __SIZEOF_SHORT__ 2
1282// PPC603E:#define __SIZEOF_SIZE_T__ 4
1283// PPC603E:#define __SIZEOF_WCHAR_T__ 4
1284// PPC603E:#define __SIZEOF_WINT_T__ 4
1285// PPC603E:#define __SIZE_TYPE__ long unsigned int
1286// PPC603E:#define __SIZE_WIDTH__ 32
1287// PPC603E:#define __UINTMAX_TYPE__ long long unsigned int
1288// PPC603E:#define __USER_LABEL_PREFIX__ _
1289// PPC603E:#define __WCHAR_MAX__ 2147483647
1290// PPC603E:#define __WCHAR_TYPE__ int
1291// PPC603E:#define __WCHAR_WIDTH__ 32
1292// PPC603E:#define __WINT_TYPE__ int
1293// PPC603E:#define __WINT_WIDTH__ 32
1294// PPC603E:#define __powerpc__ 1
1295// PPC603E:#define __ppc__ 1
1296//
Hal Finkel02a84272012-06-11 22:35:19 +00001297// 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 +00001298//
1299// PPC64:#define _ARCH_PPC 1
1300// PPC64:#define _ARCH_PPC64 1
Hal Finkel39d5fa12012-07-03 16:51:04 +00001301// PPC64:#define _ARCH_PPCGR 1
1302// PPC64:#define _ARCH_PPCSQ 1
1303// PPC64:#define _ARCH_PWR4 1
1304// PPC64:#define _ARCH_PWR5 1
1305// PPC64:#define _ARCH_PWR6 1
Hal Finkel02a84272012-06-11 22:35:19 +00001306// PPC64:#define _ARCH_PWR7 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00001307// PPC64:#define _BIG_ENDIAN 1
1308// PPC64:#define _LP64 1
1309// PPC64:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001310// PPC64:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00001311// PPC64:#define __CHAR16_TYPE__ unsigned short
1312// PPC64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001313// PPC64:#define __CHAR_BIT__ 8
1314// PPC64:#define __CHAR_UNSIGNED__ 1
1315// PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1316// PPC64:#define __DBL_DIG__ 15
1317// PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1318// PPC64:#define __DBL_HAS_DENORM__ 1
1319// PPC64:#define __DBL_HAS_INFINITY__ 1
1320// PPC64:#define __DBL_HAS_QUIET_NAN__ 1
1321// PPC64:#define __DBL_MANT_DIG__ 53
1322// PPC64:#define __DBL_MAX_10_EXP__ 308
1323// PPC64:#define __DBL_MAX_EXP__ 1024
1324// PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
1325// PPC64:#define __DBL_MIN_10_EXP__ (-307)
1326// PPC64:#define __DBL_MIN_EXP__ (-1021)
1327// PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001328// PPC64:#define __DECIMAL_DIG__ 33
Chris Lattnerbceaf862009-10-29 04:55:36 +00001329// PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1330// PPC64:#define __FLT_DIG__ 6
1331// PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
1332// PPC64:#define __FLT_EVAL_METHOD__ 0
1333// PPC64:#define __FLT_HAS_DENORM__ 1
1334// PPC64:#define __FLT_HAS_INFINITY__ 1
1335// PPC64:#define __FLT_HAS_QUIET_NAN__ 1
1336// PPC64:#define __FLT_MANT_DIG__ 24
1337// PPC64:#define __FLT_MAX_10_EXP__ 38
1338// PPC64:#define __FLT_MAX_EXP__ 128
1339// PPC64:#define __FLT_MAX__ 3.40282347e+38F
1340// PPC64:#define __FLT_MIN_10_EXP__ (-37)
1341// PPC64:#define __FLT_MIN_EXP__ (-125)
1342// PPC64:#define __FLT_MIN__ 1.17549435e-38F
1343// PPC64:#define __FLT_RADIX__ 2
1344// PPC64:#define __INT16_TYPE__ short
1345// PPC64:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00001346// PPC64:#define __INT64_C_SUFFIX__ L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001347// PPC64:#define __INT64_TYPE__ long int
1348// PPC64:#define __INT8_TYPE__ char
1349// PPC64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck8241d732009-11-19 13:18:59 +00001350// PPC64:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00001351// PPC64:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001352// PPC64:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00001353// PPC64:#define __INTPTR_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001354// PPC64:#define __INT_MAX__ 2147483647
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001355// PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1356// PPC64:#define __LDBL_DIG__ 31
1357// PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001358// PPC64:#define __LDBL_HAS_DENORM__ 1
1359// PPC64:#define __LDBL_HAS_INFINITY__ 1
1360// PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001361// PPC64:#define __LDBL_MANT_DIG__ 106
Chris Lattnerbceaf862009-10-29 04:55:36 +00001362// PPC64:#define __LDBL_MAX_10_EXP__ 308
1363// PPC64:#define __LDBL_MAX_EXP__ 1024
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001364// PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1365// PPC64:#define __LDBL_MIN_10_EXP__ (-291)
1366// PPC64:#define __LDBL_MIN_EXP__ (-968)
1367// PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001368// PPC64:#define __LONG_DOUBLE_128__ 1
1369// PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1370// PPC64:#define __LONG_MAX__ 9223372036854775807L
1371// PPC64:#define __LP64__ 1
1372// PPC64:#define __NATURAL_ALIGNMENT__ 1
1373// PPC64:#define __NO_INLINE__ 1
1374// PPC64:#define __POINTER_WIDTH__ 64
1375// PPC64:#define __POWERPC__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00001376// PPC64:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00001377// PPC64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001378// PPC64:#define __REGISTER_PREFIX__
1379// PPC64:#define __SCHAR_MAX__ 127
1380// PPC64:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00001381// PPC64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00001382// PPC64:#define __SIZEOF_DOUBLE__ 8
1383// PPC64:#define __SIZEOF_FLOAT__ 4
1384// PPC64:#define __SIZEOF_INT__ 4
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001385// PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohmancfeac342010-05-28 00:27:15 +00001386// PPC64:#define __SIZEOF_LONG_LONG__ 8
1387// PPC64:#define __SIZEOF_LONG__ 8
1388// PPC64:#define __SIZEOF_POINTER__ 8
1389// PPC64:#define __SIZEOF_PTRDIFF_T__ 8
1390// PPC64:#define __SIZEOF_SHORT__ 2
1391// PPC64:#define __SIZEOF_SIZE_T__ 8
1392// PPC64:#define __SIZEOF_WCHAR_T__ 4
1393// PPC64:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +00001394// PPC64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00001395// PPC64:#define __SIZE_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001396// PPC64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001397// PPC64:#define __USER_LABEL_PREFIX__ _
1398// PPC64:#define __WCHAR_MAX__ 2147483647
1399// PPC64:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001400// PPC64:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001401// PPC64:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001402// PPC64:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001403// PPC64:#define __ppc64__ 1
1404// PPC64:#define __ppc__ 1
1405//
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001406// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
1407//
1408// PPC64-LINUX:#define _ARCH_PPC 1
1409// PPC64-LINUX:#define _ARCH_PPC64 1
1410// PPC64-LINUX:#define _BIG_ENDIAN 1
1411// PPC64-LINUX:#define _LP64 1
1412// PPC64-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001413// PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001414// PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
1415// PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
1416// PPC64-LINUX:#define __CHAR_BIT__ 8
1417// PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
1418// PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1419// PPC64-LINUX:#define __DBL_DIG__ 15
1420// PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
1421// PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
1422// PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
1423// PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
1424// PPC64-LINUX:#define __DBL_MANT_DIG__ 53
1425// PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
1426// PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
1427// PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
1428// PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
1429// PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
1430// PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
1431// PPC64-LINUX:#define __DECIMAL_DIG__ 33
1432// PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1433// PPC64-LINUX:#define __FLT_DIG__ 6
1434// PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
1435// PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
1436// PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
1437// PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
1438// PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
1439// PPC64-LINUX:#define __FLT_MANT_DIG__ 24
1440// PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
1441// PPC64-LINUX:#define __FLT_MAX_EXP__ 128
1442// PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
1443// PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
1444// PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
1445// PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
1446// PPC64-LINUX:#define __FLT_RADIX__ 2
1447// PPC64-LINUX:#define __INT16_TYPE__ short
1448// PPC64-LINUX:#define __INT32_TYPE__ int
1449// PPC64-LINUX:#define __INT64_C_SUFFIX__ L
1450// PPC64-LINUX:#define __INT64_TYPE__ long int
1451// PPC64-LINUX:#define __INT8_TYPE__ char
1452// PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
1453// PPC64-LINUX:#define __INTMAX_TYPE__ long int
1454// PPC64-LINUX:#define __INTMAX_WIDTH__ 64
1455// PPC64-LINUX:#define __INTPTR_TYPE__ long int
1456// PPC64-LINUX:#define __INTPTR_WIDTH__ 64
1457// PPC64-LINUX:#define __INT_MAX__ 2147483647
1458// PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1459// PPC64-LINUX:#define __LDBL_DIG__ 31
1460// PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1461// PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
1462// PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
1463// PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
1464// PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
1465// PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
1466// PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
1467// PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1468// PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
1469// PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
1470// PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1471// PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
1472// PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
1473// PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
1474// PPC64-LINUX:#define __LP64__ 1
1475// PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
1476// PPC64-LINUX:#define __NO_INLINE__ 1
1477// PPC64-LINUX:#define __POINTER_WIDTH__ 64
1478// PPC64-LINUX:#define __POWERPC__ 1
1479// PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
1480// PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
1481// PPC64-LINUX:#define __REGISTER_PREFIX__
1482// PPC64-LINUX:#define __SCHAR_MAX__ 127
1483// PPC64-LINUX:#define __SHRT_MAX__ 32767
1484// PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
1485// PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
1486// PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
1487// PPC64-LINUX:#define __SIZEOF_INT__ 4
1488// PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
1489// PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
1490// PPC64-LINUX:#define __SIZEOF_LONG__ 8
1491// PPC64-LINUX:#define __SIZEOF_POINTER__ 8
1492// PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
1493// PPC64-LINUX:#define __SIZEOF_SHORT__ 2
1494// PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
1495// PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
1496// PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
1497// PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
1498// PPC64-LINUX:#define __SIZE_WIDTH__ 64
1499// PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
1500// PPC64-LINUX:#define __USER_LABEL_PREFIX__
1501// PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
1502// PPC64-LINUX:#define __WCHAR_TYPE__ int
1503// PPC64-LINUX:#define __WCHAR_WIDTH__ 32
1504// PPC64-LINUX:#define __WINT_TYPE__ unsigned int
1505// PPC64-LINUX:#define __WINT_UNSIGNED__ 1
1506// PPC64-LINUX:#define __WINT_WIDTH__ 32
1507// PPC64-LINUX:#define __powerpc64__ 1
1508// PPC64-LINUX:#define __powerpc__ 1
1509// PPC64-LINUX:#define __ppc64__ 1
1510// PPC64-LINUX:#define __ppc__ 1
1511//
Daniel Dunbara5728872009-12-15 20:14:24 +00001512// 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 +00001513//
1514// PPC:#define _ARCH_PPC 1
1515// PPC:#define _BIG_ENDIAN 1
1516// PPC:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001517// PPC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00001518// PPC:#define __CHAR16_TYPE__ unsigned short
1519// PPC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001520// PPC:#define __CHAR_BIT__ 8
1521// PPC:#define __CHAR_UNSIGNED__ 1
1522// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1523// PPC:#define __DBL_DIG__ 15
1524// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
1525// PPC:#define __DBL_HAS_DENORM__ 1
1526// PPC:#define __DBL_HAS_INFINITY__ 1
1527// PPC:#define __DBL_HAS_QUIET_NAN__ 1
1528// PPC:#define __DBL_MANT_DIG__ 53
1529// PPC:#define __DBL_MAX_10_EXP__ 308
1530// PPC:#define __DBL_MAX_EXP__ 1024
1531// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
1532// PPC:#define __DBL_MIN_10_EXP__ (-307)
1533// PPC:#define __DBL_MIN_EXP__ (-1021)
1534// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001535// PPC:#define __DECIMAL_DIG__ 33
Chris Lattnerbceaf862009-10-29 04:55:36 +00001536// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1537// PPC:#define __FLT_DIG__ 6
1538// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
1539// PPC:#define __FLT_EVAL_METHOD__ 0
1540// PPC:#define __FLT_HAS_DENORM__ 1
1541// PPC:#define __FLT_HAS_INFINITY__ 1
1542// PPC:#define __FLT_HAS_QUIET_NAN__ 1
1543// PPC:#define __FLT_MANT_DIG__ 24
1544// PPC:#define __FLT_MAX_10_EXP__ 38
1545// PPC:#define __FLT_MAX_EXP__ 128
1546// PPC:#define __FLT_MAX__ 3.40282347e+38F
1547// PPC:#define __FLT_MIN_10_EXP__ (-37)
1548// PPC:#define __FLT_MIN_EXP__ (-125)
1549// PPC:#define __FLT_MIN__ 1.17549435e-38F
1550// PPC:#define __FLT_RADIX__ 2
1551// PPC:#define __INT16_TYPE__ short
1552// PPC:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00001553// PPC:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +00001554// PPC:#define __INT64_TYPE__ long long int
1555// PPC:#define __INT8_TYPE__ char
1556// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +00001557// PPC:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +00001558// PPC:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001559// PPC:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00001560// PPC:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001561// PPC:#define __INT_MAX__ 2147483647
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001562// PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1563// PPC:#define __LDBL_DIG__ 31
1564// PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001565// PPC:#define __LDBL_HAS_DENORM__ 1
1566// PPC:#define __LDBL_HAS_INFINITY__ 1
1567// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001568// PPC:#define __LDBL_MANT_DIG__ 106
Chris Lattnerbceaf862009-10-29 04:55:36 +00001569// PPC:#define __LDBL_MAX_10_EXP__ 308
1570// PPC:#define __LDBL_MAX_EXP__ 1024
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001571// PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1572// PPC:#define __LDBL_MIN_10_EXP__ (-291)
1573// PPC:#define __LDBL_MIN_EXP__ (-968)
1574// PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001575// PPC:#define __LONG_DOUBLE_128__ 1
1576// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
1577// PPC:#define __LONG_MAX__ 2147483647L
1578// PPC:#define __NATURAL_ALIGNMENT__ 1
1579// PPC:#define __NO_INLINE__ 1
1580// PPC:#define __POINTER_WIDTH__ 32
1581// PPC:#define __POWERPC__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00001582// PPC:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00001583// PPC:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001584// PPC:#define __REGISTER_PREFIX__
1585// PPC:#define __SCHAR_MAX__ 127
1586// PPC:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00001587// PPC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00001588// PPC:#define __SIZEOF_DOUBLE__ 8
1589// PPC:#define __SIZEOF_FLOAT__ 4
1590// PPC:#define __SIZEOF_INT__ 4
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001591// PPC:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohmancfeac342010-05-28 00:27:15 +00001592// PPC:#define __SIZEOF_LONG_LONG__ 8
1593// PPC:#define __SIZEOF_LONG__ 4
1594// PPC:#define __SIZEOF_POINTER__ 4
1595// PPC:#define __SIZEOF_PTRDIFF_T__ 4
1596// PPC:#define __SIZEOF_SHORT__ 2
1597// PPC:#define __SIZEOF_SIZE_T__ 4
1598// PPC:#define __SIZEOF_WCHAR_T__ 4
1599// PPC:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +00001600// PPC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00001601// PPC:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00001602// PPC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001603// PPC:#define __USER_LABEL_PREFIX__ _
1604// PPC:#define __WCHAR_MAX__ 2147483647
1605// PPC:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001606// PPC:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001607// PPC:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001608// PPC:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001609// PPC:#define __ppc__ 1
1610//
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001611// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
1612//
1613// PPC-LINUX:#define _ARCH_PPC 1
1614// PPC-LINUX:#define _BIG_ENDIAN 1
1615// PPC-LINUX:#define __BIG_ENDIAN__ 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001616// PPC-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001617// PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
1618// PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
1619// PPC-LINUX:#define __CHAR_BIT__ 8
1620// PPC-LINUX:#define __CHAR_UNSIGNED__ 1
1621// PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1622// PPC-LINUX:#define __DBL_DIG__ 15
1623// PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
1624// PPC-LINUX:#define __DBL_HAS_DENORM__ 1
1625// PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
1626// PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
1627// PPC-LINUX:#define __DBL_MANT_DIG__ 53
1628// PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
1629// PPC-LINUX:#define __DBL_MAX_EXP__ 1024
1630// PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
1631// PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
1632// PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
1633// PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
1634// PPC-LINUX:#define __DECIMAL_DIG__ 33
1635// PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1636// PPC-LINUX:#define __FLT_DIG__ 6
1637// PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
1638// PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
1639// PPC-LINUX:#define __FLT_HAS_DENORM__ 1
1640// PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
1641// PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
1642// PPC-LINUX:#define __FLT_MANT_DIG__ 24
1643// PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
1644// PPC-LINUX:#define __FLT_MAX_EXP__ 128
1645// PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
1646// PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
1647// PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
1648// PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
1649// PPC-LINUX:#define __FLT_RADIX__ 2
1650// PPC-LINUX:#define __INT16_TYPE__ short
1651// PPC-LINUX:#define __INT32_TYPE__ int
1652// PPC-LINUX:#define __INT64_C_SUFFIX__ LL
1653// PPC-LINUX:#define __INT64_TYPE__ long long int
1654// PPC-LINUX:#define __INT8_TYPE__ char
1655// PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
1656// PPC-LINUX:#define __INTMAX_TYPE__ long long int
1657// PPC-LINUX:#define __INTMAX_WIDTH__ 64
Hal Finkel178a9b82012-03-02 20:54:36 +00001658// PPC-LINUX:#define __INTPTR_TYPE__ int
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001659// PPC-LINUX:#define __INTPTR_WIDTH__ 32
1660// PPC-LINUX:#define __INT_MAX__ 2147483647
1661// PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1662// PPC-LINUX:#define __LDBL_DIG__ 31
1663// PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1664// PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
1665// PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
1666// PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
1667// PPC-LINUX:#define __LDBL_MANT_DIG__ 106
1668// PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
1669// PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
1670// PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1671// PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
1672// PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
1673// PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1674// PPC-LINUX:#define __LONG_DOUBLE_128__ 1
1675// PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
1676// PPC-LINUX:#define __LONG_MAX__ 2147483647L
1677// PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
1678// PPC-LINUX:#define __NO_INLINE__ 1
1679// PPC-LINUX:#define __POINTER_WIDTH__ 32
1680// PPC-LINUX:#define __POWERPC__ 1
Hal Finkel178a9b82012-03-02 20:54:36 +00001681// PPC-LINUX:#define __PTRDIFF_TYPE__ int
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001682// PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
1683// PPC-LINUX:#define __REGISTER_PREFIX__
1684// PPC-LINUX:#define __SCHAR_MAX__ 127
1685// PPC-LINUX:#define __SHRT_MAX__ 32767
1686// PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
1687// PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
1688// PPC-LINUX:#define __SIZEOF_FLOAT__ 4
1689// PPC-LINUX:#define __SIZEOF_INT__ 4
1690// PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
1691// PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
1692// PPC-LINUX:#define __SIZEOF_LONG__ 4
1693// PPC-LINUX:#define __SIZEOF_POINTER__ 4
1694// PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
1695// PPC-LINUX:#define __SIZEOF_SHORT__ 2
1696// PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
1697// PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
1698// PPC-LINUX:#define __SIZEOF_WINT_T__ 4
1699// PPC-LINUX:#define __SIZE_TYPE__ unsigned int
1700// PPC-LINUX:#define __SIZE_WIDTH__ 32
1701// PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
1702// PPC-LINUX:#define __USER_LABEL_PREFIX__
1703// PPC-LINUX:#define __WCHAR_MAX__ 2147483647
1704// PPC-LINUX:#define __WCHAR_TYPE__ int
1705// PPC-LINUX:#define __WCHAR_WIDTH__ 32
1706// PPC-LINUX:#define __WINT_TYPE__ unsigned int
1707// PPC-LINUX:#define __WINT_UNSIGNED__ 1
1708// PPC-LINUX:#define __WINT_WIDTH__ 32
1709// PPC-LINUX:#define __powerpc__ 1
1710// PPC-LINUX:#define __ppc__ 1
1711//
Daniel Dunbara5728872009-12-15 20:14:24 +00001712// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00001713//
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001714// SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00001715// SPARC:#define __CHAR16_TYPE__ unsigned short
1716// SPARC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001717// SPARC:#define __CHAR_BIT__ 8
1718// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1719// SPARC:#define __DBL_DIG__ 15
1720// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
1721// SPARC:#define __DBL_HAS_DENORM__ 1
1722// SPARC:#define __DBL_HAS_INFINITY__ 1
1723// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
1724// SPARC:#define __DBL_MANT_DIG__ 53
1725// SPARC:#define __DBL_MAX_10_EXP__ 308
1726// SPARC:#define __DBL_MAX_EXP__ 1024
1727// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
1728// SPARC:#define __DBL_MIN_10_EXP__ (-307)
1729// SPARC:#define __DBL_MIN_EXP__ (-1021)
1730// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
1731// SPARC:#define __DECIMAL_DIG__ 17
1732// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1733// SPARC:#define __FLT_DIG__ 6
1734// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
1735// SPARC:#define __FLT_EVAL_METHOD__ 0
1736// SPARC:#define __FLT_HAS_DENORM__ 1
1737// SPARC:#define __FLT_HAS_INFINITY__ 1
1738// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
1739// SPARC:#define __FLT_MANT_DIG__ 24
1740// SPARC:#define __FLT_MAX_10_EXP__ 38
1741// SPARC:#define __FLT_MAX_EXP__ 128
1742// SPARC:#define __FLT_MAX__ 3.40282347e+38F
1743// SPARC:#define __FLT_MIN_10_EXP__ (-37)
1744// SPARC:#define __FLT_MIN_EXP__ (-125)
1745// SPARC:#define __FLT_MIN__ 1.17549435e-38F
1746// SPARC:#define __FLT_RADIX__ 2
1747// SPARC:#define __INT16_TYPE__ short
1748// SPARC:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00001749// SPARC:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +00001750// SPARC:#define __INT64_TYPE__ long long int
1751// SPARC:#define __INT8_TYPE__ char
1752// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +00001753// SPARC:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +00001754// SPARC:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001755// SPARC:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00001756// SPARC:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001757// SPARC:#define __INT_MAX__ 2147483647
1758// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
1759// SPARC:#define __LDBL_DIG__ 15
1760// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16
1761// SPARC:#define __LDBL_HAS_DENORM__ 1
1762// SPARC:#define __LDBL_HAS_INFINITY__ 1
1763// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
1764// SPARC:#define __LDBL_MANT_DIG__ 53
1765// SPARC:#define __LDBL_MAX_10_EXP__ 308
1766// SPARC:#define __LDBL_MAX_EXP__ 1024
1767// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308
1768// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
1769// SPARC:#define __LDBL_MIN_EXP__ (-1021)
1770// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308
1771// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
1772// SPARC:#define __LONG_MAX__ 2147483647L
1773// SPARC:#define __NO_INLINE__ 1
1774// SPARC:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00001775// SPARC:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00001776// SPARC:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbareac7c532009-12-18 18:42:37 +00001777// SPARC:#define __REGISTER_PREFIX__
Chris Lattnerbceaf862009-10-29 04:55:36 +00001778// SPARC:#define __SCHAR_MAX__ 127
1779// SPARC:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00001780// SPARC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00001781// SPARC:#define __SIZEOF_DOUBLE__ 8
1782// SPARC:#define __SIZEOF_FLOAT__ 4
1783// SPARC:#define __SIZEOF_INT__ 4
1784// SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
1785// SPARC:#define __SIZEOF_LONG_LONG__ 8
1786// SPARC:#define __SIZEOF_LONG__ 4
1787// SPARC:#define __SIZEOF_POINTER__ 4
1788// SPARC:#define __SIZEOF_PTRDIFF_T__ 4
1789// SPARC:#define __SIZEOF_SHORT__ 2
1790// SPARC:#define __SIZEOF_SIZE_T__ 4
1791// SPARC:#define __SIZEOF_WCHAR_T__ 4
1792// SPARC:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +00001793// SPARC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00001794// SPARC:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00001795// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001796// SPARC:#define __USER_LABEL_PREFIX__ _
Daniel Dunbarad1a4c62011-03-31 00:53:51 +00001797// SPARC:#define __VERSION__ "4.2.1 Compatible
Chris Lattnerbceaf862009-10-29 04:55:36 +00001798// SPARC:#define __WCHAR_MAX__ 2147483647
1799// SPARC:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001800// SPARC:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001801// SPARC:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001802// SPARC:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001803// SPARC:#define __sparc 1
1804// SPARC:#define __sparc__ 1
1805// SPARC:#define __sparcv8 1
1806// SPARC:#define sparc 1
1807//
Daniel Dunbara5728872009-12-15 20:14:24 +00001808// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00001809//
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001810// TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00001811// TCE:#define __CHAR16_TYPE__ unsigned short
1812// TCE:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001813// TCE:#define __CHAR_BIT__ 8
1814// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45F
1815// TCE:#define __DBL_DIG__ 6
1816// TCE:#define __DBL_EPSILON__ 1.19209290e-7F
1817// TCE:#define __DBL_HAS_DENORM__ 1
1818// TCE:#define __DBL_HAS_INFINITY__ 1
1819// TCE:#define __DBL_HAS_QUIET_NAN__ 1
1820// TCE:#define __DBL_MANT_DIG__ 24
1821// TCE:#define __DBL_MAX_10_EXP__ 38
1822// TCE:#define __DBL_MAX_EXP__ 128
1823// TCE:#define __DBL_MAX__ 3.40282347e+38F
1824// TCE:#define __DBL_MIN_10_EXP__ (-37)
1825// TCE:#define __DBL_MIN_EXP__ (-125)
1826// TCE:#define __DBL_MIN__ 1.17549435e-38F
1827// TCE:#define __DECIMAL_DIG__ -1
1828// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1829// TCE:#define __FLT_DIG__ 6
1830// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
1831// TCE:#define __FLT_EVAL_METHOD__ 0
1832// TCE:#define __FLT_HAS_DENORM__ 1
1833// TCE:#define __FLT_HAS_INFINITY__ 1
1834// TCE:#define __FLT_HAS_QUIET_NAN__ 1
1835// TCE:#define __FLT_MANT_DIG__ 24
1836// TCE:#define __FLT_MAX_10_EXP__ 38
1837// TCE:#define __FLT_MAX_EXP__ 128
1838// TCE:#define __FLT_MAX__ 3.40282347e+38F
1839// TCE:#define __FLT_MIN_10_EXP__ (-37)
1840// TCE:#define __FLT_MIN_EXP__ (-125)
1841// TCE:#define __FLT_MIN__ 1.17549435e-38F
1842// TCE:#define __FLT_RADIX__ 2
1843// TCE:#define __INT16_TYPE__ short
1844// TCE:#define __INT32_TYPE__ int
1845// TCE:#define __INT8_TYPE__ char
1846// TCE:#define __INTMAX_MAX__ 2147483647L
Ken Dyck8241d732009-11-19 13:18:59 +00001847// TCE:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00001848// TCE:#define __INTMAX_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00001849// TCE:#define __INTPTR_TYPE__ int
Ken Dyckd896e1a2009-11-18 20:05:48 +00001850// TCE:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001851// TCE:#define __INT_MAX__ 2147483647
1852// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45F
1853// TCE:#define __LDBL_DIG__ 6
1854// TCE:#define __LDBL_EPSILON__ 1.19209290e-7F
1855// TCE:#define __LDBL_HAS_DENORM__ 1
1856// TCE:#define __LDBL_HAS_INFINITY__ 1
1857// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
1858// TCE:#define __LDBL_MANT_DIG__ 24
1859// TCE:#define __LDBL_MAX_10_EXP__ 38
1860// TCE:#define __LDBL_MAX_EXP__ 128
1861// TCE:#define __LDBL_MAX__ 3.40282347e+38F
1862// TCE:#define __LDBL_MIN_10_EXP__ (-37)
1863// TCE:#define __LDBL_MIN_EXP__ (-125)
1864// TCE:#define __LDBL_MIN__ 1.17549435e-38F
1865// TCE:#define __LONG_LONG_MAX__ 2147483647LL
1866// TCE:#define __LONG_MAX__ 2147483647L
1867// TCE:#define __NO_INLINE__ 1
1868// TCE:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00001869// TCE:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +00001870// TCE:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001871// TCE:#define __SCHAR_MAX__ 127
1872// TCE:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00001873// TCE:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00001874// TCE:#define __SIZEOF_DOUBLE__ 4
1875// TCE:#define __SIZEOF_FLOAT__ 4
1876// TCE:#define __SIZEOF_INT__ 4
1877// TCE:#define __SIZEOF_LONG_DOUBLE__ 4
1878// TCE:#define __SIZEOF_LONG_LONG__ 4
1879// TCE:#define __SIZEOF_LONG__ 4
1880// TCE:#define __SIZEOF_POINTER__ 4
1881// TCE:#define __SIZEOF_PTRDIFF_T__ 4
1882// TCE:#define __SIZEOF_SHORT__ 2
1883// TCE:#define __SIZEOF_SIZE_T__ 4
1884// TCE:#define __SIZEOF_WCHAR_T__ 4
1885// TCE:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +00001886// TCE:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00001887// TCE:#define __SIZE_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001888// TCE:#define __TCE_V1__ 1
1889// TCE:#define __TCE__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00001890// TCE:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001891// TCE:#define __USER_LABEL_PREFIX__ _
1892// TCE:#define __WCHAR_MAX__ 2147483647
1893// TCE:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001894// TCE:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001895// TCE:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001896// TCE:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001897// TCE:#define __tce 1
1898// TCE:#define __tce__ 1
1899// TCE:#define tce 1
1900//
Daniel Dunbara5728872009-12-15 20:14:24 +00001901// 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 +00001902//
1903// X86_64:#define _LP64 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00001904// X86_64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Dan Gohmancfeac342010-05-28 00:27:15 +00001905// X86_64:#define __CHAR16_TYPE__ unsigned short
1906// X86_64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001907// X86_64:#define __CHAR_BIT__ 8
1908// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1909// X86_64:#define __DBL_DIG__ 15
1910// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1911// X86_64:#define __DBL_HAS_DENORM__ 1
1912// X86_64:#define __DBL_HAS_INFINITY__ 1
1913// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
1914// X86_64:#define __DBL_MANT_DIG__ 53
1915// X86_64:#define __DBL_MAX_10_EXP__ 308
1916// X86_64:#define __DBL_MAX_EXP__ 1024
1917// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
1918// X86_64:#define __DBL_MIN_10_EXP__ (-307)
1919// X86_64:#define __DBL_MIN_EXP__ (-1021)
1920// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
1921// X86_64:#define __DECIMAL_DIG__ 21
1922// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1923// X86_64:#define __FLT_DIG__ 6
1924// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
1925// X86_64:#define __FLT_EVAL_METHOD__ 0
1926// X86_64:#define __FLT_HAS_DENORM__ 1
1927// X86_64:#define __FLT_HAS_INFINITY__ 1
1928// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
1929// X86_64:#define __FLT_MANT_DIG__ 24
1930// X86_64:#define __FLT_MAX_10_EXP__ 38
1931// X86_64:#define __FLT_MAX_EXP__ 128
1932// X86_64:#define __FLT_MAX__ 3.40282347e+38F
1933// X86_64:#define __FLT_MIN_10_EXP__ (-37)
1934// X86_64:#define __FLT_MIN_EXP__ (-125)
1935// X86_64:#define __FLT_MIN__ 1.17549435e-38F
1936// X86_64:#define __FLT_RADIX__ 2
1937// X86_64:#define __INT16_TYPE__ short
1938// X86_64:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00001939// X86_64:#define __INT64_C_SUFFIX__ L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001940// X86_64:#define __INT64_TYPE__ long int
1941// X86_64:#define __INT8_TYPE__ char
1942// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck8241d732009-11-19 13:18:59 +00001943// X86_64:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00001944// X86_64:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001945// X86_64:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00001946// X86_64:#define __INTPTR_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001947// X86_64:#define __INT_MAX__ 2147483647
1948// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1949// X86_64:#define __LDBL_DIG__ 18
1950// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1951// X86_64:#define __LDBL_HAS_DENORM__ 1
1952// X86_64:#define __LDBL_HAS_INFINITY__ 1
1953// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
1954// X86_64:#define __LDBL_MANT_DIG__ 64
1955// X86_64:#define __LDBL_MAX_10_EXP__ 4932
1956// X86_64:#define __LDBL_MAX_EXP__ 16384
1957// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1958// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
1959// X86_64:#define __LDBL_MIN_EXP__ (-16381)
1960// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1961// X86_64:#define __LITTLE_ENDIAN__ 1
1962// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1963// X86_64:#define __LONG_MAX__ 9223372036854775807L
1964// X86_64:#define __LP64__ 1
1965// X86_64:#define __MMX__ 1
1966// X86_64:#define __NO_INLINE__ 1
1967// X86_64:#define __NO_MATH_INLINES 1
1968// X86_64:#define __POINTER_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001969// X86_64:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00001970// X86_64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001971// X86_64:#define __REGISTER_PREFIX__
1972// X86_64:#define __SCHAR_MAX__ 127
1973// X86_64:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00001974// X86_64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00001975// X86_64:#define __SIZEOF_DOUBLE__ 8
1976// X86_64:#define __SIZEOF_FLOAT__ 4
1977// X86_64:#define __SIZEOF_INT__ 4
1978// X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
1979// X86_64:#define __SIZEOF_LONG_LONG__ 8
1980// X86_64:#define __SIZEOF_LONG__ 8
1981// X86_64:#define __SIZEOF_POINTER__ 8
1982// X86_64:#define __SIZEOF_PTRDIFF_T__ 8
1983// X86_64:#define __SIZEOF_SHORT__ 2
1984// X86_64:#define __SIZEOF_SIZE_T__ 8
1985// X86_64:#define __SIZEOF_WCHAR_T__ 4
1986// X86_64:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +00001987// X86_64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00001988// X86_64:#define __SIZE_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001989// X86_64:#define __SSE2_MATH__ 1
1990// X86_64:#define __SSE2__ 1
1991// X86_64:#define __SSE_MATH__ 1
1992// X86_64:#define __SSE__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00001993// X86_64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001994// X86_64:#define __USER_LABEL_PREFIX__ _
1995// X86_64:#define __WCHAR_MAX__ 2147483647
1996// X86_64:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001997// X86_64:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001998// X86_64:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001999// X86_64:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00002000// X86_64:#define __amd64 1
2001// X86_64:#define __amd64__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00002002// X86_64:#define __x86_64 1
2003// X86_64:#define __x86_64__ 1
2004//
Douglas Gregor12e84642011-01-12 21:19:25 +00002005// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
2006//
2007// X86_64-LINUX:#define _LP64 1
Dylan Noblesmith3b198a92012-07-27 18:34:31 +00002008// X86_64-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
Douglas Gregor12e84642011-01-12 21:19:25 +00002009// X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
2010// X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
2011// X86_64-LINUX:#define __CHAR_BIT__ 8
2012// X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2013// X86_64-LINUX:#define __DBL_DIG__ 15
2014// X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2015// X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
2016// X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
2017// X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2018// X86_64-LINUX:#define __DBL_MANT_DIG__ 53
2019// X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
2020// X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
2021// X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2022// X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2023// X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2024// X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2025// X86_64-LINUX:#define __DECIMAL_DIG__ 21
2026// X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2027// X86_64-LINUX:#define __FLT_DIG__ 6
2028// X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2029// X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
2030// X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
2031// X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
2032// X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2033// X86_64-LINUX:#define __FLT_MANT_DIG__ 24
2034// X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
2035// X86_64-LINUX:#define __FLT_MAX_EXP__ 128
2036// X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2037// X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2038// X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
2039// X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2040// X86_64-LINUX:#define __FLT_RADIX__ 2
2041// X86_64-LINUX:#define __INT16_TYPE__ short
2042// X86_64-LINUX:#define __INT32_TYPE__ int
2043// X86_64-LINUX:#define __INT64_C_SUFFIX__ L
2044// X86_64-LINUX:#define __INT64_TYPE__ long int
2045// X86_64-LINUX:#define __INT8_TYPE__ char
2046// X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2047// X86_64-LINUX:#define __INTMAX_TYPE__ long int
2048// X86_64-LINUX:#define __INTMAX_WIDTH__ 64
2049// X86_64-LINUX:#define __INTPTR_TYPE__ long int
2050// X86_64-LINUX:#define __INTPTR_WIDTH__ 64
2051// X86_64-LINUX:#define __INT_MAX__ 2147483647
2052// X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
2053// X86_64-LINUX:#define __LDBL_DIG__ 18
2054// X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
2055// X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
2056// X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2057// X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2058// X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
2059// X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
2060// X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
2061// X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
2062// X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
2063// X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
2064// X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
2065// X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
2066// X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2067// X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2068// X86_64-LINUX:#define __LP64__ 1
2069// X86_64-LINUX:#define __MMX__ 1
2070// X86_64-LINUX:#define __NO_INLINE__ 1
2071// X86_64-LINUX:#define __NO_MATH_INLINES 1
2072// X86_64-LINUX:#define __POINTER_WIDTH__ 64
2073// X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
2074// X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
2075// X86_64-LINUX:#define __REGISTER_PREFIX__
2076// X86_64-LINUX:#define __SCHAR_MAX__ 127
2077// X86_64-LINUX:#define __SHRT_MAX__ 32767
2078// X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2079// X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
2080// X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
2081// X86_64-LINUX:#define __SIZEOF_INT__ 4
2082// X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2083// X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2084// X86_64-LINUX:#define __SIZEOF_LONG__ 8
2085// X86_64-LINUX:#define __SIZEOF_POINTER__ 8
2086// X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2087// X86_64-LINUX:#define __SIZEOF_SHORT__ 2
2088// X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
2089// X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2090// X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
2091// X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
2092// X86_64-LINUX:#define __SIZE_WIDTH__ 64
2093// X86_64-LINUX:#define __SSE2_MATH__ 1
2094// X86_64-LINUX:#define __SSE2__ 1
2095// X86_64-LINUX:#define __SSE_MATH__ 1
2096// X86_64-LINUX:#define __SSE__ 1
2097// X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2098// X86_64-LINUX:#define __USER_LABEL_PREFIX__
2099// X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
2100// X86_64-LINUX:#define __WCHAR_TYPE__ int
2101// X86_64-LINUX:#define __WCHAR_WIDTH__ 32
2102// X86_64-LINUX:#define __WINT_TYPE__ unsigned int
2103// X86_64-LINUX:#define __WINT_WIDTH__ 32
2104// X86_64-LINUX:#define __amd64 1
2105// X86_64-LINUX:#define __amd64__ 1
Douglas Gregor12e84642011-01-12 21:19:25 +00002106// X86_64-LINUX:#define __x86_64 1
2107// X86_64-LINUX:#define __x86_64__ 1
2108//
David Chisnall11d3f4c2012-07-03 20:49:52 +00002109// 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 +00002110// GNUSOURCE:#define _GNU_SOURCE 1
2111//
Dan Gohmancfeac342010-05-28 00:27:15 +00002112// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
2113// NORTTI: __GXX_ABI_VERSION
2114// NORTTI-NOT:#define __GXX_RTTI
2115// NORTTI: __STDC__
Evgeniy Stepanov32064032012-04-26 12:08:09 +00002116//
2117// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
2118// ANDROID: __ANDROID__ 1