blob: 6c27a6c4316acbdb7c5acce98660eec1726bcc11 [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//
Daniel Dunbara5728872009-12-15 20:14:24 +000012// RUN: %clang_cc1 -x c++ -std=c++0x -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 __DEPRECATED 1
15// CXX0X:#define __GNUG__
16// CXX0X:#define __GXX_EXPERIMENTAL_CXX0X__ 1
Dan Gohmancfeac342010-05-28 00:27:15 +000017// CXX0X:#define __GXX_RTTI 1
Chris Lattnerbceaf862009-10-29 04:55:36 +000018// CXX0X:#define __GXX_WEAK__ 1
19// CXX0X:#define __cplusplus 199711L
20// CXX0X:#define __private_extern__ extern
21//
22//
Daniel Dunbara5728872009-12-15 20:14:24 +000023// RUN: %clang_cc1 -x c++ -std=c++98 -E -dM < /dev/null | FileCheck -check-prefix CXX98 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000024//
Chris Lattnerbceaf862009-10-29 04:55:36 +000025// CXX98:#define __DEPRECATED 1
26// CXX98:#define __GNUG__
Dan Gohmancfeac342010-05-28 00:27:15 +000027// CXX98:#define __GXX_RTTI 1
Chris Lattnerbceaf862009-10-29 04:55:36 +000028// CXX98:#define __GXX_WEAK__ 1
29// CXX98:#define __cplusplus 199711L
30// CXX98:#define __private_extern__ extern
31//
32//
Daniel Dunbara5728872009-12-15 20:14:24 +000033// RUN: %clang_cc1 -std=c99 -E -dM < /dev/null | FileCheck -check-prefix C99 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000034//
35// C99:#define __STDC_VERSION__ 199901L
36// C99:#define __STRICT_ANSI__ 1
37//
38//
Daniel Dunbara5728872009-12-15 20:14:24 +000039// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix COMMON %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000040//
41// COMMON:#define __CONSTANT_CFSTRINGS__ 1
42// COMMON:#define __FINITE_MATH_ONLY__ 0
43// COMMON:#define __GNUC_MINOR__
44// COMMON:#define __GNUC_PATCHLEVEL__
45// COMMON:#define __GNUC_STDC_INLINE__ 1
46// COMMON:#define __GNUC__
47// COMMON:#define __GXX_ABI_VERSION
48// COMMON:#define __STDC_HOSTED__ 1
49// COMMON:#define __STDC_VERSION__
50// COMMON:#define __STDC__ 1
51// COMMON:#define __VERSION__
52// COMMON:#define __clang__ 1
Daniel Dunbarc4b8e922010-06-25 23:34:47 +000053// COMMON:#define __clang_major__ {{[0-9]+}}
54// COMMON:#define __clang_minor__ {{[0-9]+}}
55// COMMON:#define __clang_patchlevel__ {{[0-9]+}}
Douglas Gregorcf00ac82010-04-30 03:07:23 +000056// COMMON:#define __clang_version__
Chris Lattnerbceaf862009-10-29 04:55:36 +000057// COMMON:#define __llvm__ 1
58//
59//
Daniel Dunbara5728872009-12-15 20:14:24 +000060// RUN: %clang_cc1 -ffreestanding -E -dM < /dev/null | FileCheck -check-prefix FREESTANDING %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000061// FREESTANDING:#define __STDC_HOSTED__ 0
62//
Daniel Dunbara5728872009-12-15 20:14:24 +000063// RUN: %clang_cc1 -x c++ -std=gnu++98 -E -dM < /dev/null | FileCheck -check-prefix GXX98 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000064//
Chris Lattnerbceaf862009-10-29 04:55:36 +000065// GXX98:#define __DEPRECATED 1
66// GXX98:#define __GNUG__
67// GXX98:#define __GXX_WEAK__ 1
68// GXX98:#define __cplusplus 1
69// GXX98:#define __private_extern__ extern
70//
71//
Daniel Dunbara5728872009-12-15 20:14:24 +000072// RUN: %clang_cc1 -std=iso9899:199409 -E -dM < /dev/null | FileCheck -check-prefix C94 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000073//
74// C94:#define __STDC_VERSION__ 199409L
75//
76//
Douglas Gregor72283802010-08-06 12:37:52 +000077// RUN: %clang_cc1 -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000078//
79// MSEXT-NOT:#define __STDC__
Douglas Gregor72283802010-08-06 12:37:52 +000080// MSEXT:#define _INTEGRAL_MAX_BITS 64
Chris Lattnerbceaf862009-10-29 04:55:36 +000081// MSEXT:#define __int16 __INT16_TYPE__
82// MSEXT:#define __int32 __INT32_TYPE__
83// MSEXT:#define __int64 __INT64_TYPE__
84// MSEXT:#define __int8 __INT8_TYPE__
85//
86//
Daniel Dunbara5728872009-12-15 20:14:24 +000087// RUN: %clang_cc1 -x objective-c -E -dM < /dev/null | FileCheck -check-prefix OBJC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000088//
89// OBJC:#define OBJC_NEW_PROPERTIES 1
Daniel Dunbarc5a97ec2009-11-17 07:07:28 +000090// OBJC:#define __NEXT_RUNTIME__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +000091// OBJC:#define __OBJC__ 1
92//
Daniel Dunbarc5a97ec2009-11-17 07:07:28 +000093//
Daniel Dunbara5728872009-12-15 20:14:24 +000094// RUN: %clang_cc1 -x objective-c -fobjc-gc -E -dM < /dev/null | FileCheck -check-prefix OBJCGC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000095//
96// OBJCGC:#define __OBJC_GC__ 1
97//
98//
Daniel Dunbara5728872009-12-15 20:14:24 +000099// RUN: %clang_cc1 -x objective-c -fobjc-nonfragile-abi -E -dM < /dev/null | FileCheck -check-prefix NONFRAGILE %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000100//
101// NONFRAGILE:#define OBJC_ZEROCOST_EXCEPTIONS 1
102// NONFRAGILE:#define __OBJC2__ 1
103//
104//
Daniel Dunbara5728872009-12-15 20:14:24 +0000105// RUN: %clang_cc1 -O1 -E -dM < /dev/null | FileCheck -check-prefix O1 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000106//
107// O1:#define __OPTIMIZE__ 1
108//
109//
Daniel Dunbara5728872009-12-15 20:14:24 +0000110// RUN: %clang_cc1 -fpascal-strings -E -dM < /dev/null | FileCheck -check-prefix PASCAL %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000111//
112// PASCAL:#define __PASCAL_STRINGS__ 1
113//
114//
Daniel Dunbara5728872009-12-15 20:14:24 +0000115// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix SCHAR %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000116//
117// SCHAR:#define __STDC__ 1
118// SCHAR-NOT:#define __UNSIGNED_CHAR__
119// SCHAR:#define __clang__ 1
120//
Eli Friedman1d832432010-08-03 17:34:19 +0000121// RUN: %clang_cc1 -E -dM -fshort-wchar < /dev/null | FileCheck -check-prefix SHORTWCHAR %s
122//
123// SHORTWCHAR: #define __SIZEOF_WCHAR_T__ 2
124// SHORTWCHAR: #define __WCHAR_MAX__ 65535U
125// SHORTWCHAR: #define __WCHAR_TYPE__ unsigned short
126// SHORTWCHAR: #define __WCHAR_WIDTH__ 16
127//
Daniel Dunbara5728872009-12-15 20:14:24 +0000128// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000129//
130// ARM:#define __APCS_32__ 1
131// ARM:#define __ARMEL__ 1
Daniel Dunbareac7c532009-12-18 18:42:37 +0000132// ARM:#define __ARM_ARCH_6J__ 1
Dan Gohmancfeac342010-05-28 00:27:15 +0000133// ARM:#define __CHAR16_TYPE__ unsigned short
134// ARM:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000135// ARM:#define __CHAR_BIT__ 8
136// ARM:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
137// ARM:#define __DBL_DIG__ 15
138// ARM:#define __DBL_EPSILON__ 2.2204460492503131e-16
139// ARM:#define __DBL_HAS_DENORM__ 1
140// ARM:#define __DBL_HAS_INFINITY__ 1
141// ARM:#define __DBL_HAS_QUIET_NAN__ 1
142// ARM:#define __DBL_MANT_DIG__ 53
143// ARM:#define __DBL_MAX_10_EXP__ 308
144// ARM:#define __DBL_MAX_EXP__ 1024
145// ARM:#define __DBL_MAX__ 1.7976931348623157e+308
146// ARM:#define __DBL_MIN_10_EXP__ (-307)
147// ARM:#define __DBL_MIN_EXP__ (-1021)
148// ARM:#define __DBL_MIN__ 2.2250738585072014e-308
149// ARM:#define __DECIMAL_DIG__ 17
150// ARM:#define __FLT_DENORM_MIN__ 1.40129846e-45F
151// ARM:#define __FLT_DIG__ 6
152// ARM:#define __FLT_EPSILON__ 1.19209290e-7F
153// ARM:#define __FLT_EVAL_METHOD__ 0
154// ARM:#define __FLT_HAS_DENORM__ 1
155// ARM:#define __FLT_HAS_INFINITY__ 1
156// ARM:#define __FLT_HAS_QUIET_NAN__ 1
157// ARM:#define __FLT_MANT_DIG__ 24
158// ARM:#define __FLT_MAX_10_EXP__ 38
159// ARM:#define __FLT_MAX_EXP__ 128
160// ARM:#define __FLT_MAX__ 3.40282347e+38F
161// ARM:#define __FLT_MIN_10_EXP__ (-37)
162// ARM:#define __FLT_MIN_EXP__ (-125)
163// ARM:#define __FLT_MIN__ 1.17549435e-38F
164// ARM:#define __FLT_RADIX__ 2
165// ARM:#define __INT16_TYPE__ short
166// ARM:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000167// ARM:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000168// ARM:#define __INT64_TYPE__ long long int
169// ARM:#define __INT8_TYPE__ char
170// ARM:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +0000171// ARM:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +0000172// ARM:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000173// ARM:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000174// ARM:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000175// ARM:#define __INT_MAX__ 2147483647
176// ARM:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
177// ARM:#define __LDBL_DIG__ 15
178// ARM:#define __LDBL_EPSILON__ 2.2204460492503131e-16
179// ARM:#define __LDBL_HAS_DENORM__ 1
180// ARM:#define __LDBL_HAS_INFINITY__ 1
181// ARM:#define __LDBL_HAS_QUIET_NAN__ 1
182// ARM:#define __LDBL_MANT_DIG__ 53
183// ARM:#define __LDBL_MAX_10_EXP__ 308
184// ARM:#define __LDBL_MAX_EXP__ 1024
185// ARM:#define __LDBL_MAX__ 1.7976931348623157e+308
186// ARM:#define __LDBL_MIN_10_EXP__ (-307)
187// ARM:#define __LDBL_MIN_EXP__ (-1021)
188// ARM:#define __LDBL_MIN__ 2.2250738585072014e-308
189// ARM:#define __LITTLE_ENDIAN__ 1
190// ARM:#define __LONG_LONG_MAX__ 9223372036854775807LL
191// ARM:#define __LONG_MAX__ 2147483647L
192// ARM:#define __NO_INLINE__ 1
193// ARM:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000194// ARM:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +0000195// ARM:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbareac7c532009-12-18 18:42:37 +0000196// ARM:#define __REGISTER_PREFIX__
Chris Lattnerbceaf862009-10-29 04:55:36 +0000197// ARM:#define __SCHAR_MAX__ 127
198// ARM:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000199// ARM:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000200// ARM:#define __SIZEOF_DOUBLE__ 8
201// ARM:#define __SIZEOF_FLOAT__ 4
202// ARM:#define __SIZEOF_INT__ 4
203// ARM:#define __SIZEOF_LONG_DOUBLE__ 8
204// ARM:#define __SIZEOF_LONG_LONG__ 8
205// ARM:#define __SIZEOF_LONG__ 4
206// ARM:#define __SIZEOF_POINTER__ 4
207// ARM:#define __SIZEOF_PTRDIFF_T__ 4
208// ARM:#define __SIZEOF_SHORT__ 2
209// ARM:#define __SIZEOF_SIZE_T__ 4
210// ARM:#define __SIZEOF_WCHAR_T__ 4
211// ARM:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +0000212// ARM:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000213// ARM:#define __SIZE_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000214// ARM:#define __THUMB_INTERWORK__ 1
Ken Dyck8241d732009-11-19 13:18:59 +0000215// ARM:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000216// ARM:#define __USER_LABEL_PREFIX__ _
Chris Lattnerbceaf862009-10-29 04:55:36 +0000217// ARM:#define __WCHAR_MAX__ 2147483647
218// ARM:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +0000219// ARM:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000220// ARM:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000221// ARM:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000222// ARM:#define __arm 1
223// ARM:#define __arm__ 1
224//
Daniel Dunbara5728872009-12-15 20:14:24 +0000225// RUN: %clang_cc1 -E -dM -ffreestanding -triple=bfin-none-none < /dev/null | FileCheck -check-prefix BFIN %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000226//
227// BFIN:#define BFIN 1
228// BFIN:#define __ADSPBLACKFIN__ 1
229// BFIN:#define __ADSPLPBLACKFIN__ 1
230// BFIN:#define __BFIN 1
231// BFIN:#define __BFIN__ 1
Dan Gohmancfeac342010-05-28 00:27:15 +0000232// BFIN:#define __CHAR16_TYPE__ unsigned short
233// BFIN:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000234// BFIN:#define __CHAR_BIT__ 8
235// BFIN:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
236// BFIN:#define __DBL_DIG__ 15
237// BFIN:#define __DBL_EPSILON__ 2.2204460492503131e-16
238// BFIN:#define __DBL_HAS_DENORM__ 1
239// BFIN:#define __DBL_HAS_INFINITY__ 1
240// BFIN:#define __DBL_HAS_QUIET_NAN__ 1
241// BFIN:#define __DBL_MANT_DIG__ 53
242// BFIN:#define __DBL_MAX_10_EXP__ 308
243// BFIN:#define __DBL_MAX_EXP__ 1024
244// BFIN:#define __DBL_MAX__ 1.7976931348623157e+308
245// BFIN:#define __DBL_MIN_10_EXP__ (-307)
246// BFIN:#define __DBL_MIN_EXP__ (-1021)
247// BFIN:#define __DBL_MIN__ 2.2250738585072014e-308
248// BFIN:#define __DECIMAL_DIG__ 17
249// BFIN:#define __FLT_DENORM_MIN__ 1.40129846e-45F
250// BFIN:#define __FLT_DIG__ 6
251// BFIN:#define __FLT_EPSILON__ 1.19209290e-7F
252// BFIN:#define __FLT_EVAL_METHOD__ 0
253// BFIN:#define __FLT_HAS_DENORM__ 1
254// BFIN:#define __FLT_HAS_INFINITY__ 1
255// BFIN:#define __FLT_HAS_QUIET_NAN__ 1
256// BFIN:#define __FLT_MANT_DIG__ 24
257// BFIN:#define __FLT_MAX_10_EXP__ 38
258// BFIN:#define __FLT_MAX_EXP__ 128
259// BFIN:#define __FLT_MAX__ 3.40282347e+38F
260// BFIN:#define __FLT_MIN_10_EXP__ (-37)
261// BFIN:#define __FLT_MIN_EXP__ (-125)
262// BFIN:#define __FLT_MIN__ 1.17549435e-38F
263// BFIN:#define __FLT_RADIX__ 2
264// BFIN:#define __INT16_TYPE__ short
265// BFIN:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000266// BFIN:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000267// BFIN:#define __INT64_TYPE__ long long int
268// BFIN:#define __INT8_TYPE__ char
269// BFIN:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +0000270// BFIN:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +0000271// BFIN:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000272// BFIN:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000273// BFIN:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000274// BFIN:#define __INT_MAX__ 2147483647
275// BFIN:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
276// BFIN:#define __LDBL_DIG__ 15
277// BFIN:#define __LDBL_EPSILON__ 2.2204460492503131e-16
278// BFIN:#define __LDBL_HAS_DENORM__ 1
279// BFIN:#define __LDBL_HAS_INFINITY__ 1
280// BFIN:#define __LDBL_HAS_QUIET_NAN__ 1
281// BFIN:#define __LDBL_MANT_DIG__ 53
282// BFIN:#define __LDBL_MAX_10_EXP__ 308
283// BFIN:#define __LDBL_MAX_EXP__ 1024
284// BFIN:#define __LDBL_MAX__ 1.7976931348623157e+308
285// BFIN:#define __LDBL_MIN_10_EXP__ (-307)
286// BFIN:#define __LDBL_MIN_EXP__ (-1021)
287// BFIN:#define __LDBL_MIN__ 2.2250738585072014e-308
288// BFIN:#define __LONG_LONG_MAX__ 9223372036854775807LL
289// BFIN:#define __LONG_MAX__ 2147483647L
290// BFIN:#define __NO_INLINE__ 1
291// BFIN:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000292// BFIN:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +0000293// BFIN:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000294// BFIN:#define __SCHAR_MAX__ 127
295// BFIN:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000296// BFIN:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000297// BFIN:#define __SIZEOF_DOUBLE__ 8
298// BFIN:#define __SIZEOF_FLOAT__ 4
299// BFIN:#define __SIZEOF_INT__ 4
300// BFIN:#define __SIZEOF_LONG_DOUBLE__ 8
301// BFIN:#define __SIZEOF_LONG_LONG__ 8
302// BFIN:#define __SIZEOF_LONG__ 4
303// BFIN:#define __SIZEOF_POINTER__ 4
304// BFIN:#define __SIZEOF_PTRDIFF_T__ 4
305// BFIN:#define __SIZEOF_SHORT__ 2
306// BFIN:#define __SIZEOF_SIZE_T__ 4
307// BFIN:#define __SIZEOF_WCHAR_T__ 4
308// BFIN:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +0000309// BFIN:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000310// BFIN:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000311// BFIN:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000312// BFIN:#define __USER_LABEL_PREFIX__ _
313// BFIN:#define __WCHAR_MAX__ 2147483647
314// BFIN:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +0000315// BFIN:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000316// BFIN:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000317// BFIN:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000318// BFIN:#define __bfin 1
319// BFIN:#define __bfin__ 1
320// BFIN:#define bfin 1
321//
Daniel Dunbara5728872009-12-15 20:14:24 +0000322// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000323//
Dan Gohmancfeac342010-05-28 00:27:15 +0000324// I386:#define __CHAR16_TYPE__ unsigned short
325// I386:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000326// I386:#define __CHAR_BIT__ 8
327// I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
328// I386:#define __DBL_DIG__ 15
329// I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
330// I386:#define __DBL_HAS_DENORM__ 1
331// I386:#define __DBL_HAS_INFINITY__ 1
332// I386:#define __DBL_HAS_QUIET_NAN__ 1
333// I386:#define __DBL_MANT_DIG__ 53
334// I386:#define __DBL_MAX_10_EXP__ 308
335// I386:#define __DBL_MAX_EXP__ 1024
336// I386:#define __DBL_MAX__ 1.7976931348623157e+308
337// I386:#define __DBL_MIN_10_EXP__ (-307)
338// I386:#define __DBL_MIN_EXP__ (-1021)
339// I386:#define __DBL_MIN__ 2.2250738585072014e-308
340// I386:#define __DECIMAL_DIG__ 21
341// I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
342// I386:#define __FLT_DIG__ 6
343// I386:#define __FLT_EPSILON__ 1.19209290e-7F
344// I386:#define __FLT_EVAL_METHOD__ 0
345// I386:#define __FLT_HAS_DENORM__ 1
346// I386:#define __FLT_HAS_INFINITY__ 1
347// I386:#define __FLT_HAS_QUIET_NAN__ 1
348// I386:#define __FLT_MANT_DIG__ 24
349// I386:#define __FLT_MAX_10_EXP__ 38
350// I386:#define __FLT_MAX_EXP__ 128
351// I386:#define __FLT_MAX__ 3.40282347e+38F
352// I386:#define __FLT_MIN_10_EXP__ (-37)
353// I386:#define __FLT_MIN_EXP__ (-125)
354// I386:#define __FLT_MIN__ 1.17549435e-38F
355// I386:#define __FLT_RADIX__ 2
356// I386:#define __INT16_TYPE__ short
357// I386:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000358// I386:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000359// I386:#define __INT64_TYPE__ long long int
360// I386:#define __INT8_TYPE__ char
361// I386:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +0000362// I386:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +0000363// I386:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000364// I386:#define __INTPTR_TYPE__ int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000365// I386:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000366// I386:#define __INT_MAX__ 2147483647
367// I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
368// I386:#define __LDBL_DIG__ 18
369// I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
370// I386:#define __LDBL_HAS_DENORM__ 1
371// I386:#define __LDBL_HAS_INFINITY__ 1
372// I386:#define __LDBL_HAS_QUIET_NAN__ 1
373// I386:#define __LDBL_MANT_DIG__ 64
374// I386:#define __LDBL_MAX_10_EXP__ 4932
375// I386:#define __LDBL_MAX_EXP__ 16384
376// I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
377// I386:#define __LDBL_MIN_10_EXP__ (-4931)
378// I386:#define __LDBL_MIN_EXP__ (-16381)
379// I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
380// I386:#define __LITTLE_ENDIAN__ 1
381// I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
382// I386:#define __LONG_MAX__ 2147483647L
383// I386:#define __NO_INLINE__ 1
384// I386:#define __NO_MATH_INLINES 1
385// I386:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000386// I386:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +0000387// I386:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000388// I386:#define __REGISTER_PREFIX__
389// I386:#define __SCHAR_MAX__ 127
390// I386:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000391// I386:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000392// I386:#define __SIZEOF_DOUBLE__ 8
393// I386:#define __SIZEOF_FLOAT__ 4
394// I386:#define __SIZEOF_INT__ 4
395// I386:#define __SIZEOF_LONG_DOUBLE__ 12
396// I386:#define __SIZEOF_LONG_LONG__ 8
397// I386:#define __SIZEOF_LONG__ 4
398// I386:#define __SIZEOF_POINTER__ 4
399// I386:#define __SIZEOF_PTRDIFF_T__ 4
400// I386:#define __SIZEOF_SHORT__ 2
401// I386:#define __SIZEOF_SIZE_T__ 4
402// I386:#define __SIZEOF_WCHAR_T__ 4
403// I386:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +0000404// I386:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000405// I386:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000406// I386:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000407// I386:#define __USER_LABEL_PREFIX__ _
408// I386:#define __WCHAR_MAX__ 2147483647
409// I386:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +0000410// I386:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000411// I386:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000412// I386:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000413// I386:#define __i386 1
414// I386:#define __i386__ 1
415// I386:#define __nocona 1
416// I386:#define __nocona__ 1
417// I386:#define __tune_nocona__ 1
418// I386:#define i386 1
419//
Daniel Dunbara5728872009-12-15 20:14:24 +0000420// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000421//
422// MSP430:#define MSP430 1
Dan Gohmancfeac342010-05-28 00:27:15 +0000423// MSP430:#define __CHAR16_TYPE__ unsigned short
424// MSP430:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000425// MSP430:#define __CHAR_BIT__ 8
426// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
427// MSP430:#define __DBL_DIG__ 15
428// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
429// MSP430:#define __DBL_HAS_DENORM__ 1
430// MSP430:#define __DBL_HAS_INFINITY__ 1
431// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
432// MSP430:#define __DBL_MANT_DIG__ 53
433// MSP430:#define __DBL_MAX_10_EXP__ 308
434// MSP430:#define __DBL_MAX_EXP__ 1024
435// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
436// MSP430:#define __DBL_MIN_10_EXP__ (-307)
437// MSP430:#define __DBL_MIN_EXP__ (-1021)
438// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
439// MSP430:#define __DECIMAL_DIG__ 17
440// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
441// MSP430:#define __FLT_DIG__ 6
442// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
443// MSP430:#define __FLT_EVAL_METHOD__ 0
444// MSP430:#define __FLT_HAS_DENORM__ 1
445// MSP430:#define __FLT_HAS_INFINITY__ 1
446// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
447// MSP430:#define __FLT_MANT_DIG__ 24
448// MSP430:#define __FLT_MAX_10_EXP__ 38
449// MSP430:#define __FLT_MAX_EXP__ 128
450// MSP430:#define __FLT_MAX__ 3.40282347e+38F
451// MSP430:#define __FLT_MIN_10_EXP__ (-37)
452// MSP430:#define __FLT_MIN_EXP__ (-125)
453// MSP430:#define __FLT_MIN__ 1.17549435e-38F
454// MSP430:#define __FLT_RADIX__ 2
455// MSP430:#define __INT16_TYPE__ short
Ken Dyckeef22ef2009-11-16 16:36:33 +0000456// MSP430:#define __INT32_C_SUFFIX__ L
Chris Lattnerdcdd2a02009-11-12 08:08:27 +0000457// MSP430:#define __INT32_TYPE__ long int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000458// MSP430:#define __INT8_TYPE__ char
459// MSP430:#define __INTMAX_MAX__ 2147483647L
Ken Dyck8241d732009-11-19 13:18:59 +0000460// MSP430:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +0000461// MSP430:#define __INTMAX_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000462// MSP430:#define __INTPTR_TYPE__ short
Ken Dyckd896e1a2009-11-18 20:05:48 +0000463// MSP430:#define __INTPTR_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +0000464// MSP430:#define __INT_MAX__ 32767
465// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
466// MSP430:#define __LDBL_DIG__ 15
467// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16
468// MSP430:#define __LDBL_HAS_DENORM__ 1
469// MSP430:#define __LDBL_HAS_INFINITY__ 1
470// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
471// MSP430:#define __LDBL_MANT_DIG__ 53
472// MSP430:#define __LDBL_MAX_10_EXP__ 308
473// MSP430:#define __LDBL_MAX_EXP__ 1024
474// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308
475// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
476// MSP430:#define __LDBL_MIN_EXP__ (-1021)
477// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308
Anton Korobeynikov79bff432010-01-14 21:36:52 +0000478// MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000479// MSP430:#define __LONG_MAX__ 2147483647L
480// MSP430:#define __MSP430__ 1
481// MSP430:#define __NO_INLINE__ 1
482// MSP430:#define __POINTER_WIDTH__ 16
Ken Dyck8241d732009-11-19 13:18:59 +0000483// MSP430:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +0000484// MSP430:#define __PTRDIFF_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +0000485// MSP430:#define __SCHAR_MAX__ 127
486// MSP430:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000487// MSP430:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000488// MSP430:#define __SIZEOF_DOUBLE__ 8
489// MSP430:#define __SIZEOF_FLOAT__ 4
490// MSP430:#define __SIZEOF_INT__ 2
491// MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
492// MSP430:#define __SIZEOF_LONG_LONG__ 8
493// MSP430:#define __SIZEOF_LONG__ 4
494// MSP430:#define __SIZEOF_POINTER__ 2
495// MSP430:#define __SIZEOF_PTRDIFF_T__ 2
496// MSP430:#define __SIZEOF_SHORT__ 2
497// MSP430:#define __SIZEOF_SIZE_T__ 2
498// MSP430:#define __SIZEOF_WCHAR_T__ 2
499// MSP430:#define __SIZEOF_WINT_T__ 2
Chris Lattnerbceaf862009-10-29 04:55:36 +0000500// MSP430:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000501// MSP430:#define __SIZE_WIDTH__ 16
Ken Dyck8241d732009-11-19 13:18:59 +0000502// MSP430:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000503// MSP430:#define __USER_LABEL_PREFIX__ _
Chris Lattner91846462009-11-12 08:04:33 +0000504// MSP430:#define __WCHAR_MAX__ 32767
Chris Lattnerbceaf862009-10-29 04:55:36 +0000505// MSP430:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +0000506// MSP430:#define __WCHAR_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +0000507// MSP430:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000508// MSP430:#define __WINT_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +0000509// MSP430:#define __clang__ 1
510//
Daniel Dunbara5728872009-12-15 20:14:24 +0000511// RUN: %clang_cc1 -E -dM -ffreestanding -triple=pic16-none-none < /dev/null | FileCheck -check-prefix PIC16 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000512//
Dan Gohmancfeac342010-05-28 00:27:15 +0000513// PIC16:#define __CHAR16_TYPE__ unsigned short
514// PIC16:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000515// PIC16:#define __CHAR_BIT__ 8
516// PIC16:#define __DBL_DENORM_MIN__ 1.40129846e-45F
517// PIC16:#define __DBL_DIG__ 6
518// PIC16:#define __DBL_EPSILON__ 1.19209290e-7F
519// PIC16:#define __DBL_HAS_DENORM__ 1
520// PIC16:#define __DBL_HAS_INFINITY__ 1
521// PIC16:#define __DBL_HAS_QUIET_NAN__ 1
522// PIC16:#define __DBL_MANT_DIG__ 24
523// PIC16:#define __DBL_MAX_10_EXP__ 38
524// PIC16:#define __DBL_MAX_EXP__ 128
525// PIC16:#define __DBL_MAX__ 3.40282347e+38F
526// PIC16:#define __DBL_MIN_10_EXP__ (-37)
527// PIC16:#define __DBL_MIN_EXP__ (-125)
528// PIC16:#define __DBL_MIN__ 1.17549435e-38F
529// PIC16:#define __DECIMAL_DIG__ -1
530// PIC16:#define __FLT_DENORM_MIN__ 1.40129846e-45F
531// PIC16:#define __FLT_DIG__ 6
532// PIC16:#define __FLT_EPSILON__ 1.19209290e-7F
533// PIC16:#define __FLT_EVAL_METHOD__ 0
534// PIC16:#define __FLT_HAS_DENORM__ 1
535// PIC16:#define __FLT_HAS_INFINITY__ 1
536// PIC16:#define __FLT_HAS_QUIET_NAN__ 1
537// PIC16:#define __FLT_MANT_DIG__ 24
538// PIC16:#define __FLT_MAX_10_EXP__ 38
539// PIC16:#define __FLT_MAX_EXP__ 128
540// PIC16:#define __FLT_MAX__ 3.40282347e+38F
541// PIC16:#define __FLT_MIN_10_EXP__ (-37)
542// PIC16:#define __FLT_MIN_EXP__ (-125)
543// PIC16:#define __FLT_MIN__ 1.17549435e-38F
544// PIC16:#define __FLT_RADIX__ 2
545// PIC16:#define __INT16_TYPE__ short
Ken Dyckeef22ef2009-11-16 16:36:33 +0000546// PIC16:#define __INT32_C_SUFFIX__ L
Chris Lattnerdcdd2a02009-11-12 08:08:27 +0000547// PIC16:#define __INT32_TYPE__ long int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000548// PIC16:#define __INT8_TYPE__ char
549// PIC16:#define __INTMAX_MAX__ 2147483647L
Ken Dyck8241d732009-11-19 13:18:59 +0000550// PIC16:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +0000551// PIC16:#define __INTMAX_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000552// PIC16:#define __INTPTR_TYPE__ short
Ken Dyckd896e1a2009-11-18 20:05:48 +0000553// PIC16:#define __INTPTR_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +0000554// PIC16:#define __INT_MAX__ 32767
555// PIC16:#define __LDBL_DENORM_MIN__ 1.40129846e-45F
556// PIC16:#define __LDBL_DIG__ 6
557// PIC16:#define __LDBL_EPSILON__ 1.19209290e-7F
558// PIC16:#define __LDBL_HAS_DENORM__ 1
559// PIC16:#define __LDBL_HAS_INFINITY__ 1
560// PIC16:#define __LDBL_HAS_QUIET_NAN__ 1
561// PIC16:#define __LDBL_MANT_DIG__ 24
562// PIC16:#define __LDBL_MAX_10_EXP__ 38
563// PIC16:#define __LDBL_MAX_EXP__ 128
564// PIC16:#define __LDBL_MAX__ 3.40282347e+38F
565// PIC16:#define __LDBL_MIN_10_EXP__ (-37)
566// PIC16:#define __LDBL_MIN_EXP__ (-125)
567// PIC16:#define __LDBL_MIN__ 1.17549435e-38F
568// PIC16:#define __LONG_LONG_MAX__ 2147483647LL
569// PIC16:#define __LONG_MAX__ 2147483647L
570// PIC16:#define __NO_INLINE__ 1
Sanjiv Guptafcd302b2010-02-16 03:37:11 +0000571// PIC16:#define __PIC16 1
Chris Lattnerbceaf862009-10-29 04:55:36 +0000572// PIC16:#define __POINTER_WIDTH__ 16
Ken Dyck8241d732009-11-19 13:18:59 +0000573// PIC16:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +0000574// PIC16:#define __PTRDIFF_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +0000575// PIC16:#define __SCHAR_MAX__ 127
576// PIC16:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000577// PIC16:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000578// PIC16:#define __SIZEOF_DOUBLE__ 4
579// PIC16:#define __SIZEOF_FLOAT__ 4
580// PIC16:#define __SIZEOF_INT__ 2
581// PIC16:#define __SIZEOF_LONG_DOUBLE__ 4
582// PIC16:#define __SIZEOF_LONG_LONG__ 4
583// PIC16:#define __SIZEOF_LONG__ 4
584// PIC16:#define __SIZEOF_POINTER__ 2
585// PIC16:#define __SIZEOF_PTRDIFF_T__ 2
586// PIC16:#define __SIZEOF_SHORT__ 2
587// PIC16:#define __SIZEOF_SIZE_T__ 2
588// PIC16:#define __SIZEOF_WCHAR_T__ 2
589// PIC16:#define __SIZEOF_WINT_T__ 2
Chris Lattnerbceaf862009-10-29 04:55:36 +0000590// PIC16:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000591// PIC16:#define __SIZE_WIDTH__ 16
Ken Dyck8241d732009-11-19 13:18:59 +0000592// PIC16:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000593// PIC16:#define __USER_LABEL_PREFIX__ _
Chris Lattner91846462009-11-12 08:04:33 +0000594// PIC16:#define __WCHAR_MAX__ 32767
Chris Lattnerbceaf862009-10-29 04:55:36 +0000595// PIC16:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +0000596// PIC16:#define __WCHAR_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +0000597// PIC16:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000598// PIC16:#define __WINT_WIDTH__ 16
Sanjiv Guptafcd302b2010-02-16 03:37:11 +0000599// PIC16:#define __address(Addr) __attribute__((section("Address="#Addr)))
Chris Lattnerbceaf862009-10-29 04:55:36 +0000600// PIC16:#define __clang__ 1
Sanjiv Guptafcd302b2010-02-16 03:37:11 +0000601// PIC16:#define __config(conf) asm("CONFIG "#conf)
602// PIC16:#define __idlocs(value) asm("__IDLOCS "#value)
Chris Lattnerbceaf862009-10-29 04:55:36 +0000603// PIC16:#define __llvm__ 1
604// PIC16:#define __pic16 1
Sanjiv Guptafcd302b2010-02-16 03:37:11 +0000605// PIC16:#define __section(SectName) __attribute__((section(SectName)))
606// PIC16:#define interrupt __attribute__((section("interrupt=0x4"))) __attribute__((used))
607// PIC16:#define near __attribute__((section("Address=NEAR")))
Chris Lattnerbceaf862009-10-29 04:55:36 +0000608// PIC16:#define ram __attribute__((address_space(0)))
609// PIC16:#define rom __attribute__((address_space(1)))
610//
Daniel Dunbara5728872009-12-15 20:14:24 +0000611// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000612//
613// PPC64:#define _ARCH_PPC 1
614// PPC64:#define _ARCH_PPC64 1
615// PPC64:#define _BIG_ENDIAN 1
616// PPC64:#define _LP64 1
617// PPC64:#define __BIG_ENDIAN__ 1
Dan Gohmancfeac342010-05-28 00:27:15 +0000618// PPC64:#define __CHAR16_TYPE__ unsigned short
619// PPC64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000620// PPC64:#define __CHAR_BIT__ 8
621// PPC64:#define __CHAR_UNSIGNED__ 1
622// PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
623// PPC64:#define __DBL_DIG__ 15
624// PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
625// PPC64:#define __DBL_HAS_DENORM__ 1
626// PPC64:#define __DBL_HAS_INFINITY__ 1
627// PPC64:#define __DBL_HAS_QUIET_NAN__ 1
628// PPC64:#define __DBL_MANT_DIG__ 53
629// PPC64:#define __DBL_MAX_10_EXP__ 308
630// PPC64:#define __DBL_MAX_EXP__ 1024
631// PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
632// PPC64:#define __DBL_MIN_10_EXP__ (-307)
633// PPC64:#define __DBL_MIN_EXP__ (-1021)
634// PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
635// PPC64:#define __DECIMAL_DIG__ 17
636// PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
637// PPC64:#define __FLT_DIG__ 6
638// PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
639// PPC64:#define __FLT_EVAL_METHOD__ 0
640// PPC64:#define __FLT_HAS_DENORM__ 1
641// PPC64:#define __FLT_HAS_INFINITY__ 1
642// PPC64:#define __FLT_HAS_QUIET_NAN__ 1
643// PPC64:#define __FLT_MANT_DIG__ 24
644// PPC64:#define __FLT_MAX_10_EXP__ 38
645// PPC64:#define __FLT_MAX_EXP__ 128
646// PPC64:#define __FLT_MAX__ 3.40282347e+38F
647// PPC64:#define __FLT_MIN_10_EXP__ (-37)
648// PPC64:#define __FLT_MIN_EXP__ (-125)
649// PPC64:#define __FLT_MIN__ 1.17549435e-38F
650// PPC64:#define __FLT_RADIX__ 2
651// PPC64:#define __INT16_TYPE__ short
652// PPC64:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000653// PPC64:#define __INT64_C_SUFFIX__ L
Chris Lattnerbceaf862009-10-29 04:55:36 +0000654// PPC64:#define __INT64_TYPE__ long int
655// PPC64:#define __INT8_TYPE__ char
656// PPC64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck8241d732009-11-19 13:18:59 +0000657// PPC64:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +0000658// PPC64:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000659// PPC64:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000660// PPC64:#define __INTPTR_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +0000661// PPC64:#define __INT_MAX__ 2147483647
662// PPC64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
663// PPC64:#define __LDBL_DIG__ 15
664// PPC64:#define __LDBL_EPSILON__ 2.2204460492503131e-16
665// PPC64:#define __LDBL_HAS_DENORM__ 1
666// PPC64:#define __LDBL_HAS_INFINITY__ 1
667// PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
668// PPC64:#define __LDBL_MANT_DIG__ 53
669// PPC64:#define __LDBL_MAX_10_EXP__ 308
670// PPC64:#define __LDBL_MAX_EXP__ 1024
671// PPC64:#define __LDBL_MAX__ 1.7976931348623157e+308
672// PPC64:#define __LDBL_MIN_10_EXP__ (-307)
673// PPC64:#define __LDBL_MIN_EXP__ (-1021)
674// PPC64:#define __LDBL_MIN__ 2.2250738585072014e-308
675// PPC64:#define __LONG_DOUBLE_128__ 1
676// PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
677// PPC64:#define __LONG_MAX__ 9223372036854775807L
678// PPC64:#define __LP64__ 1
679// PPC64:#define __NATURAL_ALIGNMENT__ 1
680// PPC64:#define __NO_INLINE__ 1
681// PPC64:#define __POINTER_WIDTH__ 64
682// PPC64:#define __POWERPC__ 1
Ken Dyck8241d732009-11-19 13:18:59 +0000683// PPC64:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +0000684// PPC64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +0000685// PPC64:#define __REGISTER_PREFIX__
686// PPC64:#define __SCHAR_MAX__ 127
687// PPC64:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000688// PPC64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000689// PPC64:#define __SIZEOF_DOUBLE__ 8
690// PPC64:#define __SIZEOF_FLOAT__ 4
691// PPC64:#define __SIZEOF_INT__ 4
692// PPC64:#define __SIZEOF_LONG_DOUBLE__ 8
693// PPC64:#define __SIZEOF_LONG_LONG__ 8
694// PPC64:#define __SIZEOF_LONG__ 8
695// PPC64:#define __SIZEOF_POINTER__ 8
696// PPC64:#define __SIZEOF_PTRDIFF_T__ 8
697// PPC64:#define __SIZEOF_SHORT__ 2
698// PPC64:#define __SIZEOF_SIZE_T__ 8
699// PPC64:#define __SIZEOF_WCHAR_T__ 4
700// PPC64:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +0000701// PPC64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000702// PPC64:#define __SIZE_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000703// PPC64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000704// PPC64:#define __USER_LABEL_PREFIX__ _
705// PPC64:#define __WCHAR_MAX__ 2147483647
706// PPC64:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +0000707// PPC64:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000708// PPC64:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000709// PPC64:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000710// PPC64:#define __ppc64__ 1
711// PPC64:#define __ppc__ 1
712//
Daniel Dunbara5728872009-12-15 20:14:24 +0000713// 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 +0000714//
715// PPC:#define _ARCH_PPC 1
716// PPC:#define _BIG_ENDIAN 1
717// PPC:#define __BIG_ENDIAN__ 1
Dan Gohmancfeac342010-05-28 00:27:15 +0000718// PPC:#define __CHAR16_TYPE__ unsigned short
719// PPC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000720// PPC:#define __CHAR_BIT__ 8
721// PPC:#define __CHAR_UNSIGNED__ 1
722// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
723// PPC:#define __DBL_DIG__ 15
724// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
725// PPC:#define __DBL_HAS_DENORM__ 1
726// PPC:#define __DBL_HAS_INFINITY__ 1
727// PPC:#define __DBL_HAS_QUIET_NAN__ 1
728// PPC:#define __DBL_MANT_DIG__ 53
729// PPC:#define __DBL_MAX_10_EXP__ 308
730// PPC:#define __DBL_MAX_EXP__ 1024
731// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
732// PPC:#define __DBL_MIN_10_EXP__ (-307)
733// PPC:#define __DBL_MIN_EXP__ (-1021)
734// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
735// PPC:#define __DECIMAL_DIG__ 17
736// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
737// PPC:#define __FLT_DIG__ 6
738// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
739// PPC:#define __FLT_EVAL_METHOD__ 0
740// PPC:#define __FLT_HAS_DENORM__ 1
741// PPC:#define __FLT_HAS_INFINITY__ 1
742// PPC:#define __FLT_HAS_QUIET_NAN__ 1
743// PPC:#define __FLT_MANT_DIG__ 24
744// PPC:#define __FLT_MAX_10_EXP__ 38
745// PPC:#define __FLT_MAX_EXP__ 128
746// PPC:#define __FLT_MAX__ 3.40282347e+38F
747// PPC:#define __FLT_MIN_10_EXP__ (-37)
748// PPC:#define __FLT_MIN_EXP__ (-125)
749// PPC:#define __FLT_MIN__ 1.17549435e-38F
750// PPC:#define __FLT_RADIX__ 2
751// PPC:#define __INT16_TYPE__ short
752// PPC:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000753// PPC:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000754// PPC:#define __INT64_TYPE__ long long int
755// PPC:#define __INT8_TYPE__ char
756// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +0000757// PPC:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +0000758// PPC:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000759// PPC:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000760// PPC:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000761// PPC:#define __INT_MAX__ 2147483647
762// PPC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
763// PPC:#define __LDBL_DIG__ 15
764// PPC:#define __LDBL_EPSILON__ 2.2204460492503131e-16
765// PPC:#define __LDBL_HAS_DENORM__ 1
766// PPC:#define __LDBL_HAS_INFINITY__ 1
767// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
768// PPC:#define __LDBL_MANT_DIG__ 53
769// PPC:#define __LDBL_MAX_10_EXP__ 308
770// PPC:#define __LDBL_MAX_EXP__ 1024
771// PPC:#define __LDBL_MAX__ 1.7976931348623157e+308
772// PPC:#define __LDBL_MIN_10_EXP__ (-307)
773// PPC:#define __LDBL_MIN_EXP__ (-1021)
774// PPC:#define __LDBL_MIN__ 2.2250738585072014e-308
775// PPC:#define __LONG_DOUBLE_128__ 1
776// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
777// PPC:#define __LONG_MAX__ 2147483647L
778// PPC:#define __NATURAL_ALIGNMENT__ 1
779// PPC:#define __NO_INLINE__ 1
780// PPC:#define __POINTER_WIDTH__ 32
781// PPC:#define __POWERPC__ 1
Ken Dyck8241d732009-11-19 13:18:59 +0000782// PPC:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +0000783// PPC:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000784// PPC:#define __REGISTER_PREFIX__
785// PPC:#define __SCHAR_MAX__ 127
786// PPC:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000787// PPC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000788// PPC:#define __SIZEOF_DOUBLE__ 8
789// PPC:#define __SIZEOF_FLOAT__ 4
790// PPC:#define __SIZEOF_INT__ 4
791// PPC:#define __SIZEOF_LONG_DOUBLE__ 8
792// PPC:#define __SIZEOF_LONG_LONG__ 8
793// PPC:#define __SIZEOF_LONG__ 4
794// PPC:#define __SIZEOF_POINTER__ 4
795// PPC:#define __SIZEOF_PTRDIFF_T__ 4
796// PPC:#define __SIZEOF_SHORT__ 2
797// PPC:#define __SIZEOF_SIZE_T__ 4
798// PPC:#define __SIZEOF_WCHAR_T__ 4
799// PPC:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +0000800// PPC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000801// PPC:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000802// PPC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000803// PPC:#define __USER_LABEL_PREFIX__ _
804// PPC:#define __WCHAR_MAX__ 2147483647
805// PPC:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +0000806// PPC:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000807// PPC:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000808// PPC:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000809// PPC:#define __ppc__ 1
810//
Daniel Dunbara5728872009-12-15 20:14:24 +0000811// RUN: %clang_cc1 -E -dM -ffreestanding -triple=s390x-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix S390X %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000812//
Dan Gohmancfeac342010-05-28 00:27:15 +0000813// S390X:#define __CHAR16_TYPE__ unsigned short
814// S390X:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000815// S390X:#define __CHAR_BIT__ 8
816// S390X:#define __CHAR_UNSIGNED__ 1
817// S390X:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
818// S390X:#define __DBL_DIG__ 15
819// S390X:#define __DBL_EPSILON__ 2.2204460492503131e-16
820// S390X:#define __DBL_HAS_DENORM__ 1
821// S390X:#define __DBL_HAS_INFINITY__ 1
822// S390X:#define __DBL_HAS_QUIET_NAN__ 1
823// S390X:#define __DBL_MANT_DIG__ 53
824// S390X:#define __DBL_MAX_10_EXP__ 308
825// S390X:#define __DBL_MAX_EXP__ 1024
826// S390X:#define __DBL_MAX__ 1.7976931348623157e+308
827// S390X:#define __DBL_MIN_10_EXP__ (-307)
828// S390X:#define __DBL_MIN_EXP__ (-1021)
829// S390X:#define __DBL_MIN__ 2.2250738585072014e-308
830// S390X:#define __DECIMAL_DIG__ 17
831// S390X:#define __FLT_DENORM_MIN__ 1.40129846e-45F
832// S390X:#define __FLT_DIG__ 6
833// S390X:#define __FLT_EPSILON__ 1.19209290e-7F
834// S390X:#define __FLT_EVAL_METHOD__ 0
835// S390X:#define __FLT_HAS_DENORM__ 1
836// S390X:#define __FLT_HAS_INFINITY__ 1
837// S390X:#define __FLT_HAS_QUIET_NAN__ 1
838// S390X:#define __FLT_MANT_DIG__ 24
839// S390X:#define __FLT_MAX_10_EXP__ 38
840// S390X:#define __FLT_MAX_EXP__ 128
841// S390X:#define __FLT_MAX__ 3.40282347e+38F
842// S390X:#define __FLT_MIN_10_EXP__ (-37)
843// S390X:#define __FLT_MIN_EXP__ (-125)
844// S390X:#define __FLT_MIN__ 1.17549435e-38F
845// S390X:#define __FLT_RADIX__ 2
846// S390X:#define __INT16_TYPE__ short
847// S390X:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000848// S390X:#define __INT64_C_SUFFIX__ L
Daniel Dunbar7f3a5452010-06-30 06:30:56 +0000849// S390X:#define __INT64_TYPE__ long long int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000850// S390X:#define __INT8_TYPE__ char
851// S390X:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +0000852// S390X:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +0000853// S390X:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000854// S390X:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000855// S390X:#define __INTPTR_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +0000856// S390X:#define __INT_MAX__ 2147483647
857// S390X:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
858// S390X:#define __LDBL_DIG__ 15
859// S390X:#define __LDBL_EPSILON__ 2.2204460492503131e-16
860// S390X:#define __LDBL_HAS_DENORM__ 1
861// S390X:#define __LDBL_HAS_INFINITY__ 1
862// S390X:#define __LDBL_HAS_QUIET_NAN__ 1
863// S390X:#define __LDBL_MANT_DIG__ 53
864// S390X:#define __LDBL_MAX_10_EXP__ 308
865// S390X:#define __LDBL_MAX_EXP__ 1024
866// S390X:#define __LDBL_MAX__ 1.7976931348623157e+308
867// S390X:#define __LDBL_MIN_10_EXP__ (-307)
868// S390X:#define __LDBL_MIN_EXP__ (-1021)
869// S390X:#define __LDBL_MIN__ 2.2250738585072014e-308
870// S390X:#define __LONG_LONG_MAX__ 9223372036854775807LL
871// S390X:#define __LONG_MAX__ 9223372036854775807L
872// S390X:#define __NO_INLINE__ 1
873// S390X:#define __POINTER_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000874// S390X:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +0000875// S390X:#define __PTRDIFF_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +0000876// S390X:#define __SCHAR_MAX__ 127
877// S390X:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000878// S390X:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000879// S390X:#define __SIZEOF_DOUBLE__ 8
880// S390X:#define __SIZEOF_FLOAT__ 4
881// S390X:#define __SIZEOF_INT__ 4
882// S390X:#define __SIZEOF_LONG_DOUBLE__ 8
883// S390X:#define __SIZEOF_LONG_LONG__ 8
884// S390X:#define __SIZEOF_LONG__ 8
885// S390X:#define __SIZEOF_POINTER__ 8
886// S390X:#define __SIZEOF_PTRDIFF_T__ 8
887// S390X:#define __SIZEOF_SHORT__ 2
888// S390X:#define __SIZEOF_SIZE_T__ 8
889// S390X:#define __SIZEOF_WCHAR_T__ 4
890// S390X:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +0000891// S390X:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000892// S390X:#define __SIZE_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000893// S390X:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000894// S390X:#define __USER_LABEL_PREFIX__ _
895// S390X:#define __WCHAR_MAX__ 2147483647
896// S390X:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +0000897// S390X:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000898// S390X:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000899// S390X:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000900// S390X:#define __s390__ 1
901// S390X:#define __s390x__ 1
902//
Daniel Dunbara5728872009-12-15 20:14:24 +0000903// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000904//
Dan Gohmancfeac342010-05-28 00:27:15 +0000905// SPARC:#define __CHAR16_TYPE__ unsigned short
906// SPARC:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000907// SPARC:#define __CHAR_BIT__ 8
908// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
909// SPARC:#define __DBL_DIG__ 15
910// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
911// SPARC:#define __DBL_HAS_DENORM__ 1
912// SPARC:#define __DBL_HAS_INFINITY__ 1
913// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
914// SPARC:#define __DBL_MANT_DIG__ 53
915// SPARC:#define __DBL_MAX_10_EXP__ 308
916// SPARC:#define __DBL_MAX_EXP__ 1024
917// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
918// SPARC:#define __DBL_MIN_10_EXP__ (-307)
919// SPARC:#define __DBL_MIN_EXP__ (-1021)
920// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
921// SPARC:#define __DECIMAL_DIG__ 17
922// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
923// SPARC:#define __FLT_DIG__ 6
924// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
925// SPARC:#define __FLT_EVAL_METHOD__ 0
926// SPARC:#define __FLT_HAS_DENORM__ 1
927// SPARC:#define __FLT_HAS_INFINITY__ 1
928// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
929// SPARC:#define __FLT_MANT_DIG__ 24
930// SPARC:#define __FLT_MAX_10_EXP__ 38
931// SPARC:#define __FLT_MAX_EXP__ 128
932// SPARC:#define __FLT_MAX__ 3.40282347e+38F
933// SPARC:#define __FLT_MIN_10_EXP__ (-37)
934// SPARC:#define __FLT_MIN_EXP__ (-125)
935// SPARC:#define __FLT_MIN__ 1.17549435e-38F
936// SPARC:#define __FLT_RADIX__ 2
937// SPARC:#define __INT16_TYPE__ short
938// SPARC:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000939// SPARC:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000940// SPARC:#define __INT64_TYPE__ long long int
941// SPARC:#define __INT8_TYPE__ char
942// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +0000943// SPARC:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +0000944// SPARC:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000945// SPARC:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000946// SPARC:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000947// SPARC:#define __INT_MAX__ 2147483647
948// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
949// SPARC:#define __LDBL_DIG__ 15
950// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16
951// SPARC:#define __LDBL_HAS_DENORM__ 1
952// SPARC:#define __LDBL_HAS_INFINITY__ 1
953// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
954// SPARC:#define __LDBL_MANT_DIG__ 53
955// SPARC:#define __LDBL_MAX_10_EXP__ 308
956// SPARC:#define __LDBL_MAX_EXP__ 1024
957// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308
958// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
959// SPARC:#define __LDBL_MIN_EXP__ (-1021)
960// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308
961// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
962// SPARC:#define __LONG_MAX__ 2147483647L
963// SPARC:#define __NO_INLINE__ 1
964// SPARC:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000965// SPARC:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +0000966// SPARC:#define __PTRDIFF_WIDTH__ 32
Daniel Dunbareac7c532009-12-18 18:42:37 +0000967// SPARC:#define __REGISTER_PREFIX__
Chris Lattnerbceaf862009-10-29 04:55:36 +0000968// SPARC:#define __SCHAR_MAX__ 127
969// SPARC:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +0000970// SPARC:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +0000971// SPARC:#define __SIZEOF_DOUBLE__ 8
972// SPARC:#define __SIZEOF_FLOAT__ 4
973// SPARC:#define __SIZEOF_INT__ 4
974// SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
975// SPARC:#define __SIZEOF_LONG_LONG__ 8
976// SPARC:#define __SIZEOF_LONG__ 4
977// SPARC:#define __SIZEOF_POINTER__ 4
978// SPARC:#define __SIZEOF_PTRDIFF_T__ 4
979// SPARC:#define __SIZEOF_SHORT__ 2
980// SPARC:#define __SIZEOF_SIZE_T__ 4
981// SPARC:#define __SIZEOF_WCHAR_T__ 4
982// SPARC:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +0000983// SPARC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +0000984// SPARC:#define __SIZE_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000985// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000986// SPARC:#define __USER_LABEL_PREFIX__ _
987// SPARC:#define __VERSION__ "4.2.1 Compatible Clang Compiler"
988// SPARC:#define __WCHAR_MAX__ 2147483647
989// SPARC:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +0000990// SPARC:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000991// SPARC:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +0000992// SPARC:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000993// SPARC:#define __sparc 1
994// SPARC:#define __sparc__ 1
995// SPARC:#define __sparcv8 1
996// SPARC:#define sparc 1
997//
Daniel Dunbara5728872009-12-15 20:14:24 +0000998// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000999//
Dan Gohmancfeac342010-05-28 00:27:15 +00001000// TCE:#define __CHAR16_TYPE__ unsigned short
1001// TCE:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001002// TCE:#define __CHAR_BIT__ 8
1003// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45F
1004// TCE:#define __DBL_DIG__ 6
1005// TCE:#define __DBL_EPSILON__ 1.19209290e-7F
1006// TCE:#define __DBL_HAS_DENORM__ 1
1007// TCE:#define __DBL_HAS_INFINITY__ 1
1008// TCE:#define __DBL_HAS_QUIET_NAN__ 1
1009// TCE:#define __DBL_MANT_DIG__ 24
1010// TCE:#define __DBL_MAX_10_EXP__ 38
1011// TCE:#define __DBL_MAX_EXP__ 128
1012// TCE:#define __DBL_MAX__ 3.40282347e+38F
1013// TCE:#define __DBL_MIN_10_EXP__ (-37)
1014// TCE:#define __DBL_MIN_EXP__ (-125)
1015// TCE:#define __DBL_MIN__ 1.17549435e-38F
1016// TCE:#define __DECIMAL_DIG__ -1
1017// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1018// TCE:#define __FLT_DIG__ 6
1019// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
1020// TCE:#define __FLT_EVAL_METHOD__ 0
1021// TCE:#define __FLT_HAS_DENORM__ 1
1022// TCE:#define __FLT_HAS_INFINITY__ 1
1023// TCE:#define __FLT_HAS_QUIET_NAN__ 1
1024// TCE:#define __FLT_MANT_DIG__ 24
1025// TCE:#define __FLT_MAX_10_EXP__ 38
1026// TCE:#define __FLT_MAX_EXP__ 128
1027// TCE:#define __FLT_MAX__ 3.40282347e+38F
1028// TCE:#define __FLT_MIN_10_EXP__ (-37)
1029// TCE:#define __FLT_MIN_EXP__ (-125)
1030// TCE:#define __FLT_MIN__ 1.17549435e-38F
1031// TCE:#define __FLT_RADIX__ 2
1032// TCE:#define __INT16_TYPE__ short
1033// TCE:#define __INT32_TYPE__ int
1034// TCE:#define __INT8_TYPE__ char
1035// TCE:#define __INTMAX_MAX__ 2147483647L
Ken Dyck8241d732009-11-19 13:18:59 +00001036// TCE:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00001037// TCE:#define __INTMAX_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00001038// TCE:#define __INTPTR_TYPE__ int
Ken Dyckd896e1a2009-11-18 20:05:48 +00001039// TCE:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001040// TCE:#define __INT_MAX__ 2147483647
1041// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45F
1042// TCE:#define __LDBL_DIG__ 6
1043// TCE:#define __LDBL_EPSILON__ 1.19209290e-7F
1044// TCE:#define __LDBL_HAS_DENORM__ 1
1045// TCE:#define __LDBL_HAS_INFINITY__ 1
1046// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
1047// TCE:#define __LDBL_MANT_DIG__ 24
1048// TCE:#define __LDBL_MAX_10_EXP__ 38
1049// TCE:#define __LDBL_MAX_EXP__ 128
1050// TCE:#define __LDBL_MAX__ 3.40282347e+38F
1051// TCE:#define __LDBL_MIN_10_EXP__ (-37)
1052// TCE:#define __LDBL_MIN_EXP__ (-125)
1053// TCE:#define __LDBL_MIN__ 1.17549435e-38F
1054// TCE:#define __LONG_LONG_MAX__ 2147483647LL
1055// TCE:#define __LONG_MAX__ 2147483647L
1056// TCE:#define __NO_INLINE__ 1
1057// TCE:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +00001058// TCE:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +00001059// TCE:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001060// TCE:#define __SCHAR_MAX__ 127
1061// TCE:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00001062// TCE:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00001063// TCE:#define __SIZEOF_DOUBLE__ 4
1064// TCE:#define __SIZEOF_FLOAT__ 4
1065// TCE:#define __SIZEOF_INT__ 4
1066// TCE:#define __SIZEOF_LONG_DOUBLE__ 4
1067// TCE:#define __SIZEOF_LONG_LONG__ 4
1068// TCE:#define __SIZEOF_LONG__ 4
1069// TCE:#define __SIZEOF_POINTER__ 4
1070// TCE:#define __SIZEOF_PTRDIFF_T__ 4
1071// TCE:#define __SIZEOF_SHORT__ 2
1072// TCE:#define __SIZEOF_SIZE_T__ 4
1073// TCE:#define __SIZEOF_WCHAR_T__ 4
1074// TCE:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +00001075// TCE:#define __SIZE_TYPE__ unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00001076// TCE:#define __SIZE_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001077// TCE:#define __TCE_V1__ 1
1078// TCE:#define __TCE__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00001079// TCE:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001080// TCE:#define __USER_LABEL_PREFIX__ _
1081// TCE:#define __WCHAR_MAX__ 2147483647
1082// TCE:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001083// TCE:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001084// TCE:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001085// TCE:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001086// TCE:#define __tce 1
1087// TCE:#define __tce__ 1
1088// TCE:#define tce 1
1089//
Daniel Dunbara5728872009-12-15 20:14:24 +00001090// 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 +00001091//
1092// X86_64:#define _LP64 1
Dan Gohmancfeac342010-05-28 00:27:15 +00001093// X86_64:#define __CHAR16_TYPE__ unsigned short
1094// X86_64:#define __CHAR32_TYPE__ unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001095// X86_64:#define __CHAR_BIT__ 8
1096// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1097// X86_64:#define __DBL_DIG__ 15
1098// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1099// X86_64:#define __DBL_HAS_DENORM__ 1
1100// X86_64:#define __DBL_HAS_INFINITY__ 1
1101// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
1102// X86_64:#define __DBL_MANT_DIG__ 53
1103// X86_64:#define __DBL_MAX_10_EXP__ 308
1104// X86_64:#define __DBL_MAX_EXP__ 1024
1105// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
1106// X86_64:#define __DBL_MIN_10_EXP__ (-307)
1107// X86_64:#define __DBL_MIN_EXP__ (-1021)
1108// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
1109// X86_64:#define __DECIMAL_DIG__ 21
1110// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1111// X86_64:#define __FLT_DIG__ 6
1112// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
1113// X86_64:#define __FLT_EVAL_METHOD__ 0
1114// X86_64:#define __FLT_HAS_DENORM__ 1
1115// X86_64:#define __FLT_HAS_INFINITY__ 1
1116// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
1117// X86_64:#define __FLT_MANT_DIG__ 24
1118// X86_64:#define __FLT_MAX_10_EXP__ 38
1119// X86_64:#define __FLT_MAX_EXP__ 128
1120// X86_64:#define __FLT_MAX__ 3.40282347e+38F
1121// X86_64:#define __FLT_MIN_10_EXP__ (-37)
1122// X86_64:#define __FLT_MIN_EXP__ (-125)
1123// X86_64:#define __FLT_MIN__ 1.17549435e-38F
1124// X86_64:#define __FLT_RADIX__ 2
1125// X86_64:#define __INT16_TYPE__ short
1126// X86_64:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +00001127// X86_64:#define __INT64_C_SUFFIX__ L
Chris Lattnerbceaf862009-10-29 04:55:36 +00001128// X86_64:#define __INT64_TYPE__ long int
1129// X86_64:#define __INT8_TYPE__ char
1130// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck8241d732009-11-19 13:18:59 +00001131// X86_64:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +00001132// X86_64:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001133// X86_64:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +00001134// X86_64:#define __INTPTR_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001135// X86_64:#define __INT_MAX__ 2147483647
1136// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1137// X86_64:#define __LDBL_DIG__ 18
1138// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1139// X86_64:#define __LDBL_HAS_DENORM__ 1
1140// X86_64:#define __LDBL_HAS_INFINITY__ 1
1141// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
1142// X86_64:#define __LDBL_MANT_DIG__ 64
1143// X86_64:#define __LDBL_MAX_10_EXP__ 4932
1144// X86_64:#define __LDBL_MAX_EXP__ 16384
1145// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1146// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
1147// X86_64:#define __LDBL_MIN_EXP__ (-16381)
1148// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1149// X86_64:#define __LITTLE_ENDIAN__ 1
1150// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1151// X86_64:#define __LONG_MAX__ 9223372036854775807L
1152// X86_64:#define __LP64__ 1
1153// X86_64:#define __MMX__ 1
1154// X86_64:#define __NO_INLINE__ 1
1155// X86_64:#define __NO_MATH_INLINES 1
1156// X86_64:#define __POINTER_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +00001157// X86_64:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +00001158// X86_64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001159// X86_64:#define __REGISTER_PREFIX__
1160// X86_64:#define __SCHAR_MAX__ 127
1161// X86_64:#define __SHRT_MAX__ 32767
Ken Dyck3e945c82009-11-22 15:41:04 +00001162// X86_64:#define __SIG_ATOMIC_WIDTH__ 32
Dan Gohmancfeac342010-05-28 00:27:15 +00001163// X86_64:#define __SIZEOF_DOUBLE__ 8
1164// X86_64:#define __SIZEOF_FLOAT__ 4
1165// X86_64:#define __SIZEOF_INT__ 4
1166// X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
1167// X86_64:#define __SIZEOF_LONG_LONG__ 8
1168// X86_64:#define __SIZEOF_LONG__ 8
1169// X86_64:#define __SIZEOF_POINTER__ 8
1170// X86_64:#define __SIZEOF_PTRDIFF_T__ 8
1171// X86_64:#define __SIZEOF_SHORT__ 2
1172// X86_64:#define __SIZEOF_SIZE_T__ 8
1173// X86_64:#define __SIZEOF_WCHAR_T__ 4
1174// X86_64:#define __SIZEOF_WINT_T__ 4
Chris Lattnerbceaf862009-10-29 04:55:36 +00001175// X86_64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck7484e5d2009-11-19 13:42:09 +00001176// X86_64:#define __SIZE_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +00001177// X86_64:#define __SSE2_MATH__ 1
1178// X86_64:#define __SSE2__ 1
1179// X86_64:#define __SSE_MATH__ 1
1180// X86_64:#define __SSE__ 1
Ken Dyck8241d732009-11-19 13:18:59 +00001181// X86_64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +00001182// X86_64:#define __USER_LABEL_PREFIX__ _
1183// X86_64:#define __WCHAR_MAX__ 2147483647
1184// X86_64:#define __WCHAR_TYPE__ int
Ken Dyck63e65612009-11-19 15:47:58 +00001185// X86_64:#define __WCHAR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001186// X86_64:#define __WINT_TYPE__ int
Ken Dyck7635d212009-11-19 14:16:57 +00001187// X86_64:#define __WINT_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +00001188// X86_64:#define __amd64 1
1189// X86_64:#define __amd64__ 1
1190// X86_64:#define __nocona 1
1191// X86_64:#define __nocona__ 1
1192// X86_64:#define __tune_nocona__ 1
1193// X86_64:#define __x86_64 1
1194// X86_64:#define __x86_64__ 1
1195//
Douglas Gregor66791df2010-04-16 06:31:05 +00001196// RUN: %clang_cc1 -x c++ -triple i686-pc-linux-gnu -E -dM < /dev/null | FileCheck -check-prefix GNUSOURCE %s
1197// GNUSOURCE:#define _GNU_SOURCE 1
1198//
Dan Gohmancfeac342010-05-28 00:27:15 +00001199// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
1200// NORTTI: __GXX_ABI_VERSION
1201// NORTTI-NOT:#define __GXX_RTTI
1202// NORTTI: __STDC__