blob: 4aee2c61785f5f9c763fbc675003e388289cff9d [file] [log] [blame]
Daniel Dunbar4fcfde42009-11-08 01:45:36 +00001// RUN: clang-cc -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 Dunbar4fcfde42009-11-08 01:45:36 +00006// RUN: clang-cc -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 Dunbar4fcfde42009-11-08 01:45:36 +000012// RUN: clang-cc -x=c++ -std=c++0x -E -dM < /dev/null | FileCheck -check-prefix CXX0X %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000013//
14// CXX0X:#define _GNU_SOURCE 1
15// CXX0X:#define __DEPRECATED 1
16// CXX0X:#define __GNUG__
17// CXX0X:#define __GXX_EXPERIMENTAL_CXX0X__ 1
18// CXX0X:#define __GXX_WEAK__ 1
19// CXX0X:#define __cplusplus 199711L
20// CXX0X:#define __private_extern__ extern
21//
22//
Daniel Dunbar4fcfde42009-11-08 01:45:36 +000023// RUN: clang-cc -x=c++ -std=c++98 -E -dM < /dev/null | FileCheck -check-prefix CXX98 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000024//
25// CXX98:#define _GNU_SOURCE 1
26// CXX98:#define __DEPRECATED 1
27// CXX98:#define __GNUG__
28// CXX98:#define __GXX_WEAK__ 1
29// CXX98:#define __cplusplus 199711L
30// CXX98:#define __private_extern__ extern
31//
32//
Daniel Dunbar4fcfde42009-11-08 01:45:36 +000033// RUN: clang-cc -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 Dunbar4fcfde42009-11-08 01:45:36 +000039// RUN: clang-cc -E -dM -fms-extensions=0 < /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
53// COMMON:#define __llvm__ 1
54//
55//
Daniel Dunbar4fcfde42009-11-08 01:45:36 +000056// RUN: clang-cc -ffreestanding -E -dM < /dev/null | FileCheck -check-prefix FREESTANDING %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000057// FREESTANDING:#define __STDC_HOSTED__ 0
58//
Daniel Dunbar4fcfde42009-11-08 01:45:36 +000059// RUN: clang-cc -x=c++ -std=gnu++98 -E -dM < /dev/null | FileCheck -check-prefix GXX98 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000060//
61// GXX98:#define _GNU_SOURCE 1
62// GXX98:#define __DEPRECATED 1
63// GXX98:#define __GNUG__
64// GXX98:#define __GXX_WEAK__ 1
65// GXX98:#define __cplusplus 1
66// GXX98:#define __private_extern__ extern
67//
68//
Daniel Dunbar4fcfde42009-11-08 01:45:36 +000069// RUN: clang-cc -std=iso9899:199409 -E -dM < /dev/null | FileCheck -check-prefix C94 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000070//
71// C94:#define __STDC_VERSION__ 199409L
72//
73//
Daniel Dunbar4fcfde42009-11-08 01:45:36 +000074// RUN: clang-cc -fms-extensions -E -dM < /dev/null | FileCheck -check-prefix MSEXT %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000075//
76// MSEXT-NOT:#define __STDC__
77// MSEXT:#define __int16 __INT16_TYPE__
78// MSEXT:#define __int32 __INT32_TYPE__
79// MSEXT:#define __int64 __INT64_TYPE__
80// MSEXT:#define __int8 __INT8_TYPE__
81//
82//
Daniel Dunbar4fcfde42009-11-08 01:45:36 +000083// RUN: clang-cc -x=objective-c -E -dM < /dev/null | FileCheck -check-prefix OBJC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000084//
85// OBJC:#define OBJC_NEW_PROPERTIES 1
Daniel Dunbarc5a97ec2009-11-17 07:07:28 +000086// OBJC:#define __NEXT_RUNTIME__ 1
Chris Lattnerbceaf862009-10-29 04:55:36 +000087// OBJC:#define __OBJC__ 1
88//
Daniel Dunbarc5a97ec2009-11-17 07:07:28 +000089//
Daniel Dunbar4fcfde42009-11-08 01:45:36 +000090// RUN: clang-cc -x=objective-c -fobjc-gc -E -dM < /dev/null | FileCheck -check-prefix OBJCGC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000091//
92// OBJCGC:#define __OBJC_GC__ 1
93//
94//
Daniel Dunbar4fcfde42009-11-08 01:45:36 +000095// RUN: clang-cc -x=objective-c -fobjc-nonfragile-abi -E -dM < /dev/null | FileCheck -check-prefix NONFRAGILE %s
Chris Lattnerbceaf862009-10-29 04:55:36 +000096//
97// NONFRAGILE:#define OBJC_ZEROCOST_EXCEPTIONS 1
98// NONFRAGILE:#define __OBJC2__ 1
99//
100//
Daniel Dunbar4fcfde42009-11-08 01:45:36 +0000101// RUN: clang-cc -O1 -E -dM < /dev/null | FileCheck -check-prefix O1 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000102//
103// O1:#define __OPTIMIZE__ 1
104//
105//
Daniel Dunbar4fcfde42009-11-08 01:45:36 +0000106// RUN: clang-cc -fpascal-strings -E -dM < /dev/null | FileCheck -check-prefix PASCAL %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000107//
108// PASCAL:#define __PASCAL_STRINGS__ 1
109//
110//
Daniel Dunbar4fcfde42009-11-08 01:45:36 +0000111// RUN: clang-cc -fsigned-char -E -dM -fms-extensions=0 < /dev/null | FileCheck -check-prefix SCHAR %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000112//
113// SCHAR:#define __STDC__ 1
114// SCHAR-NOT:#define __UNSIGNED_CHAR__
115// SCHAR:#define __clang__ 1
116//
Daniel Dunbar4fcfde42009-11-08 01:45:36 +0000117// RUN: clang-cc -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000118//
119// ARM:#define __APCS_32__ 1
120// ARM:#define __ARMEL__ 1
121// ARM:#define __ARM_ARCH_6K__ 1
122// ARM:#define __CHAR_BIT__ 8
123// ARM:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
124// ARM:#define __DBL_DIG__ 15
125// ARM:#define __DBL_EPSILON__ 2.2204460492503131e-16
126// ARM:#define __DBL_HAS_DENORM__ 1
127// ARM:#define __DBL_HAS_INFINITY__ 1
128// ARM:#define __DBL_HAS_QUIET_NAN__ 1
129// ARM:#define __DBL_MANT_DIG__ 53
130// ARM:#define __DBL_MAX_10_EXP__ 308
131// ARM:#define __DBL_MAX_EXP__ 1024
132// ARM:#define __DBL_MAX__ 1.7976931348623157e+308
133// ARM:#define __DBL_MIN_10_EXP__ (-307)
134// ARM:#define __DBL_MIN_EXP__ (-1021)
135// ARM:#define __DBL_MIN__ 2.2250738585072014e-308
136// ARM:#define __DECIMAL_DIG__ 17
137// ARM:#define __FLT_DENORM_MIN__ 1.40129846e-45F
138// ARM:#define __FLT_DIG__ 6
139// ARM:#define __FLT_EPSILON__ 1.19209290e-7F
140// ARM:#define __FLT_EVAL_METHOD__ 0
141// ARM:#define __FLT_HAS_DENORM__ 1
142// ARM:#define __FLT_HAS_INFINITY__ 1
143// ARM:#define __FLT_HAS_QUIET_NAN__ 1
144// ARM:#define __FLT_MANT_DIG__ 24
145// ARM:#define __FLT_MAX_10_EXP__ 38
146// ARM:#define __FLT_MAX_EXP__ 128
147// ARM:#define __FLT_MAX__ 3.40282347e+38F
148// ARM:#define __FLT_MIN_10_EXP__ (-37)
149// ARM:#define __FLT_MIN_EXP__ (-125)
150// ARM:#define __FLT_MIN__ 1.17549435e-38F
151// ARM:#define __FLT_RADIX__ 2
152// ARM:#define __INT16_TYPE__ short
153// ARM:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000154// ARM:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000155// ARM:#define __INT64_TYPE__ long long int
156// ARM:#define __INT8_TYPE__ char
157// ARM:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +0000158// ARM:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +0000159// ARM:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000160// ARM:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000161// ARM:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000162// ARM:#define __INT_MAX__ 2147483647
163// ARM:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
164// ARM:#define __LDBL_DIG__ 15
165// ARM:#define __LDBL_EPSILON__ 2.2204460492503131e-16
166// ARM:#define __LDBL_HAS_DENORM__ 1
167// ARM:#define __LDBL_HAS_INFINITY__ 1
168// ARM:#define __LDBL_HAS_QUIET_NAN__ 1
169// ARM:#define __LDBL_MANT_DIG__ 53
170// ARM:#define __LDBL_MAX_10_EXP__ 308
171// ARM:#define __LDBL_MAX_EXP__ 1024
172// ARM:#define __LDBL_MAX__ 1.7976931348623157e+308
173// ARM:#define __LDBL_MIN_10_EXP__ (-307)
174// ARM:#define __LDBL_MIN_EXP__ (-1021)
175// ARM:#define __LDBL_MIN__ 2.2250738585072014e-308
176// ARM:#define __LITTLE_ENDIAN__ 1
177// ARM:#define __LONG_LONG_MAX__ 9223372036854775807LL
178// ARM:#define __LONG_MAX__ 2147483647L
179// ARM:#define __NO_INLINE__ 1
180// ARM:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000181// ARM:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +0000182// ARM:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000183// ARM:#define __SCHAR_MAX__ 127
184// ARM:#define __SHRT_MAX__ 32767
185// ARM:#define __SIZE_TYPE__ unsigned int
186// ARM:#define __THUMB_INTERWORK__ 1
Ken Dyck8241d732009-11-19 13:18:59 +0000187// ARM:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000188// ARM:#define __USER_LABEL_PREFIX__ _
189// ARM:#define __VFP_FP__ 1
190// ARM:#define __WCHAR_MAX__ 2147483647
191// ARM:#define __WCHAR_TYPE__ int
192// ARM:#define __WINT_TYPE__ int
193// ARM:#define __arm 1
194// ARM:#define __arm__ 1
195//
Daniel Dunbar4fcfde42009-11-08 01:45:36 +0000196// RUN: clang-cc -E -dM -ffreestanding -triple=bfin-none-none < /dev/null | FileCheck -check-prefix BFIN %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000197//
198// BFIN:#define BFIN 1
199// BFIN:#define __ADSPBLACKFIN__ 1
200// BFIN:#define __ADSPLPBLACKFIN__ 1
201// BFIN:#define __BFIN 1
202// BFIN:#define __BFIN__ 1
203// BFIN:#define __CHAR_BIT__ 8
204// BFIN:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
205// BFIN:#define __DBL_DIG__ 15
206// BFIN:#define __DBL_EPSILON__ 2.2204460492503131e-16
207// BFIN:#define __DBL_HAS_DENORM__ 1
208// BFIN:#define __DBL_HAS_INFINITY__ 1
209// BFIN:#define __DBL_HAS_QUIET_NAN__ 1
210// BFIN:#define __DBL_MANT_DIG__ 53
211// BFIN:#define __DBL_MAX_10_EXP__ 308
212// BFIN:#define __DBL_MAX_EXP__ 1024
213// BFIN:#define __DBL_MAX__ 1.7976931348623157e+308
214// BFIN:#define __DBL_MIN_10_EXP__ (-307)
215// BFIN:#define __DBL_MIN_EXP__ (-1021)
216// BFIN:#define __DBL_MIN__ 2.2250738585072014e-308
217// BFIN:#define __DECIMAL_DIG__ 17
218// BFIN:#define __FLT_DENORM_MIN__ 1.40129846e-45F
219// BFIN:#define __FLT_DIG__ 6
220// BFIN:#define __FLT_EPSILON__ 1.19209290e-7F
221// BFIN:#define __FLT_EVAL_METHOD__ 0
222// BFIN:#define __FLT_HAS_DENORM__ 1
223// BFIN:#define __FLT_HAS_INFINITY__ 1
224// BFIN:#define __FLT_HAS_QUIET_NAN__ 1
225// BFIN:#define __FLT_MANT_DIG__ 24
226// BFIN:#define __FLT_MAX_10_EXP__ 38
227// BFIN:#define __FLT_MAX_EXP__ 128
228// BFIN:#define __FLT_MAX__ 3.40282347e+38F
229// BFIN:#define __FLT_MIN_10_EXP__ (-37)
230// BFIN:#define __FLT_MIN_EXP__ (-125)
231// BFIN:#define __FLT_MIN__ 1.17549435e-38F
232// BFIN:#define __FLT_RADIX__ 2
233// BFIN:#define __INT16_TYPE__ short
234// BFIN:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000235// BFIN:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000236// BFIN:#define __INT64_TYPE__ long long int
237// BFIN:#define __INT8_TYPE__ char
238// BFIN:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +0000239// BFIN:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +0000240// BFIN:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000241// BFIN:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000242// BFIN:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000243// BFIN:#define __INT_MAX__ 2147483647
244// BFIN:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
245// BFIN:#define __LDBL_DIG__ 15
246// BFIN:#define __LDBL_EPSILON__ 2.2204460492503131e-16
247// BFIN:#define __LDBL_HAS_DENORM__ 1
248// BFIN:#define __LDBL_HAS_INFINITY__ 1
249// BFIN:#define __LDBL_HAS_QUIET_NAN__ 1
250// BFIN:#define __LDBL_MANT_DIG__ 53
251// BFIN:#define __LDBL_MAX_10_EXP__ 308
252// BFIN:#define __LDBL_MAX_EXP__ 1024
253// BFIN:#define __LDBL_MAX__ 1.7976931348623157e+308
254// BFIN:#define __LDBL_MIN_10_EXP__ (-307)
255// BFIN:#define __LDBL_MIN_EXP__ (-1021)
256// BFIN:#define __LDBL_MIN__ 2.2250738585072014e-308
257// BFIN:#define __LONG_LONG_MAX__ 9223372036854775807LL
258// BFIN:#define __LONG_MAX__ 2147483647L
259// BFIN:#define __NO_INLINE__ 1
260// BFIN:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000261// BFIN:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +0000262// BFIN:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000263// BFIN:#define __SCHAR_MAX__ 127
264// BFIN:#define __SHRT_MAX__ 32767
265// BFIN:#define __SIZE_TYPE__ long unsigned int
Ken Dyck8241d732009-11-19 13:18:59 +0000266// BFIN:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000267// BFIN:#define __USER_LABEL_PREFIX__ _
268// BFIN:#define __WCHAR_MAX__ 2147483647
269// BFIN:#define __WCHAR_TYPE__ int
270// BFIN:#define __WINT_TYPE__ int
271// BFIN:#define __bfin 1
272// BFIN:#define __bfin__ 1
273// BFIN:#define bfin 1
274//
Daniel Dunbar4fcfde42009-11-08 01:45:36 +0000275// RUN: clang-cc -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000276//
277// I386:#define __CHAR_BIT__ 8
278// I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
279// I386:#define __DBL_DIG__ 15
280// I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
281// I386:#define __DBL_HAS_DENORM__ 1
282// I386:#define __DBL_HAS_INFINITY__ 1
283// I386:#define __DBL_HAS_QUIET_NAN__ 1
284// I386:#define __DBL_MANT_DIG__ 53
285// I386:#define __DBL_MAX_10_EXP__ 308
286// I386:#define __DBL_MAX_EXP__ 1024
287// I386:#define __DBL_MAX__ 1.7976931348623157e+308
288// I386:#define __DBL_MIN_10_EXP__ (-307)
289// I386:#define __DBL_MIN_EXP__ (-1021)
290// I386:#define __DBL_MIN__ 2.2250738585072014e-308
291// I386:#define __DECIMAL_DIG__ 21
292// I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
293// I386:#define __FLT_DIG__ 6
294// I386:#define __FLT_EPSILON__ 1.19209290e-7F
295// I386:#define __FLT_EVAL_METHOD__ 0
296// I386:#define __FLT_HAS_DENORM__ 1
297// I386:#define __FLT_HAS_INFINITY__ 1
298// I386:#define __FLT_HAS_QUIET_NAN__ 1
299// I386:#define __FLT_MANT_DIG__ 24
300// I386:#define __FLT_MAX_10_EXP__ 38
301// I386:#define __FLT_MAX_EXP__ 128
302// I386:#define __FLT_MAX__ 3.40282347e+38F
303// I386:#define __FLT_MIN_10_EXP__ (-37)
304// I386:#define __FLT_MIN_EXP__ (-125)
305// I386:#define __FLT_MIN__ 1.17549435e-38F
306// I386:#define __FLT_RADIX__ 2
307// I386:#define __INT16_TYPE__ short
308// I386:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000309// I386:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000310// I386:#define __INT64_TYPE__ long long int
311// I386:#define __INT8_TYPE__ char
312// I386:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +0000313// I386:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +0000314// I386:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000315// I386:#define __INTPTR_TYPE__ int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000316// I386:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000317// I386:#define __INT_MAX__ 2147483647
318// I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
319// I386:#define __LDBL_DIG__ 18
320// I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
321// I386:#define __LDBL_HAS_DENORM__ 1
322// I386:#define __LDBL_HAS_INFINITY__ 1
323// I386:#define __LDBL_HAS_QUIET_NAN__ 1
324// I386:#define __LDBL_MANT_DIG__ 64
325// I386:#define __LDBL_MAX_10_EXP__ 4932
326// I386:#define __LDBL_MAX_EXP__ 16384
327// I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
328// I386:#define __LDBL_MIN_10_EXP__ (-4931)
329// I386:#define __LDBL_MIN_EXP__ (-16381)
330// I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
331// I386:#define __LITTLE_ENDIAN__ 1
332// I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
333// I386:#define __LONG_MAX__ 2147483647L
334// I386:#define __NO_INLINE__ 1
335// I386:#define __NO_MATH_INLINES 1
336// I386:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000337// I386:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +0000338// I386:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000339// I386:#define __REGISTER_PREFIX__
340// I386:#define __SCHAR_MAX__ 127
341// I386:#define __SHRT_MAX__ 32767
342// I386:#define __SIZE_TYPE__ unsigned int
Ken Dyck8241d732009-11-19 13:18:59 +0000343// I386:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000344// I386:#define __USER_LABEL_PREFIX__ _
345// I386:#define __WCHAR_MAX__ 2147483647
346// I386:#define __WCHAR_TYPE__ int
347// I386:#define __WINT_TYPE__ int
348// I386:#define __i386 1
349// I386:#define __i386__ 1
350// I386:#define __nocona 1
351// I386:#define __nocona__ 1
352// I386:#define __tune_nocona__ 1
353// I386:#define i386 1
354//
Daniel Dunbar4fcfde42009-11-08 01:45:36 +0000355// RUN: clang-cc -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000356//
357// MSP430:#define MSP430 1
358// MSP430:#define __CHAR_BIT__ 8
359// MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
360// MSP430:#define __DBL_DIG__ 15
361// MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
362// MSP430:#define __DBL_HAS_DENORM__ 1
363// MSP430:#define __DBL_HAS_INFINITY__ 1
364// MSP430:#define __DBL_HAS_QUIET_NAN__ 1
365// MSP430:#define __DBL_MANT_DIG__ 53
366// MSP430:#define __DBL_MAX_10_EXP__ 308
367// MSP430:#define __DBL_MAX_EXP__ 1024
368// MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
369// MSP430:#define __DBL_MIN_10_EXP__ (-307)
370// MSP430:#define __DBL_MIN_EXP__ (-1021)
371// MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
372// MSP430:#define __DECIMAL_DIG__ 17
373// MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
374// MSP430:#define __FLT_DIG__ 6
375// MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
376// MSP430:#define __FLT_EVAL_METHOD__ 0
377// MSP430:#define __FLT_HAS_DENORM__ 1
378// MSP430:#define __FLT_HAS_INFINITY__ 1
379// MSP430:#define __FLT_HAS_QUIET_NAN__ 1
380// MSP430:#define __FLT_MANT_DIG__ 24
381// MSP430:#define __FLT_MAX_10_EXP__ 38
382// MSP430:#define __FLT_MAX_EXP__ 128
383// MSP430:#define __FLT_MAX__ 3.40282347e+38F
384// MSP430:#define __FLT_MIN_10_EXP__ (-37)
385// MSP430:#define __FLT_MIN_EXP__ (-125)
386// MSP430:#define __FLT_MIN__ 1.17549435e-38F
387// MSP430:#define __FLT_RADIX__ 2
388// MSP430:#define __INT16_TYPE__ short
Ken Dyckeef22ef2009-11-16 16:36:33 +0000389// MSP430:#define __INT32_C_SUFFIX__ L
Chris Lattnerdcdd2a02009-11-12 08:08:27 +0000390// MSP430:#define __INT32_TYPE__ long int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000391// MSP430:#define __INT8_TYPE__ char
392// MSP430:#define __INTMAX_MAX__ 2147483647L
Ken Dyck8241d732009-11-19 13:18:59 +0000393// MSP430:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +0000394// MSP430:#define __INTMAX_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000395// MSP430:#define __INTPTR_TYPE__ short
Ken Dyckd896e1a2009-11-18 20:05:48 +0000396// MSP430:#define __INTPTR_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +0000397// MSP430:#define __INT_MAX__ 32767
398// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
399// MSP430:#define __LDBL_DIG__ 15
400// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16
401// MSP430:#define __LDBL_HAS_DENORM__ 1
402// MSP430:#define __LDBL_HAS_INFINITY__ 1
403// MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
404// MSP430:#define __LDBL_MANT_DIG__ 53
405// MSP430:#define __LDBL_MAX_10_EXP__ 308
406// MSP430:#define __LDBL_MAX_EXP__ 1024
407// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308
408// MSP430:#define __LDBL_MIN_10_EXP__ (-307)
409// MSP430:#define __LDBL_MIN_EXP__ (-1021)
410// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308
411// MSP430:#define __LONG_LONG_MAX__ 2147483647LL
412// MSP430:#define __LONG_MAX__ 2147483647L
413// MSP430:#define __MSP430__ 1
414// MSP430:#define __NO_INLINE__ 1
415// MSP430:#define __POINTER_WIDTH__ 16
Ken Dyck8241d732009-11-19 13:18:59 +0000416// MSP430:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +0000417// MSP430:#define __PTRDIFF_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +0000418// MSP430:#define __SCHAR_MAX__ 127
419// MSP430:#define __SHRT_MAX__ 32767
420// MSP430:#define __SIZE_TYPE__ unsigned int
Ken Dyck8241d732009-11-19 13:18:59 +0000421// MSP430:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000422// MSP430:#define __USER_LABEL_PREFIX__ _
Chris Lattner91846462009-11-12 08:04:33 +0000423// MSP430:#define __WCHAR_MAX__ 32767
Chris Lattnerbceaf862009-10-29 04:55:36 +0000424// MSP430:#define __WCHAR_TYPE__ int
425// MSP430:#define __WINT_TYPE__ int
426// MSP430:#define __clang__ 1
427//
Daniel Dunbar4fcfde42009-11-08 01:45:36 +0000428// RUN: clang-cc -E -dM -ffreestanding -triple=pic16-none-none < /dev/null | FileCheck -check-prefix PIC16 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000429//
430// PIC16:#define _CONFIG(conf) asm("CONFIG "#conf)
431// PIC16:#define __CHAR_BIT__ 8
432// PIC16:#define __DBL_DENORM_MIN__ 1.40129846e-45F
433// PIC16:#define __DBL_DIG__ 6
434// PIC16:#define __DBL_EPSILON__ 1.19209290e-7F
435// PIC16:#define __DBL_HAS_DENORM__ 1
436// PIC16:#define __DBL_HAS_INFINITY__ 1
437// PIC16:#define __DBL_HAS_QUIET_NAN__ 1
438// PIC16:#define __DBL_MANT_DIG__ 24
439// PIC16:#define __DBL_MAX_10_EXP__ 38
440// PIC16:#define __DBL_MAX_EXP__ 128
441// PIC16:#define __DBL_MAX__ 3.40282347e+38F
442// PIC16:#define __DBL_MIN_10_EXP__ (-37)
443// PIC16:#define __DBL_MIN_EXP__ (-125)
444// PIC16:#define __DBL_MIN__ 1.17549435e-38F
445// PIC16:#define __DECIMAL_DIG__ -1
446// PIC16:#define __FLT_DENORM_MIN__ 1.40129846e-45F
447// PIC16:#define __FLT_DIG__ 6
448// PIC16:#define __FLT_EPSILON__ 1.19209290e-7F
449// PIC16:#define __FLT_EVAL_METHOD__ 0
450// PIC16:#define __FLT_HAS_DENORM__ 1
451// PIC16:#define __FLT_HAS_INFINITY__ 1
452// PIC16:#define __FLT_HAS_QUIET_NAN__ 1
453// PIC16:#define __FLT_MANT_DIG__ 24
454// PIC16:#define __FLT_MAX_10_EXP__ 38
455// PIC16:#define __FLT_MAX_EXP__ 128
456// PIC16:#define __FLT_MAX__ 3.40282347e+38F
457// PIC16:#define __FLT_MIN_10_EXP__ (-37)
458// PIC16:#define __FLT_MIN_EXP__ (-125)
459// PIC16:#define __FLT_MIN__ 1.17549435e-38F
460// PIC16:#define __FLT_RADIX__ 2
461// PIC16:#define __INT16_TYPE__ short
Ken Dyckeef22ef2009-11-16 16:36:33 +0000462// PIC16:#define __INT32_C_SUFFIX__ L
Chris Lattnerdcdd2a02009-11-12 08:08:27 +0000463// PIC16:#define __INT32_TYPE__ long int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000464// PIC16:#define __INT8_TYPE__ char
465// PIC16:#define __INTMAX_MAX__ 2147483647L
Ken Dyck8241d732009-11-19 13:18:59 +0000466// PIC16:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +0000467// PIC16:#define __INTMAX_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000468// PIC16:#define __INTPTR_TYPE__ short
Ken Dyckd896e1a2009-11-18 20:05:48 +0000469// PIC16:#define __INTPTR_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +0000470// PIC16:#define __INT_MAX__ 32767
471// PIC16:#define __LDBL_DENORM_MIN__ 1.40129846e-45F
472// PIC16:#define __LDBL_DIG__ 6
473// PIC16:#define __LDBL_EPSILON__ 1.19209290e-7F
474// PIC16:#define __LDBL_HAS_DENORM__ 1
475// PIC16:#define __LDBL_HAS_INFINITY__ 1
476// PIC16:#define __LDBL_HAS_QUIET_NAN__ 1
477// PIC16:#define __LDBL_MANT_DIG__ 24
478// PIC16:#define __LDBL_MAX_10_EXP__ 38
479// PIC16:#define __LDBL_MAX_EXP__ 128
480// PIC16:#define __LDBL_MAX__ 3.40282347e+38F
481// PIC16:#define __LDBL_MIN_10_EXP__ (-37)
482// PIC16:#define __LDBL_MIN_EXP__ (-125)
483// PIC16:#define __LDBL_MIN__ 1.17549435e-38F
484// PIC16:#define __LONG_LONG_MAX__ 2147483647LL
485// PIC16:#define __LONG_MAX__ 2147483647L
486// PIC16:#define __NO_INLINE__ 1
487// PIC16:#define __POINTER_WIDTH__ 16
Ken Dyck8241d732009-11-19 13:18:59 +0000488// PIC16:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +0000489// PIC16:#define __PTRDIFF_WIDTH__ 16
Chris Lattnerbceaf862009-10-29 04:55:36 +0000490// PIC16:#define __SCHAR_MAX__ 127
491// PIC16:#define __SHRT_MAX__ 32767
492// PIC16:#define __SIZE_TYPE__ unsigned int
Ken Dyck8241d732009-11-19 13:18:59 +0000493// PIC16:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000494// PIC16:#define __USER_LABEL_PREFIX__ _
Chris Lattner91846462009-11-12 08:04:33 +0000495// PIC16:#define __WCHAR_MAX__ 32767
Chris Lattnerbceaf862009-10-29 04:55:36 +0000496// PIC16:#define __WCHAR_TYPE__ int
497// PIC16:#define __WINT_TYPE__ int
498// PIC16:#define __clang__ 1
499// PIC16:#define __llvm__ 1
500// PIC16:#define __pic16 1
501// PIC16:#define _address(Addr) __attribute__((section("Address="#Addr)))
502// PIC16:#define _interrupt __attribute__((section("interrupt=0x4"))) __attribute__((used))
503// PIC16:#define _section(SectName) __attribute__((section(SectName)))
504// PIC16:#define ram __attribute__((address_space(0)))
505// PIC16:#define rom __attribute__((address_space(1)))
506//
Daniel Dunbar1f95e652009-11-17 06:37:03 +0000507// RUN: clang-cc -E -dM -ffreestanding -triple=powerpc64-none-none -fsigned-char=0 < /dev/null | FileCheck -check-prefix PPC64 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000508//
509// PPC64:#define _ARCH_PPC 1
510// PPC64:#define _ARCH_PPC64 1
511// PPC64:#define _BIG_ENDIAN 1
512// PPC64:#define _LP64 1
513// PPC64:#define __BIG_ENDIAN__ 1
514// PPC64:#define __CHAR_BIT__ 8
515// PPC64:#define __CHAR_UNSIGNED__ 1
516// PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
517// PPC64:#define __DBL_DIG__ 15
518// PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
519// PPC64:#define __DBL_HAS_DENORM__ 1
520// PPC64:#define __DBL_HAS_INFINITY__ 1
521// PPC64:#define __DBL_HAS_QUIET_NAN__ 1
522// PPC64:#define __DBL_MANT_DIG__ 53
523// PPC64:#define __DBL_MAX_10_EXP__ 308
524// PPC64:#define __DBL_MAX_EXP__ 1024
525// PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
526// PPC64:#define __DBL_MIN_10_EXP__ (-307)
527// PPC64:#define __DBL_MIN_EXP__ (-1021)
528// PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
529// PPC64:#define __DECIMAL_DIG__ 17
530// PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
531// PPC64:#define __FLT_DIG__ 6
532// PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
533// PPC64:#define __FLT_EVAL_METHOD__ 0
534// PPC64:#define __FLT_HAS_DENORM__ 1
535// PPC64:#define __FLT_HAS_INFINITY__ 1
536// PPC64:#define __FLT_HAS_QUIET_NAN__ 1
537// PPC64:#define __FLT_MANT_DIG__ 24
538// PPC64:#define __FLT_MAX_10_EXP__ 38
539// PPC64:#define __FLT_MAX_EXP__ 128
540// PPC64:#define __FLT_MAX__ 3.40282347e+38F
541// PPC64:#define __FLT_MIN_10_EXP__ (-37)
542// PPC64:#define __FLT_MIN_EXP__ (-125)
543// PPC64:#define __FLT_MIN__ 1.17549435e-38F
544// PPC64:#define __FLT_RADIX__ 2
545// PPC64:#define __INT16_TYPE__ short
546// PPC64:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000547// PPC64:#define __INT64_C_SUFFIX__ L
Chris Lattnerbceaf862009-10-29 04:55:36 +0000548// PPC64:#define __INT64_TYPE__ long int
549// PPC64:#define __INT8_TYPE__ char
550// PPC64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck8241d732009-11-19 13:18:59 +0000551// PPC64:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +0000552// PPC64:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000553// PPC64:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000554// PPC64:#define __INTPTR_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +0000555// PPC64:#define __INT_MAX__ 2147483647
556// PPC64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
557// PPC64:#define __LDBL_DIG__ 15
558// PPC64:#define __LDBL_EPSILON__ 2.2204460492503131e-16
559// PPC64:#define __LDBL_HAS_DENORM__ 1
560// PPC64:#define __LDBL_HAS_INFINITY__ 1
561// PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
562// PPC64:#define __LDBL_MANT_DIG__ 53
563// PPC64:#define __LDBL_MAX_10_EXP__ 308
564// PPC64:#define __LDBL_MAX_EXP__ 1024
565// PPC64:#define __LDBL_MAX__ 1.7976931348623157e+308
566// PPC64:#define __LDBL_MIN_10_EXP__ (-307)
567// PPC64:#define __LDBL_MIN_EXP__ (-1021)
568// PPC64:#define __LDBL_MIN__ 2.2250738585072014e-308
569// PPC64:#define __LONG_DOUBLE_128__ 1
570// PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
571// PPC64:#define __LONG_MAX__ 9223372036854775807L
572// PPC64:#define __LP64__ 1
573// PPC64:#define __NATURAL_ALIGNMENT__ 1
574// PPC64:#define __NO_INLINE__ 1
575// PPC64:#define __POINTER_WIDTH__ 64
576// PPC64:#define __POWERPC__ 1
Ken Dyck8241d732009-11-19 13:18:59 +0000577// PPC64:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +0000578// PPC64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +0000579// PPC64:#define __REGISTER_PREFIX__
580// PPC64:#define __SCHAR_MAX__ 127
581// PPC64:#define __SHRT_MAX__ 32767
582// PPC64:#define __SIZE_TYPE__ long unsigned int
Ken Dyck8241d732009-11-19 13:18:59 +0000583// PPC64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000584// PPC64:#define __USER_LABEL_PREFIX__ _
585// PPC64:#define __WCHAR_MAX__ 2147483647
586// PPC64:#define __WCHAR_TYPE__ int
587// PPC64:#define __WINT_TYPE__ int
588// PPC64:#define __ppc64__ 1
589// PPC64:#define __ppc__ 1
590//
Daniel Dunbar1f95e652009-11-17 06:37:03 +0000591// RUN: clang-cc -E -dM -ffreestanding -triple=powerpc-none-none -fsigned-char=0 < /dev/null | FileCheck -check-prefix PPC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000592//
593// PPC:#define _ARCH_PPC 1
594// PPC:#define _BIG_ENDIAN 1
595// PPC:#define __BIG_ENDIAN__ 1
596// PPC:#define __CHAR_BIT__ 8
597// PPC:#define __CHAR_UNSIGNED__ 1
598// PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
599// PPC:#define __DBL_DIG__ 15
600// PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
601// PPC:#define __DBL_HAS_DENORM__ 1
602// PPC:#define __DBL_HAS_INFINITY__ 1
603// PPC:#define __DBL_HAS_QUIET_NAN__ 1
604// PPC:#define __DBL_MANT_DIG__ 53
605// PPC:#define __DBL_MAX_10_EXP__ 308
606// PPC:#define __DBL_MAX_EXP__ 1024
607// PPC:#define __DBL_MAX__ 1.7976931348623157e+308
608// PPC:#define __DBL_MIN_10_EXP__ (-307)
609// PPC:#define __DBL_MIN_EXP__ (-1021)
610// PPC:#define __DBL_MIN__ 2.2250738585072014e-308
611// PPC:#define __DECIMAL_DIG__ 17
612// PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
613// PPC:#define __FLT_DIG__ 6
614// PPC:#define __FLT_EPSILON__ 1.19209290e-7F
615// PPC:#define __FLT_EVAL_METHOD__ 0
616// PPC:#define __FLT_HAS_DENORM__ 1
617// PPC:#define __FLT_HAS_INFINITY__ 1
618// PPC:#define __FLT_HAS_QUIET_NAN__ 1
619// PPC:#define __FLT_MANT_DIG__ 24
620// PPC:#define __FLT_MAX_10_EXP__ 38
621// PPC:#define __FLT_MAX_EXP__ 128
622// PPC:#define __FLT_MAX__ 3.40282347e+38F
623// PPC:#define __FLT_MIN_10_EXP__ (-37)
624// PPC:#define __FLT_MIN_EXP__ (-125)
625// PPC:#define __FLT_MIN__ 1.17549435e-38F
626// PPC:#define __FLT_RADIX__ 2
627// PPC:#define __INT16_TYPE__ short
628// PPC:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000629// PPC:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000630// PPC:#define __INT64_TYPE__ long long int
631// PPC:#define __INT8_TYPE__ char
632// PPC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +0000633// PPC:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +0000634// PPC:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000635// PPC:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000636// PPC:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000637// PPC:#define __INT_MAX__ 2147483647
638// PPC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
639// PPC:#define __LDBL_DIG__ 15
640// PPC:#define __LDBL_EPSILON__ 2.2204460492503131e-16
641// PPC:#define __LDBL_HAS_DENORM__ 1
642// PPC:#define __LDBL_HAS_INFINITY__ 1
643// PPC:#define __LDBL_HAS_QUIET_NAN__ 1
644// PPC:#define __LDBL_MANT_DIG__ 53
645// PPC:#define __LDBL_MAX_10_EXP__ 308
646// PPC:#define __LDBL_MAX_EXP__ 1024
647// PPC:#define __LDBL_MAX__ 1.7976931348623157e+308
648// PPC:#define __LDBL_MIN_10_EXP__ (-307)
649// PPC:#define __LDBL_MIN_EXP__ (-1021)
650// PPC:#define __LDBL_MIN__ 2.2250738585072014e-308
651// PPC:#define __LONG_DOUBLE_128__ 1
652// PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
653// PPC:#define __LONG_MAX__ 2147483647L
654// PPC:#define __NATURAL_ALIGNMENT__ 1
655// PPC:#define __NO_INLINE__ 1
656// PPC:#define __POINTER_WIDTH__ 32
657// PPC:#define __POWERPC__ 1
Ken Dyck8241d732009-11-19 13:18:59 +0000658// PPC:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +0000659// PPC:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000660// PPC:#define __REGISTER_PREFIX__
661// PPC:#define __SCHAR_MAX__ 127
662// PPC:#define __SHRT_MAX__ 32767
663// PPC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck8241d732009-11-19 13:18:59 +0000664// PPC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000665// PPC:#define __USER_LABEL_PREFIX__ _
666// PPC:#define __WCHAR_MAX__ 2147483647
667// PPC:#define __WCHAR_TYPE__ int
668// PPC:#define __WINT_TYPE__ int
669// PPC:#define __ppc__ 1
670//
Daniel Dunbar1f95e652009-11-17 06:37:03 +0000671// RUN: clang-cc -E -dM -ffreestanding -triple=s390x-none-none -fsigned-char=0 < /dev/null | FileCheck -check-prefix S390X %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000672//
673// S390X:#define __CHAR_BIT__ 8
674// S390X:#define __CHAR_UNSIGNED__ 1
675// S390X:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
676// S390X:#define __DBL_DIG__ 15
677// S390X:#define __DBL_EPSILON__ 2.2204460492503131e-16
678// S390X:#define __DBL_HAS_DENORM__ 1
679// S390X:#define __DBL_HAS_INFINITY__ 1
680// S390X:#define __DBL_HAS_QUIET_NAN__ 1
681// S390X:#define __DBL_MANT_DIG__ 53
682// S390X:#define __DBL_MAX_10_EXP__ 308
683// S390X:#define __DBL_MAX_EXP__ 1024
684// S390X:#define __DBL_MAX__ 1.7976931348623157e+308
685// S390X:#define __DBL_MIN_10_EXP__ (-307)
686// S390X:#define __DBL_MIN_EXP__ (-1021)
687// S390X:#define __DBL_MIN__ 2.2250738585072014e-308
688// S390X:#define __DECIMAL_DIG__ 17
689// S390X:#define __FLT_DENORM_MIN__ 1.40129846e-45F
690// S390X:#define __FLT_DIG__ 6
691// S390X:#define __FLT_EPSILON__ 1.19209290e-7F
692// S390X:#define __FLT_EVAL_METHOD__ 0
693// S390X:#define __FLT_HAS_DENORM__ 1
694// S390X:#define __FLT_HAS_INFINITY__ 1
695// S390X:#define __FLT_HAS_QUIET_NAN__ 1
696// S390X:#define __FLT_MANT_DIG__ 24
697// S390X:#define __FLT_MAX_10_EXP__ 38
698// S390X:#define __FLT_MAX_EXP__ 128
699// S390X:#define __FLT_MAX__ 3.40282347e+38F
700// S390X:#define __FLT_MIN_10_EXP__ (-37)
701// S390X:#define __FLT_MIN_EXP__ (-125)
702// S390X:#define __FLT_MIN__ 1.17549435e-38F
703// S390X:#define __FLT_RADIX__ 2
704// S390X:#define __INT16_TYPE__ short
705// S390X:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000706// S390X:#define __INT64_C_SUFFIX__ L
Chris Lattnerdcdd2a02009-11-12 08:08:27 +0000707// S390X:#define __INT64_TYPE__ long int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000708// S390X:#define __INT8_TYPE__ char
709// S390X:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +0000710// S390X:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +0000711// S390X:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000712// S390X:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000713// S390X:#define __INTPTR_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +0000714// S390X:#define __INT_MAX__ 2147483647
715// S390X:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
716// S390X:#define __LDBL_DIG__ 15
717// S390X:#define __LDBL_EPSILON__ 2.2204460492503131e-16
718// S390X:#define __LDBL_HAS_DENORM__ 1
719// S390X:#define __LDBL_HAS_INFINITY__ 1
720// S390X:#define __LDBL_HAS_QUIET_NAN__ 1
721// S390X:#define __LDBL_MANT_DIG__ 53
722// S390X:#define __LDBL_MAX_10_EXP__ 308
723// S390X:#define __LDBL_MAX_EXP__ 1024
724// S390X:#define __LDBL_MAX__ 1.7976931348623157e+308
725// S390X:#define __LDBL_MIN_10_EXP__ (-307)
726// S390X:#define __LDBL_MIN_EXP__ (-1021)
727// S390X:#define __LDBL_MIN__ 2.2250738585072014e-308
728// S390X:#define __LONG_LONG_MAX__ 9223372036854775807LL
729// S390X:#define __LONG_MAX__ 9223372036854775807L
730// S390X:#define __NO_INLINE__ 1
731// S390X:#define __POINTER_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000732// S390X:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +0000733// S390X:#define __PTRDIFF_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +0000734// S390X:#define __SCHAR_MAX__ 127
735// S390X:#define __SHRT_MAX__ 32767
736// S390X:#define __SIZE_TYPE__ long unsigned int
Ken Dyck8241d732009-11-19 13:18:59 +0000737// S390X:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000738// S390X:#define __USER_LABEL_PREFIX__ _
739// S390X:#define __WCHAR_MAX__ 2147483647
740// S390X:#define __WCHAR_TYPE__ int
741// S390X:#define __WINT_TYPE__ int
742// S390X:#define __s390__ 1
743// S390X:#define __s390x__ 1
744//
Daniel Dunbar4fcfde42009-11-08 01:45:36 +0000745// RUN: clang-cc -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000746//
747// SPARC:#define __CHAR_BIT__ 8
748// SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
749// SPARC:#define __DBL_DIG__ 15
750// SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
751// SPARC:#define __DBL_HAS_DENORM__ 1
752// SPARC:#define __DBL_HAS_INFINITY__ 1
753// SPARC:#define __DBL_HAS_QUIET_NAN__ 1
754// SPARC:#define __DBL_MANT_DIG__ 53
755// SPARC:#define __DBL_MAX_10_EXP__ 308
756// SPARC:#define __DBL_MAX_EXP__ 1024
757// SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
758// SPARC:#define __DBL_MIN_10_EXP__ (-307)
759// SPARC:#define __DBL_MIN_EXP__ (-1021)
760// SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
761// SPARC:#define __DECIMAL_DIG__ 17
762// SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
763// SPARC:#define __FLT_DIG__ 6
764// SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
765// SPARC:#define __FLT_EVAL_METHOD__ 0
766// SPARC:#define __FLT_HAS_DENORM__ 1
767// SPARC:#define __FLT_HAS_INFINITY__ 1
768// SPARC:#define __FLT_HAS_QUIET_NAN__ 1
769// SPARC:#define __FLT_MANT_DIG__ 24
770// SPARC:#define __FLT_MAX_10_EXP__ 38
771// SPARC:#define __FLT_MAX_EXP__ 128
772// SPARC:#define __FLT_MAX__ 3.40282347e+38F
773// SPARC:#define __FLT_MIN_10_EXP__ (-37)
774// SPARC:#define __FLT_MIN_EXP__ (-125)
775// SPARC:#define __FLT_MIN__ 1.17549435e-38F
776// SPARC:#define __FLT_RADIX__ 2
777// SPARC:#define __INT16_TYPE__ short
778// SPARC:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000779// SPARC:#define __INT64_C_SUFFIX__ LL
Chris Lattnerbceaf862009-10-29 04:55:36 +0000780// SPARC:#define __INT64_TYPE__ long long int
781// SPARC:#define __INT8_TYPE__ char
782// SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
Ken Dyck8241d732009-11-19 13:18:59 +0000783// SPARC:#define __INTMAX_TYPE__ long long int
Ken Dyck186696b2009-11-18 13:52:57 +0000784// SPARC:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000785// SPARC:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000786// SPARC:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000787// SPARC:#define __INT_MAX__ 2147483647
788// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
789// SPARC:#define __LDBL_DIG__ 15
790// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16
791// SPARC:#define __LDBL_HAS_DENORM__ 1
792// SPARC:#define __LDBL_HAS_INFINITY__ 1
793// SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
794// SPARC:#define __LDBL_MANT_DIG__ 53
795// SPARC:#define __LDBL_MAX_10_EXP__ 308
796// SPARC:#define __LDBL_MAX_EXP__ 1024
797// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308
798// SPARC:#define __LDBL_MIN_10_EXP__ (-307)
799// SPARC:#define __LDBL_MIN_EXP__ (-1021)
800// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308
801// SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
802// SPARC:#define __LONG_MAX__ 2147483647L
803// SPARC:#define __NO_INLINE__ 1
804// SPARC:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000805// SPARC:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +0000806// SPARC:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000807// SPARC:#define __REGISTER_PREFIX__
808// SPARC:#define __SCHAR_MAX__ 127
809// SPARC:#define __SHRT_MAX__ 32767
810// SPARC:#define __SIZE_TYPE__ long unsigned int
Ken Dyck8241d732009-11-19 13:18:59 +0000811// SPARC:#define __UINTMAX_TYPE__ long long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000812// SPARC:#define __USER_LABEL_PREFIX__ _
813// SPARC:#define __VERSION__ "4.2.1 Compatible Clang Compiler"
814// SPARC:#define __WCHAR_MAX__ 2147483647
815// SPARC:#define __WCHAR_TYPE__ int
816// SPARC:#define __WINT_TYPE__ int
817// SPARC:#define __sparc 1
818// SPARC:#define __sparc__ 1
819// SPARC:#define __sparcv8 1
820// SPARC:#define sparc 1
821//
Daniel Dunbar4fcfde42009-11-08 01:45:36 +0000822// RUN: clang-cc -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000823//
824// TCE:#define __CHAR_BIT__ 8
825// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45F
826// TCE:#define __DBL_DIG__ 6
827// TCE:#define __DBL_EPSILON__ 1.19209290e-7F
828// TCE:#define __DBL_HAS_DENORM__ 1
829// TCE:#define __DBL_HAS_INFINITY__ 1
830// TCE:#define __DBL_HAS_QUIET_NAN__ 1
831// TCE:#define __DBL_MANT_DIG__ 24
832// TCE:#define __DBL_MAX_10_EXP__ 38
833// TCE:#define __DBL_MAX_EXP__ 128
834// TCE:#define __DBL_MAX__ 3.40282347e+38F
835// TCE:#define __DBL_MIN_10_EXP__ (-37)
836// TCE:#define __DBL_MIN_EXP__ (-125)
837// TCE:#define __DBL_MIN__ 1.17549435e-38F
838// TCE:#define __DECIMAL_DIG__ -1
839// TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
840// TCE:#define __FLT_DIG__ 6
841// TCE:#define __FLT_EPSILON__ 1.19209290e-7F
842// TCE:#define __FLT_EVAL_METHOD__ 0
843// TCE:#define __FLT_HAS_DENORM__ 1
844// TCE:#define __FLT_HAS_INFINITY__ 1
845// TCE:#define __FLT_HAS_QUIET_NAN__ 1
846// TCE:#define __FLT_MANT_DIG__ 24
847// TCE:#define __FLT_MAX_10_EXP__ 38
848// TCE:#define __FLT_MAX_EXP__ 128
849// TCE:#define __FLT_MAX__ 3.40282347e+38F
850// TCE:#define __FLT_MIN_10_EXP__ (-37)
851// TCE:#define __FLT_MIN_EXP__ (-125)
852// TCE:#define __FLT_MIN__ 1.17549435e-38F
853// TCE:#define __FLT_RADIX__ 2
854// TCE:#define __INT16_TYPE__ short
855// TCE:#define __INT32_TYPE__ int
856// TCE:#define __INT8_TYPE__ char
857// TCE:#define __INTMAX_MAX__ 2147483647L
Ken Dyck8241d732009-11-19 13:18:59 +0000858// TCE:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +0000859// TCE:#define __INTMAX_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000860// TCE:#define __INTPTR_TYPE__ int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000861// TCE:#define __INTPTR_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000862// TCE:#define __INT_MAX__ 2147483647
863// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45F
864// TCE:#define __LDBL_DIG__ 6
865// TCE:#define __LDBL_EPSILON__ 1.19209290e-7F
866// TCE:#define __LDBL_HAS_DENORM__ 1
867// TCE:#define __LDBL_HAS_INFINITY__ 1
868// TCE:#define __LDBL_HAS_QUIET_NAN__ 1
869// TCE:#define __LDBL_MANT_DIG__ 24
870// TCE:#define __LDBL_MAX_10_EXP__ 38
871// TCE:#define __LDBL_MAX_EXP__ 128
872// TCE:#define __LDBL_MAX__ 3.40282347e+38F
873// TCE:#define __LDBL_MIN_10_EXP__ (-37)
874// TCE:#define __LDBL_MIN_EXP__ (-125)
875// TCE:#define __LDBL_MIN__ 1.17549435e-38F
876// TCE:#define __LONG_LONG_MAX__ 2147483647LL
877// TCE:#define __LONG_MAX__ 2147483647L
878// TCE:#define __NO_INLINE__ 1
879// TCE:#define __POINTER_WIDTH__ 32
Ken Dyck8241d732009-11-19 13:18:59 +0000880// TCE:#define __PTRDIFF_TYPE__ int
Ken Dyckd00c7512009-11-19 12:21:52 +0000881// TCE:#define __PTRDIFF_WIDTH__ 32
Chris Lattnerbceaf862009-10-29 04:55:36 +0000882// TCE:#define __SCHAR_MAX__ 127
883// TCE:#define __SHRT_MAX__ 32767
884// TCE:#define __SIZE_TYPE__ unsigned int
885// TCE:#define __TCE_V1__ 1
886// TCE:#define __TCE__ 1
Ken Dyck8241d732009-11-19 13:18:59 +0000887// TCE:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000888// TCE:#define __USER_LABEL_PREFIX__ _
889// TCE:#define __WCHAR_MAX__ 2147483647
890// TCE:#define __WCHAR_TYPE__ int
891// TCE:#define __WINT_TYPE__ int
892// TCE:#define __tce 1
893// TCE:#define __tce__ 1
894// TCE:#define tce 1
895//
Daniel Dunbar4fcfde42009-11-08 01:45:36 +0000896// RUN: clang-cc -E -dM -ffreestanding -triple=x86_64-none-none < /dev/null | FileCheck -check-prefix X86_64 %s
Chris Lattnerbceaf862009-10-29 04:55:36 +0000897//
898// X86_64:#define _LP64 1
899// X86_64:#define __CHAR_BIT__ 8
900// X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
901// X86_64:#define __DBL_DIG__ 15
902// X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
903// X86_64:#define __DBL_HAS_DENORM__ 1
904// X86_64:#define __DBL_HAS_INFINITY__ 1
905// X86_64:#define __DBL_HAS_QUIET_NAN__ 1
906// X86_64:#define __DBL_MANT_DIG__ 53
907// X86_64:#define __DBL_MAX_10_EXP__ 308
908// X86_64:#define __DBL_MAX_EXP__ 1024
909// X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
910// X86_64:#define __DBL_MIN_10_EXP__ (-307)
911// X86_64:#define __DBL_MIN_EXP__ (-1021)
912// X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
913// X86_64:#define __DECIMAL_DIG__ 21
914// X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
915// X86_64:#define __FLT_DIG__ 6
916// X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
917// X86_64:#define __FLT_EVAL_METHOD__ 0
918// X86_64:#define __FLT_HAS_DENORM__ 1
919// X86_64:#define __FLT_HAS_INFINITY__ 1
920// X86_64:#define __FLT_HAS_QUIET_NAN__ 1
921// X86_64:#define __FLT_MANT_DIG__ 24
922// X86_64:#define __FLT_MAX_10_EXP__ 38
923// X86_64:#define __FLT_MAX_EXP__ 128
924// X86_64:#define __FLT_MAX__ 3.40282347e+38F
925// X86_64:#define __FLT_MIN_10_EXP__ (-37)
926// X86_64:#define __FLT_MIN_EXP__ (-125)
927// X86_64:#define __FLT_MIN__ 1.17549435e-38F
928// X86_64:#define __FLT_RADIX__ 2
929// X86_64:#define __INT16_TYPE__ short
930// X86_64:#define __INT32_TYPE__ int
Ken Dyckeef22ef2009-11-16 16:36:33 +0000931// X86_64:#define __INT64_C_SUFFIX__ L
Chris Lattnerbceaf862009-10-29 04:55:36 +0000932// X86_64:#define __INT64_TYPE__ long int
933// X86_64:#define __INT8_TYPE__ char
934// X86_64:#define __INTMAX_MAX__ 9223372036854775807L
Ken Dyck8241d732009-11-19 13:18:59 +0000935// X86_64:#define __INTMAX_TYPE__ long int
Ken Dyck186696b2009-11-18 13:52:57 +0000936// X86_64:#define __INTMAX_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000937// X86_64:#define __INTPTR_TYPE__ long int
Ken Dyckd896e1a2009-11-18 20:05:48 +0000938// X86_64:#define __INTPTR_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +0000939// X86_64:#define __INT_MAX__ 2147483647
940// X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
941// X86_64:#define __LDBL_DIG__ 18
942// X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
943// X86_64:#define __LDBL_HAS_DENORM__ 1
944// X86_64:#define __LDBL_HAS_INFINITY__ 1
945// X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
946// X86_64:#define __LDBL_MANT_DIG__ 64
947// X86_64:#define __LDBL_MAX_10_EXP__ 4932
948// X86_64:#define __LDBL_MAX_EXP__ 16384
949// X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
950// X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
951// X86_64:#define __LDBL_MIN_EXP__ (-16381)
952// X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
953// X86_64:#define __LITTLE_ENDIAN__ 1
954// X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
955// X86_64:#define __LONG_MAX__ 9223372036854775807L
956// X86_64:#define __LP64__ 1
957// X86_64:#define __MMX__ 1
958// X86_64:#define __NO_INLINE__ 1
959// X86_64:#define __NO_MATH_INLINES 1
960// X86_64:#define __POINTER_WIDTH__ 64
Ken Dyck8241d732009-11-19 13:18:59 +0000961// X86_64:#define __PTRDIFF_TYPE__ long int
Ken Dyckd00c7512009-11-19 12:21:52 +0000962// X86_64:#define __PTRDIFF_WIDTH__ 64
Chris Lattnerbceaf862009-10-29 04:55:36 +0000963// X86_64:#define __REGISTER_PREFIX__
964// X86_64:#define __SCHAR_MAX__ 127
965// X86_64:#define __SHRT_MAX__ 32767
966// X86_64:#define __SIZE_TYPE__ long unsigned int
967// X86_64:#define __SSE2_MATH__ 1
968// X86_64:#define __SSE2__ 1
969// X86_64:#define __SSE_MATH__ 1
970// X86_64:#define __SSE__ 1
Ken Dyck8241d732009-11-19 13:18:59 +0000971// X86_64:#define __UINTMAX_TYPE__ long unsigned int
Chris Lattnerbceaf862009-10-29 04:55:36 +0000972// X86_64:#define __USER_LABEL_PREFIX__ _
973// X86_64:#define __WCHAR_MAX__ 2147483647
974// X86_64:#define __WCHAR_TYPE__ int
975// X86_64:#define __WINT_TYPE__ int
976// X86_64:#define __amd64 1
977// X86_64:#define __amd64__ 1
978// X86_64:#define __nocona 1
979// X86_64:#define __nocona__ 1
980// X86_64:#define __tune_nocona__ 1
981// X86_64:#define __x86_64 1
982// X86_64:#define __x86_64__ 1
983//