1 // RUN: %clang_cc1 -E -dM -x assembler-with-cpp < /dev/null | FileCheck -check-prefix ASM %s
2 //
3 // ASM:#define __ASSEMBLER__ 1
4 //
5 //
6 // RUN: %clang_cc1 -fblocks -E -dM < /dev/null | FileCheck -check-prefix BLOCKS %s
7 //
8 // BLOCKS:#define __BLOCKS__ 1
9 // BLOCKS:#define __block __attribute__((__blocks__(byref)))
10 //
11 //
12 // RUN: %clang_cc1 -x c++ -std=c++11 -E -dM < /dev/null | FileCheck -check-prefix CXX0X %s
13 //
14 // CXX0X:#define __GNUG__
15 // CXX0X:#define __GXX_EXPERIMENTAL_CXX0X__ 1
16 // CXX0X:#define __GXX_RTTI 1
17 // CXX0X:#define __GXX_WEAK__ 1
18 // CXX0X:#define __cplusplus 201103L
19 // CXX0X:#define __private_extern__ extern
20 //
21 //
22 // RUN: %clang_cc1 -x c++ -std=c++98 -E -dM < /dev/null | FileCheck -check-prefix CXX98 %s
23 //
24 // CXX98:#define __GNUG__
25 // CXX98:#define __GXX_RTTI 1
26 // CXX98:#define __GXX_WEAK__ 1
27 // CXX98:#define __cplusplus 199711L
28 // CXX98:#define __private_extern__ extern
29 //
30 //
31 // RUN: %clang_cc1 -fdeprecated-macro -E -dM < /dev/null | FileCheck -check-prefix DEPRECATED %s
32 //
33 // DEPRECATED:#define __DEPRECATED 1
34 //
35 //
36 // RUN: %clang_cc1 -std=c99 -E -dM < /dev/null | FileCheck -check-prefix C99 %s
37 //
38 // C99:#define __STDC_VERSION__ 199901L
39 // C99:#define __STRICT_ANSI__ 1
40 //
41 //
42 // RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix COMMON %s
43 //
44 // COMMON:#define __CONSTANT_CFSTRINGS__ 1
45 // COMMON:#define __FINITE_MATH_ONLY__ 0
46 // COMMON:#define __GNUC_MINOR__
47 // COMMON:#define __GNUC_PATCHLEVEL__
48 // COMMON:#define __GNUC_STDC_INLINE__ 1
49 // COMMON:#define __GNUC__
50 // COMMON:#define __GXX_ABI_VERSION
51 // COMMON:#define __STDC_HOSTED__ 1
52 // COMMON:#define __STDC_VERSION__
53 // COMMON:#define __STDC__ 1
54 // COMMON:#define __VERSION__
55 // COMMON:#define __clang__ 1
56 // COMMON:#define __clang_major__ {{[0-9]+}}
57 // COMMON:#define __clang_minor__ {{[0-9]+}}
58 // COMMON:#define __clang_patchlevel__ {{[0-9]+}}
59 // COMMON:#define __clang_version__
60 // COMMON:#define __llvm__ 1
61 //
62 //
63 // RUN: %clang_cc1 -ffreestanding -E -dM < /dev/null | FileCheck -check-prefix FREESTANDING %s
64 // FREESTANDING:#define __STDC_HOSTED__ 0
65 //
66 // RUN: %clang_cc1 -x c++ -std=gnu++98 -E -dM < /dev/null | FileCheck -check-prefix GXX98 %s
67 //
68 // GXX98:#define __GNUG__
69 // GXX98:#define __GXX_WEAK__ 1
70 // GXX98:#define __cplusplus 1
71 // GXX98:#define __private_extern__ extern
72 //
73 //
74 // RUN: %clang_cc1 -std=iso9899:199409 -E -dM < /dev/null | FileCheck -check-prefix C94 %s
75 //
76 // C94:#define __STDC_VERSION__ 199409L
77 //
78 //
79 // RUN: %clang_cc1 -fms-extensions -triple i686-pc-win32 -fobjc-fragile-abi -E -dM < /dev/null | FileCheck -check-prefix MSEXT %s
80 //
81 // MSEXT-NOT:#define __STDC__
82 // MSEXT:#define _INTEGRAL_MAX_BITS 64
83 //
84 //
85 // RUN: %clang_cc1 -x objective-c -E -dM < /dev/null | FileCheck -check-prefix OBJC %s
86 //
87 // OBJC:#define OBJC_NEW_PROPERTIES 1
88 // OBJC:#define __NEXT_RUNTIME__ 1
89 // OBJC:#define __OBJC__ 1
90 //
91 //
92 // RUN: %clang_cc1 -x objective-c -fobjc-gc -E -dM < /dev/null | FileCheck -check-prefix OBJCGC %s
93 //
94 // OBJCGC:#define __OBJC_GC__ 1
95 //
96 //
97 // RUN: %clang_cc1 -x objective-c -fobjc-exceptions -E -dM < /dev/null | FileCheck -check-prefix NONFRAGILE %s
98 //
99 // NONFRAGILE:#define OBJC_ZEROCOST_EXCEPTIONS 1
100 // NONFRAGILE:#define __OBJC2__ 1
101 //
102 //
103 // RUN: %clang_cc1 -O1 -E -dM < /dev/null | FileCheck -check-prefix O1 %s
104 //
105 // O1:#define __OPTIMIZE__ 1
106 //
107 //
108 // RUN: %clang_cc1 -fpascal-strings -E -dM < /dev/null | FileCheck -check-prefix PASCAL %s
109 //
110 // PASCAL:#define __PASCAL_STRINGS__ 1
111 //
112 //
113 // RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix SCHAR %s
114 //
115 // SCHAR:#define __STDC__ 1
116 // SCHAR-NOT:#define __UNSIGNED_CHAR__
117 // SCHAR:#define __clang__ 1
118 //
119 // RUN: %clang_cc1 -E -dM -fshort-wchar < /dev/null | FileCheck -check-prefix SHORTWCHAR %s
120 //
121 // SHORTWCHAR: #define __SIZEOF_WCHAR_T__ 2
122 // SHORTWCHAR: #define __WCHAR_MAX__ 65535U
123 // SHORTWCHAR: #define __WCHAR_TYPE__ unsigned short
124 // SHORTWCHAR: #define __WCHAR_WIDTH__ 16
125 //
126 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s
127 //
128 // ARM:#define __APCS_32__ 1
129 // ARM:#define __ARMEL__ 1
130 // ARM:#define __ARM_ARCH_6J__ 1
131 // ARM:#define __CHAR16_TYPE__ unsigned short
132 // ARM:#define __CHAR32_TYPE__ unsigned int
133 // ARM:#define __CHAR_BIT__ 8
134 // ARM:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
135 // ARM:#define __DBL_DIG__ 15
136 // ARM:#define __DBL_EPSILON__ 2.2204460492503131e-16
137 // ARM:#define __DBL_HAS_DENORM__ 1
138 // ARM:#define __DBL_HAS_INFINITY__ 1
139 // ARM:#define __DBL_HAS_QUIET_NAN__ 1
140 // ARM:#define __DBL_MANT_DIG__ 53
141 // ARM:#define __DBL_MAX_10_EXP__ 308
142 // ARM:#define __DBL_MAX_EXP__ 1024
143 // ARM:#define __DBL_MAX__ 1.7976931348623157e+308
144 // ARM:#define __DBL_MIN_10_EXP__ (-307)
145 // ARM:#define __DBL_MIN_EXP__ (-1021)
146 // ARM:#define __DBL_MIN__ 2.2250738585072014e-308
147 // ARM:#define __DECIMAL_DIG__ 17
148 // ARM:#define __FLT_DENORM_MIN__ 1.40129846e-45F
149 // ARM:#define __FLT_DIG__ 6
150 // ARM:#define __FLT_EPSILON__ 1.19209290e-7F
151 // ARM:#define __FLT_EVAL_METHOD__ 0
152 // ARM:#define __FLT_HAS_DENORM__ 1
153 // ARM:#define __FLT_HAS_INFINITY__ 1
154 // ARM:#define __FLT_HAS_QUIET_NAN__ 1
155 // ARM:#define __FLT_MANT_DIG__ 24
156 // ARM:#define __FLT_MAX_10_EXP__ 38
157 // ARM:#define __FLT_MAX_EXP__ 128
158 // ARM:#define __FLT_MAX__ 3.40282347e+38F
159 // ARM:#define __FLT_MIN_10_EXP__ (-37)
160 // ARM:#define __FLT_MIN_EXP__ (-125)
161 // ARM:#define __FLT_MIN__ 1.17549435e-38F
162 // ARM:#define __FLT_RADIX__ 2
163 // ARM:#define __INT16_TYPE__ short
164 // ARM:#define __INT32_TYPE__ int
165 // ARM:#define __INT64_C_SUFFIX__ LL
166 // ARM:#define __INT64_TYPE__ long long int
167 // ARM:#define __INT8_TYPE__ char
168 // ARM:#define __INTMAX_MAX__ 9223372036854775807LL
169 // ARM:#define __INTMAX_TYPE__ long long int
170 // ARM:#define __INTMAX_WIDTH__ 64
171 // ARM:#define __INTPTR_TYPE__ long int
172 // ARM:#define __INTPTR_WIDTH__ 32
173 // ARM:#define __INT_MAX__ 2147483647
174 // ARM:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
175 // ARM:#define __LDBL_DIG__ 15
176 // ARM:#define __LDBL_EPSILON__ 2.2204460492503131e-16
177 // ARM:#define __LDBL_HAS_DENORM__ 1
178 // ARM:#define __LDBL_HAS_INFINITY__ 1
179 // ARM:#define __LDBL_HAS_QUIET_NAN__ 1
180 // ARM:#define __LDBL_MANT_DIG__ 53
181 // ARM:#define __LDBL_MAX_10_EXP__ 308
182 // ARM:#define __LDBL_MAX_EXP__ 1024
183 // ARM:#define __LDBL_MAX__ 1.7976931348623157e+308
184 // ARM:#define __LDBL_MIN_10_EXP__ (-307)
185 // ARM:#define __LDBL_MIN_EXP__ (-1021)
186 // ARM:#define __LDBL_MIN__ 2.2250738585072014e-308
187 // ARM:#define __LITTLE_ENDIAN__ 1
188 // ARM:#define __LONG_LONG_MAX__ 9223372036854775807LL
189 // ARM:#define __LONG_MAX__ 2147483647L
190 // ARM:#define __NO_INLINE__ 1
191 // ARM:#define __POINTER_WIDTH__ 32
192 // ARM:#define __PTRDIFF_TYPE__ int
193 // ARM:#define __PTRDIFF_WIDTH__ 32
194 // ARM:#define __REGISTER_PREFIX__
195 // ARM:#define __SCHAR_MAX__ 127
196 // ARM:#define __SHRT_MAX__ 32767
197 // ARM:#define __SIG_ATOMIC_WIDTH__ 32
198 // ARM:#define __SIZEOF_DOUBLE__ 8
199 // ARM:#define __SIZEOF_FLOAT__ 4
200 // ARM:#define __SIZEOF_INT__ 4
201 // ARM:#define __SIZEOF_LONG_DOUBLE__ 8
202 // ARM:#define __SIZEOF_LONG_LONG__ 8
203 // ARM:#define __SIZEOF_LONG__ 4
204 // ARM:#define __SIZEOF_POINTER__ 4
205 // ARM:#define __SIZEOF_PTRDIFF_T__ 4
206 // ARM:#define __SIZEOF_SHORT__ 2
207 // ARM:#define __SIZEOF_SIZE_T__ 4
208 // ARM:#define __SIZEOF_WCHAR_T__ 4
209 // ARM:#define __SIZEOF_WINT_T__ 4
210 // ARM:#define __SIZE_TYPE__ unsigned int
211 // ARM:#define __SIZE_WIDTH__ 32
212 // ARM:#define __THUMB_INTERWORK__ 1
213 // ARM:#define __UINTMAX_TYPE__ long long unsigned int
214 // ARM:#define __USER_LABEL_PREFIX__ _
215 // ARM:#define __WCHAR_MAX__ 4294967295U
216 // ARM:#define __WCHAR_TYPE__ unsigned int
217 // ARM:#define __WCHAR_WIDTH__ 32
218 // ARM:#define __WINT_TYPE__ int
219 // ARM:#define __WINT_WIDTH__ 32
220 // ARM:#define __arm 1
221 // ARM:#define __arm__ 1
222 //
223 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
224 //
225 // I386:#define __CHAR16_TYPE__ unsigned short
226 // I386:#define __CHAR32_TYPE__ unsigned int
227 // I386:#define __CHAR_BIT__ 8
228 // I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
229 // I386:#define __DBL_DIG__ 15
230 // I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
231 // I386:#define __DBL_HAS_DENORM__ 1
232 // I386:#define __DBL_HAS_INFINITY__ 1
233 // I386:#define __DBL_HAS_QUIET_NAN__ 1
234 // I386:#define __DBL_MANT_DIG__ 53
235 // I386:#define __DBL_MAX_10_EXP__ 308
236 // I386:#define __DBL_MAX_EXP__ 1024
237 // I386:#define __DBL_MAX__ 1.7976931348623157e+308
238 // I386:#define __DBL_MIN_10_EXP__ (-307)
239 // I386:#define __DBL_MIN_EXP__ (-1021)
240 // I386:#define __DBL_MIN__ 2.2250738585072014e-308
241 // I386:#define __DECIMAL_DIG__ 21
242 // I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
243 // I386:#define __FLT_DIG__ 6
244 // I386:#define __FLT_EPSILON__ 1.19209290e-7F
245 // I386:#define __FLT_EVAL_METHOD__ 2
246 // I386:#define __FLT_HAS_DENORM__ 1
247 // I386:#define __FLT_HAS_INFINITY__ 1
248 // I386:#define __FLT_HAS_QUIET_NAN__ 1
249 // I386:#define __FLT_MANT_DIG__ 24
250 // I386:#define __FLT_MAX_10_EXP__ 38
251 // I386:#define __FLT_MAX_EXP__ 128
252 // I386:#define __FLT_MAX__ 3.40282347e+38F
253 // I386:#define __FLT_MIN_10_EXP__ (-37)
254 // I386:#define __FLT_MIN_EXP__ (-125)
255 // I386:#define __FLT_MIN__ 1.17549435e-38F
256 // I386:#define __FLT_RADIX__ 2
257 // I386:#define __INT16_TYPE__ short
258 // I386:#define __INT32_TYPE__ int
259 // I386:#define __INT64_C_SUFFIX__ LL
260 // I386:#define __INT64_TYPE__ long long int
261 // I386:#define __INT8_TYPE__ char
262 // I386:#define __INTMAX_MAX__ 9223372036854775807LL
263 // I386:#define __INTMAX_TYPE__ long long int
264 // I386:#define __INTMAX_WIDTH__ 64
265 // I386:#define __INTPTR_TYPE__ int
266 // I386:#define __INTPTR_WIDTH__ 32
267 // I386:#define __INT_MAX__ 2147483647
268 // I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
269 // I386:#define __LDBL_DIG__ 18
270 // I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
271 // I386:#define __LDBL_HAS_DENORM__ 1
272 // I386:#define __LDBL_HAS_INFINITY__ 1
273 // I386:#define __LDBL_HAS_QUIET_NAN__ 1
274 // I386:#define __LDBL_MANT_DIG__ 64
275 // I386:#define __LDBL_MAX_10_EXP__ 4932
276 // I386:#define __LDBL_MAX_EXP__ 16384
277 // I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
278 // I386:#define __LDBL_MIN_10_EXP__ (-4931)
279 // I386:#define __LDBL_MIN_EXP__ (-16381)
280 // I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
281 // I386:#define __LITTLE_ENDIAN__ 1
282 // I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
283 // I386:#define __LONG_MAX__ 2147483647L
284 // I386:#define __NO_INLINE__ 1
285 // I386:#define __NO_MATH_INLINES 1
286 // I386:#define __POINTER_WIDTH__ 32
287 // I386:#define __PTRDIFF_TYPE__ int
288 // I386:#define __PTRDIFF_WIDTH__ 32
289 // I386:#define __REGISTER_PREFIX__
290 // I386:#define __SCHAR_MAX__ 127
291 // I386:#define __SHRT_MAX__ 32767
292 // I386:#define __SIG_ATOMIC_WIDTH__ 32
293 // I386:#define __SIZEOF_DOUBLE__ 8
294 // I386:#define __SIZEOF_FLOAT__ 4
295 // I386:#define __SIZEOF_INT__ 4
296 // I386:#define __SIZEOF_LONG_DOUBLE__ 12
297 // I386:#define __SIZEOF_LONG_LONG__ 8
298 // I386:#define __SIZEOF_LONG__ 4
299 // I386:#define __SIZEOF_POINTER__ 4
300 // I386:#define __SIZEOF_PTRDIFF_T__ 4
301 // I386:#define __SIZEOF_SHORT__ 2
302 // I386:#define __SIZEOF_SIZE_T__ 4
303 // I386:#define __SIZEOF_WCHAR_T__ 4
304 // I386:#define __SIZEOF_WINT_T__ 4
305 // I386:#define __SIZE_TYPE__ unsigned int
306 // I386:#define __SIZE_WIDTH__ 32
307 // I386:#define __UINTMAX_TYPE__ long long unsigned int
308 // I386:#define __USER_LABEL_PREFIX__ _
309 // I386:#define __WCHAR_MAX__ 2147483647
310 // I386:#define __WCHAR_TYPE__ int
311 // I386:#define __WCHAR_WIDTH__ 32
312 // I386:#define __WINT_TYPE__ int
313 // I386:#define __WINT_WIDTH__ 32
314 // I386:#define __i386 1
315 // I386:#define __i386__ 1
316 // I386:#define i386 1
317 //
318 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-pc-linux-gnu -target-cpu pentium4 < /dev/null | FileCheck -check-prefix I386-LINUX %s
319 //
320 // I386-LINUX:#define __CHAR16_TYPE__ unsigned short
321 // I386-LINUX:#define __CHAR32_TYPE__ unsigned int
322 // I386-LINUX:#define __CHAR_BIT__ 8
323 // I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
324 // I386-LINUX:#define __DBL_DIG__ 15
325 // I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
326 // I386-LINUX:#define __DBL_HAS_DENORM__ 1
327 // I386-LINUX:#define __DBL_HAS_INFINITY__ 1
328 // I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
329 // I386-LINUX:#define __DBL_MANT_DIG__ 53
330 // I386-LINUX:#define __DBL_MAX_10_EXP__ 308
331 // I386-LINUX:#define __DBL_MAX_EXP__ 1024
332 // I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
333 // I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
334 // I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
335 // I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
336 // I386-LINUX:#define __DECIMAL_DIG__ 21
337 // I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
338 // I386-LINUX:#define __FLT_DIG__ 6
339 // I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
340 // I386-LINUX:#define __FLT_EVAL_METHOD__ 0
341 // I386-LINUX:#define __FLT_HAS_DENORM__ 1
342 // I386-LINUX:#define __FLT_HAS_INFINITY__ 1
343 // I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
344 // I386-LINUX:#define __FLT_MANT_DIG__ 24
345 // I386-LINUX:#define __FLT_MAX_10_EXP__ 38
346 // I386-LINUX:#define __FLT_MAX_EXP__ 128
347 // I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
348 // I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
349 // I386-LINUX:#define __FLT_MIN_EXP__ (-125)
350 // I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
351 // I386-LINUX:#define __FLT_RADIX__ 2
352 // I386-LINUX:#define __INT16_TYPE__ short
353 // I386-LINUX:#define __INT32_TYPE__ int
354 // I386-LINUX:#define __INT64_C_SUFFIX__ LL
355 // I386-LINUX:#define __INT64_TYPE__ long long int
356 // I386-LINUX:#define __INT8_TYPE__ char
357 // I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
358 // I386-LINUX:#define __INTMAX_TYPE__ long long int
359 // I386-LINUX:#define __INTMAX_WIDTH__ 64
360 // I386-LINUX:#define __INTPTR_TYPE__ int
361 // I386-LINUX:#define __INTPTR_WIDTH__ 32
362 // I386-LINUX:#define __INT_MAX__ 2147483647
363 // I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
364 // I386-LINUX:#define __LDBL_DIG__ 18
365 // I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
366 // I386-LINUX:#define __LDBL_HAS_DENORM__ 1
367 // I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
368 // I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
369 // I386-LINUX:#define __LDBL_MANT_DIG__ 64
370 // I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
371 // I386-LINUX:#define __LDBL_MAX_EXP__ 16384
372 // I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
373 // I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
374 // I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
375 // I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
376 // I386-LINUX:#define __LITTLE_ENDIAN__ 1
377 // I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
378 // I386-LINUX:#define __LONG_MAX__ 2147483647L
379 // I386-LINUX:#define __NO_INLINE__ 1
380 // I386-LINUX:#define __NO_MATH_INLINES 1
381 // I386-LINUX:#define __POINTER_WIDTH__ 32
382 // I386-LINUX:#define __PTRDIFF_TYPE__ int
383 // I386-LINUX:#define __PTRDIFF_WIDTH__ 32
384 // I386-LINUX:#define __REGISTER_PREFIX__
385 // I386-LINUX:#define __SCHAR_MAX__ 127
386 // I386-LINUX:#define __SHRT_MAX__ 32767
387 // I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
388 // I386-LINUX:#define __SIZEOF_DOUBLE__ 8
389 // I386-LINUX:#define __SIZEOF_FLOAT__ 4
390 // I386-LINUX:#define __SIZEOF_INT__ 4
391 // I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
392 // I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
393 // I386-LINUX:#define __SIZEOF_LONG__ 4
394 // I386-LINUX:#define __SIZEOF_POINTER__ 4
395 // I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
396 // I386-LINUX:#define __SIZEOF_SHORT__ 2
397 // I386-LINUX:#define __SIZEOF_SIZE_T__ 4
398 // I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
399 // I386-LINUX:#define __SIZEOF_WINT_T__ 4
400 // I386-LINUX:#define __SIZE_TYPE__ unsigned int
401 // I386-LINUX:#define __SIZE_WIDTH__ 32
402 // I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
403 // I386-LINUX:#define __USER_LABEL_PREFIX__
404 // I386-LINUX:#define __WCHAR_MAX__ 2147483647
405 // I386-LINUX:#define __WCHAR_TYPE__ int
406 // I386-LINUX:#define __WCHAR_WIDTH__ 32
407 // I386-LINUX:#define __WINT_TYPE__ unsigned int
408 // I386-LINUX:#define __WINT_WIDTH__ 32
409 // I386-LINUX:#define __i386 1
410 // I386-LINUX:#define __i386__ 1
411 // I386-LINUX:#define i386 1
412 //
413 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
414 //
415 // MSP430:#define MSP430 1
416 // MSP430:#define __CHAR16_TYPE__ unsigned short
417 // MSP430:#define __CHAR32_TYPE__ unsigned int
418 // MSP430:#define __CHAR_BIT__ 8
419 // MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
420 // MSP430:#define __DBL_DIG__ 15
421 // MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
422 // MSP430:#define __DBL_HAS_DENORM__ 1
423 // MSP430:#define __DBL_HAS_INFINITY__ 1
424 // MSP430:#define __DBL_HAS_QUIET_NAN__ 1
425 // MSP430:#define __DBL_MANT_DIG__ 53
426 // MSP430:#define __DBL_MAX_10_EXP__ 308
427 // MSP430:#define __DBL_MAX_EXP__ 1024
428 // MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
429 // MSP430:#define __DBL_MIN_10_EXP__ (-307)
430 // MSP430:#define __DBL_MIN_EXP__ (-1021)
431 // MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
432 // MSP430:#define __DECIMAL_DIG__ 17
433 // MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
434 // MSP430:#define __FLT_DIG__ 6
435 // MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
436 // MSP430:#define __FLT_EVAL_METHOD__ 0
437 // MSP430:#define __FLT_HAS_DENORM__ 1
438 // MSP430:#define __FLT_HAS_INFINITY__ 1
439 // MSP430:#define __FLT_HAS_QUIET_NAN__ 1
440 // MSP430:#define __FLT_MANT_DIG__ 24
441 // MSP430:#define __FLT_MAX_10_EXP__ 38
442 // MSP430:#define __FLT_MAX_EXP__ 128
443 // MSP430:#define __FLT_MAX__ 3.40282347e+38F
444 // MSP430:#define __FLT_MIN_10_EXP__ (-37)
445 // MSP430:#define __FLT_MIN_EXP__ (-125)
446 // MSP430:#define __FLT_MIN__ 1.17549435e-38F
447 // MSP430:#define __FLT_RADIX__ 2
448 // MSP430:#define __INT16_TYPE__ short
449 // MSP430:#define __INT32_C_SUFFIX__ L
450 // MSP430:#define __INT32_TYPE__ long int
451 // MSP430:#define __INT8_TYPE__ char
452 // MSP430:#define __INTMAX_MAX__ 2147483647L
453 // MSP430:#define __INTMAX_TYPE__ long int
454 // MSP430:#define __INTMAX_WIDTH__ 32
455 // MSP430:#define __INTPTR_TYPE__ short
456 // MSP430:#define __INTPTR_WIDTH__ 16
457 // MSP430:#define __INT_MAX__ 32767
458 // MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
459 // MSP430:#define __LDBL_DIG__ 15
460 // MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16
461 // MSP430:#define __LDBL_HAS_DENORM__ 1
462 // MSP430:#define __LDBL_HAS_INFINITY__ 1
463 // MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
464 // MSP430:#define __LDBL_MANT_DIG__ 53
465 // MSP430:#define __LDBL_MAX_10_EXP__ 308
466 // MSP430:#define __LDBL_MAX_EXP__ 1024
467 // MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308
468 // MSP430:#define __LDBL_MIN_10_EXP__ (-307)
469 // MSP430:#define __LDBL_MIN_EXP__ (-1021)
470 // MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308
471 // MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
472 // MSP430:#define __LONG_MAX__ 2147483647L
473 // MSP430:#define __MSP430__ 1
474 // MSP430:#define __NO_INLINE__ 1
475 // MSP430:#define __POINTER_WIDTH__ 16
476 // MSP430:#define __PTRDIFF_TYPE__ int
477 // MSP430:#define __PTRDIFF_WIDTH__ 16
478 // MSP430:#define __SCHAR_MAX__ 127
479 // MSP430:#define __SHRT_MAX__ 32767
480 // MSP430:#define __SIG_ATOMIC_WIDTH__ 32
481 // MSP430:#define __SIZEOF_DOUBLE__ 8
482 // MSP430:#define __SIZEOF_FLOAT__ 4
483 // MSP430:#define __SIZEOF_INT__ 2
484 // MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
485 // MSP430:#define __SIZEOF_LONG_LONG__ 8
486 // MSP430:#define __SIZEOF_LONG__ 4
487 // MSP430:#define __SIZEOF_POINTER__ 2
488 // MSP430:#define __SIZEOF_PTRDIFF_T__ 2
489 // MSP430:#define __SIZEOF_SHORT__ 2
490 // MSP430:#define __SIZEOF_SIZE_T__ 2
491 // MSP430:#define __SIZEOF_WCHAR_T__ 2
492 // MSP430:#define __SIZEOF_WINT_T__ 2
493 // MSP430:#define __SIZE_TYPE__ unsigned int
494 // MSP430:#define __SIZE_WIDTH__ 16
495 // MSP430:#define __UINTMAX_TYPE__ long unsigned int
496 // MSP430:#define __USER_LABEL_PREFIX__ _
497 // MSP430:#define __WCHAR_MAX__ 32767
498 // MSP430:#define __WCHAR_TYPE__ int
499 // MSP430:#define __WCHAR_WIDTH__ 16
500 // MSP430:#define __WINT_TYPE__ int
501 // MSP430:#define __WINT_WIDTH__ 16
502 // MSP430:#define __clang__ 1
503 //
504 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64 %s
505 //
506 // PPC64:#define _ARCH_PPC 1
507 // PPC64:#define _ARCH_PPC64 1
508 // PPC64:#define _BIG_ENDIAN 1
509 // PPC64:#define _LP64 1
510 // PPC64:#define __BIG_ENDIAN__ 1
511 // PPC64:#define __CHAR16_TYPE__ unsigned short
512 // PPC64:#define __CHAR32_TYPE__ unsigned int
513 // PPC64:#define __CHAR_BIT__ 8
514 // PPC64:#define __CHAR_UNSIGNED__ 1
515 // PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
516 // PPC64:#define __DBL_DIG__ 15
517 // PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
518 // PPC64:#define __DBL_HAS_DENORM__ 1
519 // PPC64:#define __DBL_HAS_INFINITY__ 1
520 // PPC64:#define __DBL_HAS_QUIET_NAN__ 1
521 // PPC64:#define __DBL_MANT_DIG__ 53
522 // PPC64:#define __DBL_MAX_10_EXP__ 308
523 // PPC64:#define __DBL_MAX_EXP__ 1024
524 // PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
525 // PPC64:#define __DBL_MIN_10_EXP__ (-307)
526 // PPC64:#define __DBL_MIN_EXP__ (-1021)
527 // PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
528 // PPC64:#define __DECIMAL_DIG__ 17
529 // PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
530 // PPC64:#define __FLT_DIG__ 6
531 // PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
532 // PPC64:#define __FLT_EVAL_METHOD__ 0
533 // PPC64:#define __FLT_HAS_DENORM__ 1
534 // PPC64:#define __FLT_HAS_INFINITY__ 1
535 // PPC64:#define __FLT_HAS_QUIET_NAN__ 1
536 // PPC64:#define __FLT_MANT_DIG__ 24
537 // PPC64:#define __FLT_MAX_10_EXP__ 38
538 // PPC64:#define __FLT_MAX_EXP__ 128
539 // PPC64:#define __FLT_MAX__ 3.40282347e+38F
540 // PPC64:#define __FLT_MIN_10_EXP__ (-37)
541 // PPC64:#define __FLT_MIN_EXP__ (-125)
542 // PPC64:#define __FLT_MIN__ 1.17549435e-38F
543 // PPC64:#define __FLT_RADIX__ 2
544 // PPC64:#define __INT16_TYPE__ short
545 // PPC64:#define __INT32_TYPE__ int
546 // PPC64:#define __INT64_C_SUFFIX__ L
547 // PPC64:#define __INT64_TYPE__ long int
548 // PPC64:#define __INT8_TYPE__ char
549 // PPC64:#define __INTMAX_MAX__ 9223372036854775807L
550 // PPC64:#define __INTMAX_TYPE__ long int
551 // PPC64:#define __INTMAX_WIDTH__ 64
552 // PPC64:#define __INTPTR_TYPE__ long int
553 // PPC64:#define __INTPTR_WIDTH__ 64
554 // PPC64:#define __INT_MAX__ 2147483647
555 // PPC64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
556 // PPC64:#define __LDBL_DIG__ 15
557 // PPC64:#define __LDBL_EPSILON__ 2.2204460492503131e-16
558 // PPC64:#define __LDBL_HAS_DENORM__ 1
559 // PPC64:#define __LDBL_HAS_INFINITY__ 1
560 // PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
561 // PPC64:#define __LDBL_MANT_DIG__ 53
562 // PPC64:#define __LDBL_MAX_10_EXP__ 308
563 // PPC64:#define __LDBL_MAX_EXP__ 1024
564 // PPC64:#define __LDBL_MAX__ 1.7976931348623157e+308
565 // PPC64:#define __LDBL_MIN_10_EXP__ (-307)
566 // PPC64:#define __LDBL_MIN_EXP__ (-1021)
567 // PPC64:#define __LDBL_MIN__ 2.2250738585072014e-308
568 // PPC64:#define __LONG_DOUBLE_128__ 1
569 // PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
570 // PPC64:#define __LONG_MAX__ 9223372036854775807L
571 // PPC64:#define __LP64__ 1
572 // PPC64:#define __NATURAL_ALIGNMENT__ 1
573 // PPC64:#define __NO_INLINE__ 1
574 // PPC64:#define __POINTER_WIDTH__ 64
575 // PPC64:#define __POWERPC__ 1
576 // PPC64:#define __PTRDIFF_TYPE__ long int
577 // PPC64:#define __PTRDIFF_WIDTH__ 64
578 // PPC64:#define __REGISTER_PREFIX__
579 // PPC64:#define __SCHAR_MAX__ 127
580 // PPC64:#define __SHRT_MAX__ 32767
581 // PPC64:#define __SIG_ATOMIC_WIDTH__ 32
582 // PPC64:#define __SIZEOF_DOUBLE__ 8
583 // PPC64:#define __SIZEOF_FLOAT__ 4
584 // PPC64:#define __SIZEOF_INT__ 4
585 // PPC64:#define __SIZEOF_LONG_DOUBLE__ 8
586 // PPC64:#define __SIZEOF_LONG_LONG__ 8
587 // PPC64:#define __SIZEOF_LONG__ 8
588 // PPC64:#define __SIZEOF_POINTER__ 8
589 // PPC64:#define __SIZEOF_PTRDIFF_T__ 8
590 // PPC64:#define __SIZEOF_SHORT__ 2
591 // PPC64:#define __SIZEOF_SIZE_T__ 8
592 // PPC64:#define __SIZEOF_WCHAR_T__ 4
593 // PPC64:#define __SIZEOF_WINT_T__ 4
594 // PPC64:#define __SIZE_TYPE__ long unsigned int
595 // PPC64:#define __SIZE_WIDTH__ 64
596 // PPC64:#define __UINTMAX_TYPE__ long unsigned int
597 // PPC64:#define __USER_LABEL_PREFIX__ _
598 // PPC64:#define __WCHAR_MAX__ 2147483647
599 // PPC64:#define __WCHAR_TYPE__ int
600 // PPC64:#define __WCHAR_WIDTH__ 32
601 // PPC64:#define __WINT_TYPE__ int
602 // PPC64:#define __WINT_WIDTH__ 32
603 // PPC64:#define __ppc64__ 1
604 // PPC64:#define __ppc__ 1
605 //
606 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix PPC %s
607 //
608 // PPC:#define _ARCH_PPC 1
609 // PPC:#define _BIG_ENDIAN 1
610 // PPC:#define __BIG_ENDIAN__ 1
611 // PPC:#define __CHAR16_TYPE__ unsigned short
612 // PPC:#define __CHAR32_TYPE__ unsigned int
613 // PPC:#define __CHAR_BIT__ 8
614 // PPC:#define __CHAR_UNSIGNED__ 1
615 // PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
616 // PPC:#define __DBL_DIG__ 15
617 // PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
618 // PPC:#define __DBL_HAS_DENORM__ 1
619 // PPC:#define __DBL_HAS_INFINITY__ 1
620 // PPC:#define __DBL_HAS_QUIET_NAN__ 1
621 // PPC:#define __DBL_MANT_DIG__ 53
622 // PPC:#define __DBL_MAX_10_EXP__ 308
623 // PPC:#define __DBL_MAX_EXP__ 1024
624 // PPC:#define __DBL_MAX__ 1.7976931348623157e+308
625 // PPC:#define __DBL_MIN_10_EXP__ (-307)
626 // PPC:#define __DBL_MIN_EXP__ (-1021)
627 // PPC:#define __DBL_MIN__ 2.2250738585072014e-308
628 // PPC:#define __DECIMAL_DIG__ 17
629 // PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
630 // PPC:#define __FLT_DIG__ 6
631 // PPC:#define __FLT_EPSILON__ 1.19209290e-7F
632 // PPC:#define __FLT_EVAL_METHOD__ 0
633 // PPC:#define __FLT_HAS_DENORM__ 1
634 // PPC:#define __FLT_HAS_INFINITY__ 1
635 // PPC:#define __FLT_HAS_QUIET_NAN__ 1
636 // PPC:#define __FLT_MANT_DIG__ 24
637 // PPC:#define __FLT_MAX_10_EXP__ 38
638 // PPC:#define __FLT_MAX_EXP__ 128
639 // PPC:#define __FLT_MAX__ 3.40282347e+38F
640 // PPC:#define __FLT_MIN_10_EXP__ (-37)
641 // PPC:#define __FLT_MIN_EXP__ (-125)
642 // PPC:#define __FLT_MIN__ 1.17549435e-38F
643 // PPC:#define __FLT_RADIX__ 2
644 // PPC:#define __INT16_TYPE__ short
645 // PPC:#define __INT32_TYPE__ int
646 // PPC:#define __INT64_C_SUFFIX__ LL
647 // PPC:#define __INT64_TYPE__ long long int
648 // PPC:#define __INT8_TYPE__ char
649 // PPC:#define __INTMAX_MAX__ 9223372036854775807LL
650 // PPC:#define __INTMAX_TYPE__ long long int
651 // PPC:#define __INTMAX_WIDTH__ 64
652 // PPC:#define __INTPTR_TYPE__ long int
653 // PPC:#define __INTPTR_WIDTH__ 32
654 // PPC:#define __INT_MAX__ 2147483647
655 // PPC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
656 // PPC:#define __LDBL_DIG__ 15
657 // PPC:#define __LDBL_EPSILON__ 2.2204460492503131e-16
658 // PPC:#define __LDBL_HAS_DENORM__ 1
659 // PPC:#define __LDBL_HAS_INFINITY__ 1
660 // PPC:#define __LDBL_HAS_QUIET_NAN__ 1
661 // PPC:#define __LDBL_MANT_DIG__ 53
662 // PPC:#define __LDBL_MAX_10_EXP__ 308
663 // PPC:#define __LDBL_MAX_EXP__ 1024
664 // PPC:#define __LDBL_MAX__ 1.7976931348623157e+308
665 // PPC:#define __LDBL_MIN_10_EXP__ (-307)
666 // PPC:#define __LDBL_MIN_EXP__ (-1021)
667 // PPC:#define __LDBL_MIN__ 2.2250738585072014e-308
668 // PPC:#define __LONG_DOUBLE_128__ 1
669 // PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
670 // PPC:#define __LONG_MAX__ 2147483647L
671 // PPC:#define __NATURAL_ALIGNMENT__ 1
672 // PPC:#define __NO_INLINE__ 1
673 // PPC:#define __POINTER_WIDTH__ 32
674 // PPC:#define __POWERPC__ 1
675 // PPC:#define __PTRDIFF_TYPE__ long int
676 // PPC:#define __PTRDIFF_WIDTH__ 32
677 // PPC:#define __REGISTER_PREFIX__
678 // PPC:#define __SCHAR_MAX__ 127
679 // PPC:#define __SHRT_MAX__ 32767
680 // PPC:#define __SIG_ATOMIC_WIDTH__ 32
681 // PPC:#define __SIZEOF_DOUBLE__ 8
682 // PPC:#define __SIZEOF_FLOAT__ 4
683 // PPC:#define __SIZEOF_INT__ 4
684 // PPC:#define __SIZEOF_LONG_DOUBLE__ 8
685 // PPC:#define __SIZEOF_LONG_LONG__ 8
686 // PPC:#define __SIZEOF_LONG__ 4
687 // PPC:#define __SIZEOF_POINTER__ 4
688 // PPC:#define __SIZEOF_PTRDIFF_T__ 4
689 // PPC:#define __SIZEOF_SHORT__ 2
690 // PPC:#define __SIZEOF_SIZE_T__ 4
691 // PPC:#define __SIZEOF_WCHAR_T__ 4
692 // PPC:#define __SIZEOF_WINT_T__ 4
693 // PPC:#define __SIZE_TYPE__ long unsigned int
694 // PPC:#define __SIZE_WIDTH__ 32
695 // PPC:#define __UINTMAX_TYPE__ long long unsigned int
696 // PPC:#define __USER_LABEL_PREFIX__ _
697 // PPC:#define __WCHAR_MAX__ 2147483647
698 // PPC:#define __WCHAR_TYPE__ int
699 // PPC:#define __WCHAR_WIDTH__ 32
700 // PPC:#define __WINT_TYPE__ int
701 // PPC:#define __WINT_WIDTH__ 32
702 // PPC:#define __ppc__ 1
703 //
704 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
705 //
706 // SPARC:#define __CHAR16_TYPE__ unsigned short
707 // SPARC:#define __CHAR32_TYPE__ unsigned int
708 // SPARC:#define __CHAR_BIT__ 8
709 // SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
710 // SPARC:#define __DBL_DIG__ 15
711 // SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
712 // SPARC:#define __DBL_HAS_DENORM__ 1
713 // SPARC:#define __DBL_HAS_INFINITY__ 1
714 // SPARC:#define __DBL_HAS_QUIET_NAN__ 1
715 // SPARC:#define __DBL_MANT_DIG__ 53
716 // SPARC:#define __DBL_MAX_10_EXP__ 308
717 // SPARC:#define __DBL_MAX_EXP__ 1024
718 // SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
719 // SPARC:#define __DBL_MIN_10_EXP__ (-307)
720 // SPARC:#define __DBL_MIN_EXP__ (-1021)
721 // SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
722 // SPARC:#define __DECIMAL_DIG__ 17
723 // SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
724 // SPARC:#define __FLT_DIG__ 6
725 // SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
726 // SPARC:#define __FLT_EVAL_METHOD__ 0
727 // SPARC:#define __FLT_HAS_DENORM__ 1
728 // SPARC:#define __FLT_HAS_INFINITY__ 1
729 // SPARC:#define __FLT_HAS_QUIET_NAN__ 1
730 // SPARC:#define __FLT_MANT_DIG__ 24
731 // SPARC:#define __FLT_MAX_10_EXP__ 38
732 // SPARC:#define __FLT_MAX_EXP__ 128
733 // SPARC:#define __FLT_MAX__ 3.40282347e+38F
734 // SPARC:#define __FLT_MIN_10_EXP__ (-37)
735 // SPARC:#define __FLT_MIN_EXP__ (-125)
736 // SPARC:#define __FLT_MIN__ 1.17549435e-38F
737 // SPARC:#define __FLT_RADIX__ 2
738 // SPARC:#define __INT16_TYPE__ short
739 // SPARC:#define __INT32_TYPE__ int
740 // SPARC:#define __INT64_C_SUFFIX__ LL
741 // SPARC:#define __INT64_TYPE__ long long int
742 // SPARC:#define __INT8_TYPE__ char
743 // SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
744 // SPARC:#define __INTMAX_TYPE__ long long int
745 // SPARC:#define __INTMAX_WIDTH__ 64
746 // SPARC:#define __INTPTR_TYPE__ long int
747 // SPARC:#define __INTPTR_WIDTH__ 32
748 // SPARC:#define __INT_MAX__ 2147483647
749 // SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
750 // SPARC:#define __LDBL_DIG__ 15
751 // SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16
752 // SPARC:#define __LDBL_HAS_DENORM__ 1
753 // SPARC:#define __LDBL_HAS_INFINITY__ 1
754 // SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
755 // SPARC:#define __LDBL_MANT_DIG__ 53
756 // SPARC:#define __LDBL_MAX_10_EXP__ 308
757 // SPARC:#define __LDBL_MAX_EXP__ 1024
758 // SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308
759 // SPARC:#define __LDBL_MIN_10_EXP__ (-307)
760 // SPARC:#define __LDBL_MIN_EXP__ (-1021)
761 // SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308
762 // SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
763 // SPARC:#define __LONG_MAX__ 2147483647L
764 // SPARC:#define __NO_INLINE__ 1
765 // SPARC:#define __POINTER_WIDTH__ 32
766 // SPARC:#define __PTRDIFF_TYPE__ long int
767 // SPARC:#define __PTRDIFF_WIDTH__ 32
768 // SPARC:#define __REGISTER_PREFIX__
769 // SPARC:#define __SCHAR_MAX__ 127
770 // SPARC:#define __SHRT_MAX__ 32767
771 // SPARC:#define __SIG_ATOMIC_WIDTH__ 32
772 // SPARC:#define __SIZEOF_DOUBLE__ 8
773 // SPARC:#define __SIZEOF_FLOAT__ 4
774 // SPARC:#define __SIZEOF_INT__ 4
775 // SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
776 // SPARC:#define __SIZEOF_LONG_LONG__ 8
777 // SPARC:#define __SIZEOF_LONG__ 4
778 // SPARC:#define __SIZEOF_POINTER__ 4
779 // SPARC:#define __SIZEOF_PTRDIFF_T__ 4
780 // SPARC:#define __SIZEOF_SHORT__ 2
781 // SPARC:#define __SIZEOF_SIZE_T__ 4
782 // SPARC:#define __SIZEOF_WCHAR_T__ 4
783 // SPARC:#define __SIZEOF_WINT_T__ 4
784 // SPARC:#define __SIZE_TYPE__ long unsigned int
785 // SPARC:#define __SIZE_WIDTH__ 32
786 // SPARC:#define __UINTMAX_TYPE__ long long unsigned int
787 // SPARC:#define __USER_LABEL_PREFIX__ _
788 // SPARC:#define __VERSION__ "4.2.1 Compatible
789 // SPARC:#define __WCHAR_MAX__ 2147483647
790 // SPARC:#define __WCHAR_TYPE__ int
791 // SPARC:#define __WCHAR_WIDTH__ 32
792 // SPARC:#define __WINT_TYPE__ int
793 // SPARC:#define __WINT_WIDTH__ 32
794 // SPARC:#define __sparc 1
795 // SPARC:#define __sparc__ 1
796 // SPARC:#define __sparcv8 1
797 // SPARC:#define sparc 1
798 //
799 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
800 //
801 // TCE:#define __CHAR16_TYPE__ unsigned short
802 // TCE:#define __CHAR32_TYPE__ unsigned int
803 // TCE:#define __CHAR_BIT__ 8
804 // TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45F
805 // TCE:#define __DBL_DIG__ 6
806 // TCE:#define __DBL_EPSILON__ 1.19209290e-7F
807 // TCE:#define __DBL_HAS_DENORM__ 1
808 // TCE:#define __DBL_HAS_INFINITY__ 1
809 // TCE:#define __DBL_HAS_QUIET_NAN__ 1
810 // TCE:#define __DBL_MANT_DIG__ 24
811 // TCE:#define __DBL_MAX_10_EXP__ 38
812 // TCE:#define __DBL_MAX_EXP__ 128
813 // TCE:#define __DBL_MAX__ 3.40282347e+38F
814 // TCE:#define __DBL_MIN_10_EXP__ (-37)
815 // TCE:#define __DBL_MIN_EXP__ (-125)
816 // TCE:#define __DBL_MIN__ 1.17549435e-38F
817 // TCE:#define __DECIMAL_DIG__ -1
818 // TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
819 // TCE:#define __FLT_DIG__ 6
820 // TCE:#define __FLT_EPSILON__ 1.19209290e-7F
821 // TCE:#define __FLT_EVAL_METHOD__ 0
822 // TCE:#define __FLT_HAS_DENORM__ 1
823 // TCE:#define __FLT_HAS_INFINITY__ 1
824 // TCE:#define __FLT_HAS_QUIET_NAN__ 1
825 // TCE:#define __FLT_MANT_DIG__ 24
826 // TCE:#define __FLT_MAX_10_EXP__ 38
827 // TCE:#define __FLT_MAX_EXP__ 128
828 // TCE:#define __FLT_MAX__ 3.40282347e+38F
829 // TCE:#define __FLT_MIN_10_EXP__ (-37)
830 // TCE:#define __FLT_MIN_EXP__ (-125)
831 // TCE:#define __FLT_MIN__ 1.17549435e-38F
832 // TCE:#define __FLT_RADIX__ 2
833 // TCE:#define __INT16_TYPE__ short
834 // TCE:#define __INT32_TYPE__ int
835 // TCE:#define __INT8_TYPE__ char
836 // TCE:#define __INTMAX_MAX__ 2147483647L
837 // TCE:#define __INTMAX_TYPE__ long int
838 // TCE:#define __INTMAX_WIDTH__ 32
839 // TCE:#define __INTPTR_TYPE__ int
840 // TCE:#define __INTPTR_WIDTH__ 32
841 // TCE:#define __INT_MAX__ 2147483647
842 // TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45F
843 // TCE:#define __LDBL_DIG__ 6
844 // TCE:#define __LDBL_EPSILON__ 1.19209290e-7F
845 // TCE:#define __LDBL_HAS_DENORM__ 1
846 // TCE:#define __LDBL_HAS_INFINITY__ 1
847 // TCE:#define __LDBL_HAS_QUIET_NAN__ 1
848 // TCE:#define __LDBL_MANT_DIG__ 24
849 // TCE:#define __LDBL_MAX_10_EXP__ 38
850 // TCE:#define __LDBL_MAX_EXP__ 128
851 // TCE:#define __LDBL_MAX__ 3.40282347e+38F
852 // TCE:#define __LDBL_MIN_10_EXP__ (-37)
853 // TCE:#define __LDBL_MIN_EXP__ (-125)
854 // TCE:#define __LDBL_MIN__ 1.17549435e-38F
855 // TCE:#define __LONG_LONG_MAX__ 2147483647LL
856 // TCE:#define __LONG_MAX__ 2147483647L
857 // TCE:#define __NO_INLINE__ 1
858 // TCE:#define __POINTER_WIDTH__ 32
859 // TCE:#define __PTRDIFF_TYPE__ int
860 // TCE:#define __PTRDIFF_WIDTH__ 32
861 // TCE:#define __SCHAR_MAX__ 127
862 // TCE:#define __SHRT_MAX__ 32767
863 // TCE:#define __SIG_ATOMIC_WIDTH__ 32
864 // TCE:#define __SIZEOF_DOUBLE__ 4
865 // TCE:#define __SIZEOF_FLOAT__ 4
866 // TCE:#define __SIZEOF_INT__ 4
867 // TCE:#define __SIZEOF_LONG_DOUBLE__ 4
868 // TCE:#define __SIZEOF_LONG_LONG__ 4
869 // TCE:#define __SIZEOF_LONG__ 4
870 // TCE:#define __SIZEOF_POINTER__ 4
871 // TCE:#define __SIZEOF_PTRDIFF_T__ 4
872 // TCE:#define __SIZEOF_SHORT__ 2
873 // TCE:#define __SIZEOF_SIZE_T__ 4
874 // TCE:#define __SIZEOF_WCHAR_T__ 4
875 // TCE:#define __SIZEOF_WINT_T__ 4
876 // TCE:#define __SIZE_TYPE__ unsigned int
877 // TCE:#define __SIZE_WIDTH__ 32
878 // TCE:#define __TCE_V1__ 1
879 // TCE:#define __TCE__ 1
880 // TCE:#define __UINTMAX_TYPE__ long unsigned int
881 // TCE:#define __USER_LABEL_PREFIX__ _
882 // TCE:#define __WCHAR_MAX__ 2147483647
883 // TCE:#define __WCHAR_TYPE__ int
884 // TCE:#define __WCHAR_WIDTH__ 32
885 // TCE:#define __WINT_TYPE__ int
886 // TCE:#define __WINT_WIDTH__ 32
887 // TCE:#define __tce 1
888 // TCE:#define __tce__ 1
889 // TCE:#define tce 1
890 //
891 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-none-none < /dev/null | FileCheck -check-prefix X86_64 %s
892 //
893 // X86_64:#define _LP64 1
894 // X86_64:#define __CHAR16_TYPE__ unsigned short
895 // X86_64:#define __CHAR32_TYPE__ unsigned int
896 // X86_64:#define __CHAR_BIT__ 8
897 // X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
898 // X86_64:#define __DBL_DIG__ 15
899 // X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
900 // X86_64:#define __DBL_HAS_DENORM__ 1
901 // X86_64:#define __DBL_HAS_INFINITY__ 1
902 // X86_64:#define __DBL_HAS_QUIET_NAN__ 1
903 // X86_64:#define __DBL_MANT_DIG__ 53
904 // X86_64:#define __DBL_MAX_10_EXP__ 308
905 // X86_64:#define __DBL_MAX_EXP__ 1024
906 // X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
907 // X86_64:#define __DBL_MIN_10_EXP__ (-307)
908 // X86_64:#define __DBL_MIN_EXP__ (-1021)
909 // X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
910 // X86_64:#define __DECIMAL_DIG__ 21
911 // X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
912 // X86_64:#define __FLT_DIG__ 6
913 // X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
914 // X86_64:#define __FLT_EVAL_METHOD__ 0
915 // X86_64:#define __FLT_HAS_DENORM__ 1
916 // X86_64:#define __FLT_HAS_INFINITY__ 1
917 // X86_64:#define __FLT_HAS_QUIET_NAN__ 1
918 // X86_64:#define __FLT_MANT_DIG__ 24
919 // X86_64:#define __FLT_MAX_10_EXP__ 38
920 // X86_64:#define __FLT_MAX_EXP__ 128
921 // X86_64:#define __FLT_MAX__ 3.40282347e+38F
922 // X86_64:#define __FLT_MIN_10_EXP__ (-37)
923 // X86_64:#define __FLT_MIN_EXP__ (-125)
924 // X86_64:#define __FLT_MIN__ 1.17549435e-38F
925 // X86_64:#define __FLT_RADIX__ 2
926 // X86_64:#define __INT16_TYPE__ short
927 // X86_64:#define __INT32_TYPE__ int
928 // X86_64:#define __INT64_C_SUFFIX__ L
929 // X86_64:#define __INT64_TYPE__ long int
930 // X86_64:#define __INT8_TYPE__ char
931 // X86_64:#define __INTMAX_MAX__ 9223372036854775807L
932 // X86_64:#define __INTMAX_TYPE__ long int
933 // X86_64:#define __INTMAX_WIDTH__ 64
934 // X86_64:#define __INTPTR_TYPE__ long int
935 // X86_64:#define __INTPTR_WIDTH__ 64
936 // X86_64:#define __INT_MAX__ 2147483647
937 // X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
938 // X86_64:#define __LDBL_DIG__ 18
939 // X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
940 // X86_64:#define __LDBL_HAS_DENORM__ 1
941 // X86_64:#define __LDBL_HAS_INFINITY__ 1
942 // X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
943 // X86_64:#define __LDBL_MANT_DIG__ 64
944 // X86_64:#define __LDBL_MAX_10_EXP__ 4932
945 // X86_64:#define __LDBL_MAX_EXP__ 16384
946 // X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
947 // X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
948 // X86_64:#define __LDBL_MIN_EXP__ (-16381)
949 // X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
950 // X86_64:#define __LITTLE_ENDIAN__ 1
951 // X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
952 // X86_64:#define __LONG_MAX__ 9223372036854775807L
953 // X86_64:#define __LP64__ 1
954 // X86_64:#define __MMX__ 1
955 // X86_64:#define __NO_INLINE__ 1
956 // X86_64:#define __NO_MATH_INLINES 1
957 // X86_64:#define __POINTER_WIDTH__ 64
958 // X86_64:#define __PTRDIFF_TYPE__ long int
959 // X86_64:#define __PTRDIFF_WIDTH__ 64
960 // X86_64:#define __REGISTER_PREFIX__
961 // X86_64:#define __SCHAR_MAX__ 127
962 // X86_64:#define __SHRT_MAX__ 32767
963 // X86_64:#define __SIG_ATOMIC_WIDTH__ 32
964 // X86_64:#define __SIZEOF_DOUBLE__ 8
965 // X86_64:#define __SIZEOF_FLOAT__ 4
966 // X86_64:#define __SIZEOF_INT__ 4
967 // X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
968 // X86_64:#define __SIZEOF_LONG_LONG__ 8
969 // X86_64:#define __SIZEOF_LONG__ 8
970 // X86_64:#define __SIZEOF_POINTER__ 8
971 // X86_64:#define __SIZEOF_PTRDIFF_T__ 8
972 // X86_64:#define __SIZEOF_SHORT__ 2
973 // X86_64:#define __SIZEOF_SIZE_T__ 8
974 // X86_64:#define __SIZEOF_WCHAR_T__ 4
975 // X86_64:#define __SIZEOF_WINT_T__ 4
976 // X86_64:#define __SIZE_TYPE__ long unsigned int
977 // X86_64:#define __SIZE_WIDTH__ 64
978 // X86_64:#define __SSE2_MATH__ 1
979 // X86_64:#define __SSE2__ 1
980 // X86_64:#define __SSE_MATH__ 1
981 // X86_64:#define __SSE__ 1
982 // X86_64:#define __UINTMAX_TYPE__ long unsigned int
983 // X86_64:#define __USER_LABEL_PREFIX__ _
984 // X86_64:#define __WCHAR_MAX__ 2147483647
985 // X86_64:#define __WCHAR_TYPE__ int
986 // X86_64:#define __WCHAR_WIDTH__ 32
987 // X86_64:#define __WINT_TYPE__ int
988 // X86_64:#define __WINT_WIDTH__ 32
989 // X86_64:#define __amd64 1
990 // X86_64:#define __amd64__ 1
991 // X86_64:#define __x86_64 1
992 // X86_64:#define __x86_64__ 1
993 //
994 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
995 //
996 // X86_64-LINUX:#define _LP64 1
997 // X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
998 // X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
999 // X86_64-LINUX:#define __CHAR_BIT__ 8
1000 // X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1001 // X86_64-LINUX:#define __DBL_DIG__ 15
1002 // X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
1003 // X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
1004 // X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
1005 // X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
1006 // X86_64-LINUX:#define __DBL_MANT_DIG__ 53
1007 // X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
1008 // X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
1009 // X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
1010 // X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
1011 // X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
1012 // X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
1013 // X86_64-LINUX:#define __DECIMAL_DIG__ 21
1014 // X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1015 // X86_64-LINUX:#define __FLT_DIG__ 6
1016 // X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
1017 // X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
1018 // X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
1019 // X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
1020 // X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
1021 // X86_64-LINUX:#define __FLT_MANT_DIG__ 24
1022 // X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
1023 // X86_64-LINUX:#define __FLT_MAX_EXP__ 128
1024 // X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
1025 // X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
1026 // X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
1027 // X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
1028 // X86_64-LINUX:#define __FLT_RADIX__ 2
1029 // X86_64-LINUX:#define __INT16_TYPE__ short
1030 // X86_64-LINUX:#define __INT32_TYPE__ int
1031 // X86_64-LINUX:#define __INT64_C_SUFFIX__ L
1032 // X86_64-LINUX:#define __INT64_TYPE__ long int
1033 // X86_64-LINUX:#define __INT8_TYPE__ char
1034 // X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
1035 // X86_64-LINUX:#define __INTMAX_TYPE__ long int
1036 // X86_64-LINUX:#define __INTMAX_WIDTH__ 64
1037 // X86_64-LINUX:#define __INTPTR_TYPE__ long int
1038 // X86_64-LINUX:#define __INTPTR_WIDTH__ 64
1039 // X86_64-LINUX:#define __INT_MAX__ 2147483647
1040 // X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1041 // X86_64-LINUX:#define __LDBL_DIG__ 18
1042 // X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1043 // X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
1044 // X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
1045 // X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
1046 // X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
1047 // X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
1048 // X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
1049 // X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1050 // X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
1051 // X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
1052 // X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1053 // X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
1054 // X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
1055 // X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
1056 // X86_64-LINUX:#define __LP64__ 1
1057 // X86_64-LINUX:#define __MMX__ 1
1058 // X86_64-LINUX:#define __NO_INLINE__ 1
1059 // X86_64-LINUX:#define __NO_MATH_INLINES 1
1060 // X86_64-LINUX:#define __POINTER_WIDTH__ 64
1061 // X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
1062 // X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
1063 // X86_64-LINUX:#define __REGISTER_PREFIX__
1064 // X86_64-LINUX:#define __SCHAR_MAX__ 127
1065 // X86_64-LINUX:#define __SHRT_MAX__ 32767
1066 // X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
1067 // X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
1068 // X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
1069 // X86_64-LINUX:#define __SIZEOF_INT__ 4
1070 // X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
1071 // X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
1072 // X86_64-LINUX:#define __SIZEOF_LONG__ 8
1073 // X86_64-LINUX:#define __SIZEOF_POINTER__ 8
1074 // X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
1075 // X86_64-LINUX:#define __SIZEOF_SHORT__ 2
1076 // X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
1077 // X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
1078 // X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
1079 // X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
1080 // X86_64-LINUX:#define __SIZE_WIDTH__ 64
1081 // X86_64-LINUX:#define __SSE2_MATH__ 1
1082 // X86_64-LINUX:#define __SSE2__ 1
1083 // X86_64-LINUX:#define __SSE_MATH__ 1
1084 // X86_64-LINUX:#define __SSE__ 1
1085 // X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
1086 // X86_64-LINUX:#define __USER_LABEL_PREFIX__
1087 // X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
1088 // X86_64-LINUX:#define __WCHAR_TYPE__ int
1089 // X86_64-LINUX:#define __WCHAR_WIDTH__ 32
1090 // X86_64-LINUX:#define __WINT_TYPE__ unsigned int
1091 // X86_64-LINUX:#define __WINT_WIDTH__ 32
1092 // X86_64-LINUX:#define __amd64 1
1093 // X86_64-LINUX:#define __amd64__ 1
1094 // X86_64-LINUX:#define __x86_64 1
1095 // X86_64-LINUX:#define __x86_64__ 1
1096 //
1097 // RUN: %clang_cc1 -x c++ -triple i686-pc-linux-gnu -fobjc-fragile-abi -E -dM < /dev/null | FileCheck -check-prefix GNUSOURCE %s
1098 // GNUSOURCE:#define _GNU_SOURCE 1
1099 //
1100 // RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
1101 // NORTTI: __GXX_ABI_VERSION
1102 // NORTTI-NOT:#define __GXX_RTTI
1103 // NORTTI: __STDC__
1104