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__ 33
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.94065645841246544176568792868221e-324L
556 // PPC64:#define __LDBL_DIG__ 31
557 // PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
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__ 106
562 // PPC64:#define __LDBL_MAX_10_EXP__ 308
563 // PPC64:#define __LDBL_MAX_EXP__ 1024
564 // PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
565 // PPC64:#define __LDBL_MIN_10_EXP__ (-291)
566 // PPC64:#define __LDBL_MIN_EXP__ (-968)
567 // PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
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__ 16
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=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
607 //
608 // PPC64-LINUX:#define _ARCH_PPC 1
609 // PPC64-LINUX:#define _ARCH_PPC64 1
610 // PPC64-LINUX:#define _BIG_ENDIAN 1
611 // PPC64-LINUX:#define _LP64 1
612 // PPC64-LINUX:#define __BIG_ENDIAN__ 1
613 // PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
614 // PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
615 // PPC64-LINUX:#define __CHAR_BIT__ 8
616 // PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
617 // PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
618 // PPC64-LINUX:#define __DBL_DIG__ 15
619 // PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
620 // PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
621 // PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
622 // PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
623 // PPC64-LINUX:#define __DBL_MANT_DIG__ 53
624 // PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
625 // PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
626 // PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
627 // PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
628 // PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
629 // PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
630 // PPC64-LINUX:#define __DECIMAL_DIG__ 33
631 // PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
632 // PPC64-LINUX:#define __FLT_DIG__ 6
633 // PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
634 // PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
635 // PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
636 // PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
637 // PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
638 // PPC64-LINUX:#define __FLT_MANT_DIG__ 24
639 // PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
640 // PPC64-LINUX:#define __FLT_MAX_EXP__ 128
641 // PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
642 // PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
643 // PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
644 // PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
645 // PPC64-LINUX:#define __FLT_RADIX__ 2
646 // PPC64-LINUX:#define __INT16_TYPE__ short
647 // PPC64-LINUX:#define __INT32_TYPE__ int
648 // PPC64-LINUX:#define __INT64_C_SUFFIX__ L
649 // PPC64-LINUX:#define __INT64_TYPE__ long int
650 // PPC64-LINUX:#define __INT8_TYPE__ char
651 // PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
652 // PPC64-LINUX:#define __INTMAX_TYPE__ long int
653 // PPC64-LINUX:#define __INTMAX_WIDTH__ 64
654 // PPC64-LINUX:#define __INTPTR_TYPE__ long int
655 // PPC64-LINUX:#define __INTPTR_WIDTH__ 64
656 // PPC64-LINUX:#define __INT_MAX__ 2147483647
657 // PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
658 // PPC64-LINUX:#define __LDBL_DIG__ 31
659 // PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
660 // PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
661 // PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
662 // PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
663 // PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
664 // PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
665 // PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
666 // PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
667 // PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
668 // PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
669 // PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
670 // PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
671 // PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
672 // PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
673 // PPC64-LINUX:#define __LP64__ 1
674 // PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
675 // PPC64-LINUX:#define __NO_INLINE__ 1
676 // PPC64-LINUX:#define __POINTER_WIDTH__ 64
677 // PPC64-LINUX:#define __POWERPC__ 1
678 // PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
679 // PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
680 // PPC64-LINUX:#define __REGISTER_PREFIX__
681 // PPC64-LINUX:#define __SCHAR_MAX__ 127
682 // PPC64-LINUX:#define __SHRT_MAX__ 32767
683 // PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
684 // PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
685 // PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
686 // PPC64-LINUX:#define __SIZEOF_INT__ 4
687 // PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
688 // PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
689 // PPC64-LINUX:#define __SIZEOF_LONG__ 8
690 // PPC64-LINUX:#define __SIZEOF_POINTER__ 8
691 // PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
692 // PPC64-LINUX:#define __SIZEOF_SHORT__ 2
693 // PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
694 // PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
695 // PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
696 // PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
697 // PPC64-LINUX:#define __SIZE_WIDTH__ 64
698 // PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
699 // PPC64-LINUX:#define __USER_LABEL_PREFIX__
700 // PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
701 // PPC64-LINUX:#define __WCHAR_TYPE__ int
702 // PPC64-LINUX:#define __WCHAR_WIDTH__ 32
703 // PPC64-LINUX:#define __WINT_TYPE__ unsigned int
704 // PPC64-LINUX:#define __WINT_UNSIGNED__ 1
705 // PPC64-LINUX:#define __WINT_WIDTH__ 32
706 // PPC64-LINUX:#define __powerpc64__ 1
707 // PPC64-LINUX:#define __powerpc__ 1
708 // PPC64-LINUX:#define __ppc64__ 1
709 // PPC64-LINUX:#define __ppc__ 1
710 //
711 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix PPC %s
712 //
713 // PPC:#define _ARCH_PPC 1
714 // PPC:#define _BIG_ENDIAN 1
715 // PPC:#define __BIG_ENDIAN__ 1
716 // PPC:#define __CHAR16_TYPE__ unsigned short
717 // PPC:#define __CHAR32_TYPE__ unsigned int
718 // PPC:#define __CHAR_BIT__ 8
719 // PPC:#define __CHAR_UNSIGNED__ 1
720 // PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
721 // PPC:#define __DBL_DIG__ 15
722 // PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
723 // PPC:#define __DBL_HAS_DENORM__ 1
724 // PPC:#define __DBL_HAS_INFINITY__ 1
725 // PPC:#define __DBL_HAS_QUIET_NAN__ 1
726 // PPC:#define __DBL_MANT_DIG__ 53
727 // PPC:#define __DBL_MAX_10_EXP__ 308
728 // PPC:#define __DBL_MAX_EXP__ 1024
729 // PPC:#define __DBL_MAX__ 1.7976931348623157e+308
730 // PPC:#define __DBL_MIN_10_EXP__ (-307)
731 // PPC:#define __DBL_MIN_EXP__ (-1021)
732 // PPC:#define __DBL_MIN__ 2.2250738585072014e-308
733 // PPC:#define __DECIMAL_DIG__ 33
734 // PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
735 // PPC:#define __FLT_DIG__ 6
736 // PPC:#define __FLT_EPSILON__ 1.19209290e-7F
737 // PPC:#define __FLT_EVAL_METHOD__ 0
738 // PPC:#define __FLT_HAS_DENORM__ 1
739 // PPC:#define __FLT_HAS_INFINITY__ 1
740 // PPC:#define __FLT_HAS_QUIET_NAN__ 1
741 // PPC:#define __FLT_MANT_DIG__ 24
742 // PPC:#define __FLT_MAX_10_EXP__ 38
743 // PPC:#define __FLT_MAX_EXP__ 128
744 // PPC:#define __FLT_MAX__ 3.40282347e+38F
745 // PPC:#define __FLT_MIN_10_EXP__ (-37)
746 // PPC:#define __FLT_MIN_EXP__ (-125)
747 // PPC:#define __FLT_MIN__ 1.17549435e-38F
748 // PPC:#define __FLT_RADIX__ 2
749 // PPC:#define __INT16_TYPE__ short
750 // PPC:#define __INT32_TYPE__ int
751 // PPC:#define __INT64_C_SUFFIX__ LL
752 // PPC:#define __INT64_TYPE__ long long int
753 // PPC:#define __INT8_TYPE__ char
754 // PPC:#define __INTMAX_MAX__ 9223372036854775807LL
755 // PPC:#define __INTMAX_TYPE__ long long int
756 // PPC:#define __INTMAX_WIDTH__ 64
757 // PPC:#define __INTPTR_TYPE__ long int
758 // PPC:#define __INTPTR_WIDTH__ 32
759 // PPC:#define __INT_MAX__ 2147483647
760 // PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
761 // PPC:#define __LDBL_DIG__ 31
762 // PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
763 // PPC:#define __LDBL_HAS_DENORM__ 1
764 // PPC:#define __LDBL_HAS_INFINITY__ 1
765 // PPC:#define __LDBL_HAS_QUIET_NAN__ 1
766 // PPC:#define __LDBL_MANT_DIG__ 106
767 // PPC:#define __LDBL_MAX_10_EXP__ 308
768 // PPC:#define __LDBL_MAX_EXP__ 1024
769 // PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
770 // PPC:#define __LDBL_MIN_10_EXP__ (-291)
771 // PPC:#define __LDBL_MIN_EXP__ (-968)
772 // PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
773 // PPC:#define __LONG_DOUBLE_128__ 1
774 // PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
775 // PPC:#define __LONG_MAX__ 2147483647L
776 // PPC:#define __NATURAL_ALIGNMENT__ 1
777 // PPC:#define __NO_INLINE__ 1
778 // PPC:#define __POINTER_WIDTH__ 32
779 // PPC:#define __POWERPC__ 1
780 // PPC:#define __PTRDIFF_TYPE__ long int
781 // PPC:#define __PTRDIFF_WIDTH__ 32
782 // PPC:#define __REGISTER_PREFIX__
783 // PPC:#define __SCHAR_MAX__ 127
784 // PPC:#define __SHRT_MAX__ 32767
785 // PPC:#define __SIG_ATOMIC_WIDTH__ 32
786 // PPC:#define __SIZEOF_DOUBLE__ 8
787 // PPC:#define __SIZEOF_FLOAT__ 4
788 // PPC:#define __SIZEOF_INT__ 4
789 // PPC:#define __SIZEOF_LONG_DOUBLE__ 16
790 // PPC:#define __SIZEOF_LONG_LONG__ 8
791 // PPC:#define __SIZEOF_LONG__ 4
792 // PPC:#define __SIZEOF_POINTER__ 4
793 // PPC:#define __SIZEOF_PTRDIFF_T__ 4
794 // PPC:#define __SIZEOF_SHORT__ 2
795 // PPC:#define __SIZEOF_SIZE_T__ 4
796 // PPC:#define __SIZEOF_WCHAR_T__ 4
797 // PPC:#define __SIZEOF_WINT_T__ 4
798 // PPC:#define __SIZE_TYPE__ long unsigned int
799 // PPC:#define __SIZE_WIDTH__ 32
800 // PPC:#define __UINTMAX_TYPE__ long long unsigned int
801 // PPC:#define __USER_LABEL_PREFIX__ _
802 // PPC:#define __WCHAR_MAX__ 2147483647
803 // PPC:#define __WCHAR_TYPE__ int
804 // PPC:#define __WCHAR_WIDTH__ 32
805 // PPC:#define __WINT_TYPE__ int
806 // PPC:#define __WINT_WIDTH__ 32
807 // PPC:#define __ppc__ 1
808 //
809 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
810 //
811 // PPC-LINUX:#define _ARCH_PPC 1
812 // PPC-LINUX:#define _BIG_ENDIAN 1
813 // PPC-LINUX:#define __BIG_ENDIAN__ 1
814 // PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
815 // PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
816 // PPC-LINUX:#define __CHAR_BIT__ 8
817 // PPC-LINUX:#define __CHAR_UNSIGNED__ 1
818 // PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
819 // PPC-LINUX:#define __DBL_DIG__ 15
820 // PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
821 // PPC-LINUX:#define __DBL_HAS_DENORM__ 1
822 // PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
823 // PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
824 // PPC-LINUX:#define __DBL_MANT_DIG__ 53
825 // PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
826 // PPC-LINUX:#define __DBL_MAX_EXP__ 1024
827 // PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
828 // PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
829 // PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
830 // PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
831 // PPC-LINUX:#define __DECIMAL_DIG__ 33
832 // PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
833 // PPC-LINUX:#define __FLT_DIG__ 6
834 // PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
835 // PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
836 // PPC-LINUX:#define __FLT_HAS_DENORM__ 1
837 // PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
838 // PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
839 // PPC-LINUX:#define __FLT_MANT_DIG__ 24
840 // PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
841 // PPC-LINUX:#define __FLT_MAX_EXP__ 128
842 // PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
843 // PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
844 // PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
845 // PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
846 // PPC-LINUX:#define __FLT_RADIX__ 2
847 // PPC-LINUX:#define __INT16_TYPE__ short
848 // PPC-LINUX:#define __INT32_TYPE__ int
849 // PPC-LINUX:#define __INT64_C_SUFFIX__ LL
850 // PPC-LINUX:#define __INT64_TYPE__ long long int
851 // PPC-LINUX:#define __INT8_TYPE__ char
852 // PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
853 // PPC-LINUX:#define __INTMAX_TYPE__ long long int
854 // PPC-LINUX:#define __INTMAX_WIDTH__ 64
855 // PPC-LINUX:#define __INTPTR_TYPE__ long int
856 // PPC-LINUX:#define __INTPTR_WIDTH__ 32
857 // PPC-LINUX:#define __INT_MAX__ 2147483647
858 // PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
859 // PPC-LINUX:#define __LDBL_DIG__ 31
860 // PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
861 // PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
862 // PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
863 // PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
864 // PPC-LINUX:#define __LDBL_MANT_DIG__ 106
865 // PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
866 // PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
867 // PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
868 // PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
869 // PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
870 // PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
871 // PPC-LINUX:#define __LONG_DOUBLE_128__ 1
872 // PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
873 // PPC-LINUX:#define __LONG_MAX__ 2147483647L
874 // PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
875 // PPC-LINUX:#define __NO_INLINE__ 1
876 // PPC-LINUX:#define __POINTER_WIDTH__ 32
877 // PPC-LINUX:#define __POWERPC__ 1
878 // PPC-LINUX:#define __PTRDIFF_TYPE__ long int
879 // PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
880 // PPC-LINUX:#define __REGISTER_PREFIX__
881 // PPC-LINUX:#define __SCHAR_MAX__ 127
882 // PPC-LINUX:#define __SHRT_MAX__ 32767
883 // PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
884 // PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
885 // PPC-LINUX:#define __SIZEOF_FLOAT__ 4
886 // PPC-LINUX:#define __SIZEOF_INT__ 4
887 // PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
888 // PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
889 // PPC-LINUX:#define __SIZEOF_LONG__ 4
890 // PPC-LINUX:#define __SIZEOF_POINTER__ 4
891 // PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
892 // PPC-LINUX:#define __SIZEOF_SHORT__ 2
893 // PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
894 // PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
895 // PPC-LINUX:#define __SIZEOF_WINT_T__ 4
896 // PPC-LINUX:#define __SIZE_TYPE__ unsigned int
897 // PPC-LINUX:#define __SIZE_WIDTH__ 32
898 // PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
899 // PPC-LINUX:#define __USER_LABEL_PREFIX__
900 // PPC-LINUX:#define __WCHAR_MAX__ 2147483647
901 // PPC-LINUX:#define __WCHAR_TYPE__ int
902 // PPC-LINUX:#define __WCHAR_WIDTH__ 32
903 // PPC-LINUX:#define __WINT_TYPE__ unsigned int
904 // PPC-LINUX:#define __WINT_UNSIGNED__ 1
905 // PPC-LINUX:#define __WINT_WIDTH__ 32
906 // PPC-LINUX:#define __powerpc__ 1
907 // PPC-LINUX:#define __ppc__ 1
908 //
909 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
910 //
911 // SPARC:#define __CHAR16_TYPE__ unsigned short
912 // SPARC:#define __CHAR32_TYPE__ unsigned int
913 // SPARC:#define __CHAR_BIT__ 8
914 // SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
915 // SPARC:#define __DBL_DIG__ 15
916 // SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
917 // SPARC:#define __DBL_HAS_DENORM__ 1
918 // SPARC:#define __DBL_HAS_INFINITY__ 1
919 // SPARC:#define __DBL_HAS_QUIET_NAN__ 1
920 // SPARC:#define __DBL_MANT_DIG__ 53
921 // SPARC:#define __DBL_MAX_10_EXP__ 308
922 // SPARC:#define __DBL_MAX_EXP__ 1024
923 // SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
924 // SPARC:#define __DBL_MIN_10_EXP__ (-307)
925 // SPARC:#define __DBL_MIN_EXP__ (-1021)
926 // SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
927 // SPARC:#define __DECIMAL_DIG__ 17
928 // SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
929 // SPARC:#define __FLT_DIG__ 6
930 // SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
931 // SPARC:#define __FLT_EVAL_METHOD__ 0
932 // SPARC:#define __FLT_HAS_DENORM__ 1
933 // SPARC:#define __FLT_HAS_INFINITY__ 1
934 // SPARC:#define __FLT_HAS_QUIET_NAN__ 1
935 // SPARC:#define __FLT_MANT_DIG__ 24
936 // SPARC:#define __FLT_MAX_10_EXP__ 38
937 // SPARC:#define __FLT_MAX_EXP__ 128
938 // SPARC:#define __FLT_MAX__ 3.40282347e+38F
939 // SPARC:#define __FLT_MIN_10_EXP__ (-37)
940 // SPARC:#define __FLT_MIN_EXP__ (-125)
941 // SPARC:#define __FLT_MIN__ 1.17549435e-38F
942 // SPARC:#define __FLT_RADIX__ 2
943 // SPARC:#define __INT16_TYPE__ short
944 // SPARC:#define __INT32_TYPE__ int
945 // SPARC:#define __INT64_C_SUFFIX__ LL
946 // SPARC:#define __INT64_TYPE__ long long int
947 // SPARC:#define __INT8_TYPE__ char
948 // SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
949 // SPARC:#define __INTMAX_TYPE__ long long int
950 // SPARC:#define __INTMAX_WIDTH__ 64
951 // SPARC:#define __INTPTR_TYPE__ long int
952 // SPARC:#define __INTPTR_WIDTH__ 32
953 // SPARC:#define __INT_MAX__ 2147483647
954 // SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
955 // SPARC:#define __LDBL_DIG__ 15
956 // SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16
957 // SPARC:#define __LDBL_HAS_DENORM__ 1
958 // SPARC:#define __LDBL_HAS_INFINITY__ 1
959 // SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
960 // SPARC:#define __LDBL_MANT_DIG__ 53
961 // SPARC:#define __LDBL_MAX_10_EXP__ 308
962 // SPARC:#define __LDBL_MAX_EXP__ 1024
963 // SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308
964 // SPARC:#define __LDBL_MIN_10_EXP__ (-307)
965 // SPARC:#define __LDBL_MIN_EXP__ (-1021)
966 // SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308
967 // SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
968 // SPARC:#define __LONG_MAX__ 2147483647L
969 // SPARC:#define __NO_INLINE__ 1
970 // SPARC:#define __POINTER_WIDTH__ 32
971 // SPARC:#define __PTRDIFF_TYPE__ long int
972 // SPARC:#define __PTRDIFF_WIDTH__ 32
973 // SPARC:#define __REGISTER_PREFIX__
974 // SPARC:#define __SCHAR_MAX__ 127
975 // SPARC:#define __SHRT_MAX__ 32767
976 // SPARC:#define __SIG_ATOMIC_WIDTH__ 32
977 // SPARC:#define __SIZEOF_DOUBLE__ 8
978 // SPARC:#define __SIZEOF_FLOAT__ 4
979 // SPARC:#define __SIZEOF_INT__ 4
980 // SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
981 // SPARC:#define __SIZEOF_LONG_LONG__ 8
982 // SPARC:#define __SIZEOF_LONG__ 4
983 // SPARC:#define __SIZEOF_POINTER__ 4
984 // SPARC:#define __SIZEOF_PTRDIFF_T__ 4
985 // SPARC:#define __SIZEOF_SHORT__ 2
986 // SPARC:#define __SIZEOF_SIZE_T__ 4
987 // SPARC:#define __SIZEOF_WCHAR_T__ 4
988 // SPARC:#define __SIZEOF_WINT_T__ 4
989 // SPARC:#define __SIZE_TYPE__ long unsigned int
990 // SPARC:#define __SIZE_WIDTH__ 32
991 // SPARC:#define __UINTMAX_TYPE__ long long unsigned int
992 // SPARC:#define __USER_LABEL_PREFIX__ _
993 // SPARC:#define __VERSION__ "4.2.1 Compatible
994 // SPARC:#define __WCHAR_MAX__ 2147483647
995 // SPARC:#define __WCHAR_TYPE__ int
996 // SPARC:#define __WCHAR_WIDTH__ 32
997 // SPARC:#define __WINT_TYPE__ int
998 // SPARC:#define __WINT_WIDTH__ 32
999 // SPARC:#define __sparc 1
1000 // SPARC:#define __sparc__ 1
1001 // SPARC:#define __sparcv8 1
1002 // SPARC:#define sparc 1
1003 //
1004 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
1005 //
1006 // TCE:#define __CHAR16_TYPE__ unsigned short
1007 // TCE:#define __CHAR32_TYPE__ unsigned int
1008 // TCE:#define __CHAR_BIT__ 8
1009 // TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45F
1010 // TCE:#define __DBL_DIG__ 6
1011 // TCE:#define __DBL_EPSILON__ 1.19209290e-7F
1012 // TCE:#define __DBL_HAS_DENORM__ 1
1013 // TCE:#define __DBL_HAS_INFINITY__ 1
1014 // TCE:#define __DBL_HAS_QUIET_NAN__ 1
1015 // TCE:#define __DBL_MANT_DIG__ 24
1016 // TCE:#define __DBL_MAX_10_EXP__ 38
1017 // TCE:#define __DBL_MAX_EXP__ 128
1018 // TCE:#define __DBL_MAX__ 3.40282347e+38F
1019 // TCE:#define __DBL_MIN_10_EXP__ (-37)
1020 // TCE:#define __DBL_MIN_EXP__ (-125)
1021 // TCE:#define __DBL_MIN__ 1.17549435e-38F
1022 // TCE:#define __DECIMAL_DIG__ -1
1023 // TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1024 // TCE:#define __FLT_DIG__ 6
1025 // TCE:#define __FLT_EPSILON__ 1.19209290e-7F
1026 // TCE:#define __FLT_EVAL_METHOD__ 0
1027 // TCE:#define __FLT_HAS_DENORM__ 1
1028 // TCE:#define __FLT_HAS_INFINITY__ 1
1029 // TCE:#define __FLT_HAS_QUIET_NAN__ 1
1030 // TCE:#define __FLT_MANT_DIG__ 24
1031 // TCE:#define __FLT_MAX_10_EXP__ 38
1032 // TCE:#define __FLT_MAX_EXP__ 128
1033 // TCE:#define __FLT_MAX__ 3.40282347e+38F
1034 // TCE:#define __FLT_MIN_10_EXP__ (-37)
1035 // TCE:#define __FLT_MIN_EXP__ (-125)
1036 // TCE:#define __FLT_MIN__ 1.17549435e-38F
1037 // TCE:#define __FLT_RADIX__ 2
1038 // TCE:#define __INT16_TYPE__ short
1039 // TCE:#define __INT32_TYPE__ int
1040 // TCE:#define __INT8_TYPE__ char
1041 // TCE:#define __INTMAX_MAX__ 2147483647L
1042 // TCE:#define __INTMAX_TYPE__ long int
1043 // TCE:#define __INTMAX_WIDTH__ 32
1044 // TCE:#define __INTPTR_TYPE__ int
1045 // TCE:#define __INTPTR_WIDTH__ 32
1046 // TCE:#define __INT_MAX__ 2147483647
1047 // TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45F
1048 // TCE:#define __LDBL_DIG__ 6
1049 // TCE:#define __LDBL_EPSILON__ 1.19209290e-7F
1050 // TCE:#define __LDBL_HAS_DENORM__ 1
1051 // TCE:#define __LDBL_HAS_INFINITY__ 1
1052 // TCE:#define __LDBL_HAS_QUIET_NAN__ 1
1053 // TCE:#define __LDBL_MANT_DIG__ 24
1054 // TCE:#define __LDBL_MAX_10_EXP__ 38
1055 // TCE:#define __LDBL_MAX_EXP__ 128
1056 // TCE:#define __LDBL_MAX__ 3.40282347e+38F
1057 // TCE:#define __LDBL_MIN_10_EXP__ (-37)
1058 // TCE:#define __LDBL_MIN_EXP__ (-125)
1059 // TCE:#define __LDBL_MIN__ 1.17549435e-38F
1060 // TCE:#define __LONG_LONG_MAX__ 2147483647LL
1061 // TCE:#define __LONG_MAX__ 2147483647L
1062 // TCE:#define __NO_INLINE__ 1
1063 // TCE:#define __POINTER_WIDTH__ 32
1064 // TCE:#define __PTRDIFF_TYPE__ int
1065 // TCE:#define __PTRDIFF_WIDTH__ 32
1066 // TCE:#define __SCHAR_MAX__ 127
1067 // TCE:#define __SHRT_MAX__ 32767
1068 // TCE:#define __SIG_ATOMIC_WIDTH__ 32
1069 // TCE:#define __SIZEOF_DOUBLE__ 4
1070 // TCE:#define __SIZEOF_FLOAT__ 4
1071 // TCE:#define __SIZEOF_INT__ 4
1072 // TCE:#define __SIZEOF_LONG_DOUBLE__ 4
1073 // TCE:#define __SIZEOF_LONG_LONG__ 4
1074 // TCE:#define __SIZEOF_LONG__ 4
1075 // TCE:#define __SIZEOF_POINTER__ 4
1076 // TCE:#define __SIZEOF_PTRDIFF_T__ 4
1077 // TCE:#define __SIZEOF_SHORT__ 2
1078 // TCE:#define __SIZEOF_SIZE_T__ 4
1079 // TCE:#define __SIZEOF_WCHAR_T__ 4
1080 // TCE:#define __SIZEOF_WINT_T__ 4
1081 // TCE:#define __SIZE_TYPE__ unsigned int
1082 // TCE:#define __SIZE_WIDTH__ 32
1083 // TCE:#define __TCE_V1__ 1
1084 // TCE:#define __TCE__ 1
1085 // TCE:#define __UINTMAX_TYPE__ long unsigned int
1086 // TCE:#define __USER_LABEL_PREFIX__ _
1087 // TCE:#define __WCHAR_MAX__ 2147483647
1088 // TCE:#define __WCHAR_TYPE__ int
1089 // TCE:#define __WCHAR_WIDTH__ 32
1090 // TCE:#define __WINT_TYPE__ int
1091 // TCE:#define __WINT_WIDTH__ 32
1092 // TCE:#define __tce 1
1093 // TCE:#define __tce__ 1
1094 // TCE:#define tce 1
1095 //
1096 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-none-none < /dev/null | FileCheck -check-prefix X86_64 %s
1097 //
1098 // X86_64:#define _LP64 1
1099 // X86_64:#define __CHAR16_TYPE__ unsigned short
1100 // X86_64:#define __CHAR32_TYPE__ unsigned int
1101 // X86_64:#define __CHAR_BIT__ 8
1102 // X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1103 // X86_64:#define __DBL_DIG__ 15
1104 // X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1105 // X86_64:#define __DBL_HAS_DENORM__ 1
1106 // X86_64:#define __DBL_HAS_INFINITY__ 1
1107 // X86_64:#define __DBL_HAS_QUIET_NAN__ 1
1108 // X86_64:#define __DBL_MANT_DIG__ 53
1109 // X86_64:#define __DBL_MAX_10_EXP__ 308
1110 // X86_64:#define __DBL_MAX_EXP__ 1024
1111 // X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
1112 // X86_64:#define __DBL_MIN_10_EXP__ (-307)
1113 // X86_64:#define __DBL_MIN_EXP__ (-1021)
1114 // X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
1115 // X86_64:#define __DECIMAL_DIG__ 21
1116 // X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1117 // X86_64:#define __FLT_DIG__ 6
1118 // X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
1119 // X86_64:#define __FLT_EVAL_METHOD__ 0
1120 // X86_64:#define __FLT_HAS_DENORM__ 1
1121 // X86_64:#define __FLT_HAS_INFINITY__ 1
1122 // X86_64:#define __FLT_HAS_QUIET_NAN__ 1
1123 // X86_64:#define __FLT_MANT_DIG__ 24
1124 // X86_64:#define __FLT_MAX_10_EXP__ 38
1125 // X86_64:#define __FLT_MAX_EXP__ 128
1126 // X86_64:#define __FLT_MAX__ 3.40282347e+38F
1127 // X86_64:#define __FLT_MIN_10_EXP__ (-37)
1128 // X86_64:#define __FLT_MIN_EXP__ (-125)
1129 // X86_64:#define __FLT_MIN__ 1.17549435e-38F
1130 // X86_64:#define __FLT_RADIX__ 2
1131 // X86_64:#define __INT16_TYPE__ short
1132 // X86_64:#define __INT32_TYPE__ int
1133 // X86_64:#define __INT64_C_SUFFIX__ L
1134 // X86_64:#define __INT64_TYPE__ long int
1135 // X86_64:#define __INT8_TYPE__ char
1136 // X86_64:#define __INTMAX_MAX__ 9223372036854775807L
1137 // X86_64:#define __INTMAX_TYPE__ long int
1138 // X86_64:#define __INTMAX_WIDTH__ 64
1139 // X86_64:#define __INTPTR_TYPE__ long int
1140 // X86_64:#define __INTPTR_WIDTH__ 64
1141 // X86_64:#define __INT_MAX__ 2147483647
1142 // X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1143 // X86_64:#define __LDBL_DIG__ 18
1144 // X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1145 // X86_64:#define __LDBL_HAS_DENORM__ 1
1146 // X86_64:#define __LDBL_HAS_INFINITY__ 1
1147 // X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
1148 // X86_64:#define __LDBL_MANT_DIG__ 64
1149 // X86_64:#define __LDBL_MAX_10_EXP__ 4932
1150 // X86_64:#define __LDBL_MAX_EXP__ 16384
1151 // X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1152 // X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
1153 // X86_64:#define __LDBL_MIN_EXP__ (-16381)
1154 // X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1155 // X86_64:#define __LITTLE_ENDIAN__ 1
1156 // X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1157 // X86_64:#define __LONG_MAX__ 9223372036854775807L
1158 // X86_64:#define __LP64__ 1
1159 // X86_64:#define __MMX__ 1
1160 // X86_64:#define __NO_INLINE__ 1
1161 // X86_64:#define __NO_MATH_INLINES 1
1162 // X86_64:#define __POINTER_WIDTH__ 64
1163 // X86_64:#define __PTRDIFF_TYPE__ long int
1164 // X86_64:#define __PTRDIFF_WIDTH__ 64
1165 // X86_64:#define __REGISTER_PREFIX__
1166 // X86_64:#define __SCHAR_MAX__ 127
1167 // X86_64:#define __SHRT_MAX__ 32767
1168 // X86_64:#define __SIG_ATOMIC_WIDTH__ 32
1169 // X86_64:#define __SIZEOF_DOUBLE__ 8
1170 // X86_64:#define __SIZEOF_FLOAT__ 4
1171 // X86_64:#define __SIZEOF_INT__ 4
1172 // X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
1173 // X86_64:#define __SIZEOF_LONG_LONG__ 8
1174 // X86_64:#define __SIZEOF_LONG__ 8
1175 // X86_64:#define __SIZEOF_POINTER__ 8
1176 // X86_64:#define __SIZEOF_PTRDIFF_T__ 8
1177 // X86_64:#define __SIZEOF_SHORT__ 2
1178 // X86_64:#define __SIZEOF_SIZE_T__ 8
1179 // X86_64:#define __SIZEOF_WCHAR_T__ 4
1180 // X86_64:#define __SIZEOF_WINT_T__ 4
1181 // X86_64:#define __SIZE_TYPE__ long unsigned int
1182 // X86_64:#define __SIZE_WIDTH__ 64
1183 // X86_64:#define __SSE2_MATH__ 1
1184 // X86_64:#define __SSE2__ 1
1185 // X86_64:#define __SSE_MATH__ 1
1186 // X86_64:#define __SSE__ 1
1187 // X86_64:#define __UINTMAX_TYPE__ long unsigned int
1188 // X86_64:#define __USER_LABEL_PREFIX__ _
1189 // X86_64:#define __WCHAR_MAX__ 2147483647
1190 // X86_64:#define __WCHAR_TYPE__ int
1191 // X86_64:#define __WCHAR_WIDTH__ 32
1192 // X86_64:#define __WINT_TYPE__ int
1193 // X86_64:#define __WINT_WIDTH__ 32
1194 // X86_64:#define __amd64 1
1195 // X86_64:#define __amd64__ 1
1196 // X86_64:#define __x86_64 1
1197 // X86_64:#define __x86_64__ 1
1198 //
1199 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
1200 //
1201 // X86_64-LINUX:#define _LP64 1
1202 // X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
1203 // X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
1204 // X86_64-LINUX:#define __CHAR_BIT__ 8
1205 // X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1206 // X86_64-LINUX:#define __DBL_DIG__ 15
1207 // X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
1208 // X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
1209 // X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
1210 // X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
1211 // X86_64-LINUX:#define __DBL_MANT_DIG__ 53
1212 // X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
1213 // X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
1214 // X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
1215 // X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
1216 // X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
1217 // X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
1218 // X86_64-LINUX:#define __DECIMAL_DIG__ 21
1219 // X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1220 // X86_64-LINUX:#define __FLT_DIG__ 6
1221 // X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
1222 // X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
1223 // X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
1224 // X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
1225 // X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
1226 // X86_64-LINUX:#define __FLT_MANT_DIG__ 24
1227 // X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
1228 // X86_64-LINUX:#define __FLT_MAX_EXP__ 128
1229 // X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
1230 // X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
1231 // X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
1232 // X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
1233 // X86_64-LINUX:#define __FLT_RADIX__ 2
1234 // X86_64-LINUX:#define __INT16_TYPE__ short
1235 // X86_64-LINUX:#define __INT32_TYPE__ int
1236 // X86_64-LINUX:#define __INT64_C_SUFFIX__ L
1237 // X86_64-LINUX:#define __INT64_TYPE__ long int
1238 // X86_64-LINUX:#define __INT8_TYPE__ char
1239 // X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
1240 // X86_64-LINUX:#define __INTMAX_TYPE__ long int
1241 // X86_64-LINUX:#define __INTMAX_WIDTH__ 64
1242 // X86_64-LINUX:#define __INTPTR_TYPE__ long int
1243 // X86_64-LINUX:#define __INTPTR_WIDTH__ 64
1244 // X86_64-LINUX:#define __INT_MAX__ 2147483647
1245 // X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1246 // X86_64-LINUX:#define __LDBL_DIG__ 18
1247 // X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1248 // X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
1249 // X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
1250 // X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
1251 // X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
1252 // X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
1253 // X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
1254 // X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1255 // X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
1256 // X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
1257 // X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1258 // X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
1259 // X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
1260 // X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
1261 // X86_64-LINUX:#define __LP64__ 1
1262 // X86_64-LINUX:#define __MMX__ 1
1263 // X86_64-LINUX:#define __NO_INLINE__ 1
1264 // X86_64-LINUX:#define __NO_MATH_INLINES 1
1265 // X86_64-LINUX:#define __POINTER_WIDTH__ 64
1266 // X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
1267 // X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
1268 // X86_64-LINUX:#define __REGISTER_PREFIX__
1269 // X86_64-LINUX:#define __SCHAR_MAX__ 127
1270 // X86_64-LINUX:#define __SHRT_MAX__ 32767
1271 // X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
1272 // X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
1273 // X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
1274 // X86_64-LINUX:#define __SIZEOF_INT__ 4
1275 // X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
1276 // X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
1277 // X86_64-LINUX:#define __SIZEOF_LONG__ 8
1278 // X86_64-LINUX:#define __SIZEOF_POINTER__ 8
1279 // X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
1280 // X86_64-LINUX:#define __SIZEOF_SHORT__ 2
1281 // X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
1282 // X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
1283 // X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
1284 // X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
1285 // X86_64-LINUX:#define __SIZE_WIDTH__ 64
1286 // X86_64-LINUX:#define __SSE2_MATH__ 1
1287 // X86_64-LINUX:#define __SSE2__ 1
1288 // X86_64-LINUX:#define __SSE_MATH__ 1
1289 // X86_64-LINUX:#define __SSE__ 1
1290 // X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
1291 // X86_64-LINUX:#define __USER_LABEL_PREFIX__
1292 // X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
1293 // X86_64-LINUX:#define __WCHAR_TYPE__ int
1294 // X86_64-LINUX:#define __WCHAR_WIDTH__ 32
1295 // X86_64-LINUX:#define __WINT_TYPE__ unsigned int
1296 // X86_64-LINUX:#define __WINT_WIDTH__ 32
1297 // X86_64-LINUX:#define __amd64 1
1298 // X86_64-LINUX:#define __amd64__ 1
1299 // X86_64-LINUX:#define __x86_64 1
1300 // X86_64-LINUX:#define __x86_64__ 1
1301 //
1302 // RUN: %clang_cc1 -x c++ -triple i686-pc-linux-gnu -fobjc-fragile-abi -E -dM < /dev/null | FileCheck -check-prefix GNUSOURCE %s
1303 // GNUSOURCE:#define _GNU_SOURCE 1
1304 //
1305 // RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
1306 // NORTTI: __GXX_ABI_VERSION
1307 // NORTTI-NOT:#define __GXX_RTTI
1308 // NORTTI: __STDC__
1309