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++0x -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__ 2147483647
216 // ARM:#define __WCHAR_TYPE__ 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=bfin-none-none < /dev/null | FileCheck -check-prefix BFIN %s
224 //
225 // BFIN:#define BFIN 1
226 // BFIN:#define __ADSPBLACKFIN__ 1
227 // BFIN:#define __ADSPLPBLACKFIN__ 1
228 // BFIN:#define __BFIN 1
229 // BFIN:#define __BFIN__ 1
230 // BFIN:#define __CHAR16_TYPE__ unsigned short
231 // BFIN:#define __CHAR32_TYPE__ unsigned int
232 // BFIN:#define __CHAR_BIT__ 8
233 // BFIN:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
234 // BFIN:#define __DBL_DIG__ 15
235 // BFIN:#define __DBL_EPSILON__ 2.2204460492503131e-16
236 // BFIN:#define __DBL_HAS_DENORM__ 1
237 // BFIN:#define __DBL_HAS_INFINITY__ 1
238 // BFIN:#define __DBL_HAS_QUIET_NAN__ 1
239 // BFIN:#define __DBL_MANT_DIG__ 53
240 // BFIN:#define __DBL_MAX_10_EXP__ 308
241 // BFIN:#define __DBL_MAX_EXP__ 1024
242 // BFIN:#define __DBL_MAX__ 1.7976931348623157e+308
243 // BFIN:#define __DBL_MIN_10_EXP__ (-307)
244 // BFIN:#define __DBL_MIN_EXP__ (-1021)
245 // BFIN:#define __DBL_MIN__ 2.2250738585072014e-308
246 // BFIN:#define __DECIMAL_DIG__ 17
247 // BFIN:#define __FLT_DENORM_MIN__ 1.40129846e-45F
248 // BFIN:#define __FLT_DIG__ 6
249 // BFIN:#define __FLT_EPSILON__ 1.19209290e-7F
250 // BFIN:#define __FLT_EVAL_METHOD__ 0
251 // BFIN:#define __FLT_HAS_DENORM__ 1
252 // BFIN:#define __FLT_HAS_INFINITY__ 1
253 // BFIN:#define __FLT_HAS_QUIET_NAN__ 1
254 // BFIN:#define __FLT_MANT_DIG__ 24
255 // BFIN:#define __FLT_MAX_10_EXP__ 38
256 // BFIN:#define __FLT_MAX_EXP__ 128
257 // BFIN:#define __FLT_MAX__ 3.40282347e+38F
258 // BFIN:#define __FLT_MIN_10_EXP__ (-37)
259 // BFIN:#define __FLT_MIN_EXP__ (-125)
260 // BFIN:#define __FLT_MIN__ 1.17549435e-38F
261 // BFIN:#define __FLT_RADIX__ 2
262 // BFIN:#define __INT16_TYPE__ short
263 // BFIN:#define __INT32_TYPE__ int
264 // BFIN:#define __INT64_C_SUFFIX__ LL
265 // BFIN:#define __INT64_TYPE__ long long int
266 // BFIN:#define __INT8_TYPE__ char
267 // BFIN:#define __INTMAX_MAX__ 9223372036854775807LL
268 // BFIN:#define __INTMAX_TYPE__ long long int
269 // BFIN:#define __INTMAX_WIDTH__ 64
270 // BFIN:#define __INTPTR_TYPE__ long int
271 // BFIN:#define __INTPTR_WIDTH__ 32
272 // BFIN:#define __INT_MAX__ 2147483647
273 // BFIN:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
274 // BFIN:#define __LDBL_DIG__ 15
275 // BFIN:#define __LDBL_EPSILON__ 2.2204460492503131e-16
276 // BFIN:#define __LDBL_HAS_DENORM__ 1
277 // BFIN:#define __LDBL_HAS_INFINITY__ 1
278 // BFIN:#define __LDBL_HAS_QUIET_NAN__ 1
279 // BFIN:#define __LDBL_MANT_DIG__ 53
280 // BFIN:#define __LDBL_MAX_10_EXP__ 308
281 // BFIN:#define __LDBL_MAX_EXP__ 1024
282 // BFIN:#define __LDBL_MAX__ 1.7976931348623157e+308
283 // BFIN:#define __LDBL_MIN_10_EXP__ (-307)
284 // BFIN:#define __LDBL_MIN_EXP__ (-1021)
285 // BFIN:#define __LDBL_MIN__ 2.2250738585072014e-308
286 // BFIN:#define __LONG_LONG_MAX__ 9223372036854775807LL
287 // BFIN:#define __LONG_MAX__ 2147483647L
288 // BFIN:#define __NO_INLINE__ 1
289 // BFIN:#define __POINTER_WIDTH__ 32
290 // BFIN:#define __PTRDIFF_TYPE__ long int
291 // BFIN:#define __PTRDIFF_WIDTH__ 32
292 // BFIN:#define __SCHAR_MAX__ 127
293 // BFIN:#define __SHRT_MAX__ 32767
294 // BFIN:#define __SIG_ATOMIC_WIDTH__ 32
295 // BFIN:#define __SIZEOF_DOUBLE__ 8
296 // BFIN:#define __SIZEOF_FLOAT__ 4
297 // BFIN:#define __SIZEOF_INT__ 4
298 // BFIN:#define __SIZEOF_LONG_DOUBLE__ 8
299 // BFIN:#define __SIZEOF_LONG_LONG__ 8
300 // BFIN:#define __SIZEOF_LONG__ 4
301 // BFIN:#define __SIZEOF_POINTER__ 4
302 // BFIN:#define __SIZEOF_PTRDIFF_T__ 4
303 // BFIN:#define __SIZEOF_SHORT__ 2
304 // BFIN:#define __SIZEOF_SIZE_T__ 4
305 // BFIN:#define __SIZEOF_WCHAR_T__ 4
306 // BFIN:#define __SIZEOF_WINT_T__ 4
307 // BFIN:#define __SIZE_TYPE__ long unsigned int
308 // BFIN:#define __SIZE_WIDTH__ 32
309 // BFIN:#define __UINTMAX_TYPE__ long long unsigned int
310 // BFIN:#define __USER_LABEL_PREFIX__ _
311 // BFIN:#define __WCHAR_MAX__ 2147483647
312 // BFIN:#define __WCHAR_TYPE__ int
313 // BFIN:#define __WCHAR_WIDTH__ 32
314 // BFIN:#define __WINT_TYPE__ int
315 // BFIN:#define __WINT_WIDTH__ 32
316 // BFIN:#define __bfin 1
317 // BFIN:#define __bfin__ 1
318 // BFIN:#define bfin 1
319 //
320 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
321 //
322 // I386:#define __CHAR16_TYPE__ unsigned short
323 // I386:#define __CHAR32_TYPE__ unsigned int
324 // I386:#define __CHAR_BIT__ 8
325 // I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
326 // I386:#define __DBL_DIG__ 15
327 // I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
328 // I386:#define __DBL_HAS_DENORM__ 1
329 // I386:#define __DBL_HAS_INFINITY__ 1
330 // I386:#define __DBL_HAS_QUIET_NAN__ 1
331 // I386:#define __DBL_MANT_DIG__ 53
332 // I386:#define __DBL_MAX_10_EXP__ 308
333 // I386:#define __DBL_MAX_EXP__ 1024
334 // I386:#define __DBL_MAX__ 1.7976931348623157e+308
335 // I386:#define __DBL_MIN_10_EXP__ (-307)
336 // I386:#define __DBL_MIN_EXP__ (-1021)
337 // I386:#define __DBL_MIN__ 2.2250738585072014e-308
338 // I386:#define __DECIMAL_DIG__ 21
339 // I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
340 // I386:#define __FLT_DIG__ 6
341 // I386:#define __FLT_EPSILON__ 1.19209290e-7F
342 // I386:#define __FLT_EVAL_METHOD__ 0
343 // I386:#define __FLT_HAS_DENORM__ 1
344 // I386:#define __FLT_HAS_INFINITY__ 1
345 // I386:#define __FLT_HAS_QUIET_NAN__ 1
346 // I386:#define __FLT_MANT_DIG__ 24
347 // I386:#define __FLT_MAX_10_EXP__ 38
348 // I386:#define __FLT_MAX_EXP__ 128
349 // I386:#define __FLT_MAX__ 3.40282347e+38F
350 // I386:#define __FLT_MIN_10_EXP__ (-37)
351 // I386:#define __FLT_MIN_EXP__ (-125)
352 // I386:#define __FLT_MIN__ 1.17549435e-38F
353 // I386:#define __FLT_RADIX__ 2
354 // I386:#define __INT16_TYPE__ short
355 // I386:#define __INT32_TYPE__ int
356 // I386:#define __INT64_C_SUFFIX__ LL
357 // I386:#define __INT64_TYPE__ long long int
358 // I386:#define __INT8_TYPE__ char
359 // I386:#define __INTMAX_MAX__ 9223372036854775807LL
360 // I386:#define __INTMAX_TYPE__ long long int
361 // I386:#define __INTMAX_WIDTH__ 64
362 // I386:#define __INTPTR_TYPE__ int
363 // I386:#define __INTPTR_WIDTH__ 32
364 // I386:#define __INT_MAX__ 2147483647
365 // I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
366 // I386:#define __LDBL_DIG__ 18
367 // I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
368 // I386:#define __LDBL_HAS_DENORM__ 1
369 // I386:#define __LDBL_HAS_INFINITY__ 1
370 // I386:#define __LDBL_HAS_QUIET_NAN__ 1
371 // I386:#define __LDBL_MANT_DIG__ 64
372 // I386:#define __LDBL_MAX_10_EXP__ 4932
373 // I386:#define __LDBL_MAX_EXP__ 16384
374 // I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
375 // I386:#define __LDBL_MIN_10_EXP__ (-4931)
376 // I386:#define __LDBL_MIN_EXP__ (-16381)
377 // I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
378 // I386:#define __LITTLE_ENDIAN__ 1
379 // I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
380 // I386:#define __LONG_MAX__ 2147483647L
381 // I386:#define __NO_INLINE__ 1
382 // I386:#define __NO_MATH_INLINES 1
383 // I386:#define __POINTER_WIDTH__ 32
384 // I386:#define __PTRDIFF_TYPE__ int
385 // I386:#define __PTRDIFF_WIDTH__ 32
386 // I386:#define __REGISTER_PREFIX__
387 // I386:#define __SCHAR_MAX__ 127
388 // I386:#define __SHRT_MAX__ 32767
389 // I386:#define __SIG_ATOMIC_WIDTH__ 32
390 // I386:#define __SIZEOF_DOUBLE__ 8
391 // I386:#define __SIZEOF_FLOAT__ 4
392 // I386:#define __SIZEOF_INT__ 4
393 // I386:#define __SIZEOF_LONG_DOUBLE__ 12
394 // I386:#define __SIZEOF_LONG_LONG__ 8
395 // I386:#define __SIZEOF_LONG__ 4
396 // I386:#define __SIZEOF_POINTER__ 4
397 // I386:#define __SIZEOF_PTRDIFF_T__ 4
398 // I386:#define __SIZEOF_SHORT__ 2
399 // I386:#define __SIZEOF_SIZE_T__ 4
400 // I386:#define __SIZEOF_WCHAR_T__ 4
401 // I386:#define __SIZEOF_WINT_T__ 4
402 // I386:#define __SIZE_TYPE__ unsigned int
403 // I386:#define __SIZE_WIDTH__ 32
404 // I386:#define __UINTMAX_TYPE__ long long unsigned int
405 // I386:#define __USER_LABEL_PREFIX__ _
406 // I386:#define __WCHAR_MAX__ 2147483647
407 // I386:#define __WCHAR_TYPE__ int
408 // I386:#define __WCHAR_WIDTH__ 32
409 // I386:#define __WINT_TYPE__ int
410 // I386:#define __WINT_WIDTH__ 32
411 // I386:#define __i386 1
412 // I386:#define __i386__ 1
413 // I386:#define i386 1
414 //
415 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-pc-linux-gnu < /dev/null | FileCheck -check-prefix I386-LINUX %s
416 //
417 // I386-LINUX:#define __CHAR16_TYPE__ unsigned short
418 // I386-LINUX:#define __CHAR32_TYPE__ unsigned int
419 // I386-LINUX:#define __CHAR_BIT__ 8
420 // I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
421 // I386-LINUX:#define __DBL_DIG__ 15
422 // I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
423 // I386-LINUX:#define __DBL_HAS_DENORM__ 1
424 // I386-LINUX:#define __DBL_HAS_INFINITY__ 1
425 // I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
426 // I386-LINUX:#define __DBL_MANT_DIG__ 53
427 // I386-LINUX:#define __DBL_MAX_10_EXP__ 308
428 // I386-LINUX:#define __DBL_MAX_EXP__ 1024
429 // I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
430 // I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
431 // I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
432 // I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
433 // I386-LINUX:#define __DECIMAL_DIG__ 21
434 // I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
435 // I386-LINUX:#define __FLT_DIG__ 6
436 // I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
437 // I386-LINUX:#define __FLT_EVAL_METHOD__ 0
438 // I386-LINUX:#define __FLT_HAS_DENORM__ 1
439 // I386-LINUX:#define __FLT_HAS_INFINITY__ 1
440 // I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
441 // I386-LINUX:#define __FLT_MANT_DIG__ 24
442 // I386-LINUX:#define __FLT_MAX_10_EXP__ 38
443 // I386-LINUX:#define __FLT_MAX_EXP__ 128
444 // I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
445 // I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
446 // I386-LINUX:#define __FLT_MIN_EXP__ (-125)
447 // I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
448 // I386-LINUX:#define __FLT_RADIX__ 2
449 // I386-LINUX:#define __INT16_TYPE__ short
450 // I386-LINUX:#define __INT32_TYPE__ int
451 // I386-LINUX:#define __INT64_C_SUFFIX__ LL
452 // I386-LINUX:#define __INT64_TYPE__ long long int
453 // I386-LINUX:#define __INT8_TYPE__ char
454 // I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
455 // I386-LINUX:#define __INTMAX_TYPE__ long long int
456 // I386-LINUX:#define __INTMAX_WIDTH__ 64
457 // I386-LINUX:#define __INTPTR_TYPE__ int
458 // I386-LINUX:#define __INTPTR_WIDTH__ 32
459 // I386-LINUX:#define __INT_MAX__ 2147483647
460 // I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
461 // I386-LINUX:#define __LDBL_DIG__ 18
462 // I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
463 // I386-LINUX:#define __LDBL_HAS_DENORM__ 1
464 // I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
465 // I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
466 // I386-LINUX:#define __LDBL_MANT_DIG__ 64
467 // I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
468 // I386-LINUX:#define __LDBL_MAX_EXP__ 16384
469 // I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
470 // I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
471 // I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
472 // I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
473 // I386-LINUX:#define __LITTLE_ENDIAN__ 1
474 // I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
475 // I386-LINUX:#define __LONG_MAX__ 2147483647L
476 // I386-LINUX:#define __NO_INLINE__ 1
477 // I386-LINUX:#define __NO_MATH_INLINES 1
478 // I386-LINUX:#define __POINTER_WIDTH__ 32
479 // I386-LINUX:#define __PTRDIFF_TYPE__ int
480 // I386-LINUX:#define __PTRDIFF_WIDTH__ 32
481 // I386-LINUX:#define __REGISTER_PREFIX__
482 // I386-LINUX:#define __SCHAR_MAX__ 127
483 // I386-LINUX:#define __SHRT_MAX__ 32767
484 // I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
485 // I386-LINUX:#define __SIZEOF_DOUBLE__ 8
486 // I386-LINUX:#define __SIZEOF_FLOAT__ 4
487 // I386-LINUX:#define __SIZEOF_INT__ 4
488 // I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
489 // I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
490 // I386-LINUX:#define __SIZEOF_LONG__ 4
491 // I386-LINUX:#define __SIZEOF_POINTER__ 4
492 // I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
493 // I386-LINUX:#define __SIZEOF_SHORT__ 2
494 // I386-LINUX:#define __SIZEOF_SIZE_T__ 4
495 // I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
496 // I386-LINUX:#define __SIZEOF_WINT_T__ 4
497 // I386-LINUX:#define __SIZE_TYPE__ unsigned int
498 // I386-LINUX:#define __SIZE_WIDTH__ 32
499 // I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
500 // I386-LINUX:#define __USER_LABEL_PREFIX__
501 // I386-LINUX:#define __WCHAR_MAX__ 2147483647
502 // I386-LINUX:#define __WCHAR_TYPE__ int
503 // I386-LINUX:#define __WCHAR_WIDTH__ 32
504 // I386-LINUX:#define __WINT_TYPE__ unsigned int
505 // I386-LINUX:#define __WINT_WIDTH__ 32
506 // I386-LINUX:#define __i386 1
507 // I386-LINUX:#define __i386__ 1
508 // I386-LINUX:#define i386 1
509 //
510 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
511 //
512 // MSP430:#define MSP430 1
513 // MSP430:#define __CHAR16_TYPE__ unsigned short
514 // MSP430:#define __CHAR32_TYPE__ unsigned int
515 // MSP430:#define __CHAR_BIT__ 8
516 // MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
517 // MSP430:#define __DBL_DIG__ 15
518 // MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
519 // MSP430:#define __DBL_HAS_DENORM__ 1
520 // MSP430:#define __DBL_HAS_INFINITY__ 1
521 // MSP430:#define __DBL_HAS_QUIET_NAN__ 1
522 // MSP430:#define __DBL_MANT_DIG__ 53
523 // MSP430:#define __DBL_MAX_10_EXP__ 308
524 // MSP430:#define __DBL_MAX_EXP__ 1024
525 // MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
526 // MSP430:#define __DBL_MIN_10_EXP__ (-307)
527 // MSP430:#define __DBL_MIN_EXP__ (-1021)
528 // MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
529 // MSP430:#define __DECIMAL_DIG__ 17
530 // MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
531 // MSP430:#define __FLT_DIG__ 6
532 // MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
533 // MSP430:#define __FLT_EVAL_METHOD__ 0
534 // MSP430:#define __FLT_HAS_DENORM__ 1
535 // MSP430:#define __FLT_HAS_INFINITY__ 1
536 // MSP430:#define __FLT_HAS_QUIET_NAN__ 1
537 // MSP430:#define __FLT_MANT_DIG__ 24
538 // MSP430:#define __FLT_MAX_10_EXP__ 38
539 // MSP430:#define __FLT_MAX_EXP__ 128
540 // MSP430:#define __FLT_MAX__ 3.40282347e+38F
541 // MSP430:#define __FLT_MIN_10_EXP__ (-37)
542 // MSP430:#define __FLT_MIN_EXP__ (-125)
543 // MSP430:#define __FLT_MIN__ 1.17549435e-38F
544 // MSP430:#define __FLT_RADIX__ 2
545 // MSP430:#define __INT16_TYPE__ short
546 // MSP430:#define __INT32_C_SUFFIX__ L
547 // MSP430:#define __INT32_TYPE__ long int
548 // MSP430:#define __INT8_TYPE__ char
549 // MSP430:#define __INTMAX_MAX__ 2147483647L
550 // MSP430:#define __INTMAX_TYPE__ long int
551 // MSP430:#define __INTMAX_WIDTH__ 32
552 // MSP430:#define __INTPTR_TYPE__ short
553 // MSP430:#define __INTPTR_WIDTH__ 16
554 // MSP430:#define __INT_MAX__ 32767
555 // MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
556 // MSP430:#define __LDBL_DIG__ 15
557 // MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16
558 // MSP430:#define __LDBL_HAS_DENORM__ 1
559 // MSP430:#define __LDBL_HAS_INFINITY__ 1
560 // MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
561 // MSP430:#define __LDBL_MANT_DIG__ 53
562 // MSP430:#define __LDBL_MAX_10_EXP__ 308
563 // MSP430:#define __LDBL_MAX_EXP__ 1024
564 // MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308
565 // MSP430:#define __LDBL_MIN_10_EXP__ (-307)
566 // MSP430:#define __LDBL_MIN_EXP__ (-1021)
567 // MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308
568 // MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
569 // MSP430:#define __LONG_MAX__ 2147483647L
570 // MSP430:#define __MSP430__ 1
571 // MSP430:#define __NO_INLINE__ 1
572 // MSP430:#define __POINTER_WIDTH__ 16
573 // MSP430:#define __PTRDIFF_TYPE__ int
574 // MSP430:#define __PTRDIFF_WIDTH__ 16
575 // MSP430:#define __SCHAR_MAX__ 127
576 // MSP430:#define __SHRT_MAX__ 32767
577 // MSP430:#define __SIG_ATOMIC_WIDTH__ 32
578 // MSP430:#define __SIZEOF_DOUBLE__ 8
579 // MSP430:#define __SIZEOF_FLOAT__ 4
580 // MSP430:#define __SIZEOF_INT__ 2
581 // MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
582 // MSP430:#define __SIZEOF_LONG_LONG__ 8
583 // MSP430:#define __SIZEOF_LONG__ 4
584 // MSP430:#define __SIZEOF_POINTER__ 2
585 // MSP430:#define __SIZEOF_PTRDIFF_T__ 2
586 // MSP430:#define __SIZEOF_SHORT__ 2
587 // MSP430:#define __SIZEOF_SIZE_T__ 2
588 // MSP430:#define __SIZEOF_WCHAR_T__ 2
589 // MSP430:#define __SIZEOF_WINT_T__ 2
590 // MSP430:#define __SIZE_TYPE__ unsigned int
591 // MSP430:#define __SIZE_WIDTH__ 16
592 // MSP430:#define __UINTMAX_TYPE__ long unsigned int
593 // MSP430:#define __USER_LABEL_PREFIX__ _
594 // MSP430:#define __WCHAR_MAX__ 32767
595 // MSP430:#define __WCHAR_TYPE__ int
596 // MSP430:#define __WCHAR_WIDTH__ 16
597 // MSP430:#define __WINT_TYPE__ int
598 // MSP430:#define __WINT_WIDTH__ 16
599 // MSP430:#define __clang__ 1
600 //
601 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64 %s
602 //
603 // PPC64:#define _ARCH_PPC 1
604 // PPC64:#define _ARCH_PPC64 1
605 // PPC64:#define _BIG_ENDIAN 1
606 // PPC64:#define _LP64 1
607 // PPC64:#define __BIG_ENDIAN__ 1
608 // PPC64:#define __CHAR16_TYPE__ unsigned short
609 // PPC64:#define __CHAR32_TYPE__ unsigned int
610 // PPC64:#define __CHAR_BIT__ 8
611 // PPC64:#define __CHAR_UNSIGNED__ 1
612 // PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
613 // PPC64:#define __DBL_DIG__ 15
614 // PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
615 // PPC64:#define __DBL_HAS_DENORM__ 1
616 // PPC64:#define __DBL_HAS_INFINITY__ 1
617 // PPC64:#define __DBL_HAS_QUIET_NAN__ 1
618 // PPC64:#define __DBL_MANT_DIG__ 53
619 // PPC64:#define __DBL_MAX_10_EXP__ 308
620 // PPC64:#define __DBL_MAX_EXP__ 1024
621 // PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
622 // PPC64:#define __DBL_MIN_10_EXP__ (-307)
623 // PPC64:#define __DBL_MIN_EXP__ (-1021)
624 // PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
625 // PPC64:#define __DECIMAL_DIG__ 17
626 // PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
627 // PPC64:#define __FLT_DIG__ 6
628 // PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
629 // PPC64:#define __FLT_EVAL_METHOD__ 0
630 // PPC64:#define __FLT_HAS_DENORM__ 1
631 // PPC64:#define __FLT_HAS_INFINITY__ 1
632 // PPC64:#define __FLT_HAS_QUIET_NAN__ 1
633 // PPC64:#define __FLT_MANT_DIG__ 24
634 // PPC64:#define __FLT_MAX_10_EXP__ 38
635 // PPC64:#define __FLT_MAX_EXP__ 128
636 // PPC64:#define __FLT_MAX__ 3.40282347e+38F
637 // PPC64:#define __FLT_MIN_10_EXP__ (-37)
638 // PPC64:#define __FLT_MIN_EXP__ (-125)
639 // PPC64:#define __FLT_MIN__ 1.17549435e-38F
640 // PPC64:#define __FLT_RADIX__ 2
641 // PPC64:#define __INT16_TYPE__ short
642 // PPC64:#define __INT32_TYPE__ int
643 // PPC64:#define __INT64_C_SUFFIX__ L
644 // PPC64:#define __INT64_TYPE__ long int
645 // PPC64:#define __INT8_TYPE__ char
646 // PPC64:#define __INTMAX_MAX__ 9223372036854775807L
647 // PPC64:#define __INTMAX_TYPE__ long int
648 // PPC64:#define __INTMAX_WIDTH__ 64
649 // PPC64:#define __INTPTR_TYPE__ long int
650 // PPC64:#define __INTPTR_WIDTH__ 64
651 // PPC64:#define __INT_MAX__ 2147483647
652 // PPC64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
653 // PPC64:#define __LDBL_DIG__ 15
654 // PPC64:#define __LDBL_EPSILON__ 2.2204460492503131e-16
655 // PPC64:#define __LDBL_HAS_DENORM__ 1
656 // PPC64:#define __LDBL_HAS_INFINITY__ 1
657 // PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
658 // PPC64:#define __LDBL_MANT_DIG__ 53
659 // PPC64:#define __LDBL_MAX_10_EXP__ 308
660 // PPC64:#define __LDBL_MAX_EXP__ 1024
661 // PPC64:#define __LDBL_MAX__ 1.7976931348623157e+308
662 // PPC64:#define __LDBL_MIN_10_EXP__ (-307)
663 // PPC64:#define __LDBL_MIN_EXP__ (-1021)
664 // PPC64:#define __LDBL_MIN__ 2.2250738585072014e-308
665 // PPC64:#define __LONG_DOUBLE_128__ 1
666 // PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
667 // PPC64:#define __LONG_MAX__ 9223372036854775807L
668 // PPC64:#define __LP64__ 1
669 // PPC64:#define __NATURAL_ALIGNMENT__ 1
670 // PPC64:#define __NO_INLINE__ 1
671 // PPC64:#define __POINTER_WIDTH__ 64
672 // PPC64:#define __POWERPC__ 1
673 // PPC64:#define __PTRDIFF_TYPE__ long int
674 // PPC64:#define __PTRDIFF_WIDTH__ 64
675 // PPC64:#define __REGISTER_PREFIX__
676 // PPC64:#define __SCHAR_MAX__ 127
677 // PPC64:#define __SHRT_MAX__ 32767
678 // PPC64:#define __SIG_ATOMIC_WIDTH__ 32
679 // PPC64:#define __SIZEOF_DOUBLE__ 8
680 // PPC64:#define __SIZEOF_FLOAT__ 4
681 // PPC64:#define __SIZEOF_INT__ 4
682 // PPC64:#define __SIZEOF_LONG_DOUBLE__ 8
683 // PPC64:#define __SIZEOF_LONG_LONG__ 8
684 // PPC64:#define __SIZEOF_LONG__ 8
685 // PPC64:#define __SIZEOF_POINTER__ 8
686 // PPC64:#define __SIZEOF_PTRDIFF_T__ 8
687 // PPC64:#define __SIZEOF_SHORT__ 2
688 // PPC64:#define __SIZEOF_SIZE_T__ 8
689 // PPC64:#define __SIZEOF_WCHAR_T__ 4
690 // PPC64:#define __SIZEOF_WINT_T__ 4
691 // PPC64:#define __SIZE_TYPE__ long unsigned int
692 // PPC64:#define __SIZE_WIDTH__ 64
693 // PPC64:#define __UINTMAX_TYPE__ long unsigned int
694 // PPC64:#define __USER_LABEL_PREFIX__ _
695 // PPC64:#define __WCHAR_MAX__ 2147483647
696 // PPC64:#define __WCHAR_TYPE__ int
697 // PPC64:#define __WCHAR_WIDTH__ 32
698 // PPC64:#define __WINT_TYPE__ int
699 // PPC64:#define __WINT_WIDTH__ 32
700 // PPC64:#define __ppc64__ 1
701 // PPC64:#define __ppc__ 1
702 //
703 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix PPC %s
704 //
705 // PPC:#define _ARCH_PPC 1
706 // PPC:#define _BIG_ENDIAN 1
707 // PPC:#define __BIG_ENDIAN__ 1
708 // PPC:#define __CHAR16_TYPE__ unsigned short
709 // PPC:#define __CHAR32_TYPE__ unsigned int
710 // PPC:#define __CHAR_BIT__ 8
711 // PPC:#define __CHAR_UNSIGNED__ 1
712 // PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
713 // PPC:#define __DBL_DIG__ 15
714 // PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
715 // PPC:#define __DBL_HAS_DENORM__ 1
716 // PPC:#define __DBL_HAS_INFINITY__ 1
717 // PPC:#define __DBL_HAS_QUIET_NAN__ 1
718 // PPC:#define __DBL_MANT_DIG__ 53
719 // PPC:#define __DBL_MAX_10_EXP__ 308
720 // PPC:#define __DBL_MAX_EXP__ 1024
721 // PPC:#define __DBL_MAX__ 1.7976931348623157e+308
722 // PPC:#define __DBL_MIN_10_EXP__ (-307)
723 // PPC:#define __DBL_MIN_EXP__ (-1021)
724 // PPC:#define __DBL_MIN__ 2.2250738585072014e-308
725 // PPC:#define __DECIMAL_DIG__ 17
726 // PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
727 // PPC:#define __FLT_DIG__ 6
728 // PPC:#define __FLT_EPSILON__ 1.19209290e-7F
729 // PPC:#define __FLT_EVAL_METHOD__ 0
730 // PPC:#define __FLT_HAS_DENORM__ 1
731 // PPC:#define __FLT_HAS_INFINITY__ 1
732 // PPC:#define __FLT_HAS_QUIET_NAN__ 1
733 // PPC:#define __FLT_MANT_DIG__ 24
734 // PPC:#define __FLT_MAX_10_EXP__ 38
735 // PPC:#define __FLT_MAX_EXP__ 128
736 // PPC:#define __FLT_MAX__ 3.40282347e+38F
737 // PPC:#define __FLT_MIN_10_EXP__ (-37)
738 // PPC:#define __FLT_MIN_EXP__ (-125)
739 // PPC:#define __FLT_MIN__ 1.17549435e-38F
740 // PPC:#define __FLT_RADIX__ 2
741 // PPC:#define __INT16_TYPE__ short
742 // PPC:#define __INT32_TYPE__ int
743 // PPC:#define __INT64_C_SUFFIX__ LL
744 // PPC:#define __INT64_TYPE__ long long int
745 // PPC:#define __INT8_TYPE__ char
746 // PPC:#define __INTMAX_MAX__ 9223372036854775807LL
747 // PPC:#define __INTMAX_TYPE__ long long int
748 // PPC:#define __INTMAX_WIDTH__ 64
749 // PPC:#define __INTPTR_TYPE__ long int
750 // PPC:#define __INTPTR_WIDTH__ 32
751 // PPC:#define __INT_MAX__ 2147483647
752 // PPC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
753 // PPC:#define __LDBL_DIG__ 15
754 // PPC:#define __LDBL_EPSILON__ 2.2204460492503131e-16
755 // PPC:#define __LDBL_HAS_DENORM__ 1
756 // PPC:#define __LDBL_HAS_INFINITY__ 1
757 // PPC:#define __LDBL_HAS_QUIET_NAN__ 1
758 // PPC:#define __LDBL_MANT_DIG__ 53
759 // PPC:#define __LDBL_MAX_10_EXP__ 308
760 // PPC:#define __LDBL_MAX_EXP__ 1024
761 // PPC:#define __LDBL_MAX__ 1.7976931348623157e+308
762 // PPC:#define __LDBL_MIN_10_EXP__ (-307)
763 // PPC:#define __LDBL_MIN_EXP__ (-1021)
764 // PPC:#define __LDBL_MIN__ 2.2250738585072014e-308
765 // PPC:#define __LONG_DOUBLE_128__ 1
766 // PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
767 // PPC:#define __LONG_MAX__ 2147483647L
768 // PPC:#define __NATURAL_ALIGNMENT__ 1
769 // PPC:#define __NO_INLINE__ 1
770 // PPC:#define __POINTER_WIDTH__ 32
771 // PPC:#define __POWERPC__ 1
772 // PPC:#define __PTRDIFF_TYPE__ long int
773 // PPC:#define __PTRDIFF_WIDTH__ 32
774 // PPC:#define __REGISTER_PREFIX__
775 // PPC:#define __SCHAR_MAX__ 127
776 // PPC:#define __SHRT_MAX__ 32767
777 // PPC:#define __SIG_ATOMIC_WIDTH__ 32
778 // PPC:#define __SIZEOF_DOUBLE__ 8
779 // PPC:#define __SIZEOF_FLOAT__ 4
780 // PPC:#define __SIZEOF_INT__ 4
781 // PPC:#define __SIZEOF_LONG_DOUBLE__ 8
782 // PPC:#define __SIZEOF_LONG_LONG__ 8
783 // PPC:#define __SIZEOF_LONG__ 4
784 // PPC:#define __SIZEOF_POINTER__ 4
785 // PPC:#define __SIZEOF_PTRDIFF_T__ 4
786 // PPC:#define __SIZEOF_SHORT__ 2
787 // PPC:#define __SIZEOF_SIZE_T__ 4
788 // PPC:#define __SIZEOF_WCHAR_T__ 4
789 // PPC:#define __SIZEOF_WINT_T__ 4
790 // PPC:#define __SIZE_TYPE__ long unsigned int
791 // PPC:#define __SIZE_WIDTH__ 32
792 // PPC:#define __UINTMAX_TYPE__ long long unsigned int
793 // PPC:#define __USER_LABEL_PREFIX__ _
794 // PPC:#define __WCHAR_MAX__ 2147483647
795 // PPC:#define __WCHAR_TYPE__ int
796 // PPC:#define __WCHAR_WIDTH__ 32
797 // PPC:#define __WINT_TYPE__ int
798 // PPC:#define __WINT_WIDTH__ 32
799 // PPC:#define __ppc__ 1
800 //
801 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=s390x-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix S390X %s
802 //
803 // S390X:#define __CHAR16_TYPE__ unsigned short
804 // S390X:#define __CHAR32_TYPE__ unsigned int
805 // S390X:#define __CHAR_BIT__ 8
806 // S390X:#define __CHAR_UNSIGNED__ 1
807 // S390X:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
808 // S390X:#define __DBL_DIG__ 15
809 // S390X:#define __DBL_EPSILON__ 2.2204460492503131e-16
810 // S390X:#define __DBL_HAS_DENORM__ 1
811 // S390X:#define __DBL_HAS_INFINITY__ 1
812 // S390X:#define __DBL_HAS_QUIET_NAN__ 1
813 // S390X:#define __DBL_MANT_DIG__ 53
814 // S390X:#define __DBL_MAX_10_EXP__ 308
815 // S390X:#define __DBL_MAX_EXP__ 1024
816 // S390X:#define __DBL_MAX__ 1.7976931348623157e+308
817 // S390X:#define __DBL_MIN_10_EXP__ (-307)
818 // S390X:#define __DBL_MIN_EXP__ (-1021)
819 // S390X:#define __DBL_MIN__ 2.2250738585072014e-308
820 // S390X:#define __DECIMAL_DIG__ 17
821 // S390X:#define __FLT_DENORM_MIN__ 1.40129846e-45F
822 // S390X:#define __FLT_DIG__ 6
823 // S390X:#define __FLT_EPSILON__ 1.19209290e-7F
824 // S390X:#define __FLT_EVAL_METHOD__ 0
825 // S390X:#define __FLT_HAS_DENORM__ 1
826 // S390X:#define __FLT_HAS_INFINITY__ 1
827 // S390X:#define __FLT_HAS_QUIET_NAN__ 1
828 // S390X:#define __FLT_MANT_DIG__ 24
829 // S390X:#define __FLT_MAX_10_EXP__ 38
830 // S390X:#define __FLT_MAX_EXP__ 128
831 // S390X:#define __FLT_MAX__ 3.40282347e+38F
832 // S390X:#define __FLT_MIN_10_EXP__ (-37)
833 // S390X:#define __FLT_MIN_EXP__ (-125)
834 // S390X:#define __FLT_MIN__ 1.17549435e-38F
835 // S390X:#define __FLT_RADIX__ 2
836 // S390X:#define __INT16_TYPE__ short
837 // S390X:#define __INT32_TYPE__ int
838 // S390X:#define __INT64_C_SUFFIX__ L
839 // S390X:#define __INT64_TYPE__ long long int
840 // S390X:#define __INT8_TYPE__ char
841 // S390X:#define __INTMAX_MAX__ 9223372036854775807LL
842 // S390X:#define __INTMAX_TYPE__ long long int
843 // S390X:#define __INTMAX_WIDTH__ 64
844 // S390X:#define __INTPTR_TYPE__ long int
845 // S390X:#define __INTPTR_WIDTH__ 64
846 // S390X:#define __INT_MAX__ 2147483647
847 // S390X:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
848 // S390X:#define __LDBL_DIG__ 15
849 // S390X:#define __LDBL_EPSILON__ 2.2204460492503131e-16
850 // S390X:#define __LDBL_HAS_DENORM__ 1
851 // S390X:#define __LDBL_HAS_INFINITY__ 1
852 // S390X:#define __LDBL_HAS_QUIET_NAN__ 1
853 // S390X:#define __LDBL_MANT_DIG__ 53
854 // S390X:#define __LDBL_MAX_10_EXP__ 308
855 // S390X:#define __LDBL_MAX_EXP__ 1024
856 // S390X:#define __LDBL_MAX__ 1.7976931348623157e+308
857 // S390X:#define __LDBL_MIN_10_EXP__ (-307)
858 // S390X:#define __LDBL_MIN_EXP__ (-1021)
859 // S390X:#define __LDBL_MIN__ 2.2250738585072014e-308
860 // S390X:#define __LONG_LONG_MAX__ 9223372036854775807LL
861 // S390X:#define __LONG_MAX__ 9223372036854775807L
862 // S390X:#define __NO_INLINE__ 1
863 // S390X:#define __POINTER_WIDTH__ 64
864 // S390X:#define __PTRDIFF_TYPE__ long int
865 // S390X:#define __PTRDIFF_WIDTH__ 64
866 // S390X:#define __SCHAR_MAX__ 127
867 // S390X:#define __SHRT_MAX__ 32767
868 // S390X:#define __SIG_ATOMIC_WIDTH__ 32
869 // S390X:#define __SIZEOF_DOUBLE__ 8
870 // S390X:#define __SIZEOF_FLOAT__ 4
871 // S390X:#define __SIZEOF_INT__ 4
872 // S390X:#define __SIZEOF_LONG_DOUBLE__ 8
873 // S390X:#define __SIZEOF_LONG_LONG__ 8
874 // S390X:#define __SIZEOF_LONG__ 8
875 // S390X:#define __SIZEOF_POINTER__ 8
876 // S390X:#define __SIZEOF_PTRDIFF_T__ 8
877 // S390X:#define __SIZEOF_SHORT__ 2
878 // S390X:#define __SIZEOF_SIZE_T__ 8
879 // S390X:#define __SIZEOF_WCHAR_T__ 4
880 // S390X:#define __SIZEOF_WINT_T__ 4
881 // S390X:#define __SIZE_TYPE__ long unsigned int
882 // S390X:#define __SIZE_WIDTH__ 64
883 // S390X:#define __UINTMAX_TYPE__ long long unsigned int
884 // S390X:#define __USER_LABEL_PREFIX__ _
885 // S390X:#define __WCHAR_MAX__ 2147483647
886 // S390X:#define __WCHAR_TYPE__ int
887 // S390X:#define __WCHAR_WIDTH__ 32
888 // S390X:#define __WINT_TYPE__ int
889 // S390X:#define __WINT_WIDTH__ 32
890 // S390X:#define __s390__ 1
891 // S390X:#define __s390x__ 1
892 //
893 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
894 //
895 // SPARC:#define __CHAR16_TYPE__ unsigned short
896 // SPARC:#define __CHAR32_TYPE__ unsigned int
897 // SPARC:#define __CHAR_BIT__ 8
898 // SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
899 // SPARC:#define __DBL_DIG__ 15
900 // SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
901 // SPARC:#define __DBL_HAS_DENORM__ 1
902 // SPARC:#define __DBL_HAS_INFINITY__ 1
903 // SPARC:#define __DBL_HAS_QUIET_NAN__ 1
904 // SPARC:#define __DBL_MANT_DIG__ 53
905 // SPARC:#define __DBL_MAX_10_EXP__ 308
906 // SPARC:#define __DBL_MAX_EXP__ 1024
907 // SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
908 // SPARC:#define __DBL_MIN_10_EXP__ (-307)
909 // SPARC:#define __DBL_MIN_EXP__ (-1021)
910 // SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
911 // SPARC:#define __DECIMAL_DIG__ 17
912 // SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
913 // SPARC:#define __FLT_DIG__ 6
914 // SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
915 // SPARC:#define __FLT_EVAL_METHOD__ 0
916 // SPARC:#define __FLT_HAS_DENORM__ 1
917 // SPARC:#define __FLT_HAS_INFINITY__ 1
918 // SPARC:#define __FLT_HAS_QUIET_NAN__ 1
919 // SPARC:#define __FLT_MANT_DIG__ 24
920 // SPARC:#define __FLT_MAX_10_EXP__ 38
921 // SPARC:#define __FLT_MAX_EXP__ 128
922 // SPARC:#define __FLT_MAX__ 3.40282347e+38F
923 // SPARC:#define __FLT_MIN_10_EXP__ (-37)
924 // SPARC:#define __FLT_MIN_EXP__ (-125)
925 // SPARC:#define __FLT_MIN__ 1.17549435e-38F
926 // SPARC:#define __FLT_RADIX__ 2
927 // SPARC:#define __INT16_TYPE__ short
928 // SPARC:#define __INT32_TYPE__ int
929 // SPARC:#define __INT64_C_SUFFIX__ LL
930 // SPARC:#define __INT64_TYPE__ long long int
931 // SPARC:#define __INT8_TYPE__ char
932 // SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
933 // SPARC:#define __INTMAX_TYPE__ long long int
934 // SPARC:#define __INTMAX_WIDTH__ 64
935 // SPARC:#define __INTPTR_TYPE__ long int
936 // SPARC:#define __INTPTR_WIDTH__ 32
937 // SPARC:#define __INT_MAX__ 2147483647
938 // SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
939 // SPARC:#define __LDBL_DIG__ 15
940 // SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16
941 // SPARC:#define __LDBL_HAS_DENORM__ 1
942 // SPARC:#define __LDBL_HAS_INFINITY__ 1
943 // SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
944 // SPARC:#define __LDBL_MANT_DIG__ 53
945 // SPARC:#define __LDBL_MAX_10_EXP__ 308
946 // SPARC:#define __LDBL_MAX_EXP__ 1024
947 // SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308
948 // SPARC:#define __LDBL_MIN_10_EXP__ (-307)
949 // SPARC:#define __LDBL_MIN_EXP__ (-1021)
950 // SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308
951 // SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
952 // SPARC:#define __LONG_MAX__ 2147483647L
953 // SPARC:#define __NO_INLINE__ 1
954 // SPARC:#define __POINTER_WIDTH__ 32
955 // SPARC:#define __PTRDIFF_TYPE__ long int
956 // SPARC:#define __PTRDIFF_WIDTH__ 32
957 // SPARC:#define __REGISTER_PREFIX__
958 // SPARC:#define __SCHAR_MAX__ 127
959 // SPARC:#define __SHRT_MAX__ 32767
960 // SPARC:#define __SIG_ATOMIC_WIDTH__ 32
961 // SPARC:#define __SIZEOF_DOUBLE__ 8
962 // SPARC:#define __SIZEOF_FLOAT__ 4
963 // SPARC:#define __SIZEOF_INT__ 4
964 // SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
965 // SPARC:#define __SIZEOF_LONG_LONG__ 8
966 // SPARC:#define __SIZEOF_LONG__ 4
967 // SPARC:#define __SIZEOF_POINTER__ 4
968 // SPARC:#define __SIZEOF_PTRDIFF_T__ 4
969 // SPARC:#define __SIZEOF_SHORT__ 2
970 // SPARC:#define __SIZEOF_SIZE_T__ 4
971 // SPARC:#define __SIZEOF_WCHAR_T__ 4
972 // SPARC:#define __SIZEOF_WINT_T__ 4
973 // SPARC:#define __SIZE_TYPE__ long unsigned int
974 // SPARC:#define __SIZE_WIDTH__ 32
975 // SPARC:#define __UINTMAX_TYPE__ long long unsigned int
976 // SPARC:#define __USER_LABEL_PREFIX__ _
977 // SPARC:#define __VERSION__ "4.2.1 Compatible
978 // SPARC:#define __WCHAR_MAX__ 2147483647
979 // SPARC:#define __WCHAR_TYPE__ int
980 // SPARC:#define __WCHAR_WIDTH__ 32
981 // SPARC:#define __WINT_TYPE__ int
982 // SPARC:#define __WINT_WIDTH__ 32
983 // SPARC:#define __sparc 1
984 // SPARC:#define __sparc__ 1
985 // SPARC:#define __sparcv8 1
986 // SPARC:#define sparc 1
987 //
988 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
989 //
990 // TCE:#define __CHAR16_TYPE__ unsigned short
991 // TCE:#define __CHAR32_TYPE__ unsigned int
992 // TCE:#define __CHAR_BIT__ 8
993 // TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45F
994 // TCE:#define __DBL_DIG__ 6
995 // TCE:#define __DBL_EPSILON__ 1.19209290e-7F
996 // TCE:#define __DBL_HAS_DENORM__ 1
997 // TCE:#define __DBL_HAS_INFINITY__ 1
998 // TCE:#define __DBL_HAS_QUIET_NAN__ 1
999 // TCE:#define __DBL_MANT_DIG__ 24
1000 // TCE:#define __DBL_MAX_10_EXP__ 38
1001 // TCE:#define __DBL_MAX_EXP__ 128
1002 // TCE:#define __DBL_MAX__ 3.40282347e+38F
1003 // TCE:#define __DBL_MIN_10_EXP__ (-37)
1004 // TCE:#define __DBL_MIN_EXP__ (-125)
1005 // TCE:#define __DBL_MIN__ 1.17549435e-38F
1006 // TCE:#define __DECIMAL_DIG__ -1
1007 // TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1008 // TCE:#define __FLT_DIG__ 6
1009 // TCE:#define __FLT_EPSILON__ 1.19209290e-7F
1010 // TCE:#define __FLT_EVAL_METHOD__ 0
1011 // TCE:#define __FLT_HAS_DENORM__ 1
1012 // TCE:#define __FLT_HAS_INFINITY__ 1
1013 // TCE:#define __FLT_HAS_QUIET_NAN__ 1
1014 // TCE:#define __FLT_MANT_DIG__ 24
1015 // TCE:#define __FLT_MAX_10_EXP__ 38
1016 // TCE:#define __FLT_MAX_EXP__ 128
1017 // TCE:#define __FLT_MAX__ 3.40282347e+38F
1018 // TCE:#define __FLT_MIN_10_EXP__ (-37)
1019 // TCE:#define __FLT_MIN_EXP__ (-125)
1020 // TCE:#define __FLT_MIN__ 1.17549435e-38F
1021 // TCE:#define __FLT_RADIX__ 2
1022 // TCE:#define __INT16_TYPE__ short
1023 // TCE:#define __INT32_TYPE__ int
1024 // TCE:#define __INT8_TYPE__ char
1025 // TCE:#define __INTMAX_MAX__ 2147483647L
1026 // TCE:#define __INTMAX_TYPE__ long int
1027 // TCE:#define __INTMAX_WIDTH__ 32
1028 // TCE:#define __INTPTR_TYPE__ int
1029 // TCE:#define __INTPTR_WIDTH__ 32
1030 // TCE:#define __INT_MAX__ 2147483647
1031 // TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45F
1032 // TCE:#define __LDBL_DIG__ 6
1033 // TCE:#define __LDBL_EPSILON__ 1.19209290e-7F
1034 // TCE:#define __LDBL_HAS_DENORM__ 1
1035 // TCE:#define __LDBL_HAS_INFINITY__ 1
1036 // TCE:#define __LDBL_HAS_QUIET_NAN__ 1
1037 // TCE:#define __LDBL_MANT_DIG__ 24
1038 // TCE:#define __LDBL_MAX_10_EXP__ 38
1039 // TCE:#define __LDBL_MAX_EXP__ 128
1040 // TCE:#define __LDBL_MAX__ 3.40282347e+38F
1041 // TCE:#define __LDBL_MIN_10_EXP__ (-37)
1042 // TCE:#define __LDBL_MIN_EXP__ (-125)
1043 // TCE:#define __LDBL_MIN__ 1.17549435e-38F
1044 // TCE:#define __LONG_LONG_MAX__ 2147483647LL
1045 // TCE:#define __LONG_MAX__ 2147483647L
1046 // TCE:#define __NO_INLINE__ 1
1047 // TCE:#define __POINTER_WIDTH__ 32
1048 // TCE:#define __PTRDIFF_TYPE__ int
1049 // TCE:#define __PTRDIFF_WIDTH__ 32
1050 // TCE:#define __SCHAR_MAX__ 127
1051 // TCE:#define __SHRT_MAX__ 32767
1052 // TCE:#define __SIG_ATOMIC_WIDTH__ 32
1053 // TCE:#define __SIZEOF_DOUBLE__ 4
1054 // TCE:#define __SIZEOF_FLOAT__ 4
1055 // TCE:#define __SIZEOF_INT__ 4
1056 // TCE:#define __SIZEOF_LONG_DOUBLE__ 4
1057 // TCE:#define __SIZEOF_LONG_LONG__ 4
1058 // TCE:#define __SIZEOF_LONG__ 4
1059 // TCE:#define __SIZEOF_POINTER__ 4
1060 // TCE:#define __SIZEOF_PTRDIFF_T__ 4
1061 // TCE:#define __SIZEOF_SHORT__ 2
1062 // TCE:#define __SIZEOF_SIZE_T__ 4
1063 // TCE:#define __SIZEOF_WCHAR_T__ 4
1064 // TCE:#define __SIZEOF_WINT_T__ 4
1065 // TCE:#define __SIZE_TYPE__ unsigned int
1066 // TCE:#define __SIZE_WIDTH__ 32
1067 // TCE:#define __TCE_V1__ 1
1068 // TCE:#define __TCE__ 1
1069 // TCE:#define __UINTMAX_TYPE__ long unsigned int
1070 // TCE:#define __USER_LABEL_PREFIX__ _
1071 // TCE:#define __WCHAR_MAX__ 2147483647
1072 // TCE:#define __WCHAR_TYPE__ int
1073 // TCE:#define __WCHAR_WIDTH__ 32
1074 // TCE:#define __WINT_TYPE__ int
1075 // TCE:#define __WINT_WIDTH__ 32
1076 // TCE:#define __tce 1
1077 // TCE:#define __tce__ 1
1078 // TCE:#define tce 1
1079 //
1080 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-none-none < /dev/null | FileCheck -check-prefix X86_64 %s
1081 //
1082 // X86_64:#define _LP64 1
1083 // X86_64:#define __CHAR16_TYPE__ unsigned short
1084 // X86_64:#define __CHAR32_TYPE__ unsigned int
1085 // X86_64:#define __CHAR_BIT__ 8
1086 // X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1087 // X86_64:#define __DBL_DIG__ 15
1088 // X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1089 // X86_64:#define __DBL_HAS_DENORM__ 1
1090 // X86_64:#define __DBL_HAS_INFINITY__ 1
1091 // X86_64:#define __DBL_HAS_QUIET_NAN__ 1
1092 // X86_64:#define __DBL_MANT_DIG__ 53
1093 // X86_64:#define __DBL_MAX_10_EXP__ 308
1094 // X86_64:#define __DBL_MAX_EXP__ 1024
1095 // X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
1096 // X86_64:#define __DBL_MIN_10_EXP__ (-307)
1097 // X86_64:#define __DBL_MIN_EXP__ (-1021)
1098 // X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
1099 // X86_64:#define __DECIMAL_DIG__ 21
1100 // X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1101 // X86_64:#define __FLT_DIG__ 6
1102 // X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
1103 // X86_64:#define __FLT_EVAL_METHOD__ 0
1104 // X86_64:#define __FLT_HAS_DENORM__ 1
1105 // X86_64:#define __FLT_HAS_INFINITY__ 1
1106 // X86_64:#define __FLT_HAS_QUIET_NAN__ 1
1107 // X86_64:#define __FLT_MANT_DIG__ 24
1108 // X86_64:#define __FLT_MAX_10_EXP__ 38
1109 // X86_64:#define __FLT_MAX_EXP__ 128
1110 // X86_64:#define __FLT_MAX__ 3.40282347e+38F
1111 // X86_64:#define __FLT_MIN_10_EXP__ (-37)
1112 // X86_64:#define __FLT_MIN_EXP__ (-125)
1113 // X86_64:#define __FLT_MIN__ 1.17549435e-38F
1114 // X86_64:#define __FLT_RADIX__ 2
1115 // X86_64:#define __INT16_TYPE__ short
1116 // X86_64:#define __INT32_TYPE__ int
1117 // X86_64:#define __INT64_C_SUFFIX__ L
1118 // X86_64:#define __INT64_TYPE__ long int
1119 // X86_64:#define __INT8_TYPE__ char
1120 // X86_64:#define __INTMAX_MAX__ 9223372036854775807L
1121 // X86_64:#define __INTMAX_TYPE__ long int
1122 // X86_64:#define __INTMAX_WIDTH__ 64
1123 // X86_64:#define __INTPTR_TYPE__ long int
1124 // X86_64:#define __INTPTR_WIDTH__ 64
1125 // X86_64:#define __INT_MAX__ 2147483647
1126 // X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1127 // X86_64:#define __LDBL_DIG__ 18
1128 // X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1129 // X86_64:#define __LDBL_HAS_DENORM__ 1
1130 // X86_64:#define __LDBL_HAS_INFINITY__ 1
1131 // X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
1132 // X86_64:#define __LDBL_MANT_DIG__ 64
1133 // X86_64:#define __LDBL_MAX_10_EXP__ 4932
1134 // X86_64:#define __LDBL_MAX_EXP__ 16384
1135 // X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1136 // X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
1137 // X86_64:#define __LDBL_MIN_EXP__ (-16381)
1138 // X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1139 // X86_64:#define __LITTLE_ENDIAN__ 1
1140 // X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1141 // X86_64:#define __LONG_MAX__ 9223372036854775807L
1142 // X86_64:#define __LP64__ 1
1143 // X86_64:#define __MMX__ 1
1144 // X86_64:#define __NO_INLINE__ 1
1145 // X86_64:#define __NO_MATH_INLINES 1
1146 // X86_64:#define __POINTER_WIDTH__ 64
1147 // X86_64:#define __PTRDIFF_TYPE__ long int
1148 // X86_64:#define __PTRDIFF_WIDTH__ 64
1149 // X86_64:#define __REGISTER_PREFIX__
1150 // X86_64:#define __SCHAR_MAX__ 127
1151 // X86_64:#define __SHRT_MAX__ 32767
1152 // X86_64:#define __SIG_ATOMIC_WIDTH__ 32
1153 // X86_64:#define __SIZEOF_DOUBLE__ 8
1154 // X86_64:#define __SIZEOF_FLOAT__ 4
1155 // X86_64:#define __SIZEOF_INT__ 4
1156 // X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
1157 // X86_64:#define __SIZEOF_LONG_LONG__ 8
1158 // X86_64:#define __SIZEOF_LONG__ 8
1159 // X86_64:#define __SIZEOF_POINTER__ 8
1160 // X86_64:#define __SIZEOF_PTRDIFF_T__ 8
1161 // X86_64:#define __SIZEOF_SHORT__ 2
1162 // X86_64:#define __SIZEOF_SIZE_T__ 8
1163 // X86_64:#define __SIZEOF_WCHAR_T__ 4
1164 // X86_64:#define __SIZEOF_WINT_T__ 4
1165 // X86_64:#define __SIZE_TYPE__ long unsigned int
1166 // X86_64:#define __SIZE_WIDTH__ 64
1167 // X86_64:#define __SSE2_MATH__ 1
1168 // X86_64:#define __SSE2__ 1
1169 // X86_64:#define __SSE_MATH__ 1
1170 // X86_64:#define __SSE__ 1
1171 // X86_64:#define __UINTMAX_TYPE__ long unsigned int
1172 // X86_64:#define __USER_LABEL_PREFIX__ _
1173 // X86_64:#define __WCHAR_MAX__ 2147483647
1174 // X86_64:#define __WCHAR_TYPE__ int
1175 // X86_64:#define __WCHAR_WIDTH__ 32
1176 // X86_64:#define __WINT_TYPE__ int
1177 // X86_64:#define __WINT_WIDTH__ 32
1178 // X86_64:#define __amd64 1
1179 // X86_64:#define __amd64__ 1
1180 // X86_64:#define __x86_64 1
1181 // X86_64:#define __x86_64__ 1
1182 //
1183 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
1184 //
1185 // X86_64-LINUX:#define _LP64 1
1186 // X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
1187 // X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
1188 // X86_64-LINUX:#define __CHAR_BIT__ 8
1189 // X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1190 // X86_64-LINUX:#define __DBL_DIG__ 15
1191 // X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
1192 // X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
1193 // X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
1194 // X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
1195 // X86_64-LINUX:#define __DBL_MANT_DIG__ 53
1196 // X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
1197 // X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
1198 // X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
1199 // X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
1200 // X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
1201 // X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
1202 // X86_64-LINUX:#define __DECIMAL_DIG__ 21
1203 // X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1204 // X86_64-LINUX:#define __FLT_DIG__ 6
1205 // X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
1206 // X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
1207 // X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
1208 // X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
1209 // X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
1210 // X86_64-LINUX:#define __FLT_MANT_DIG__ 24
1211 // X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
1212 // X86_64-LINUX:#define __FLT_MAX_EXP__ 128
1213 // X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
1214 // X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
1215 // X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
1216 // X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
1217 // X86_64-LINUX:#define __FLT_RADIX__ 2
1218 // X86_64-LINUX:#define __INT16_TYPE__ short
1219 // X86_64-LINUX:#define __INT32_TYPE__ int
1220 // X86_64-LINUX:#define __INT64_C_SUFFIX__ L
1221 // X86_64-LINUX:#define __INT64_TYPE__ long int
1222 // X86_64-LINUX:#define __INT8_TYPE__ char
1223 // X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
1224 // X86_64-LINUX:#define __INTMAX_TYPE__ long int
1225 // X86_64-LINUX:#define __INTMAX_WIDTH__ 64
1226 // X86_64-LINUX:#define __INTPTR_TYPE__ long int
1227 // X86_64-LINUX:#define __INTPTR_WIDTH__ 64
1228 // X86_64-LINUX:#define __INT_MAX__ 2147483647
1229 // X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1230 // X86_64-LINUX:#define __LDBL_DIG__ 18
1231 // X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1232 // X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
1233 // X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
1234 // X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
1235 // X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
1236 // X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
1237 // X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
1238 // X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1239 // X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
1240 // X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
1241 // X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1242 // X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
1243 // X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
1244 // X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
1245 // X86_64-LINUX:#define __LP64__ 1
1246 // X86_64-LINUX:#define __MMX__ 1
1247 // X86_64-LINUX:#define __NO_INLINE__ 1
1248 // X86_64-LINUX:#define __NO_MATH_INLINES 1
1249 // X86_64-LINUX:#define __POINTER_WIDTH__ 64
1250 // X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
1251 // X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
1252 // X86_64-LINUX:#define __REGISTER_PREFIX__
1253 // X86_64-LINUX:#define __SCHAR_MAX__ 127
1254 // X86_64-LINUX:#define __SHRT_MAX__ 32767
1255 // X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
1256 // X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
1257 // X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
1258 // X86_64-LINUX:#define __SIZEOF_INT__ 4
1259 // X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
1260 // X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
1261 // X86_64-LINUX:#define __SIZEOF_LONG__ 8
1262 // X86_64-LINUX:#define __SIZEOF_POINTER__ 8
1263 // X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
1264 // X86_64-LINUX:#define __SIZEOF_SHORT__ 2
1265 // X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
1266 // X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
1267 // X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
1268 // X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
1269 // X86_64-LINUX:#define __SIZE_WIDTH__ 64
1270 // X86_64-LINUX:#define __SSE2_MATH__ 1
1271 // X86_64-LINUX:#define __SSE2__ 1
1272 // X86_64-LINUX:#define __SSE_MATH__ 1
1273 // X86_64-LINUX:#define __SSE__ 1
1274 // X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
1275 // X86_64-LINUX:#define __USER_LABEL_PREFIX__
1276 // X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
1277 // X86_64-LINUX:#define __WCHAR_TYPE__ int
1278 // X86_64-LINUX:#define __WCHAR_WIDTH__ 32
1279 // X86_64-LINUX:#define __WINT_TYPE__ unsigned int
1280 // X86_64-LINUX:#define __WINT_WIDTH__ 32
1281 // X86_64-LINUX:#define __amd64 1
1282 // X86_64-LINUX:#define __amd64__ 1
1283 // X86_64-LINUX:#define __x86_64 1
1284 // X86_64-LINUX:#define __x86_64__ 1
1285 //
1286 // RUN: %clang_cc1 -x c++ -triple i686-pc-linux-gnu -fobjc-fragile-abi -E -dM < /dev/null | FileCheck -check-prefix GNUSOURCE %s
1287 // GNUSOURCE:#define _GNU_SOURCE 1
1288 //
1289 // RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
1290 // NORTTI: __GXX_ABI_VERSION
1291 // NORTTI-NOT:#define __GXX_RTTI
1292 // NORTTI: __STDC__
1293