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++1y -E -dM < /dev/null | FileCheck -check-prefix CXX1Y %s
13 //
14 // CXX1Y:#define __GNUG__
15 // CXX1Y:#define __GXX_EXPERIMENTAL_CXX0X__ 1
16 // CXX1Y:#define __GXX_RTTI 1
17 // CXX1Y:#define __GXX_WEAK__ 1
18 // CXX1Y:#define __cplusplus 201305L
19 // CXX1Y:#define __private_extern__ extern
20 //
21 //
22 // RUN: %clang_cc1 -x c++ -std=c++11 -E -dM < /dev/null | FileCheck -check-prefix CXX11 %s
23 //
24 // CXX11:#define __GNUG__
25 // CXX11:#define __GXX_EXPERIMENTAL_CXX0X__ 1
26 // CXX11:#define __GXX_RTTI 1
27 // CXX11:#define __GXX_WEAK__ 1
28 // CXX11:#define __cplusplus 201103L
29 // CXX11:#define __private_extern__ extern
30 //
31 //
32 // RUN: %clang_cc1 -x c++ -std=c++98 -E -dM < /dev/null | FileCheck -check-prefix CXX98 %s
33 //
34 // CXX98:#define __GNUG__
35 // CXX98:#define __GXX_RTTI 1
36 // CXX98:#define __GXX_WEAK__ 1
37 // CXX98:#define __cplusplus 199711L
38 // CXX98:#define __private_extern__ extern
39 //
40 //
41 // RUN: %clang_cc1 -fdeprecated-macro -E -dM < /dev/null | FileCheck -check-prefix DEPRECATED %s
42 //
43 // DEPRECATED:#define __DEPRECATED 1
44 //
45 //
46 // RUN: %clang_cc1 -std=c99 -E -dM < /dev/null | FileCheck -check-prefix C99 %s
47 //
48 // C99:#define __STDC_VERSION__ 199901L
49 // C99:#define __STRICT_ANSI__ 1
50 //
51 //
52 // RUN: %clang_cc1 -std=c11 -E -dM < /dev/null | FileCheck -check-prefix C11 %s
53 //
54 // C11:#define __STDC_UTF_16__ 1
55 // C11:#define __STDC_UTF_32__ 1
56 // C11:#define __STDC_VERSION__ 201112L
57 // C11:#define __STRICT_ANSI__ 1
58 //
59 //
60 // RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix COMMON %s
61 //
62 // COMMON:#define __CONSTANT_CFSTRINGS__ 1
63 // COMMON:#define __FINITE_MATH_ONLY__ 0
64 // COMMON:#define __GNUC_MINOR__
65 // COMMON:#define __GNUC_PATCHLEVEL__
66 // COMMON:#define __GNUC_STDC_INLINE__ 1
67 // COMMON:#define __GNUC__
68 // COMMON:#define __GXX_ABI_VERSION
69 // COMMON:#define __ORDER_BIG_ENDIAN__ 4321
70 // COMMON:#define __ORDER_LITTLE_ENDIAN__ 1234
71 // COMMON:#define __ORDER_PDP_ENDIAN__ 3412
72 // COMMON:#define __STDC_HOSTED__ 1
73 // COMMON:#define __STDC_VERSION__
74 // COMMON:#define __STDC__ 1
75 // COMMON:#define __VERSION__
76 // COMMON:#define __clang__ 1
77 // COMMON:#define __clang_major__ {{[0-9]+}}
78 // COMMON:#define __clang_minor__ {{[0-9]+}}
79 // COMMON:#define __clang_patchlevel__ {{[0-9]+}}
80 // COMMON:#define __clang_version__
81 // COMMON:#define __llvm__ 1
82 //
83 //
84 // RUN: %clang_cc1 -ffreestanding -E -dM < /dev/null | FileCheck -check-prefix FREESTANDING %s
85 // FREESTANDING:#define __STDC_HOSTED__ 0
86 //
87 //
88 // RUN: %clang_cc1 -x c++ -std=gnu++1y -E -dM < /dev/null | FileCheck -check-prefix GXX1Y %s
89 //
90 // GXX1Y:#define __GNUG__
91 // GXX1Y:#define __GXX_WEAK__ 1
92 // GXX1Y:#define __cplusplus 201305L
93 // GXX1Y:#define __private_extern__ extern
94 //
95 //
96 // RUN: %clang_cc1 -x c++ -std=gnu++11 -E -dM < /dev/null | FileCheck -check-prefix GXX11 %s
97 //
98 // GXX11:#define __GNUG__
99 // GXX11:#define __GXX_WEAK__ 1
100 // GXX11:#define __cplusplus 201103L
101 // GXX11:#define __private_extern__ extern
102 //
103 //
104 // RUN: %clang_cc1 -x c++ -std=gnu++98 -E -dM < /dev/null | FileCheck -check-prefix GXX98 %s
105 //
106 // GXX98:#define __GNUG__
107 // GXX98:#define __GXX_WEAK__ 1
108 // GXX98:#define __cplusplus 199711L
109 // GXX98:#define __private_extern__ extern
110 //
111 //
112 // RUN: %clang_cc1 -std=iso9899:199409 -E -dM < /dev/null | FileCheck -check-prefix C94 %s
113 //
114 // C94:#define __STDC_VERSION__ 199409L
115 //
116 //
117 // RUN: %clang_cc1 -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT %s
118 //
119 // MSEXT-NOT:#define __STDC__
120 // MSEXT:#define _INTEGRAL_MAX_BITS 64
121 // MSEXT-NOT:#define _NATIVE_WCHAR_T_DEFINED 1
122 // MSEXT-NOT:#define _WCHAR_T_DEFINED 1
123 //
124 //
125 // RUN: %clang_cc1 -x c++ -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT-CXX %s
126 //
127 // MSEXT-CXX:#define _NATIVE_WCHAR_T_DEFINED 1
128 // MSEXT-CXX:#define _WCHAR_T_DEFINED 1
129 //
130 //
131 // RUN: %clang_cc1 -x c++ -fno-wchar -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT-CXX-NOWCHAR %s
132 //
133 // MSEXT-CXX-NOWCHAR-NOT:#define _NATIVE_WCHAR_T_DEFINED 1
134 // MSEXT-CXX-NOWCHAR-NOT:#define _WCHAR_T_DEFINED 1
135 //
136 //
137 // RUN: %clang_cc1 -x objective-c -E -dM < /dev/null | FileCheck -check-prefix OBJC %s
138 //
139 // OBJC:#define OBJC_NEW_PROPERTIES 1
140 // OBJC:#define __NEXT_RUNTIME__ 1
141 // OBJC:#define __OBJC__ 1
142 //
143 //
144 // RUN: %clang_cc1 -x objective-c -fobjc-gc -E -dM < /dev/null | FileCheck -check-prefix OBJCGC %s
145 //
146 // OBJCGC:#define __OBJC_GC__ 1
147 //
148 //
149 // RUN: %clang_cc1 -x objective-c -fobjc-exceptions -E -dM < /dev/null | FileCheck -check-prefix NONFRAGILE %s
150 //
151 // NONFRAGILE:#define OBJC_ZEROCOST_EXCEPTIONS 1
152 // NONFRAGILE:#define __OBJC2__ 1
153 //
154 //
155 // RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix O0 %s
156 //
157 // O0:#define __NO_INLINE__ 1
158 // O0-NOT:#define __OPTIMIZE_SIZE__
159 // O0-NOT:#define __OPTIMIZE__
160 //
161 //
162 // RUN: %clang_cc1 -fno-inline -O3 -E -dM < /dev/null | FileCheck -check-prefix NO_INLINE %s
163 //
164 // NO_INLINE:#define __NO_INLINE__ 1
165 // NO_INLINE-NOT:#define __OPTIMIZE_SIZE__
166 // NO_INLINE:#define __OPTIMIZE__
167 //
168 //
169 // RUN: %clang_cc1 -O1 -E -dM < /dev/null | FileCheck -check-prefix O1 %s
170 //
171 // O1-NOT:#define __OPTIMIZE_SIZE__
172 // O1:#define __OPTIMIZE__ 1
173 //
174 //
175 // RUN: %clang_cc1 -Os -E -dM < /dev/null | FileCheck -check-prefix Os %s
176 //
177 // Os:#define __OPTIMIZE_SIZE__ 1
178 // Os:#define __OPTIMIZE__ 1
179 //
180 //
181 // RUN: %clang_cc1 -Oz -E -dM < /dev/null | FileCheck -check-prefix Oz %s
182 //
183 // Oz:#define __OPTIMIZE_SIZE__ 1
184 // Oz:#define __OPTIMIZE__ 1
185 //
186 //
187 // RUN: %clang_cc1 -fpascal-strings -E -dM < /dev/null | FileCheck -check-prefix PASCAL %s
188 //
189 // PASCAL:#define __PASCAL_STRINGS__ 1
190 //
191 //
192 // RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix SCHAR %s
193 //
194 // SCHAR:#define __STDC__ 1
195 // SCHAR-NOT:#define __UNSIGNED_CHAR__
196 // SCHAR:#define __clang__ 1
197 //
198 // RUN: %clang_cc1 -E -dM -fshort-wchar < /dev/null | FileCheck -check-prefix SHORTWCHAR %s
199 //
200 // SHORTWCHAR: #define __SIZEOF_WCHAR_T__ 2
201 // SHORTWCHAR: #define __WCHAR_MAX__ 65535U
202 // SHORTWCHAR: #define __WCHAR_TYPE__ unsigned short
203 // SHORTWCHAR: #define __WCHAR_WIDTH__ 16
204 //
205 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s
206 //
207 // ARM-NOT:#define _LP64
208 // ARM:#define __APCS_32__ 1
209 // ARM:#define __ARMEL__ 1
210 // ARM:#define __ARM_ARCH_6J__ 1
211 // ARM:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
212 // ARM:#define __CHAR16_TYPE__ unsigned short
213 // ARM:#define __CHAR32_TYPE__ unsigned int
214 // ARM:#define __CHAR_BIT__ 8
215 // ARM:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
216 // ARM:#define __DBL_DIG__ 15
217 // ARM:#define __DBL_EPSILON__ 2.2204460492503131e-16
218 // ARM:#define __DBL_HAS_DENORM__ 1
219 // ARM:#define __DBL_HAS_INFINITY__ 1
220 // ARM:#define __DBL_HAS_QUIET_NAN__ 1
221 // ARM:#define __DBL_MANT_DIG__ 53
222 // ARM:#define __DBL_MAX_10_EXP__ 308
223 // ARM:#define __DBL_MAX_EXP__ 1024
224 // ARM:#define __DBL_MAX__ 1.7976931348623157e+308
225 // ARM:#define __DBL_MIN_10_EXP__ (-307)
226 // ARM:#define __DBL_MIN_EXP__ (-1021)
227 // ARM:#define __DBL_MIN__ 2.2250738585072014e-308
228 // ARM:#define __DECIMAL_DIG__ 17
229 // ARM:#define __FLT_DENORM_MIN__ 1.40129846e-45F
230 // ARM:#define __FLT_DIG__ 6
231 // ARM:#define __FLT_EPSILON__ 1.19209290e-7F
232 // ARM:#define __FLT_EVAL_METHOD__ 0
233 // ARM:#define __FLT_HAS_DENORM__ 1
234 // ARM:#define __FLT_HAS_INFINITY__ 1
235 // ARM:#define __FLT_HAS_QUIET_NAN__ 1
236 // ARM:#define __FLT_MANT_DIG__ 24
237 // ARM:#define __FLT_MAX_10_EXP__ 38
238 // ARM:#define __FLT_MAX_EXP__ 128
239 // ARM:#define __FLT_MAX__ 3.40282347e+38F
240 // ARM:#define __FLT_MIN_10_EXP__ (-37)
241 // ARM:#define __FLT_MIN_EXP__ (-125)
242 // ARM:#define __FLT_MIN__ 1.17549435e-38F
243 // ARM:#define __FLT_RADIX__ 2
244 // ARM:#define __INT16_TYPE__ short
245 // ARM:#define __INT32_TYPE__ int
246 // ARM:#define __INT64_C_SUFFIX__ LL
247 // ARM:#define __INT64_TYPE__ long long int
248 // ARM:#define __INT8_TYPE__ char
249 // ARM:#define __INTMAX_MAX__ 9223372036854775807LL
250 // ARM:#define __INTMAX_TYPE__ long long int
251 // ARM:#define __INTMAX_WIDTH__ 64
252 // ARM:#define __INTPTR_TYPE__ long int
253 // ARM:#define __INTPTR_WIDTH__ 32
254 // ARM:#define __INT_MAX__ 2147483647
255 // ARM:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
256 // ARM:#define __LDBL_DIG__ 15
257 // ARM:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
258 // ARM:#define __LDBL_HAS_DENORM__ 1
259 // ARM:#define __LDBL_HAS_INFINITY__ 1
260 // ARM:#define __LDBL_HAS_QUIET_NAN__ 1
261 // ARM:#define __LDBL_MANT_DIG__ 53
262 // ARM:#define __LDBL_MAX_10_EXP__ 308
263 // ARM:#define __LDBL_MAX_EXP__ 1024
264 // ARM:#define __LDBL_MAX__ 1.7976931348623157e+308L
265 // ARM:#define __LDBL_MIN_10_EXP__ (-307)
266 // ARM:#define __LDBL_MIN_EXP__ (-1021)
267 // ARM:#define __LDBL_MIN__ 2.2250738585072014e-308L
268 // ARM:#define __LITTLE_ENDIAN__ 1
269 // ARM:#define __LONG_LONG_MAX__ 9223372036854775807LL
270 // ARM:#define __LONG_MAX__ 2147483647L
271 // ARM-NOT:#define __LP64__
272 // ARM:#define __POINTER_WIDTH__ 32
273 // ARM:#define __PTRDIFF_TYPE__ int
274 // ARM:#define __PTRDIFF_WIDTH__ 32
275 // ARM:#define __REGISTER_PREFIX__
276 // ARM:#define __SCHAR_MAX__ 127
277 // ARM:#define __SHRT_MAX__ 32767
278 // ARM:#define __SIG_ATOMIC_WIDTH__ 32
279 // ARM:#define __SIZEOF_DOUBLE__ 8
280 // ARM:#define __SIZEOF_FLOAT__ 4
281 // ARM:#define __SIZEOF_INT__ 4
282 // ARM:#define __SIZEOF_LONG_DOUBLE__ 8
283 // ARM:#define __SIZEOF_LONG_LONG__ 8
284 // ARM:#define __SIZEOF_LONG__ 4
285 // ARM:#define __SIZEOF_POINTER__ 4
286 // ARM:#define __SIZEOF_PTRDIFF_T__ 4
287 // ARM:#define __SIZEOF_SHORT__ 2
288 // ARM:#define __SIZEOF_SIZE_T__ 4
289 // ARM:#define __SIZEOF_WCHAR_T__ 4
290 // ARM:#define __SIZEOF_WINT_T__ 4
291 // ARM:#define __SIZE_MAX__ 4294967295U
292 // ARM:#define __SIZE_TYPE__ unsigned int
293 // ARM:#define __SIZE_WIDTH__ 32
294 // ARM:#define __THUMB_INTERWORK__ 1
295 // ARM:#define __UINTMAX_TYPE__ long long unsigned int
296 // ARM:#define __USER_LABEL_PREFIX__ _
297 // ARM:#define __WCHAR_MAX__ 4294967295U
298 // ARM:#define __WCHAR_TYPE__ unsigned int
299 // ARM:#define __WCHAR_WIDTH__ 32
300 // ARM:#define __WINT_TYPE__ int
301 // ARM:#define __WINT_WIDTH__ 32
302 // ARM:#define __arm 1
303 // ARM:#define __arm__ 1
304 
305 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-linux-gnueabi -target-feature +soft-float -target-feature +soft-float-abi < /dev/null | FileCheck -check-prefix ARMEABISOFTFP %s
306 //
307 // ARM-NOT:#define _LP64
308 // ARMEABISOFTFP:#define __APCS_32__ 1
309 // ARMEABISOFTFP:#define __ARMEL__ 1
310 // ARMEABISOFTFP:#define __ARM_ARCH 6
311 // ARMEABISOFTFP:#define __ARM_ARCH_6J__ 1
312 // ARMEABISOFTFP:#define __ARM_EABI__ 1
313 // ARMEABISOFTFP:#define __ARM_PCS 1
314 // ARMEABISOFTFP-NOT:#define __ARM_PCS_VFP 1
315 // ARMEABISOFTFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
316 // ARMEABISOFTFP:#define __CHAR16_TYPE__ unsigned short
317 // ARMEABISOFTFP:#define __CHAR32_TYPE__ unsigned int
318 // ARMEABISOFTFP:#define __CHAR_BIT__ 8
319 // ARMEABISOFTFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
320 // ARMEABISOFTFP:#define __DBL_DIG__ 15
321 // ARMEABISOFTFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
322 // ARMEABISOFTFP:#define __DBL_HAS_DENORM__ 1
323 // ARMEABISOFTFP:#define __DBL_HAS_INFINITY__ 1
324 // ARMEABISOFTFP:#define __DBL_HAS_QUIET_NAN__ 1
325 // ARMEABISOFTFP:#define __DBL_MANT_DIG__ 53
326 // ARMEABISOFTFP:#define __DBL_MAX_10_EXP__ 308
327 // ARMEABISOFTFP:#define __DBL_MAX_EXP__ 1024
328 // ARMEABISOFTFP:#define __DBL_MAX__ 1.7976931348623157e+308
329 // ARMEABISOFTFP:#define __DBL_MIN_10_EXP__ (-307)
330 // ARMEABISOFTFP:#define __DBL_MIN_EXP__ (-1021)
331 // ARMEABISOFTFP:#define __DBL_MIN__ 2.2250738585072014e-308
332 // ARMEABISOFTFP:#define __DECIMAL_DIG__ 17
333 // ARMEABISOFTFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
334 // ARMEABISOFTFP:#define __FLT_DIG__ 6
335 // ARMEABISOFTFP:#define __FLT_EPSILON__ 1.19209290e-7F
336 // ARMEABISOFTFP:#define __FLT_EVAL_METHOD__ 0
337 // ARMEABISOFTFP:#define __FLT_HAS_DENORM__ 1
338 // ARMEABISOFTFP:#define __FLT_HAS_INFINITY__ 1
339 // ARMEABISOFTFP:#define __FLT_HAS_QUIET_NAN__ 1
340 // ARMEABISOFTFP:#define __FLT_MANT_DIG__ 24
341 // ARMEABISOFTFP:#define __FLT_MAX_10_EXP__ 38
342 // ARMEABISOFTFP:#define __FLT_MAX_EXP__ 128
343 // ARMEABISOFTFP:#define __FLT_MAX__ 3.40282347e+38F
344 // ARMEABISOFTFP:#define __FLT_MIN_10_EXP__ (-37)
345 // ARMEABISOFTFP:#define __FLT_MIN_EXP__ (-125)
346 // ARMEABISOFTFP:#define __FLT_MIN__ 1.17549435e-38F
347 // ARMEABISOFTFP:#define __FLT_RADIX__ 2
348 // ARMEABISOFTFP:#define __INT16_TYPE__ short
349 // ARMEABISOFTFP:#define __INT32_TYPE__ int
350 // ARMEABISOFTFP:#define __INT64_C_SUFFIX__ LL
351 // ARMEABISOFTFP:#define __INT64_TYPE__ long long int
352 // ARMEABISOFTFP:#define __INT8_TYPE__ char
353 // ARMEABISOFTFP:#define __INTMAX_MAX__ 9223372036854775807LL
354 // ARMEABISOFTFP:#define __INTMAX_TYPE__ long long int
355 // ARMEABISOFTFP:#define __INTMAX_WIDTH__ 64
356 // ARMEABISOFTFP:#define __INTPTR_TYPE__ long int
357 // ARMEABISOFTFP:#define __INTPTR_WIDTH__ 32
358 // ARMEABISOFTFP:#define __INT_MAX__ 2147483647
359 // ARMEABISOFTFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
360 // ARMEABISOFTFP:#define __LDBL_DIG__ 15
361 // ARMEABISOFTFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
362 // ARMEABISOFTFP:#define __LDBL_HAS_DENORM__ 1
363 // ARMEABISOFTFP:#define __LDBL_HAS_INFINITY__ 1
364 // ARMEABISOFTFP:#define __LDBL_HAS_QUIET_NAN__ 1
365 // ARMEABISOFTFP:#define __LDBL_MANT_DIG__ 53
366 // ARMEABISOFTFP:#define __LDBL_MAX_10_EXP__ 308
367 // ARMEABISOFTFP:#define __LDBL_MAX_EXP__ 1024
368 // ARMEABISOFTFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
369 // ARMEABISOFTFP:#define __LDBL_MIN_10_EXP__ (-307)
370 // ARMEABISOFTFP:#define __LDBL_MIN_EXP__ (-1021)
371 // ARMEABISOFTFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
372 // ARMEABISOFTFP:#define __LITTLE_ENDIAN__ 1
373 // ARMEABISOFTFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
374 // ARMEABISOFTFP:#define __LONG_MAX__ 2147483647L
375 // ARMEABISOFTFP-NOT:#define __LP64__
376 // ARMEABISOFTFP:#define __POINTER_WIDTH__ 32
377 // ARMEABISOFTFP:#define __PTRDIFF_TYPE__ int
378 // ARMEABISOFTFP:#define __PTRDIFF_WIDTH__ 32
379 // ARMEABISOFTFP:#define __REGISTER_PREFIX__
380 // ARMEABISOFTFP:#define __SCHAR_MAX__ 127
381 // ARMEABISOFTFP:#define __SHRT_MAX__ 32767
382 // ARMEABISOFTFP:#define __SIG_ATOMIC_WIDTH__ 32
383 // ARMEABISOFTFP:#define __SIZEOF_DOUBLE__ 8
384 // ARMEABISOFTFP:#define __SIZEOF_FLOAT__ 4
385 // ARMEABISOFTFP:#define __SIZEOF_INT__ 4
386 // ARMEABISOFTFP:#define __SIZEOF_LONG_DOUBLE__ 8
387 // ARMEABISOFTFP:#define __SIZEOF_LONG_LONG__ 8
388 // ARMEABISOFTFP:#define __SIZEOF_LONG__ 4
389 // ARMEABISOFTFP:#define __SIZEOF_POINTER__ 4
390 // ARMEABISOFTFP:#define __SIZEOF_PTRDIFF_T__ 4
391 // ARMEABISOFTFP:#define __SIZEOF_SHORT__ 2
392 // ARMEABISOFTFP:#define __SIZEOF_SIZE_T__ 4
393 // ARMEABISOFTFP:#define __SIZEOF_WCHAR_T__ 4
394 // ARMEABISOFTFP:#define __SIZEOF_WINT_T__ 4
395 // ARMEABISOFTFP:#define __SIZE_MAX__ 4294967295U
396 // ARMEABISOFTFP:#define __SIZE_TYPE__ unsigned int
397 // ARMEABISOFTFP:#define __SIZE_WIDTH__ 32
398 // ARMEABISOFTFP:#define __SOFTFP__ 1
399 // ARMEABISOFTFP:#define __THUMB_INTERWORK__ 1
400 // ARMEABISOFTFP:#define __UINTMAX_TYPE__ long long unsigned int
401 // ARMEABISOFTFP:#define __USER_LABEL_PREFIX__
402 // ARMEABISOFTFP:#define __WCHAR_MAX__ 4294967295U
403 // ARMEABISOFTFP:#define __WCHAR_TYPE__ unsigned int
404 // ARMEABISOFTFP:#define __WCHAR_WIDTH__ 32
405 // ARMEABISOFTFP:#define __WINT_TYPE__ unsigned int
406 // ARMEABISOFTFP:#define __WINT_WIDTH__ 32
407 // ARMEABISOFTFP:#define __arm 1
408 // ARMEABISOFTFP:#define __arm__ 1
409 
410 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-linux-gnueabi < /dev/null | FileCheck -check-prefix ARMEABIHARDFP %s
411 //
412 // ARM-NOT:#define _LP64
413 // ARMEABIHARDFP:#define __APCS_32__ 1
414 // ARMEABIHARDFP:#define __ARMEL__ 1
415 // ARMEABIHARDFP:#define __ARM_ARCH 6
416 // ARMEABIHARDFP:#define __ARM_ARCH_6J__ 1
417 // ARMEABIHARDFP:#define __ARM_EABI__ 1
418 // ARMEABIHARDFP:#define __ARM_PCS 1
419 // ARMEABIHARDFP:#define __ARM_PCS_VFP 1
420 // ARMEABIHARDFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
421 // ARMEABIHARDFP:#define __CHAR16_TYPE__ unsigned short
422 // ARMEABIHARDFP:#define __CHAR32_TYPE__ unsigned int
423 // ARMEABIHARDFP:#define __CHAR_BIT__ 8
424 // ARMEABIHARDFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
425 // ARMEABIHARDFP:#define __DBL_DIG__ 15
426 // ARMEABIHARDFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
427 // ARMEABIHARDFP:#define __DBL_HAS_DENORM__ 1
428 // ARMEABIHARDFP:#define __DBL_HAS_INFINITY__ 1
429 // ARMEABIHARDFP:#define __DBL_HAS_QUIET_NAN__ 1
430 // ARMEABIHARDFP:#define __DBL_MANT_DIG__ 53
431 // ARMEABIHARDFP:#define __DBL_MAX_10_EXP__ 308
432 // ARMEABIHARDFP:#define __DBL_MAX_EXP__ 1024
433 // ARMEABIHARDFP:#define __DBL_MAX__ 1.7976931348623157e+308
434 // ARMEABIHARDFP:#define __DBL_MIN_10_EXP__ (-307)
435 // ARMEABIHARDFP:#define __DBL_MIN_EXP__ (-1021)
436 // ARMEABIHARDFP:#define __DBL_MIN__ 2.2250738585072014e-308
437 // ARMEABIHARDFP:#define __DECIMAL_DIG__ 17
438 // ARMEABIHARDFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
439 // ARMEABIHARDFP:#define __FLT_DIG__ 6
440 // ARMEABIHARDFP:#define __FLT_EPSILON__ 1.19209290e-7F
441 // ARMEABIHARDFP:#define __FLT_EVAL_METHOD__ 0
442 // ARMEABIHARDFP:#define __FLT_HAS_DENORM__ 1
443 // ARMEABIHARDFP:#define __FLT_HAS_INFINITY__ 1
444 // ARMEABIHARDFP:#define __FLT_HAS_QUIET_NAN__ 1
445 // ARMEABIHARDFP:#define __FLT_MANT_DIG__ 24
446 // ARMEABIHARDFP:#define __FLT_MAX_10_EXP__ 38
447 // ARMEABIHARDFP:#define __FLT_MAX_EXP__ 128
448 // ARMEABIHARDFP:#define __FLT_MAX__ 3.40282347e+38F
449 // ARMEABIHARDFP:#define __FLT_MIN_10_EXP__ (-37)
450 // ARMEABIHARDFP:#define __FLT_MIN_EXP__ (-125)
451 // ARMEABIHARDFP:#define __FLT_MIN__ 1.17549435e-38F
452 // ARMEABIHARDFP:#define __FLT_RADIX__ 2
453 // ARMEABIHARDFP:#define __INT16_TYPE__ short
454 // ARMEABIHARDFP:#define __INT32_TYPE__ int
455 // ARMEABIHARDFP:#define __INT64_C_SUFFIX__ LL
456 // ARMEABIHARDFP:#define __INT64_TYPE__ long long int
457 // ARMEABIHARDFP:#define __INT8_TYPE__ char
458 // ARMEABIHARDFP:#define __INTMAX_MAX__ 9223372036854775807LL
459 // ARMEABIHARDFP:#define __INTMAX_TYPE__ long long int
460 // ARMEABIHARDFP:#define __INTMAX_WIDTH__ 64
461 // ARMEABIHARDFP:#define __INTPTR_TYPE__ long int
462 // ARMEABIHARDFP:#define __INTPTR_WIDTH__ 32
463 // ARMEABIHARDFP:#define __INT_MAX__ 2147483647
464 // ARMEABIHARDFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
465 // ARMEABIHARDFP:#define __LDBL_DIG__ 15
466 // ARMEABIHARDFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
467 // ARMEABIHARDFP:#define __LDBL_HAS_DENORM__ 1
468 // ARMEABIHARDFP:#define __LDBL_HAS_INFINITY__ 1
469 // ARMEABIHARDFP:#define __LDBL_HAS_QUIET_NAN__ 1
470 // ARMEABIHARDFP:#define __LDBL_MANT_DIG__ 53
471 // ARMEABIHARDFP:#define __LDBL_MAX_10_EXP__ 308
472 // ARMEABIHARDFP:#define __LDBL_MAX_EXP__ 1024
473 // ARMEABIHARDFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
474 // ARMEABIHARDFP:#define __LDBL_MIN_10_EXP__ (-307)
475 // ARMEABIHARDFP:#define __LDBL_MIN_EXP__ (-1021)
476 // ARMEABIHARDFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
477 // ARMEABIHARDFP:#define __LITTLE_ENDIAN__ 1
478 // ARMEABIHARDFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
479 // ARMEABIHARDFP:#define __LONG_MAX__ 2147483647L
480 // ARMEABIHARDFP-NOT:#define __LP64__
481 // ARMEABIHARDFP:#define __POINTER_WIDTH__ 32
482 // ARMEABIHARDFP:#define __PTRDIFF_TYPE__ int
483 // ARMEABIHARDFP:#define __PTRDIFF_WIDTH__ 32
484 // ARMEABIHARDFP:#define __REGISTER_PREFIX__
485 // ARMEABIHARDFP:#define __SCHAR_MAX__ 127
486 // ARMEABIHARDFP:#define __SHRT_MAX__ 32767
487 // ARMEABIHARDFP:#define __SIG_ATOMIC_WIDTH__ 32
488 // ARMEABIHARDFP:#define __SIZEOF_DOUBLE__ 8
489 // ARMEABIHARDFP:#define __SIZEOF_FLOAT__ 4
490 // ARMEABIHARDFP:#define __SIZEOF_INT__ 4
491 // ARMEABIHARDFP:#define __SIZEOF_LONG_DOUBLE__ 8
492 // ARMEABIHARDFP:#define __SIZEOF_LONG_LONG__ 8
493 // ARMEABIHARDFP:#define __SIZEOF_LONG__ 4
494 // ARMEABIHARDFP:#define __SIZEOF_POINTER__ 4
495 // ARMEABIHARDFP:#define __SIZEOF_PTRDIFF_T__ 4
496 // ARMEABIHARDFP:#define __SIZEOF_SHORT__ 2
497 // ARMEABIHARDFP:#define __SIZEOF_SIZE_T__ 4
498 // ARMEABIHARDFP:#define __SIZEOF_WCHAR_T__ 4
499 // ARMEABIHARDFP:#define __SIZEOF_WINT_T__ 4
500 // ARMEABIHARDFP:#define __SIZE_MAX__ 4294967295U
501 // ARMEABIHARDFP:#define __SIZE_TYPE__ unsigned int
502 // ARMEABIHARDFP:#define __SIZE_WIDTH__ 32
503 // ARMEABIHARDFP-NOT:#define __SOFTFP__ 1
504 // ARMEABIHARDFP:#define __THUMB_INTERWORK__ 1
505 // ARMEABIHARDFP:#define __UINTMAX_TYPE__ long long unsigned int
506 // ARMEABIHARDFP:#define __USER_LABEL_PREFIX__
507 // ARMEABIHARDFP:#define __WCHAR_MAX__ 4294967295U
508 // ARMEABIHARDFP:#define __WCHAR_TYPE__ unsigned int
509 // ARMEABIHARDFP:#define __WCHAR_WIDTH__ 32
510 // ARMEABIHARDFP:#define __WINT_TYPE__ unsigned int
511 // ARMEABIHARDFP:#define __WINT_WIDTH__ 32
512 // ARMEABIHARDFP:#define __arm 1
513 // ARMEABIHARDFP:#define __arm__ 1
514 
515 // Check that -mhwdiv works properly for targets which don't have the hwdiv feature enabled by default.
516 
517 // RUN: %clang -target arm -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-ARM %s
518 // ARMHWDIV-ARM:#define __ARM_ARCH_EXT_IDIV__ 1
519 
520 // RUN: %clang -target arm -mthumb -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-THUMB %s
521 // THUMBHWDIV-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1
522 
523 // RUN: %clang -target arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-FALSE %s
524 // ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
525 
526 // RUN: %clang -target arm -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMB-FALSE %s
527 // THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
528 
529 // RUN: %clang -target arm -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-ARM-FALSE %s
530 // THUMBHWDIV-ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
531 
532 // RUN: %clang -target arm -mthumb -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-THUMB-FALSE %s
533 // ARMHWDIV-THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
534 
535 //
536 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
537 //
538 // I386-NOT:#define _LP64
539 // I386:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
540 // I386:#define __CHAR16_TYPE__ unsigned short
541 // I386:#define __CHAR32_TYPE__ unsigned int
542 // I386:#define __CHAR_BIT__ 8
543 // I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
544 // I386:#define __DBL_DIG__ 15
545 // I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
546 // I386:#define __DBL_HAS_DENORM__ 1
547 // I386:#define __DBL_HAS_INFINITY__ 1
548 // I386:#define __DBL_HAS_QUIET_NAN__ 1
549 // I386:#define __DBL_MANT_DIG__ 53
550 // I386:#define __DBL_MAX_10_EXP__ 308
551 // I386:#define __DBL_MAX_EXP__ 1024
552 // I386:#define __DBL_MAX__ 1.7976931348623157e+308
553 // I386:#define __DBL_MIN_10_EXP__ (-307)
554 // I386:#define __DBL_MIN_EXP__ (-1021)
555 // I386:#define __DBL_MIN__ 2.2250738585072014e-308
556 // I386:#define __DECIMAL_DIG__ 21
557 // I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
558 // I386:#define __FLT_DIG__ 6
559 // I386:#define __FLT_EPSILON__ 1.19209290e-7F
560 // I386:#define __FLT_EVAL_METHOD__ 2
561 // I386:#define __FLT_HAS_DENORM__ 1
562 // I386:#define __FLT_HAS_INFINITY__ 1
563 // I386:#define __FLT_HAS_QUIET_NAN__ 1
564 // I386:#define __FLT_MANT_DIG__ 24
565 // I386:#define __FLT_MAX_10_EXP__ 38
566 // I386:#define __FLT_MAX_EXP__ 128
567 // I386:#define __FLT_MAX__ 3.40282347e+38F
568 // I386:#define __FLT_MIN_10_EXP__ (-37)
569 // I386:#define __FLT_MIN_EXP__ (-125)
570 // I386:#define __FLT_MIN__ 1.17549435e-38F
571 // I386:#define __FLT_RADIX__ 2
572 // I386:#define __INT16_TYPE__ short
573 // I386:#define __INT32_TYPE__ int
574 // I386:#define __INT64_C_SUFFIX__ LL
575 // I386:#define __INT64_TYPE__ long long int
576 // I386:#define __INT8_TYPE__ char
577 // I386:#define __INTMAX_MAX__ 9223372036854775807LL
578 // I386:#define __INTMAX_TYPE__ long long int
579 // I386:#define __INTMAX_WIDTH__ 64
580 // I386:#define __INTPTR_TYPE__ int
581 // I386:#define __INTPTR_WIDTH__ 32
582 // I386:#define __INT_MAX__ 2147483647
583 // I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
584 // I386:#define __LDBL_DIG__ 18
585 // I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
586 // I386:#define __LDBL_HAS_DENORM__ 1
587 // I386:#define __LDBL_HAS_INFINITY__ 1
588 // I386:#define __LDBL_HAS_QUIET_NAN__ 1
589 // I386:#define __LDBL_MANT_DIG__ 64
590 // I386:#define __LDBL_MAX_10_EXP__ 4932
591 // I386:#define __LDBL_MAX_EXP__ 16384
592 // I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
593 // I386:#define __LDBL_MIN_10_EXP__ (-4931)
594 // I386:#define __LDBL_MIN_EXP__ (-16381)
595 // I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
596 // I386:#define __LITTLE_ENDIAN__ 1
597 // I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
598 // I386:#define __LONG_MAX__ 2147483647L
599 // I386-NOT:#define __LP64__
600 // I386:#define __NO_MATH_INLINES 1
601 // I386:#define __POINTER_WIDTH__ 32
602 // I386:#define __PTRDIFF_TYPE__ int
603 // I386:#define __PTRDIFF_WIDTH__ 32
604 // I386:#define __REGISTER_PREFIX__
605 // I386:#define __SCHAR_MAX__ 127
606 // I386:#define __SHRT_MAX__ 32767
607 // I386:#define __SIG_ATOMIC_WIDTH__ 32
608 // I386:#define __SIZEOF_DOUBLE__ 8
609 // I386:#define __SIZEOF_FLOAT__ 4
610 // I386:#define __SIZEOF_INT__ 4
611 // I386:#define __SIZEOF_LONG_DOUBLE__ 12
612 // I386:#define __SIZEOF_LONG_LONG__ 8
613 // I386:#define __SIZEOF_LONG__ 4
614 // I386:#define __SIZEOF_POINTER__ 4
615 // I386:#define __SIZEOF_PTRDIFF_T__ 4
616 // I386:#define __SIZEOF_SHORT__ 2
617 // I386:#define __SIZEOF_SIZE_T__ 4
618 // I386:#define __SIZEOF_WCHAR_T__ 4
619 // I386:#define __SIZEOF_WINT_T__ 4
620 // I386:#define __SIZE_MAX__ 4294967295U
621 // I386:#define __SIZE_TYPE__ unsigned int
622 // I386:#define __SIZE_WIDTH__ 32
623 // I386:#define __UINTMAX_TYPE__ long long unsigned int
624 // I386:#define __USER_LABEL_PREFIX__ _
625 // I386:#define __WCHAR_MAX__ 2147483647
626 // I386:#define __WCHAR_TYPE__ int
627 // I386:#define __WCHAR_WIDTH__ 32
628 // I386:#define __WINT_TYPE__ int
629 // I386:#define __WINT_WIDTH__ 32
630 // I386:#define __i386 1
631 // I386:#define __i386__ 1
632 // I386:#define i386 1
633 //
634 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-pc-linux-gnu -target-cpu pentium4 < /dev/null | FileCheck -check-prefix I386-LINUX %s
635 //
636 // I386-LINUX-NOT:#define _LP64
637 // I386-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
638 // I386-LINUX:#define __CHAR16_TYPE__ unsigned short
639 // I386-LINUX:#define __CHAR32_TYPE__ unsigned int
640 // I386-LINUX:#define __CHAR_BIT__ 8
641 // I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
642 // I386-LINUX:#define __DBL_DIG__ 15
643 // I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
644 // I386-LINUX:#define __DBL_HAS_DENORM__ 1
645 // I386-LINUX:#define __DBL_HAS_INFINITY__ 1
646 // I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
647 // I386-LINUX:#define __DBL_MANT_DIG__ 53
648 // I386-LINUX:#define __DBL_MAX_10_EXP__ 308
649 // I386-LINUX:#define __DBL_MAX_EXP__ 1024
650 // I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
651 // I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
652 // I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
653 // I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
654 // I386-LINUX:#define __DECIMAL_DIG__ 21
655 // I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
656 // I386-LINUX:#define __FLT_DIG__ 6
657 // I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
658 // I386-LINUX:#define __FLT_EVAL_METHOD__ 0
659 // I386-LINUX:#define __FLT_HAS_DENORM__ 1
660 // I386-LINUX:#define __FLT_HAS_INFINITY__ 1
661 // I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
662 // I386-LINUX:#define __FLT_MANT_DIG__ 24
663 // I386-LINUX:#define __FLT_MAX_10_EXP__ 38
664 // I386-LINUX:#define __FLT_MAX_EXP__ 128
665 // I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
666 // I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
667 // I386-LINUX:#define __FLT_MIN_EXP__ (-125)
668 // I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
669 // I386-LINUX:#define __FLT_RADIX__ 2
670 // I386-LINUX:#define __INT16_TYPE__ short
671 // I386-LINUX:#define __INT32_TYPE__ int
672 // I386-LINUX:#define __INT64_C_SUFFIX__ LL
673 // I386-LINUX:#define __INT64_TYPE__ long long int
674 // I386-LINUX:#define __INT8_TYPE__ char
675 // I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
676 // I386-LINUX:#define __INTMAX_TYPE__ long long int
677 // I386-LINUX:#define __INTMAX_WIDTH__ 64
678 // I386-LINUX:#define __INTPTR_TYPE__ int
679 // I386-LINUX:#define __INTPTR_WIDTH__ 32
680 // I386-LINUX:#define __INT_MAX__ 2147483647
681 // I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
682 // I386-LINUX:#define __LDBL_DIG__ 18
683 // I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
684 // I386-LINUX:#define __LDBL_HAS_DENORM__ 1
685 // I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
686 // I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
687 // I386-LINUX:#define __LDBL_MANT_DIG__ 64
688 // I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
689 // I386-LINUX:#define __LDBL_MAX_EXP__ 16384
690 // I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
691 // I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
692 // I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
693 // I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
694 // I386-LINUX:#define __LITTLE_ENDIAN__ 1
695 // I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
696 // I386-LINUX:#define __LONG_MAX__ 2147483647L
697 // I386-LINUX-NOT:#define __LP64__
698 // I386-LINUX:#define __NO_MATH_INLINES 1
699 // I386-LINUX:#define __POINTER_WIDTH__ 32
700 // I386-LINUX:#define __PTRDIFF_TYPE__ int
701 // I386-LINUX:#define __PTRDIFF_WIDTH__ 32
702 // I386-LINUX:#define __REGISTER_PREFIX__
703 // I386-LINUX:#define __SCHAR_MAX__ 127
704 // I386-LINUX:#define __SHRT_MAX__ 32767
705 // I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
706 // I386-LINUX:#define __SIZEOF_DOUBLE__ 8
707 // I386-LINUX:#define __SIZEOF_FLOAT__ 4
708 // I386-LINUX:#define __SIZEOF_INT__ 4
709 // I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
710 // I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
711 // I386-LINUX:#define __SIZEOF_LONG__ 4
712 // I386-LINUX:#define __SIZEOF_POINTER__ 4
713 // I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
714 // I386-LINUX:#define __SIZEOF_SHORT__ 2
715 // I386-LINUX:#define __SIZEOF_SIZE_T__ 4
716 // I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
717 // I386-LINUX:#define __SIZEOF_WINT_T__ 4
718 // I386-LINUX:#define __SIZE_MAX__ 4294967295U
719 // I386-LINUX:#define __SIZE_TYPE__ unsigned int
720 // I386-LINUX:#define __SIZE_WIDTH__ 32
721 // I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
722 // I386-LINUX:#define __USER_LABEL_PREFIX__
723 // I386-LINUX:#define __WCHAR_MAX__ 2147483647
724 // I386-LINUX:#define __WCHAR_TYPE__ int
725 // I386-LINUX:#define __WCHAR_WIDTH__ 32
726 // I386-LINUX:#define __WINT_TYPE__ unsigned int
727 // I386-LINUX:#define __WINT_WIDTH__ 32
728 // I386-LINUX:#define __i386 1
729 // I386-LINUX:#define __i386__ 1
730 // I386-LINUX:#define i386 1
731 //
732 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none < /dev/null | FileCheck -check-prefix MIPS32BE %s
733 //
734 // MIPS32BE:#define MIPSEB 1
735 // MIPS32BE:#define _ABIO32 1
736 // MIPS32BE-NOT:#define _LP64
737 // MIPS32BE:#define _MIPSEB 1
738 // MIPS32BE:#define _MIPS_ARCH "mips32"
739 // MIPS32BE:#define _MIPS_ARCH_MIPS32 1
740 // MIPS32BE:#define _MIPS_FPSET 16
741 // MIPS32BE:#define _MIPS_SIM _ABIO32
742 // MIPS32BE:#define _MIPS_SZINT 32
743 // MIPS32BE:#define _MIPS_SZLONG 32
744 // MIPS32BE:#define _MIPS_SZPTR 32
745 // MIPS32BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
746 // MIPS32BE:#define __CHAR16_TYPE__ unsigned short
747 // MIPS32BE:#define __CHAR32_TYPE__ unsigned int
748 // MIPS32BE:#define __CHAR_BIT__ 8
749 // MIPS32BE:#define __CONSTANT_CFSTRINGS__ 1
750 // MIPS32BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
751 // MIPS32BE:#define __DBL_DIG__ 15
752 // MIPS32BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
753 // MIPS32BE:#define __DBL_HAS_DENORM__ 1
754 // MIPS32BE:#define __DBL_HAS_INFINITY__ 1
755 // MIPS32BE:#define __DBL_HAS_QUIET_NAN__ 1
756 // MIPS32BE:#define __DBL_MANT_DIG__ 53
757 // MIPS32BE:#define __DBL_MAX_10_EXP__ 308
758 // MIPS32BE:#define __DBL_MAX_EXP__ 1024
759 // MIPS32BE:#define __DBL_MAX__ 1.7976931348623157e+308
760 // MIPS32BE:#define __DBL_MIN_10_EXP__ (-307)
761 // MIPS32BE:#define __DBL_MIN_EXP__ (-1021)
762 // MIPS32BE:#define __DBL_MIN__ 2.2250738585072014e-308
763 // MIPS32BE:#define __DECIMAL_DIG__ 17
764 // MIPS32BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
765 // MIPS32BE:#define __FLT_DIG__ 6
766 // MIPS32BE:#define __FLT_EPSILON__ 1.19209290e-7F
767 // MIPS32BE:#define __FLT_EVAL_METHOD__ 0
768 // MIPS32BE:#define __FLT_HAS_DENORM__ 1
769 // MIPS32BE:#define __FLT_HAS_INFINITY__ 1
770 // MIPS32BE:#define __FLT_HAS_QUIET_NAN__ 1
771 // MIPS32BE:#define __FLT_MANT_DIG__ 24
772 // MIPS32BE:#define __FLT_MAX_10_EXP__ 38
773 // MIPS32BE:#define __FLT_MAX_EXP__ 128
774 // MIPS32BE:#define __FLT_MAX__ 3.40282347e+38F
775 // MIPS32BE:#define __FLT_MIN_10_EXP__ (-37)
776 // MIPS32BE:#define __FLT_MIN_EXP__ (-125)
777 // MIPS32BE:#define __FLT_MIN__ 1.17549435e-38F
778 // MIPS32BE:#define __FLT_RADIX__ 2
779 // MIPS32BE:#define __INT16_TYPE__ short
780 // MIPS32BE:#define __INT32_TYPE__ int
781 // MIPS32BE:#define __INT64_C_SUFFIX__ LL
782 // MIPS32BE:#define __INT64_TYPE__ long long int
783 // MIPS32BE:#define __INT8_TYPE__ char
784 // MIPS32BE:#define __INTMAX_MAX__ 9223372036854775807LL
785 // MIPS32BE:#define __INTMAX_TYPE__ long long int
786 // MIPS32BE:#define __INTMAX_WIDTH__ 64
787 // MIPS32BE:#define __INTPTR_TYPE__ long int
788 // MIPS32BE:#define __INTPTR_WIDTH__ 32
789 // MIPS32BE:#define __INT_MAX__ 2147483647
790 // MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
791 // MIPS32BE:#define __LDBL_DIG__ 15
792 // MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
793 // MIPS32BE:#define __LDBL_HAS_DENORM__ 1
794 // MIPS32BE:#define __LDBL_HAS_INFINITY__ 1
795 // MIPS32BE:#define __LDBL_HAS_QUIET_NAN__ 1
796 // MIPS32BE:#define __LDBL_MANT_DIG__ 53
797 // MIPS32BE:#define __LDBL_MAX_10_EXP__ 308
798 // MIPS32BE:#define __LDBL_MAX_EXP__ 1024
799 // MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308L
800 // MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307)
801 // MIPS32BE:#define __LDBL_MIN_EXP__ (-1021)
802 // MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308L
803 // MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
804 // MIPS32BE:#define __LONG_MAX__ 2147483647L
805 // MIPS32BE-NOT:#define __LP64__
806 // MIPS32BE:#define __MIPSEB 1
807 // MIPS32BE:#define __MIPSEB__ 1
808 // MIPS32BE:#define __POINTER_WIDTH__ 32
809 // MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1
810 // MIPS32BE:#define __PTRDIFF_TYPE__ int
811 // MIPS32BE:#define __PTRDIFF_WIDTH__ 32
812 // MIPS32BE:#define __REGISTER_PREFIX__
813 // MIPS32BE:#define __SCHAR_MAX__ 127
814 // MIPS32BE:#define __SHRT_MAX__ 32767
815 // MIPS32BE:#define __SIG_ATOMIC_WIDTH__ 32
816 // MIPS32BE:#define __SIZEOF_DOUBLE__ 8
817 // MIPS32BE:#define __SIZEOF_FLOAT__ 4
818 // MIPS32BE:#define __SIZEOF_INT__ 4
819 // MIPS32BE:#define __SIZEOF_LONG_DOUBLE__ 8
820 // MIPS32BE:#define __SIZEOF_LONG_LONG__ 8
821 // MIPS32BE:#define __SIZEOF_LONG__ 4
822 // MIPS32BE:#define __SIZEOF_POINTER__ 4
823 // MIPS32BE:#define __SIZEOF_PTRDIFF_T__ 4
824 // MIPS32BE:#define __SIZEOF_SHORT__ 2
825 // MIPS32BE:#define __SIZEOF_SIZE_T__ 4
826 // MIPS32BE:#define __SIZEOF_WCHAR_T__ 4
827 // MIPS32BE:#define __SIZEOF_WINT_T__ 4
828 // MIPS32BE:#define __SIZE_MAX__ 4294967295U
829 // MIPS32BE:#define __SIZE_TYPE__ unsigned int
830 // MIPS32BE:#define __SIZE_WIDTH__ 32
831 // MIPS32BE:#define __STDC_HOSTED__ 0
832 // MIPS32BE:#define __STDC_VERSION__ 199901L
833 // MIPS32BE:#define __STDC__ 1
834 // MIPS32BE:#define __UINTMAX_TYPE__ long long unsigned int
835 // MIPS32BE:#define __USER_LABEL_PREFIX__ _
836 // MIPS32BE:#define __WCHAR_MAX__ 2147483647
837 // MIPS32BE:#define __WCHAR_TYPE__ int
838 // MIPS32BE:#define __WCHAR_WIDTH__ 32
839 // MIPS32BE:#define __WINT_TYPE__ int
840 // MIPS32BE:#define __WINT_WIDTH__ 32
841 // MIPS32BE:#define __clang__ 1
842 // MIPS32BE:#define __llvm__ 1
843 // MIPS32BE:#define __mips 1
844 // MIPS32BE:#define __mips__ 1
845 // MIPS32BE:#define __mips_fpr 32
846 // MIPS32BE:#define __mips_hard_float 1
847 // MIPS32BE:#define __mips_o32 1
848 // MIPS32BE:#define _mips 1
849 // MIPS32BE:#define mips 1
850 //
851 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -check-prefix MIPS32EL %s
852 //
853 // MIPS32EL:#define MIPSEL 1
854 // MIPS32EL:#define _ABIO32 1
855 // MIPS32EL-NOT:#define _LP64
856 // MIPS32EL:#define _MIPSEL 1
857 // MIPS32EL:#define _MIPS_ARCH "mips32"
858 // MIPS32EL:#define _MIPS_ARCH_MIPS32 1
859 // MIPS32EL:#define _MIPS_FPSET 16
860 // MIPS32EL:#define _MIPS_SIM _ABIO32
861 // MIPS32EL:#define _MIPS_SZINT 32
862 // MIPS32EL:#define _MIPS_SZLONG 32
863 // MIPS32EL:#define _MIPS_SZPTR 32
864 // MIPS32EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
865 // MIPS32EL:#define __CHAR16_TYPE__ unsigned short
866 // MIPS32EL:#define __CHAR32_TYPE__ unsigned int
867 // MIPS32EL:#define __CHAR_BIT__ 8
868 // MIPS32EL:#define __CONSTANT_CFSTRINGS__ 1
869 // MIPS32EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
870 // MIPS32EL:#define __DBL_DIG__ 15
871 // MIPS32EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
872 // MIPS32EL:#define __DBL_HAS_DENORM__ 1
873 // MIPS32EL:#define __DBL_HAS_INFINITY__ 1
874 // MIPS32EL:#define __DBL_HAS_QUIET_NAN__ 1
875 // MIPS32EL:#define __DBL_MANT_DIG__ 53
876 // MIPS32EL:#define __DBL_MAX_10_EXP__ 308
877 // MIPS32EL:#define __DBL_MAX_EXP__ 1024
878 // MIPS32EL:#define __DBL_MAX__ 1.7976931348623157e+308
879 // MIPS32EL:#define __DBL_MIN_10_EXP__ (-307)
880 // MIPS32EL:#define __DBL_MIN_EXP__ (-1021)
881 // MIPS32EL:#define __DBL_MIN__ 2.2250738585072014e-308
882 // MIPS32EL:#define __DECIMAL_DIG__ 17
883 // MIPS32EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
884 // MIPS32EL:#define __FLT_DIG__ 6
885 // MIPS32EL:#define __FLT_EPSILON__ 1.19209290e-7F
886 // MIPS32EL:#define __FLT_EVAL_METHOD__ 0
887 // MIPS32EL:#define __FLT_HAS_DENORM__ 1
888 // MIPS32EL:#define __FLT_HAS_INFINITY__ 1
889 // MIPS32EL:#define __FLT_HAS_QUIET_NAN__ 1
890 // MIPS32EL:#define __FLT_MANT_DIG__ 24
891 // MIPS32EL:#define __FLT_MAX_10_EXP__ 38
892 // MIPS32EL:#define __FLT_MAX_EXP__ 128
893 // MIPS32EL:#define __FLT_MAX__ 3.40282347e+38F
894 // MIPS32EL:#define __FLT_MIN_10_EXP__ (-37)
895 // MIPS32EL:#define __FLT_MIN_EXP__ (-125)
896 // MIPS32EL:#define __FLT_MIN__ 1.17549435e-38F
897 // MIPS32EL:#define __FLT_RADIX__ 2
898 // MIPS32EL:#define __INT16_TYPE__ short
899 // MIPS32EL:#define __INT32_TYPE__ int
900 // MIPS32EL:#define __INT64_C_SUFFIX__ LL
901 // MIPS32EL:#define __INT64_TYPE__ long long int
902 // MIPS32EL:#define __INT8_TYPE__ char
903 // MIPS32EL:#define __INTMAX_MAX__ 9223372036854775807LL
904 // MIPS32EL:#define __INTMAX_TYPE__ long long int
905 // MIPS32EL:#define __INTMAX_WIDTH__ 64
906 // MIPS32EL:#define __INTPTR_TYPE__ long int
907 // MIPS32EL:#define __INTPTR_WIDTH__ 32
908 // MIPS32EL:#define __INT_MAX__ 2147483647
909 // MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
910 // MIPS32EL:#define __LDBL_DIG__ 15
911 // MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
912 // MIPS32EL:#define __LDBL_HAS_DENORM__ 1
913 // MIPS32EL:#define __LDBL_HAS_INFINITY__ 1
914 // MIPS32EL:#define __LDBL_HAS_QUIET_NAN__ 1
915 // MIPS32EL:#define __LDBL_MANT_DIG__ 53
916 // MIPS32EL:#define __LDBL_MAX_10_EXP__ 308
917 // MIPS32EL:#define __LDBL_MAX_EXP__ 1024
918 // MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308L
919 // MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307)
920 // MIPS32EL:#define __LDBL_MIN_EXP__ (-1021)
921 // MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308L
922 // MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
923 // MIPS32EL:#define __LONG_MAX__ 2147483647L
924 // MIPS32EL-NOT:#define __LP64__
925 // MIPS32EL:#define __MIPSEL 1
926 // MIPS32EL:#define __MIPSEL__ 1
927 // MIPS32EL:#define __POINTER_WIDTH__ 32
928 // MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1
929 // MIPS32EL:#define __PTRDIFF_TYPE__ int
930 // MIPS32EL:#define __PTRDIFF_WIDTH__ 32
931 // MIPS32EL:#define __REGISTER_PREFIX__
932 // MIPS32EL:#define __SCHAR_MAX__ 127
933 // MIPS32EL:#define __SHRT_MAX__ 32767
934 // MIPS32EL:#define __SIG_ATOMIC_WIDTH__ 32
935 // MIPS32EL:#define __SIZEOF_DOUBLE__ 8
936 // MIPS32EL:#define __SIZEOF_FLOAT__ 4
937 // MIPS32EL:#define __SIZEOF_INT__ 4
938 // MIPS32EL:#define __SIZEOF_LONG_DOUBLE__ 8
939 // MIPS32EL:#define __SIZEOF_LONG_LONG__ 8
940 // MIPS32EL:#define __SIZEOF_LONG__ 4
941 // MIPS32EL:#define __SIZEOF_POINTER__ 4
942 // MIPS32EL:#define __SIZEOF_PTRDIFF_T__ 4
943 // MIPS32EL:#define __SIZEOF_SHORT__ 2
944 // MIPS32EL:#define __SIZEOF_SIZE_T__ 4
945 // MIPS32EL:#define __SIZEOF_WCHAR_T__ 4
946 // MIPS32EL:#define __SIZEOF_WINT_T__ 4
947 // MIPS32EL:#define __SIZE_MAX__ 4294967295U
948 // MIPS32EL:#define __SIZE_TYPE__ unsigned int
949 // MIPS32EL:#define __SIZE_WIDTH__ 32
950 // MIPS32EL:#define __UINTMAX_TYPE__ long long unsigned int
951 // MIPS32EL:#define __USER_LABEL_PREFIX__ _
952 // MIPS32EL:#define __WCHAR_MAX__ 2147483647
953 // MIPS32EL:#define __WCHAR_TYPE__ int
954 // MIPS32EL:#define __WCHAR_WIDTH__ 32
955 // MIPS32EL:#define __WINT_TYPE__ int
956 // MIPS32EL:#define __WINT_WIDTH__ 32
957 // MIPS32EL:#define __clang__ 1
958 // MIPS32EL:#define __llvm__ 1
959 // MIPS32EL:#define __mips 1
960 // MIPS32EL:#define __mips__ 1
961 // MIPS32EL:#define __mips_fpr 32
962 // MIPS32EL:#define __mips_hard_float 1
963 // MIPS32EL:#define __mips_o32 1
964 // MIPS32EL:#define _mips 1
965 // MIPS32EL:#define mips 1
966 //
967 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -check-prefix MIPS64BE %s
968 //
969 // MIPS64BE:#define MIPSEB 1
970 // MIPS64BE:#define _ABI64 3
971 // MIPS64BE:#define _LP64 1
972 // MIPS64BE:#define _MIPSEB 1
973 // MIPS64BE:#define _MIPS_ARCH "mips64"
974 // MIPS64BE:#define _MIPS_ARCH_MIPS64 1
975 // MIPS64BE:#define _MIPS_FPSET 32
976 // MIPS64BE:#define _MIPS_SIM _ABI64
977 // MIPS64BE:#define _MIPS_SZINT 32
978 // MIPS64BE:#define _MIPS_SZLONG 64
979 // MIPS64BE:#define _MIPS_SZPTR 64
980 // MIPS64BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
981 // MIPS64BE:#define __CHAR16_TYPE__ unsigned short
982 // MIPS64BE:#define __CHAR32_TYPE__ unsigned int
983 // MIPS64BE:#define __CHAR_BIT__ 8
984 // MIPS64BE:#define __CONSTANT_CFSTRINGS__ 1
985 // MIPS64BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
986 // MIPS64BE:#define __DBL_DIG__ 15
987 // MIPS64BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
988 // MIPS64BE:#define __DBL_HAS_DENORM__ 1
989 // MIPS64BE:#define __DBL_HAS_INFINITY__ 1
990 // MIPS64BE:#define __DBL_HAS_QUIET_NAN__ 1
991 // MIPS64BE:#define __DBL_MANT_DIG__ 53
992 // MIPS64BE:#define __DBL_MAX_10_EXP__ 308
993 // MIPS64BE:#define __DBL_MAX_EXP__ 1024
994 // MIPS64BE:#define __DBL_MAX__ 1.7976931348623157e+308
995 // MIPS64BE:#define __DBL_MIN_10_EXP__ (-307)
996 // MIPS64BE:#define __DBL_MIN_EXP__ (-1021)
997 // MIPS64BE:#define __DBL_MIN__ 2.2250738585072014e-308
998 // MIPS64BE:#define __DECIMAL_DIG__ 36
999 // MIPS64BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1000 // MIPS64BE:#define __FLT_DIG__ 6
1001 // MIPS64BE:#define __FLT_EPSILON__ 1.19209290e-7F
1002 // MIPS64BE:#define __FLT_EVAL_METHOD__ 0
1003 // MIPS64BE:#define __FLT_HAS_DENORM__ 1
1004 // MIPS64BE:#define __FLT_HAS_INFINITY__ 1
1005 // MIPS64BE:#define __FLT_HAS_QUIET_NAN__ 1
1006 // MIPS64BE:#define __FLT_MANT_DIG__ 24
1007 // MIPS64BE:#define __FLT_MAX_10_EXP__ 38
1008 // MIPS64BE:#define __FLT_MAX_EXP__ 128
1009 // MIPS64BE:#define __FLT_MAX__ 3.40282347e+38F
1010 // MIPS64BE:#define __FLT_MIN_10_EXP__ (-37)
1011 // MIPS64BE:#define __FLT_MIN_EXP__ (-125)
1012 // MIPS64BE:#define __FLT_MIN__ 1.17549435e-38F
1013 // MIPS64BE:#define __FLT_RADIX__ 2
1014 // MIPS64BE:#define __INT16_TYPE__ short
1015 // MIPS64BE:#define __INT32_TYPE__ int
1016 // MIPS64BE:#define __INT64_C_SUFFIX__ LL
1017 // MIPS64BE:#define __INT64_TYPE__ long long int
1018 // MIPS64BE:#define __INT8_TYPE__ char
1019 // MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807LL
1020 // MIPS64BE:#define __INTMAX_TYPE__ long long int
1021 // MIPS64BE:#define __INTMAX_WIDTH__ 64
1022 // MIPS64BE:#define __INTPTR_TYPE__ long int
1023 // MIPS64BE:#define __INTPTR_WIDTH__ 64
1024 // MIPS64BE:#define __INT_MAX__ 2147483647
1025 // MIPS64BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1026 // MIPS64BE:#define __LDBL_DIG__ 33
1027 // MIPS64BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1028 // MIPS64BE:#define __LDBL_HAS_DENORM__ 1
1029 // MIPS64BE:#define __LDBL_HAS_INFINITY__ 1
1030 // MIPS64BE:#define __LDBL_HAS_QUIET_NAN__ 1
1031 // MIPS64BE:#define __LDBL_MANT_DIG__ 113
1032 // MIPS64BE:#define __LDBL_MAX_10_EXP__ 4932
1033 // MIPS64BE:#define __LDBL_MAX_EXP__ 16384
1034 // MIPS64BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1035 // MIPS64BE:#define __LDBL_MIN_10_EXP__ (-4931)
1036 // MIPS64BE:#define __LDBL_MIN_EXP__ (-16381)
1037 // MIPS64BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1038 // MIPS64BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1039 // MIPS64BE:#define __LONG_MAX__ 9223372036854775807L
1040 // MIPS64BE:#define __LP64__ 1
1041 // MIPS64BE:#define __MIPSEB 1
1042 // MIPS64BE:#define __MIPSEB__ 1
1043 // MIPS64BE:#define __POINTER_WIDTH__ 64
1044 // MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1
1045 // MIPS64BE:#define __PTRDIFF_TYPE__ long int
1046 // MIPS64BE:#define __PTRDIFF_WIDTH__ 64
1047 // MIPS64BE:#define __REGISTER_PREFIX__
1048 // MIPS64BE:#define __SCHAR_MAX__ 127
1049 // MIPS64BE:#define __SHRT_MAX__ 32767
1050 // MIPS64BE:#define __SIG_ATOMIC_WIDTH__ 32
1051 // MIPS64BE:#define __SIZEOF_DOUBLE__ 8
1052 // MIPS64BE:#define __SIZEOF_FLOAT__ 4
1053 // MIPS64BE:#define __SIZEOF_INT__ 4
1054 // MIPS64BE:#define __SIZEOF_LONG_DOUBLE__ 16
1055 // MIPS64BE:#define __SIZEOF_LONG_LONG__ 8
1056 // MIPS64BE:#define __SIZEOF_LONG__ 8
1057 // MIPS64BE:#define __SIZEOF_POINTER__ 8
1058 // MIPS64BE:#define __SIZEOF_PTRDIFF_T__ 8
1059 // MIPS64BE:#define __SIZEOF_SHORT__ 2
1060 // MIPS64BE:#define __SIZEOF_SIZE_T__ 8
1061 // MIPS64BE:#define __SIZEOF_WCHAR_T__ 4
1062 // MIPS64BE:#define __SIZEOF_WINT_T__ 4
1063 // MIPS64BE:#define __SIZE_MAX__ 18446744073709551615UL
1064 // MIPS64BE:#define __SIZE_TYPE__ long unsigned int
1065 // MIPS64BE:#define __SIZE_WIDTH__ 64
1066 // MIPS64BE:#define __UINTMAX_TYPE__ long long unsigned int
1067 // MIPS64BE:#define __USER_LABEL_PREFIX__ _
1068 // MIPS64BE:#define __WCHAR_MAX__ 2147483647
1069 // MIPS64BE:#define __WCHAR_TYPE__ int
1070 // MIPS64BE:#define __WCHAR_WIDTH__ 32
1071 // MIPS64BE:#define __WINT_TYPE__ int
1072 // MIPS64BE:#define __WINT_WIDTH__ 32
1073 // MIPS64BE:#define __clang__ 1
1074 // MIPS64BE:#define __llvm__ 1
1075 // MIPS64BE:#define __mips 1
1076 // MIPS64BE:#define __mips64 1
1077 // MIPS64BE:#define __mips64__ 1
1078 // MIPS64BE:#define __mips__ 1
1079 // MIPS64BE:#define __mips_fpr 64
1080 // MIPS64BE:#define __mips_hard_float 1
1081 // MIPS64BE:#define __mips_n64 1
1082 // MIPS64BE:#define _mips 1
1083 // MIPS64BE:#define mips 1
1084 //
1085 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -check-prefix MIPS64EL %s
1086 //
1087 // MIPS64EL:#define MIPSEL 1
1088 // MIPS64EL:#define _ABI64 3
1089 // MIPS64EL:#define _LP64 1
1090 // MIPS64EL:#define _MIPSEL 1
1091 // MIPS64EL:#define _MIPS_ARCH "mips64"
1092 // MIPS64EL:#define _MIPS_ARCH_MIPS64 1
1093 // MIPS64EL:#define _MIPS_FPSET 32
1094 // MIPS64EL:#define _MIPS_SIM _ABI64
1095 // MIPS64EL:#define _MIPS_SZINT 32
1096 // MIPS64EL:#define _MIPS_SZLONG 64
1097 // MIPS64EL:#define _MIPS_SZPTR 64
1098 // MIPS64EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1099 // MIPS64EL:#define __CHAR16_TYPE__ unsigned short
1100 // MIPS64EL:#define __CHAR32_TYPE__ unsigned int
1101 // MIPS64EL:#define __CHAR_BIT__ 8
1102 // MIPS64EL:#define __CONSTANT_CFSTRINGS__ 1
1103 // MIPS64EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1104 // MIPS64EL:#define __DBL_DIG__ 15
1105 // MIPS64EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1106 // MIPS64EL:#define __DBL_HAS_DENORM__ 1
1107 // MIPS64EL:#define __DBL_HAS_INFINITY__ 1
1108 // MIPS64EL:#define __DBL_HAS_QUIET_NAN__ 1
1109 // MIPS64EL:#define __DBL_MANT_DIG__ 53
1110 // MIPS64EL:#define __DBL_MAX_10_EXP__ 308
1111 // MIPS64EL:#define __DBL_MAX_EXP__ 1024
1112 // MIPS64EL:#define __DBL_MAX__ 1.7976931348623157e+308
1113 // MIPS64EL:#define __DBL_MIN_10_EXP__ (-307)
1114 // MIPS64EL:#define __DBL_MIN_EXP__ (-1021)
1115 // MIPS64EL:#define __DBL_MIN__ 2.2250738585072014e-308
1116 // MIPS64EL:#define __DECIMAL_DIG__ 36
1117 // MIPS64EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1118 // MIPS64EL:#define __FLT_DIG__ 6
1119 // MIPS64EL:#define __FLT_EPSILON__ 1.19209290e-7F
1120 // MIPS64EL:#define __FLT_EVAL_METHOD__ 0
1121 // MIPS64EL:#define __FLT_HAS_DENORM__ 1
1122 // MIPS64EL:#define __FLT_HAS_INFINITY__ 1
1123 // MIPS64EL:#define __FLT_HAS_QUIET_NAN__ 1
1124 // MIPS64EL:#define __FLT_MANT_DIG__ 24
1125 // MIPS64EL:#define __FLT_MAX_10_EXP__ 38
1126 // MIPS64EL:#define __FLT_MAX_EXP__ 128
1127 // MIPS64EL:#define __FLT_MAX__ 3.40282347e+38F
1128 // MIPS64EL:#define __FLT_MIN_10_EXP__ (-37)
1129 // MIPS64EL:#define __FLT_MIN_EXP__ (-125)
1130 // MIPS64EL:#define __FLT_MIN__ 1.17549435e-38F
1131 // MIPS64EL:#define __FLT_RADIX__ 2
1132 // MIPS64EL:#define __INT16_TYPE__ short
1133 // MIPS64EL:#define __INT32_TYPE__ int
1134 // MIPS64EL:#define __INT64_C_SUFFIX__ LL
1135 // MIPS64EL:#define __INT64_TYPE__ long long int
1136 // MIPS64EL:#define __INT8_TYPE__ char
1137 // MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807LL
1138 // MIPS64EL:#define __INTMAX_TYPE__ long long int
1139 // MIPS64EL:#define __INTMAX_WIDTH__ 64
1140 // MIPS64EL:#define __INTPTR_TYPE__ long int
1141 // MIPS64EL:#define __INTPTR_WIDTH__ 64
1142 // MIPS64EL:#define __INT_MAX__ 2147483647
1143 // MIPS64EL:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1144 // MIPS64EL:#define __LDBL_DIG__ 33
1145 // MIPS64EL:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1146 // MIPS64EL:#define __LDBL_HAS_DENORM__ 1
1147 // MIPS64EL:#define __LDBL_HAS_INFINITY__ 1
1148 // MIPS64EL:#define __LDBL_HAS_QUIET_NAN__ 1
1149 // MIPS64EL:#define __LDBL_MANT_DIG__ 113
1150 // MIPS64EL:#define __LDBL_MAX_10_EXP__ 4932
1151 // MIPS64EL:#define __LDBL_MAX_EXP__ 16384
1152 // MIPS64EL:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1153 // MIPS64EL:#define __LDBL_MIN_10_EXP__ (-4931)
1154 // MIPS64EL:#define __LDBL_MIN_EXP__ (-16381)
1155 // MIPS64EL:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1156 // MIPS64EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1157 // MIPS64EL:#define __LONG_MAX__ 9223372036854775807L
1158 // MIPS64EL:#define __LP64__ 1
1159 // MIPS64EL:#define __MIPSEL 1
1160 // MIPS64EL:#define __MIPSEL__ 1
1161 // MIPS64EL:#define __POINTER_WIDTH__ 64
1162 // MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1163 // MIPS64EL:#define __PTRDIFF_TYPE__ long int
1164 // MIPS64EL:#define __PTRDIFF_WIDTH__ 64
1165 // MIPS64EL:#define __REGISTER_PREFIX__
1166 // MIPS64EL:#define __SCHAR_MAX__ 127
1167 // MIPS64EL:#define __SHRT_MAX__ 32767
1168 // MIPS64EL:#define __SIG_ATOMIC_WIDTH__ 32
1169 // MIPS64EL:#define __SIZEOF_DOUBLE__ 8
1170 // MIPS64EL:#define __SIZEOF_FLOAT__ 4
1171 // MIPS64EL:#define __SIZEOF_INT__ 4
1172 // MIPS64EL:#define __SIZEOF_LONG_DOUBLE__ 16
1173 // MIPS64EL:#define __SIZEOF_LONG_LONG__ 8
1174 // MIPS64EL:#define __SIZEOF_LONG__ 8
1175 // MIPS64EL:#define __SIZEOF_POINTER__ 8
1176 // MIPS64EL:#define __SIZEOF_PTRDIFF_T__ 8
1177 // MIPS64EL:#define __SIZEOF_SHORT__ 2
1178 // MIPS64EL:#define __SIZEOF_SIZE_T__ 8
1179 // MIPS64EL:#define __SIZEOF_WCHAR_T__ 4
1180 // MIPS64EL:#define __SIZEOF_WINT_T__ 4
1181 // MIPS64EL:#define __SIZE_MAX__ 18446744073709551615UL
1182 // MIPS64EL:#define __SIZE_TYPE__ long unsigned int
1183 // MIPS64EL:#define __SIZE_WIDTH__ 64
1184 // MIPS64EL:#define __UINTMAX_TYPE__ long long unsigned int
1185 // MIPS64EL:#define __USER_LABEL_PREFIX__ _
1186 // MIPS64EL:#define __WCHAR_MAX__ 2147483647
1187 // MIPS64EL:#define __WCHAR_TYPE__ int
1188 // MIPS64EL:#define __WCHAR_WIDTH__ 32
1189 // MIPS64EL:#define __WINT_TYPE__ int
1190 // MIPS64EL:#define __WINT_WIDTH__ 32
1191 // MIPS64EL:#define __clang__ 1
1192 // MIPS64EL:#define __llvm__ 1
1193 // MIPS64EL:#define __mips 1
1194 // MIPS64EL:#define __mips64 1
1195 // MIPS64EL:#define __mips64__ 1
1196 // MIPS64EL:#define __mips__ 1
1197 // MIPS64EL:#define __mips_fpr 64
1198 // MIPS64EL:#define __mips_hard_float 1
1199 // MIPS64EL:#define __mips_n64 1
1200 // MIPS64EL:#define _mips 1
1201 // MIPS64EL:#define mips 1
1202 //
1203 // Check MIPS float ABI macros
1204 //
1205 // RUN: %clang_cc1 -E -dM -ffreestanding \
1206 // RUN:   -triple=mips-none-none < /dev/null \
1207 // RUN:   | FileCheck -check-prefix MIPS-FABI-HARD %s
1208 // MIPS-FABI-HARD:#define __mips_hard_float 1
1209 //
1210 // RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \
1211 // RUN:   -triple=mips-none-none < /dev/null \
1212 // RUN:   | FileCheck -check-prefix MIPS-FABI-SOFT %s
1213 // MIPS-FABI-SOFT:#define __mips_soft_float 1
1214 //
1215 // RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \
1216 // RUN:   -triple=mips-none-none < /dev/null \
1217 // RUN:   | FileCheck -check-prefix MIPS-FABI-SINGLE %s
1218 // MIPS-FABI-SINGLE:#define __mips_hard_float 1
1219 // MIPS-FABI-SINGLE:#define __mips_single_float 1
1220 //
1221 // RUN: %clang_cc1 -target-feature +soft-float -target-feature +single-float \
1222 // RUN:   -E -dM -ffreestanding -triple=mips-none-none < /dev/null \
1223 // RUN:   | FileCheck -check-prefix MIPS-FABI-SINGLE-SOFT %s
1224 // MIPS-FABI-SINGLE-SOFT:#define __mips_single_float 1
1225 // MIPS-FABI-SINGLE-SOFT:#define __mips_soft_float 1
1226 //
1227 // Check MIPS features macros
1228 //
1229 // RUN: %clang_cc1 -target-feature +mips16 \
1230 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1231 // RUN:   | FileCheck -check-prefix MIPS16 %s
1232 // MIPS16:#define __mips16 1
1233 //
1234 // RUN: %clang_cc1 -target-feature -mips16 \
1235 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1236 // RUN:   | FileCheck -check-prefix NOMIPS16 %s
1237 // NOMIPS16-NOT:#define __mips16 1
1238 //
1239 // RUN: %clang_cc1 -target-feature +micromips \
1240 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1241 // RUN:   | FileCheck -check-prefix MICROMIPS %s
1242 // MICROMIPS:#define __mips_micromips 1
1243 //
1244 // RUN: %clang_cc1 -target-feature -micromips \
1245 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1246 // RUN:   | FileCheck -check-prefix NOMICROMIPS %s
1247 // NOMICROMIPS-NOT:#define __mips_micromips 1
1248 //
1249 // RUN: %clang_cc1 -target-feature +dsp \
1250 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1251 // RUN:   | FileCheck -check-prefix MIPS-DSP %s
1252 // MIPS-DSP:#define __mips_dsp 1
1253 // MIPS-DSP:#define __mips_dsp_rev 1
1254 // MIPS-DSP-NOT:#define __mips_dspr2 1
1255 //
1256 // RUN: %clang_cc1 -target-feature +dspr2 \
1257 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1258 // RUN:   | FileCheck -check-prefix MIPS-DSPR2 %s
1259 // MIPS-DSPR2:#define __mips_dsp 1
1260 // MIPS-DSPR2:#define __mips_dsp_rev 2
1261 // MIPS-DSPR2:#define __mips_dspr2 1
1262 //
1263 // RUN: %clang_cc1 -target-feature +msa \
1264 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1265 // RUN:   | FileCheck -check-prefix MIPS-MSA %s
1266 // MIPS-MSA:#define __mips_msa 1
1267 //
1268 // RUN: %clang_cc1 -target-feature +nan2008 \
1269 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1270 // RUN:   | FileCheck -check-prefix MIPS-NAN2008 %s
1271 // MIPS-NAN2008:#define __mips_nan2008 1
1272 //
1273 // RUN: %clang_cc1 -target-feature -fp64 \
1274 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1275 // RUN:   | FileCheck -check-prefix MIPS32-MFP32 %s
1276 // MIPS32-MFP32:#define _MIPS_FPSET 16
1277 // MIPS32-MFP32:#define __mips_fpr 32
1278 //
1279 // RUN: %clang_cc1 -target-feature +fp64 \
1280 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1281 // RUN:   | FileCheck -check-prefix MIPS32-MFP64 %s
1282 // MIPS32-MFP64:#define _MIPS_FPSET 32
1283 // MIPS32-MFP64:#define __mips_fpr 64
1284 //
1285 // RUN: %clang_cc1 -target-feature +single-float \
1286 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1287 // RUN:   | FileCheck -check-prefix MIPS32-MFP32SF %s
1288 // MIPS32-MFP32SF:#define _MIPS_FPSET 32
1289 // MIPS32-MFP32SF:#define __mips_fpr 32
1290 //
1291 // RUN: %clang_cc1 -target-feature +fp64 \
1292 // RUN:   -E -dM -triple=mips64-none-none < /dev/null \
1293 // RUN:   | FileCheck -check-prefix MIPS64-MFP64 %s
1294 // MIPS64-MFP64:#define _MIPS_FPSET 32
1295 // MIPS64-MFP64:#define __mips_fpr 64
1296 //
1297 // RUN: %clang_cc1 -target-feature -fp64 -target-feature +single-float \
1298 // RUN:   -E -dM -triple=mips64-none-none < /dev/null \
1299 // RUN:   | FileCheck -check-prefix MIPS64-NOMFP64 %s
1300 // MIPS64-NOMFP64:#define _MIPS_FPSET 32
1301 // MIPS64-NOMFP64:#define __mips_fpr 32
1302 //
1303 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
1304 //
1305 // MSP430:#define MSP430 1
1306 // MSP430-NOT:#define _LP64
1307 // MSP430:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1308 // MSP430:#define __CHAR16_TYPE__ unsigned short
1309 // MSP430:#define __CHAR32_TYPE__ unsigned int
1310 // MSP430:#define __CHAR_BIT__ 8
1311 // MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1312 // MSP430:#define __DBL_DIG__ 15
1313 // MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
1314 // MSP430:#define __DBL_HAS_DENORM__ 1
1315 // MSP430:#define __DBL_HAS_INFINITY__ 1
1316 // MSP430:#define __DBL_HAS_QUIET_NAN__ 1
1317 // MSP430:#define __DBL_MANT_DIG__ 53
1318 // MSP430:#define __DBL_MAX_10_EXP__ 308
1319 // MSP430:#define __DBL_MAX_EXP__ 1024
1320 // MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
1321 // MSP430:#define __DBL_MIN_10_EXP__ (-307)
1322 // MSP430:#define __DBL_MIN_EXP__ (-1021)
1323 // MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
1324 // MSP430:#define __DECIMAL_DIG__ 17
1325 // MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1326 // MSP430:#define __FLT_DIG__ 6
1327 // MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
1328 // MSP430:#define __FLT_EVAL_METHOD__ 0
1329 // MSP430:#define __FLT_HAS_DENORM__ 1
1330 // MSP430:#define __FLT_HAS_INFINITY__ 1
1331 // MSP430:#define __FLT_HAS_QUIET_NAN__ 1
1332 // MSP430:#define __FLT_MANT_DIG__ 24
1333 // MSP430:#define __FLT_MAX_10_EXP__ 38
1334 // MSP430:#define __FLT_MAX_EXP__ 128
1335 // MSP430:#define __FLT_MAX__ 3.40282347e+38F
1336 // MSP430:#define __FLT_MIN_10_EXP__ (-37)
1337 // MSP430:#define __FLT_MIN_EXP__ (-125)
1338 // MSP430:#define __FLT_MIN__ 1.17549435e-38F
1339 // MSP430:#define __FLT_RADIX__ 2
1340 // MSP430:#define __INT16_TYPE__ short
1341 // MSP430:#define __INT32_C_SUFFIX__ L
1342 // MSP430:#define __INT32_TYPE__ long int
1343 // MSP430:#define __INT8_TYPE__ char
1344 // MSP430:#define __INTMAX_MAX__ 9223372036854775807LL
1345 // MSP430:#define __INTMAX_TYPE__ long long int
1346 // MSP430:#define __INTMAX_WIDTH__ 64
1347 // MSP430:#define __INTPTR_TYPE__ int
1348 // MSP430:#define __INTPTR_WIDTH__ 16
1349 // MSP430:#define __INT_MAX__ 32767
1350 // MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
1351 // MSP430:#define __LDBL_DIG__ 15
1352 // MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
1353 // MSP430:#define __LDBL_HAS_DENORM__ 1
1354 // MSP430:#define __LDBL_HAS_INFINITY__ 1
1355 // MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
1356 // MSP430:#define __LDBL_MANT_DIG__ 53
1357 // MSP430:#define __LDBL_MAX_10_EXP__ 308
1358 // MSP430:#define __LDBL_MAX_EXP__ 1024
1359 // MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308L
1360 // MSP430:#define __LDBL_MIN_10_EXP__ (-307)
1361 // MSP430:#define __LDBL_MIN_EXP__ (-1021)
1362 // MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308L
1363 // MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
1364 // MSP430:#define __LONG_MAX__ 2147483647L
1365 // MSP430-NOT:#define __LP64__
1366 // MSP430:#define __MSP430__ 1
1367 // MSP430:#define __POINTER_WIDTH__ 16
1368 // MSP430:#define __PTRDIFF_TYPE__ int
1369 // MSP430:#define __PTRDIFF_WIDTH__ 16
1370 // MSP430:#define __SCHAR_MAX__ 127
1371 // MSP430:#define __SHRT_MAX__ 32767
1372 // MSP430:#define __SIG_ATOMIC_WIDTH__ 32
1373 // MSP430:#define __SIZEOF_DOUBLE__ 8
1374 // MSP430:#define __SIZEOF_FLOAT__ 4
1375 // MSP430:#define __SIZEOF_INT__ 2
1376 // MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
1377 // MSP430:#define __SIZEOF_LONG_LONG__ 8
1378 // MSP430:#define __SIZEOF_LONG__ 4
1379 // MSP430:#define __SIZEOF_POINTER__ 2
1380 // MSP430:#define __SIZEOF_PTRDIFF_T__ 2
1381 // MSP430:#define __SIZEOF_SHORT__ 2
1382 // MSP430:#define __SIZEOF_SIZE_T__ 2
1383 // MSP430:#define __SIZEOF_WCHAR_T__ 2
1384 // MSP430:#define __SIZEOF_WINT_T__ 2
1385 // MSP430:#define __SIZE_MAX__ 65535U
1386 // MSP430:#define __SIZE_TYPE__ unsigned int
1387 // MSP430:#define __SIZE_WIDTH__ 16
1388 // MSP430:#define __UINTMAX_TYPE__ long long unsigned int
1389 // MSP430:#define __USER_LABEL_PREFIX__ _
1390 // MSP430:#define __WCHAR_MAX__ 32767
1391 // MSP430:#define __WCHAR_TYPE__ int
1392 // MSP430:#define __WCHAR_WIDTH__ 16
1393 // MSP430:#define __WINT_TYPE__ int
1394 // MSP430:#define __WINT_WIDTH__ 16
1395 // MSP430:#define __clang__ 1
1396 //
1397 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s
1398 //
1399 // NVPTX32-NOT:#define _LP64
1400 // NVPTX32:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1401 // NVPTX32:#define __CHAR16_TYPE__ unsigned short
1402 // NVPTX32:#define __CHAR32_TYPE__ unsigned int
1403 // NVPTX32:#define __CHAR_BIT__ 8
1404 // NVPTX32:#define __CONSTANT_CFSTRINGS__ 1
1405 // NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1406 // NVPTX32:#define __DBL_DIG__ 15
1407 // NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16
1408 // NVPTX32:#define __DBL_HAS_DENORM__ 1
1409 // NVPTX32:#define __DBL_HAS_INFINITY__ 1
1410 // NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1
1411 // NVPTX32:#define __DBL_MANT_DIG__ 53
1412 // NVPTX32:#define __DBL_MAX_10_EXP__ 308
1413 // NVPTX32:#define __DBL_MAX_EXP__ 1024
1414 // NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308
1415 // NVPTX32:#define __DBL_MIN_10_EXP__ (-307)
1416 // NVPTX32:#define __DBL_MIN_EXP__ (-1021)
1417 // NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308
1418 // NVPTX32:#define __DECIMAL_DIG__ 17
1419 // NVPTX32:#define __FINITE_MATH_ONLY__ 0
1420 // NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1421 // NVPTX32:#define __FLT_DIG__ 6
1422 // NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F
1423 // NVPTX32:#define __FLT_EVAL_METHOD__ 0
1424 // NVPTX32:#define __FLT_HAS_DENORM__ 1
1425 // NVPTX32:#define __FLT_HAS_INFINITY__ 1
1426 // NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1
1427 // NVPTX32:#define __FLT_MANT_DIG__ 24
1428 // NVPTX32:#define __FLT_MAX_10_EXP__ 38
1429 // NVPTX32:#define __FLT_MAX_EXP__ 128
1430 // NVPTX32:#define __FLT_MAX__ 3.40282347e+38F
1431 // NVPTX32:#define __FLT_MIN_10_EXP__ (-37)
1432 // NVPTX32:#define __FLT_MIN_EXP__ (-125)
1433 // NVPTX32:#define __FLT_MIN__ 1.17549435e-38F
1434 // NVPTX32:#define __FLT_RADIX__ 2
1435 // NVPTX32:#define __INT16_TYPE__ short
1436 // NVPTX32:#define __INT32_TYPE__ int
1437 // NVPTX32:#define __INT64_C_SUFFIX__ LL
1438 // NVPTX32:#define __INT64_TYPE__ long long int
1439 // NVPTX32:#define __INT8_TYPE__ char
1440 // NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL
1441 // NVPTX32:#define __INTMAX_TYPE__ long long int
1442 // NVPTX32:#define __INTMAX_WIDTH__ 64
1443 // NVPTX32:#define __INTPTR_TYPE__ unsigned int
1444 // NVPTX32:#define __INTPTR_WIDTH__ 32
1445 // NVPTX32:#define __INT_MAX__ 2147483647
1446 // NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
1447 // NVPTX32:#define __LDBL_DIG__ 15
1448 // NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
1449 // NVPTX32:#define __LDBL_HAS_DENORM__ 1
1450 // NVPTX32:#define __LDBL_HAS_INFINITY__ 1
1451 // NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1
1452 // NVPTX32:#define __LDBL_MANT_DIG__ 53
1453 // NVPTX32:#define __LDBL_MAX_10_EXP__ 308
1454 // NVPTX32:#define __LDBL_MAX_EXP__ 1024
1455 // NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308L
1456 // NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
1457 // NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
1458 // NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308L
1459 // NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL
1460 // NVPTX32:#define __LONG_MAX__ 9223372036854775807L
1461 // NVPTX32-NOT:#define __LP64__
1462 // NVPTX32:#define __NVPTX__ 1
1463 // NVPTX32:#define __POINTER_WIDTH__ 32
1464 // NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1
1465 // NVPTX32:#define __PTRDIFF_TYPE__ unsigned int
1466 // NVPTX32:#define __PTRDIFF_WIDTH__ 32
1467 // NVPTX32:#define __PTX__ 1
1468 // NVPTX32:#define __SCHAR_MAX__ 127
1469 // NVPTX32:#define __SHRT_MAX__ 32767
1470 // NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32
1471 // NVPTX32:#define __SIZEOF_DOUBLE__ 8
1472 // NVPTX32:#define __SIZEOF_FLOAT__ 4
1473 // NVPTX32:#define __SIZEOF_INT__ 4
1474 // NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8
1475 // NVPTX32:#define __SIZEOF_LONG_LONG__ 8
1476 // NVPTX32:#define __SIZEOF_LONG__ 8
1477 // NVPTX32:#define __SIZEOF_POINTER__ 4
1478 // NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4
1479 // NVPTX32:#define __SIZEOF_SHORT__ 2
1480 // NVPTX32:#define __SIZEOF_SIZE_T__ 4
1481 // NVPTX32:#define __SIZEOF_WCHAR_T__ 4
1482 // NVPTX32:#define __SIZEOF_WINT_T__ 4
1483 // NVPTX32:#define __SIZE_MAX__ 4294967295U
1484 // NVPTX32:#define __SIZE_TYPE__ unsigned int
1485 // NVPTX32:#define __SIZE_WIDTH__ 32
1486 // NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int
1487 // NVPTX32:#define __USER_LABEL_PREFIX__ _
1488 // NVPTX32:#define __WCHAR_MAX__ 2147483647
1489 // NVPTX32:#define __WCHAR_TYPE__ int
1490 // NVPTX32:#define __WCHAR_WIDTH__ 32
1491 // NVPTX32:#define __WINT_TYPE__ int
1492 // NVPTX32:#define __WINT_WIDTH__ 32
1493 //
1494 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -check-prefix NVPTX64 %s
1495 //
1496 // NVPTX64:#define _LP64 1
1497 // NVPTX64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1498 // NVPTX64:#define __CHAR16_TYPE__ unsigned short
1499 // NVPTX64:#define __CHAR32_TYPE__ unsigned int
1500 // NVPTX64:#define __CHAR_BIT__ 8
1501 // NVPTX64:#define __CONSTANT_CFSTRINGS__ 1
1502 // NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1503 // NVPTX64:#define __DBL_DIG__ 15
1504 // NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1505 // NVPTX64:#define __DBL_HAS_DENORM__ 1
1506 // NVPTX64:#define __DBL_HAS_INFINITY__ 1
1507 // NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1
1508 // NVPTX64:#define __DBL_MANT_DIG__ 53
1509 // NVPTX64:#define __DBL_MAX_10_EXP__ 308
1510 // NVPTX64:#define __DBL_MAX_EXP__ 1024
1511 // NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308
1512 // NVPTX64:#define __DBL_MIN_10_EXP__ (-307)
1513 // NVPTX64:#define __DBL_MIN_EXP__ (-1021)
1514 // NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308
1515 // NVPTX64:#define __DECIMAL_DIG__ 17
1516 // NVPTX64:#define __FINITE_MATH_ONLY__ 0
1517 // NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1518 // NVPTX64:#define __FLT_DIG__ 6
1519 // NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F
1520 // NVPTX64:#define __FLT_EVAL_METHOD__ 0
1521 // NVPTX64:#define __FLT_HAS_DENORM__ 1
1522 // NVPTX64:#define __FLT_HAS_INFINITY__ 1
1523 // NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1
1524 // NVPTX64:#define __FLT_MANT_DIG__ 24
1525 // NVPTX64:#define __FLT_MAX_10_EXP__ 38
1526 // NVPTX64:#define __FLT_MAX_EXP__ 128
1527 // NVPTX64:#define __FLT_MAX__ 3.40282347e+38F
1528 // NVPTX64:#define __FLT_MIN_10_EXP__ (-37)
1529 // NVPTX64:#define __FLT_MIN_EXP__ (-125)
1530 // NVPTX64:#define __FLT_MIN__ 1.17549435e-38F
1531 // NVPTX64:#define __FLT_RADIX__ 2
1532 // NVPTX64:#define __INT16_TYPE__ short
1533 // NVPTX64:#define __INT32_TYPE__ int
1534 // NVPTX64:#define __INT64_C_SUFFIX__ LL
1535 // NVPTX64:#define __INT64_TYPE__ long long int
1536 // NVPTX64:#define __INT8_TYPE__ char
1537 // NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL
1538 // NVPTX64:#define __INTMAX_TYPE__ long long int
1539 // NVPTX64:#define __INTMAX_WIDTH__ 64
1540 // NVPTX64:#define __INTPTR_TYPE__ long long unsigned int
1541 // NVPTX64:#define __INTPTR_WIDTH__ 64
1542 // NVPTX64:#define __INT_MAX__ 2147483647
1543 // NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
1544 // NVPTX64:#define __LDBL_DIG__ 15
1545 // NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
1546 // NVPTX64:#define __LDBL_HAS_DENORM__ 1
1547 // NVPTX64:#define __LDBL_HAS_INFINITY__ 1
1548 // NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1
1549 // NVPTX64:#define __LDBL_MANT_DIG__ 53
1550 // NVPTX64:#define __LDBL_MAX_10_EXP__ 308
1551 // NVPTX64:#define __LDBL_MAX_EXP__ 1024
1552 // NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308L
1553 // NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
1554 // NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
1555 // NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308L
1556 // NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1557 // NVPTX64:#define __LONG_MAX__ 9223372036854775807L
1558 // NVPTX64:#define __LP64__ 1
1559 // NVPTX64:#define __NVPTX__ 1
1560 // NVPTX64:#define __POINTER_WIDTH__ 64
1561 // NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1
1562 // NVPTX64:#define __PTRDIFF_TYPE__ long long unsigned int
1563 // NVPTX64:#define __PTRDIFF_WIDTH__ 64
1564 // NVPTX64:#define __PTX__ 1
1565 // NVPTX64:#define __SCHAR_MAX__ 127
1566 // NVPTX64:#define __SHRT_MAX__ 32767
1567 // NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32
1568 // NVPTX64:#define __SIZEOF_DOUBLE__ 8
1569 // NVPTX64:#define __SIZEOF_FLOAT__ 4
1570 // NVPTX64:#define __SIZEOF_INT__ 4
1571 // NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8
1572 // NVPTX64:#define __SIZEOF_LONG_LONG__ 8
1573 // NVPTX64:#define __SIZEOF_LONG__ 8
1574 // NVPTX64:#define __SIZEOF_POINTER__ 8
1575 // NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8
1576 // NVPTX64:#define __SIZEOF_SHORT__ 2
1577 // NVPTX64:#define __SIZEOF_SIZE_T__ 8
1578 // NVPTX64:#define __SIZEOF_WCHAR_T__ 4
1579 // NVPTX64:#define __SIZEOF_WINT_T__ 4
1580 // NVPTX64:#define __SIZE_MAX__ 18446744073709551615UL
1581 // NVPTX64:#define __SIZE_TYPE__ long long unsigned int
1582 // NVPTX64:#define __SIZE_WIDTH__ 64
1583 // NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int
1584 // NVPTX64:#define __USER_LABEL_PREFIX__ _
1585 // NVPTX64:#define __WCHAR_MAX__ 2147483647
1586 // NVPTX64:#define __WCHAR_TYPE__ int
1587 // NVPTX64:#define __WCHAR_WIDTH__ 32
1588 // NVPTX64:#define __WINT_TYPE__ int
1589 // NVPTX64:#define __WINT_WIDTH__ 32
1590 //
1591 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -check-prefix PPC603E %s
1592 //
1593 // PPC603E:#define _ARCH_603 1
1594 // PPC603E:#define _ARCH_603E 1
1595 // PPC603E:#define _ARCH_PPC 1
1596 // PPC603E:#define _ARCH_PPCGR 1
1597 // PPC603E:#define _BIG_ENDIAN 1
1598 // PPC603E-NOT:#define _LP64
1599 // PPC603E:#define __BIG_ENDIAN__ 1
1600 // PPC603E:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
1601 // PPC603E:#define __CHAR16_TYPE__ unsigned short
1602 // PPC603E:#define __CHAR32_TYPE__ unsigned int
1603 // PPC603E:#define __CHAR_BIT__ 8
1604 // PPC603E:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1605 // PPC603E:#define __DBL_DIG__ 15
1606 // PPC603E:#define __DBL_EPSILON__ 2.2204460492503131e-16
1607 // PPC603E:#define __DBL_HAS_DENORM__ 1
1608 // PPC603E:#define __DBL_HAS_INFINITY__ 1
1609 // PPC603E:#define __DBL_HAS_QUIET_NAN__ 1
1610 // PPC603E:#define __DBL_MANT_DIG__ 53
1611 // PPC603E:#define __DBL_MAX_10_EXP__ 308
1612 // PPC603E:#define __DBL_MAX_EXP__ 1024
1613 // PPC603E:#define __DBL_MAX__ 1.7976931348623157e+308
1614 // PPC603E:#define __DBL_MIN_10_EXP__ (-307)
1615 // PPC603E:#define __DBL_MIN_EXP__ (-1021)
1616 // PPC603E:#define __DBL_MIN__ 2.2250738585072014e-308
1617 // PPC603E:#define __DECIMAL_DIG__ 33
1618 // PPC603E:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1619 // PPC603E:#define __FLT_DIG__ 6
1620 // PPC603E:#define __FLT_EPSILON__ 1.19209290e-7F
1621 // PPC603E:#define __FLT_EVAL_METHOD__ 0
1622 // PPC603E:#define __FLT_HAS_DENORM__ 1
1623 // PPC603E:#define __FLT_HAS_INFINITY__ 1
1624 // PPC603E:#define __FLT_HAS_QUIET_NAN__ 1
1625 // PPC603E:#define __FLT_MANT_DIG__ 24
1626 // PPC603E:#define __FLT_MAX_10_EXP__ 38
1627 // PPC603E:#define __FLT_MAX_EXP__ 128
1628 // PPC603E:#define __FLT_MAX__ 3.40282347e+38F
1629 // PPC603E:#define __FLT_MIN_10_EXP__ (-37)
1630 // PPC603E:#define __FLT_MIN_EXP__ (-125)
1631 // PPC603E:#define __FLT_MIN__ 1.17549435e-38F
1632 // PPC603E:#define __FLT_RADIX__ 2
1633 // PPC603E:#define __INT16_TYPE__ short
1634 // PPC603E:#define __INT32_TYPE__ int
1635 // PPC603E:#define __INT64_C_SUFFIX__ LL
1636 // PPC603E:#define __INT64_TYPE__ long long int
1637 // PPC603E:#define __INT8_TYPE__ char
1638 // PPC603E:#define __INTMAX_MAX__ 9223372036854775807LL
1639 // PPC603E:#define __INTMAX_TYPE__ long long int
1640 // PPC603E:#define __INTMAX_WIDTH__ 64
1641 // PPC603E:#define __INTPTR_TYPE__ long int
1642 // PPC603E:#define __INTPTR_WIDTH__ 32
1643 // PPC603E:#define __INT_MAX__ 2147483647
1644 // PPC603E:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1645 // PPC603E:#define __LDBL_DIG__ 31
1646 // PPC603E:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1647 // PPC603E:#define __LDBL_HAS_DENORM__ 1
1648 // PPC603E:#define __LDBL_HAS_INFINITY__ 1
1649 // PPC603E:#define __LDBL_HAS_QUIET_NAN__ 1
1650 // PPC603E:#define __LDBL_MANT_DIG__ 106
1651 // PPC603E:#define __LDBL_MAX_10_EXP__ 308
1652 // PPC603E:#define __LDBL_MAX_EXP__ 1024
1653 // PPC603E:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1654 // PPC603E:#define __LDBL_MIN_10_EXP__ (-291)
1655 // PPC603E:#define __LDBL_MIN_EXP__ (-968)
1656 // PPC603E:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1657 // PPC603E:#define __LONG_DOUBLE_128__ 1
1658 // PPC603E:#define __LONG_LONG_MAX__ 9223372036854775807LL
1659 // PPC603E:#define __LONG_MAX__ 2147483647L
1660 // PPC603E-NOT:#define __LP64__
1661 // PPC603E:#define __NATURAL_ALIGNMENT__ 1
1662 // PPC603E:#define __POINTER_WIDTH__ 32
1663 // PPC603E:#define __POWERPC__ 1
1664 // PPC603E:#define __PPC__ 1
1665 // PPC603E:#define __PTRDIFF_TYPE__ long int
1666 // PPC603E:#define __PTRDIFF_WIDTH__ 32
1667 // PPC603E:#define __REGISTER_PREFIX__
1668 // PPC603E:#define __SCHAR_MAX__ 127
1669 // PPC603E:#define __SHRT_MAX__ 32767
1670 // PPC603E:#define __SIG_ATOMIC_WIDTH__ 32
1671 // PPC603E:#define __SIZEOF_DOUBLE__ 8
1672 // PPC603E:#define __SIZEOF_FLOAT__ 4
1673 // PPC603E:#define __SIZEOF_INT__ 4
1674 // PPC603E:#define __SIZEOF_LONG_DOUBLE__ 16
1675 // PPC603E:#define __SIZEOF_LONG_LONG__ 8
1676 // PPC603E:#define __SIZEOF_LONG__ 4
1677 // PPC603E:#define __SIZEOF_POINTER__ 4
1678 // PPC603E:#define __SIZEOF_PTRDIFF_T__ 4
1679 // PPC603E:#define __SIZEOF_SHORT__ 2
1680 // PPC603E:#define __SIZEOF_SIZE_T__ 4
1681 // PPC603E:#define __SIZEOF_WCHAR_T__ 4
1682 // PPC603E:#define __SIZEOF_WINT_T__ 4
1683 // PPC603E:#define __SIZE_MAX__ 4294967295U
1684 // PPC603E:#define __SIZE_TYPE__ long unsigned int
1685 // PPC603E:#define __SIZE_WIDTH__ 32
1686 // PPC603E:#define __UINTMAX_TYPE__ long long unsigned int
1687 // PPC603E:#define __USER_LABEL_PREFIX__ _
1688 // PPC603E:#define __WCHAR_MAX__ 2147483647
1689 // PPC603E:#define __WCHAR_TYPE__ int
1690 // PPC603E:#define __WCHAR_WIDTH__ 32
1691 // PPC603E:#define __WINT_TYPE__ int
1692 // PPC603E:#define __WINT_WIDTH__ 32
1693 // PPC603E:#define __powerpc__ 1
1694 // PPC603E:#define __ppc__ 1
1695 //
1696 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64 %s
1697 //
1698 // PPC64:#define _ARCH_PPC 1
1699 // PPC64:#define _ARCH_PPC64 1
1700 // PPC64:#define _ARCH_PPCGR 1
1701 // PPC64:#define _ARCH_PPCSQ 1
1702 // PPC64:#define _ARCH_PWR4 1
1703 // PPC64:#define _ARCH_PWR5 1
1704 // PPC64:#define _ARCH_PWR6 1
1705 // PPC64:#define _ARCH_PWR7 1
1706 // PPC64:#define _BIG_ENDIAN 1
1707 // PPC64:#define _LP64 1
1708 // PPC64:#define __BIG_ENDIAN__ 1
1709 // PPC64:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
1710 // PPC64:#define __CHAR16_TYPE__ unsigned short
1711 // PPC64:#define __CHAR32_TYPE__ unsigned int
1712 // PPC64:#define __CHAR_BIT__ 8
1713 // PPC64:#define __CHAR_UNSIGNED__ 1
1714 // PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1715 // PPC64:#define __DBL_DIG__ 15
1716 // PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1717 // PPC64:#define __DBL_HAS_DENORM__ 1
1718 // PPC64:#define __DBL_HAS_INFINITY__ 1
1719 // PPC64:#define __DBL_HAS_QUIET_NAN__ 1
1720 // PPC64:#define __DBL_MANT_DIG__ 53
1721 // PPC64:#define __DBL_MAX_10_EXP__ 308
1722 // PPC64:#define __DBL_MAX_EXP__ 1024
1723 // PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
1724 // PPC64:#define __DBL_MIN_10_EXP__ (-307)
1725 // PPC64:#define __DBL_MIN_EXP__ (-1021)
1726 // PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
1727 // PPC64:#define __DECIMAL_DIG__ 33
1728 // PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1729 // PPC64:#define __FLT_DIG__ 6
1730 // PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
1731 // PPC64:#define __FLT_EVAL_METHOD__ 0
1732 // PPC64:#define __FLT_HAS_DENORM__ 1
1733 // PPC64:#define __FLT_HAS_INFINITY__ 1
1734 // PPC64:#define __FLT_HAS_QUIET_NAN__ 1
1735 // PPC64:#define __FLT_MANT_DIG__ 24
1736 // PPC64:#define __FLT_MAX_10_EXP__ 38
1737 // PPC64:#define __FLT_MAX_EXP__ 128
1738 // PPC64:#define __FLT_MAX__ 3.40282347e+38F
1739 // PPC64:#define __FLT_MIN_10_EXP__ (-37)
1740 // PPC64:#define __FLT_MIN_EXP__ (-125)
1741 // PPC64:#define __FLT_MIN__ 1.17549435e-38F
1742 // PPC64:#define __FLT_RADIX__ 2
1743 // PPC64:#define __INT16_TYPE__ short
1744 // PPC64:#define __INT32_TYPE__ int
1745 // PPC64:#define __INT64_C_SUFFIX__ L
1746 // PPC64:#define __INT64_TYPE__ long int
1747 // PPC64:#define __INT8_TYPE__ char
1748 // PPC64:#define __INTMAX_MAX__ 9223372036854775807L
1749 // PPC64:#define __INTMAX_TYPE__ long int
1750 // PPC64:#define __INTMAX_WIDTH__ 64
1751 // PPC64:#define __INTPTR_TYPE__ long int
1752 // PPC64:#define __INTPTR_WIDTH__ 64
1753 // PPC64:#define __INT_MAX__ 2147483647
1754 // PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1755 // PPC64:#define __LDBL_DIG__ 31
1756 // PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1757 // PPC64:#define __LDBL_HAS_DENORM__ 1
1758 // PPC64:#define __LDBL_HAS_INFINITY__ 1
1759 // PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
1760 // PPC64:#define __LDBL_MANT_DIG__ 106
1761 // PPC64:#define __LDBL_MAX_10_EXP__ 308
1762 // PPC64:#define __LDBL_MAX_EXP__ 1024
1763 // PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1764 // PPC64:#define __LDBL_MIN_10_EXP__ (-291)
1765 // PPC64:#define __LDBL_MIN_EXP__ (-968)
1766 // PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1767 // PPC64:#define __LONG_DOUBLE_128__ 1
1768 // PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1769 // PPC64:#define __LONG_MAX__ 9223372036854775807L
1770 // PPC64:#define __LP64__ 1
1771 // PPC64:#define __NATURAL_ALIGNMENT__ 1
1772 // PPC64:#define __POINTER_WIDTH__ 64
1773 // PPC64:#define __POWERPC__ 1
1774 // PPC64:#define __PPC64__ 1
1775 // PPC64:#define __PPC__ 1
1776 // PPC64:#define __PTRDIFF_TYPE__ long int
1777 // PPC64:#define __PTRDIFF_WIDTH__ 64
1778 // PPC64:#define __REGISTER_PREFIX__
1779 // PPC64:#define __SCHAR_MAX__ 127
1780 // PPC64:#define __SHRT_MAX__ 32767
1781 // PPC64:#define __SIG_ATOMIC_WIDTH__ 32
1782 // PPC64:#define __SIZEOF_DOUBLE__ 8
1783 // PPC64:#define __SIZEOF_FLOAT__ 4
1784 // PPC64:#define __SIZEOF_INT__ 4
1785 // PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
1786 // PPC64:#define __SIZEOF_LONG_LONG__ 8
1787 // PPC64:#define __SIZEOF_LONG__ 8
1788 // PPC64:#define __SIZEOF_POINTER__ 8
1789 // PPC64:#define __SIZEOF_PTRDIFF_T__ 8
1790 // PPC64:#define __SIZEOF_SHORT__ 2
1791 // PPC64:#define __SIZEOF_SIZE_T__ 8
1792 // PPC64:#define __SIZEOF_WCHAR_T__ 4
1793 // PPC64:#define __SIZEOF_WINT_T__ 4
1794 // PPC64:#define __SIZE_MAX__ 18446744073709551615UL
1795 // PPC64:#define __SIZE_TYPE__ long unsigned int
1796 // PPC64:#define __SIZE_WIDTH__ 64
1797 // PPC64:#define __UINTMAX_TYPE__ long unsigned int
1798 // PPC64:#define __USER_LABEL_PREFIX__ _
1799 // PPC64:#define __WCHAR_MAX__ 2147483647
1800 // PPC64:#define __WCHAR_TYPE__ int
1801 // PPC64:#define __WCHAR_WIDTH__ 32
1802 // PPC64:#define __WINT_TYPE__ int
1803 // PPC64:#define __WINT_WIDTH__ 32
1804 // PPC64:#define __ppc64__ 1
1805 // PPC64:#define __ppc__ 1
1806 //
1807 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64LE %s
1808 //
1809 // PPC64LE:#define _ARCH_PPC 1
1810 // PPC64LE:#define _ARCH_PPC64 1
1811 // PPC64LE:#define _ARCH_PPCGR 1
1812 // PPC64LE:#define _ARCH_PPCSQ 1
1813 // PPC64LE:#define _ARCH_PWR4 1
1814 // PPC64LE:#define _ARCH_PWR5 1
1815 // PPC64LE:#define _ARCH_PWR5X 1
1816 // PPC64LE:#define _ARCH_PWR6 1
1817 // PPC64LE:#define _ARCH_PWR6X 1
1818 // PPC64LE:#define _ARCH_PWR7 1
1819 // PPC64LE:#define _LITTLE_ENDIAN 1
1820 // PPC64LE:#define _LP64 1
1821 // PPC64LE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1822 // PPC64LE:#define __CHAR16_TYPE__ unsigned short
1823 // PPC64LE:#define __CHAR32_TYPE__ unsigned int
1824 // PPC64LE:#define __CHAR_BIT__ 8
1825 // PPC64LE:#define __CHAR_UNSIGNED__ 1
1826 // PPC64LE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1827 // PPC64LE:#define __DBL_DIG__ 15
1828 // PPC64LE:#define __DBL_EPSILON__ 2.2204460492503131e-16
1829 // PPC64LE:#define __DBL_HAS_DENORM__ 1
1830 // PPC64LE:#define __DBL_HAS_INFINITY__ 1
1831 // PPC64LE:#define __DBL_HAS_QUIET_NAN__ 1
1832 // PPC64LE:#define __DBL_MANT_DIG__ 53
1833 // PPC64LE:#define __DBL_MAX_10_EXP__ 308
1834 // PPC64LE:#define __DBL_MAX_EXP__ 1024
1835 // PPC64LE:#define __DBL_MAX__ 1.7976931348623157e+308
1836 // PPC64LE:#define __DBL_MIN_10_EXP__ (-307)
1837 // PPC64LE:#define __DBL_MIN_EXP__ (-1021)
1838 // PPC64LE:#define __DBL_MIN__ 2.2250738585072014e-308
1839 // PPC64LE:#define __DECIMAL_DIG__ 33
1840 // PPC64LE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1841 // PPC64LE:#define __FLT_DIG__ 6
1842 // PPC64LE:#define __FLT_EPSILON__ 1.19209290e-7F
1843 // PPC64LE:#define __FLT_EVAL_METHOD__ 0
1844 // PPC64LE:#define __FLT_HAS_DENORM__ 1
1845 // PPC64LE:#define __FLT_HAS_INFINITY__ 1
1846 // PPC64LE:#define __FLT_HAS_QUIET_NAN__ 1
1847 // PPC64LE:#define __FLT_MANT_DIG__ 24
1848 // PPC64LE:#define __FLT_MAX_10_EXP__ 38
1849 // PPC64LE:#define __FLT_MAX_EXP__ 128
1850 // PPC64LE:#define __FLT_MAX__ 3.40282347e+38F
1851 // PPC64LE:#define __FLT_MIN_10_EXP__ (-37)
1852 // PPC64LE:#define __FLT_MIN_EXP__ (-125)
1853 // PPC64LE:#define __FLT_MIN__ 1.17549435e-38F
1854 // PPC64LE:#define __FLT_RADIX__ 2
1855 // PPC64LE:#define __INT16_TYPE__ short
1856 // PPC64LE:#define __INT32_TYPE__ int
1857 // PPC64LE:#define __INT64_C_SUFFIX__ L
1858 // PPC64LE:#define __INT64_TYPE__ long int
1859 // PPC64LE:#define __INT8_TYPE__ char
1860 // PPC64LE:#define __INTMAX_MAX__ 9223372036854775807L
1861 // PPC64LE:#define __INTMAX_TYPE__ long int
1862 // PPC64LE:#define __INTMAX_WIDTH__ 64
1863 // PPC64LE:#define __INTPTR_TYPE__ long int
1864 // PPC64LE:#define __INTPTR_WIDTH__ 64
1865 // PPC64LE:#define __INT_MAX__ 2147483647
1866 // PPC64LE:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1867 // PPC64LE:#define __LDBL_DIG__ 31
1868 // PPC64LE:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1869 // PPC64LE:#define __LDBL_HAS_DENORM__ 1
1870 // PPC64LE:#define __LDBL_HAS_INFINITY__ 1
1871 // PPC64LE:#define __LDBL_HAS_QUIET_NAN__ 1
1872 // PPC64LE:#define __LDBL_MANT_DIG__ 106
1873 // PPC64LE:#define __LDBL_MAX_10_EXP__ 308
1874 // PPC64LE:#define __LDBL_MAX_EXP__ 1024
1875 // PPC64LE:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1876 // PPC64LE:#define __LDBL_MIN_10_EXP__ (-291)
1877 // PPC64LE:#define __LDBL_MIN_EXP__ (-968)
1878 // PPC64LE:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1879 // PPC64LE:#define __LITTLE_ENDIAN__ 1
1880 // PPC64LE:#define __LONG_DOUBLE_128__ 1
1881 // PPC64LE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1882 // PPC64LE:#define __LONG_MAX__ 9223372036854775807L
1883 // PPC64LE:#define __LP64__ 1
1884 // PPC64LE:#define __NATURAL_ALIGNMENT__ 1
1885 // PPC64LE:#define __POINTER_WIDTH__ 64
1886 // PPC64LE:#define __POWERPC__ 1
1887 // PPC64LE:#define __PPC64__ 1
1888 // PPC64LE:#define __PPC__ 1
1889 // PPC64LE:#define __PTRDIFF_TYPE__ long int
1890 // PPC64LE:#define __PTRDIFF_WIDTH__ 64
1891 // PPC64LE:#define __REGISTER_PREFIX__
1892 // PPC64LE:#define __SCHAR_MAX__ 127
1893 // PPC64LE:#define __SHRT_MAX__ 32767
1894 // PPC64LE:#define __SIG_ATOMIC_WIDTH__ 32
1895 // PPC64LE:#define __SIZEOF_DOUBLE__ 8
1896 // PPC64LE:#define __SIZEOF_FLOAT__ 4
1897 // PPC64LE:#define __SIZEOF_INT__ 4
1898 // PPC64LE:#define __SIZEOF_LONG_DOUBLE__ 16
1899 // PPC64LE:#define __SIZEOF_LONG_LONG__ 8
1900 // PPC64LE:#define __SIZEOF_LONG__ 8
1901 // PPC64LE:#define __SIZEOF_POINTER__ 8
1902 // PPC64LE:#define __SIZEOF_PTRDIFF_T__ 8
1903 // PPC64LE:#define __SIZEOF_SHORT__ 2
1904 // PPC64LE:#define __SIZEOF_SIZE_T__ 8
1905 // PPC64LE:#define __SIZEOF_WCHAR_T__ 4
1906 // PPC64LE:#define __SIZEOF_WINT_T__ 4
1907 // PPC64LE:#define __SIZE_MAX__ 18446744073709551615UL
1908 // PPC64LE:#define __SIZE_TYPE__ long unsigned int
1909 // PPC64LE:#define __SIZE_WIDTH__ 64
1910 // PPC64LE:#define __UINTMAX_TYPE__ long unsigned int
1911 // PPC64LE:#define __USER_LABEL_PREFIX__ _
1912 // PPC64LE:#define __WCHAR_MAX__ 2147483647
1913 // PPC64LE:#define __WCHAR_TYPE__ int
1914 // PPC64LE:#define __WCHAR_WIDTH__ 32
1915 // PPC64LE:#define __WINT_TYPE__ int
1916 // PPC64LE:#define __WINT_WIDTH__ 32
1917 // PPC64LE:#define __ppc64__ 1
1918 // PPC64LE:#define __ppc__ 1
1919 //
1920 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu a2q -fno-signed-char < /dev/null | FileCheck -check-prefix PPCA2Q %s
1921 //
1922 // PPCA2Q:#define _ARCH_A2 1
1923 // PPCA2Q:#define _ARCH_A2Q 1
1924 // PPCA2Q:#define _ARCH_PPC 1
1925 // PPCA2Q:#define _ARCH_PPC64 1
1926 // PPCA2Q:#define _ARCH_QP 1
1927 //
1928 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-bgq-linux -fno-signed-char < /dev/null | FileCheck -check-prefix PPCBGQ %s
1929 //
1930 // PPCBGQ:#define __THW_BLUEGENE__ 1
1931 // PPCBGQ:#define __TOS_BGQ__ 1
1932 // PPCBGQ:#define __bg__ 1
1933 // PPCBGQ:#define __bgq__ 1
1934 //
1935 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu 630 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC630 %s
1936 //
1937 // PPC630:#define _ARCH_630 1
1938 // PPC630:#define _ARCH_PPC 1
1939 // PPC630:#define _ARCH_PPC64 1
1940 // PPC630:#define _ARCH_PPCGR 1
1941 //
1942 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR3 %s
1943 //
1944 // PPCPWR3:#define _ARCH_PPC 1
1945 // PPCPWR3:#define _ARCH_PPC64 1
1946 // PPCPWR3:#define _ARCH_PPCGR 1
1947 //
1948 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER3 %s
1949 //
1950 // PPCPOWER3:#define _ARCH_PPC 1
1951 // PPCPOWER3:#define _ARCH_PPC64 1
1952 // PPCPOWER3:#define _ARCH_PPCGR 1
1953 //
1954 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR4 %s
1955 //
1956 // PPCPWR4:#define _ARCH_PPC 1
1957 // PPCPWR4:#define _ARCH_PPC64 1
1958 // PPCPWR4:#define _ARCH_PPCGR 1
1959 // PPCPWR4:#define _ARCH_PPCSQ 1
1960 // PPCPWR4:#define _ARCH_PWR4 1
1961 //
1962 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER4 %s
1963 //
1964 // PPCPOWER4:#define _ARCH_PPC 1
1965 // PPCPOWER4:#define _ARCH_PPC64 1
1966 // PPCPOWER4:#define _ARCH_PPCGR 1
1967 // PPCPOWER4:#define _ARCH_PPCSQ 1
1968 // PPCPOWER4:#define _ARCH_PWR4 1
1969 //
1970 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5 %s
1971 //
1972 // PPCPWR5:#define _ARCH_PPC 1
1973 // PPCPWR5:#define _ARCH_PPC64 1
1974 // PPCPWR5:#define _ARCH_PPCGR 1
1975 // PPCPWR5:#define _ARCH_PPCSQ 1
1976 // PPCPWR5:#define _ARCH_PWR4 1
1977 // PPCPWR5:#define _ARCH_PWR5 1
1978 //
1979 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5 %s
1980 //
1981 // PPCPOWER5:#define _ARCH_PPC 1
1982 // PPCPOWER5:#define _ARCH_PPC64 1
1983 // PPCPOWER5:#define _ARCH_PPCGR 1
1984 // PPCPOWER5:#define _ARCH_PPCSQ 1
1985 // PPCPOWER5:#define _ARCH_PWR4 1
1986 // PPCPOWER5:#define _ARCH_PWR5 1
1987 //
1988 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5X %s
1989 //
1990 // PPCPWR5X:#define _ARCH_PPC 1
1991 // PPCPWR5X:#define _ARCH_PPC64 1
1992 // PPCPWR5X:#define _ARCH_PPCGR 1
1993 // PPCPWR5X:#define _ARCH_PPCSQ 1
1994 // PPCPWR5X:#define _ARCH_PWR4 1
1995 // PPCPWR5X:#define _ARCH_PWR5 1
1996 // PPCPWR5X:#define _ARCH_PWR5X 1
1997 //
1998 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5X %s
1999 //
2000 // PPCPOWER5X:#define _ARCH_PPC 1
2001 // PPCPOWER5X:#define _ARCH_PPC64 1
2002 // PPCPOWER5X:#define _ARCH_PPCGR 1
2003 // PPCPOWER5X:#define _ARCH_PPCSQ 1
2004 // PPCPOWER5X:#define _ARCH_PWR4 1
2005 // PPCPOWER5X:#define _ARCH_PWR5 1
2006 // PPCPOWER5X:#define _ARCH_PWR5X 1
2007 //
2008 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6 %s
2009 //
2010 // PPCPWR6:#define _ARCH_PPC 1
2011 // PPCPWR6:#define _ARCH_PPC64 1
2012 // PPCPWR6:#define _ARCH_PPCGR 1
2013 // PPCPWR6:#define _ARCH_PPCSQ 1
2014 // PPCPWR6:#define _ARCH_PWR4 1
2015 // PPCPWR6:#define _ARCH_PWR5 1
2016 // PPCPWR6:#define _ARCH_PWR5X 1
2017 // PPCPWR6:#define _ARCH_PWR6 1
2018 //
2019 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6 %s
2020 //
2021 // PPCPOWER6:#define _ARCH_PPC 1
2022 // PPCPOWER6:#define _ARCH_PPC64 1
2023 // PPCPOWER6:#define _ARCH_PPCGR 1
2024 // PPCPOWER6:#define _ARCH_PPCSQ 1
2025 // PPCPOWER6:#define _ARCH_PWR4 1
2026 // PPCPOWER6:#define _ARCH_PWR5 1
2027 // PPCPOWER6:#define _ARCH_PWR5X 1
2028 // PPCPOWER6:#define _ARCH_PWR6 1
2029 //
2030 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6X %s
2031 //
2032 // PPCPWR6X:#define _ARCH_PPC 1
2033 // PPCPWR6X:#define _ARCH_PPC64 1
2034 // PPCPWR6X:#define _ARCH_PPCGR 1
2035 // PPCPWR6X:#define _ARCH_PPCSQ 1
2036 // PPCPWR6X:#define _ARCH_PWR4 1
2037 // PPCPWR6X:#define _ARCH_PWR5 1
2038 // PPCPWR6X:#define _ARCH_PWR5X 1
2039 // PPCPWR6X:#define _ARCH_PWR6 1
2040 // PPCPWR6X:#define _ARCH_PWR6X 1
2041 //
2042 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6X %s
2043 //
2044 // PPCPOWER6X:#define _ARCH_PPC 1
2045 // PPCPOWER6X:#define _ARCH_PPC64 1
2046 // PPCPOWER6X:#define _ARCH_PPCGR 1
2047 // PPCPOWER6X:#define _ARCH_PPCSQ 1
2048 // PPCPOWER6X:#define _ARCH_PWR4 1
2049 // PPCPOWER6X:#define _ARCH_PWR5 1
2050 // PPCPOWER6X:#define _ARCH_PWR5X 1
2051 // PPCPOWER6X:#define _ARCH_PWR6 1
2052 // PPCPOWER6X:#define _ARCH_PWR6X 1
2053 //
2054 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR7 %s
2055 //
2056 // PPCPWR7:#define _ARCH_PPC 1
2057 // PPCPWR7:#define _ARCH_PPC64 1
2058 // PPCPWR7:#define _ARCH_PPCGR 1
2059 // PPCPWR7:#define _ARCH_PPCSQ 1
2060 // PPCPWR7:#define _ARCH_PWR4 1
2061 // PPCPWR7:#define _ARCH_PWR5 1
2062 // PPCPWR7:#define _ARCH_PWR5X 1
2063 // PPCPWR7:#define _ARCH_PWR6 1
2064 // PPCPWR7:#define _ARCH_PWR6X 1
2065 // PPCPWR7:#define _ARCH_PWR7 1
2066 //
2067 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER7 %s
2068 //
2069 // PPCPOWER7:#define _ARCH_PPC 1
2070 // PPCPOWER7:#define _ARCH_PPC64 1
2071 // PPCPOWER7:#define _ARCH_PPCGR 1
2072 // PPCPOWER7:#define _ARCH_PPCSQ 1
2073 // PPCPOWER7:#define _ARCH_PWR4 1
2074 // PPCPOWER7:#define _ARCH_PWR5 1
2075 // PPCPOWER7:#define _ARCH_PWR5X 1
2076 // PPCPOWER7:#define _ARCH_PWR6 1
2077 // PPCPOWER7:#define _ARCH_PWR6X 1
2078 // PPCPOWER7:#define _ARCH_PWR7 1
2079 //
2080 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
2081 //
2082 // PPC64-LINUX:#define _ARCH_PPC 1
2083 // PPC64-LINUX:#define _ARCH_PPC64 1
2084 // PPC64-LINUX:#define _BIG_ENDIAN 1
2085 // PPC64-LINUX:#define _LP64 1
2086 // PPC64-LINUX:#define __BIG_ENDIAN__ 1
2087 // PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2088 // PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
2089 // PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
2090 // PPC64-LINUX:#define __CHAR_BIT__ 8
2091 // PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
2092 // PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2093 // PPC64-LINUX:#define __DBL_DIG__ 15
2094 // PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2095 // PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
2096 // PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
2097 // PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2098 // PPC64-LINUX:#define __DBL_MANT_DIG__ 53
2099 // PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
2100 // PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
2101 // PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2102 // PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2103 // PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2104 // PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2105 // PPC64-LINUX:#define __DECIMAL_DIG__ 33
2106 // PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2107 // PPC64-LINUX:#define __FLT_DIG__ 6
2108 // PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2109 // PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
2110 // PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
2111 // PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
2112 // PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2113 // PPC64-LINUX:#define __FLT_MANT_DIG__ 24
2114 // PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
2115 // PPC64-LINUX:#define __FLT_MAX_EXP__ 128
2116 // PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2117 // PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2118 // PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
2119 // PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2120 // PPC64-LINUX:#define __FLT_RADIX__ 2
2121 // PPC64-LINUX:#define __INT16_TYPE__ short
2122 // PPC64-LINUX:#define __INT32_TYPE__ int
2123 // PPC64-LINUX:#define __INT64_C_SUFFIX__ L
2124 // PPC64-LINUX:#define __INT64_TYPE__ long int
2125 // PPC64-LINUX:#define __INT8_TYPE__ char
2126 // PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2127 // PPC64-LINUX:#define __INTMAX_TYPE__ long int
2128 // PPC64-LINUX:#define __INTMAX_WIDTH__ 64
2129 // PPC64-LINUX:#define __INTPTR_TYPE__ long int
2130 // PPC64-LINUX:#define __INTPTR_WIDTH__ 64
2131 // PPC64-LINUX:#define __INT_MAX__ 2147483647
2132 // PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2133 // PPC64-LINUX:#define __LDBL_DIG__ 31
2134 // PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2135 // PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
2136 // PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2137 // PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2138 // PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
2139 // PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
2140 // PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
2141 // PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2142 // PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2143 // PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
2144 // PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2145 // PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
2146 // PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2147 // PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2148 // PPC64-LINUX:#define __LP64__ 1
2149 // PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
2150 // PPC64-LINUX:#define __POINTER_WIDTH__ 64
2151 // PPC64-LINUX:#define __POWERPC__ 1
2152 // PPC64-LINUX:#define __PPC64__ 1
2153 // PPC64-LINUX:#define __PPC__ 1
2154 // PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
2155 // PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
2156 // PPC64-LINUX:#define __REGISTER_PREFIX__
2157 // PPC64-LINUX:#define __SCHAR_MAX__ 127
2158 // PPC64-LINUX:#define __SHRT_MAX__ 32767
2159 // PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2160 // PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
2161 // PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
2162 // PPC64-LINUX:#define __SIZEOF_INT__ 4
2163 // PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2164 // PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2165 // PPC64-LINUX:#define __SIZEOF_LONG__ 8
2166 // PPC64-LINUX:#define __SIZEOF_POINTER__ 8
2167 // PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2168 // PPC64-LINUX:#define __SIZEOF_SHORT__ 2
2169 // PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
2170 // PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2171 // PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
2172 // PPC64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
2173 // PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
2174 // PPC64-LINUX:#define __SIZE_WIDTH__ 64
2175 // PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2176 // PPC64-LINUX:#define __USER_LABEL_PREFIX__
2177 // PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
2178 // PPC64-LINUX:#define __WCHAR_TYPE__ int
2179 // PPC64-LINUX:#define __WCHAR_WIDTH__ 32
2180 // PPC64-LINUX:#define __WINT_TYPE__ unsigned int
2181 // PPC64-LINUX:#define __WINT_UNSIGNED__ 1
2182 // PPC64-LINUX:#define __WINT_WIDTH__ 32
2183 // PPC64-LINUX:#define __powerpc64__ 1
2184 // PPC64-LINUX:#define __powerpc__ 1
2185 // PPC64-LINUX:#define __ppc64__ 1
2186 // PPC64-LINUX:#define __ppc__ 1
2187 //
2188 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix PPC %s
2189 //
2190 // PPC:#define _ARCH_PPC 1
2191 // PPC:#define _BIG_ENDIAN 1
2192 // PPC-NOT:#define _LP64
2193 // PPC:#define __BIG_ENDIAN__ 1
2194 // PPC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2195 // PPC:#define __CHAR16_TYPE__ unsigned short
2196 // PPC:#define __CHAR32_TYPE__ unsigned int
2197 // PPC:#define __CHAR_BIT__ 8
2198 // PPC:#define __CHAR_UNSIGNED__ 1
2199 // PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2200 // PPC:#define __DBL_DIG__ 15
2201 // PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2202 // PPC:#define __DBL_HAS_DENORM__ 1
2203 // PPC:#define __DBL_HAS_INFINITY__ 1
2204 // PPC:#define __DBL_HAS_QUIET_NAN__ 1
2205 // PPC:#define __DBL_MANT_DIG__ 53
2206 // PPC:#define __DBL_MAX_10_EXP__ 308
2207 // PPC:#define __DBL_MAX_EXP__ 1024
2208 // PPC:#define __DBL_MAX__ 1.7976931348623157e+308
2209 // PPC:#define __DBL_MIN_10_EXP__ (-307)
2210 // PPC:#define __DBL_MIN_EXP__ (-1021)
2211 // PPC:#define __DBL_MIN__ 2.2250738585072014e-308
2212 // PPC:#define __DECIMAL_DIG__ 33
2213 // PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2214 // PPC:#define __FLT_DIG__ 6
2215 // PPC:#define __FLT_EPSILON__ 1.19209290e-7F
2216 // PPC:#define __FLT_EVAL_METHOD__ 0
2217 // PPC:#define __FLT_HAS_DENORM__ 1
2218 // PPC:#define __FLT_HAS_INFINITY__ 1
2219 // PPC:#define __FLT_HAS_QUIET_NAN__ 1
2220 // PPC:#define __FLT_MANT_DIG__ 24
2221 // PPC:#define __FLT_MAX_10_EXP__ 38
2222 // PPC:#define __FLT_MAX_EXP__ 128
2223 // PPC:#define __FLT_MAX__ 3.40282347e+38F
2224 // PPC:#define __FLT_MIN_10_EXP__ (-37)
2225 // PPC:#define __FLT_MIN_EXP__ (-125)
2226 // PPC:#define __FLT_MIN__ 1.17549435e-38F
2227 // PPC:#define __FLT_RADIX__ 2
2228 // PPC:#define __INT16_TYPE__ short
2229 // PPC:#define __INT32_TYPE__ int
2230 // PPC:#define __INT64_C_SUFFIX__ LL
2231 // PPC:#define __INT64_TYPE__ long long int
2232 // PPC:#define __INT8_TYPE__ char
2233 // PPC:#define __INTMAX_MAX__ 9223372036854775807LL
2234 // PPC:#define __INTMAX_TYPE__ long long int
2235 // PPC:#define __INTMAX_WIDTH__ 64
2236 // PPC:#define __INTPTR_TYPE__ long int
2237 // PPC:#define __INTPTR_WIDTH__ 32
2238 // PPC:#define __INT_MAX__ 2147483647
2239 // PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2240 // PPC:#define __LDBL_DIG__ 31
2241 // PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2242 // PPC:#define __LDBL_HAS_DENORM__ 1
2243 // PPC:#define __LDBL_HAS_INFINITY__ 1
2244 // PPC:#define __LDBL_HAS_QUIET_NAN__ 1
2245 // PPC:#define __LDBL_MANT_DIG__ 106
2246 // PPC:#define __LDBL_MAX_10_EXP__ 308
2247 // PPC:#define __LDBL_MAX_EXP__ 1024
2248 // PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2249 // PPC:#define __LDBL_MIN_10_EXP__ (-291)
2250 // PPC:#define __LDBL_MIN_EXP__ (-968)
2251 // PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2252 // PPC:#define __LONG_DOUBLE_128__ 1
2253 // PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2254 // PPC:#define __LONG_MAX__ 2147483647L
2255 // PPC-NOT:#define __LP64__
2256 // PPC:#define __NATURAL_ALIGNMENT__ 1
2257 // PPC:#define __POINTER_WIDTH__ 32
2258 // PPC:#define __POWERPC__ 1
2259 // PPC:#define __PPC__ 1
2260 // PPC:#define __PTRDIFF_TYPE__ long int
2261 // PPC:#define __PTRDIFF_WIDTH__ 32
2262 // PPC:#define __REGISTER_PREFIX__
2263 // PPC:#define __SCHAR_MAX__ 127
2264 // PPC:#define __SHRT_MAX__ 32767
2265 // PPC:#define __SIG_ATOMIC_WIDTH__ 32
2266 // PPC:#define __SIZEOF_DOUBLE__ 8
2267 // PPC:#define __SIZEOF_FLOAT__ 4
2268 // PPC:#define __SIZEOF_INT__ 4
2269 // PPC:#define __SIZEOF_LONG_DOUBLE__ 16
2270 // PPC:#define __SIZEOF_LONG_LONG__ 8
2271 // PPC:#define __SIZEOF_LONG__ 4
2272 // PPC:#define __SIZEOF_POINTER__ 4
2273 // PPC:#define __SIZEOF_PTRDIFF_T__ 4
2274 // PPC:#define __SIZEOF_SHORT__ 2
2275 // PPC:#define __SIZEOF_SIZE_T__ 4
2276 // PPC:#define __SIZEOF_WCHAR_T__ 4
2277 // PPC:#define __SIZEOF_WINT_T__ 4
2278 // PPC:#define __SIZE_MAX__ 4294967295U
2279 // PPC:#define __SIZE_TYPE__ long unsigned int
2280 // PPC:#define __SIZE_WIDTH__ 32
2281 // PPC:#define __UINTMAX_TYPE__ long long unsigned int
2282 // PPC:#define __USER_LABEL_PREFIX__ _
2283 // PPC:#define __WCHAR_MAX__ 2147483647
2284 // PPC:#define __WCHAR_TYPE__ int
2285 // PPC:#define __WCHAR_WIDTH__ 32
2286 // PPC:#define __WINT_TYPE__ int
2287 // PPC:#define __WINT_WIDTH__ 32
2288 // PPC:#define __ppc__ 1
2289 //
2290 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
2291 //
2292 // PPC-LINUX:#define _ARCH_PPC 1
2293 // PPC-LINUX:#define _BIG_ENDIAN 1
2294 // PPC-LINUX-NOT:#define _LP64
2295 // PPC-LINUX:#define __BIG_ENDIAN__ 1
2296 // PPC-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2297 // PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
2298 // PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
2299 // PPC-LINUX:#define __CHAR_BIT__ 8
2300 // PPC-LINUX:#define __CHAR_UNSIGNED__ 1
2301 // PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2302 // PPC-LINUX:#define __DBL_DIG__ 15
2303 // PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2304 // PPC-LINUX:#define __DBL_HAS_DENORM__ 1
2305 // PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
2306 // PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2307 // PPC-LINUX:#define __DBL_MANT_DIG__ 53
2308 // PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
2309 // PPC-LINUX:#define __DBL_MAX_EXP__ 1024
2310 // PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2311 // PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2312 // PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
2313 // PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2314 // PPC-LINUX:#define __DECIMAL_DIG__ 33
2315 // PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2316 // PPC-LINUX:#define __FLT_DIG__ 6
2317 // PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2318 // PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
2319 // PPC-LINUX:#define __FLT_HAS_DENORM__ 1
2320 // PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
2321 // PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2322 // PPC-LINUX:#define __FLT_MANT_DIG__ 24
2323 // PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
2324 // PPC-LINUX:#define __FLT_MAX_EXP__ 128
2325 // PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2326 // PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2327 // PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
2328 // PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2329 // PPC-LINUX:#define __FLT_RADIX__ 2
2330 // PPC-LINUX:#define __INT16_TYPE__ short
2331 // PPC-LINUX:#define __INT32_TYPE__ int
2332 // PPC-LINUX:#define __INT64_C_SUFFIX__ LL
2333 // PPC-LINUX:#define __INT64_TYPE__ long long int
2334 // PPC-LINUX:#define __INT8_TYPE__ char
2335 // PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
2336 // PPC-LINUX:#define __INTMAX_TYPE__ long long int
2337 // PPC-LINUX:#define __INTMAX_WIDTH__ 64
2338 // PPC-LINUX:#define __INTPTR_TYPE__ int
2339 // PPC-LINUX:#define __INTPTR_WIDTH__ 32
2340 // PPC-LINUX:#define __INT_MAX__ 2147483647
2341 // PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2342 // PPC-LINUX:#define __LDBL_DIG__ 31
2343 // PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2344 // PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
2345 // PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
2346 // PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2347 // PPC-LINUX:#define __LDBL_MANT_DIG__ 106
2348 // PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
2349 // PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
2350 // PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2351 // PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2352 // PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
2353 // PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2354 // PPC-LINUX:#define __LONG_DOUBLE_128__ 1
2355 // PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2356 // PPC-LINUX:#define __LONG_MAX__ 2147483647L
2357 // PPC-LINUX-NOT:#define __LP64__
2358 // PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
2359 // PPC-LINUX:#define __POINTER_WIDTH__ 32
2360 // PPC-LINUX:#define __POWERPC__ 1
2361 // PPC-LINUX:#define __PPC__ 1
2362 // PPC-LINUX:#define __PTRDIFF_TYPE__ int
2363 // PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
2364 // PPC-LINUX:#define __REGISTER_PREFIX__
2365 // PPC-LINUX:#define __SCHAR_MAX__ 127
2366 // PPC-LINUX:#define __SHRT_MAX__ 32767
2367 // PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2368 // PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
2369 // PPC-LINUX:#define __SIZEOF_FLOAT__ 4
2370 // PPC-LINUX:#define __SIZEOF_INT__ 4
2371 // PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2372 // PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
2373 // PPC-LINUX:#define __SIZEOF_LONG__ 4
2374 // PPC-LINUX:#define __SIZEOF_POINTER__ 4
2375 // PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
2376 // PPC-LINUX:#define __SIZEOF_SHORT__ 2
2377 // PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
2378 // PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
2379 // PPC-LINUX:#define __SIZEOF_WINT_T__ 4
2380 // PPC-LINUX:#define __SIZE_MAX__ 4294967295U
2381 // PPC-LINUX:#define __SIZE_TYPE__ unsigned int
2382 // PPC-LINUX:#define __SIZE_WIDTH__ 32
2383 // PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
2384 // PPC-LINUX:#define __USER_LABEL_PREFIX__
2385 // PPC-LINUX:#define __WCHAR_MAX__ 2147483647
2386 // PPC-LINUX:#define __WCHAR_TYPE__ int
2387 // PPC-LINUX:#define __WCHAR_WIDTH__ 32
2388 // PPC-LINUX:#define __WINT_TYPE__ unsigned int
2389 // PPC-LINUX:#define __WINT_UNSIGNED__ 1
2390 // PPC-LINUX:#define __WINT_WIDTH__ 32
2391 // PPC-LINUX:#define __powerpc__ 1
2392 // PPC-LINUX:#define __ppc__ 1
2393 //
2394 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-apple-darwin8 < /dev/null | FileCheck -check-prefix PPC-DARWIN %s
2395 //
2396 // PPC-DARWIN:#define _ARCH_PPC 1
2397 // PPC-DARWIN:#define _BIG_ENDIAN 1
2398 // PPC-DARWIN:#define __BIG_ENDIAN__ 1
2399 // PPC-DARWIN:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2400 // PPC-DARWIN:#define __CHAR16_TYPE__ unsigned short
2401 // PPC-DARWIN:#define __CHAR32_TYPE__ unsigned int
2402 // PPC-DARWIN:#define __CHAR_BIT__ 8
2403 // PPC-DARWIN:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2404 // PPC-DARWIN:#define __DBL_DIG__ 15
2405 // PPC-DARWIN:#define __DBL_EPSILON__ 2.2204460492503131e-16
2406 // PPC-DARWIN:#define __DBL_HAS_DENORM__ 1
2407 // PPC-DARWIN:#define __DBL_HAS_INFINITY__ 1
2408 // PPC-DARWIN:#define __DBL_HAS_QUIET_NAN__ 1
2409 // PPC-DARWIN:#define __DBL_MANT_DIG__ 53
2410 // PPC-DARWIN:#define __DBL_MAX_10_EXP__ 308
2411 // PPC-DARWIN:#define __DBL_MAX_EXP__ 1024
2412 // PPC-DARWIN:#define __DBL_MAX__ 1.7976931348623157e+308
2413 // PPC-DARWIN:#define __DBL_MIN_10_EXP__ (-307)
2414 // PPC-DARWIN:#define __DBL_MIN_EXP__ (-1021)
2415 // PPC-DARWIN:#define __DBL_MIN__ 2.2250738585072014e-308
2416 // PPC-DARWIN:#define __DECIMAL_DIG__ 33
2417 // PPC-DARWIN:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2418 // PPC-DARWIN:#define __FLT_DIG__ 6
2419 // PPC-DARWIN:#define __FLT_EPSILON__ 1.19209290e-7F
2420 // PPC-DARWIN:#define __FLT_EVAL_METHOD__ 0
2421 // PPC-DARWIN:#define __FLT_HAS_DENORM__ 1
2422 // PPC-DARWIN:#define __FLT_HAS_INFINITY__ 1
2423 // PPC-DARWIN:#define __FLT_HAS_QUIET_NAN__ 1
2424 // PPC-DARWIN:#define __FLT_MANT_DIG__ 24
2425 // PPC-DARWIN:#define __FLT_MAX_10_EXP__ 38
2426 // PPC-DARWIN:#define __FLT_MAX_EXP__ 128
2427 // PPC-DARWIN:#define __FLT_MAX__ 3.40282347e+38F
2428 // PPC-DARWIN:#define __FLT_MIN_10_EXP__ (-37)
2429 // PPC-DARWIN:#define __FLT_MIN_EXP__ (-125)
2430 // PPC-DARWIN:#define __FLT_MIN__ 1.17549435e-38F
2431 // PPC-DARWIN:#define __FLT_RADIX__ 2
2432 // PPC-DARWIN:#define __INT16_TYPE__ short
2433 // PPC-DARWIN:#define __INT32_TYPE__ int
2434 // PPC-DARWIN:#define __INT64_C_SUFFIX__ LL
2435 // PPC-DARWIN:#define __INT64_TYPE__ long long int
2436 // PPC-DARWIN:#define __INT8_TYPE__ char
2437 // PPC-DARWIN:#define __INTMAX_MAX__ 9223372036854775807LL
2438 // PPC-DARWIN:#define __INTMAX_TYPE__ long long int
2439 // PPC-DARWIN:#define __INTMAX_WIDTH__ 64
2440 // PPC-DARWIN:#define __INTPTR_TYPE__ long int
2441 // PPC-DARWIN:#define __INTPTR_WIDTH__ 32
2442 // PPC-DARWIN:#define __INT_MAX__ 2147483647
2443 // PPC-DARWIN:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2444 // PPC-DARWIN:#define __LDBL_DIG__ 31
2445 // PPC-DARWIN:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2446 // PPC-DARWIN:#define __LDBL_HAS_DENORM__ 1
2447 // PPC-DARWIN:#define __LDBL_HAS_INFINITY__ 1
2448 // PPC-DARWIN:#define __LDBL_HAS_QUIET_NAN__ 1
2449 // PPC-DARWIN:#define __LDBL_MANT_DIG__ 106
2450 // PPC-DARWIN:#define __LDBL_MAX_10_EXP__ 308
2451 // PPC-DARWIN:#define __LDBL_MAX_EXP__ 1024
2452 // PPC-DARWIN:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2453 // PPC-DARWIN:#define __LDBL_MIN_10_EXP__ (-291)
2454 // PPC-DARWIN:#define __LDBL_MIN_EXP__ (-968)
2455 // PPC-DARWIN:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2456 // PPC-DARWIN:#define __LONG_DOUBLE_128__ 1
2457 // PPC-DARWIN:#define __LONG_LONG_MAX__ 9223372036854775807LL
2458 // PPC-DARWIN:#define __LONG_MAX__ 2147483647L
2459 // PPC-DARWIN:#define __MACH__ 1
2460 // PPC-DARWIN:#define __NATURAL_ALIGNMENT__ 1
2461 // PPC-DARWIN:#define __ORDER_BIG_ENDIAN__ 4321
2462 // PPC-DARWIN:#define __ORDER_LITTLE_ENDIAN__ 1234
2463 // PPC-DARWIN:#define __ORDER_PDP_ENDIAN__ 3412
2464 // PPC-DARWIN:#define __POINTER_WIDTH__ 32
2465 // PPC-DARWIN:#define __POWERPC__ 1
2466 // PPC-DARWIN:#define __PPC__ 1
2467 // PPC-DARWIN:#define __PTRDIFF_TYPE__ int
2468 // PPC-DARWIN:#define __PTRDIFF_WIDTH__ 32
2469 // PPC-DARWIN:#define __REGISTER_PREFIX__
2470 // PPC-DARWIN:#define __SCHAR_MAX__ 127
2471 // PPC-DARWIN:#define __SHRT_MAX__ 32767
2472 // PPC-DARWIN:#define __SIG_ATOMIC_WIDTH__ 32
2473 // PPC-DARWIN:#define __SIZEOF_DOUBLE__ 8
2474 // PPC-DARWIN:#define __SIZEOF_FLOAT__ 4
2475 // PPC-DARWIN:#define __SIZEOF_INT__ 4
2476 // PPC-DARWIN:#define __SIZEOF_LONG_DOUBLE__ 16
2477 // PPC-DARWIN:#define __SIZEOF_LONG_LONG__ 8
2478 // PPC-DARWIN:#define __SIZEOF_LONG__ 4
2479 // PPC-DARWIN:#define __SIZEOF_POINTER__ 4
2480 // PPC-DARWIN:#define __SIZEOF_PTRDIFF_T__ 4
2481 // PPC-DARWIN:#define __SIZEOF_SHORT__ 2
2482 // PPC-DARWIN:#define __SIZEOF_SIZE_T__ 4
2483 // PPC-DARWIN:#define __SIZEOF_WCHAR_T__ 4
2484 // PPC-DARWIN:#define __SIZEOF_WINT_T__ 4
2485 // PPC-DARWIN:#define __SIZE_MAX__ 4294967295UL
2486 // PPC-DARWIN:#define __SIZE_TYPE__ long unsigned int
2487 // PPC-DARWIN:#define __SIZE_WIDTH__ 32
2488 // PPC-DARWIN:#define __STDC_HOSTED__ 0
2489 // PPC-DARWIN:#define __STDC_VERSION__ 199901L
2490 // PPC-DARWIN:#define __STDC__ 1
2491 // PPC-DARWIN:#define __UINTMAX_TYPE__ long long unsigned int
2492 // PPC-DARWIN:#define __USER_LABEL_PREFIX__ _
2493 // PPC-DARWIN:#define __WCHAR_MAX__ 2147483647
2494 // PPC-DARWIN:#define __WCHAR_TYPE__ int
2495 // PPC-DARWIN:#define __WCHAR_WIDTH__ 32
2496 // PPC-DARWIN:#define __WINT_TYPE__ int
2497 // PPC-DARWIN:#define __WINT_WIDTH__ 32
2498 // PPC-DARWIN:#define __powerpc__ 1
2499 // PPC-DARWIN:#define __ppc__ 1
2500 //
2501 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=s390x-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix S390X %s
2502 //
2503 // S390X:#define __CHAR16_TYPE__ unsigned short
2504 // S390X:#define __CHAR32_TYPE__ unsigned int
2505 // S390X:#define __CHAR_BIT__ 8
2506 // S390X:#define __CHAR_UNSIGNED__ 1
2507 // S390X:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2508 // S390X:#define __DBL_DIG__ 15
2509 // S390X:#define __DBL_EPSILON__ 2.2204460492503131e-16
2510 // S390X:#define __DBL_HAS_DENORM__ 1
2511 // S390X:#define __DBL_HAS_INFINITY__ 1
2512 // S390X:#define __DBL_HAS_QUIET_NAN__ 1
2513 // S390X:#define __DBL_MANT_DIG__ 53
2514 // S390X:#define __DBL_MAX_10_EXP__ 308
2515 // S390X:#define __DBL_MAX_EXP__ 1024
2516 // S390X:#define __DBL_MAX__ 1.7976931348623157e+308
2517 // S390X:#define __DBL_MIN_10_EXP__ (-307)
2518 // S390X:#define __DBL_MIN_EXP__ (-1021)
2519 // S390X:#define __DBL_MIN__ 2.2250738585072014e-308
2520 // S390X:#define __DECIMAL_DIG__ 36
2521 // S390X:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2522 // S390X:#define __FLT_DIG__ 6
2523 // S390X:#define __FLT_EPSILON__ 1.19209290e-7F
2524 // S390X:#define __FLT_EVAL_METHOD__ 0
2525 // S390X:#define __FLT_HAS_DENORM__ 1
2526 // S390X:#define __FLT_HAS_INFINITY__ 1
2527 // S390X:#define __FLT_HAS_QUIET_NAN__ 1
2528 // S390X:#define __FLT_MANT_DIG__ 24
2529 // S390X:#define __FLT_MAX_10_EXP__ 38
2530 // S390X:#define __FLT_MAX_EXP__ 128
2531 // S390X:#define __FLT_MAX__ 3.40282347e+38F
2532 // S390X:#define __FLT_MIN_10_EXP__ (-37)
2533 // S390X:#define __FLT_MIN_EXP__ (-125)
2534 // S390X:#define __FLT_MIN__ 1.17549435e-38F
2535 // S390X:#define __FLT_RADIX__ 2
2536 // S390X:#define __INT16_TYPE__ short
2537 // S390X:#define __INT32_TYPE__ int
2538 // S390X:#define __INT64_C_SUFFIX__ L
2539 // S390X:#define __INT64_TYPE__ long long int
2540 // S390X:#define __INT8_TYPE__ char
2541 // S390X:#define __INTMAX_MAX__ 9223372036854775807LL
2542 // S390X:#define __INTMAX_TYPE__ long long int
2543 // S390X:#define __INTMAX_WIDTH__ 64
2544 // S390X:#define __INTPTR_TYPE__ long int
2545 // S390X:#define __INTPTR_WIDTH__ 64
2546 // S390X:#define __INT_MAX__ 2147483647
2547 // S390X:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
2548 // S390X:#define __LDBL_DIG__ 33
2549 // S390X:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
2550 // S390X:#define __LDBL_HAS_DENORM__ 1
2551 // S390X:#define __LDBL_HAS_INFINITY__ 1
2552 // S390X:#define __LDBL_HAS_QUIET_NAN__ 1
2553 // S390X:#define __LDBL_MANT_DIG__ 113
2554 // S390X:#define __LDBL_MAX_10_EXP__ 4932
2555 // S390X:#define __LDBL_MAX_EXP__ 16384
2556 // S390X:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
2557 // S390X:#define __LDBL_MIN_10_EXP__ (-4931)
2558 // S390X:#define __LDBL_MIN_EXP__ (-16381)
2559 // S390X:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
2560 // S390X:#define __LONG_LONG_MAX__ 9223372036854775807LL
2561 // S390X:#define __LONG_MAX__ 9223372036854775807L
2562 // S390X:#define __NO_INLINE__ 1
2563 // S390X:#define __POINTER_WIDTH__ 64
2564 // S390X:#define __PTRDIFF_TYPE__ long int
2565 // S390X:#define __PTRDIFF_WIDTH__ 64
2566 // S390X:#define __SCHAR_MAX__ 127
2567 // S390X:#define __SHRT_MAX__ 32767
2568 // S390X:#define __SIG_ATOMIC_WIDTH__ 32
2569 // S390X:#define __SIZEOF_DOUBLE__ 8
2570 // S390X:#define __SIZEOF_FLOAT__ 4
2571 // S390X:#define __SIZEOF_INT__ 4
2572 // S390X:#define __SIZEOF_LONG_DOUBLE__ 16
2573 // S390X:#define __SIZEOF_LONG_LONG__ 8
2574 // S390X:#define __SIZEOF_LONG__ 8
2575 // S390X:#define __SIZEOF_POINTER__ 8
2576 // S390X:#define __SIZEOF_PTRDIFF_T__ 8
2577 // S390X:#define __SIZEOF_SHORT__ 2
2578 // S390X:#define __SIZEOF_SIZE_T__ 8
2579 // S390X:#define __SIZEOF_WCHAR_T__ 4
2580 // S390X:#define __SIZEOF_WINT_T__ 4
2581 // S390X:#define __SIZE_TYPE__ long unsigned int
2582 // S390X:#define __SIZE_WIDTH__ 64
2583 // S390X:#define __UINTMAX_TYPE__ long long unsigned int
2584 // S390X:#define __USER_LABEL_PREFIX__ _
2585 // S390X:#define __WCHAR_MAX__ 2147483647
2586 // S390X:#define __WCHAR_TYPE__ int
2587 // S390X:#define __WCHAR_WIDTH__ 32
2588 // S390X:#define __WINT_TYPE__ int
2589 // S390X:#define __WINT_WIDTH__ 32
2590 // S390X:#define __s390__ 1
2591 // S390X:#define __s390x__ 1
2592 //
2593 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
2594 //
2595 // SPARC-NOT:#define _LP64
2596 // SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2597 // SPARC:#define __CHAR16_TYPE__ unsigned short
2598 // SPARC:#define __CHAR32_TYPE__ unsigned int
2599 // SPARC:#define __CHAR_BIT__ 8
2600 // SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2601 // SPARC:#define __DBL_DIG__ 15
2602 // SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2603 // SPARC:#define __DBL_HAS_DENORM__ 1
2604 // SPARC:#define __DBL_HAS_INFINITY__ 1
2605 // SPARC:#define __DBL_HAS_QUIET_NAN__ 1
2606 // SPARC:#define __DBL_MANT_DIG__ 53
2607 // SPARC:#define __DBL_MAX_10_EXP__ 308
2608 // SPARC:#define __DBL_MAX_EXP__ 1024
2609 // SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
2610 // SPARC:#define __DBL_MIN_10_EXP__ (-307)
2611 // SPARC:#define __DBL_MIN_EXP__ (-1021)
2612 // SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
2613 // SPARC:#define __DECIMAL_DIG__ 17
2614 // SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2615 // SPARC:#define __FLT_DIG__ 6
2616 // SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
2617 // SPARC:#define __FLT_EVAL_METHOD__ 0
2618 // SPARC:#define __FLT_HAS_DENORM__ 1
2619 // SPARC:#define __FLT_HAS_INFINITY__ 1
2620 // SPARC:#define __FLT_HAS_QUIET_NAN__ 1
2621 // SPARC:#define __FLT_MANT_DIG__ 24
2622 // SPARC:#define __FLT_MAX_10_EXP__ 38
2623 // SPARC:#define __FLT_MAX_EXP__ 128
2624 // SPARC:#define __FLT_MAX__ 3.40282347e+38F
2625 // SPARC:#define __FLT_MIN_10_EXP__ (-37)
2626 // SPARC:#define __FLT_MIN_EXP__ (-125)
2627 // SPARC:#define __FLT_MIN__ 1.17549435e-38F
2628 // SPARC:#define __FLT_RADIX__ 2
2629 // SPARC:#define __INT16_TYPE__ short
2630 // SPARC:#define __INT32_TYPE__ int
2631 // SPARC:#define __INT64_C_SUFFIX__ LL
2632 // SPARC:#define __INT64_TYPE__ long long int
2633 // SPARC:#define __INT8_TYPE__ char
2634 // SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
2635 // SPARC:#define __INTMAX_TYPE__ long long int
2636 // SPARC:#define __INTMAX_WIDTH__ 64
2637 // SPARC:#define __INTPTR_TYPE__ long int
2638 // SPARC:#define __INTPTR_WIDTH__ 32
2639 // SPARC:#define __INT_MAX__ 2147483647
2640 // SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
2641 // SPARC:#define __LDBL_DIG__ 15
2642 // SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
2643 // SPARC:#define __LDBL_HAS_DENORM__ 1
2644 // SPARC:#define __LDBL_HAS_INFINITY__ 1
2645 // SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
2646 // SPARC:#define __LDBL_MANT_DIG__ 53
2647 // SPARC:#define __LDBL_MAX_10_EXP__ 308
2648 // SPARC:#define __LDBL_MAX_EXP__ 1024
2649 // SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308L
2650 // SPARC:#define __LDBL_MIN_10_EXP__ (-307)
2651 // SPARC:#define __LDBL_MIN_EXP__ (-1021)
2652 // SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308L
2653 // SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2654 // SPARC:#define __LONG_MAX__ 2147483647L
2655 // SPARC-NOT:#define __LP64__
2656 // SPARC:#define __POINTER_WIDTH__ 32
2657 // SPARC:#define __PTRDIFF_TYPE__ long int
2658 // SPARC:#define __PTRDIFF_WIDTH__ 32
2659 // SPARC:#define __REGISTER_PREFIX__
2660 // SPARC:#define __SCHAR_MAX__ 127
2661 // SPARC:#define __SHRT_MAX__ 32767
2662 // SPARC:#define __SIG_ATOMIC_WIDTH__ 32
2663 // SPARC:#define __SIZEOF_DOUBLE__ 8
2664 // SPARC:#define __SIZEOF_FLOAT__ 4
2665 // SPARC:#define __SIZEOF_INT__ 4
2666 // SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
2667 // SPARC:#define __SIZEOF_LONG_LONG__ 8
2668 // SPARC:#define __SIZEOF_LONG__ 4
2669 // SPARC:#define __SIZEOF_POINTER__ 4
2670 // SPARC:#define __SIZEOF_PTRDIFF_T__ 4
2671 // SPARC:#define __SIZEOF_SHORT__ 2
2672 // SPARC:#define __SIZEOF_SIZE_T__ 4
2673 // SPARC:#define __SIZEOF_WCHAR_T__ 4
2674 // SPARC:#define __SIZEOF_WINT_T__ 4
2675 // SPARC:#define __SIZE_MAX__ 4294967295U
2676 // SPARC:#define __SIZE_TYPE__ long unsigned int
2677 // SPARC:#define __SIZE_WIDTH__ 32
2678 // SPARC:#define __UINTMAX_TYPE__ long long unsigned int
2679 // SPARC:#define __USER_LABEL_PREFIX__ _
2680 // SPARC:#define __VERSION__ "4.2.1 Compatible
2681 // SPARC:#define __WCHAR_MAX__ 2147483647
2682 // SPARC:#define __WCHAR_TYPE__ int
2683 // SPARC:#define __WCHAR_WIDTH__ 32
2684 // SPARC:#define __WINT_TYPE__ int
2685 // SPARC:#define __WINT_WIDTH__ 32
2686 // SPARC:#define __sparc 1
2687 // SPARC:#define __sparc__ 1
2688 // SPARC:#define __sparcv8 1
2689 // SPARC:#define sparc 1
2690 //
2691 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
2692 //
2693 // TCE-NOT:#define _LP64
2694 // TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2695 // TCE:#define __CHAR16_TYPE__ unsigned short
2696 // TCE:#define __CHAR32_TYPE__ unsigned int
2697 // TCE:#define __CHAR_BIT__ 8
2698 // TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45
2699 // TCE:#define __DBL_DIG__ 6
2700 // TCE:#define __DBL_EPSILON__ 1.19209290e-7
2701 // TCE:#define __DBL_HAS_DENORM__ 1
2702 // TCE:#define __DBL_HAS_INFINITY__ 1
2703 // TCE:#define __DBL_HAS_QUIET_NAN__ 1
2704 // TCE:#define __DBL_MANT_DIG__ 24
2705 // TCE:#define __DBL_MAX_10_EXP__ 38
2706 // TCE:#define __DBL_MAX_EXP__ 128
2707 // TCE:#define __DBL_MAX__ 3.40282347e+38
2708 // TCE:#define __DBL_MIN_10_EXP__ (-37)
2709 // TCE:#define __DBL_MIN_EXP__ (-125)
2710 // TCE:#define __DBL_MIN__ 1.17549435e-38
2711 // TCE:#define __DECIMAL_DIG__ -1
2712 // TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2713 // TCE:#define __FLT_DIG__ 6
2714 // TCE:#define __FLT_EPSILON__ 1.19209290e-7F
2715 // TCE:#define __FLT_EVAL_METHOD__ 0
2716 // TCE:#define __FLT_HAS_DENORM__ 1
2717 // TCE:#define __FLT_HAS_INFINITY__ 1
2718 // TCE:#define __FLT_HAS_QUIET_NAN__ 1
2719 // TCE:#define __FLT_MANT_DIG__ 24
2720 // TCE:#define __FLT_MAX_10_EXP__ 38
2721 // TCE:#define __FLT_MAX_EXP__ 128
2722 // TCE:#define __FLT_MAX__ 3.40282347e+38F
2723 // TCE:#define __FLT_MIN_10_EXP__ (-37)
2724 // TCE:#define __FLT_MIN_EXP__ (-125)
2725 // TCE:#define __FLT_MIN__ 1.17549435e-38F
2726 // TCE:#define __FLT_RADIX__ 2
2727 // TCE:#define __INT16_TYPE__ short
2728 // TCE:#define __INT32_TYPE__ int
2729 // TCE:#define __INT8_TYPE__ char
2730 // TCE:#define __INTMAX_MAX__ 2147483647L
2731 // TCE:#define __INTMAX_TYPE__ long int
2732 // TCE:#define __INTMAX_WIDTH__ 32
2733 // TCE:#define __INTPTR_TYPE__ int
2734 // TCE:#define __INTPTR_WIDTH__ 32
2735 // TCE:#define __INT_MAX__ 2147483647
2736 // TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45L
2737 // TCE:#define __LDBL_DIG__ 6
2738 // TCE:#define __LDBL_EPSILON__ 1.19209290e-7L
2739 // TCE:#define __LDBL_HAS_DENORM__ 1
2740 // TCE:#define __LDBL_HAS_INFINITY__ 1
2741 // TCE:#define __LDBL_HAS_QUIET_NAN__ 1
2742 // TCE:#define __LDBL_MANT_DIG__ 24
2743 // TCE:#define __LDBL_MAX_10_EXP__ 38
2744 // TCE:#define __LDBL_MAX_EXP__ 128
2745 // TCE:#define __LDBL_MAX__ 3.40282347e+38L
2746 // TCE:#define __LDBL_MIN_10_EXP__ (-37)
2747 // TCE:#define __LDBL_MIN_EXP__ (-125)
2748 // TCE:#define __LDBL_MIN__ 1.17549435e-38L
2749 // TCE:#define __LONG_LONG_MAX__ 2147483647LL
2750 // TCE:#define __LONG_MAX__ 2147483647L
2751 // TCE-NOT:#define __LP64__
2752 // TCE:#define __POINTER_WIDTH__ 32
2753 // TCE:#define __PTRDIFF_TYPE__ int
2754 // TCE:#define __PTRDIFF_WIDTH__ 32
2755 // TCE:#define __SCHAR_MAX__ 127
2756 // TCE:#define __SHRT_MAX__ 32767
2757 // TCE:#define __SIG_ATOMIC_WIDTH__ 32
2758 // TCE:#define __SIZEOF_DOUBLE__ 4
2759 // TCE:#define __SIZEOF_FLOAT__ 4
2760 // TCE:#define __SIZEOF_INT__ 4
2761 // TCE:#define __SIZEOF_LONG_DOUBLE__ 4
2762 // TCE:#define __SIZEOF_LONG_LONG__ 4
2763 // TCE:#define __SIZEOF_LONG__ 4
2764 // TCE:#define __SIZEOF_POINTER__ 4
2765 // TCE:#define __SIZEOF_PTRDIFF_T__ 4
2766 // TCE:#define __SIZEOF_SHORT__ 2
2767 // TCE:#define __SIZEOF_SIZE_T__ 4
2768 // TCE:#define __SIZEOF_WCHAR_T__ 4
2769 // TCE:#define __SIZEOF_WINT_T__ 4
2770 // TCE:#define __SIZE_MAX__ 4294967295U
2771 // TCE:#define __SIZE_TYPE__ unsigned int
2772 // TCE:#define __SIZE_WIDTH__ 32
2773 // TCE:#define __TCE_V1__ 1
2774 // TCE:#define __TCE__ 1
2775 // TCE:#define __UINTMAX_TYPE__ long unsigned int
2776 // TCE:#define __USER_LABEL_PREFIX__ _
2777 // TCE:#define __WCHAR_MAX__ 2147483647
2778 // TCE:#define __WCHAR_TYPE__ int
2779 // TCE:#define __WCHAR_WIDTH__ 32
2780 // TCE:#define __WINT_TYPE__ int
2781 // TCE:#define __WINT_WIDTH__ 32
2782 // TCE:#define __tce 1
2783 // TCE:#define __tce__ 1
2784 // TCE:#define tce 1
2785 //
2786 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-none-none < /dev/null | FileCheck -check-prefix X86_64 %s
2787 //
2788 // X86_64:#define _LP64 1
2789 // X86_64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
2790 // X86_64:#define __CHAR16_TYPE__ unsigned short
2791 // X86_64:#define __CHAR32_TYPE__ unsigned int
2792 // X86_64:#define __CHAR_BIT__ 8
2793 // X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2794 // X86_64:#define __DBL_DIG__ 15
2795 // X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
2796 // X86_64:#define __DBL_HAS_DENORM__ 1
2797 // X86_64:#define __DBL_HAS_INFINITY__ 1
2798 // X86_64:#define __DBL_HAS_QUIET_NAN__ 1
2799 // X86_64:#define __DBL_MANT_DIG__ 53
2800 // X86_64:#define __DBL_MAX_10_EXP__ 308
2801 // X86_64:#define __DBL_MAX_EXP__ 1024
2802 // X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
2803 // X86_64:#define __DBL_MIN_10_EXP__ (-307)
2804 // X86_64:#define __DBL_MIN_EXP__ (-1021)
2805 // X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
2806 // X86_64:#define __DECIMAL_DIG__ 21
2807 // X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2808 // X86_64:#define __FLT_DIG__ 6
2809 // X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
2810 // X86_64:#define __FLT_EVAL_METHOD__ 0
2811 // X86_64:#define __FLT_HAS_DENORM__ 1
2812 // X86_64:#define __FLT_HAS_INFINITY__ 1
2813 // X86_64:#define __FLT_HAS_QUIET_NAN__ 1
2814 // X86_64:#define __FLT_MANT_DIG__ 24
2815 // X86_64:#define __FLT_MAX_10_EXP__ 38
2816 // X86_64:#define __FLT_MAX_EXP__ 128
2817 // X86_64:#define __FLT_MAX__ 3.40282347e+38F
2818 // X86_64:#define __FLT_MIN_10_EXP__ (-37)
2819 // X86_64:#define __FLT_MIN_EXP__ (-125)
2820 // X86_64:#define __FLT_MIN__ 1.17549435e-38F
2821 // X86_64:#define __FLT_RADIX__ 2
2822 // X86_64:#define __INT16_TYPE__ short
2823 // X86_64:#define __INT32_TYPE__ int
2824 // X86_64:#define __INT64_C_SUFFIX__ L
2825 // X86_64:#define __INT64_TYPE__ long int
2826 // X86_64:#define __INT8_TYPE__ char
2827 // X86_64:#define __INTMAX_MAX__ 9223372036854775807L
2828 // X86_64:#define __INTMAX_TYPE__ long int
2829 // X86_64:#define __INTMAX_WIDTH__ 64
2830 // X86_64:#define __INTPTR_TYPE__ long int
2831 // X86_64:#define __INTPTR_WIDTH__ 64
2832 // X86_64:#define __INT_MAX__ 2147483647
2833 // X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
2834 // X86_64:#define __LDBL_DIG__ 18
2835 // X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
2836 // X86_64:#define __LDBL_HAS_DENORM__ 1
2837 // X86_64:#define __LDBL_HAS_INFINITY__ 1
2838 // X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
2839 // X86_64:#define __LDBL_MANT_DIG__ 64
2840 // X86_64:#define __LDBL_MAX_10_EXP__ 4932
2841 // X86_64:#define __LDBL_MAX_EXP__ 16384
2842 // X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
2843 // X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
2844 // X86_64:#define __LDBL_MIN_EXP__ (-16381)
2845 // X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
2846 // X86_64:#define __LITTLE_ENDIAN__ 1
2847 // X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
2848 // X86_64:#define __LONG_MAX__ 9223372036854775807L
2849 // X86_64:#define __LP64__ 1
2850 // X86_64:#define __MMX__ 1
2851 // X86_64:#define __NO_MATH_INLINES 1
2852 // X86_64:#define __POINTER_WIDTH__ 64
2853 // X86_64:#define __PTRDIFF_TYPE__ long int
2854 // X86_64:#define __PTRDIFF_WIDTH__ 64
2855 // X86_64:#define __REGISTER_PREFIX__
2856 // X86_64:#define __SCHAR_MAX__ 127
2857 // X86_64:#define __SHRT_MAX__ 32767
2858 // X86_64:#define __SIG_ATOMIC_WIDTH__ 32
2859 // X86_64:#define __SIZEOF_DOUBLE__ 8
2860 // X86_64:#define __SIZEOF_FLOAT__ 4
2861 // X86_64:#define __SIZEOF_INT__ 4
2862 // X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
2863 // X86_64:#define __SIZEOF_LONG_LONG__ 8
2864 // X86_64:#define __SIZEOF_LONG__ 8
2865 // X86_64:#define __SIZEOF_POINTER__ 8
2866 // X86_64:#define __SIZEOF_PTRDIFF_T__ 8
2867 // X86_64:#define __SIZEOF_SHORT__ 2
2868 // X86_64:#define __SIZEOF_SIZE_T__ 8
2869 // X86_64:#define __SIZEOF_WCHAR_T__ 4
2870 // X86_64:#define __SIZEOF_WINT_T__ 4
2871 // X86_64:#define __SIZE_MAX__ 18446744073709551615UL
2872 // X86_64:#define __SIZE_TYPE__ long unsigned int
2873 // X86_64:#define __SIZE_WIDTH__ 64
2874 // X86_64:#define __SSE2_MATH__ 1
2875 // X86_64:#define __SSE2__ 1
2876 // X86_64:#define __SSE_MATH__ 1
2877 // X86_64:#define __SSE__ 1
2878 // X86_64:#define __UINTMAX_TYPE__ long unsigned int
2879 // X86_64:#define __USER_LABEL_PREFIX__ _
2880 // X86_64:#define __WCHAR_MAX__ 2147483647
2881 // X86_64:#define __WCHAR_TYPE__ int
2882 // X86_64:#define __WCHAR_WIDTH__ 32
2883 // X86_64:#define __WINT_TYPE__ int
2884 // X86_64:#define __WINT_WIDTH__ 32
2885 // X86_64:#define __amd64 1
2886 // X86_64:#define __amd64__ 1
2887 // X86_64:#define __x86_64 1
2888 // X86_64:#define __x86_64__ 1
2889 //
2890 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
2891 //
2892 // X86_64-LINUX:#define _LP64 1
2893 // X86_64-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
2894 // X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
2895 // X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
2896 // X86_64-LINUX:#define __CHAR_BIT__ 8
2897 // X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2898 // X86_64-LINUX:#define __DBL_DIG__ 15
2899 // X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2900 // X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
2901 // X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
2902 // X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2903 // X86_64-LINUX:#define __DBL_MANT_DIG__ 53
2904 // X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
2905 // X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
2906 // X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2907 // X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2908 // X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2909 // X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2910 // X86_64-LINUX:#define __DECIMAL_DIG__ 21
2911 // X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2912 // X86_64-LINUX:#define __FLT_DIG__ 6
2913 // X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2914 // X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
2915 // X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
2916 // X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
2917 // X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2918 // X86_64-LINUX:#define __FLT_MANT_DIG__ 24
2919 // X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
2920 // X86_64-LINUX:#define __FLT_MAX_EXP__ 128
2921 // X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2922 // X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2923 // X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
2924 // X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2925 // X86_64-LINUX:#define __FLT_RADIX__ 2
2926 // X86_64-LINUX:#define __INT16_TYPE__ short
2927 // X86_64-LINUX:#define __INT32_TYPE__ int
2928 // X86_64-LINUX:#define __INT64_C_SUFFIX__ L
2929 // X86_64-LINUX:#define __INT64_TYPE__ long int
2930 // X86_64-LINUX:#define __INT8_TYPE__ char
2931 // X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2932 // X86_64-LINUX:#define __INTMAX_TYPE__ long int
2933 // X86_64-LINUX:#define __INTMAX_WIDTH__ 64
2934 // X86_64-LINUX:#define __INTPTR_TYPE__ long int
2935 // X86_64-LINUX:#define __INTPTR_WIDTH__ 64
2936 // X86_64-LINUX:#define __INT_MAX__ 2147483647
2937 // X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
2938 // X86_64-LINUX:#define __LDBL_DIG__ 18
2939 // X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
2940 // X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
2941 // X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2942 // X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2943 // X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
2944 // X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
2945 // X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
2946 // X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
2947 // X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
2948 // X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
2949 // X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
2950 // X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
2951 // X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2952 // X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2953 // X86_64-LINUX:#define __LP64__ 1
2954 // X86_64-LINUX:#define __MMX__ 1
2955 // X86_64-LINUX:#define __NO_MATH_INLINES 1
2956 // X86_64-LINUX:#define __POINTER_WIDTH__ 64
2957 // X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
2958 // X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
2959 // X86_64-LINUX:#define __REGISTER_PREFIX__
2960 // X86_64-LINUX:#define __SCHAR_MAX__ 127
2961 // X86_64-LINUX:#define __SHRT_MAX__ 32767
2962 // X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2963 // X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
2964 // X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
2965 // X86_64-LINUX:#define __SIZEOF_INT__ 4
2966 // X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2967 // X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2968 // X86_64-LINUX:#define __SIZEOF_LONG__ 8
2969 // X86_64-LINUX:#define __SIZEOF_POINTER__ 8
2970 // X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2971 // X86_64-LINUX:#define __SIZEOF_SHORT__ 2
2972 // X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
2973 // X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2974 // X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
2975 // X86_64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
2976 // X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
2977 // X86_64-LINUX:#define __SIZE_WIDTH__ 64
2978 // X86_64-LINUX:#define __SSE2_MATH__ 1
2979 // X86_64-LINUX:#define __SSE2__ 1
2980 // X86_64-LINUX:#define __SSE_MATH__ 1
2981 // X86_64-LINUX:#define __SSE__ 1
2982 // X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2983 // X86_64-LINUX:#define __USER_LABEL_PREFIX__
2984 // X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
2985 // X86_64-LINUX:#define __WCHAR_TYPE__ int
2986 // X86_64-LINUX:#define __WCHAR_WIDTH__ 32
2987 // X86_64-LINUX:#define __WINT_TYPE__ unsigned int
2988 // X86_64-LINUX:#define __WINT_WIDTH__ 32
2989 // X86_64-LINUX:#define __amd64 1
2990 // X86_64-LINUX:#define __amd64__ 1
2991 // X86_64-LINUX:#define __x86_64 1
2992 // X86_64-LINUX:#define __x86_64__ 1
2993 //
2994 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-unknown-freebsd9.1 < /dev/null | FileCheck -check-prefix X86_64-FREEBSD %s
2995 //
2996 // X86_64-FREEBSD:#define __FreeBSD__ 9
2997 // X86_64-FREEBSD:#define __FreeBSD_cc_version 900001
2998 // X86_64-FREEBSD:#define __STDC_MB_MIGHT_NEQ_WC__ 1
2999 //
3000 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-none < /dev/null | FileCheck -check-prefix SPARCV9 %s
3001 // SPARCV9:#define __INT64_TYPE__ long int
3002 // SPARCV9:#define __INTMAX_TYPE__ long int
3003 // SPARCV9:#define __INTPTR_TYPE__ long int
3004 // SPARCV9:#define __LONG_MAX__ 9223372036854775807L
3005 // SPARCV9:#define __LP64__ 1
3006 // SPARCV9:#define __SIZEOF_LONG__ 8
3007 // SPARCV9:#define __SIZEOF_POINTER__ 8
3008 //
3009 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-openbsd < /dev/null | FileCheck -check-prefix SPARC64-OBSD %s
3010 // SPARC64-OBSD:#define __INT64_TYPE__ long long int
3011 // SPARC64-OBSD:#define __INTMAX_TYPE__ long long int
3012 // SPARC64-OBSD:#define __UINTMAX_TYPE__ long long unsigned int
3013 //
3014 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSD-DEFINE %s
3015 // KFREEBSD-DEFINE:#define __FreeBSD_kernel__ 1
3016 // KFREEBSD-DEFINE:#define __GLIBC__ 1
3017 //
3018 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=i686-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSDI686-DEFINE %s
3019 // KFREEBSDI686-DEFINE:#define __FreeBSD_kernel__ 1
3020 // KFREEBSDI686-DEFINE:#define __GLIBC__ 1
3021 //
3022 // RUN: %clang_cc1 -x c++ -triple i686-pc-linux-gnu -fobjc-runtime=gcc -E -dM < /dev/null | FileCheck -check-prefix GNUSOURCE %s
3023 // GNUSOURCE:#define _GNU_SOURCE 1
3024 //
3025 // RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
3026 // NORTTI: __GXX_ABI_VERSION
3027 // NORTTI-NOT:#define __GXX_RTTI
3028 // NORTTI: __STDC__
3029 //
3030 // RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
3031 // ANDROID: __ANDROID__ 1
3032 //
3033 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd < /dev/null | FileCheck -check-prefix PPC64-FREEBSD %s
3034 // PPC64-FREEBSD-NOT: #define __LONG_DOUBLE_128__ 1
3035 //
3036 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=xcore-none-none < /dev/null | FileCheck -check-prefix XCORE %s
3037 // XCORE:#define __XS1B__ 1
3038