blob: 4d5c36c759b67cb45a8dbeffb5375f3845a5ef27 [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
51// COMMON:#define __STDC_HOSTED__ 1
52// COMMON:#define __STDC_VERSION__
53// COMMON:#define __STDC__ 1
54// COMMON:#define __VERSION__
55// COMMON:#define __clang__ 1
Daniel Dunbarc4b8e922010-06-25 23:34:47 +000056// COMMON:#define __clang_major__ {{[0-9]+}}
57// COMMON:#define __clang_minor__ {{[0-9]+}}
58// COMMON:#define __clang_patchlevel__ {{[0-9]+}}
Douglas Gregorcf00ac82010-04-30 03:07:23 +000059// COMMON:#define __clang_version__
Chris Lattnerbceaf862009-10-29 04:55:36 +000060// COMMON:#define __llvm__ 1
61//
62//
Daniel Dunbara5728872009-12-15 20:14:24 +000063// RUN: %clang_cc1 -ffreestanding -E -dM < /dev/null | FileCheck -check-prefix FREESTANDING %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000064// FREESTANDING:#define __STDC_HOSTED__ 0
Richard Smith05134482012-05-03 22:18:20 +000065//
66//
67// RUN: %clang_cc1 -x c++ -std=gnu++11 -E -dM < /dev/null | FileCheck -check-prefix GXX11 %s
68//
69// GXX11:#define __GNUG__
70// GXX11:#define __GXX_WEAK__ 1
71// GXX11:#define __cplusplus 201103L
72// GXX11:#define __private_extern__ extern
73//
74//
Daniel Dunbara5728872009-12-15 20:14:24 +000075// RUN: %clang_cc1 -x c++ -std=gnu++98 -E -dM < /dev/null | FileCheck -check-prefix GXX98 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000076//
Chris Lattnerbceaf862009-10-29 04:55:36 +000077// GXX98:#define __GNUG__
78// GXX98:#define __GXX_WEAK__ 1
Richard Smith05134482012-05-03 22:18:20 +000079// GXX98:#define __cplusplus 199711L
Chris Lattnerbceaf862009-10-29 04:55:36 +000080// GXX98:#define __private_extern__ extern
81//
82//
Daniel Dunbara5728872009-12-15 20:14:24 +000083// RUN: %clang_cc1 -std=iso9899:199409 -E -dM < /dev/null | FileCheck -check-prefix C94 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000084//
85// C94:#define __STDC_VERSION__ 199409L
86//
87//
John McCalld1e40d52011-10-02 01:16:38 +000088// RUN: %clang_cc1 -fms-extensions -triple i686-pc-win32 -fobjc-fragile-abi -E -dM < /dev/null | FileCheck -check-prefix MSEXT %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000089//
90// MSEXT-NOT:#define __STDC__
Douglas Gregor72283802010-08-06 12:37:52 +000091// MSEXT:#define _INTEGRAL_MAX_BITS 64
Chris Lattnerbceaf862009-10-29 04:55:36 +000092//
93//
Daniel Dunbara5728872009-12-15 20:14:24 +000094// RUN: %clang_cc1 -x objective-c -E -dM < /dev/null | FileCheck -check-prefix OBJC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000095//
96// OBJC:#define OBJC_NEW_PROPERTIES 1
Daniel Dunbarc5a97ec2009-11-17 07:07:28 +000097// OBJC:#define __NEXT_RUNTIME__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +000098// OBJC:#define __OBJC__ 1
99//
Daniel Dunbarc5a97ec2009-11-17 07:07:28 +0000100//
Daniel Dunbara5728872009-12-15 20:14:24 +0000101// RUN: %clang_cc1 -x objective-c -fobjc-gc -E -dM < /dev/null | FileCheck -check-prefix OBJCGC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000102//
103// OBJCGC:#define __OBJC_GC__ 1
104//
105//
John McCalld1e40d52011-10-02 01:16:38 +0000106// RUN: %clang_cc1 -x objective-c -fobjc-exceptions -E -dM < /dev/null | FileCheck -check-prefix NONFRAGILE %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000107//
108// NONFRAGILE:#define OBJC_ZEROCOST_EXCEPTIONS 1
109// NONFRAGILE:#define __OBJC2__ 1
110//
111//
Daniel Dunbara5728872009-12-15 20:14:24 +0000112// RUN: %clang_cc1 -O1 -E -dM < /dev/null | FileCheck -check-prefix O1 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000113//
114// O1:#define __OPTIMIZE__ 1
115//
116//
Daniel Dunbara5728872009-12-15 20:14:24 +0000117// RUN: %clang_cc1 -fpascal-strings -E -dM < /dev/null | FileCheck -check-prefix PASCAL %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000118//
119// PASCAL:#define __PASCAL_STRINGS__ 1
120//
121//
Daniel Dunbara5728872009-12-15 20:14:24 +0000122// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix SCHAR %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000123//
124// SCHAR:#define __STDC__ 1
125// SCHAR-NOT:#define __UNSIGNED_CHAR__
126// SCHAR:#define __clang__ 1
127//
Eli Friedman1d832432010-08-03 17:34:19 +0000128// RUN: %clang_cc1 -E -dM -fshort-wchar < /dev/null | FileCheck -check-prefix SHORTWCHAR %s
129//
130// SHORTWCHAR: #define __SIZEOF_WCHAR_T__ 2
131// SHORTWCHAR: #define __WCHAR_MAX__ 65535U
132// SHORTWCHAR: #define __WCHAR_TYPE__ unsigned short
133// SHORTWCHAR: #define __WCHAR_WIDTH__ 16
134//
Daniel Dunbara5728872009-12-15 20:14:24 +0000135// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000136//
137// ARM:#define __APCS_32__ 1
138// ARM:#define __ARMEL__ 1
Daniel Dunbareac7c532009-12-18 18:42:37 +0000139// ARM:#define __ARM_ARCH_6J__ 1
Dan Gohmancfeac342010-05-28 00:27:15 +0000140// ARM:#define __CHAR16_TYPE__ unsigned short
141// ARM:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000142// ARM:#define __CHAR_BIT__ 8
143// ARM:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
144// ARM:#define __DBL_DIG__ 15
145// ARM:#define __DBL_EPSILON__ 2.2204460492503131e-16
146// ARM:#define __DBL_HAS_DENORM__ 1
147// ARM:#define __DBL_HAS_INFINITY__ 1
148// ARM:#define __DBL_HAS_QUIET_NAN__ 1
149// ARM:#define __DBL_MANT_DIG__ 53
150// ARM:#define __DBL_MAX_10_EXP__ 308
151// ARM:#define __DBL_MAX_EXP__ 1024
152// ARM:#define __DBL_MAX__ 1.7976931348623157e+308
153// ARM:#define __DBL_MIN_10_EXP__ (-307)
154// ARM:#define __DBL_MIN_EXP__ (-1021)
155// ARM:#define __DBL_MIN__ 2.2250738585072014e-308
156// ARM:#define __DECIMAL_DIG__ 17
157// ARM:#define __FLT_DENORM_MIN__ 1.40129846e-45F
158// ARM:#define __FLT_DIG__ 6
159// ARM:#define __FLT_EPSILON__ 1.19209290e-7F
160// ARM:#define __FLT_EVAL_METHOD__ 0
161// ARM:#define __FLT_HAS_DENORM__ 1
162// ARM:#define __FLT_HAS_INFINITY__ 1
163// ARM:#define __FLT_HAS_QUIET_NAN__ 1
164// ARM:#define __FLT_MANT_DIG__ 24
165// ARM:#define __FLT_MAX_10_EXP__ 38
166// ARM:#define __FLT_MAX_EXP__ 128
167// ARM:#define __FLT_MAX__ 3.40282347e+38F
168// ARM:#define __FLT_MIN_10_EXP__ (-37)
169// ARM:#define __FLT_MIN_EXP__ (-125)
170// ARM:#define __FLT_MIN__ 1.17549435e-38F
171// ARM:#define __FLT_RADIX__ 2
172// ARM:#define __INT16_TYPE__ short
173// ARM:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000174// ARM:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000175// ARM:#define __INT64_TYPE__ long long int
176// ARM:#define __INT8_TYPE__ char
177// ARM:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +0000178// ARM:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +0000179// ARM:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000180// ARM:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000181// ARM:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000182// ARM:#define __INT_MAX__ 2147483647
183// ARM:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
184// ARM:#define __LDBL_DIG__ 15
185// ARM:#define __LDBL_EPSILON__ 2.2204460492503131e-16
186// ARM:#define __LDBL_HAS_DENORM__ 1
187// ARM:#define __LDBL_HAS_INFINITY__ 1
188// ARM:#define __LDBL_HAS_QUIET_NAN__ 1
189// ARM:#define __LDBL_MANT_DIG__ 53
190// ARM:#define __LDBL_MAX_10_EXP__ 308
191// ARM:#define __LDBL_MAX_EXP__ 1024
192// ARM:#define __LDBL_MAX__ 1.7976931348623157e+308
193// ARM:#define __LDBL_MIN_10_EXP__ (-307)
194// ARM:#define __LDBL_MIN_EXP__ (-1021)
195// ARM:#define __LDBL_MIN__ 2.2250738585072014e-308
196// ARM:#define __LITTLE_ENDIAN__ 1
197// ARM:#define __LONG_LONG_MAX__ 9223372036854775807LL
198// ARM:#define __LONG_MAX__ 2147483647L
199// ARM:#define __NO_INLINE__ 1
200// ARM:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000201// ARM:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +0000202// ARM:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbareac7c532009-12-18 18:42:37 +0000203// ARM:#define __REGISTER_PREFIX__
Chris Lattnerbceaf862009-10-29 04:55:36 +0000204// ARM:#define __SCHAR_MAX__ 127
205// ARM:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000206// ARM:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000207// ARM:#define __SIZEOF_DOUBLE__ 8
208// ARM:#define __SIZEOF_FLOAT__ 4
209// ARM:#define __SIZEOF_INT__ 4
210// ARM:#define __SIZEOF_LONG_DOUBLE__ 8
211// ARM:#define __SIZEOF_LONG_LONG__ 8
212// ARM:#define __SIZEOF_LONG__ 4
213// ARM:#define __SIZEOF_POINTER__ 4
214// ARM:#define __SIZEOF_PTRDIFF_T__ 4
215// ARM:#define __SIZEOF_SHORT__ 2
216// ARM:#define __SIZEOF_SIZE_T__ 4
217// ARM:#define __SIZEOF_WCHAR_T__ 4
218// ARM:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +0000219// ARM:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000220// ARM:#define __SIZE_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000221// ARM:#define __THUMB_INTERWORK__ 1
Ken Dyck8241d732009-11-19 13:18:59 +0000222// ARM:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000223// ARM:#define __USER_LABEL_PREFIX__ _
James Molloya6d81f92011-11-23 13:35:08 +0000224// ARM:#define __WCHAR_MAX__ 4294967295U
225// ARM:#define __WCHAR_TYPE__ unsigned int
Ken Dyck63e65612009-11-19 15:47:58 +0000226// ARM:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000227// ARM:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000228// ARM:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000229// ARM:#define __arm 1
230// ARM:#define __arm__ 1
231//
Daniel Dunbara5728872009-12-15 20:14:24 +0000232// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000233//
Dan Gohmancfeac342010-05-28 00:27:15 +0000234// I386:#define __CHAR16_TYPE__ unsigned short
235// I386:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000236// I386:#define __CHAR_BIT__ 8
237// I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
238// I386:#define __DBL_DIG__ 15
239// I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
240// I386:#define __DBL_HAS_DENORM__ 1
241// I386:#define __DBL_HAS_INFINITY__ 1
242// I386:#define __DBL_HAS_QUIET_NAN__ 1
243// I386:#define __DBL_MANT_DIG__ 53
244// I386:#define __DBL_MAX_10_EXP__ 308
245// I386:#define __DBL_MAX_EXP__ 1024
246// I386:#define __DBL_MAX__ 1.7976931348623157e+308
247// I386:#define __DBL_MIN_10_EXP__ (-307)
248// I386:#define __DBL_MIN_EXP__ (-1021)
249// I386:#define __DBL_MIN__ 2.2250738585072014e-308
250// I386:#define __DECIMAL_DIG__ 21
251// I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
252// I386:#define __FLT_DIG__ 6
253// I386:#define __FLT_EPSILON__ 1.19209290e-7F
Benjamin Kramerb4066692011-12-28 15:47:06 +0000254// I386:#define __FLT_EVAL_METHOD__ 2
Chris Lattnerbceaf862009-10-29 04:55:36 +0000255// I386:#define __FLT_HAS_DENORM__ 1
256// I386:#define __FLT_HAS_INFINITY__ 1
257// I386:#define __FLT_HAS_QUIET_NAN__ 1
258// I386:#define __FLT_MANT_DIG__ 24
259// I386:#define __FLT_MAX_10_EXP__ 38
260// I386:#define __FLT_MAX_EXP__ 128
261// I386:#define __FLT_MAX__ 3.40282347e+38F
262// I386:#define __FLT_MIN_10_EXP__ (-37)
263// I386:#define __FLT_MIN_EXP__ (-125)
264// I386:#define __FLT_MIN__ 1.17549435e-38F
265// I386:#define __FLT_RADIX__ 2
266// I386:#define __INT16_TYPE__ short
267// I386:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000268// I386:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000269// I386:#define __INT64_TYPE__ long long int
270// I386:#define __INT8_TYPE__ char
271// I386:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +0000272// I386:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +0000273// I386:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000274// I386:#define __INTPTR_TYPE__ int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000275// I386:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000276// I386:#define __INT_MAX__ 2147483647
277// I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
278// I386:#define __LDBL_DIG__ 18
279// I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
280// I386:#define __LDBL_HAS_DENORM__ 1
281// I386:#define __LDBL_HAS_INFINITY__ 1
282// I386:#define __LDBL_HAS_QUIET_NAN__ 1
283// I386:#define __LDBL_MANT_DIG__ 64
284// I386:#define __LDBL_MAX_10_EXP__ 4932
285// I386:#define __LDBL_MAX_EXP__ 16384
286// I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
287// I386:#define __LDBL_MIN_10_EXP__ (-4931)
288// I386:#define __LDBL_MIN_EXP__ (-16381)
289// I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
290// I386:#define __LITTLE_ENDIAN__ 1
291// I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
292// I386:#define __LONG_MAX__ 2147483647L
293// I386:#define __NO_INLINE__ 1
294// I386:#define __NO_MATH_INLINES 1
295// I386:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000296// I386:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +0000297// I386:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000298// I386:#define __REGISTER_PREFIX__
299// I386:#define __SCHAR_MAX__ 127
300// I386:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000301// I386:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000302// I386:#define __SIZEOF_DOUBLE__ 8
303// I386:#define __SIZEOF_FLOAT__ 4
304// I386:#define __SIZEOF_INT__ 4
305// I386:#define __SIZEOF_LONG_DOUBLE__ 12
306// I386:#define __SIZEOF_LONG_LONG__ 8
307// I386:#define __SIZEOF_LONG__ 4
308// I386:#define __SIZEOF_POINTER__ 4
309// I386:#define __SIZEOF_PTRDIFF_T__ 4
310// I386:#define __SIZEOF_SHORT__ 2
311// I386:#define __SIZEOF_SIZE_T__ 4
312// I386:#define __SIZEOF_WCHAR_T__ 4
313// I386:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +0000314// I386:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000315// I386:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000316// I386:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000317// I386:#define __USER_LABEL_PREFIX__ _
318// I386:#define __WCHAR_MAX__ 2147483647
319// I386:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +0000320// I386:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000321// I386:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000322// I386:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000323// I386:#define __i386 1
324// I386:#define __i386__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +0000325// I386:#define i386 1
326//
Benjamin Kramerb4066692011-12-28 15:47:06 +0000327// 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 +0000328//
329// I386-LINUX:#define __CHAR16_TYPE__ unsigned short
330// I386-LINUX:#define __CHAR32_TYPE__ unsigned int
331// I386-LINUX:#define __CHAR_BIT__ 8
332// I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
333// I386-LINUX:#define __DBL_DIG__ 15
334// I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
335// I386-LINUX:#define __DBL_HAS_DENORM__ 1
336// I386-LINUX:#define __DBL_HAS_INFINITY__ 1
337// I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
338// I386-LINUX:#define __DBL_MANT_DIG__ 53
339// I386-LINUX:#define __DBL_MAX_10_EXP__ 308
340// I386-LINUX:#define __DBL_MAX_EXP__ 1024
341// I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
342// I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
343// I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
344// I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
345// I386-LINUX:#define __DECIMAL_DIG__ 21
346// I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
347// I386-LINUX:#define __FLT_DIG__ 6
348// I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
349// I386-LINUX:#define __FLT_EVAL_METHOD__ 0
350// I386-LINUX:#define __FLT_HAS_DENORM__ 1
351// I386-LINUX:#define __FLT_HAS_INFINITY__ 1
352// I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
353// I386-LINUX:#define __FLT_MANT_DIG__ 24
354// I386-LINUX:#define __FLT_MAX_10_EXP__ 38
355// I386-LINUX:#define __FLT_MAX_EXP__ 128
356// I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
357// I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
358// I386-LINUX:#define __FLT_MIN_EXP__ (-125)
359// I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
360// I386-LINUX:#define __FLT_RADIX__ 2
361// I386-LINUX:#define __INT16_TYPE__ short
362// I386-LINUX:#define __INT32_TYPE__ int
363// I386-LINUX:#define __INT64_C_SUFFIX__ LL
364// I386-LINUX:#define __INT64_TYPE__ long long int
365// I386-LINUX:#define __INT8_TYPE__ char
366// I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
367// I386-LINUX:#define __INTMAX_TYPE__ long long int
368// I386-LINUX:#define __INTMAX_WIDTH__ 64
369// I386-LINUX:#define __INTPTR_TYPE__ int
370// I386-LINUX:#define __INTPTR_WIDTH__ 32
371// I386-LINUX:#define __INT_MAX__ 2147483647
372// I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
373// I386-LINUX:#define __LDBL_DIG__ 18
374// I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
375// I386-LINUX:#define __LDBL_HAS_DENORM__ 1
376// I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
377// I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
378// I386-LINUX:#define __LDBL_MANT_DIG__ 64
379// I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
380// I386-LINUX:#define __LDBL_MAX_EXP__ 16384
381// I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
382// I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
383// I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
384// I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
385// I386-LINUX:#define __LITTLE_ENDIAN__ 1
386// I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
387// I386-LINUX:#define __LONG_MAX__ 2147483647L
388// I386-LINUX:#define __NO_INLINE__ 1
389// I386-LINUX:#define __NO_MATH_INLINES 1
390// I386-LINUX:#define __POINTER_WIDTH__ 32
391// I386-LINUX:#define __PTRDIFF_TYPE__ int
392// I386-LINUX:#define __PTRDIFF_WIDTH__ 32
393// I386-LINUX:#define __REGISTER_PREFIX__
394// I386-LINUX:#define __SCHAR_MAX__ 127
395// I386-LINUX:#define __SHRT_MAX__ 32767
396// I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
397// I386-LINUX:#define __SIZEOF_DOUBLE__ 8
398// I386-LINUX:#define __SIZEOF_FLOAT__ 4
399// I386-LINUX:#define __SIZEOF_INT__ 4
400// I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
401// I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
402// I386-LINUX:#define __SIZEOF_LONG__ 4
403// I386-LINUX:#define __SIZEOF_POINTER__ 4
404// I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
405// I386-LINUX:#define __SIZEOF_SHORT__ 2
406// I386-LINUX:#define __SIZEOF_SIZE_T__ 4
407// I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
408// I386-LINUX:#define __SIZEOF_WINT_T__ 4
409// I386-LINUX:#define __SIZE_TYPE__ unsigned int
410// I386-LINUX:#define __SIZE_WIDTH__ 32
411// I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
412// I386-LINUX:#define __USER_LABEL_PREFIX__
413// I386-LINUX:#define __WCHAR_MAX__ 2147483647
414// I386-LINUX:#define __WCHAR_TYPE__ int
415// I386-LINUX:#define __WCHAR_WIDTH__ 32
416// I386-LINUX:#define __WINT_TYPE__ unsigned int
417// I386-LINUX:#define __WINT_WIDTH__ 32
418// I386-LINUX:#define __i386 1
419// I386-LINUX:#define __i386__ 1
Douglas Gregor12e84642011-01-12 21:19:25 +0000420// I386-LINUX:#define i386 1
421//
Simon Atanasyan7a521802012-04-06 08:37:24 +0000422// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none < /dev/null | FileCheck -check-prefix MIPS32BE %s
423//
424// MIPS32BE:#define MIPSEB 1
425// MIPS32BE:#define _ABIO32 1
426// MIPS32BE:#define _MIPSEB 1
427// MIPS32BE:#define _MIPS_SIM _ABIO32
428// MIPS32BE:#define _MIPS_SZINT 32
429// MIPS32BE:#define _MIPS_SZLONG 32
430// MIPS32BE:#define _MIPS_SZPTR 32
431// MIPS32BE:#define __CHAR16_TYPE__ unsigned short
432// MIPS32BE:#define __CHAR32_TYPE__ unsigned int
433// MIPS32BE:#define __CHAR_BIT__ 8
434// MIPS32BE:#define __CONSTANT_CFSTRINGS__ 1
435// MIPS32BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
436// MIPS32BE:#define __DBL_DIG__ 15
437// MIPS32BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
438// MIPS32BE:#define __DBL_HAS_DENORM__ 1
439// MIPS32BE:#define __DBL_HAS_INFINITY__ 1
440// MIPS32BE:#define __DBL_HAS_QUIET_NAN__ 1
441// MIPS32BE:#define __DBL_MANT_DIG__ 53
442// MIPS32BE:#define __DBL_MAX_10_EXP__ 308
443// MIPS32BE:#define __DBL_MAX_EXP__ 1024
444// MIPS32BE:#define __DBL_MAX__ 1.7976931348623157e+308
445// MIPS32BE:#define __DBL_MIN_10_EXP__ (-307)
446// MIPS32BE:#define __DBL_MIN_EXP__ (-1021)
447// MIPS32BE:#define __DBL_MIN__ 2.2250738585072014e-308
448// MIPS32BE:#define __DECIMAL_DIG__ 17
449// MIPS32BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
450// MIPS32BE:#define __FLT_DIG__ 6
451// MIPS32BE:#define __FLT_EPSILON__ 1.19209290e-7F
452// MIPS32BE:#define __FLT_EVAL_METHOD__ 0
453// MIPS32BE:#define __FLT_HAS_DENORM__ 1
454// MIPS32BE:#define __FLT_HAS_INFINITY__ 1
455// MIPS32BE:#define __FLT_HAS_QUIET_NAN__ 1
456// MIPS32BE:#define __FLT_MANT_DIG__ 24
457// MIPS32BE:#define __FLT_MAX_10_EXP__ 38
458// MIPS32BE:#define __FLT_MAX_EXP__ 128
459// MIPS32BE:#define __FLT_MAX__ 3.40282347e+38F
460// MIPS32BE:#define __FLT_MIN_10_EXP__ (-37)
461// MIPS32BE:#define __FLT_MIN_EXP__ (-125)
462// MIPS32BE:#define __FLT_MIN__ 1.17549435e-38F
463// MIPS32BE:#define __FLT_RADIX__ 2
464// MIPS32BE:#define __INT16_TYPE__ short
465// MIPS32BE:#define __INT32_TYPE__ int
466// MIPS32BE:#define __INT64_C_SUFFIX__ LL
467// MIPS32BE:#define __INT64_TYPE__ long long int
468// MIPS32BE:#define __INT8_TYPE__ char
469// MIPS32BE:#define __INTMAX_MAX__ 9223372036854775807LL
470// MIPS32BE:#define __INTMAX_TYPE__ long long int
471// MIPS32BE:#define __INTMAX_WIDTH__ 64
472// MIPS32BE:#define __INTPTR_TYPE__ long int
473// MIPS32BE:#define __INTPTR_WIDTH__ 32
474// MIPS32BE:#define __INT_MAX__ 2147483647
475// MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
476// MIPS32BE:#define __LDBL_DIG__ 15
477// MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16
478// MIPS32BE:#define __LDBL_HAS_DENORM__ 1
479// MIPS32BE:#define __LDBL_HAS_INFINITY__ 1
480// MIPS32BE:#define __LDBL_HAS_QUIET_NAN__ 1
481// MIPS32BE:#define __LDBL_MANT_DIG__ 53
482// MIPS32BE:#define __LDBL_MAX_10_EXP__ 308
483// MIPS32BE:#define __LDBL_MAX_EXP__ 1024
484// MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308
485// MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307)
486// MIPS32BE:#define __LDBL_MIN_EXP__ (-1021)
487// MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308
488// MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
489// MIPS32BE:#define __LONG_MAX__ 2147483647L
490// MIPS32BE:#define __MIPSEB 1
491// MIPS32BE:#define __MIPSEB__ 1
492// MIPS32BE:#define __NO_INLINE__ 1
493// MIPS32BE:#define __POINTER_WIDTH__ 32
494// MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1
495// MIPS32BE:#define __PTRDIFF_TYPE__ int
496// MIPS32BE:#define __PTRDIFF_WIDTH__ 32
497// MIPS32BE:#define __REGISTER_PREFIX__
498// MIPS32BE:#define __SCHAR_MAX__ 127
499// MIPS32BE:#define __SHRT_MAX__ 32767
500// MIPS32BE:#define __SIG_ATOMIC_WIDTH__ 32
501// MIPS32BE:#define __SIZEOF_DOUBLE__ 8
502// MIPS32BE:#define __SIZEOF_FLOAT__ 4
503// MIPS32BE:#define __SIZEOF_INT__ 4
504// MIPS32BE:#define __SIZEOF_LONG_DOUBLE__ 8
505// MIPS32BE:#define __SIZEOF_LONG_LONG__ 8
506// MIPS32BE:#define __SIZEOF_LONG__ 4
507// MIPS32BE:#define __SIZEOF_POINTER__ 4
508// MIPS32BE:#define __SIZEOF_PTRDIFF_T__ 4
509// MIPS32BE:#define __SIZEOF_SHORT__ 2
510// MIPS32BE:#define __SIZEOF_SIZE_T__ 4
511// MIPS32BE:#define __SIZEOF_WCHAR_T__ 4
512// MIPS32BE:#define __SIZEOF_WINT_T__ 4
513// MIPS32BE:#define __SIZE_TYPE__ unsigned int
514// MIPS32BE:#define __SIZE_WIDTH__ 32
515// MIPS32BE:#define __STDC_HOSTED__ 0
516// MIPS32BE:#define __STDC_VERSION__ 199901L
517// MIPS32BE:#define __STDC__ 1
518// MIPS32BE:#define __UINTMAX_TYPE__ long long unsigned int
519// MIPS32BE:#define __USER_LABEL_PREFIX__ _
520// MIPS32BE:#define __WCHAR_MAX__ 2147483647
521// MIPS32BE:#define __WCHAR_TYPE__ int
522// MIPS32BE:#define __WCHAR_WIDTH__ 32
523// MIPS32BE:#define __WINT_TYPE__ int
524// MIPS32BE:#define __WINT_WIDTH__ 32
525// MIPS32BE:#define __clang__ 1
526// MIPS32BE:#define __llvm__ 1
527// MIPS32BE:#define __mips 1
528// MIPS32BE:#define __mips__ 1
529// MIPS32BE:#define __mips_hard_float 1
530// MIPS32BE:#define __mips_o32 1
531// MIPS32BE:#define _mips 1
532// MIPS32BE:#define mips 1
533//
534// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -check-prefix MIPS32EL %s
535//
536// MIPS32EL:#define MIPSEL 1
537// MIPS32EL:#define _ABIO32 1
538// MIPS32EL:#define _MIPSEL 1
539// MIPS32EL:#define _MIPS_SIM _ABIO32
540// MIPS32EL:#define _MIPS_SZINT 32
541// MIPS32EL:#define _MIPS_SZLONG 32
542// MIPS32EL:#define _MIPS_SZPTR 32
543// MIPS32EL:#define __CHAR16_TYPE__ unsigned short
544// MIPS32EL:#define __CHAR32_TYPE__ unsigned int
545// MIPS32EL:#define __CHAR_BIT__ 8
546// MIPS32EL:#define __CONSTANT_CFSTRINGS__ 1
547// MIPS32EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
548// MIPS32EL:#define __DBL_DIG__ 15
549// MIPS32EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
550// MIPS32EL:#define __DBL_HAS_DENORM__ 1
551// MIPS32EL:#define __DBL_HAS_INFINITY__ 1
552// MIPS32EL:#define __DBL_HAS_QUIET_NAN__ 1
553// MIPS32EL:#define __DBL_MANT_DIG__ 53
554// MIPS32EL:#define __DBL_MAX_10_EXP__ 308
555// MIPS32EL:#define __DBL_MAX_EXP__ 1024
556// MIPS32EL:#define __DBL_MAX__ 1.7976931348623157e+308
557// MIPS32EL:#define __DBL_MIN_10_EXP__ (-307)
558// MIPS32EL:#define __DBL_MIN_EXP__ (-1021)
559// MIPS32EL:#define __DBL_MIN__ 2.2250738585072014e-308
560// MIPS32EL:#define __DECIMAL_DIG__ 17
561// MIPS32EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
562// MIPS32EL:#define __FLT_DIG__ 6
563// MIPS32EL:#define __FLT_EPSILON__ 1.19209290e-7F
564// MIPS32EL:#define __FLT_EVAL_METHOD__ 0
565// MIPS32EL:#define __FLT_HAS_DENORM__ 1
566// MIPS32EL:#define __FLT_HAS_INFINITY__ 1
567// MIPS32EL:#define __FLT_HAS_QUIET_NAN__ 1
568// MIPS32EL:#define __FLT_MANT_DIG__ 24
569// MIPS32EL:#define __FLT_MAX_10_EXP__ 38
570// MIPS32EL:#define __FLT_MAX_EXP__ 128
571// MIPS32EL:#define __FLT_MAX__ 3.40282347e+38F
572// MIPS32EL:#define __FLT_MIN_10_EXP__ (-37)
573// MIPS32EL:#define __FLT_MIN_EXP__ (-125)
574// MIPS32EL:#define __FLT_MIN__ 1.17549435e-38F
575// MIPS32EL:#define __FLT_RADIX__ 2
576// MIPS32EL:#define __INT16_TYPE__ short
577// MIPS32EL:#define __INT32_TYPE__ int
578// MIPS32EL:#define __INT64_C_SUFFIX__ LL
579// MIPS32EL:#define __INT64_TYPE__ long long int
580// MIPS32EL:#define __INT8_TYPE__ char
581// MIPS32EL:#define __INTMAX_MAX__ 9223372036854775807LL
582// MIPS32EL:#define __INTMAX_TYPE__ long long int
583// MIPS32EL:#define __INTMAX_WIDTH__ 64
584// MIPS32EL:#define __INTPTR_TYPE__ long int
585// MIPS32EL:#define __INTPTR_WIDTH__ 32
586// MIPS32EL:#define __INT_MAX__ 2147483647
587// MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
588// MIPS32EL:#define __LDBL_DIG__ 15
589// MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16
590// MIPS32EL:#define __LDBL_HAS_DENORM__ 1
591// MIPS32EL:#define __LDBL_HAS_INFINITY__ 1
592// MIPS32EL:#define __LDBL_HAS_QUIET_NAN__ 1
593// MIPS32EL:#define __LDBL_MANT_DIG__ 53
594// MIPS32EL:#define __LDBL_MAX_10_EXP__ 308
595// MIPS32EL:#define __LDBL_MAX_EXP__ 1024
596// MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308
597// MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307)
598// MIPS32EL:#define __LDBL_MIN_EXP__ (-1021)
599// MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308
600// MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
601// MIPS32EL:#define __LONG_MAX__ 2147483647L
602// MIPS32EL:#define __MIPSEL 1
603// MIPS32EL:#define __MIPSEL__ 1
604// MIPS32EL:#define __NO_INLINE__ 1
605// MIPS32EL:#define __POINTER_WIDTH__ 32
606// MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1
607// MIPS32EL:#define __PTRDIFF_TYPE__ int
608// MIPS32EL:#define __PTRDIFF_WIDTH__ 32
609// MIPS32EL:#define __REGISTER_PREFIX__
610// MIPS32EL:#define __SCHAR_MAX__ 127
611// MIPS32EL:#define __SHRT_MAX__ 32767
612// MIPS32EL:#define __SIG_ATOMIC_WIDTH__ 32
613// MIPS32EL:#define __SIZEOF_DOUBLE__ 8
614// MIPS32EL:#define __SIZEOF_FLOAT__ 4
615// MIPS32EL:#define __SIZEOF_INT__ 4
616// MIPS32EL:#define __SIZEOF_LONG_DOUBLE__ 8
617// MIPS32EL:#define __SIZEOF_LONG_LONG__ 8
618// MIPS32EL:#define __SIZEOF_LONG__ 4
619// MIPS32EL:#define __SIZEOF_POINTER__ 4
620// MIPS32EL:#define __SIZEOF_PTRDIFF_T__ 4
621// MIPS32EL:#define __SIZEOF_SHORT__ 2
622// MIPS32EL:#define __SIZEOF_SIZE_T__ 4
623// MIPS32EL:#define __SIZEOF_WCHAR_T__ 4
624// MIPS32EL:#define __SIZEOF_WINT_T__ 4
625// MIPS32EL:#define __SIZE_TYPE__ unsigned int
626// MIPS32EL:#define __SIZE_WIDTH__ 32
627// MIPS32EL:#define __UINTMAX_TYPE__ long long unsigned int
628// MIPS32EL:#define __USER_LABEL_PREFIX__ _
629// MIPS32EL:#define __WCHAR_MAX__ 2147483647
630// MIPS32EL:#define __WCHAR_TYPE__ int
631// MIPS32EL:#define __WCHAR_WIDTH__ 32
632// MIPS32EL:#define __WINT_TYPE__ int
633// MIPS32EL:#define __WINT_WIDTH__ 32
634// MIPS32EL:#define __clang__ 1
635// MIPS32EL:#define __llvm__ 1
636// MIPS32EL:#define __mips 1
637// MIPS32EL:#define __mips__ 1
638// MIPS32EL:#define __mips_hard_float 1
639// MIPS32EL:#define __mips_o32 1
640// MIPS32EL:#define _mips 1
641// MIPS32EL:#define mips 1
642//
643// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -check-prefix MIPS64BE %s
644//
645// MIPS64BE:#define MIPSEB 1
646// MIPS64BE:#define _ABI64 3
647// MIPS64BE:#define _MIPSEB 1
648// MIPS64BE:#define _MIPS_SIM _ABI64
649// MIPS64BE:#define _MIPS_SZINT 32
650// MIPS64BE:#define _MIPS_SZLONG 64
651// MIPS64BE:#define _MIPS_SZPTR 64
652// MIPS64BE:#define __CHAR16_TYPE__ unsigned short
653// MIPS64BE:#define __CHAR32_TYPE__ unsigned int
654// MIPS64BE:#define __CHAR_BIT__ 8
655// MIPS64BE:#define __CONSTANT_CFSTRINGS__ 1
656// MIPS64BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
657// MIPS64BE:#define __DBL_DIG__ 15
658// MIPS64BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
659// MIPS64BE:#define __DBL_HAS_DENORM__ 1
660// MIPS64BE:#define __DBL_HAS_INFINITY__ 1
661// MIPS64BE:#define __DBL_HAS_QUIET_NAN__ 1
662// MIPS64BE:#define __DBL_MANT_DIG__ 53
663// MIPS64BE:#define __DBL_MAX_10_EXP__ 308
664// MIPS64BE:#define __DBL_MAX_EXP__ 1024
665// MIPS64BE:#define __DBL_MAX__ 1.7976931348623157e+308
666// MIPS64BE:#define __DBL_MIN_10_EXP__ (-307)
667// MIPS64BE:#define __DBL_MIN_EXP__ (-1021)
668// MIPS64BE:#define __DBL_MIN__ 2.2250738585072014e-308
669// MIPS64BE:#define __DECIMAL_DIG__ 36
670// MIPS64BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
671// MIPS64BE:#define __FLT_DIG__ 6
672// MIPS64BE:#define __FLT_EPSILON__ 1.19209290e-7F
673// MIPS64BE:#define __FLT_EVAL_METHOD__ 0
674// MIPS64BE:#define __FLT_HAS_DENORM__ 1
675// MIPS64BE:#define __FLT_HAS_INFINITY__ 1
676// MIPS64BE:#define __FLT_HAS_QUIET_NAN__ 1
677// MIPS64BE:#define __FLT_MANT_DIG__ 24
678// MIPS64BE:#define __FLT_MAX_10_EXP__ 38
679// MIPS64BE:#define __FLT_MAX_EXP__ 128
680// MIPS64BE:#define __FLT_MAX__ 3.40282347e+38F
681// MIPS64BE:#define __FLT_MIN_10_EXP__ (-37)
682// MIPS64BE:#define __FLT_MIN_EXP__ (-125)
683// MIPS64BE:#define __FLT_MIN__ 1.17549435e-38F
684// MIPS64BE:#define __FLT_RADIX__ 2
685// MIPS64BE:#define __INT16_TYPE__ short
686// MIPS64BE:#define __INT32_TYPE__ int
687// MIPS64BE:#define __INT64_C_SUFFIX__ LL
688// MIPS64BE:#define __INT64_TYPE__ long long int
689// MIPS64BE:#define __INT8_TYPE__ char
690// MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807LL
691// MIPS64BE:#define __INTMAX_TYPE__ long long int
692// MIPS64BE:#define __INTMAX_WIDTH__ 64
693// MIPS64BE:#define __INTPTR_TYPE__ long int
694// MIPS64BE:#define __INTPTR_WIDTH__ 64
695// MIPS64BE:#define __INT_MAX__ 2147483647
696// MIPS64BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
697// MIPS64BE:#define __LDBL_DIG__ 33
698// MIPS64BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
699// MIPS64BE:#define __LDBL_HAS_DENORM__ 1
700// MIPS64BE:#define __LDBL_HAS_INFINITY__ 1
701// MIPS64BE:#define __LDBL_HAS_QUIET_NAN__ 1
702// MIPS64BE:#define __LDBL_MANT_DIG__ 113
703// MIPS64BE:#define __LDBL_MAX_10_EXP__ 4932
704// MIPS64BE:#define __LDBL_MAX_EXP__ 16384
705// MIPS64BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
706// MIPS64BE:#define __LDBL_MIN_10_EXP__ (-4931)
707// MIPS64BE:#define __LDBL_MIN_EXP__ (-16381)
708// MIPS64BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
709// MIPS64BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
710// MIPS64BE:#define __LONG_MAX__ 9223372036854775807L
711// MIPS64BE:#define __MIPSEB 1
712// MIPS64BE:#define __MIPSEB__ 1
713// MIPS64BE:#define __NO_INLINE__ 1
714// MIPS64BE:#define __POINTER_WIDTH__ 64
715// MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1
716// MIPS64BE:#define __PTRDIFF_TYPE__ long int
717// MIPS64BE:#define __PTRDIFF_WIDTH__ 64
718// MIPS64BE:#define __REGISTER_PREFIX__
719// MIPS64BE:#define __SCHAR_MAX__ 127
720// MIPS64BE:#define __SHRT_MAX__ 32767
721// MIPS64BE:#define __SIG_ATOMIC_WIDTH__ 32
722// MIPS64BE:#define __SIZEOF_DOUBLE__ 8
723// MIPS64BE:#define __SIZEOF_FLOAT__ 4
724// MIPS64BE:#define __SIZEOF_INT__ 4
725// MIPS64BE:#define __SIZEOF_LONG_DOUBLE__ 16
726// MIPS64BE:#define __SIZEOF_LONG_LONG__ 8
727// MIPS64BE:#define __SIZEOF_LONG__ 8
728// MIPS64BE:#define __SIZEOF_POINTER__ 8
729// MIPS64BE:#define __SIZEOF_PTRDIFF_T__ 8
730// MIPS64BE:#define __SIZEOF_SHORT__ 2
731// MIPS64BE:#define __SIZEOF_SIZE_T__ 8
732// MIPS64BE:#define __SIZEOF_WCHAR_T__ 4
733// MIPS64BE:#define __SIZEOF_WINT_T__ 4
734// MIPS64BE:#define __SIZE_TYPE__ long unsigned int
735// MIPS64BE:#define __SIZE_WIDTH__ 64
736// MIPS64BE:#define __UINTMAX_TYPE__ long long unsigned int
737// MIPS64BE:#define __USER_LABEL_PREFIX__ _
738// MIPS64BE:#define __WCHAR_MAX__ 2147483647
739// MIPS64BE:#define __WCHAR_TYPE__ int
740// MIPS64BE:#define __WCHAR_WIDTH__ 32
741// MIPS64BE:#define __WINT_TYPE__ int
742// MIPS64BE:#define __WINT_WIDTH__ 32
743// MIPS64BE:#define __clang__ 1
744// MIPS64BE:#define __llvm__ 1
745// MIPS64BE:#define __mips 1
746// MIPS64BE:#define __mips__ 1
747// MIPS64BE:#define __mips_hard_float 1
748// MIPS64BE:#define __mips_n64 1
749// MIPS64BE:#define _mips 1
750// MIPS64BE:#define mips 1
751//
752// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -check-prefix MIPS64EL %s
753//
754// MIPS64EL:#define MIPSEL 1
755// MIPS64EL:#define _ABI64 3
756// MIPS64EL:#define _MIPSEL 1
757// MIPS64EL:#define _MIPS_SIM _ABI64
758// MIPS64EL:#define _MIPS_SZINT 32
759// MIPS64EL:#define _MIPS_SZLONG 64
760// MIPS64EL:#define _MIPS_SZPTR 64
761// MIPS64EL:#define __CHAR16_TYPE__ unsigned short
762// MIPS64EL:#define __CHAR32_TYPE__ unsigned int
763// MIPS64EL:#define __CHAR_BIT__ 8
764// MIPS64EL:#define __CONSTANT_CFSTRINGS__ 1
765// MIPS64EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
766// MIPS64EL:#define __DBL_DIG__ 15
767// MIPS64EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
768// MIPS64EL:#define __DBL_HAS_DENORM__ 1
769// MIPS64EL:#define __DBL_HAS_INFINITY__ 1
770// MIPS64EL:#define __DBL_HAS_QUIET_NAN__ 1
771// MIPS64EL:#define __DBL_MANT_DIG__ 53
772// MIPS64EL:#define __DBL_MAX_10_EXP__ 308
773// MIPS64EL:#define __DBL_MAX_EXP__ 1024
774// MIPS64EL:#define __DBL_MAX__ 1.7976931348623157e+308
775// MIPS64EL:#define __DBL_MIN_10_EXP__ (-307)
776// MIPS64EL:#define __DBL_MIN_EXP__ (-1021)
777// MIPS64EL:#define __DBL_MIN__ 2.2250738585072014e-308
778// MIPS64EL:#define __DECIMAL_DIG__ 36
779// MIPS64EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
780// MIPS64EL:#define __FLT_DIG__ 6
781// MIPS64EL:#define __FLT_EPSILON__ 1.19209290e-7F
782// MIPS64EL:#define __FLT_EVAL_METHOD__ 0
783// MIPS64EL:#define __FLT_HAS_DENORM__ 1
784// MIPS64EL:#define __FLT_HAS_INFINITY__ 1
785// MIPS64EL:#define __FLT_HAS_QUIET_NAN__ 1
786// MIPS64EL:#define __FLT_MANT_DIG__ 24
787// MIPS64EL:#define __FLT_MAX_10_EXP__ 38
788// MIPS64EL:#define __FLT_MAX_EXP__ 128
789// MIPS64EL:#define __FLT_MAX__ 3.40282347e+38F
790// MIPS64EL:#define __FLT_MIN_10_EXP__ (-37)
791// MIPS64EL:#define __FLT_MIN_EXP__ (-125)
792// MIPS64EL:#define __FLT_MIN__ 1.17549435e-38F
793// MIPS64EL:#define __FLT_RADIX__ 2
794// MIPS64EL:#define __INT16_TYPE__ short
795// MIPS64EL:#define __INT32_TYPE__ int
796// MIPS64EL:#define __INT64_C_SUFFIX__ LL
797// MIPS64EL:#define __INT64_TYPE__ long long int
798// MIPS64EL:#define __INT8_TYPE__ char
799// MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807LL
800// MIPS64EL:#define __INTMAX_TYPE__ long long int
801// MIPS64EL:#define __INTMAX_WIDTH__ 64
802// MIPS64EL:#define __INTPTR_TYPE__ long int
803// MIPS64EL:#define __INTPTR_WIDTH__ 64
804// MIPS64EL:#define __INT_MAX__ 2147483647
805// MIPS64EL:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
806// MIPS64EL:#define __LDBL_DIG__ 33
807// MIPS64EL:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
808// MIPS64EL:#define __LDBL_HAS_DENORM__ 1
809// MIPS64EL:#define __LDBL_HAS_INFINITY__ 1
810// MIPS64EL:#define __LDBL_HAS_QUIET_NAN__ 1
811// MIPS64EL:#define __LDBL_MANT_DIG__ 113
812// MIPS64EL:#define __LDBL_MAX_10_EXP__ 4932
813// MIPS64EL:#define __LDBL_MAX_EXP__ 16384
814// MIPS64EL:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
815// MIPS64EL:#define __LDBL_MIN_10_EXP__ (-4931)
816// MIPS64EL:#define __LDBL_MIN_EXP__ (-16381)
817// MIPS64EL:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
818// MIPS64EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
819// MIPS64EL:#define __LONG_MAX__ 9223372036854775807L
820// MIPS64EL:#define __MIPSEL 1
821// MIPS64EL:#define __MIPSEL__ 1
822// MIPS64EL:#define __NO_INLINE__ 1
823// MIPS64EL:#define __POINTER_WIDTH__ 64
824// MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1
825// MIPS64EL:#define __PTRDIFF_TYPE__ long int
826// MIPS64EL:#define __PTRDIFF_WIDTH__ 64
827// MIPS64EL:#define __REGISTER_PREFIX__
828// MIPS64EL:#define __SCHAR_MAX__ 127
829// MIPS64EL:#define __SHRT_MAX__ 32767
830// MIPS64EL:#define __SIG_ATOMIC_WIDTH__ 32
831// MIPS64EL:#define __SIZEOF_DOUBLE__ 8
832// MIPS64EL:#define __SIZEOF_FLOAT__ 4
833// MIPS64EL:#define __SIZEOF_INT__ 4
834// MIPS64EL:#define __SIZEOF_LONG_DOUBLE__ 16
835// MIPS64EL:#define __SIZEOF_LONG_LONG__ 8
836// MIPS64EL:#define __SIZEOF_LONG__ 8
837// MIPS64EL:#define __SIZEOF_POINTER__ 8
838// MIPS64EL:#define __SIZEOF_PTRDIFF_T__ 8
839// MIPS64EL:#define __SIZEOF_SHORT__ 2
840// MIPS64EL:#define __SIZEOF_SIZE_T__ 8
841// MIPS64EL:#define __SIZEOF_WCHAR_T__ 4
842// MIPS64EL:#define __SIZEOF_WINT_T__ 4
843// MIPS64EL:#define __SIZE_TYPE__ long unsigned int
844// MIPS64EL:#define __SIZE_WIDTH__ 64
845// MIPS64EL:#define __UINTMAX_TYPE__ long long unsigned int
846// MIPS64EL:#define __USER_LABEL_PREFIX__ _
847// MIPS64EL:#define __WCHAR_MAX__ 2147483647
848// MIPS64EL:#define __WCHAR_TYPE__ int
849// MIPS64EL:#define __WCHAR_WIDTH__ 32
850// MIPS64EL:#define __WINT_TYPE__ int
851// MIPS64EL:#define __WINT_WIDTH__ 32
852// MIPS64EL:#define __clang__ 1
853// MIPS64EL:#define __llvm__ 1
854// MIPS64EL:#define __mips 1
855// MIPS64EL:#define __mips__ 1
856// MIPS64EL:#define __mips_hard_float 1
857// MIPS64EL:#define __mips_n64 1
858// MIPS64EL:#define _mips 1
859// MIPS64EL:#define mips 1
860//
Simon Atanasyanaba3f0f2012-04-06 17:51:49 +0000861// Check MIPS float ABI macros
862//
863// RUN: %clang_cc1 -E -dM -ffreestanding \
864// RUN: -triple=mips-none-none < /dev/null \
865// RUN: | FileCheck -check-prefix MIPS-FABI-HARD %s
866// MIPS-FABI-HARD:#define __mips_hard_float 1
867//
868// RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \
869// RUN: -triple=mips-none-none < /dev/null \
870// RUN: | FileCheck -check-prefix MIPS-FABI-SOFT %s
871// MIPS-FABI-SOFT:#define __mips_soft_float 1
872//
873// RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \
874// RUN: -triple=mips-none-none < /dev/null \
875// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE %s
876// MIPS-FABI-SINGLE:#define __mips_single_float 1
877//
Daniel Dunbara5728872009-12-15 20:14:24 +0000878// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000879//
880// MSP430:#define MSP430 1
Dan Gohmancfeac342010-05-28 00:27:15 +0000881// MSP430:#define __CHAR16_TYPE__ unsigned short
882// MSP430:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000883// MSP430:#define __CHAR_BIT__ 8
884// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
885// MSP430:#define __DBL_DIG__ 15
886// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
887// MSP430:#define __DBL_HAS_DENORM__ 1
888// MSP430:#define __DBL_HAS_INFINITY__ 1
889// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
890// MSP430:#define __DBL_MANT_DIG__ 53
891// MSP430:#define __DBL_MAX_10_EXP__ 308
892// MSP430:#define __DBL_MAX_EXP__ 1024
893// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
894// MSP430:#define __DBL_MIN_10_EXP__ (-307)
895// MSP430:#define __DBL_MIN_EXP__ (-1021)
896// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
897// MSP430:#define __DECIMAL_DIG__ 17
898// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
899// MSP430:#define __FLT_DIG__ 6
900// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
901// MSP430:#define __FLT_EVAL_METHOD__ 0
902// MSP430:#define __FLT_HAS_DENORM__ 1
903// MSP430:#define __FLT_HAS_INFINITY__ 1
904// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
905// MSP430:#define __FLT_MANT_DIG__ 24
906// MSP430:#define __FLT_MAX_10_EXP__ 38
907// MSP430:#define __FLT_MAX_EXP__ 128
908// MSP430:#define __FLT_MAX__ 3.40282347e+38F
909// MSP430:#define __FLT_MIN_10_EXP__ (-37)
910// MSP430:#define __FLT_MIN_EXP__ (-125)
911// MSP430:#define __FLT_MIN__ 1.17549435e-38F
912// MSP430:#define __FLT_RADIX__ 2
913// MSP430:#define __INT16_TYPE__ short
Ken Dyckeef22ef2009-11-16 16:36:33 +0000914// MSP430:#define __INT32_C_SUFFIX__ L
Chris Lattnerdcdd2a02009-11-12 08:08:27 +0000915// MSP430:#define __INT32_TYPE__ long int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000916// MSP430:#define __INT8_TYPE__ char
917// MSP430:#define __INTMAX_MAX__ 2147483647L
Ken Dyck8241d732009-11-19 13:18:59 +0000918// MSP430:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +0000919// MSP430:#define __INTMAX_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000920// MSP430:#define __INTPTR_TYPE__ short
Ken Dyckd896e1a2009-11-18 20:05:48 +0000921// MSP430:#define __INTPTR_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +0000922// MSP430:#define __INT_MAX__ 32767
923// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
924// MSP430:#define __LDBL_DIG__ 15
925// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16
926// MSP430:#define __LDBL_HAS_DENORM__ 1
927// MSP430:#define __LDBL_HAS_INFINITY__ 1
928// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
929// MSP430:#define __LDBL_MANT_DIG__ 53
930// MSP430:#define __LDBL_MAX_10_EXP__ 308
931// MSP430:#define __LDBL_MAX_EXP__ 1024
932// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308
933// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
934// MSP430:#define __LDBL_MIN_EXP__ (-1021)
935// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308
Anton Korobeynikov79bff432010-01-14 21:36:52 +0000936// MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000937// MSP430:#define __LONG_MAX__ 2147483647L
938// MSP430:#define __MSP430__ 1
939// MSP430:#define __NO_INLINE__ 1
940// MSP430:#define __POINTER_WIDTH__ 16
Ken Dyck8241d732009-11-19 13:18:59 +0000941// MSP430:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +0000942// MSP430:#define __PTRDIFF_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +0000943// MSP430:#define __SCHAR_MAX__ 127
944// MSP430:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000945// MSP430:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000946// MSP430:#define __SIZEOF_DOUBLE__ 8
947// MSP430:#define __SIZEOF_FLOAT__ 4
948// MSP430:#define __SIZEOF_INT__ 2
949// MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
950// MSP430:#define __SIZEOF_LONG_LONG__ 8
951// MSP430:#define __SIZEOF_LONG__ 4
952// MSP430:#define __SIZEOF_POINTER__ 2
953// MSP430:#define __SIZEOF_PTRDIFF_T__ 2
954// MSP430:#define __SIZEOF_SHORT__ 2
955// MSP430:#define __SIZEOF_SIZE_T__ 2
956// MSP430:#define __SIZEOF_WCHAR_T__ 2
957// MSP430:#define __SIZEOF_WINT_T__ 2
Chris Lattnerbceaf862009-10-29 04:55:36 +0000958// MSP430:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000959// MSP430:#define __SIZE_WIDTH__ 16
Ken Dyck8241d732009-11-19 13:18:59 +0000960// MSP430:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000961// MSP430:#define __USER_LABEL_PREFIX__ _
Chris Lattner91846462009-11-12 08:04:33 +0000962// MSP430:#define __WCHAR_MAX__ 32767
Chris Lattnerbceaf862009-10-29 04:55:36 +0000963// MSP430:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +0000964// MSP430:#define __WCHAR_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +0000965// MSP430:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000966// MSP430:#define __WINT_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +0000967// MSP430:#define __clang__ 1
968//
Daniel Dunbara5728872009-12-15 20:14:24 +0000969// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000970//
971// PPC64:#define _ARCH_PPC 1
972// PPC64:#define _ARCH_PPC64 1
973// PPC64:#define _BIG_ENDIAN 1
974// PPC64:#define _LP64 1
975// PPC64:#define __BIG_ENDIAN__ 1
Dan Gohmancfeac342010-05-28 00:27:15 +0000976// PPC64:#define __CHAR16_TYPE__ unsigned short
977// PPC64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000978// PPC64:#define __CHAR_BIT__ 8
979// PPC64:#define __CHAR_UNSIGNED__ 1
980// PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
981// PPC64:#define __DBL_DIG__ 15
982// PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
983// PPC64:#define __DBL_HAS_DENORM__ 1
984// PPC64:#define __DBL_HAS_INFINITY__ 1
985// PPC64:#define __DBL_HAS_QUIET_NAN__ 1
986// PPC64:#define __DBL_MANT_DIG__ 53
987// PPC64:#define __DBL_MAX_10_EXP__ 308
988// PPC64:#define __DBL_MAX_EXP__ 1024
989// PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
990// PPC64:#define __DBL_MIN_10_EXP__ (-307)
991// PPC64:#define __DBL_MIN_EXP__ (-1021)
992// PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber6e1d2ea2012-01-31 02:07:33 +0000993// PPC64:#define __DECIMAL_DIG__ 33
Chris Lattnerbceaf862009-10-29 04:55:36 +0000994// PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
995// PPC64:#define __FLT_DIG__ 6
996// PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
997// PPC64:#define __FLT_EVAL_METHOD__ 0
998// PPC64:#define __FLT_HAS_DENORM__ 1
999// PPC64:#define __FLT_HAS_INFINITY__ 1
1000// PPC64:#define __FLT_HAS_QUIET_NAN__ 1
1001// PPC64:#define __FLT_MANT_DIG__ 24
1002// PPC64:#define __FLT_MAX_10_EXP__ 38
1003// PPC64:#define __FLT_MAX_EXP__ 128
1004// PPC64:#define __FLT_MAX__ 3.40282347e+38F
1005// PPC64:#define __FLT_MIN_10_EXP__ (-37)
1006// PPC64:#define __FLT_MIN_EXP__ (-125)
1007// PPC64:#define __FLT_MIN__ 1.17549435e-38F
1008// PPC64:#define __FLT_RADIX__ 2
1009// PPC64:#define __INT16_TYPE__ short
1010// PPC64:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00001011// PPC64:#define __INT64_C_SUFFIX__ L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001012// PPC64:#define __INT64_TYPE__ long int
1013// PPC64:#define __INT8_TYPE__ char
1014// PPC64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck8241d732009-11-19 13:18:59 +00001015// PPC64:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00001016// PPC64:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001017// PPC64:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00001018// PPC64:#define __INTPTR_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001019// PPC64:#define __INT_MAX__ 2147483647
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001020// PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1021// PPC64:#define __LDBL_DIG__ 31
1022// PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001023// PPC64:#define __LDBL_HAS_DENORM__ 1
1024// PPC64:#define __LDBL_HAS_INFINITY__ 1
1025// PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001026// PPC64:#define __LDBL_MANT_DIG__ 106
Chris Lattnerbceaf862009-10-29 04:55:36 +00001027// PPC64:#define __LDBL_MAX_10_EXP__ 308
1028// PPC64:#define __LDBL_MAX_EXP__ 1024
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001029// PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1030// PPC64:#define __LDBL_MIN_10_EXP__ (-291)
1031// PPC64:#define __LDBL_MIN_EXP__ (-968)
1032// PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001033// PPC64:#define __LONG_DOUBLE_128__ 1
1034// PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1035// PPC64:#define __LONG_MAX__ 9223372036854775807L
1036// PPC64:#define __LP64__ 1
1037// PPC64:#define __NATURAL_ALIGNMENT__ 1
1038// PPC64:#define __NO_INLINE__ 1
1039// PPC64:#define __POINTER_WIDTH__ 64
1040// PPC64:#define __POWERPC__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00001041// PPC64:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00001042// PPC64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001043// PPC64:#define __REGISTER_PREFIX__
1044// PPC64:#define __SCHAR_MAX__ 127
1045// PPC64:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00001046// PPC64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00001047// PPC64:#define __SIZEOF_DOUBLE__ 8
1048// PPC64:#define __SIZEOF_FLOAT__ 4
1049// PPC64:#define __SIZEOF_INT__ 4
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001050// PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohmancfeac342010-05-28 00:27:15 +00001051// PPC64:#define __SIZEOF_LONG_LONG__ 8
1052// PPC64:#define __SIZEOF_LONG__ 8
1053// PPC64:#define __SIZEOF_POINTER__ 8
1054// PPC64:#define __SIZEOF_PTRDIFF_T__ 8
1055// PPC64:#define __SIZEOF_SHORT__ 2
1056// PPC64:#define __SIZEOF_SIZE_T__ 8
1057// PPC64:#define __SIZEOF_WCHAR_T__ 4
1058// PPC64:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +00001059// PPC64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00001060// PPC64:#define __SIZE_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001061// PPC64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001062// PPC64:#define __USER_LABEL_PREFIX__ _
1063// PPC64:#define __WCHAR_MAX__ 2147483647
1064// PPC64:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001065// PPC64:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001066// PPC64:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001067// PPC64:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001068// PPC64:#define __ppc64__ 1
1069// PPC64:#define __ppc__ 1
1070//
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001071// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
1072//
1073// PPC64-LINUX:#define _ARCH_PPC 1
1074// PPC64-LINUX:#define _ARCH_PPC64 1
1075// PPC64-LINUX:#define _BIG_ENDIAN 1
1076// PPC64-LINUX:#define _LP64 1
1077// PPC64-LINUX:#define __BIG_ENDIAN__ 1
1078// PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
1079// PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
1080// PPC64-LINUX:#define __CHAR_BIT__ 8
1081// PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
1082// PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1083// PPC64-LINUX:#define __DBL_DIG__ 15
1084// PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
1085// PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
1086// PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
1087// PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
1088// PPC64-LINUX:#define __DBL_MANT_DIG__ 53
1089// PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
1090// PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
1091// PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
1092// PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
1093// PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
1094// PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
1095// PPC64-LINUX:#define __DECIMAL_DIG__ 33
1096// PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1097// PPC64-LINUX:#define __FLT_DIG__ 6
1098// PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
1099// PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
1100// PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
1101// PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
1102// PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
1103// PPC64-LINUX:#define __FLT_MANT_DIG__ 24
1104// PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
1105// PPC64-LINUX:#define __FLT_MAX_EXP__ 128
1106// PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
1107// PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
1108// PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
1109// PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
1110// PPC64-LINUX:#define __FLT_RADIX__ 2
1111// PPC64-LINUX:#define __INT16_TYPE__ short
1112// PPC64-LINUX:#define __INT32_TYPE__ int
1113// PPC64-LINUX:#define __INT64_C_SUFFIX__ L
1114// PPC64-LINUX:#define __INT64_TYPE__ long int
1115// PPC64-LINUX:#define __INT8_TYPE__ char
1116// PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
1117// PPC64-LINUX:#define __INTMAX_TYPE__ long int
1118// PPC64-LINUX:#define __INTMAX_WIDTH__ 64
1119// PPC64-LINUX:#define __INTPTR_TYPE__ long int
1120// PPC64-LINUX:#define __INTPTR_WIDTH__ 64
1121// PPC64-LINUX:#define __INT_MAX__ 2147483647
1122// PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1123// PPC64-LINUX:#define __LDBL_DIG__ 31
1124// PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1125// PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
1126// PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
1127// PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
1128// PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
1129// PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
1130// PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
1131// PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1132// PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
1133// PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
1134// PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1135// PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
1136// PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
1137// PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
1138// PPC64-LINUX:#define __LP64__ 1
1139// PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
1140// PPC64-LINUX:#define __NO_INLINE__ 1
1141// PPC64-LINUX:#define __POINTER_WIDTH__ 64
1142// PPC64-LINUX:#define __POWERPC__ 1
1143// PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
1144// PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
1145// PPC64-LINUX:#define __REGISTER_PREFIX__
1146// PPC64-LINUX:#define __SCHAR_MAX__ 127
1147// PPC64-LINUX:#define __SHRT_MAX__ 32767
1148// PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
1149// PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
1150// PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
1151// PPC64-LINUX:#define __SIZEOF_INT__ 4
1152// PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
1153// PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
1154// PPC64-LINUX:#define __SIZEOF_LONG__ 8
1155// PPC64-LINUX:#define __SIZEOF_POINTER__ 8
1156// PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
1157// PPC64-LINUX:#define __SIZEOF_SHORT__ 2
1158// PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
1159// PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
1160// PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
1161// PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
1162// PPC64-LINUX:#define __SIZE_WIDTH__ 64
1163// PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
1164// PPC64-LINUX:#define __USER_LABEL_PREFIX__
1165// PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
1166// PPC64-LINUX:#define __WCHAR_TYPE__ int
1167// PPC64-LINUX:#define __WCHAR_WIDTH__ 32
1168// PPC64-LINUX:#define __WINT_TYPE__ unsigned int
1169// PPC64-LINUX:#define __WINT_UNSIGNED__ 1
1170// PPC64-LINUX:#define __WINT_WIDTH__ 32
1171// PPC64-LINUX:#define __powerpc64__ 1
1172// PPC64-LINUX:#define __powerpc__ 1
1173// PPC64-LINUX:#define __ppc64__ 1
1174// PPC64-LINUX:#define __ppc__ 1
1175//
Daniel Dunbara5728872009-12-15 20:14:24 +00001176// 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 +00001177//
1178// PPC:#define _ARCH_PPC 1
1179// PPC:#define _BIG_ENDIAN 1
1180// PPC:#define __BIG_ENDIAN__ 1
Dan Gohmancfeac342010-05-28 00:27:15 +00001181// PPC:#define __CHAR16_TYPE__ unsigned short
1182// PPC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001183// PPC:#define __CHAR_BIT__ 8
1184// PPC:#define __CHAR_UNSIGNED__ 1
1185// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1186// PPC:#define __DBL_DIG__ 15
1187// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
1188// PPC:#define __DBL_HAS_DENORM__ 1
1189// PPC:#define __DBL_HAS_INFINITY__ 1
1190// PPC:#define __DBL_HAS_QUIET_NAN__ 1
1191// PPC:#define __DBL_MANT_DIG__ 53
1192// PPC:#define __DBL_MAX_10_EXP__ 308
1193// PPC:#define __DBL_MAX_EXP__ 1024
1194// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
1195// PPC:#define __DBL_MIN_10_EXP__ (-307)
1196// PPC:#define __DBL_MIN_EXP__ (-1021)
1197// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001198// PPC:#define __DECIMAL_DIG__ 33
Chris Lattnerbceaf862009-10-29 04:55:36 +00001199// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1200// PPC:#define __FLT_DIG__ 6
1201// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
1202// PPC:#define __FLT_EVAL_METHOD__ 0
1203// PPC:#define __FLT_HAS_DENORM__ 1
1204// PPC:#define __FLT_HAS_INFINITY__ 1
1205// PPC:#define __FLT_HAS_QUIET_NAN__ 1
1206// PPC:#define __FLT_MANT_DIG__ 24
1207// PPC:#define __FLT_MAX_10_EXP__ 38
1208// PPC:#define __FLT_MAX_EXP__ 128
1209// PPC:#define __FLT_MAX__ 3.40282347e+38F
1210// PPC:#define __FLT_MIN_10_EXP__ (-37)
1211// PPC:#define __FLT_MIN_EXP__ (-125)
1212// PPC:#define __FLT_MIN__ 1.17549435e-38F
1213// PPC:#define __FLT_RADIX__ 2
1214// PPC:#define __INT16_TYPE__ short
1215// PPC:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00001216// PPC:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +00001217// PPC:#define __INT64_TYPE__ long long int
1218// PPC:#define __INT8_TYPE__ char
1219// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +00001220// PPC:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +00001221// PPC:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001222// PPC:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00001223// PPC:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001224// PPC:#define __INT_MAX__ 2147483647
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001225// PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1226// PPC:#define __LDBL_DIG__ 31
1227// PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001228// PPC:#define __LDBL_HAS_DENORM__ 1
1229// PPC:#define __LDBL_HAS_INFINITY__ 1
1230// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001231// PPC:#define __LDBL_MANT_DIG__ 106
Chris Lattnerbceaf862009-10-29 04:55:36 +00001232// PPC:#define __LDBL_MAX_10_EXP__ 308
1233// PPC:#define __LDBL_MAX_EXP__ 1024
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001234// PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1235// PPC:#define __LDBL_MIN_10_EXP__ (-291)
1236// PPC:#define __LDBL_MIN_EXP__ (-968)
1237// PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001238// PPC:#define __LONG_DOUBLE_128__ 1
1239// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
1240// PPC:#define __LONG_MAX__ 2147483647L
1241// PPC:#define __NATURAL_ALIGNMENT__ 1
1242// PPC:#define __NO_INLINE__ 1
1243// PPC:#define __POINTER_WIDTH__ 32
1244// PPC:#define __POWERPC__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00001245// PPC:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00001246// PPC:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001247// PPC:#define __REGISTER_PREFIX__
1248// PPC:#define __SCHAR_MAX__ 127
1249// PPC:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00001250// PPC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00001251// PPC:#define __SIZEOF_DOUBLE__ 8
1252// PPC:#define __SIZEOF_FLOAT__ 4
1253// PPC:#define __SIZEOF_INT__ 4
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001254// PPC:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohmancfeac342010-05-28 00:27:15 +00001255// PPC:#define __SIZEOF_LONG_LONG__ 8
1256// PPC:#define __SIZEOF_LONG__ 4
1257// PPC:#define __SIZEOF_POINTER__ 4
1258// PPC:#define __SIZEOF_PTRDIFF_T__ 4
1259// PPC:#define __SIZEOF_SHORT__ 2
1260// PPC:#define __SIZEOF_SIZE_T__ 4
1261// PPC:#define __SIZEOF_WCHAR_T__ 4
1262// PPC:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +00001263// PPC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00001264// PPC:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00001265// PPC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001266// PPC:#define __USER_LABEL_PREFIX__ _
1267// PPC:#define __WCHAR_MAX__ 2147483647
1268// PPC:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001269// PPC:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001270// PPC:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001271// PPC:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001272// PPC:#define __ppc__ 1
1273//
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001274// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
1275//
1276// PPC-LINUX:#define _ARCH_PPC 1
1277// PPC-LINUX:#define _BIG_ENDIAN 1
1278// PPC-LINUX:#define __BIG_ENDIAN__ 1
1279// PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
1280// PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
1281// PPC-LINUX:#define __CHAR_BIT__ 8
1282// PPC-LINUX:#define __CHAR_UNSIGNED__ 1
1283// PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1284// PPC-LINUX:#define __DBL_DIG__ 15
1285// PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
1286// PPC-LINUX:#define __DBL_HAS_DENORM__ 1
1287// PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
1288// PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
1289// PPC-LINUX:#define __DBL_MANT_DIG__ 53
1290// PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
1291// PPC-LINUX:#define __DBL_MAX_EXP__ 1024
1292// PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
1293// PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
1294// PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
1295// PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
1296// PPC-LINUX:#define __DECIMAL_DIG__ 33
1297// PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1298// PPC-LINUX:#define __FLT_DIG__ 6
1299// PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
1300// PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
1301// PPC-LINUX:#define __FLT_HAS_DENORM__ 1
1302// PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
1303// PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
1304// PPC-LINUX:#define __FLT_MANT_DIG__ 24
1305// PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
1306// PPC-LINUX:#define __FLT_MAX_EXP__ 128
1307// PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
1308// PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
1309// PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
1310// PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
1311// PPC-LINUX:#define __FLT_RADIX__ 2
1312// PPC-LINUX:#define __INT16_TYPE__ short
1313// PPC-LINUX:#define __INT32_TYPE__ int
1314// PPC-LINUX:#define __INT64_C_SUFFIX__ LL
1315// PPC-LINUX:#define __INT64_TYPE__ long long int
1316// PPC-LINUX:#define __INT8_TYPE__ char
1317// PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
1318// PPC-LINUX:#define __INTMAX_TYPE__ long long int
1319// PPC-LINUX:#define __INTMAX_WIDTH__ 64
Hal Finkel178a9b82012-03-02 20:54:36 +00001320// PPC-LINUX:#define __INTPTR_TYPE__ int
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001321// PPC-LINUX:#define __INTPTR_WIDTH__ 32
1322// PPC-LINUX:#define __INT_MAX__ 2147483647
1323// PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1324// PPC-LINUX:#define __LDBL_DIG__ 31
1325// PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1326// PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
1327// PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
1328// PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
1329// PPC-LINUX:#define __LDBL_MANT_DIG__ 106
1330// PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
1331// PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
1332// PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1333// PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
1334// PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
1335// PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1336// PPC-LINUX:#define __LONG_DOUBLE_128__ 1
1337// PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
1338// PPC-LINUX:#define __LONG_MAX__ 2147483647L
1339// PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
1340// PPC-LINUX:#define __NO_INLINE__ 1
1341// PPC-LINUX:#define __POINTER_WIDTH__ 32
1342// PPC-LINUX:#define __POWERPC__ 1
Hal Finkel178a9b82012-03-02 20:54:36 +00001343// PPC-LINUX:#define __PTRDIFF_TYPE__ int
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001344// PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
1345// PPC-LINUX:#define __REGISTER_PREFIX__
1346// PPC-LINUX:#define __SCHAR_MAX__ 127
1347// PPC-LINUX:#define __SHRT_MAX__ 32767
1348// PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
1349// PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
1350// PPC-LINUX:#define __SIZEOF_FLOAT__ 4
1351// PPC-LINUX:#define __SIZEOF_INT__ 4
1352// PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
1353// PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
1354// PPC-LINUX:#define __SIZEOF_LONG__ 4
1355// PPC-LINUX:#define __SIZEOF_POINTER__ 4
1356// PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
1357// PPC-LINUX:#define __SIZEOF_SHORT__ 2
1358// PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
1359// PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
1360// PPC-LINUX:#define __SIZEOF_WINT_T__ 4
1361// PPC-LINUX:#define __SIZE_TYPE__ unsigned int
1362// PPC-LINUX:#define __SIZE_WIDTH__ 32
1363// PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
1364// PPC-LINUX:#define __USER_LABEL_PREFIX__
1365// PPC-LINUX:#define __WCHAR_MAX__ 2147483647
1366// PPC-LINUX:#define __WCHAR_TYPE__ int
1367// PPC-LINUX:#define __WCHAR_WIDTH__ 32
1368// PPC-LINUX:#define __WINT_TYPE__ unsigned int
1369// PPC-LINUX:#define __WINT_UNSIGNED__ 1
1370// PPC-LINUX:#define __WINT_WIDTH__ 32
1371// PPC-LINUX:#define __powerpc__ 1
1372// PPC-LINUX:#define __ppc__ 1
1373//
Daniel Dunbara5728872009-12-15 20:14:24 +00001374// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00001375//
Dan Gohmancfeac342010-05-28 00:27:15 +00001376// SPARC:#define __CHAR16_TYPE__ unsigned short
1377// SPARC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001378// SPARC:#define __CHAR_BIT__ 8
1379// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1380// SPARC:#define __DBL_DIG__ 15
1381// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
1382// SPARC:#define __DBL_HAS_DENORM__ 1
1383// SPARC:#define __DBL_HAS_INFINITY__ 1
1384// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
1385// SPARC:#define __DBL_MANT_DIG__ 53
1386// SPARC:#define __DBL_MAX_10_EXP__ 308
1387// SPARC:#define __DBL_MAX_EXP__ 1024
1388// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
1389// SPARC:#define __DBL_MIN_10_EXP__ (-307)
1390// SPARC:#define __DBL_MIN_EXP__ (-1021)
1391// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
1392// SPARC:#define __DECIMAL_DIG__ 17
1393// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1394// SPARC:#define __FLT_DIG__ 6
1395// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
1396// SPARC:#define __FLT_EVAL_METHOD__ 0
1397// SPARC:#define __FLT_HAS_DENORM__ 1
1398// SPARC:#define __FLT_HAS_INFINITY__ 1
1399// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
1400// SPARC:#define __FLT_MANT_DIG__ 24
1401// SPARC:#define __FLT_MAX_10_EXP__ 38
1402// SPARC:#define __FLT_MAX_EXP__ 128
1403// SPARC:#define __FLT_MAX__ 3.40282347e+38F
1404// SPARC:#define __FLT_MIN_10_EXP__ (-37)
1405// SPARC:#define __FLT_MIN_EXP__ (-125)
1406// SPARC:#define __FLT_MIN__ 1.17549435e-38F
1407// SPARC:#define __FLT_RADIX__ 2
1408// SPARC:#define __INT16_TYPE__ short
1409// SPARC:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00001410// SPARC:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +00001411// SPARC:#define __INT64_TYPE__ long long int
1412// SPARC:#define __INT8_TYPE__ char
1413// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +00001414// SPARC:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +00001415// SPARC:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001416// SPARC:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00001417// SPARC:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001418// SPARC:#define __INT_MAX__ 2147483647
1419// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
1420// SPARC:#define __LDBL_DIG__ 15
1421// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16
1422// SPARC:#define __LDBL_HAS_DENORM__ 1
1423// SPARC:#define __LDBL_HAS_INFINITY__ 1
1424// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
1425// SPARC:#define __LDBL_MANT_DIG__ 53
1426// SPARC:#define __LDBL_MAX_10_EXP__ 308
1427// SPARC:#define __LDBL_MAX_EXP__ 1024
1428// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308
1429// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
1430// SPARC:#define __LDBL_MIN_EXP__ (-1021)
1431// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308
1432// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
1433// SPARC:#define __LONG_MAX__ 2147483647L
1434// SPARC:#define __NO_INLINE__ 1
1435// SPARC:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00001436// SPARC:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00001437// SPARC:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbareac7c532009-12-18 18:42:37 +00001438// SPARC:#define __REGISTER_PREFIX__
Chris Lattnerbceaf862009-10-29 04:55:36 +00001439// SPARC:#define __SCHAR_MAX__ 127
1440// SPARC:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00001441// SPARC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00001442// SPARC:#define __SIZEOF_DOUBLE__ 8
1443// SPARC:#define __SIZEOF_FLOAT__ 4
1444// SPARC:#define __SIZEOF_INT__ 4
1445// SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
1446// SPARC:#define __SIZEOF_LONG_LONG__ 8
1447// SPARC:#define __SIZEOF_LONG__ 4
1448// SPARC:#define __SIZEOF_POINTER__ 4
1449// SPARC:#define __SIZEOF_PTRDIFF_T__ 4
1450// SPARC:#define __SIZEOF_SHORT__ 2
1451// SPARC:#define __SIZEOF_SIZE_T__ 4
1452// SPARC:#define __SIZEOF_WCHAR_T__ 4
1453// SPARC:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +00001454// SPARC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00001455// SPARC:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00001456// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001457// SPARC:#define __USER_LABEL_PREFIX__ _
Daniel Dunbarad1a4c62011-03-31 00:53:51 +00001458// SPARC:#define __VERSION__ "4.2.1 Compatible
Chris Lattnerbceaf862009-10-29 04:55:36 +00001459// SPARC:#define __WCHAR_MAX__ 2147483647
1460// SPARC:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001461// SPARC:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001462// SPARC:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001463// SPARC:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001464// SPARC:#define __sparc 1
1465// SPARC:#define __sparc__ 1
1466// SPARC:#define __sparcv8 1
1467// SPARC:#define sparc 1
1468//
Daniel Dunbara5728872009-12-15 20:14:24 +00001469// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00001470//
Dan Gohmancfeac342010-05-28 00:27:15 +00001471// TCE:#define __CHAR16_TYPE__ unsigned short
1472// TCE:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001473// TCE:#define __CHAR_BIT__ 8
1474// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45F
1475// TCE:#define __DBL_DIG__ 6
1476// TCE:#define __DBL_EPSILON__ 1.19209290e-7F
1477// TCE:#define __DBL_HAS_DENORM__ 1
1478// TCE:#define __DBL_HAS_INFINITY__ 1
1479// TCE:#define __DBL_HAS_QUIET_NAN__ 1
1480// TCE:#define __DBL_MANT_DIG__ 24
1481// TCE:#define __DBL_MAX_10_EXP__ 38
1482// TCE:#define __DBL_MAX_EXP__ 128
1483// TCE:#define __DBL_MAX__ 3.40282347e+38F
1484// TCE:#define __DBL_MIN_10_EXP__ (-37)
1485// TCE:#define __DBL_MIN_EXP__ (-125)
1486// TCE:#define __DBL_MIN__ 1.17549435e-38F
1487// TCE:#define __DECIMAL_DIG__ -1
1488// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1489// TCE:#define __FLT_DIG__ 6
1490// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
1491// TCE:#define __FLT_EVAL_METHOD__ 0
1492// TCE:#define __FLT_HAS_DENORM__ 1
1493// TCE:#define __FLT_HAS_INFINITY__ 1
1494// TCE:#define __FLT_HAS_QUIET_NAN__ 1
1495// TCE:#define __FLT_MANT_DIG__ 24
1496// TCE:#define __FLT_MAX_10_EXP__ 38
1497// TCE:#define __FLT_MAX_EXP__ 128
1498// TCE:#define __FLT_MAX__ 3.40282347e+38F
1499// TCE:#define __FLT_MIN_10_EXP__ (-37)
1500// TCE:#define __FLT_MIN_EXP__ (-125)
1501// TCE:#define __FLT_MIN__ 1.17549435e-38F
1502// TCE:#define __FLT_RADIX__ 2
1503// TCE:#define __INT16_TYPE__ short
1504// TCE:#define __INT32_TYPE__ int
1505// TCE:#define __INT8_TYPE__ char
1506// TCE:#define __INTMAX_MAX__ 2147483647L
Ken Dyck8241d732009-11-19 13:18:59 +00001507// TCE:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00001508// TCE:#define __INTMAX_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00001509// TCE:#define __INTPTR_TYPE__ int
Ken Dyckd896e1a2009-11-18 20:05:48 +00001510// TCE:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001511// TCE:#define __INT_MAX__ 2147483647
1512// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45F
1513// TCE:#define __LDBL_DIG__ 6
1514// TCE:#define __LDBL_EPSILON__ 1.19209290e-7F
1515// TCE:#define __LDBL_HAS_DENORM__ 1
1516// TCE:#define __LDBL_HAS_INFINITY__ 1
1517// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
1518// TCE:#define __LDBL_MANT_DIG__ 24
1519// TCE:#define __LDBL_MAX_10_EXP__ 38
1520// TCE:#define __LDBL_MAX_EXP__ 128
1521// TCE:#define __LDBL_MAX__ 3.40282347e+38F
1522// TCE:#define __LDBL_MIN_10_EXP__ (-37)
1523// TCE:#define __LDBL_MIN_EXP__ (-125)
1524// TCE:#define __LDBL_MIN__ 1.17549435e-38F
1525// TCE:#define __LONG_LONG_MAX__ 2147483647LL
1526// TCE:#define __LONG_MAX__ 2147483647L
1527// TCE:#define __NO_INLINE__ 1
1528// TCE:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00001529// TCE:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +00001530// TCE:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001531// TCE:#define __SCHAR_MAX__ 127
1532// TCE:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00001533// TCE:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00001534// TCE:#define __SIZEOF_DOUBLE__ 4
1535// TCE:#define __SIZEOF_FLOAT__ 4
1536// TCE:#define __SIZEOF_INT__ 4
1537// TCE:#define __SIZEOF_LONG_DOUBLE__ 4
1538// TCE:#define __SIZEOF_LONG_LONG__ 4
1539// TCE:#define __SIZEOF_LONG__ 4
1540// TCE:#define __SIZEOF_POINTER__ 4
1541// TCE:#define __SIZEOF_PTRDIFF_T__ 4
1542// TCE:#define __SIZEOF_SHORT__ 2
1543// TCE:#define __SIZEOF_SIZE_T__ 4
1544// TCE:#define __SIZEOF_WCHAR_T__ 4
1545// TCE:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +00001546// TCE:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00001547// TCE:#define __SIZE_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001548// TCE:#define __TCE_V1__ 1
1549// TCE:#define __TCE__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00001550// TCE:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001551// TCE:#define __USER_LABEL_PREFIX__ _
1552// TCE:#define __WCHAR_MAX__ 2147483647
1553// TCE:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001554// TCE:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001555// TCE:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001556// TCE:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001557// TCE:#define __tce 1
1558// TCE:#define __tce__ 1
1559// TCE:#define tce 1
1560//
Daniel Dunbara5728872009-12-15 20:14:24 +00001561// 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 +00001562//
1563// X86_64:#define _LP64 1
Dan Gohmancfeac342010-05-28 00:27:15 +00001564// X86_64:#define __CHAR16_TYPE__ unsigned short
1565// X86_64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001566// X86_64:#define __CHAR_BIT__ 8
1567// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1568// X86_64:#define __DBL_DIG__ 15
1569// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1570// X86_64:#define __DBL_HAS_DENORM__ 1
1571// X86_64:#define __DBL_HAS_INFINITY__ 1
1572// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
1573// X86_64:#define __DBL_MANT_DIG__ 53
1574// X86_64:#define __DBL_MAX_10_EXP__ 308
1575// X86_64:#define __DBL_MAX_EXP__ 1024
1576// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
1577// X86_64:#define __DBL_MIN_10_EXP__ (-307)
1578// X86_64:#define __DBL_MIN_EXP__ (-1021)
1579// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
1580// X86_64:#define __DECIMAL_DIG__ 21
1581// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1582// X86_64:#define __FLT_DIG__ 6
1583// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
1584// X86_64:#define __FLT_EVAL_METHOD__ 0
1585// X86_64:#define __FLT_HAS_DENORM__ 1
1586// X86_64:#define __FLT_HAS_INFINITY__ 1
1587// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
1588// X86_64:#define __FLT_MANT_DIG__ 24
1589// X86_64:#define __FLT_MAX_10_EXP__ 38
1590// X86_64:#define __FLT_MAX_EXP__ 128
1591// X86_64:#define __FLT_MAX__ 3.40282347e+38F
1592// X86_64:#define __FLT_MIN_10_EXP__ (-37)
1593// X86_64:#define __FLT_MIN_EXP__ (-125)
1594// X86_64:#define __FLT_MIN__ 1.17549435e-38F
1595// X86_64:#define __FLT_RADIX__ 2
1596// X86_64:#define __INT16_TYPE__ short
1597// X86_64:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00001598// X86_64:#define __INT64_C_SUFFIX__ L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001599// X86_64:#define __INT64_TYPE__ long int
1600// X86_64:#define __INT8_TYPE__ char
1601// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck8241d732009-11-19 13:18:59 +00001602// X86_64:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00001603// X86_64:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001604// X86_64:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00001605// X86_64:#define __INTPTR_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001606// X86_64:#define __INT_MAX__ 2147483647
1607// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1608// X86_64:#define __LDBL_DIG__ 18
1609// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1610// X86_64:#define __LDBL_HAS_DENORM__ 1
1611// X86_64:#define __LDBL_HAS_INFINITY__ 1
1612// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
1613// X86_64:#define __LDBL_MANT_DIG__ 64
1614// X86_64:#define __LDBL_MAX_10_EXP__ 4932
1615// X86_64:#define __LDBL_MAX_EXP__ 16384
1616// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1617// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
1618// X86_64:#define __LDBL_MIN_EXP__ (-16381)
1619// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1620// X86_64:#define __LITTLE_ENDIAN__ 1
1621// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1622// X86_64:#define __LONG_MAX__ 9223372036854775807L
1623// X86_64:#define __LP64__ 1
1624// X86_64:#define __MMX__ 1
1625// X86_64:#define __NO_INLINE__ 1
1626// X86_64:#define __NO_MATH_INLINES 1
1627// X86_64:#define __POINTER_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001628// X86_64:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00001629// X86_64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001630// X86_64:#define __REGISTER_PREFIX__
1631// X86_64:#define __SCHAR_MAX__ 127
1632// X86_64:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00001633// X86_64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00001634// X86_64:#define __SIZEOF_DOUBLE__ 8
1635// X86_64:#define __SIZEOF_FLOAT__ 4
1636// X86_64:#define __SIZEOF_INT__ 4
1637// X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
1638// X86_64:#define __SIZEOF_LONG_LONG__ 8
1639// X86_64:#define __SIZEOF_LONG__ 8
1640// X86_64:#define __SIZEOF_POINTER__ 8
1641// X86_64:#define __SIZEOF_PTRDIFF_T__ 8
1642// X86_64:#define __SIZEOF_SHORT__ 2
1643// X86_64:#define __SIZEOF_SIZE_T__ 8
1644// X86_64:#define __SIZEOF_WCHAR_T__ 4
1645// X86_64:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +00001646// X86_64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00001647// X86_64:#define __SIZE_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001648// X86_64:#define __SSE2_MATH__ 1
1649// X86_64:#define __SSE2__ 1
1650// X86_64:#define __SSE_MATH__ 1
1651// X86_64:#define __SSE__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00001652// X86_64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001653// X86_64:#define __USER_LABEL_PREFIX__ _
1654// X86_64:#define __WCHAR_MAX__ 2147483647
1655// X86_64:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001656// X86_64:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001657// X86_64:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001658// X86_64:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001659// X86_64:#define __amd64 1
1660// X86_64:#define __amd64__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00001661// X86_64:#define __x86_64 1
1662// X86_64:#define __x86_64__ 1
1663//
Douglas Gregor12e84642011-01-12 21:19:25 +00001664// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
1665//
1666// X86_64-LINUX:#define _LP64 1
1667// X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
1668// X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
1669// X86_64-LINUX:#define __CHAR_BIT__ 8
1670// X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1671// X86_64-LINUX:#define __DBL_DIG__ 15
1672// X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
1673// X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
1674// X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
1675// X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
1676// X86_64-LINUX:#define __DBL_MANT_DIG__ 53
1677// X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
1678// X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
1679// X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
1680// X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
1681// X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
1682// X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
1683// X86_64-LINUX:#define __DECIMAL_DIG__ 21
1684// X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1685// X86_64-LINUX:#define __FLT_DIG__ 6
1686// X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
1687// X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
1688// X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
1689// X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
1690// X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
1691// X86_64-LINUX:#define __FLT_MANT_DIG__ 24
1692// X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
1693// X86_64-LINUX:#define __FLT_MAX_EXP__ 128
1694// X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
1695// X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
1696// X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
1697// X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
1698// X86_64-LINUX:#define __FLT_RADIX__ 2
1699// X86_64-LINUX:#define __INT16_TYPE__ short
1700// X86_64-LINUX:#define __INT32_TYPE__ int
1701// X86_64-LINUX:#define __INT64_C_SUFFIX__ L
1702// X86_64-LINUX:#define __INT64_TYPE__ long int
1703// X86_64-LINUX:#define __INT8_TYPE__ char
1704// X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
1705// X86_64-LINUX:#define __INTMAX_TYPE__ long int
1706// X86_64-LINUX:#define __INTMAX_WIDTH__ 64
1707// X86_64-LINUX:#define __INTPTR_TYPE__ long int
1708// X86_64-LINUX:#define __INTPTR_WIDTH__ 64
1709// X86_64-LINUX:#define __INT_MAX__ 2147483647
1710// X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1711// X86_64-LINUX:#define __LDBL_DIG__ 18
1712// X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1713// X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
1714// X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
1715// X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
1716// X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
1717// X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
1718// X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
1719// X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1720// X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
1721// X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
1722// X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1723// X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
1724// X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
1725// X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
1726// X86_64-LINUX:#define __LP64__ 1
1727// X86_64-LINUX:#define __MMX__ 1
1728// X86_64-LINUX:#define __NO_INLINE__ 1
1729// X86_64-LINUX:#define __NO_MATH_INLINES 1
1730// X86_64-LINUX:#define __POINTER_WIDTH__ 64
1731// X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
1732// X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
1733// X86_64-LINUX:#define __REGISTER_PREFIX__
1734// X86_64-LINUX:#define __SCHAR_MAX__ 127
1735// X86_64-LINUX:#define __SHRT_MAX__ 32767
1736// X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
1737// X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
1738// X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
1739// X86_64-LINUX:#define __SIZEOF_INT__ 4
1740// X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
1741// X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
1742// X86_64-LINUX:#define __SIZEOF_LONG__ 8
1743// X86_64-LINUX:#define __SIZEOF_POINTER__ 8
1744// X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
1745// X86_64-LINUX:#define __SIZEOF_SHORT__ 2
1746// X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
1747// X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
1748// X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
1749// X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
1750// X86_64-LINUX:#define __SIZE_WIDTH__ 64
1751// X86_64-LINUX:#define __SSE2_MATH__ 1
1752// X86_64-LINUX:#define __SSE2__ 1
1753// X86_64-LINUX:#define __SSE_MATH__ 1
1754// X86_64-LINUX:#define __SSE__ 1
1755// X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
1756// X86_64-LINUX:#define __USER_LABEL_PREFIX__
1757// X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
1758// X86_64-LINUX:#define __WCHAR_TYPE__ int
1759// X86_64-LINUX:#define __WCHAR_WIDTH__ 32
1760// X86_64-LINUX:#define __WINT_TYPE__ unsigned int
1761// X86_64-LINUX:#define __WINT_WIDTH__ 32
1762// X86_64-LINUX:#define __amd64 1
1763// X86_64-LINUX:#define __amd64__ 1
Douglas Gregor12e84642011-01-12 21:19:25 +00001764// X86_64-LINUX:#define __x86_64 1
1765// X86_64-LINUX:#define __x86_64__ 1
1766//
John McCalld1e40d52011-10-02 01:16:38 +00001767// RUN: %clang_cc1 -x c++ -triple i686-pc-linux-gnu -fobjc-fragile-abi -E -dM < /dev/null | FileCheck -check-prefix GNUSOURCE %s
Douglas Gregor66791df2010-04-16 06:31:05 +00001768// GNUSOURCE:#define _GNU_SOURCE 1
1769//
Dan Gohmancfeac342010-05-28 00:27:15 +00001770// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
1771// NORTTI: __GXX_ABI_VERSION
1772// NORTTI-NOT:#define __GXX_RTTI
1773// NORTTI: __STDC__
Evgeniy Stepanov32064032012-04-26 12:08:09 +00001774//
1775// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
1776// ANDROID: __ANDROID__ 1