blob: 82a8d0b810088c2ca29d5125bb5e2b04b262b6b5 [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//
David Chisnall11d3f4c2012-07-03 20:49:52 +000088// RUN: %clang_cc1 -fms-extensions -triple i686-pc-win32 -fobjc-runtime=gcc -E -dM < /dev/null | FileCheck -check-prefix MSEXT %s
Chris Lattnerbceaf862009-10-29 04:55:36 +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
Simon Atanasyan3dbcc882012-06-05 13:06:56 +0000876// MIPS-FABI-SINGLE:#define __mips_hard_float 1
Simon Atanasyanaba3f0f2012-04-06 17:51:49 +0000877// MIPS-FABI-SINGLE:#define __mips_single_float 1
878//
Simon Atanasyan1176bcd2012-07-05 16:06:06 +0000879// Check MIPS features macros
880//
881// RUN: %clang_cc1 -target-feature +mips16 \
882// RUN: -E -dM -triple=mips-none-none < /dev/null \
883// RUN: | FileCheck -check-prefix MIPS16 %s
884// MIPS16:#define __mips16 1
885//
886// RUN: %clang_cc1 -target-feature -mips16 \
887// RUN: -E -dM -triple=mips-none-none < /dev/null \
888// RUN: | FileCheck -check-prefix NOMIPS16 %s
889// NOMIPS16-NOT:#define __mips16 1
890//
Simon Atanasyana1b62272012-07-05 20:16:22 +0000891// RUN: %clang_cc1 -target-feature +dsp \
892// RUN: -E -dM -triple=mips-none-none < /dev/null \
893// RUN: | FileCheck -check-prefix MIPS-DSP %s
894// MIPS-DSP:#define __mips_dsp 1
895// MIPS-DSP:#define __mips_dsp_rev 1
896// MIPS-DSP-NOT:#define __mips_dspr2 1
897//
898// RUN: %clang_cc1 -target-feature +dspr2 \
899// RUN: -E -dM -triple=mips-none-none < /dev/null \
900// RUN: | FileCheck -check-prefix MIPS-DSPR2 %s
901// MIPS-DSPR2:#define __mips_dsp 1
902// MIPS-DSPR2:#define __mips_dsp_rev 2
903// MIPS-DSPR2:#define __mips_dspr2 1
904//
Daniel Dunbara5728872009-12-15 20:14:24 +0000905// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000906//
907// MSP430:#define MSP430 1
Dan Gohmancfeac342010-05-28 00:27:15 +0000908// MSP430:#define __CHAR16_TYPE__ unsigned short
909// MSP430:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000910// MSP430:#define __CHAR_BIT__ 8
911// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
912// MSP430:#define __DBL_DIG__ 15
913// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
914// MSP430:#define __DBL_HAS_DENORM__ 1
915// MSP430:#define __DBL_HAS_INFINITY__ 1
916// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
917// MSP430:#define __DBL_MANT_DIG__ 53
918// MSP430:#define __DBL_MAX_10_EXP__ 308
919// MSP430:#define __DBL_MAX_EXP__ 1024
920// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
921// MSP430:#define __DBL_MIN_10_EXP__ (-307)
922// MSP430:#define __DBL_MIN_EXP__ (-1021)
923// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
924// MSP430:#define __DECIMAL_DIG__ 17
925// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
926// MSP430:#define __FLT_DIG__ 6
927// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
928// MSP430:#define __FLT_EVAL_METHOD__ 0
929// MSP430:#define __FLT_HAS_DENORM__ 1
930// MSP430:#define __FLT_HAS_INFINITY__ 1
931// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
932// MSP430:#define __FLT_MANT_DIG__ 24
933// MSP430:#define __FLT_MAX_10_EXP__ 38
934// MSP430:#define __FLT_MAX_EXP__ 128
935// MSP430:#define __FLT_MAX__ 3.40282347e+38F
936// MSP430:#define __FLT_MIN_10_EXP__ (-37)
937// MSP430:#define __FLT_MIN_EXP__ (-125)
938// MSP430:#define __FLT_MIN__ 1.17549435e-38F
939// MSP430:#define __FLT_RADIX__ 2
940// MSP430:#define __INT16_TYPE__ short
Ken Dyckeef22ef2009-11-16 16:36:33 +0000941// MSP430:#define __INT32_C_SUFFIX__ L
Chris Lattnerdcdd2a02009-11-12 08:08:27 +0000942// MSP430:#define __INT32_TYPE__ long int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000943// MSP430:#define __INT8_TYPE__ char
944// MSP430:#define __INTMAX_MAX__ 2147483647L
Ken Dyck8241d732009-11-19 13:18:59 +0000945// MSP430:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +0000946// MSP430:#define __INTMAX_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000947// MSP430:#define __INTPTR_TYPE__ short
Ken Dyckd896e1a2009-11-18 20:05:48 +0000948// MSP430:#define __INTPTR_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +0000949// MSP430:#define __INT_MAX__ 32767
950// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
951// MSP430:#define __LDBL_DIG__ 15
952// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16
953// MSP430:#define __LDBL_HAS_DENORM__ 1
954// MSP430:#define __LDBL_HAS_INFINITY__ 1
955// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
956// MSP430:#define __LDBL_MANT_DIG__ 53
957// MSP430:#define __LDBL_MAX_10_EXP__ 308
958// MSP430:#define __LDBL_MAX_EXP__ 1024
959// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308
960// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
961// MSP430:#define __LDBL_MIN_EXP__ (-1021)
962// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308
Anton Korobeynikov79bff432010-01-14 21:36:52 +0000963// MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000964// MSP430:#define __LONG_MAX__ 2147483647L
965// MSP430:#define __MSP430__ 1
966// MSP430:#define __NO_INLINE__ 1
967// MSP430:#define __POINTER_WIDTH__ 16
Ken Dyck8241d732009-11-19 13:18:59 +0000968// MSP430:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +0000969// MSP430:#define __PTRDIFF_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +0000970// MSP430:#define __SCHAR_MAX__ 127
971// MSP430:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000972// MSP430:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000973// MSP430:#define __SIZEOF_DOUBLE__ 8
974// MSP430:#define __SIZEOF_FLOAT__ 4
975// MSP430:#define __SIZEOF_INT__ 2
976// MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
977// MSP430:#define __SIZEOF_LONG_LONG__ 8
978// MSP430:#define __SIZEOF_LONG__ 4
979// MSP430:#define __SIZEOF_POINTER__ 2
980// MSP430:#define __SIZEOF_PTRDIFF_T__ 2
981// MSP430:#define __SIZEOF_SHORT__ 2
982// MSP430:#define __SIZEOF_SIZE_T__ 2
983// MSP430:#define __SIZEOF_WCHAR_T__ 2
984// MSP430:#define __SIZEOF_WINT_T__ 2
Chris Lattnerbceaf862009-10-29 04:55:36 +0000985// MSP430:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000986// MSP430:#define __SIZE_WIDTH__ 16
Ken Dyck8241d732009-11-19 13:18:59 +0000987// MSP430:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000988// MSP430:#define __USER_LABEL_PREFIX__ _
Chris Lattner91846462009-11-12 08:04:33 +0000989// MSP430:#define __WCHAR_MAX__ 32767
Chris Lattnerbceaf862009-10-29 04:55:36 +0000990// MSP430:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +0000991// MSP430:#define __WCHAR_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +0000992// MSP430:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000993// MSP430:#define __WINT_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +0000994// MSP430:#define __clang__ 1
995//
Dylan Noblesmith77a4d572012-07-27 16:37:53 +0000996// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s
997//
998// NVPTX32:#define __CHAR16_TYPE__ unsigned short
999// NVPTX32:#define __CHAR32_TYPE__ unsigned int
1000// NVPTX32:#define __CHAR_BIT__ 8
1001// NVPTX32:#define __CONSTANT_CFSTRINGS__ 1
1002// NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1003// NVPTX32:#define __DBL_DIG__ 15
1004// NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16
1005// NVPTX32:#define __DBL_HAS_DENORM__ 1
1006// NVPTX32:#define __DBL_HAS_INFINITY__ 1
1007// NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1
1008// NVPTX32:#define __DBL_MANT_DIG__ 53
1009// NVPTX32:#define __DBL_MAX_10_EXP__ 308
1010// NVPTX32:#define __DBL_MAX_EXP__ 1024
1011// NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308
1012// NVPTX32:#define __DBL_MIN_10_EXP__ (-307)
1013// NVPTX32:#define __DBL_MIN_EXP__ (-1021)
1014// NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308
1015// NVPTX32:#define __DECIMAL_DIG__ 17
1016// NVPTX32:#define __FINITE_MATH_ONLY__ 0
1017// NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1018// NVPTX32:#define __FLT_DIG__ 6
1019// NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F
1020// NVPTX32:#define __FLT_EVAL_METHOD__ 0
1021// NVPTX32:#define __FLT_HAS_DENORM__ 1
1022// NVPTX32:#define __FLT_HAS_INFINITY__ 1
1023// NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1
1024// NVPTX32:#define __FLT_MANT_DIG__ 24
1025// NVPTX32:#define __FLT_MAX_10_EXP__ 38
1026// NVPTX32:#define __FLT_MAX_EXP__ 128
1027// NVPTX32:#define __FLT_MAX__ 3.40282347e+38F
1028// NVPTX32:#define __FLT_MIN_10_EXP__ (-37)
1029// NVPTX32:#define __FLT_MIN_EXP__ (-125)
1030// NVPTX32:#define __FLT_MIN__ 1.17549435e-38F
1031// NVPTX32:#define __FLT_RADIX__ 2
1032// NVPTX32:#define __INT16_TYPE__ short
1033// NVPTX32:#define __INT32_TYPE__ int
1034// NVPTX32:#define __INT64_C_SUFFIX__ LL
1035// NVPTX32:#define __INT64_TYPE__ long long int
1036// NVPTX32:#define __INT8_TYPE__ char
1037// NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL
1038// NVPTX32:#define __INTMAX_TYPE__ long long int
1039// NVPTX32:#define __INTMAX_WIDTH__ 64
1040// NVPTX32:#define __INTPTR_TYPE__ unsigned int
1041// NVPTX32:#define __INTPTR_WIDTH__ 32
1042// NVPTX32:#define __INT_MAX__ 2147483647
1043// NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
1044// NVPTX32:#define __LDBL_DIG__ 15
1045// NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16
1046// NVPTX32:#define __LDBL_HAS_DENORM__ 1
1047// NVPTX32:#define __LDBL_HAS_INFINITY__ 1
1048// NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1
1049// NVPTX32:#define __LDBL_MANT_DIG__ 53
1050// NVPTX32:#define __LDBL_MAX_10_EXP__ 308
1051// NVPTX32:#define __LDBL_MAX_EXP__ 1024
1052// NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308
1053// NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
1054// NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
1055// NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308
1056// NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL
1057// NVPTX32:#define __LONG_MAX__ 9223372036854775807L
1058// NVPTX32:#define __NVPTX__ 1
1059// NVPTX32:#define __POINTER_WIDTH__ 32
1060// NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1
1061// NVPTX32:#define __PTRDIFF_TYPE__ unsigned int
1062// NVPTX32:#define __PTRDIFF_WIDTH__ 32
1063// NVPTX32:#define __PTX__ 1
1064// NVPTX32:#define __SCHAR_MAX__ 127
1065// NVPTX32:#define __SHRT_MAX__ 32767
1066// NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32
1067// NVPTX32:#define __SIZEOF_DOUBLE__ 8
1068// NVPTX32:#define __SIZEOF_FLOAT__ 4
1069// NVPTX32:#define __SIZEOF_INT__ 4
1070// NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8
1071// NVPTX32:#define __SIZEOF_LONG_LONG__ 8
1072// NVPTX32:#define __SIZEOF_LONG__ 8
1073// NVPTX32:#define __SIZEOF_POINTER__ 4
1074// NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4
1075// NVPTX32:#define __SIZEOF_SHORT__ 2
1076// NVPTX32:#define __SIZEOF_SIZE_T__ 4
1077// NVPTX32:#define __SIZEOF_WCHAR_T__ 4
1078// NVPTX32:#define __SIZEOF_WINT_T__ 4
1079// NVPTX32:#define __SIZE_TYPE__ unsigned int
1080// NVPTX32:#define __SIZE_WIDTH__ 32
1081// NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int
1082// NVPTX32:#define __USER_LABEL_PREFIX__ _
1083// NVPTX32:#define __WCHAR_MAX__ 2147483647
1084// NVPTX32:#define __WCHAR_TYPE__ int
1085// NVPTX32:#define __WCHAR_WIDTH__ 32
1086// NVPTX32:#define __WINT_TYPE__ int
1087// NVPTX32:#define __WINT_WIDTH__ 32
1088//
1089// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -check-prefix NVPTX64 %s
1090//
1091// NVPTX64:#define __CHAR16_TYPE__ unsigned short
1092// NVPTX64:#define __CHAR32_TYPE__ unsigned int
1093// NVPTX64:#define __CHAR_BIT__ 8
1094// NVPTX64:#define __CONSTANT_CFSTRINGS__ 1
1095// NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1096// NVPTX64:#define __DBL_DIG__ 15
1097// NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1098// NVPTX64:#define __DBL_HAS_DENORM__ 1
1099// NVPTX64:#define __DBL_HAS_INFINITY__ 1
1100// NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1
1101// NVPTX64:#define __DBL_MANT_DIG__ 53
1102// NVPTX64:#define __DBL_MAX_10_EXP__ 308
1103// NVPTX64:#define __DBL_MAX_EXP__ 1024
1104// NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308
1105// NVPTX64:#define __DBL_MIN_10_EXP__ (-307)
1106// NVPTX64:#define __DBL_MIN_EXP__ (-1021)
1107// NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308
1108// NVPTX64:#define __DECIMAL_DIG__ 17
1109// NVPTX64:#define __FINITE_MATH_ONLY__ 0
1110// NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1111// NVPTX64:#define __FLT_DIG__ 6
1112// NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F
1113// NVPTX64:#define __FLT_EVAL_METHOD__ 0
1114// NVPTX64:#define __FLT_HAS_DENORM__ 1
1115// NVPTX64:#define __FLT_HAS_INFINITY__ 1
1116// NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1
1117// NVPTX64:#define __FLT_MANT_DIG__ 24
1118// NVPTX64:#define __FLT_MAX_10_EXP__ 38
1119// NVPTX64:#define __FLT_MAX_EXP__ 128
1120// NVPTX64:#define __FLT_MAX__ 3.40282347e+38F
1121// NVPTX64:#define __FLT_MIN_10_EXP__ (-37)
1122// NVPTX64:#define __FLT_MIN_EXP__ (-125)
1123// NVPTX64:#define __FLT_MIN__ 1.17549435e-38F
1124// NVPTX64:#define __FLT_RADIX__ 2
1125// NVPTX64:#define __INT16_TYPE__ short
1126// NVPTX64:#define __INT32_TYPE__ int
1127// NVPTX64:#define __INT64_C_SUFFIX__ LL
1128// NVPTX64:#define __INT64_TYPE__ long long int
1129// NVPTX64:#define __INT8_TYPE__ char
1130// NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL
1131// NVPTX64:#define __INTMAX_TYPE__ long long int
1132// NVPTX64:#define __INTMAX_WIDTH__ 64
1133// NVPTX64:#define __INTPTR_TYPE__ long long unsigned int
1134// NVPTX64:#define __INTPTR_WIDTH__ 64
1135// NVPTX64:#define __INT_MAX__ 2147483647
1136// NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
1137// NVPTX64:#define __LDBL_DIG__ 15
1138// NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16
1139// NVPTX64:#define __LDBL_HAS_DENORM__ 1
1140// NVPTX64:#define __LDBL_HAS_INFINITY__ 1
1141// NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1
1142// NVPTX64:#define __LDBL_MANT_DIG__ 53
1143// NVPTX64:#define __LDBL_MAX_10_EXP__ 308
1144// NVPTX64:#define __LDBL_MAX_EXP__ 1024
1145// NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308
1146// NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
1147// NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
1148// NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308
1149// NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1150// NVPTX64:#define __LONG_MAX__ 9223372036854775807L
1151// NVPTX64:#define __NVPTX__ 1
1152// NVPTX64:#define __POINTER_WIDTH__ 64
1153// NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1
1154// NVPTX64:#define __PTRDIFF_TYPE__ long long unsigned int
1155// NVPTX64:#define __PTRDIFF_WIDTH__ 64
1156// NVPTX64:#define __PTX__ 1
1157// NVPTX64:#define __SCHAR_MAX__ 127
1158// NVPTX64:#define __SHRT_MAX__ 32767
1159// NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32
1160// NVPTX64:#define __SIZEOF_DOUBLE__ 8
1161// NVPTX64:#define __SIZEOF_FLOAT__ 4
1162// NVPTX64:#define __SIZEOF_INT__ 4
1163// NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8
1164// NVPTX64:#define __SIZEOF_LONG_LONG__ 8
1165// NVPTX64:#define __SIZEOF_LONG__ 8
1166// NVPTX64:#define __SIZEOF_POINTER__ 8
1167// NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8
1168// NVPTX64:#define __SIZEOF_SHORT__ 2
1169// NVPTX64:#define __SIZEOF_SIZE_T__ 8
1170// NVPTX64:#define __SIZEOF_WCHAR_T__ 4
1171// NVPTX64:#define __SIZEOF_WINT_T__ 4
1172// NVPTX64:#define __SIZE_TYPE__ long long unsigned int
1173// NVPTX64:#define __SIZE_WIDTH__ 64
1174// NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int
1175// NVPTX64:#define __USER_LABEL_PREFIX__ _
1176// NVPTX64:#define __WCHAR_MAX__ 2147483647
1177// NVPTX64:#define __WCHAR_TYPE__ int
1178// NVPTX64:#define __WCHAR_WIDTH__ 32
1179// NVPTX64:#define __WINT_TYPE__ int
1180// NVPTX64:#define __WINT_WIDTH__ 32
1181//
Hal Finkel39d5fa12012-07-03 16:51:04 +00001182// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -check-prefix PPC603E %s
1183//
1184// PPC603E:#define _ARCH_603 1
1185// PPC603E:#define _ARCH_603E 1
1186// PPC603E:#define _ARCH_PPC 1
1187// PPC603E:#define _ARCH_PPCGR 1
1188// PPC603E:#define _BIG_ENDIAN 1
1189// PPC603E:#define __BIG_ENDIAN__ 1
1190// PPC603E:#define __CHAR16_TYPE__ unsigned short
1191// PPC603E:#define __CHAR32_TYPE__ unsigned int
1192// PPC603E:#define __CHAR_BIT__ 8
1193// PPC603E:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1194// PPC603E:#define __DBL_DIG__ 15
1195// PPC603E:#define __DBL_EPSILON__ 2.2204460492503131e-16
1196// PPC603E:#define __DBL_HAS_DENORM__ 1
1197// PPC603E:#define __DBL_HAS_INFINITY__ 1
1198// PPC603E:#define __DBL_HAS_QUIET_NAN__ 1
1199// PPC603E:#define __DBL_MANT_DIG__ 53
1200// PPC603E:#define __DBL_MAX_10_EXP__ 308
1201// PPC603E:#define __DBL_MAX_EXP__ 1024
1202// PPC603E:#define __DBL_MAX__ 1.7976931348623157e+308
1203// PPC603E:#define __DBL_MIN_10_EXP__ (-307)
1204// PPC603E:#define __DBL_MIN_EXP__ (-1021)
1205// PPC603E:#define __DBL_MIN__ 2.2250738585072014e-308
1206// PPC603E:#define __DECIMAL_DIG__ 33
1207// PPC603E:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1208// PPC603E:#define __FLT_DIG__ 6
1209// PPC603E:#define __FLT_EPSILON__ 1.19209290e-7F
1210// PPC603E:#define __FLT_EVAL_METHOD__ 0
1211// PPC603E:#define __FLT_HAS_DENORM__ 1
1212// PPC603E:#define __FLT_HAS_INFINITY__ 1
1213// PPC603E:#define __FLT_HAS_QUIET_NAN__ 1
1214// PPC603E:#define __FLT_MANT_DIG__ 24
1215// PPC603E:#define __FLT_MAX_10_EXP__ 38
1216// PPC603E:#define __FLT_MAX_EXP__ 128
1217// PPC603E:#define __FLT_MAX__ 3.40282347e+38F
1218// PPC603E:#define __FLT_MIN_10_EXP__ (-37)
1219// PPC603E:#define __FLT_MIN_EXP__ (-125)
1220// PPC603E:#define __FLT_MIN__ 1.17549435e-38F
1221// PPC603E:#define __FLT_RADIX__ 2
1222// PPC603E:#define __INT16_TYPE__ short
1223// PPC603E:#define __INT32_TYPE__ int
1224// PPC603E:#define __INT64_C_SUFFIX__ LL
1225// PPC603E:#define __INT64_TYPE__ long long int
1226// PPC603E:#define __INT8_TYPE__ char
1227// PPC603E:#define __INTMAX_MAX__ 9223372036854775807LL
1228// PPC603E:#define __INTMAX_TYPE__ long long int
1229// PPC603E:#define __INTMAX_WIDTH__ 64
1230// PPC603E:#define __INTPTR_TYPE__ long int
1231// PPC603E:#define __INTPTR_WIDTH__ 32
1232// PPC603E:#define __INT_MAX__ 2147483647
1233// PPC603E:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1234// PPC603E:#define __LDBL_DIG__ 31
1235// PPC603E:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1236// PPC603E:#define __LDBL_HAS_DENORM__ 1
1237// PPC603E:#define __LDBL_HAS_INFINITY__ 1
1238// PPC603E:#define __LDBL_HAS_QUIET_NAN__ 1
1239// PPC603E:#define __LDBL_MANT_DIG__ 106
1240// PPC603E:#define __LDBL_MAX_10_EXP__ 308
1241// PPC603E:#define __LDBL_MAX_EXP__ 1024
1242// PPC603E:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1243// PPC603E:#define __LDBL_MIN_10_EXP__ (-291)
1244// PPC603E:#define __LDBL_MIN_EXP__ (-968)
1245// PPC603E:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1246// PPC603E:#define __LONG_DOUBLE_128__ 1
1247// PPC603E:#define __LONG_LONG_MAX__ 9223372036854775807LL
1248// PPC603E:#define __LONG_MAX__ 2147483647L
1249// PPC603E:#define __NATURAL_ALIGNMENT__ 1
1250// PPC603E:#define __NO_INLINE__ 1
1251// PPC603E:#define __POINTER_WIDTH__ 32
1252// PPC603E:#define __POWERPC__ 1
1253// PPC603E:#define __PTRDIFF_TYPE__ long int
1254// PPC603E:#define __PTRDIFF_WIDTH__ 32
1255// PPC603E:#define __REGISTER_PREFIX__
1256// PPC603E:#define __SCHAR_MAX__ 127
1257// PPC603E:#define __SHRT_MAX__ 32767
1258// PPC603E:#define __SIG_ATOMIC_WIDTH__ 32
1259// PPC603E:#define __SIZEOF_DOUBLE__ 8
1260// PPC603E:#define __SIZEOF_FLOAT__ 4
1261// PPC603E:#define __SIZEOF_INT__ 4
1262// PPC603E:#define __SIZEOF_LONG_DOUBLE__ 16
1263// PPC603E:#define __SIZEOF_LONG_LONG__ 8
1264// PPC603E:#define __SIZEOF_LONG__ 4
1265// PPC603E:#define __SIZEOF_POINTER__ 4
1266// PPC603E:#define __SIZEOF_PTRDIFF_T__ 4
1267// PPC603E:#define __SIZEOF_SHORT__ 2
1268// PPC603E:#define __SIZEOF_SIZE_T__ 4
1269// PPC603E:#define __SIZEOF_WCHAR_T__ 4
1270// PPC603E:#define __SIZEOF_WINT_T__ 4
1271// PPC603E:#define __SIZE_TYPE__ long unsigned int
1272// PPC603E:#define __SIZE_WIDTH__ 32
1273// PPC603E:#define __UINTMAX_TYPE__ long long unsigned int
1274// PPC603E:#define __USER_LABEL_PREFIX__ _
1275// PPC603E:#define __WCHAR_MAX__ 2147483647
1276// PPC603E:#define __WCHAR_TYPE__ int
1277// PPC603E:#define __WCHAR_WIDTH__ 32
1278// PPC603E:#define __WINT_TYPE__ int
1279// PPC603E:#define __WINT_WIDTH__ 32
1280// PPC603E:#define __powerpc__ 1
1281// PPC603E:#define __ppc__ 1
1282//
Hal Finkel02a84272012-06-11 22:35:19 +00001283// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00001284//
1285// PPC64:#define _ARCH_PPC 1
1286// PPC64:#define _ARCH_PPC64 1
Hal Finkel39d5fa12012-07-03 16:51:04 +00001287// PPC64:#define _ARCH_PPCGR 1
1288// PPC64:#define _ARCH_PPCSQ 1
1289// PPC64:#define _ARCH_PWR4 1
1290// PPC64:#define _ARCH_PWR5 1
1291// PPC64:#define _ARCH_PWR6 1
Hal Finkel02a84272012-06-11 22:35:19 +00001292// PPC64:#define _ARCH_PWR7 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00001293// PPC64:#define _BIG_ENDIAN 1
1294// PPC64:#define _LP64 1
1295// PPC64:#define __BIG_ENDIAN__ 1
Dan Gohmancfeac342010-05-28 00:27:15 +00001296// PPC64:#define __CHAR16_TYPE__ unsigned short
1297// PPC64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001298// PPC64:#define __CHAR_BIT__ 8
1299// PPC64:#define __CHAR_UNSIGNED__ 1
1300// PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1301// PPC64:#define __DBL_DIG__ 15
1302// PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1303// PPC64:#define __DBL_HAS_DENORM__ 1
1304// PPC64:#define __DBL_HAS_INFINITY__ 1
1305// PPC64:#define __DBL_HAS_QUIET_NAN__ 1
1306// PPC64:#define __DBL_MANT_DIG__ 53
1307// PPC64:#define __DBL_MAX_10_EXP__ 308
1308// PPC64:#define __DBL_MAX_EXP__ 1024
1309// PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
1310// PPC64:#define __DBL_MIN_10_EXP__ (-307)
1311// PPC64:#define __DBL_MIN_EXP__ (-1021)
1312// PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001313// PPC64:#define __DECIMAL_DIG__ 33
Chris Lattnerbceaf862009-10-29 04:55:36 +00001314// PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1315// PPC64:#define __FLT_DIG__ 6
1316// PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
1317// PPC64:#define __FLT_EVAL_METHOD__ 0
1318// PPC64:#define __FLT_HAS_DENORM__ 1
1319// PPC64:#define __FLT_HAS_INFINITY__ 1
1320// PPC64:#define __FLT_HAS_QUIET_NAN__ 1
1321// PPC64:#define __FLT_MANT_DIG__ 24
1322// PPC64:#define __FLT_MAX_10_EXP__ 38
1323// PPC64:#define __FLT_MAX_EXP__ 128
1324// PPC64:#define __FLT_MAX__ 3.40282347e+38F
1325// PPC64:#define __FLT_MIN_10_EXP__ (-37)
1326// PPC64:#define __FLT_MIN_EXP__ (-125)
1327// PPC64:#define __FLT_MIN__ 1.17549435e-38F
1328// PPC64:#define __FLT_RADIX__ 2
1329// PPC64:#define __INT16_TYPE__ short
1330// PPC64:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00001331// PPC64:#define __INT64_C_SUFFIX__ L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001332// PPC64:#define __INT64_TYPE__ long int
1333// PPC64:#define __INT8_TYPE__ char
1334// PPC64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck8241d732009-11-19 13:18:59 +00001335// PPC64:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00001336// PPC64:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001337// PPC64:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00001338// PPC64:#define __INTPTR_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001339// PPC64:#define __INT_MAX__ 2147483647
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001340// PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1341// PPC64:#define __LDBL_DIG__ 31
1342// PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001343// PPC64:#define __LDBL_HAS_DENORM__ 1
1344// PPC64:#define __LDBL_HAS_INFINITY__ 1
1345// PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001346// PPC64:#define __LDBL_MANT_DIG__ 106
Chris Lattnerbceaf862009-10-29 04:55:36 +00001347// PPC64:#define __LDBL_MAX_10_EXP__ 308
1348// PPC64:#define __LDBL_MAX_EXP__ 1024
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001349// PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1350// PPC64:#define __LDBL_MIN_10_EXP__ (-291)
1351// PPC64:#define __LDBL_MIN_EXP__ (-968)
1352// PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001353// PPC64:#define __LONG_DOUBLE_128__ 1
1354// PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1355// PPC64:#define __LONG_MAX__ 9223372036854775807L
1356// PPC64:#define __LP64__ 1
1357// PPC64:#define __NATURAL_ALIGNMENT__ 1
1358// PPC64:#define __NO_INLINE__ 1
1359// PPC64:#define __POINTER_WIDTH__ 64
1360// PPC64:#define __POWERPC__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00001361// PPC64:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00001362// PPC64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001363// PPC64:#define __REGISTER_PREFIX__
1364// PPC64:#define __SCHAR_MAX__ 127
1365// PPC64:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00001366// PPC64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00001367// PPC64:#define __SIZEOF_DOUBLE__ 8
1368// PPC64:#define __SIZEOF_FLOAT__ 4
1369// PPC64:#define __SIZEOF_INT__ 4
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001370// PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohmancfeac342010-05-28 00:27:15 +00001371// PPC64:#define __SIZEOF_LONG_LONG__ 8
1372// PPC64:#define __SIZEOF_LONG__ 8
1373// PPC64:#define __SIZEOF_POINTER__ 8
1374// PPC64:#define __SIZEOF_PTRDIFF_T__ 8
1375// PPC64:#define __SIZEOF_SHORT__ 2
1376// PPC64:#define __SIZEOF_SIZE_T__ 8
1377// PPC64:#define __SIZEOF_WCHAR_T__ 4
1378// PPC64:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +00001379// PPC64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00001380// PPC64:#define __SIZE_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001381// PPC64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001382// PPC64:#define __USER_LABEL_PREFIX__ _
1383// PPC64:#define __WCHAR_MAX__ 2147483647
1384// PPC64:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001385// PPC64:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001386// PPC64:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001387// PPC64:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001388// PPC64:#define __ppc64__ 1
1389// PPC64:#define __ppc__ 1
1390//
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001391// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
1392//
1393// PPC64-LINUX:#define _ARCH_PPC 1
1394// PPC64-LINUX:#define _ARCH_PPC64 1
1395// PPC64-LINUX:#define _BIG_ENDIAN 1
1396// PPC64-LINUX:#define _LP64 1
1397// PPC64-LINUX:#define __BIG_ENDIAN__ 1
1398// PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
1399// PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
1400// PPC64-LINUX:#define __CHAR_BIT__ 8
1401// PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
1402// PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1403// PPC64-LINUX:#define __DBL_DIG__ 15
1404// PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
1405// PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
1406// PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
1407// PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
1408// PPC64-LINUX:#define __DBL_MANT_DIG__ 53
1409// PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
1410// PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
1411// PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
1412// PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
1413// PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
1414// PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
1415// PPC64-LINUX:#define __DECIMAL_DIG__ 33
1416// PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1417// PPC64-LINUX:#define __FLT_DIG__ 6
1418// PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
1419// PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
1420// PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
1421// PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
1422// PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
1423// PPC64-LINUX:#define __FLT_MANT_DIG__ 24
1424// PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
1425// PPC64-LINUX:#define __FLT_MAX_EXP__ 128
1426// PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
1427// PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
1428// PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
1429// PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
1430// PPC64-LINUX:#define __FLT_RADIX__ 2
1431// PPC64-LINUX:#define __INT16_TYPE__ short
1432// PPC64-LINUX:#define __INT32_TYPE__ int
1433// PPC64-LINUX:#define __INT64_C_SUFFIX__ L
1434// PPC64-LINUX:#define __INT64_TYPE__ long int
1435// PPC64-LINUX:#define __INT8_TYPE__ char
1436// PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
1437// PPC64-LINUX:#define __INTMAX_TYPE__ long int
1438// PPC64-LINUX:#define __INTMAX_WIDTH__ 64
1439// PPC64-LINUX:#define __INTPTR_TYPE__ long int
1440// PPC64-LINUX:#define __INTPTR_WIDTH__ 64
1441// PPC64-LINUX:#define __INT_MAX__ 2147483647
1442// PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1443// PPC64-LINUX:#define __LDBL_DIG__ 31
1444// PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1445// PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
1446// PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
1447// PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
1448// PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
1449// PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
1450// PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
1451// PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1452// PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
1453// PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
1454// PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1455// PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
1456// PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
1457// PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
1458// PPC64-LINUX:#define __LP64__ 1
1459// PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
1460// PPC64-LINUX:#define __NO_INLINE__ 1
1461// PPC64-LINUX:#define __POINTER_WIDTH__ 64
1462// PPC64-LINUX:#define __POWERPC__ 1
1463// PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
1464// PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
1465// PPC64-LINUX:#define __REGISTER_PREFIX__
1466// PPC64-LINUX:#define __SCHAR_MAX__ 127
1467// PPC64-LINUX:#define __SHRT_MAX__ 32767
1468// PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
1469// PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
1470// PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
1471// PPC64-LINUX:#define __SIZEOF_INT__ 4
1472// PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
1473// PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
1474// PPC64-LINUX:#define __SIZEOF_LONG__ 8
1475// PPC64-LINUX:#define __SIZEOF_POINTER__ 8
1476// PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
1477// PPC64-LINUX:#define __SIZEOF_SHORT__ 2
1478// PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
1479// PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
1480// PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
1481// PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
1482// PPC64-LINUX:#define __SIZE_WIDTH__ 64
1483// PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
1484// PPC64-LINUX:#define __USER_LABEL_PREFIX__
1485// PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
1486// PPC64-LINUX:#define __WCHAR_TYPE__ int
1487// PPC64-LINUX:#define __WCHAR_WIDTH__ 32
1488// PPC64-LINUX:#define __WINT_TYPE__ unsigned int
1489// PPC64-LINUX:#define __WINT_UNSIGNED__ 1
1490// PPC64-LINUX:#define __WINT_WIDTH__ 32
1491// PPC64-LINUX:#define __powerpc64__ 1
1492// PPC64-LINUX:#define __powerpc__ 1
1493// PPC64-LINUX:#define __ppc64__ 1
1494// PPC64-LINUX:#define __ppc__ 1
1495//
Daniel Dunbara5728872009-12-15 20:14:24 +00001496// 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 +00001497//
1498// PPC:#define _ARCH_PPC 1
1499// PPC:#define _BIG_ENDIAN 1
1500// PPC:#define __BIG_ENDIAN__ 1
Dan Gohmancfeac342010-05-28 00:27:15 +00001501// PPC:#define __CHAR16_TYPE__ unsigned short
1502// PPC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001503// PPC:#define __CHAR_BIT__ 8
1504// PPC:#define __CHAR_UNSIGNED__ 1
1505// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1506// PPC:#define __DBL_DIG__ 15
1507// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
1508// PPC:#define __DBL_HAS_DENORM__ 1
1509// PPC:#define __DBL_HAS_INFINITY__ 1
1510// PPC:#define __DBL_HAS_QUIET_NAN__ 1
1511// PPC:#define __DBL_MANT_DIG__ 53
1512// PPC:#define __DBL_MAX_10_EXP__ 308
1513// PPC:#define __DBL_MAX_EXP__ 1024
1514// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
1515// PPC:#define __DBL_MIN_10_EXP__ (-307)
1516// PPC:#define __DBL_MIN_EXP__ (-1021)
1517// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001518// PPC:#define __DECIMAL_DIG__ 33
Chris Lattnerbceaf862009-10-29 04:55:36 +00001519// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1520// PPC:#define __FLT_DIG__ 6
1521// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
1522// PPC:#define __FLT_EVAL_METHOD__ 0
1523// PPC:#define __FLT_HAS_DENORM__ 1
1524// PPC:#define __FLT_HAS_INFINITY__ 1
1525// PPC:#define __FLT_HAS_QUIET_NAN__ 1
1526// PPC:#define __FLT_MANT_DIG__ 24
1527// PPC:#define __FLT_MAX_10_EXP__ 38
1528// PPC:#define __FLT_MAX_EXP__ 128
1529// PPC:#define __FLT_MAX__ 3.40282347e+38F
1530// PPC:#define __FLT_MIN_10_EXP__ (-37)
1531// PPC:#define __FLT_MIN_EXP__ (-125)
1532// PPC:#define __FLT_MIN__ 1.17549435e-38F
1533// PPC:#define __FLT_RADIX__ 2
1534// PPC:#define __INT16_TYPE__ short
1535// PPC:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00001536// PPC:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +00001537// PPC:#define __INT64_TYPE__ long long int
1538// PPC:#define __INT8_TYPE__ char
1539// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +00001540// PPC:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +00001541// PPC:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001542// PPC:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00001543// PPC:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001544// PPC:#define __INT_MAX__ 2147483647
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001545// PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1546// PPC:#define __LDBL_DIG__ 31
1547// PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001548// PPC:#define __LDBL_HAS_DENORM__ 1
1549// PPC:#define __LDBL_HAS_INFINITY__ 1
1550// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001551// PPC:#define __LDBL_MANT_DIG__ 106
Chris Lattnerbceaf862009-10-29 04:55:36 +00001552// PPC:#define __LDBL_MAX_10_EXP__ 308
1553// PPC:#define __LDBL_MAX_EXP__ 1024
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001554// PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1555// PPC:#define __LDBL_MIN_10_EXP__ (-291)
1556// PPC:#define __LDBL_MIN_EXP__ (-968)
1557// PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001558// PPC:#define __LONG_DOUBLE_128__ 1
1559// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
1560// PPC:#define __LONG_MAX__ 2147483647L
1561// PPC:#define __NATURAL_ALIGNMENT__ 1
1562// PPC:#define __NO_INLINE__ 1
1563// PPC:#define __POINTER_WIDTH__ 32
1564// PPC:#define __POWERPC__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00001565// PPC:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00001566// PPC:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001567// PPC:#define __REGISTER_PREFIX__
1568// PPC:#define __SCHAR_MAX__ 127
1569// PPC:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00001570// PPC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00001571// PPC:#define __SIZEOF_DOUBLE__ 8
1572// PPC:#define __SIZEOF_FLOAT__ 4
1573// PPC:#define __SIZEOF_INT__ 4
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001574// PPC:#define __SIZEOF_LONG_DOUBLE__ 16
Dan Gohmancfeac342010-05-28 00:27:15 +00001575// PPC:#define __SIZEOF_LONG_LONG__ 8
1576// PPC:#define __SIZEOF_LONG__ 4
1577// PPC:#define __SIZEOF_POINTER__ 4
1578// PPC:#define __SIZEOF_PTRDIFF_T__ 4
1579// PPC:#define __SIZEOF_SHORT__ 2
1580// PPC:#define __SIZEOF_SIZE_T__ 4
1581// PPC:#define __SIZEOF_WCHAR_T__ 4
1582// PPC:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +00001583// PPC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00001584// PPC:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00001585// PPC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001586// PPC:#define __USER_LABEL_PREFIX__ _
1587// PPC:#define __WCHAR_MAX__ 2147483647
1588// PPC:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001589// PPC:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001590// PPC:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001591// PPC:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001592// PPC:#define __ppc__ 1
1593//
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001594// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
1595//
1596// PPC-LINUX:#define _ARCH_PPC 1
1597// PPC-LINUX:#define _BIG_ENDIAN 1
1598// PPC-LINUX:#define __BIG_ENDIAN__ 1
1599// PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
1600// PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
1601// PPC-LINUX:#define __CHAR_BIT__ 8
1602// PPC-LINUX:#define __CHAR_UNSIGNED__ 1
1603// PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1604// PPC-LINUX:#define __DBL_DIG__ 15
1605// PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
1606// PPC-LINUX:#define __DBL_HAS_DENORM__ 1
1607// PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
1608// PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
1609// PPC-LINUX:#define __DBL_MANT_DIG__ 53
1610// PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
1611// PPC-LINUX:#define __DBL_MAX_EXP__ 1024
1612// PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
1613// PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
1614// PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
1615// PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
1616// PPC-LINUX:#define __DECIMAL_DIG__ 33
1617// PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1618// PPC-LINUX:#define __FLT_DIG__ 6
1619// PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
1620// PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
1621// PPC-LINUX:#define __FLT_HAS_DENORM__ 1
1622// PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
1623// PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
1624// PPC-LINUX:#define __FLT_MANT_DIG__ 24
1625// PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
1626// PPC-LINUX:#define __FLT_MAX_EXP__ 128
1627// PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
1628// PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
1629// PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
1630// PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
1631// PPC-LINUX:#define __FLT_RADIX__ 2
1632// PPC-LINUX:#define __INT16_TYPE__ short
1633// PPC-LINUX:#define __INT32_TYPE__ int
1634// PPC-LINUX:#define __INT64_C_SUFFIX__ LL
1635// PPC-LINUX:#define __INT64_TYPE__ long long int
1636// PPC-LINUX:#define __INT8_TYPE__ char
1637// PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
1638// PPC-LINUX:#define __INTMAX_TYPE__ long long int
1639// PPC-LINUX:#define __INTMAX_WIDTH__ 64
Hal Finkel178a9b82012-03-02 20:54:36 +00001640// PPC-LINUX:#define __INTPTR_TYPE__ int
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001641// PPC-LINUX:#define __INTPTR_WIDTH__ 32
1642// PPC-LINUX:#define __INT_MAX__ 2147483647
1643// PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1644// PPC-LINUX:#define __LDBL_DIG__ 31
1645// PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1646// PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
1647// PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
1648// PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
1649// PPC-LINUX:#define __LDBL_MANT_DIG__ 106
1650// PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
1651// PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
1652// PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1653// PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
1654// PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
1655// PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1656// PPC-LINUX:#define __LONG_DOUBLE_128__ 1
1657// PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
1658// PPC-LINUX:#define __LONG_MAX__ 2147483647L
1659// PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
1660// PPC-LINUX:#define __NO_INLINE__ 1
1661// PPC-LINUX:#define __POINTER_WIDTH__ 32
1662// PPC-LINUX:#define __POWERPC__ 1
Hal Finkel178a9b82012-03-02 20:54:36 +00001663// PPC-LINUX:#define __PTRDIFF_TYPE__ int
Nico Weber6e1d2ea2012-01-31 02:07:33 +00001664// PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
1665// PPC-LINUX:#define __REGISTER_PREFIX__
1666// PPC-LINUX:#define __SCHAR_MAX__ 127
1667// PPC-LINUX:#define __SHRT_MAX__ 32767
1668// PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
1669// PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
1670// PPC-LINUX:#define __SIZEOF_FLOAT__ 4
1671// PPC-LINUX:#define __SIZEOF_INT__ 4
1672// PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
1673// PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
1674// PPC-LINUX:#define __SIZEOF_LONG__ 4
1675// PPC-LINUX:#define __SIZEOF_POINTER__ 4
1676// PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
1677// PPC-LINUX:#define __SIZEOF_SHORT__ 2
1678// PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
1679// PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
1680// PPC-LINUX:#define __SIZEOF_WINT_T__ 4
1681// PPC-LINUX:#define __SIZE_TYPE__ unsigned int
1682// PPC-LINUX:#define __SIZE_WIDTH__ 32
1683// PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
1684// PPC-LINUX:#define __USER_LABEL_PREFIX__
1685// PPC-LINUX:#define __WCHAR_MAX__ 2147483647
1686// PPC-LINUX:#define __WCHAR_TYPE__ int
1687// PPC-LINUX:#define __WCHAR_WIDTH__ 32
1688// PPC-LINUX:#define __WINT_TYPE__ unsigned int
1689// PPC-LINUX:#define __WINT_UNSIGNED__ 1
1690// PPC-LINUX:#define __WINT_WIDTH__ 32
1691// PPC-LINUX:#define __powerpc__ 1
1692// PPC-LINUX:#define __ppc__ 1
1693//
Daniel Dunbara5728872009-12-15 20:14:24 +00001694// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00001695//
Dan Gohmancfeac342010-05-28 00:27:15 +00001696// SPARC:#define __CHAR16_TYPE__ unsigned short
1697// SPARC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001698// SPARC:#define __CHAR_BIT__ 8
1699// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1700// SPARC:#define __DBL_DIG__ 15
1701// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
1702// SPARC:#define __DBL_HAS_DENORM__ 1
1703// SPARC:#define __DBL_HAS_INFINITY__ 1
1704// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
1705// SPARC:#define __DBL_MANT_DIG__ 53
1706// SPARC:#define __DBL_MAX_10_EXP__ 308
1707// SPARC:#define __DBL_MAX_EXP__ 1024
1708// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
1709// SPARC:#define __DBL_MIN_10_EXP__ (-307)
1710// SPARC:#define __DBL_MIN_EXP__ (-1021)
1711// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
1712// SPARC:#define __DECIMAL_DIG__ 17
1713// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1714// SPARC:#define __FLT_DIG__ 6
1715// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
1716// SPARC:#define __FLT_EVAL_METHOD__ 0
1717// SPARC:#define __FLT_HAS_DENORM__ 1
1718// SPARC:#define __FLT_HAS_INFINITY__ 1
1719// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
1720// SPARC:#define __FLT_MANT_DIG__ 24
1721// SPARC:#define __FLT_MAX_10_EXP__ 38
1722// SPARC:#define __FLT_MAX_EXP__ 128
1723// SPARC:#define __FLT_MAX__ 3.40282347e+38F
1724// SPARC:#define __FLT_MIN_10_EXP__ (-37)
1725// SPARC:#define __FLT_MIN_EXP__ (-125)
1726// SPARC:#define __FLT_MIN__ 1.17549435e-38F
1727// SPARC:#define __FLT_RADIX__ 2
1728// SPARC:#define __INT16_TYPE__ short
1729// SPARC:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00001730// SPARC:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +00001731// SPARC:#define __INT64_TYPE__ long long int
1732// SPARC:#define __INT8_TYPE__ char
1733// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +00001734// SPARC:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +00001735// SPARC:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001736// SPARC:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00001737// SPARC:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001738// SPARC:#define __INT_MAX__ 2147483647
1739// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
1740// SPARC:#define __LDBL_DIG__ 15
1741// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16
1742// SPARC:#define __LDBL_HAS_DENORM__ 1
1743// SPARC:#define __LDBL_HAS_INFINITY__ 1
1744// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
1745// SPARC:#define __LDBL_MANT_DIG__ 53
1746// SPARC:#define __LDBL_MAX_10_EXP__ 308
1747// SPARC:#define __LDBL_MAX_EXP__ 1024
1748// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308
1749// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
1750// SPARC:#define __LDBL_MIN_EXP__ (-1021)
1751// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308
1752// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
1753// SPARC:#define __LONG_MAX__ 2147483647L
1754// SPARC:#define __NO_INLINE__ 1
1755// SPARC:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00001756// SPARC:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00001757// SPARC:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbareac7c532009-12-18 18:42:37 +00001758// SPARC:#define __REGISTER_PREFIX__
Chris Lattnerbceaf862009-10-29 04:55:36 +00001759// SPARC:#define __SCHAR_MAX__ 127
1760// SPARC:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00001761// SPARC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00001762// SPARC:#define __SIZEOF_DOUBLE__ 8
1763// SPARC:#define __SIZEOF_FLOAT__ 4
1764// SPARC:#define __SIZEOF_INT__ 4
1765// SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
1766// SPARC:#define __SIZEOF_LONG_LONG__ 8
1767// SPARC:#define __SIZEOF_LONG__ 4
1768// SPARC:#define __SIZEOF_POINTER__ 4
1769// SPARC:#define __SIZEOF_PTRDIFF_T__ 4
1770// SPARC:#define __SIZEOF_SHORT__ 2
1771// SPARC:#define __SIZEOF_SIZE_T__ 4
1772// SPARC:#define __SIZEOF_WCHAR_T__ 4
1773// SPARC:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +00001774// SPARC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00001775// SPARC:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00001776// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001777// SPARC:#define __USER_LABEL_PREFIX__ _
Daniel Dunbarad1a4c62011-03-31 00:53:51 +00001778// SPARC:#define __VERSION__ "4.2.1 Compatible
Chris Lattnerbceaf862009-10-29 04:55:36 +00001779// SPARC:#define __WCHAR_MAX__ 2147483647
1780// SPARC:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001781// SPARC:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001782// SPARC:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001783// SPARC:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001784// SPARC:#define __sparc 1
1785// SPARC:#define __sparc__ 1
1786// SPARC:#define __sparcv8 1
1787// SPARC:#define sparc 1
1788//
Daniel Dunbara5728872009-12-15 20:14:24 +00001789// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
Chris Lattnerbceaf862009-10-29 04:55:36 +00001790//
Dan Gohmancfeac342010-05-28 00:27:15 +00001791// TCE:#define __CHAR16_TYPE__ unsigned short
1792// TCE:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001793// TCE:#define __CHAR_BIT__ 8
1794// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45F
1795// TCE:#define __DBL_DIG__ 6
1796// TCE:#define __DBL_EPSILON__ 1.19209290e-7F
1797// TCE:#define __DBL_HAS_DENORM__ 1
1798// TCE:#define __DBL_HAS_INFINITY__ 1
1799// TCE:#define __DBL_HAS_QUIET_NAN__ 1
1800// TCE:#define __DBL_MANT_DIG__ 24
1801// TCE:#define __DBL_MAX_10_EXP__ 38
1802// TCE:#define __DBL_MAX_EXP__ 128
1803// TCE:#define __DBL_MAX__ 3.40282347e+38F
1804// TCE:#define __DBL_MIN_10_EXP__ (-37)
1805// TCE:#define __DBL_MIN_EXP__ (-125)
1806// TCE:#define __DBL_MIN__ 1.17549435e-38F
1807// TCE:#define __DECIMAL_DIG__ -1
1808// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1809// TCE:#define __FLT_DIG__ 6
1810// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
1811// TCE:#define __FLT_EVAL_METHOD__ 0
1812// TCE:#define __FLT_HAS_DENORM__ 1
1813// TCE:#define __FLT_HAS_INFINITY__ 1
1814// TCE:#define __FLT_HAS_QUIET_NAN__ 1
1815// TCE:#define __FLT_MANT_DIG__ 24
1816// TCE:#define __FLT_MAX_10_EXP__ 38
1817// TCE:#define __FLT_MAX_EXP__ 128
1818// TCE:#define __FLT_MAX__ 3.40282347e+38F
1819// TCE:#define __FLT_MIN_10_EXP__ (-37)
1820// TCE:#define __FLT_MIN_EXP__ (-125)
1821// TCE:#define __FLT_MIN__ 1.17549435e-38F
1822// TCE:#define __FLT_RADIX__ 2
1823// TCE:#define __INT16_TYPE__ short
1824// TCE:#define __INT32_TYPE__ int
1825// TCE:#define __INT8_TYPE__ char
1826// TCE:#define __INTMAX_MAX__ 2147483647L
Ken Dyck8241d732009-11-19 13:18:59 +00001827// TCE:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00001828// TCE:#define __INTMAX_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00001829// TCE:#define __INTPTR_TYPE__ int
Ken Dyckd896e1a2009-11-18 20:05:48 +00001830// TCE:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001831// TCE:#define __INT_MAX__ 2147483647
1832// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45F
1833// TCE:#define __LDBL_DIG__ 6
1834// TCE:#define __LDBL_EPSILON__ 1.19209290e-7F
1835// TCE:#define __LDBL_HAS_DENORM__ 1
1836// TCE:#define __LDBL_HAS_INFINITY__ 1
1837// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
1838// TCE:#define __LDBL_MANT_DIG__ 24
1839// TCE:#define __LDBL_MAX_10_EXP__ 38
1840// TCE:#define __LDBL_MAX_EXP__ 128
1841// TCE:#define __LDBL_MAX__ 3.40282347e+38F
1842// TCE:#define __LDBL_MIN_10_EXP__ (-37)
1843// TCE:#define __LDBL_MIN_EXP__ (-125)
1844// TCE:#define __LDBL_MIN__ 1.17549435e-38F
1845// TCE:#define __LONG_LONG_MAX__ 2147483647LL
1846// TCE:#define __LONG_MAX__ 2147483647L
1847// TCE:#define __NO_INLINE__ 1
1848// TCE:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00001849// TCE:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +00001850// TCE:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001851// TCE:#define __SCHAR_MAX__ 127
1852// TCE:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00001853// TCE:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00001854// TCE:#define __SIZEOF_DOUBLE__ 4
1855// TCE:#define __SIZEOF_FLOAT__ 4
1856// TCE:#define __SIZEOF_INT__ 4
1857// TCE:#define __SIZEOF_LONG_DOUBLE__ 4
1858// TCE:#define __SIZEOF_LONG_LONG__ 4
1859// TCE:#define __SIZEOF_LONG__ 4
1860// TCE:#define __SIZEOF_POINTER__ 4
1861// TCE:#define __SIZEOF_PTRDIFF_T__ 4
1862// TCE:#define __SIZEOF_SHORT__ 2
1863// TCE:#define __SIZEOF_SIZE_T__ 4
1864// TCE:#define __SIZEOF_WCHAR_T__ 4
1865// TCE:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +00001866// TCE:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00001867// TCE:#define __SIZE_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001868// TCE:#define __TCE_V1__ 1
1869// TCE:#define __TCE__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00001870// TCE:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001871// TCE:#define __USER_LABEL_PREFIX__ _
1872// TCE:#define __WCHAR_MAX__ 2147483647
1873// TCE:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001874// TCE:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001875// TCE:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001876// TCE:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001877// TCE:#define __tce 1
1878// TCE:#define __tce__ 1
1879// TCE:#define tce 1
1880//
Daniel Dunbara5728872009-12-15 20:14:24 +00001881// 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 +00001882//
1883// X86_64:#define _LP64 1
Dan Gohmancfeac342010-05-28 00:27:15 +00001884// X86_64:#define __CHAR16_TYPE__ unsigned short
1885// X86_64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001886// X86_64:#define __CHAR_BIT__ 8
1887// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1888// X86_64:#define __DBL_DIG__ 15
1889// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1890// X86_64:#define __DBL_HAS_DENORM__ 1
1891// X86_64:#define __DBL_HAS_INFINITY__ 1
1892// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
1893// X86_64:#define __DBL_MANT_DIG__ 53
1894// X86_64:#define __DBL_MAX_10_EXP__ 308
1895// X86_64:#define __DBL_MAX_EXP__ 1024
1896// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
1897// X86_64:#define __DBL_MIN_10_EXP__ (-307)
1898// X86_64:#define __DBL_MIN_EXP__ (-1021)
1899// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
1900// X86_64:#define __DECIMAL_DIG__ 21
1901// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1902// X86_64:#define __FLT_DIG__ 6
1903// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
1904// X86_64:#define __FLT_EVAL_METHOD__ 0
1905// X86_64:#define __FLT_HAS_DENORM__ 1
1906// X86_64:#define __FLT_HAS_INFINITY__ 1
1907// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
1908// X86_64:#define __FLT_MANT_DIG__ 24
1909// X86_64:#define __FLT_MAX_10_EXP__ 38
1910// X86_64:#define __FLT_MAX_EXP__ 128
1911// X86_64:#define __FLT_MAX__ 3.40282347e+38F
1912// X86_64:#define __FLT_MIN_10_EXP__ (-37)
1913// X86_64:#define __FLT_MIN_EXP__ (-125)
1914// X86_64:#define __FLT_MIN__ 1.17549435e-38F
1915// X86_64:#define __FLT_RADIX__ 2
1916// X86_64:#define __INT16_TYPE__ short
1917// X86_64:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00001918// X86_64:#define __INT64_C_SUFFIX__ L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001919// X86_64:#define __INT64_TYPE__ long int
1920// X86_64:#define __INT8_TYPE__ char
1921// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck8241d732009-11-19 13:18:59 +00001922// X86_64:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00001923// X86_64:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001924// X86_64:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00001925// X86_64:#define __INTPTR_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001926// X86_64:#define __INT_MAX__ 2147483647
1927// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1928// X86_64:#define __LDBL_DIG__ 18
1929// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1930// X86_64:#define __LDBL_HAS_DENORM__ 1
1931// X86_64:#define __LDBL_HAS_INFINITY__ 1
1932// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
1933// X86_64:#define __LDBL_MANT_DIG__ 64
1934// X86_64:#define __LDBL_MAX_10_EXP__ 4932
1935// X86_64:#define __LDBL_MAX_EXP__ 16384
1936// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1937// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
1938// X86_64:#define __LDBL_MIN_EXP__ (-16381)
1939// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1940// X86_64:#define __LITTLE_ENDIAN__ 1
1941// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1942// X86_64:#define __LONG_MAX__ 9223372036854775807L
1943// X86_64:#define __LP64__ 1
1944// X86_64:#define __MMX__ 1
1945// X86_64:#define __NO_INLINE__ 1
1946// X86_64:#define __NO_MATH_INLINES 1
1947// X86_64:#define __POINTER_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001948// X86_64:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00001949// X86_64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001950// X86_64:#define __REGISTER_PREFIX__
1951// X86_64:#define __SCHAR_MAX__ 127
1952// X86_64:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00001953// X86_64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00001954// X86_64:#define __SIZEOF_DOUBLE__ 8
1955// X86_64:#define __SIZEOF_FLOAT__ 4
1956// X86_64:#define __SIZEOF_INT__ 4
1957// X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
1958// X86_64:#define __SIZEOF_LONG_LONG__ 8
1959// X86_64:#define __SIZEOF_LONG__ 8
1960// X86_64:#define __SIZEOF_POINTER__ 8
1961// X86_64:#define __SIZEOF_PTRDIFF_T__ 8
1962// X86_64:#define __SIZEOF_SHORT__ 2
1963// X86_64:#define __SIZEOF_SIZE_T__ 8
1964// X86_64:#define __SIZEOF_WCHAR_T__ 4
1965// X86_64:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +00001966// X86_64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00001967// X86_64:#define __SIZE_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001968// X86_64:#define __SSE2_MATH__ 1
1969// X86_64:#define __SSE2__ 1
1970// X86_64:#define __SSE_MATH__ 1
1971// X86_64:#define __SSE__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00001972// X86_64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001973// X86_64:#define __USER_LABEL_PREFIX__ _
1974// X86_64:#define __WCHAR_MAX__ 2147483647
1975// X86_64:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001976// X86_64:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001977// X86_64:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001978// X86_64:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001979// X86_64:#define __amd64 1
1980// X86_64:#define __amd64__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +00001981// X86_64:#define __x86_64 1
1982// X86_64:#define __x86_64__ 1
1983//
Douglas Gregor12e84642011-01-12 21:19:25 +00001984// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
1985//
1986// X86_64-LINUX:#define _LP64 1
1987// X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
1988// X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
1989// X86_64-LINUX:#define __CHAR_BIT__ 8
1990// X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1991// X86_64-LINUX:#define __DBL_DIG__ 15
1992// X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
1993// X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
1994// X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
1995// X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
1996// X86_64-LINUX:#define __DBL_MANT_DIG__ 53
1997// X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
1998// X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
1999// X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2000// X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2001// X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2002// X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2003// X86_64-LINUX:#define __DECIMAL_DIG__ 21
2004// X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2005// X86_64-LINUX:#define __FLT_DIG__ 6
2006// X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2007// X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
2008// X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
2009// X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
2010// X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2011// X86_64-LINUX:#define __FLT_MANT_DIG__ 24
2012// X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
2013// X86_64-LINUX:#define __FLT_MAX_EXP__ 128
2014// X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2015// X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2016// X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
2017// X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2018// X86_64-LINUX:#define __FLT_RADIX__ 2
2019// X86_64-LINUX:#define __INT16_TYPE__ short
2020// X86_64-LINUX:#define __INT32_TYPE__ int
2021// X86_64-LINUX:#define __INT64_C_SUFFIX__ L
2022// X86_64-LINUX:#define __INT64_TYPE__ long int
2023// X86_64-LINUX:#define __INT8_TYPE__ char
2024// X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2025// X86_64-LINUX:#define __INTMAX_TYPE__ long int
2026// X86_64-LINUX:#define __INTMAX_WIDTH__ 64
2027// X86_64-LINUX:#define __INTPTR_TYPE__ long int
2028// X86_64-LINUX:#define __INTPTR_WIDTH__ 64
2029// X86_64-LINUX:#define __INT_MAX__ 2147483647
2030// X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
2031// X86_64-LINUX:#define __LDBL_DIG__ 18
2032// X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
2033// X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
2034// X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2035// X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2036// X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
2037// X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
2038// X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
2039// X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
2040// X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
2041// X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
2042// X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
2043// X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
2044// X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2045// X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2046// X86_64-LINUX:#define __LP64__ 1
2047// X86_64-LINUX:#define __MMX__ 1
2048// X86_64-LINUX:#define __NO_INLINE__ 1
2049// X86_64-LINUX:#define __NO_MATH_INLINES 1
2050// X86_64-LINUX:#define __POINTER_WIDTH__ 64
2051// X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
2052// X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
2053// X86_64-LINUX:#define __REGISTER_PREFIX__
2054// X86_64-LINUX:#define __SCHAR_MAX__ 127
2055// X86_64-LINUX:#define __SHRT_MAX__ 32767
2056// X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2057// X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
2058// X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
2059// X86_64-LINUX:#define __SIZEOF_INT__ 4
2060// X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2061// X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2062// X86_64-LINUX:#define __SIZEOF_LONG__ 8
2063// X86_64-LINUX:#define __SIZEOF_POINTER__ 8
2064// X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2065// X86_64-LINUX:#define __SIZEOF_SHORT__ 2
2066// X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
2067// X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2068// X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
2069// X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
2070// X86_64-LINUX:#define __SIZE_WIDTH__ 64
2071// X86_64-LINUX:#define __SSE2_MATH__ 1
2072// X86_64-LINUX:#define __SSE2__ 1
2073// X86_64-LINUX:#define __SSE_MATH__ 1
2074// X86_64-LINUX:#define __SSE__ 1
2075// X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2076// X86_64-LINUX:#define __USER_LABEL_PREFIX__
2077// X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
2078// X86_64-LINUX:#define __WCHAR_TYPE__ int
2079// X86_64-LINUX:#define __WCHAR_WIDTH__ 32
2080// X86_64-LINUX:#define __WINT_TYPE__ unsigned int
2081// X86_64-LINUX:#define __WINT_WIDTH__ 32
2082// X86_64-LINUX:#define __amd64 1
2083// X86_64-LINUX:#define __amd64__ 1
Douglas Gregor12e84642011-01-12 21:19:25 +00002084// X86_64-LINUX:#define __x86_64 1
2085// X86_64-LINUX:#define __x86_64__ 1
2086//
David Chisnall11d3f4c2012-07-03 20:49:52 +00002087// RUN: %clang_cc1 -x c++ -triple i686-pc-linux-gnu -fobjc-runtime=gcc -E -dM < /dev/null | FileCheck -check-prefix GNUSOURCE %s
Douglas Gregor66791df2010-04-16 06:31:05 +00002088// GNUSOURCE:#define _GNU_SOURCE 1
2089//
Dan Gohmancfeac342010-05-28 00:27:15 +00002090// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
2091// NORTTI: __GXX_ABI_VERSION
2092// NORTTI-NOT:#define __GXX_RTTI
2093// NORTTI: __STDC__
Evgeniy Stepanov32064032012-04-26 12:08:09 +00002094//
2095// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
2096// ANDROID: __ANDROID__ 1