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 // RUN: %clang -target arm -arch armv7s -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
516 // RUN: %clang -target arm -arch armv6m -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
517 // RUN: %clang -target arm -arch armv7m -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
518 // RUN: %clang -target arm -arch armv7em -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
519 // RUN: %clang -target thumbv7-apple-darwin-eabi -arch armv7 -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s
520 // ARM-DARWIN-NO-EABI-NOT: #define __ARM_EABI__ 1
521 
522 // Check that -mhwdiv works properly for targets which don't have the hwdiv feature enabled by default.
523 
524 // RUN: %clang -target arm -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-ARM %s
525 // ARMHWDIV-ARM:#define __ARM_ARCH_EXT_IDIV__ 1
526 
527 // RUN: %clang -target arm -mthumb -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-THUMB %s
528 // THUMBHWDIV-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1
529 
530 // RUN: %clang -target arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-FALSE %s
531 // ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
532 
533 // RUN: %clang -target arm -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMB-FALSE %s
534 // THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
535 
536 // RUN: %clang -target arm -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-ARM-FALSE %s
537 // THUMBHWDIV-ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
538 
539 // RUN: %clang -target arm -mthumb -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-THUMB-FALSE %s
540 // ARMHWDIV-THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__
541 
542 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=armv8-none-none < /dev/null | FileCheck -check-prefix ARMv8 %s
543 // ARMv8: #define __THUMB_INTERWORK__ 1
544 // ARMv8-NOT: #define __thumb2__
545 
546 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv8 < /dev/null | FileCheck -check-prefix Thumbv8 %s
547 // Thumbv8: #define __THUMB_INTERWORK__ 1
548 // Thumbv8: #define __thumb2__
549 
550 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv5 < /dev/null | FileCheck -check-prefix Thumbv5 %s
551 // Thumbv5: #define __THUMB_INTERWORK__ 1
552 // Thumbv5-NOT: #define __thumb2__
553 
554 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv6t2 < /dev/null | FileCheck -check-prefix Thumbv6t2 %s
555 // Thumbv6t2: #define __THUMB_INTERWORK__ 1
556 // Thumbv6t2: #define __thumb2__
557 
558 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv7 < /dev/null | FileCheck -check-prefix Thumbv7 %s
559 // Thumbv7: #define __THUMB_INTERWORK__ 1
560 // Thumbv7: #define __thumb2__
561 
562 //
563 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
564 //
565 // I386-NOT:#define _LP64
566 // I386:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
567 // I386:#define __CHAR16_TYPE__ unsigned short
568 // I386:#define __CHAR32_TYPE__ unsigned int
569 // I386:#define __CHAR_BIT__ 8
570 // I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
571 // I386:#define __DBL_DIG__ 15
572 // I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
573 // I386:#define __DBL_HAS_DENORM__ 1
574 // I386:#define __DBL_HAS_INFINITY__ 1
575 // I386:#define __DBL_HAS_QUIET_NAN__ 1
576 // I386:#define __DBL_MANT_DIG__ 53
577 // I386:#define __DBL_MAX_10_EXP__ 308
578 // I386:#define __DBL_MAX_EXP__ 1024
579 // I386:#define __DBL_MAX__ 1.7976931348623157e+308
580 // I386:#define __DBL_MIN_10_EXP__ (-307)
581 // I386:#define __DBL_MIN_EXP__ (-1021)
582 // I386:#define __DBL_MIN__ 2.2250738585072014e-308
583 // I386:#define __DECIMAL_DIG__ 21
584 // I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
585 // I386:#define __FLT_DIG__ 6
586 // I386:#define __FLT_EPSILON__ 1.19209290e-7F
587 // I386:#define __FLT_EVAL_METHOD__ 2
588 // I386:#define __FLT_HAS_DENORM__ 1
589 // I386:#define __FLT_HAS_INFINITY__ 1
590 // I386:#define __FLT_HAS_QUIET_NAN__ 1
591 // I386:#define __FLT_MANT_DIG__ 24
592 // I386:#define __FLT_MAX_10_EXP__ 38
593 // I386:#define __FLT_MAX_EXP__ 128
594 // I386:#define __FLT_MAX__ 3.40282347e+38F
595 // I386:#define __FLT_MIN_10_EXP__ (-37)
596 // I386:#define __FLT_MIN_EXP__ (-125)
597 // I386:#define __FLT_MIN__ 1.17549435e-38F
598 // I386:#define __FLT_RADIX__ 2
599 // I386:#define __INT16_TYPE__ short
600 // I386:#define __INT32_TYPE__ int
601 // I386:#define __INT64_C_SUFFIX__ LL
602 // I386:#define __INT64_TYPE__ long long int
603 // I386:#define __INT8_TYPE__ char
604 // I386:#define __INTMAX_MAX__ 9223372036854775807LL
605 // I386:#define __INTMAX_TYPE__ long long int
606 // I386:#define __INTMAX_WIDTH__ 64
607 // I386:#define __INTPTR_TYPE__ int
608 // I386:#define __INTPTR_WIDTH__ 32
609 // I386:#define __INT_MAX__ 2147483647
610 // I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
611 // I386:#define __LDBL_DIG__ 18
612 // I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
613 // I386:#define __LDBL_HAS_DENORM__ 1
614 // I386:#define __LDBL_HAS_INFINITY__ 1
615 // I386:#define __LDBL_HAS_QUIET_NAN__ 1
616 // I386:#define __LDBL_MANT_DIG__ 64
617 // I386:#define __LDBL_MAX_10_EXP__ 4932
618 // I386:#define __LDBL_MAX_EXP__ 16384
619 // I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
620 // I386:#define __LDBL_MIN_10_EXP__ (-4931)
621 // I386:#define __LDBL_MIN_EXP__ (-16381)
622 // I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
623 // I386:#define __LITTLE_ENDIAN__ 1
624 // I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
625 // I386:#define __LONG_MAX__ 2147483647L
626 // I386-NOT:#define __LP64__
627 // I386:#define __NO_MATH_INLINES 1
628 // I386:#define __POINTER_WIDTH__ 32
629 // I386:#define __PTRDIFF_TYPE__ int
630 // I386:#define __PTRDIFF_WIDTH__ 32
631 // I386:#define __REGISTER_PREFIX__
632 // I386:#define __SCHAR_MAX__ 127
633 // I386:#define __SHRT_MAX__ 32767
634 // I386:#define __SIG_ATOMIC_WIDTH__ 32
635 // I386:#define __SIZEOF_DOUBLE__ 8
636 // I386:#define __SIZEOF_FLOAT__ 4
637 // I386:#define __SIZEOF_INT__ 4
638 // I386:#define __SIZEOF_LONG_DOUBLE__ 12
639 // I386:#define __SIZEOF_LONG_LONG__ 8
640 // I386:#define __SIZEOF_LONG__ 4
641 // I386:#define __SIZEOF_POINTER__ 4
642 // I386:#define __SIZEOF_PTRDIFF_T__ 4
643 // I386:#define __SIZEOF_SHORT__ 2
644 // I386:#define __SIZEOF_SIZE_T__ 4
645 // I386:#define __SIZEOF_WCHAR_T__ 4
646 // I386:#define __SIZEOF_WINT_T__ 4
647 // I386:#define __SIZE_MAX__ 4294967295U
648 // I386:#define __SIZE_TYPE__ unsigned int
649 // I386:#define __SIZE_WIDTH__ 32
650 // I386:#define __UINTMAX_TYPE__ long long unsigned int
651 // I386:#define __USER_LABEL_PREFIX__ _
652 // I386:#define __WCHAR_MAX__ 2147483647
653 // I386:#define __WCHAR_TYPE__ int
654 // I386:#define __WCHAR_WIDTH__ 32
655 // I386:#define __WINT_TYPE__ int
656 // I386:#define __WINT_WIDTH__ 32
657 // I386:#define __i386 1
658 // I386:#define __i386__ 1
659 // I386:#define i386 1
660 //
661 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-pc-linux-gnu -target-cpu pentium4 < /dev/null | FileCheck -check-prefix I386-LINUX %s
662 //
663 // I386-LINUX-NOT:#define _LP64
664 // I386-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
665 // I386-LINUX:#define __CHAR16_TYPE__ unsigned short
666 // I386-LINUX:#define __CHAR32_TYPE__ unsigned int
667 // I386-LINUX:#define __CHAR_BIT__ 8
668 // I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
669 // I386-LINUX:#define __DBL_DIG__ 15
670 // I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
671 // I386-LINUX:#define __DBL_HAS_DENORM__ 1
672 // I386-LINUX:#define __DBL_HAS_INFINITY__ 1
673 // I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
674 // I386-LINUX:#define __DBL_MANT_DIG__ 53
675 // I386-LINUX:#define __DBL_MAX_10_EXP__ 308
676 // I386-LINUX:#define __DBL_MAX_EXP__ 1024
677 // I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
678 // I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
679 // I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
680 // I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
681 // I386-LINUX:#define __DECIMAL_DIG__ 21
682 // I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
683 // I386-LINUX:#define __FLT_DIG__ 6
684 // I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
685 // I386-LINUX:#define __FLT_EVAL_METHOD__ 0
686 // I386-LINUX:#define __FLT_HAS_DENORM__ 1
687 // I386-LINUX:#define __FLT_HAS_INFINITY__ 1
688 // I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
689 // I386-LINUX:#define __FLT_MANT_DIG__ 24
690 // I386-LINUX:#define __FLT_MAX_10_EXP__ 38
691 // I386-LINUX:#define __FLT_MAX_EXP__ 128
692 // I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
693 // I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
694 // I386-LINUX:#define __FLT_MIN_EXP__ (-125)
695 // I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
696 // I386-LINUX:#define __FLT_RADIX__ 2
697 // I386-LINUX:#define __INT16_TYPE__ short
698 // I386-LINUX:#define __INT32_TYPE__ int
699 // I386-LINUX:#define __INT64_C_SUFFIX__ LL
700 // I386-LINUX:#define __INT64_TYPE__ long long int
701 // I386-LINUX:#define __INT8_TYPE__ char
702 // I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
703 // I386-LINUX:#define __INTMAX_TYPE__ long long int
704 // I386-LINUX:#define __INTMAX_WIDTH__ 64
705 // I386-LINUX:#define __INTPTR_TYPE__ int
706 // I386-LINUX:#define __INTPTR_WIDTH__ 32
707 // I386-LINUX:#define __INT_MAX__ 2147483647
708 // I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
709 // I386-LINUX:#define __LDBL_DIG__ 18
710 // I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
711 // I386-LINUX:#define __LDBL_HAS_DENORM__ 1
712 // I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
713 // I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
714 // I386-LINUX:#define __LDBL_MANT_DIG__ 64
715 // I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
716 // I386-LINUX:#define __LDBL_MAX_EXP__ 16384
717 // I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
718 // I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
719 // I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
720 // I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
721 // I386-LINUX:#define __LITTLE_ENDIAN__ 1
722 // I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
723 // I386-LINUX:#define __LONG_MAX__ 2147483647L
724 // I386-LINUX-NOT:#define __LP64__
725 // I386-LINUX:#define __NO_MATH_INLINES 1
726 // I386-LINUX:#define __POINTER_WIDTH__ 32
727 // I386-LINUX:#define __PTRDIFF_TYPE__ int
728 // I386-LINUX:#define __PTRDIFF_WIDTH__ 32
729 // I386-LINUX:#define __REGISTER_PREFIX__
730 // I386-LINUX:#define __SCHAR_MAX__ 127
731 // I386-LINUX:#define __SHRT_MAX__ 32767
732 // I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
733 // I386-LINUX:#define __SIZEOF_DOUBLE__ 8
734 // I386-LINUX:#define __SIZEOF_FLOAT__ 4
735 // I386-LINUX:#define __SIZEOF_INT__ 4
736 // I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
737 // I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
738 // I386-LINUX:#define __SIZEOF_LONG__ 4
739 // I386-LINUX:#define __SIZEOF_POINTER__ 4
740 // I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
741 // I386-LINUX:#define __SIZEOF_SHORT__ 2
742 // I386-LINUX:#define __SIZEOF_SIZE_T__ 4
743 // I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
744 // I386-LINUX:#define __SIZEOF_WINT_T__ 4
745 // I386-LINUX:#define __SIZE_MAX__ 4294967295U
746 // I386-LINUX:#define __SIZE_TYPE__ unsigned int
747 // I386-LINUX:#define __SIZE_WIDTH__ 32
748 // I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
749 // I386-LINUX:#define __USER_LABEL_PREFIX__
750 // I386-LINUX:#define __WCHAR_MAX__ 2147483647
751 // I386-LINUX:#define __WCHAR_TYPE__ int
752 // I386-LINUX:#define __WCHAR_WIDTH__ 32
753 // I386-LINUX:#define __WINT_TYPE__ unsigned int
754 // I386-LINUX:#define __WINT_WIDTH__ 32
755 // I386-LINUX:#define __i386 1
756 // I386-LINUX:#define __i386__ 1
757 // I386-LINUX:#define i386 1
758 //
759 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd < /dev/null | FileCheck -check-prefix I386-NETBSD %s
760 //
761 // I386-NETBSD-NOT:#define _LP64
762 // I386-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
763 // I386-NETBSD:#define __CHAR16_TYPE__ unsigned short
764 // I386-NETBSD:#define __CHAR32_TYPE__ unsigned int
765 // I386-NETBSD:#define __CHAR_BIT__ 8
766 // I386-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
767 // I386-NETBSD:#define __DBL_DIG__ 15
768 // I386-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
769 // I386-NETBSD:#define __DBL_HAS_DENORM__ 1
770 // I386-NETBSD:#define __DBL_HAS_INFINITY__ 1
771 // I386-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
772 // I386-NETBSD:#define __DBL_MANT_DIG__ 53
773 // I386-NETBSD:#define __DBL_MAX_10_EXP__ 308
774 // I386-NETBSD:#define __DBL_MAX_EXP__ 1024
775 // I386-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
776 // I386-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
777 // I386-NETBSD:#define __DBL_MIN_EXP__ (-1021)
778 // I386-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
779 // I386-NETBSD:#define __DECIMAL_DIG__ 21
780 // I386-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
781 // I386-NETBSD:#define __FLT_DIG__ 6
782 // I386-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
783 // I386-NETBSD:#define __FLT_EVAL_METHOD__ 2
784 // I386-NETBSD:#define __FLT_HAS_DENORM__ 1
785 // I386-NETBSD:#define __FLT_HAS_INFINITY__ 1
786 // I386-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
787 // I386-NETBSD:#define __FLT_MANT_DIG__ 24
788 // I386-NETBSD:#define __FLT_MAX_10_EXP__ 38
789 // I386-NETBSD:#define __FLT_MAX_EXP__ 128
790 // I386-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
791 // I386-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
792 // I386-NETBSD:#define __FLT_MIN_EXP__ (-125)
793 // I386-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
794 // I386-NETBSD:#define __FLT_RADIX__ 2
795 // I386-NETBSD:#define __INT16_TYPE__ short
796 // I386-NETBSD:#define __INT32_TYPE__ int
797 // I386-NETBSD:#define __INT64_C_SUFFIX__ LL
798 // I386-NETBSD:#define __INT64_TYPE__ long long int
799 // I386-NETBSD:#define __INT8_TYPE__ char
800 // I386-NETBSD:#define __INTMAX_MAX__ 9223372036854775807LL
801 // I386-NETBSD:#define __INTMAX_TYPE__ long long int
802 // I386-NETBSD:#define __INTMAX_WIDTH__ 64
803 // I386-NETBSD:#define __INTPTR_TYPE__ int
804 // I386-NETBSD:#define __INTPTR_WIDTH__ 32
805 // I386-NETBSD:#define __INT_MAX__ 2147483647
806 // I386-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
807 // I386-NETBSD:#define __LDBL_DIG__ 18
808 // I386-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
809 // I386-NETBSD:#define __LDBL_HAS_DENORM__ 1
810 // I386-NETBSD:#define __LDBL_HAS_INFINITY__ 1
811 // I386-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
812 // I386-NETBSD:#define __LDBL_MANT_DIG__ 64
813 // I386-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
814 // I386-NETBSD:#define __LDBL_MAX_EXP__ 16384
815 // I386-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
816 // I386-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
817 // I386-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
818 // I386-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
819 // I386-NETBSD:#define __LITTLE_ENDIAN__ 1
820 // I386-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
821 // I386-NETBSD:#define __LONG_MAX__ 2147483647L
822 // I386-NETBSD-NOT:#define __LP64__
823 // I386-NETBSD:#define __NO_MATH_INLINES 1
824 // I386-NETBSD:#define __POINTER_WIDTH__ 32
825 // I386-NETBSD:#define __PTRDIFF_TYPE__ int
826 // I386-NETBSD:#define __PTRDIFF_WIDTH__ 32
827 // I386-NETBSD:#define __REGISTER_PREFIX__
828 // I386-NETBSD:#define __SCHAR_MAX__ 127
829 // I386-NETBSD:#define __SHRT_MAX__ 32767
830 // I386-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
831 // I386-NETBSD:#define __SIZEOF_DOUBLE__ 8
832 // I386-NETBSD:#define __SIZEOF_FLOAT__ 4
833 // I386-NETBSD:#define __SIZEOF_INT__ 4
834 // I386-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 12
835 // I386-NETBSD:#define __SIZEOF_LONG_LONG__ 8
836 // I386-NETBSD:#define __SIZEOF_LONG__ 4
837 // I386-NETBSD:#define __SIZEOF_POINTER__ 4
838 // I386-NETBSD:#define __SIZEOF_PTRDIFF_T__ 4
839 // I386-NETBSD:#define __SIZEOF_SHORT__ 2
840 // I386-NETBSD:#define __SIZEOF_SIZE_T__ 4
841 // I386-NETBSD:#define __SIZEOF_WCHAR_T__ 4
842 // I386-NETBSD:#define __SIZEOF_WINT_T__ 4
843 // I386-NETBSD:#define __SIZE_MAX__ 4294967295U
844 // I386-NETBSD:#define __SIZE_TYPE__ unsigned int
845 // I386-NETBSD:#define __SIZE_WIDTH__ 32
846 // I386-NETBSD:#define __UINTMAX_TYPE__ long long unsigned int
847 // I386-NETBSD:#define __USER_LABEL_PREFIX__
848 // I386-NETBSD:#define __WCHAR_MAX__ 2147483647
849 // I386-NETBSD:#define __WCHAR_TYPE__ int
850 // I386-NETBSD:#define __WCHAR_WIDTH__ 32
851 // I386-NETBSD:#define __WINT_TYPE__ int
852 // I386-NETBSD:#define __WINT_WIDTH__ 32
853 // I386-NETBSD:#define __i386 1
854 // I386-NETBSD:#define __i386__ 1
855 // I386-NETBSD:#define i386 1
856 //
857 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD-SSE %s
858 // I386-NETBSD-SSE:#define __FLT_EVAL_METHOD__ 0
859 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6  < /dev/null | FileCheck -check-prefix I386-NETBSD6 %s
860 // I386-NETBSD6:#define __FLT_EVAL_METHOD__ 1
861 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD6-SSE %s
862 // I386-NETBSD6-SSE:#define __FLT_EVAL_METHOD__ 1
863 
864 //
865 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none < /dev/null | FileCheck -check-prefix MIPS32BE %s
866 //
867 // MIPS32BE:#define MIPSEB 1
868 // MIPS32BE:#define _ABIO32 1
869 // MIPS32BE-NOT:#define _LP64
870 // MIPS32BE:#define _MIPSEB 1
871 // MIPS32BE:#define _MIPS_ARCH "mips32r2"
872 // MIPS32BE:#define _MIPS_ARCH_MIPS32R2 1
873 // MIPS32BE:#define _MIPS_FPSET 16
874 // MIPS32BE:#define _MIPS_SIM _ABIO32
875 // MIPS32BE:#define _MIPS_SZINT 32
876 // MIPS32BE:#define _MIPS_SZLONG 32
877 // MIPS32BE:#define _MIPS_SZPTR 32
878 // MIPS32BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
879 // MIPS32BE:#define __CHAR16_TYPE__ unsigned short
880 // MIPS32BE:#define __CHAR32_TYPE__ unsigned int
881 // MIPS32BE:#define __CHAR_BIT__ 8
882 // MIPS32BE:#define __CONSTANT_CFSTRINGS__ 1
883 // MIPS32BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
884 // MIPS32BE:#define __DBL_DIG__ 15
885 // MIPS32BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
886 // MIPS32BE:#define __DBL_HAS_DENORM__ 1
887 // MIPS32BE:#define __DBL_HAS_INFINITY__ 1
888 // MIPS32BE:#define __DBL_HAS_QUIET_NAN__ 1
889 // MIPS32BE:#define __DBL_MANT_DIG__ 53
890 // MIPS32BE:#define __DBL_MAX_10_EXP__ 308
891 // MIPS32BE:#define __DBL_MAX_EXP__ 1024
892 // MIPS32BE:#define __DBL_MAX__ 1.7976931348623157e+308
893 // MIPS32BE:#define __DBL_MIN_10_EXP__ (-307)
894 // MIPS32BE:#define __DBL_MIN_EXP__ (-1021)
895 // MIPS32BE:#define __DBL_MIN__ 2.2250738585072014e-308
896 // MIPS32BE:#define __DECIMAL_DIG__ 17
897 // MIPS32BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
898 // MIPS32BE:#define __FLT_DIG__ 6
899 // MIPS32BE:#define __FLT_EPSILON__ 1.19209290e-7F
900 // MIPS32BE:#define __FLT_EVAL_METHOD__ 0
901 // MIPS32BE:#define __FLT_HAS_DENORM__ 1
902 // MIPS32BE:#define __FLT_HAS_INFINITY__ 1
903 // MIPS32BE:#define __FLT_HAS_QUIET_NAN__ 1
904 // MIPS32BE:#define __FLT_MANT_DIG__ 24
905 // MIPS32BE:#define __FLT_MAX_10_EXP__ 38
906 // MIPS32BE:#define __FLT_MAX_EXP__ 128
907 // MIPS32BE:#define __FLT_MAX__ 3.40282347e+38F
908 // MIPS32BE:#define __FLT_MIN_10_EXP__ (-37)
909 // MIPS32BE:#define __FLT_MIN_EXP__ (-125)
910 // MIPS32BE:#define __FLT_MIN__ 1.17549435e-38F
911 // MIPS32BE:#define __FLT_RADIX__ 2
912 // MIPS32BE:#define __INT16_TYPE__ short
913 // MIPS32BE:#define __INT32_TYPE__ int
914 // MIPS32BE:#define __INT64_C_SUFFIX__ LL
915 // MIPS32BE:#define __INT64_TYPE__ long long int
916 // MIPS32BE:#define __INT8_TYPE__ char
917 // MIPS32BE:#define __INTMAX_MAX__ 9223372036854775807LL
918 // MIPS32BE:#define __INTMAX_TYPE__ long long int
919 // MIPS32BE:#define __INTMAX_WIDTH__ 64
920 // MIPS32BE:#define __INTPTR_TYPE__ long int
921 // MIPS32BE:#define __INTPTR_WIDTH__ 32
922 // MIPS32BE:#define __INT_MAX__ 2147483647
923 // MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
924 // MIPS32BE:#define __LDBL_DIG__ 15
925 // MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
926 // MIPS32BE:#define __LDBL_HAS_DENORM__ 1
927 // MIPS32BE:#define __LDBL_HAS_INFINITY__ 1
928 // MIPS32BE:#define __LDBL_HAS_QUIET_NAN__ 1
929 // MIPS32BE:#define __LDBL_MANT_DIG__ 53
930 // MIPS32BE:#define __LDBL_MAX_10_EXP__ 308
931 // MIPS32BE:#define __LDBL_MAX_EXP__ 1024
932 // MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308L
933 // MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307)
934 // MIPS32BE:#define __LDBL_MIN_EXP__ (-1021)
935 // MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308L
936 // MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
937 // MIPS32BE:#define __LONG_MAX__ 2147483647L
938 // MIPS32BE-NOT:#define __LP64__
939 // MIPS32BE:#define __MIPSEB 1
940 // MIPS32BE:#define __MIPSEB__ 1
941 // MIPS32BE:#define __POINTER_WIDTH__ 32
942 // MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1
943 // MIPS32BE:#define __PTRDIFF_TYPE__ int
944 // MIPS32BE:#define __PTRDIFF_WIDTH__ 32
945 // MIPS32BE:#define __REGISTER_PREFIX__
946 // MIPS32BE:#define __SCHAR_MAX__ 127
947 // MIPS32BE:#define __SHRT_MAX__ 32767
948 // MIPS32BE:#define __SIG_ATOMIC_WIDTH__ 32
949 // MIPS32BE:#define __SIZEOF_DOUBLE__ 8
950 // MIPS32BE:#define __SIZEOF_FLOAT__ 4
951 // MIPS32BE:#define __SIZEOF_INT__ 4
952 // MIPS32BE:#define __SIZEOF_LONG_DOUBLE__ 8
953 // MIPS32BE:#define __SIZEOF_LONG_LONG__ 8
954 // MIPS32BE:#define __SIZEOF_LONG__ 4
955 // MIPS32BE:#define __SIZEOF_POINTER__ 4
956 // MIPS32BE:#define __SIZEOF_PTRDIFF_T__ 4
957 // MIPS32BE:#define __SIZEOF_SHORT__ 2
958 // MIPS32BE:#define __SIZEOF_SIZE_T__ 4
959 // MIPS32BE:#define __SIZEOF_WCHAR_T__ 4
960 // MIPS32BE:#define __SIZEOF_WINT_T__ 4
961 // MIPS32BE:#define __SIZE_MAX__ 4294967295U
962 // MIPS32BE:#define __SIZE_TYPE__ unsigned int
963 // MIPS32BE:#define __SIZE_WIDTH__ 32
964 // MIPS32BE:#define __STDC_HOSTED__ 0
965 // MIPS32BE:#define __STDC_VERSION__ 199901L
966 // MIPS32BE:#define __STDC__ 1
967 // MIPS32BE:#define __UINTMAX_TYPE__ long long unsigned int
968 // MIPS32BE:#define __USER_LABEL_PREFIX__ _
969 // MIPS32BE:#define __WCHAR_MAX__ 2147483647
970 // MIPS32BE:#define __WCHAR_TYPE__ int
971 // MIPS32BE:#define __WCHAR_WIDTH__ 32
972 // MIPS32BE:#define __WINT_TYPE__ int
973 // MIPS32BE:#define __WINT_WIDTH__ 32
974 // MIPS32BE:#define __clang__ 1
975 // MIPS32BE:#define __llvm__ 1
976 // MIPS32BE:#define __mips 32
977 // MIPS32BE:#define __mips__ 1
978 // MIPS32BE:#define __mips_fpr 32
979 // MIPS32BE:#define __mips_hard_float 1
980 // MIPS32BE:#define __mips_o32 1
981 // MIPS32BE:#define _mips 1
982 // MIPS32BE:#define mips 1
983 //
984 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -check-prefix MIPS32EL %s
985 //
986 // MIPS32EL:#define MIPSEL 1
987 // MIPS32EL:#define _ABIO32 1
988 // MIPS32EL-NOT:#define _LP64
989 // MIPS32EL:#define _MIPSEL 1
990 // MIPS32EL:#define _MIPS_ARCH "mips32r2"
991 // MIPS32EL:#define _MIPS_ARCH_MIPS32R2 1
992 // MIPS32EL:#define _MIPS_FPSET 16
993 // MIPS32EL:#define _MIPS_SIM _ABIO32
994 // MIPS32EL:#define _MIPS_SZINT 32
995 // MIPS32EL:#define _MIPS_SZLONG 32
996 // MIPS32EL:#define _MIPS_SZPTR 32
997 // MIPS32EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
998 // MIPS32EL:#define __CHAR16_TYPE__ unsigned short
999 // MIPS32EL:#define __CHAR32_TYPE__ unsigned int
1000 // MIPS32EL:#define __CHAR_BIT__ 8
1001 // MIPS32EL:#define __CONSTANT_CFSTRINGS__ 1
1002 // MIPS32EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1003 // MIPS32EL:#define __DBL_DIG__ 15
1004 // MIPS32EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1005 // MIPS32EL:#define __DBL_HAS_DENORM__ 1
1006 // MIPS32EL:#define __DBL_HAS_INFINITY__ 1
1007 // MIPS32EL:#define __DBL_HAS_QUIET_NAN__ 1
1008 // MIPS32EL:#define __DBL_MANT_DIG__ 53
1009 // MIPS32EL:#define __DBL_MAX_10_EXP__ 308
1010 // MIPS32EL:#define __DBL_MAX_EXP__ 1024
1011 // MIPS32EL:#define __DBL_MAX__ 1.7976931348623157e+308
1012 // MIPS32EL:#define __DBL_MIN_10_EXP__ (-307)
1013 // MIPS32EL:#define __DBL_MIN_EXP__ (-1021)
1014 // MIPS32EL:#define __DBL_MIN__ 2.2250738585072014e-308
1015 // MIPS32EL:#define __DECIMAL_DIG__ 17
1016 // MIPS32EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1017 // MIPS32EL:#define __FLT_DIG__ 6
1018 // MIPS32EL:#define __FLT_EPSILON__ 1.19209290e-7F
1019 // MIPS32EL:#define __FLT_EVAL_METHOD__ 0
1020 // MIPS32EL:#define __FLT_HAS_DENORM__ 1
1021 // MIPS32EL:#define __FLT_HAS_INFINITY__ 1
1022 // MIPS32EL:#define __FLT_HAS_QUIET_NAN__ 1
1023 // MIPS32EL:#define __FLT_MANT_DIG__ 24
1024 // MIPS32EL:#define __FLT_MAX_10_EXP__ 38
1025 // MIPS32EL:#define __FLT_MAX_EXP__ 128
1026 // MIPS32EL:#define __FLT_MAX__ 3.40282347e+38F
1027 // MIPS32EL:#define __FLT_MIN_10_EXP__ (-37)
1028 // MIPS32EL:#define __FLT_MIN_EXP__ (-125)
1029 // MIPS32EL:#define __FLT_MIN__ 1.17549435e-38F
1030 // MIPS32EL:#define __FLT_RADIX__ 2
1031 // MIPS32EL:#define __INT16_TYPE__ short
1032 // MIPS32EL:#define __INT32_TYPE__ int
1033 // MIPS32EL:#define __INT64_C_SUFFIX__ LL
1034 // MIPS32EL:#define __INT64_TYPE__ long long int
1035 // MIPS32EL:#define __INT8_TYPE__ char
1036 // MIPS32EL:#define __INTMAX_MAX__ 9223372036854775807LL
1037 // MIPS32EL:#define __INTMAX_TYPE__ long long int
1038 // MIPS32EL:#define __INTMAX_WIDTH__ 64
1039 // MIPS32EL:#define __INTPTR_TYPE__ long int
1040 // MIPS32EL:#define __INTPTR_WIDTH__ 32
1041 // MIPS32EL:#define __INT_MAX__ 2147483647
1042 // MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
1043 // MIPS32EL:#define __LDBL_DIG__ 15
1044 // MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
1045 // MIPS32EL:#define __LDBL_HAS_DENORM__ 1
1046 // MIPS32EL:#define __LDBL_HAS_INFINITY__ 1
1047 // MIPS32EL:#define __LDBL_HAS_QUIET_NAN__ 1
1048 // MIPS32EL:#define __LDBL_MANT_DIG__ 53
1049 // MIPS32EL:#define __LDBL_MAX_10_EXP__ 308
1050 // MIPS32EL:#define __LDBL_MAX_EXP__ 1024
1051 // MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308L
1052 // MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307)
1053 // MIPS32EL:#define __LDBL_MIN_EXP__ (-1021)
1054 // MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308L
1055 // MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1056 // MIPS32EL:#define __LONG_MAX__ 2147483647L
1057 // MIPS32EL-NOT:#define __LP64__
1058 // MIPS32EL:#define __MIPSEL 1
1059 // MIPS32EL:#define __MIPSEL__ 1
1060 // MIPS32EL:#define __POINTER_WIDTH__ 32
1061 // MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1062 // MIPS32EL:#define __PTRDIFF_TYPE__ int
1063 // MIPS32EL:#define __PTRDIFF_WIDTH__ 32
1064 // MIPS32EL:#define __REGISTER_PREFIX__
1065 // MIPS32EL:#define __SCHAR_MAX__ 127
1066 // MIPS32EL:#define __SHRT_MAX__ 32767
1067 // MIPS32EL:#define __SIG_ATOMIC_WIDTH__ 32
1068 // MIPS32EL:#define __SIZEOF_DOUBLE__ 8
1069 // MIPS32EL:#define __SIZEOF_FLOAT__ 4
1070 // MIPS32EL:#define __SIZEOF_INT__ 4
1071 // MIPS32EL:#define __SIZEOF_LONG_DOUBLE__ 8
1072 // MIPS32EL:#define __SIZEOF_LONG_LONG__ 8
1073 // MIPS32EL:#define __SIZEOF_LONG__ 4
1074 // MIPS32EL:#define __SIZEOF_POINTER__ 4
1075 // MIPS32EL:#define __SIZEOF_PTRDIFF_T__ 4
1076 // MIPS32EL:#define __SIZEOF_SHORT__ 2
1077 // MIPS32EL:#define __SIZEOF_SIZE_T__ 4
1078 // MIPS32EL:#define __SIZEOF_WCHAR_T__ 4
1079 // MIPS32EL:#define __SIZEOF_WINT_T__ 4
1080 // MIPS32EL:#define __SIZE_MAX__ 4294967295U
1081 // MIPS32EL:#define __SIZE_TYPE__ unsigned int
1082 // MIPS32EL:#define __SIZE_WIDTH__ 32
1083 // MIPS32EL:#define __UINTMAX_TYPE__ long long unsigned int
1084 // MIPS32EL:#define __USER_LABEL_PREFIX__ _
1085 // MIPS32EL:#define __WCHAR_MAX__ 2147483647
1086 // MIPS32EL:#define __WCHAR_TYPE__ int
1087 // MIPS32EL:#define __WCHAR_WIDTH__ 32
1088 // MIPS32EL:#define __WINT_TYPE__ int
1089 // MIPS32EL:#define __WINT_WIDTH__ 32
1090 // MIPS32EL:#define __clang__ 1
1091 // MIPS32EL:#define __llvm__ 1
1092 // MIPS32EL:#define __mips 32
1093 // MIPS32EL:#define __mips__ 1
1094 // MIPS32EL:#define __mips_fpr 32
1095 // MIPS32EL:#define __mips_hard_float 1
1096 // MIPS32EL:#define __mips_o32 1
1097 // MIPS32EL:#define _mips 1
1098 // MIPS32EL:#define mips 1
1099 //
1100 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -check-prefix MIPS64BE %s
1101 //
1102 // MIPS64BE:#define MIPSEB 1
1103 // MIPS64BE:#define _ABI64 3
1104 // MIPS64BE:#define _LP64 1
1105 // MIPS64BE:#define _MIPSEB 1
1106 // MIPS64BE:#define _MIPS_ARCH "mips64r2"
1107 // MIPS64BE:#define _MIPS_ARCH_MIPS64R2 1
1108 // MIPS64BE:#define _MIPS_FPSET 32
1109 // MIPS64BE:#define _MIPS_SIM _ABI64
1110 // MIPS64BE:#define _MIPS_SZINT 32
1111 // MIPS64BE:#define _MIPS_SZLONG 64
1112 // MIPS64BE:#define _MIPS_SZPTR 64
1113 // MIPS64BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
1114 // MIPS64BE:#define __CHAR16_TYPE__ unsigned short
1115 // MIPS64BE:#define __CHAR32_TYPE__ unsigned int
1116 // MIPS64BE:#define __CHAR_BIT__ 8
1117 // MIPS64BE:#define __CONSTANT_CFSTRINGS__ 1
1118 // MIPS64BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1119 // MIPS64BE:#define __DBL_DIG__ 15
1120 // MIPS64BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
1121 // MIPS64BE:#define __DBL_HAS_DENORM__ 1
1122 // MIPS64BE:#define __DBL_HAS_INFINITY__ 1
1123 // MIPS64BE:#define __DBL_HAS_QUIET_NAN__ 1
1124 // MIPS64BE:#define __DBL_MANT_DIG__ 53
1125 // MIPS64BE:#define __DBL_MAX_10_EXP__ 308
1126 // MIPS64BE:#define __DBL_MAX_EXP__ 1024
1127 // MIPS64BE:#define __DBL_MAX__ 1.7976931348623157e+308
1128 // MIPS64BE:#define __DBL_MIN_10_EXP__ (-307)
1129 // MIPS64BE:#define __DBL_MIN_EXP__ (-1021)
1130 // MIPS64BE:#define __DBL_MIN__ 2.2250738585072014e-308
1131 // MIPS64BE:#define __DECIMAL_DIG__ 36
1132 // MIPS64BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1133 // MIPS64BE:#define __FLT_DIG__ 6
1134 // MIPS64BE:#define __FLT_EPSILON__ 1.19209290e-7F
1135 // MIPS64BE:#define __FLT_EVAL_METHOD__ 0
1136 // MIPS64BE:#define __FLT_HAS_DENORM__ 1
1137 // MIPS64BE:#define __FLT_HAS_INFINITY__ 1
1138 // MIPS64BE:#define __FLT_HAS_QUIET_NAN__ 1
1139 // MIPS64BE:#define __FLT_MANT_DIG__ 24
1140 // MIPS64BE:#define __FLT_MAX_10_EXP__ 38
1141 // MIPS64BE:#define __FLT_MAX_EXP__ 128
1142 // MIPS64BE:#define __FLT_MAX__ 3.40282347e+38F
1143 // MIPS64BE:#define __FLT_MIN_10_EXP__ (-37)
1144 // MIPS64BE:#define __FLT_MIN_EXP__ (-125)
1145 // MIPS64BE:#define __FLT_MIN__ 1.17549435e-38F
1146 // MIPS64BE:#define __FLT_RADIX__ 2
1147 // MIPS64BE:#define __INT16_TYPE__ short
1148 // MIPS64BE:#define __INT32_TYPE__ int
1149 // MIPS64BE:#define __INT64_C_SUFFIX__ LL
1150 // MIPS64BE:#define __INT64_TYPE__ long long int
1151 // MIPS64BE:#define __INT8_TYPE__ char
1152 // MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807LL
1153 // MIPS64BE:#define __INTMAX_TYPE__ long long int
1154 // MIPS64BE:#define __INTMAX_WIDTH__ 64
1155 // MIPS64BE:#define __INTPTR_TYPE__ long int
1156 // MIPS64BE:#define __INTPTR_WIDTH__ 64
1157 // MIPS64BE:#define __INT_MAX__ 2147483647
1158 // MIPS64BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1159 // MIPS64BE:#define __LDBL_DIG__ 33
1160 // MIPS64BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1161 // MIPS64BE:#define __LDBL_HAS_DENORM__ 1
1162 // MIPS64BE:#define __LDBL_HAS_INFINITY__ 1
1163 // MIPS64BE:#define __LDBL_HAS_QUIET_NAN__ 1
1164 // MIPS64BE:#define __LDBL_MANT_DIG__ 113
1165 // MIPS64BE:#define __LDBL_MAX_10_EXP__ 4932
1166 // MIPS64BE:#define __LDBL_MAX_EXP__ 16384
1167 // MIPS64BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1168 // MIPS64BE:#define __LDBL_MIN_10_EXP__ (-4931)
1169 // MIPS64BE:#define __LDBL_MIN_EXP__ (-16381)
1170 // MIPS64BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1171 // MIPS64BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1172 // MIPS64BE:#define __LONG_MAX__ 9223372036854775807L
1173 // MIPS64BE:#define __LP64__ 1
1174 // MIPS64BE:#define __MIPSEB 1
1175 // MIPS64BE:#define __MIPSEB__ 1
1176 // MIPS64BE:#define __POINTER_WIDTH__ 64
1177 // MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1
1178 // MIPS64BE:#define __PTRDIFF_TYPE__ long int
1179 // MIPS64BE:#define __PTRDIFF_WIDTH__ 64
1180 // MIPS64BE:#define __REGISTER_PREFIX__
1181 // MIPS64BE:#define __SCHAR_MAX__ 127
1182 // MIPS64BE:#define __SHRT_MAX__ 32767
1183 // MIPS64BE:#define __SIG_ATOMIC_WIDTH__ 32
1184 // MIPS64BE:#define __SIZEOF_DOUBLE__ 8
1185 // MIPS64BE:#define __SIZEOF_FLOAT__ 4
1186 // MIPS64BE:#define __SIZEOF_INT__ 4
1187 // MIPS64BE:#define __SIZEOF_LONG_DOUBLE__ 16
1188 // MIPS64BE:#define __SIZEOF_LONG_LONG__ 8
1189 // MIPS64BE:#define __SIZEOF_LONG__ 8
1190 // MIPS64BE:#define __SIZEOF_POINTER__ 8
1191 // MIPS64BE:#define __SIZEOF_PTRDIFF_T__ 8
1192 // MIPS64BE:#define __SIZEOF_SHORT__ 2
1193 // MIPS64BE:#define __SIZEOF_SIZE_T__ 8
1194 // MIPS64BE:#define __SIZEOF_WCHAR_T__ 4
1195 // MIPS64BE:#define __SIZEOF_WINT_T__ 4
1196 // MIPS64BE:#define __SIZE_MAX__ 18446744073709551615UL
1197 // MIPS64BE:#define __SIZE_TYPE__ long unsigned int
1198 // MIPS64BE:#define __SIZE_WIDTH__ 64
1199 // MIPS64BE:#define __UINTMAX_TYPE__ long long unsigned int
1200 // MIPS64BE:#define __USER_LABEL_PREFIX__ _
1201 // MIPS64BE:#define __WCHAR_MAX__ 2147483647
1202 // MIPS64BE:#define __WCHAR_TYPE__ int
1203 // MIPS64BE:#define __WCHAR_WIDTH__ 32
1204 // MIPS64BE:#define __WINT_TYPE__ int
1205 // MIPS64BE:#define __WINT_WIDTH__ 32
1206 // MIPS64BE:#define __clang__ 1
1207 // MIPS64BE:#define __llvm__ 1
1208 // MIPS64BE:#define __mips 64
1209 // MIPS64BE:#define __mips64 1
1210 // MIPS64BE:#define __mips64__ 1
1211 // MIPS64BE:#define __mips__ 1
1212 // MIPS64BE:#define __mips_fpr 64
1213 // MIPS64BE:#define __mips_hard_float 1
1214 // MIPS64BE:#define __mips_n64 1
1215 // MIPS64BE:#define _mips 1
1216 // MIPS64BE:#define mips 1
1217 //
1218 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -check-prefix MIPS64EL %s
1219 //
1220 // MIPS64EL:#define MIPSEL 1
1221 // MIPS64EL:#define _ABI64 3
1222 // MIPS64EL:#define _LP64 1
1223 // MIPS64EL:#define _MIPSEL 1
1224 // MIPS64EL:#define _MIPS_ARCH "mips64r2"
1225 // MIPS64EL:#define _MIPS_ARCH_MIPS64R2 1
1226 // MIPS64EL:#define _MIPS_FPSET 32
1227 // MIPS64EL:#define _MIPS_SIM _ABI64
1228 // MIPS64EL:#define _MIPS_SZINT 32
1229 // MIPS64EL:#define _MIPS_SZLONG 64
1230 // MIPS64EL:#define _MIPS_SZPTR 64
1231 // MIPS64EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1232 // MIPS64EL:#define __CHAR16_TYPE__ unsigned short
1233 // MIPS64EL:#define __CHAR32_TYPE__ unsigned int
1234 // MIPS64EL:#define __CHAR_BIT__ 8
1235 // MIPS64EL:#define __CONSTANT_CFSTRINGS__ 1
1236 // MIPS64EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1237 // MIPS64EL:#define __DBL_DIG__ 15
1238 // MIPS64EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1239 // MIPS64EL:#define __DBL_HAS_DENORM__ 1
1240 // MIPS64EL:#define __DBL_HAS_INFINITY__ 1
1241 // MIPS64EL:#define __DBL_HAS_QUIET_NAN__ 1
1242 // MIPS64EL:#define __DBL_MANT_DIG__ 53
1243 // MIPS64EL:#define __DBL_MAX_10_EXP__ 308
1244 // MIPS64EL:#define __DBL_MAX_EXP__ 1024
1245 // MIPS64EL:#define __DBL_MAX__ 1.7976931348623157e+308
1246 // MIPS64EL:#define __DBL_MIN_10_EXP__ (-307)
1247 // MIPS64EL:#define __DBL_MIN_EXP__ (-1021)
1248 // MIPS64EL:#define __DBL_MIN__ 2.2250738585072014e-308
1249 // MIPS64EL:#define __DECIMAL_DIG__ 36
1250 // MIPS64EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1251 // MIPS64EL:#define __FLT_DIG__ 6
1252 // MIPS64EL:#define __FLT_EPSILON__ 1.19209290e-7F
1253 // MIPS64EL:#define __FLT_EVAL_METHOD__ 0
1254 // MIPS64EL:#define __FLT_HAS_DENORM__ 1
1255 // MIPS64EL:#define __FLT_HAS_INFINITY__ 1
1256 // MIPS64EL:#define __FLT_HAS_QUIET_NAN__ 1
1257 // MIPS64EL:#define __FLT_MANT_DIG__ 24
1258 // MIPS64EL:#define __FLT_MAX_10_EXP__ 38
1259 // MIPS64EL:#define __FLT_MAX_EXP__ 128
1260 // MIPS64EL:#define __FLT_MAX__ 3.40282347e+38F
1261 // MIPS64EL:#define __FLT_MIN_10_EXP__ (-37)
1262 // MIPS64EL:#define __FLT_MIN_EXP__ (-125)
1263 // MIPS64EL:#define __FLT_MIN__ 1.17549435e-38F
1264 // MIPS64EL:#define __FLT_RADIX__ 2
1265 // MIPS64EL:#define __INT16_TYPE__ short
1266 // MIPS64EL:#define __INT32_TYPE__ int
1267 // MIPS64EL:#define __INT64_C_SUFFIX__ LL
1268 // MIPS64EL:#define __INT64_TYPE__ long long int
1269 // MIPS64EL:#define __INT8_TYPE__ char
1270 // MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807LL
1271 // MIPS64EL:#define __INTMAX_TYPE__ long long int
1272 // MIPS64EL:#define __INTMAX_WIDTH__ 64
1273 // MIPS64EL:#define __INTPTR_TYPE__ long int
1274 // MIPS64EL:#define __INTPTR_WIDTH__ 64
1275 // MIPS64EL:#define __INT_MAX__ 2147483647
1276 // MIPS64EL:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1277 // MIPS64EL:#define __LDBL_DIG__ 33
1278 // MIPS64EL:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1279 // MIPS64EL:#define __LDBL_HAS_DENORM__ 1
1280 // MIPS64EL:#define __LDBL_HAS_INFINITY__ 1
1281 // MIPS64EL:#define __LDBL_HAS_QUIET_NAN__ 1
1282 // MIPS64EL:#define __LDBL_MANT_DIG__ 113
1283 // MIPS64EL:#define __LDBL_MAX_10_EXP__ 4932
1284 // MIPS64EL:#define __LDBL_MAX_EXP__ 16384
1285 // MIPS64EL:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1286 // MIPS64EL:#define __LDBL_MIN_10_EXP__ (-4931)
1287 // MIPS64EL:#define __LDBL_MIN_EXP__ (-16381)
1288 // MIPS64EL:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1289 // MIPS64EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1290 // MIPS64EL:#define __LONG_MAX__ 9223372036854775807L
1291 // MIPS64EL:#define __LP64__ 1
1292 // MIPS64EL:#define __MIPSEL 1
1293 // MIPS64EL:#define __MIPSEL__ 1
1294 // MIPS64EL:#define __POINTER_WIDTH__ 64
1295 // MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1296 // MIPS64EL:#define __PTRDIFF_TYPE__ long int
1297 // MIPS64EL:#define __PTRDIFF_WIDTH__ 64
1298 // MIPS64EL:#define __REGISTER_PREFIX__
1299 // MIPS64EL:#define __SCHAR_MAX__ 127
1300 // MIPS64EL:#define __SHRT_MAX__ 32767
1301 // MIPS64EL:#define __SIG_ATOMIC_WIDTH__ 32
1302 // MIPS64EL:#define __SIZEOF_DOUBLE__ 8
1303 // MIPS64EL:#define __SIZEOF_FLOAT__ 4
1304 // MIPS64EL:#define __SIZEOF_INT__ 4
1305 // MIPS64EL:#define __SIZEOF_LONG_DOUBLE__ 16
1306 // MIPS64EL:#define __SIZEOF_LONG_LONG__ 8
1307 // MIPS64EL:#define __SIZEOF_LONG__ 8
1308 // MIPS64EL:#define __SIZEOF_POINTER__ 8
1309 // MIPS64EL:#define __SIZEOF_PTRDIFF_T__ 8
1310 // MIPS64EL:#define __SIZEOF_SHORT__ 2
1311 // MIPS64EL:#define __SIZEOF_SIZE_T__ 8
1312 // MIPS64EL:#define __SIZEOF_WCHAR_T__ 4
1313 // MIPS64EL:#define __SIZEOF_WINT_T__ 4
1314 // MIPS64EL:#define __SIZE_MAX__ 18446744073709551615UL
1315 // MIPS64EL:#define __SIZE_TYPE__ long unsigned int
1316 // MIPS64EL:#define __SIZE_WIDTH__ 64
1317 // MIPS64EL:#define __UINTMAX_TYPE__ long long unsigned int
1318 // MIPS64EL:#define __USER_LABEL_PREFIX__ _
1319 // MIPS64EL:#define __WCHAR_MAX__ 2147483647
1320 // MIPS64EL:#define __WCHAR_TYPE__ int
1321 // MIPS64EL:#define __WCHAR_WIDTH__ 32
1322 // MIPS64EL:#define __WINT_TYPE__ int
1323 // MIPS64EL:#define __WINT_WIDTH__ 32
1324 // MIPS64EL:#define __clang__ 1
1325 // MIPS64EL:#define __llvm__ 1
1326 // MIPS64EL:#define __mips 64
1327 // MIPS64EL:#define __mips64 1
1328 // MIPS64EL:#define __mips64__ 1
1329 // MIPS64EL:#define __mips__ 1
1330 // MIPS64EL:#define __mips_fpr 64
1331 // MIPS64EL:#define __mips_hard_float 1
1332 // MIPS64EL:#define __mips_n64 1
1333 // MIPS64EL:#define _mips 1
1334 // MIPS64EL:#define mips 1
1335 //
1336 // Check MIPS arch macros
1337 //
1338 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
1339 // RUN:            < /dev/null \
1340 // RUN:   | FileCheck -check-prefix MIPS-ARCH-DEF32 %s
1341 //
1342 // MIPS-ARCH-DEF32:#define _MIPS_ARCH "mips32r2"
1343 // MIPS-ARCH-DEF32:#define _MIPS_ARCH_MIPS32R2 1
1344 //
1345 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-nones \
1346 // RUN:            -target-cpu mips32 < /dev/null \
1347 // RUN:   | FileCheck -check-prefix MIPS-ARCH-32 %s
1348 //
1349 // MIPS-ARCH-32:#define _MIPS_ARCH "mips32"
1350 // MIPS-ARCH-32:#define _MIPS_ARCH_MIPS32 1
1351 //
1352 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
1353 // RUN:            -target-cpu mips32r2 < /dev/null \
1354 // RUN:   | FileCheck -check-prefix MIPS-ARCH-32R2 %s
1355 //
1356 // MIPS-ARCH-32R2:#define _MIPS_ARCH "mips32r2"
1357 // MIPS-ARCH-32R2:#define _MIPS_ARCH_MIPS32R2 1
1358 //
1359 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1360 // RUN:            < /dev/null \
1361 // RUN:   | FileCheck -check-prefix MIPS-ARCH-DEF64 %s
1362 //
1363 // MIPS-ARCH-DEF64:#define _MIPS_ARCH "mips64r2"
1364 // MIPS-ARCH-DEF64:#define _MIPS_ARCH_MIPS64R2 1
1365 //
1366 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1367 // RUN:            -target-cpu mips64 < /dev/null \
1368 // RUN:   | FileCheck -check-prefix MIPS-ARCH-64 %s
1369 //
1370 // MIPS-ARCH-64:#define _MIPS_ARCH "mips64"
1371 // MIPS-ARCH-64:#define _MIPS_ARCH_MIPS64 1
1372 //
1373 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1374 // RUN:            -target-cpu mips64r2 < /dev/null \
1375 // RUN:   | FileCheck -check-prefix MIPS-ARCH-64R2 %s
1376 //
1377 // MIPS-ARCH-64R2:#define _MIPS_ARCH "mips64r2"
1378 // MIPS-ARCH-64R2:#define _MIPS_ARCH_MIPS64R2 1
1379 //
1380 // Check MIPS float ABI macros
1381 //
1382 // RUN: %clang_cc1 -E -dM -ffreestanding \
1383 // RUN:   -triple=mips-none-none < /dev/null \
1384 // RUN:   | FileCheck -check-prefix MIPS-FABI-HARD %s
1385 // MIPS-FABI-HARD:#define __mips_hard_float 1
1386 //
1387 // RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \
1388 // RUN:   -triple=mips-none-none < /dev/null \
1389 // RUN:   | FileCheck -check-prefix MIPS-FABI-SOFT %s
1390 // MIPS-FABI-SOFT:#define __mips_soft_float 1
1391 //
1392 // RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \
1393 // RUN:   -triple=mips-none-none < /dev/null \
1394 // RUN:   | FileCheck -check-prefix MIPS-FABI-SINGLE %s
1395 // MIPS-FABI-SINGLE:#define __mips_hard_float 1
1396 // MIPS-FABI-SINGLE:#define __mips_single_float 1
1397 //
1398 // RUN: %clang_cc1 -target-feature +soft-float -target-feature +single-float \
1399 // RUN:   -E -dM -ffreestanding -triple=mips-none-none < /dev/null \
1400 // RUN:   | FileCheck -check-prefix MIPS-FABI-SINGLE-SOFT %s
1401 // MIPS-FABI-SINGLE-SOFT:#define __mips_single_float 1
1402 // MIPS-FABI-SINGLE-SOFT:#define __mips_soft_float 1
1403 //
1404 // Check MIPS features macros
1405 //
1406 // RUN: %clang_cc1 -target-feature +mips16 \
1407 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1408 // RUN:   | FileCheck -check-prefix MIPS16 %s
1409 // MIPS16:#define __mips16 1
1410 //
1411 // RUN: %clang_cc1 -target-feature -mips16 \
1412 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1413 // RUN:   | FileCheck -check-prefix NOMIPS16 %s
1414 // NOMIPS16-NOT:#define __mips16 1
1415 //
1416 // RUN: %clang_cc1 -target-feature +micromips \
1417 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1418 // RUN:   | FileCheck -check-prefix MICROMIPS %s
1419 // MICROMIPS:#define __mips_micromips 1
1420 //
1421 // RUN: %clang_cc1 -target-feature -micromips \
1422 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1423 // RUN:   | FileCheck -check-prefix NOMICROMIPS %s
1424 // NOMICROMIPS-NOT:#define __mips_micromips 1
1425 //
1426 // RUN: %clang_cc1 -target-feature +dsp \
1427 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1428 // RUN:   | FileCheck -check-prefix MIPS-DSP %s
1429 // MIPS-DSP:#define __mips_dsp 1
1430 // MIPS-DSP:#define __mips_dsp_rev 1
1431 // MIPS-DSP-NOT:#define __mips_dspr2 1
1432 //
1433 // RUN: %clang_cc1 -target-feature +dspr2 \
1434 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1435 // RUN:   | FileCheck -check-prefix MIPS-DSPR2 %s
1436 // MIPS-DSPR2:#define __mips_dsp 1
1437 // MIPS-DSPR2:#define __mips_dsp_rev 2
1438 // MIPS-DSPR2:#define __mips_dspr2 1
1439 //
1440 // RUN: %clang_cc1 -target-feature +msa \
1441 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1442 // RUN:   | FileCheck -check-prefix MIPS-MSA %s
1443 // MIPS-MSA:#define __mips_msa 1
1444 //
1445 // RUN: %clang_cc1 -target-feature +nan2008 \
1446 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1447 // RUN:   | FileCheck -check-prefix MIPS-NAN2008 %s
1448 // MIPS-NAN2008:#define __mips_nan2008 1
1449 //
1450 // RUN: %clang_cc1 -target-feature -fp64 \
1451 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1452 // RUN:   | FileCheck -check-prefix MIPS32-MFP32 %s
1453 // MIPS32-MFP32:#define _MIPS_FPSET 16
1454 // MIPS32-MFP32:#define __mips_fpr 32
1455 //
1456 // RUN: %clang_cc1 -target-feature +fp64 \
1457 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1458 // RUN:   | FileCheck -check-prefix MIPS32-MFP64 %s
1459 // MIPS32-MFP64:#define _MIPS_FPSET 32
1460 // MIPS32-MFP64:#define __mips_fpr 64
1461 //
1462 // RUN: %clang_cc1 -target-feature +single-float \
1463 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1464 // RUN:   | FileCheck -check-prefix MIPS32-MFP32SF %s
1465 // MIPS32-MFP32SF:#define _MIPS_FPSET 32
1466 // MIPS32-MFP32SF:#define __mips_fpr 32
1467 //
1468 // RUN: %clang_cc1 -target-feature +fp64 \
1469 // RUN:   -E -dM -triple=mips64-none-none < /dev/null \
1470 // RUN:   | FileCheck -check-prefix MIPS64-MFP64 %s
1471 // MIPS64-MFP64:#define _MIPS_FPSET 32
1472 // MIPS64-MFP64:#define __mips_fpr 64
1473 //
1474 // RUN: %clang_cc1 -target-feature -fp64 -target-feature +single-float \
1475 // RUN:   -E -dM -triple=mips64-none-none < /dev/null \
1476 // RUN:   | FileCheck -check-prefix MIPS64-NOMFP64 %s
1477 // MIPS64-NOMFP64:#define _MIPS_FPSET 32
1478 // MIPS64-NOMFP64:#define __mips_fpr 32
1479 //
1480 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
1481 //
1482 // MSP430:#define MSP430 1
1483 // MSP430-NOT:#define _LP64
1484 // MSP430:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1485 // MSP430:#define __CHAR16_TYPE__ unsigned short
1486 // MSP430:#define __CHAR32_TYPE__ unsigned int
1487 // MSP430:#define __CHAR_BIT__ 8
1488 // MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1489 // MSP430:#define __DBL_DIG__ 15
1490 // MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
1491 // MSP430:#define __DBL_HAS_DENORM__ 1
1492 // MSP430:#define __DBL_HAS_INFINITY__ 1
1493 // MSP430:#define __DBL_HAS_QUIET_NAN__ 1
1494 // MSP430:#define __DBL_MANT_DIG__ 53
1495 // MSP430:#define __DBL_MAX_10_EXP__ 308
1496 // MSP430:#define __DBL_MAX_EXP__ 1024
1497 // MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
1498 // MSP430:#define __DBL_MIN_10_EXP__ (-307)
1499 // MSP430:#define __DBL_MIN_EXP__ (-1021)
1500 // MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
1501 // MSP430:#define __DECIMAL_DIG__ 17
1502 // MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1503 // MSP430:#define __FLT_DIG__ 6
1504 // MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
1505 // MSP430:#define __FLT_EVAL_METHOD__ 0
1506 // MSP430:#define __FLT_HAS_DENORM__ 1
1507 // MSP430:#define __FLT_HAS_INFINITY__ 1
1508 // MSP430:#define __FLT_HAS_QUIET_NAN__ 1
1509 // MSP430:#define __FLT_MANT_DIG__ 24
1510 // MSP430:#define __FLT_MAX_10_EXP__ 38
1511 // MSP430:#define __FLT_MAX_EXP__ 128
1512 // MSP430:#define __FLT_MAX__ 3.40282347e+38F
1513 // MSP430:#define __FLT_MIN_10_EXP__ (-37)
1514 // MSP430:#define __FLT_MIN_EXP__ (-125)
1515 // MSP430:#define __FLT_MIN__ 1.17549435e-38F
1516 // MSP430:#define __FLT_RADIX__ 2
1517 // MSP430:#define __INT16_TYPE__ short
1518 // MSP430:#define __INT32_C_SUFFIX__ L
1519 // MSP430:#define __INT32_TYPE__ long int
1520 // MSP430:#define __INT8_TYPE__ char
1521 // MSP430:#define __INTMAX_MAX__ 9223372036854775807LL
1522 // MSP430:#define __INTMAX_TYPE__ long long int
1523 // MSP430:#define __INTMAX_WIDTH__ 64
1524 // MSP430:#define __INTPTR_TYPE__ int
1525 // MSP430:#define __INTPTR_WIDTH__ 16
1526 // MSP430:#define __INT_MAX__ 32767
1527 // MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
1528 // MSP430:#define __LDBL_DIG__ 15
1529 // MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
1530 // MSP430:#define __LDBL_HAS_DENORM__ 1
1531 // MSP430:#define __LDBL_HAS_INFINITY__ 1
1532 // MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
1533 // MSP430:#define __LDBL_MANT_DIG__ 53
1534 // MSP430:#define __LDBL_MAX_10_EXP__ 308
1535 // MSP430:#define __LDBL_MAX_EXP__ 1024
1536 // MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308L
1537 // MSP430:#define __LDBL_MIN_10_EXP__ (-307)
1538 // MSP430:#define __LDBL_MIN_EXP__ (-1021)
1539 // MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308L
1540 // MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
1541 // MSP430:#define __LONG_MAX__ 2147483647L
1542 // MSP430-NOT:#define __LP64__
1543 // MSP430:#define __MSP430__ 1
1544 // MSP430:#define __POINTER_WIDTH__ 16
1545 // MSP430:#define __PTRDIFF_TYPE__ int
1546 // MSP430:#define __PTRDIFF_WIDTH__ 16
1547 // MSP430:#define __SCHAR_MAX__ 127
1548 // MSP430:#define __SHRT_MAX__ 32767
1549 // MSP430:#define __SIG_ATOMIC_WIDTH__ 32
1550 // MSP430:#define __SIZEOF_DOUBLE__ 8
1551 // MSP430:#define __SIZEOF_FLOAT__ 4
1552 // MSP430:#define __SIZEOF_INT__ 2
1553 // MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
1554 // MSP430:#define __SIZEOF_LONG_LONG__ 8
1555 // MSP430:#define __SIZEOF_LONG__ 4
1556 // MSP430:#define __SIZEOF_POINTER__ 2
1557 // MSP430:#define __SIZEOF_PTRDIFF_T__ 2
1558 // MSP430:#define __SIZEOF_SHORT__ 2
1559 // MSP430:#define __SIZEOF_SIZE_T__ 2
1560 // MSP430:#define __SIZEOF_WCHAR_T__ 2
1561 // MSP430:#define __SIZEOF_WINT_T__ 2
1562 // MSP430:#define __SIZE_MAX__ 65535U
1563 // MSP430:#define __SIZE_TYPE__ unsigned int
1564 // MSP430:#define __SIZE_WIDTH__ 16
1565 // MSP430:#define __UINTMAX_TYPE__ long long unsigned int
1566 // MSP430:#define __USER_LABEL_PREFIX__ _
1567 // MSP430:#define __WCHAR_MAX__ 32767
1568 // MSP430:#define __WCHAR_TYPE__ int
1569 // MSP430:#define __WCHAR_WIDTH__ 16
1570 // MSP430:#define __WINT_TYPE__ int
1571 // MSP430:#define __WINT_WIDTH__ 16
1572 // MSP430:#define __clang__ 1
1573 //
1574 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s
1575 //
1576 // NVPTX32-NOT:#define _LP64
1577 // NVPTX32:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1578 // NVPTX32:#define __CHAR16_TYPE__ unsigned short
1579 // NVPTX32:#define __CHAR32_TYPE__ unsigned int
1580 // NVPTX32:#define __CHAR_BIT__ 8
1581 // NVPTX32:#define __CONSTANT_CFSTRINGS__ 1
1582 // NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1583 // NVPTX32:#define __DBL_DIG__ 15
1584 // NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16
1585 // NVPTX32:#define __DBL_HAS_DENORM__ 1
1586 // NVPTX32:#define __DBL_HAS_INFINITY__ 1
1587 // NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1
1588 // NVPTX32:#define __DBL_MANT_DIG__ 53
1589 // NVPTX32:#define __DBL_MAX_10_EXP__ 308
1590 // NVPTX32:#define __DBL_MAX_EXP__ 1024
1591 // NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308
1592 // NVPTX32:#define __DBL_MIN_10_EXP__ (-307)
1593 // NVPTX32:#define __DBL_MIN_EXP__ (-1021)
1594 // NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308
1595 // NVPTX32:#define __DECIMAL_DIG__ 17
1596 // NVPTX32:#define __FINITE_MATH_ONLY__ 0
1597 // NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1598 // NVPTX32:#define __FLT_DIG__ 6
1599 // NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F
1600 // NVPTX32:#define __FLT_EVAL_METHOD__ 0
1601 // NVPTX32:#define __FLT_HAS_DENORM__ 1
1602 // NVPTX32:#define __FLT_HAS_INFINITY__ 1
1603 // NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1
1604 // NVPTX32:#define __FLT_MANT_DIG__ 24
1605 // NVPTX32:#define __FLT_MAX_10_EXP__ 38
1606 // NVPTX32:#define __FLT_MAX_EXP__ 128
1607 // NVPTX32:#define __FLT_MAX__ 3.40282347e+38F
1608 // NVPTX32:#define __FLT_MIN_10_EXP__ (-37)
1609 // NVPTX32:#define __FLT_MIN_EXP__ (-125)
1610 // NVPTX32:#define __FLT_MIN__ 1.17549435e-38F
1611 // NVPTX32:#define __FLT_RADIX__ 2
1612 // NVPTX32:#define __INT16_TYPE__ short
1613 // NVPTX32:#define __INT32_TYPE__ int
1614 // NVPTX32:#define __INT64_C_SUFFIX__ LL
1615 // NVPTX32:#define __INT64_TYPE__ long long int
1616 // NVPTX32:#define __INT8_TYPE__ char
1617 // NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL
1618 // NVPTX32:#define __INTMAX_TYPE__ long long int
1619 // NVPTX32:#define __INTMAX_WIDTH__ 64
1620 // NVPTX32:#define __INTPTR_TYPE__ unsigned int
1621 // NVPTX32:#define __INTPTR_WIDTH__ 32
1622 // NVPTX32:#define __INT_MAX__ 2147483647
1623 // NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
1624 // NVPTX32:#define __LDBL_DIG__ 15
1625 // NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
1626 // NVPTX32:#define __LDBL_HAS_DENORM__ 1
1627 // NVPTX32:#define __LDBL_HAS_INFINITY__ 1
1628 // NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1
1629 // NVPTX32:#define __LDBL_MANT_DIG__ 53
1630 // NVPTX32:#define __LDBL_MAX_10_EXP__ 308
1631 // NVPTX32:#define __LDBL_MAX_EXP__ 1024
1632 // NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308L
1633 // NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
1634 // NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
1635 // NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308L
1636 // NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL
1637 // NVPTX32:#define __LONG_MAX__ 9223372036854775807L
1638 // NVPTX32-NOT:#define __LP64__
1639 // NVPTX32:#define __NVPTX__ 1
1640 // NVPTX32:#define __POINTER_WIDTH__ 32
1641 // NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1
1642 // NVPTX32:#define __PTRDIFF_TYPE__ unsigned int
1643 // NVPTX32:#define __PTRDIFF_WIDTH__ 32
1644 // NVPTX32:#define __PTX__ 1
1645 // NVPTX32:#define __SCHAR_MAX__ 127
1646 // NVPTX32:#define __SHRT_MAX__ 32767
1647 // NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32
1648 // NVPTX32:#define __SIZEOF_DOUBLE__ 8
1649 // NVPTX32:#define __SIZEOF_FLOAT__ 4
1650 // NVPTX32:#define __SIZEOF_INT__ 4
1651 // NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8
1652 // NVPTX32:#define __SIZEOF_LONG_LONG__ 8
1653 // NVPTX32:#define __SIZEOF_LONG__ 8
1654 // NVPTX32:#define __SIZEOF_POINTER__ 4
1655 // NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4
1656 // NVPTX32:#define __SIZEOF_SHORT__ 2
1657 // NVPTX32:#define __SIZEOF_SIZE_T__ 4
1658 // NVPTX32:#define __SIZEOF_WCHAR_T__ 4
1659 // NVPTX32:#define __SIZEOF_WINT_T__ 4
1660 // NVPTX32:#define __SIZE_MAX__ 4294967295U
1661 // NVPTX32:#define __SIZE_TYPE__ unsigned int
1662 // NVPTX32:#define __SIZE_WIDTH__ 32
1663 // NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int
1664 // NVPTX32:#define __USER_LABEL_PREFIX__ _
1665 // NVPTX32:#define __WCHAR_MAX__ 2147483647
1666 // NVPTX32:#define __WCHAR_TYPE__ int
1667 // NVPTX32:#define __WCHAR_WIDTH__ 32
1668 // NVPTX32:#define __WINT_TYPE__ int
1669 // NVPTX32:#define __WINT_WIDTH__ 32
1670 //
1671 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -check-prefix NVPTX64 %s
1672 //
1673 // NVPTX64:#define _LP64 1
1674 // NVPTX64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1675 // NVPTX64:#define __CHAR16_TYPE__ unsigned short
1676 // NVPTX64:#define __CHAR32_TYPE__ unsigned int
1677 // NVPTX64:#define __CHAR_BIT__ 8
1678 // NVPTX64:#define __CONSTANT_CFSTRINGS__ 1
1679 // NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1680 // NVPTX64:#define __DBL_DIG__ 15
1681 // NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1682 // NVPTX64:#define __DBL_HAS_DENORM__ 1
1683 // NVPTX64:#define __DBL_HAS_INFINITY__ 1
1684 // NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1
1685 // NVPTX64:#define __DBL_MANT_DIG__ 53
1686 // NVPTX64:#define __DBL_MAX_10_EXP__ 308
1687 // NVPTX64:#define __DBL_MAX_EXP__ 1024
1688 // NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308
1689 // NVPTX64:#define __DBL_MIN_10_EXP__ (-307)
1690 // NVPTX64:#define __DBL_MIN_EXP__ (-1021)
1691 // NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308
1692 // NVPTX64:#define __DECIMAL_DIG__ 17
1693 // NVPTX64:#define __FINITE_MATH_ONLY__ 0
1694 // NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1695 // NVPTX64:#define __FLT_DIG__ 6
1696 // NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F
1697 // NVPTX64:#define __FLT_EVAL_METHOD__ 0
1698 // NVPTX64:#define __FLT_HAS_DENORM__ 1
1699 // NVPTX64:#define __FLT_HAS_INFINITY__ 1
1700 // NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1
1701 // NVPTX64:#define __FLT_MANT_DIG__ 24
1702 // NVPTX64:#define __FLT_MAX_10_EXP__ 38
1703 // NVPTX64:#define __FLT_MAX_EXP__ 128
1704 // NVPTX64:#define __FLT_MAX__ 3.40282347e+38F
1705 // NVPTX64:#define __FLT_MIN_10_EXP__ (-37)
1706 // NVPTX64:#define __FLT_MIN_EXP__ (-125)
1707 // NVPTX64:#define __FLT_MIN__ 1.17549435e-38F
1708 // NVPTX64:#define __FLT_RADIX__ 2
1709 // NVPTX64:#define __INT16_TYPE__ short
1710 // NVPTX64:#define __INT32_TYPE__ int
1711 // NVPTX64:#define __INT64_C_SUFFIX__ LL
1712 // NVPTX64:#define __INT64_TYPE__ long long int
1713 // NVPTX64:#define __INT8_TYPE__ char
1714 // NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL
1715 // NVPTX64:#define __INTMAX_TYPE__ long long int
1716 // NVPTX64:#define __INTMAX_WIDTH__ 64
1717 // NVPTX64:#define __INTPTR_TYPE__ long long unsigned int
1718 // NVPTX64:#define __INTPTR_WIDTH__ 64
1719 // NVPTX64:#define __INT_MAX__ 2147483647
1720 // NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
1721 // NVPTX64:#define __LDBL_DIG__ 15
1722 // NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
1723 // NVPTX64:#define __LDBL_HAS_DENORM__ 1
1724 // NVPTX64:#define __LDBL_HAS_INFINITY__ 1
1725 // NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1
1726 // NVPTX64:#define __LDBL_MANT_DIG__ 53
1727 // NVPTX64:#define __LDBL_MAX_10_EXP__ 308
1728 // NVPTX64:#define __LDBL_MAX_EXP__ 1024
1729 // NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308L
1730 // NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
1731 // NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
1732 // NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308L
1733 // NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1734 // NVPTX64:#define __LONG_MAX__ 9223372036854775807L
1735 // NVPTX64:#define __LP64__ 1
1736 // NVPTX64:#define __NVPTX__ 1
1737 // NVPTX64:#define __POINTER_WIDTH__ 64
1738 // NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1
1739 // NVPTX64:#define __PTRDIFF_TYPE__ long long unsigned int
1740 // NVPTX64:#define __PTRDIFF_WIDTH__ 64
1741 // NVPTX64:#define __PTX__ 1
1742 // NVPTX64:#define __SCHAR_MAX__ 127
1743 // NVPTX64:#define __SHRT_MAX__ 32767
1744 // NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32
1745 // NVPTX64:#define __SIZEOF_DOUBLE__ 8
1746 // NVPTX64:#define __SIZEOF_FLOAT__ 4
1747 // NVPTX64:#define __SIZEOF_INT__ 4
1748 // NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8
1749 // NVPTX64:#define __SIZEOF_LONG_LONG__ 8
1750 // NVPTX64:#define __SIZEOF_LONG__ 8
1751 // NVPTX64:#define __SIZEOF_POINTER__ 8
1752 // NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8
1753 // NVPTX64:#define __SIZEOF_SHORT__ 2
1754 // NVPTX64:#define __SIZEOF_SIZE_T__ 8
1755 // NVPTX64:#define __SIZEOF_WCHAR_T__ 4
1756 // NVPTX64:#define __SIZEOF_WINT_T__ 4
1757 // NVPTX64:#define __SIZE_MAX__ 18446744073709551615UL
1758 // NVPTX64:#define __SIZE_TYPE__ long long unsigned int
1759 // NVPTX64:#define __SIZE_WIDTH__ 64
1760 // NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int
1761 // NVPTX64:#define __USER_LABEL_PREFIX__ _
1762 // NVPTX64:#define __WCHAR_MAX__ 2147483647
1763 // NVPTX64:#define __WCHAR_TYPE__ int
1764 // NVPTX64:#define __WCHAR_WIDTH__ 32
1765 // NVPTX64:#define __WINT_TYPE__ int
1766 // NVPTX64:#define __WINT_WIDTH__ 32
1767 //
1768 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -check-prefix PPC603E %s
1769 //
1770 // PPC603E:#define _ARCH_603 1
1771 // PPC603E:#define _ARCH_603E 1
1772 // PPC603E:#define _ARCH_PPC 1
1773 // PPC603E:#define _ARCH_PPCGR 1
1774 // PPC603E:#define _BIG_ENDIAN 1
1775 // PPC603E-NOT:#define _LP64
1776 // PPC603E:#define __BIG_ENDIAN__ 1
1777 // PPC603E:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
1778 // PPC603E:#define __CHAR16_TYPE__ unsigned short
1779 // PPC603E:#define __CHAR32_TYPE__ unsigned int
1780 // PPC603E:#define __CHAR_BIT__ 8
1781 // PPC603E:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1782 // PPC603E:#define __DBL_DIG__ 15
1783 // PPC603E:#define __DBL_EPSILON__ 2.2204460492503131e-16
1784 // PPC603E:#define __DBL_HAS_DENORM__ 1
1785 // PPC603E:#define __DBL_HAS_INFINITY__ 1
1786 // PPC603E:#define __DBL_HAS_QUIET_NAN__ 1
1787 // PPC603E:#define __DBL_MANT_DIG__ 53
1788 // PPC603E:#define __DBL_MAX_10_EXP__ 308
1789 // PPC603E:#define __DBL_MAX_EXP__ 1024
1790 // PPC603E:#define __DBL_MAX__ 1.7976931348623157e+308
1791 // PPC603E:#define __DBL_MIN_10_EXP__ (-307)
1792 // PPC603E:#define __DBL_MIN_EXP__ (-1021)
1793 // PPC603E:#define __DBL_MIN__ 2.2250738585072014e-308
1794 // PPC603E:#define __DECIMAL_DIG__ 33
1795 // PPC603E:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1796 // PPC603E:#define __FLT_DIG__ 6
1797 // PPC603E:#define __FLT_EPSILON__ 1.19209290e-7F
1798 // PPC603E:#define __FLT_EVAL_METHOD__ 0
1799 // PPC603E:#define __FLT_HAS_DENORM__ 1
1800 // PPC603E:#define __FLT_HAS_INFINITY__ 1
1801 // PPC603E:#define __FLT_HAS_QUIET_NAN__ 1
1802 // PPC603E:#define __FLT_MANT_DIG__ 24
1803 // PPC603E:#define __FLT_MAX_10_EXP__ 38
1804 // PPC603E:#define __FLT_MAX_EXP__ 128
1805 // PPC603E:#define __FLT_MAX__ 3.40282347e+38F
1806 // PPC603E:#define __FLT_MIN_10_EXP__ (-37)
1807 // PPC603E:#define __FLT_MIN_EXP__ (-125)
1808 // PPC603E:#define __FLT_MIN__ 1.17549435e-38F
1809 // PPC603E:#define __FLT_RADIX__ 2
1810 // PPC603E:#define __INT16_TYPE__ short
1811 // PPC603E:#define __INT32_TYPE__ int
1812 // PPC603E:#define __INT64_C_SUFFIX__ LL
1813 // PPC603E:#define __INT64_TYPE__ long long int
1814 // PPC603E:#define __INT8_TYPE__ char
1815 // PPC603E:#define __INTMAX_MAX__ 9223372036854775807LL
1816 // PPC603E:#define __INTMAX_TYPE__ long long int
1817 // PPC603E:#define __INTMAX_WIDTH__ 64
1818 // PPC603E:#define __INTPTR_TYPE__ long int
1819 // PPC603E:#define __INTPTR_WIDTH__ 32
1820 // PPC603E:#define __INT_MAX__ 2147483647
1821 // PPC603E:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1822 // PPC603E:#define __LDBL_DIG__ 31
1823 // PPC603E:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1824 // PPC603E:#define __LDBL_HAS_DENORM__ 1
1825 // PPC603E:#define __LDBL_HAS_INFINITY__ 1
1826 // PPC603E:#define __LDBL_HAS_QUIET_NAN__ 1
1827 // PPC603E:#define __LDBL_MANT_DIG__ 106
1828 // PPC603E:#define __LDBL_MAX_10_EXP__ 308
1829 // PPC603E:#define __LDBL_MAX_EXP__ 1024
1830 // PPC603E:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1831 // PPC603E:#define __LDBL_MIN_10_EXP__ (-291)
1832 // PPC603E:#define __LDBL_MIN_EXP__ (-968)
1833 // PPC603E:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1834 // PPC603E:#define __LONG_DOUBLE_128__ 1
1835 // PPC603E:#define __LONG_LONG_MAX__ 9223372036854775807LL
1836 // PPC603E:#define __LONG_MAX__ 2147483647L
1837 // PPC603E-NOT:#define __LP64__
1838 // PPC603E:#define __NATURAL_ALIGNMENT__ 1
1839 // PPC603E:#define __POINTER_WIDTH__ 32
1840 // PPC603E:#define __POWERPC__ 1
1841 // PPC603E:#define __PPC__ 1
1842 // PPC603E:#define __PTRDIFF_TYPE__ long int
1843 // PPC603E:#define __PTRDIFF_WIDTH__ 32
1844 // PPC603E:#define __REGISTER_PREFIX__
1845 // PPC603E:#define __SCHAR_MAX__ 127
1846 // PPC603E:#define __SHRT_MAX__ 32767
1847 // PPC603E:#define __SIG_ATOMIC_WIDTH__ 32
1848 // PPC603E:#define __SIZEOF_DOUBLE__ 8
1849 // PPC603E:#define __SIZEOF_FLOAT__ 4
1850 // PPC603E:#define __SIZEOF_INT__ 4
1851 // PPC603E:#define __SIZEOF_LONG_DOUBLE__ 16
1852 // PPC603E:#define __SIZEOF_LONG_LONG__ 8
1853 // PPC603E:#define __SIZEOF_LONG__ 4
1854 // PPC603E:#define __SIZEOF_POINTER__ 4
1855 // PPC603E:#define __SIZEOF_PTRDIFF_T__ 4
1856 // PPC603E:#define __SIZEOF_SHORT__ 2
1857 // PPC603E:#define __SIZEOF_SIZE_T__ 4
1858 // PPC603E:#define __SIZEOF_WCHAR_T__ 4
1859 // PPC603E:#define __SIZEOF_WINT_T__ 4
1860 // PPC603E:#define __SIZE_MAX__ 4294967295U
1861 // PPC603E:#define __SIZE_TYPE__ long unsigned int
1862 // PPC603E:#define __SIZE_WIDTH__ 32
1863 // PPC603E:#define __UINTMAX_TYPE__ long long unsigned int
1864 // PPC603E:#define __USER_LABEL_PREFIX__ _
1865 // PPC603E:#define __WCHAR_MAX__ 2147483647
1866 // PPC603E:#define __WCHAR_TYPE__ int
1867 // PPC603E:#define __WCHAR_WIDTH__ 32
1868 // PPC603E:#define __WINT_TYPE__ int
1869 // PPC603E:#define __WINT_WIDTH__ 32
1870 // PPC603E:#define __powerpc__ 1
1871 // PPC603E:#define __ppc__ 1
1872 //
1873 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64 %s
1874 //
1875 // PPC64:#define _ARCH_PPC 1
1876 // PPC64:#define _ARCH_PPC64 1
1877 // PPC64:#define _ARCH_PPCGR 1
1878 // PPC64:#define _ARCH_PPCSQ 1
1879 // PPC64:#define _ARCH_PWR4 1
1880 // PPC64:#define _ARCH_PWR5 1
1881 // PPC64:#define _ARCH_PWR6 1
1882 // PPC64:#define _ARCH_PWR7 1
1883 // PPC64:#define _BIG_ENDIAN 1
1884 // PPC64:#define _LP64 1
1885 // PPC64:#define __BIG_ENDIAN__ 1
1886 // PPC64:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
1887 // PPC64:#define __CHAR16_TYPE__ unsigned short
1888 // PPC64:#define __CHAR32_TYPE__ unsigned int
1889 // PPC64:#define __CHAR_BIT__ 8
1890 // PPC64:#define __CHAR_UNSIGNED__ 1
1891 // PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1892 // PPC64:#define __DBL_DIG__ 15
1893 // PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
1894 // PPC64:#define __DBL_HAS_DENORM__ 1
1895 // PPC64:#define __DBL_HAS_INFINITY__ 1
1896 // PPC64:#define __DBL_HAS_QUIET_NAN__ 1
1897 // PPC64:#define __DBL_MANT_DIG__ 53
1898 // PPC64:#define __DBL_MAX_10_EXP__ 308
1899 // PPC64:#define __DBL_MAX_EXP__ 1024
1900 // PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
1901 // PPC64:#define __DBL_MIN_10_EXP__ (-307)
1902 // PPC64:#define __DBL_MIN_EXP__ (-1021)
1903 // PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
1904 // PPC64:#define __DECIMAL_DIG__ 33
1905 // PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1906 // PPC64:#define __FLT_DIG__ 6
1907 // PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
1908 // PPC64:#define __FLT_EVAL_METHOD__ 0
1909 // PPC64:#define __FLT_HAS_DENORM__ 1
1910 // PPC64:#define __FLT_HAS_INFINITY__ 1
1911 // PPC64:#define __FLT_HAS_QUIET_NAN__ 1
1912 // PPC64:#define __FLT_MANT_DIG__ 24
1913 // PPC64:#define __FLT_MAX_10_EXP__ 38
1914 // PPC64:#define __FLT_MAX_EXP__ 128
1915 // PPC64:#define __FLT_MAX__ 3.40282347e+38F
1916 // PPC64:#define __FLT_MIN_10_EXP__ (-37)
1917 // PPC64:#define __FLT_MIN_EXP__ (-125)
1918 // PPC64:#define __FLT_MIN__ 1.17549435e-38F
1919 // PPC64:#define __FLT_RADIX__ 2
1920 // PPC64:#define __INT16_TYPE__ short
1921 // PPC64:#define __INT32_TYPE__ int
1922 // PPC64:#define __INT64_C_SUFFIX__ L
1923 // PPC64:#define __INT64_TYPE__ long int
1924 // PPC64:#define __INT8_TYPE__ char
1925 // PPC64:#define __INTMAX_MAX__ 9223372036854775807L
1926 // PPC64:#define __INTMAX_TYPE__ long int
1927 // PPC64:#define __INTMAX_WIDTH__ 64
1928 // PPC64:#define __INTPTR_TYPE__ long int
1929 // PPC64:#define __INTPTR_WIDTH__ 64
1930 // PPC64:#define __INT_MAX__ 2147483647
1931 // PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1932 // PPC64:#define __LDBL_DIG__ 31
1933 // PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1934 // PPC64:#define __LDBL_HAS_DENORM__ 1
1935 // PPC64:#define __LDBL_HAS_INFINITY__ 1
1936 // PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
1937 // PPC64:#define __LDBL_MANT_DIG__ 106
1938 // PPC64:#define __LDBL_MAX_10_EXP__ 308
1939 // PPC64:#define __LDBL_MAX_EXP__ 1024
1940 // PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1941 // PPC64:#define __LDBL_MIN_10_EXP__ (-291)
1942 // PPC64:#define __LDBL_MIN_EXP__ (-968)
1943 // PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1944 // PPC64:#define __LONG_DOUBLE_128__ 1
1945 // PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
1946 // PPC64:#define __LONG_MAX__ 9223372036854775807L
1947 // PPC64:#define __LP64__ 1
1948 // PPC64:#define __NATURAL_ALIGNMENT__ 1
1949 // PPC64:#define __POINTER_WIDTH__ 64
1950 // PPC64:#define __POWERPC__ 1
1951 // PPC64:#define __PPC64__ 1
1952 // PPC64:#define __PPC__ 1
1953 // PPC64:#define __PTRDIFF_TYPE__ long int
1954 // PPC64:#define __PTRDIFF_WIDTH__ 64
1955 // PPC64:#define __REGISTER_PREFIX__
1956 // PPC64:#define __SCHAR_MAX__ 127
1957 // PPC64:#define __SHRT_MAX__ 32767
1958 // PPC64:#define __SIG_ATOMIC_WIDTH__ 32
1959 // PPC64:#define __SIZEOF_DOUBLE__ 8
1960 // PPC64:#define __SIZEOF_FLOAT__ 4
1961 // PPC64:#define __SIZEOF_INT__ 4
1962 // PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
1963 // PPC64:#define __SIZEOF_LONG_LONG__ 8
1964 // PPC64:#define __SIZEOF_LONG__ 8
1965 // PPC64:#define __SIZEOF_POINTER__ 8
1966 // PPC64:#define __SIZEOF_PTRDIFF_T__ 8
1967 // PPC64:#define __SIZEOF_SHORT__ 2
1968 // PPC64:#define __SIZEOF_SIZE_T__ 8
1969 // PPC64:#define __SIZEOF_WCHAR_T__ 4
1970 // PPC64:#define __SIZEOF_WINT_T__ 4
1971 // PPC64:#define __SIZE_MAX__ 18446744073709551615UL
1972 // PPC64:#define __SIZE_TYPE__ long unsigned int
1973 // PPC64:#define __SIZE_WIDTH__ 64
1974 // PPC64:#define __UINTMAX_TYPE__ long unsigned int
1975 // PPC64:#define __USER_LABEL_PREFIX__ _
1976 // PPC64:#define __WCHAR_MAX__ 2147483647
1977 // PPC64:#define __WCHAR_TYPE__ int
1978 // PPC64:#define __WCHAR_WIDTH__ 32
1979 // PPC64:#define __WINT_TYPE__ int
1980 // PPC64:#define __WINT_WIDTH__ 32
1981 // PPC64:#define __ppc64__ 1
1982 // PPC64:#define __ppc__ 1
1983 //
1984 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64LE %s
1985 //
1986 // PPC64LE:#define _ARCH_PPC 1
1987 // PPC64LE:#define _ARCH_PPC64 1
1988 // PPC64LE:#define _ARCH_PPCGR 1
1989 // PPC64LE:#define _ARCH_PPCSQ 1
1990 // PPC64LE:#define _ARCH_PWR4 1
1991 // PPC64LE:#define _ARCH_PWR5 1
1992 // PPC64LE:#define _ARCH_PWR5X 1
1993 // PPC64LE:#define _ARCH_PWR6 1
1994 // PPC64LE:#define _ARCH_PWR6X 1
1995 // PPC64LE:#define _ARCH_PWR7 1
1996 // PPC64LE:#define _LITTLE_ENDIAN 1
1997 // PPC64LE:#define _LP64 1
1998 // PPC64LE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1999 // PPC64LE:#define __CHAR16_TYPE__ unsigned short
2000 // PPC64LE:#define __CHAR32_TYPE__ unsigned int
2001 // PPC64LE:#define __CHAR_BIT__ 8
2002 // PPC64LE:#define __CHAR_UNSIGNED__ 1
2003 // PPC64LE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2004 // PPC64LE:#define __DBL_DIG__ 15
2005 // PPC64LE:#define __DBL_EPSILON__ 2.2204460492503131e-16
2006 // PPC64LE:#define __DBL_HAS_DENORM__ 1
2007 // PPC64LE:#define __DBL_HAS_INFINITY__ 1
2008 // PPC64LE:#define __DBL_HAS_QUIET_NAN__ 1
2009 // PPC64LE:#define __DBL_MANT_DIG__ 53
2010 // PPC64LE:#define __DBL_MAX_10_EXP__ 308
2011 // PPC64LE:#define __DBL_MAX_EXP__ 1024
2012 // PPC64LE:#define __DBL_MAX__ 1.7976931348623157e+308
2013 // PPC64LE:#define __DBL_MIN_10_EXP__ (-307)
2014 // PPC64LE:#define __DBL_MIN_EXP__ (-1021)
2015 // PPC64LE:#define __DBL_MIN__ 2.2250738585072014e-308
2016 // PPC64LE:#define __DECIMAL_DIG__ 33
2017 // PPC64LE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2018 // PPC64LE:#define __FLT_DIG__ 6
2019 // PPC64LE:#define __FLT_EPSILON__ 1.19209290e-7F
2020 // PPC64LE:#define __FLT_EVAL_METHOD__ 0
2021 // PPC64LE:#define __FLT_HAS_DENORM__ 1
2022 // PPC64LE:#define __FLT_HAS_INFINITY__ 1
2023 // PPC64LE:#define __FLT_HAS_QUIET_NAN__ 1
2024 // PPC64LE:#define __FLT_MANT_DIG__ 24
2025 // PPC64LE:#define __FLT_MAX_10_EXP__ 38
2026 // PPC64LE:#define __FLT_MAX_EXP__ 128
2027 // PPC64LE:#define __FLT_MAX__ 3.40282347e+38F
2028 // PPC64LE:#define __FLT_MIN_10_EXP__ (-37)
2029 // PPC64LE:#define __FLT_MIN_EXP__ (-125)
2030 // PPC64LE:#define __FLT_MIN__ 1.17549435e-38F
2031 // PPC64LE:#define __FLT_RADIX__ 2
2032 // PPC64LE:#define __INT16_TYPE__ short
2033 // PPC64LE:#define __INT32_TYPE__ int
2034 // PPC64LE:#define __INT64_C_SUFFIX__ L
2035 // PPC64LE:#define __INT64_TYPE__ long int
2036 // PPC64LE:#define __INT8_TYPE__ char
2037 // PPC64LE:#define __INTMAX_MAX__ 9223372036854775807L
2038 // PPC64LE:#define __INTMAX_TYPE__ long int
2039 // PPC64LE:#define __INTMAX_WIDTH__ 64
2040 // PPC64LE:#define __INTPTR_TYPE__ long int
2041 // PPC64LE:#define __INTPTR_WIDTH__ 64
2042 // PPC64LE:#define __INT_MAX__ 2147483647
2043 // PPC64LE:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2044 // PPC64LE:#define __LDBL_DIG__ 31
2045 // PPC64LE:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2046 // PPC64LE:#define __LDBL_HAS_DENORM__ 1
2047 // PPC64LE:#define __LDBL_HAS_INFINITY__ 1
2048 // PPC64LE:#define __LDBL_HAS_QUIET_NAN__ 1
2049 // PPC64LE:#define __LDBL_MANT_DIG__ 106
2050 // PPC64LE:#define __LDBL_MAX_10_EXP__ 308
2051 // PPC64LE:#define __LDBL_MAX_EXP__ 1024
2052 // PPC64LE:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2053 // PPC64LE:#define __LDBL_MIN_10_EXP__ (-291)
2054 // PPC64LE:#define __LDBL_MIN_EXP__ (-968)
2055 // PPC64LE:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2056 // PPC64LE:#define __LITTLE_ENDIAN__ 1
2057 // PPC64LE:#define __LONG_DOUBLE_128__ 1
2058 // PPC64LE:#define __LONG_LONG_MAX__ 9223372036854775807LL
2059 // PPC64LE:#define __LONG_MAX__ 9223372036854775807L
2060 // PPC64LE:#define __LP64__ 1
2061 // PPC64LE:#define __NATURAL_ALIGNMENT__ 1
2062 // PPC64LE:#define __POINTER_WIDTH__ 64
2063 // PPC64LE:#define __POWERPC__ 1
2064 // PPC64LE:#define __PPC64__ 1
2065 // PPC64LE:#define __PPC__ 1
2066 // PPC64LE:#define __PTRDIFF_TYPE__ long int
2067 // PPC64LE:#define __PTRDIFF_WIDTH__ 64
2068 // PPC64LE:#define __REGISTER_PREFIX__
2069 // PPC64LE:#define __SCHAR_MAX__ 127
2070 // PPC64LE:#define __SHRT_MAX__ 32767
2071 // PPC64LE:#define __SIG_ATOMIC_WIDTH__ 32
2072 // PPC64LE:#define __SIZEOF_DOUBLE__ 8
2073 // PPC64LE:#define __SIZEOF_FLOAT__ 4
2074 // PPC64LE:#define __SIZEOF_INT__ 4
2075 // PPC64LE:#define __SIZEOF_LONG_DOUBLE__ 16
2076 // PPC64LE:#define __SIZEOF_LONG_LONG__ 8
2077 // PPC64LE:#define __SIZEOF_LONG__ 8
2078 // PPC64LE:#define __SIZEOF_POINTER__ 8
2079 // PPC64LE:#define __SIZEOF_PTRDIFF_T__ 8
2080 // PPC64LE:#define __SIZEOF_SHORT__ 2
2081 // PPC64LE:#define __SIZEOF_SIZE_T__ 8
2082 // PPC64LE:#define __SIZEOF_WCHAR_T__ 4
2083 // PPC64LE:#define __SIZEOF_WINT_T__ 4
2084 // PPC64LE:#define __SIZE_MAX__ 18446744073709551615UL
2085 // PPC64LE:#define __SIZE_TYPE__ long unsigned int
2086 // PPC64LE:#define __SIZE_WIDTH__ 64
2087 // PPC64LE:#define __UINTMAX_TYPE__ long unsigned int
2088 // PPC64LE:#define __USER_LABEL_PREFIX__ _
2089 // PPC64LE:#define __WCHAR_MAX__ 2147483647
2090 // PPC64LE:#define __WCHAR_TYPE__ int
2091 // PPC64LE:#define __WCHAR_WIDTH__ 32
2092 // PPC64LE:#define __WINT_TYPE__ int
2093 // PPC64LE:#define __WINT_WIDTH__ 32
2094 // PPC64LE:#define __ppc64__ 1
2095 // PPC64LE:#define __ppc__ 1
2096 //
2097 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu a2q -fno-signed-char < /dev/null | FileCheck -check-prefix PPCA2Q %s
2098 //
2099 // PPCA2Q:#define _ARCH_A2 1
2100 // PPCA2Q:#define _ARCH_A2Q 1
2101 // PPCA2Q:#define _ARCH_PPC 1
2102 // PPCA2Q:#define _ARCH_PPC64 1
2103 // PPCA2Q:#define _ARCH_QP 1
2104 //
2105 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-bgq-linux -fno-signed-char < /dev/null | FileCheck -check-prefix PPCBGQ %s
2106 //
2107 // PPCBGQ:#define __THW_BLUEGENE__ 1
2108 // PPCBGQ:#define __TOS_BGQ__ 1
2109 // PPCBGQ:#define __bg__ 1
2110 // PPCBGQ:#define __bgq__ 1
2111 //
2112 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu 630 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC630 %s
2113 //
2114 // PPC630:#define _ARCH_630 1
2115 // PPC630:#define _ARCH_PPC 1
2116 // PPC630:#define _ARCH_PPC64 1
2117 // PPC630:#define _ARCH_PPCGR 1
2118 //
2119 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR3 %s
2120 //
2121 // PPCPWR3:#define _ARCH_PPC 1
2122 // PPCPWR3:#define _ARCH_PPC64 1
2123 // PPCPWR3:#define _ARCH_PPCGR 1
2124 //
2125 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER3 %s
2126 //
2127 // PPCPOWER3:#define _ARCH_PPC 1
2128 // PPCPOWER3:#define _ARCH_PPC64 1
2129 // PPCPOWER3:#define _ARCH_PPCGR 1
2130 //
2131 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR4 %s
2132 //
2133 // PPCPWR4:#define _ARCH_PPC 1
2134 // PPCPWR4:#define _ARCH_PPC64 1
2135 // PPCPWR4:#define _ARCH_PPCGR 1
2136 // PPCPWR4:#define _ARCH_PPCSQ 1
2137 // PPCPWR4:#define _ARCH_PWR4 1
2138 //
2139 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER4 %s
2140 //
2141 // PPCPOWER4:#define _ARCH_PPC 1
2142 // PPCPOWER4:#define _ARCH_PPC64 1
2143 // PPCPOWER4:#define _ARCH_PPCGR 1
2144 // PPCPOWER4:#define _ARCH_PPCSQ 1
2145 // PPCPOWER4:#define _ARCH_PWR4 1
2146 //
2147 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5 %s
2148 //
2149 // PPCPWR5:#define _ARCH_PPC 1
2150 // PPCPWR5:#define _ARCH_PPC64 1
2151 // PPCPWR5:#define _ARCH_PPCGR 1
2152 // PPCPWR5:#define _ARCH_PPCSQ 1
2153 // PPCPWR5:#define _ARCH_PWR4 1
2154 // PPCPWR5:#define _ARCH_PWR5 1
2155 //
2156 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5 %s
2157 //
2158 // PPCPOWER5:#define _ARCH_PPC 1
2159 // PPCPOWER5:#define _ARCH_PPC64 1
2160 // PPCPOWER5:#define _ARCH_PPCGR 1
2161 // PPCPOWER5:#define _ARCH_PPCSQ 1
2162 // PPCPOWER5:#define _ARCH_PWR4 1
2163 // PPCPOWER5:#define _ARCH_PWR5 1
2164 //
2165 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5X %s
2166 //
2167 // PPCPWR5X:#define _ARCH_PPC 1
2168 // PPCPWR5X:#define _ARCH_PPC64 1
2169 // PPCPWR5X:#define _ARCH_PPCGR 1
2170 // PPCPWR5X:#define _ARCH_PPCSQ 1
2171 // PPCPWR5X:#define _ARCH_PWR4 1
2172 // PPCPWR5X:#define _ARCH_PWR5 1
2173 // PPCPWR5X:#define _ARCH_PWR5X 1
2174 //
2175 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5X %s
2176 //
2177 // PPCPOWER5X:#define _ARCH_PPC 1
2178 // PPCPOWER5X:#define _ARCH_PPC64 1
2179 // PPCPOWER5X:#define _ARCH_PPCGR 1
2180 // PPCPOWER5X:#define _ARCH_PPCSQ 1
2181 // PPCPOWER5X:#define _ARCH_PWR4 1
2182 // PPCPOWER5X:#define _ARCH_PWR5 1
2183 // PPCPOWER5X:#define _ARCH_PWR5X 1
2184 //
2185 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6 %s
2186 //
2187 // PPCPWR6:#define _ARCH_PPC 1
2188 // PPCPWR6:#define _ARCH_PPC64 1
2189 // PPCPWR6:#define _ARCH_PPCGR 1
2190 // PPCPWR6:#define _ARCH_PPCSQ 1
2191 // PPCPWR6:#define _ARCH_PWR4 1
2192 // PPCPWR6:#define _ARCH_PWR5 1
2193 // PPCPWR6:#define _ARCH_PWR5X 1
2194 // PPCPWR6:#define _ARCH_PWR6 1
2195 //
2196 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6 %s
2197 //
2198 // PPCPOWER6:#define _ARCH_PPC 1
2199 // PPCPOWER6:#define _ARCH_PPC64 1
2200 // PPCPOWER6:#define _ARCH_PPCGR 1
2201 // PPCPOWER6:#define _ARCH_PPCSQ 1
2202 // PPCPOWER6:#define _ARCH_PWR4 1
2203 // PPCPOWER6:#define _ARCH_PWR5 1
2204 // PPCPOWER6:#define _ARCH_PWR5X 1
2205 // PPCPOWER6:#define _ARCH_PWR6 1
2206 //
2207 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6X %s
2208 //
2209 // PPCPWR6X:#define _ARCH_PPC 1
2210 // PPCPWR6X:#define _ARCH_PPC64 1
2211 // PPCPWR6X:#define _ARCH_PPCGR 1
2212 // PPCPWR6X:#define _ARCH_PPCSQ 1
2213 // PPCPWR6X:#define _ARCH_PWR4 1
2214 // PPCPWR6X:#define _ARCH_PWR5 1
2215 // PPCPWR6X:#define _ARCH_PWR5X 1
2216 // PPCPWR6X:#define _ARCH_PWR6 1
2217 // PPCPWR6X:#define _ARCH_PWR6X 1
2218 //
2219 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6X %s
2220 //
2221 // PPCPOWER6X:#define _ARCH_PPC 1
2222 // PPCPOWER6X:#define _ARCH_PPC64 1
2223 // PPCPOWER6X:#define _ARCH_PPCGR 1
2224 // PPCPOWER6X:#define _ARCH_PPCSQ 1
2225 // PPCPOWER6X:#define _ARCH_PWR4 1
2226 // PPCPOWER6X:#define _ARCH_PWR5 1
2227 // PPCPOWER6X:#define _ARCH_PWR5X 1
2228 // PPCPOWER6X:#define _ARCH_PWR6 1
2229 // PPCPOWER6X:#define _ARCH_PWR6X 1
2230 //
2231 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR7 %s
2232 //
2233 // PPCPWR7:#define _ARCH_PPC 1
2234 // PPCPWR7:#define _ARCH_PPC64 1
2235 // PPCPWR7:#define _ARCH_PPCGR 1
2236 // PPCPWR7:#define _ARCH_PPCSQ 1
2237 // PPCPWR7:#define _ARCH_PWR4 1
2238 // PPCPWR7:#define _ARCH_PWR5 1
2239 // PPCPWR7:#define _ARCH_PWR5X 1
2240 // PPCPWR7:#define _ARCH_PWR6 1
2241 // PPCPWR7:#define _ARCH_PWR6X 1
2242 // PPCPWR7:#define _ARCH_PWR7 1
2243 //
2244 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER7 %s
2245 //
2246 // PPCPOWER7:#define _ARCH_PPC 1
2247 // PPCPOWER7:#define _ARCH_PPC64 1
2248 // PPCPOWER7:#define _ARCH_PPCGR 1
2249 // PPCPOWER7:#define _ARCH_PPCSQ 1
2250 // PPCPOWER7:#define _ARCH_PWR4 1
2251 // PPCPOWER7:#define _ARCH_PWR5 1
2252 // PPCPOWER7:#define _ARCH_PWR5X 1
2253 // PPCPOWER7:#define _ARCH_PWR6 1
2254 // PPCPOWER7:#define _ARCH_PWR6X 1
2255 // PPCPOWER7:#define _ARCH_PWR7 1
2256 //
2257 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
2258 //
2259 // PPC64-LINUX:#define _ARCH_PPC 1
2260 // PPC64-LINUX:#define _ARCH_PPC64 1
2261 // PPC64-LINUX:#define _BIG_ENDIAN 1
2262 // PPC64-LINUX:#define _LP64 1
2263 // PPC64-LINUX:#define __BIG_ENDIAN__ 1
2264 // PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2265 // PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
2266 // PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
2267 // PPC64-LINUX:#define __CHAR_BIT__ 8
2268 // PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
2269 // PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2270 // PPC64-LINUX:#define __DBL_DIG__ 15
2271 // PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2272 // PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
2273 // PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
2274 // PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2275 // PPC64-LINUX:#define __DBL_MANT_DIG__ 53
2276 // PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
2277 // PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
2278 // PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2279 // PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2280 // PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2281 // PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2282 // PPC64-LINUX:#define __DECIMAL_DIG__ 33
2283 // PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2284 // PPC64-LINUX:#define __FLT_DIG__ 6
2285 // PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2286 // PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
2287 // PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
2288 // PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
2289 // PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2290 // PPC64-LINUX:#define __FLT_MANT_DIG__ 24
2291 // PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
2292 // PPC64-LINUX:#define __FLT_MAX_EXP__ 128
2293 // PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2294 // PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2295 // PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
2296 // PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2297 // PPC64-LINUX:#define __FLT_RADIX__ 2
2298 // PPC64-LINUX:#define __INT16_TYPE__ short
2299 // PPC64-LINUX:#define __INT32_TYPE__ int
2300 // PPC64-LINUX:#define __INT64_C_SUFFIX__ L
2301 // PPC64-LINUX:#define __INT64_TYPE__ long int
2302 // PPC64-LINUX:#define __INT8_TYPE__ char
2303 // PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2304 // PPC64-LINUX:#define __INTMAX_TYPE__ long int
2305 // PPC64-LINUX:#define __INTMAX_WIDTH__ 64
2306 // PPC64-LINUX:#define __INTPTR_TYPE__ long int
2307 // PPC64-LINUX:#define __INTPTR_WIDTH__ 64
2308 // PPC64-LINUX:#define __INT_MAX__ 2147483647
2309 // PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2310 // PPC64-LINUX:#define __LDBL_DIG__ 31
2311 // PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2312 // PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
2313 // PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2314 // PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2315 // PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
2316 // PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
2317 // PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
2318 // PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2319 // PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2320 // PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
2321 // PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2322 // PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
2323 // PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2324 // PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2325 // PPC64-LINUX:#define __LP64__ 1
2326 // PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
2327 // PPC64-LINUX:#define __POINTER_WIDTH__ 64
2328 // PPC64-LINUX:#define __POWERPC__ 1
2329 // PPC64-LINUX:#define __PPC64__ 1
2330 // PPC64-LINUX:#define __PPC__ 1
2331 // PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
2332 // PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
2333 // PPC64-LINUX:#define __REGISTER_PREFIX__
2334 // PPC64-LINUX:#define __SCHAR_MAX__ 127
2335 // PPC64-LINUX:#define __SHRT_MAX__ 32767
2336 // PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2337 // PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
2338 // PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
2339 // PPC64-LINUX:#define __SIZEOF_INT__ 4
2340 // PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2341 // PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2342 // PPC64-LINUX:#define __SIZEOF_LONG__ 8
2343 // PPC64-LINUX:#define __SIZEOF_POINTER__ 8
2344 // PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2345 // PPC64-LINUX:#define __SIZEOF_SHORT__ 2
2346 // PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
2347 // PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2348 // PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
2349 // PPC64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
2350 // PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
2351 // PPC64-LINUX:#define __SIZE_WIDTH__ 64
2352 // PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2353 // PPC64-LINUX:#define __USER_LABEL_PREFIX__
2354 // PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
2355 // PPC64-LINUX:#define __WCHAR_TYPE__ int
2356 // PPC64-LINUX:#define __WCHAR_WIDTH__ 32
2357 // PPC64-LINUX:#define __WINT_TYPE__ unsigned int
2358 // PPC64-LINUX:#define __WINT_UNSIGNED__ 1
2359 // PPC64-LINUX:#define __WINT_WIDTH__ 32
2360 // PPC64-LINUX:#define __powerpc64__ 1
2361 // PPC64-LINUX:#define __powerpc__ 1
2362 // PPC64-LINUX:#define __ppc64__ 1
2363 // PPC64-LINUX:#define __ppc__ 1
2364 //
2365 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix PPC %s
2366 //
2367 // PPC:#define _ARCH_PPC 1
2368 // PPC:#define _BIG_ENDIAN 1
2369 // PPC-NOT:#define _LP64
2370 // PPC:#define __BIG_ENDIAN__ 1
2371 // PPC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2372 // PPC:#define __CHAR16_TYPE__ unsigned short
2373 // PPC:#define __CHAR32_TYPE__ unsigned int
2374 // PPC:#define __CHAR_BIT__ 8
2375 // PPC:#define __CHAR_UNSIGNED__ 1
2376 // PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2377 // PPC:#define __DBL_DIG__ 15
2378 // PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2379 // PPC:#define __DBL_HAS_DENORM__ 1
2380 // PPC:#define __DBL_HAS_INFINITY__ 1
2381 // PPC:#define __DBL_HAS_QUIET_NAN__ 1
2382 // PPC:#define __DBL_MANT_DIG__ 53
2383 // PPC:#define __DBL_MAX_10_EXP__ 308
2384 // PPC:#define __DBL_MAX_EXP__ 1024
2385 // PPC:#define __DBL_MAX__ 1.7976931348623157e+308
2386 // PPC:#define __DBL_MIN_10_EXP__ (-307)
2387 // PPC:#define __DBL_MIN_EXP__ (-1021)
2388 // PPC:#define __DBL_MIN__ 2.2250738585072014e-308
2389 // PPC:#define __DECIMAL_DIG__ 33
2390 // PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2391 // PPC:#define __FLT_DIG__ 6
2392 // PPC:#define __FLT_EPSILON__ 1.19209290e-7F
2393 // PPC:#define __FLT_EVAL_METHOD__ 0
2394 // PPC:#define __FLT_HAS_DENORM__ 1
2395 // PPC:#define __FLT_HAS_INFINITY__ 1
2396 // PPC:#define __FLT_HAS_QUIET_NAN__ 1
2397 // PPC:#define __FLT_MANT_DIG__ 24
2398 // PPC:#define __FLT_MAX_10_EXP__ 38
2399 // PPC:#define __FLT_MAX_EXP__ 128
2400 // PPC:#define __FLT_MAX__ 3.40282347e+38F
2401 // PPC:#define __FLT_MIN_10_EXP__ (-37)
2402 // PPC:#define __FLT_MIN_EXP__ (-125)
2403 // PPC:#define __FLT_MIN__ 1.17549435e-38F
2404 // PPC:#define __FLT_RADIX__ 2
2405 // PPC:#define __INT16_TYPE__ short
2406 // PPC:#define __INT32_TYPE__ int
2407 // PPC:#define __INT64_C_SUFFIX__ LL
2408 // PPC:#define __INT64_TYPE__ long long int
2409 // PPC:#define __INT8_TYPE__ char
2410 // PPC:#define __INTMAX_MAX__ 9223372036854775807LL
2411 // PPC:#define __INTMAX_TYPE__ long long int
2412 // PPC:#define __INTMAX_WIDTH__ 64
2413 // PPC:#define __INTPTR_TYPE__ long int
2414 // PPC:#define __INTPTR_WIDTH__ 32
2415 // PPC:#define __INT_MAX__ 2147483647
2416 // PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2417 // PPC:#define __LDBL_DIG__ 31
2418 // PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2419 // PPC:#define __LDBL_HAS_DENORM__ 1
2420 // PPC:#define __LDBL_HAS_INFINITY__ 1
2421 // PPC:#define __LDBL_HAS_QUIET_NAN__ 1
2422 // PPC:#define __LDBL_MANT_DIG__ 106
2423 // PPC:#define __LDBL_MAX_10_EXP__ 308
2424 // PPC:#define __LDBL_MAX_EXP__ 1024
2425 // PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2426 // PPC:#define __LDBL_MIN_10_EXP__ (-291)
2427 // PPC:#define __LDBL_MIN_EXP__ (-968)
2428 // PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2429 // PPC:#define __LONG_DOUBLE_128__ 1
2430 // PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2431 // PPC:#define __LONG_MAX__ 2147483647L
2432 // PPC-NOT:#define __LP64__
2433 // PPC:#define __NATURAL_ALIGNMENT__ 1
2434 // PPC:#define __POINTER_WIDTH__ 32
2435 // PPC:#define __POWERPC__ 1
2436 // PPC:#define __PPC__ 1
2437 // PPC:#define __PTRDIFF_TYPE__ long int
2438 // PPC:#define __PTRDIFF_WIDTH__ 32
2439 // PPC:#define __REGISTER_PREFIX__
2440 // PPC:#define __SCHAR_MAX__ 127
2441 // PPC:#define __SHRT_MAX__ 32767
2442 // PPC:#define __SIG_ATOMIC_WIDTH__ 32
2443 // PPC:#define __SIZEOF_DOUBLE__ 8
2444 // PPC:#define __SIZEOF_FLOAT__ 4
2445 // PPC:#define __SIZEOF_INT__ 4
2446 // PPC:#define __SIZEOF_LONG_DOUBLE__ 16
2447 // PPC:#define __SIZEOF_LONG_LONG__ 8
2448 // PPC:#define __SIZEOF_LONG__ 4
2449 // PPC:#define __SIZEOF_POINTER__ 4
2450 // PPC:#define __SIZEOF_PTRDIFF_T__ 4
2451 // PPC:#define __SIZEOF_SHORT__ 2
2452 // PPC:#define __SIZEOF_SIZE_T__ 4
2453 // PPC:#define __SIZEOF_WCHAR_T__ 4
2454 // PPC:#define __SIZEOF_WINT_T__ 4
2455 // PPC:#define __SIZE_MAX__ 4294967295U
2456 // PPC:#define __SIZE_TYPE__ long unsigned int
2457 // PPC:#define __SIZE_WIDTH__ 32
2458 // PPC:#define __UINTMAX_TYPE__ long long unsigned int
2459 // PPC:#define __USER_LABEL_PREFIX__ _
2460 // PPC:#define __WCHAR_MAX__ 2147483647
2461 // PPC:#define __WCHAR_TYPE__ int
2462 // PPC:#define __WCHAR_WIDTH__ 32
2463 // PPC:#define __WINT_TYPE__ int
2464 // PPC:#define __WINT_WIDTH__ 32
2465 // PPC:#define __ppc__ 1
2466 //
2467 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
2468 //
2469 // PPC-LINUX:#define _ARCH_PPC 1
2470 // PPC-LINUX:#define _BIG_ENDIAN 1
2471 // PPC-LINUX-NOT:#define _LP64
2472 // PPC-LINUX:#define __BIG_ENDIAN__ 1
2473 // PPC-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2474 // PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
2475 // PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
2476 // PPC-LINUX:#define __CHAR_BIT__ 8
2477 // PPC-LINUX:#define __CHAR_UNSIGNED__ 1
2478 // PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2479 // PPC-LINUX:#define __DBL_DIG__ 15
2480 // PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2481 // PPC-LINUX:#define __DBL_HAS_DENORM__ 1
2482 // PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
2483 // PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2484 // PPC-LINUX:#define __DBL_MANT_DIG__ 53
2485 // PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
2486 // PPC-LINUX:#define __DBL_MAX_EXP__ 1024
2487 // PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2488 // PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2489 // PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
2490 // PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2491 // PPC-LINUX:#define __DECIMAL_DIG__ 33
2492 // PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2493 // PPC-LINUX:#define __FLT_DIG__ 6
2494 // PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2495 // PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
2496 // PPC-LINUX:#define __FLT_HAS_DENORM__ 1
2497 // PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
2498 // PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2499 // PPC-LINUX:#define __FLT_MANT_DIG__ 24
2500 // PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
2501 // PPC-LINUX:#define __FLT_MAX_EXP__ 128
2502 // PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2503 // PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2504 // PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
2505 // PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2506 // PPC-LINUX:#define __FLT_RADIX__ 2
2507 // PPC-LINUX:#define __INT16_TYPE__ short
2508 // PPC-LINUX:#define __INT32_TYPE__ int
2509 // PPC-LINUX:#define __INT64_C_SUFFIX__ LL
2510 // PPC-LINUX:#define __INT64_TYPE__ long long int
2511 // PPC-LINUX:#define __INT8_TYPE__ char
2512 // PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
2513 // PPC-LINUX:#define __INTMAX_TYPE__ long long int
2514 // PPC-LINUX:#define __INTMAX_WIDTH__ 64
2515 // PPC-LINUX:#define __INTPTR_TYPE__ int
2516 // PPC-LINUX:#define __INTPTR_WIDTH__ 32
2517 // PPC-LINUX:#define __INT_MAX__ 2147483647
2518 // PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2519 // PPC-LINUX:#define __LDBL_DIG__ 31
2520 // PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2521 // PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
2522 // PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
2523 // PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2524 // PPC-LINUX:#define __LDBL_MANT_DIG__ 106
2525 // PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
2526 // PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
2527 // PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2528 // PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2529 // PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
2530 // PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2531 // PPC-LINUX:#define __LONG_DOUBLE_128__ 1
2532 // PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2533 // PPC-LINUX:#define __LONG_MAX__ 2147483647L
2534 // PPC-LINUX-NOT:#define __LP64__
2535 // PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
2536 // PPC-LINUX:#define __POINTER_WIDTH__ 32
2537 // PPC-LINUX:#define __POWERPC__ 1
2538 // PPC-LINUX:#define __PPC__ 1
2539 // PPC-LINUX:#define __PTRDIFF_TYPE__ int
2540 // PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
2541 // PPC-LINUX:#define __REGISTER_PREFIX__
2542 // PPC-LINUX:#define __SCHAR_MAX__ 127
2543 // PPC-LINUX:#define __SHRT_MAX__ 32767
2544 // PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2545 // PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
2546 // PPC-LINUX:#define __SIZEOF_FLOAT__ 4
2547 // PPC-LINUX:#define __SIZEOF_INT__ 4
2548 // PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2549 // PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
2550 // PPC-LINUX:#define __SIZEOF_LONG__ 4
2551 // PPC-LINUX:#define __SIZEOF_POINTER__ 4
2552 // PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
2553 // PPC-LINUX:#define __SIZEOF_SHORT__ 2
2554 // PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
2555 // PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
2556 // PPC-LINUX:#define __SIZEOF_WINT_T__ 4
2557 // PPC-LINUX:#define __SIZE_MAX__ 4294967295U
2558 // PPC-LINUX:#define __SIZE_TYPE__ unsigned int
2559 // PPC-LINUX:#define __SIZE_WIDTH__ 32
2560 // PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
2561 // PPC-LINUX:#define __USER_LABEL_PREFIX__
2562 // PPC-LINUX:#define __WCHAR_MAX__ 2147483647
2563 // PPC-LINUX:#define __WCHAR_TYPE__ int
2564 // PPC-LINUX:#define __WCHAR_WIDTH__ 32
2565 // PPC-LINUX:#define __WINT_TYPE__ unsigned int
2566 // PPC-LINUX:#define __WINT_UNSIGNED__ 1
2567 // PPC-LINUX:#define __WINT_WIDTH__ 32
2568 // PPC-LINUX:#define __powerpc__ 1
2569 // PPC-LINUX:#define __ppc__ 1
2570 //
2571 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-apple-darwin8 < /dev/null | FileCheck -check-prefix PPC-DARWIN %s
2572 //
2573 // PPC-DARWIN:#define _ARCH_PPC 1
2574 // PPC-DARWIN:#define _BIG_ENDIAN 1
2575 // PPC-DARWIN:#define __BIG_ENDIAN__ 1
2576 // PPC-DARWIN:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2577 // PPC-DARWIN:#define __CHAR16_TYPE__ unsigned short
2578 // PPC-DARWIN:#define __CHAR32_TYPE__ unsigned int
2579 // PPC-DARWIN:#define __CHAR_BIT__ 8
2580 // PPC-DARWIN:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2581 // PPC-DARWIN:#define __DBL_DIG__ 15
2582 // PPC-DARWIN:#define __DBL_EPSILON__ 2.2204460492503131e-16
2583 // PPC-DARWIN:#define __DBL_HAS_DENORM__ 1
2584 // PPC-DARWIN:#define __DBL_HAS_INFINITY__ 1
2585 // PPC-DARWIN:#define __DBL_HAS_QUIET_NAN__ 1
2586 // PPC-DARWIN:#define __DBL_MANT_DIG__ 53
2587 // PPC-DARWIN:#define __DBL_MAX_10_EXP__ 308
2588 // PPC-DARWIN:#define __DBL_MAX_EXP__ 1024
2589 // PPC-DARWIN:#define __DBL_MAX__ 1.7976931348623157e+308
2590 // PPC-DARWIN:#define __DBL_MIN_10_EXP__ (-307)
2591 // PPC-DARWIN:#define __DBL_MIN_EXP__ (-1021)
2592 // PPC-DARWIN:#define __DBL_MIN__ 2.2250738585072014e-308
2593 // PPC-DARWIN:#define __DECIMAL_DIG__ 33
2594 // PPC-DARWIN:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2595 // PPC-DARWIN:#define __FLT_DIG__ 6
2596 // PPC-DARWIN:#define __FLT_EPSILON__ 1.19209290e-7F
2597 // PPC-DARWIN:#define __FLT_EVAL_METHOD__ 0
2598 // PPC-DARWIN:#define __FLT_HAS_DENORM__ 1
2599 // PPC-DARWIN:#define __FLT_HAS_INFINITY__ 1
2600 // PPC-DARWIN:#define __FLT_HAS_QUIET_NAN__ 1
2601 // PPC-DARWIN:#define __FLT_MANT_DIG__ 24
2602 // PPC-DARWIN:#define __FLT_MAX_10_EXP__ 38
2603 // PPC-DARWIN:#define __FLT_MAX_EXP__ 128
2604 // PPC-DARWIN:#define __FLT_MAX__ 3.40282347e+38F
2605 // PPC-DARWIN:#define __FLT_MIN_10_EXP__ (-37)
2606 // PPC-DARWIN:#define __FLT_MIN_EXP__ (-125)
2607 // PPC-DARWIN:#define __FLT_MIN__ 1.17549435e-38F
2608 // PPC-DARWIN:#define __FLT_RADIX__ 2
2609 // PPC-DARWIN:#define __INT16_TYPE__ short
2610 // PPC-DARWIN:#define __INT32_TYPE__ int
2611 // PPC-DARWIN:#define __INT64_C_SUFFIX__ LL
2612 // PPC-DARWIN:#define __INT64_TYPE__ long long int
2613 // PPC-DARWIN:#define __INT8_TYPE__ char
2614 // PPC-DARWIN:#define __INTMAX_MAX__ 9223372036854775807LL
2615 // PPC-DARWIN:#define __INTMAX_TYPE__ long long int
2616 // PPC-DARWIN:#define __INTMAX_WIDTH__ 64
2617 // PPC-DARWIN:#define __INTPTR_TYPE__ long int
2618 // PPC-DARWIN:#define __INTPTR_WIDTH__ 32
2619 // PPC-DARWIN:#define __INT_MAX__ 2147483647
2620 // PPC-DARWIN:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2621 // PPC-DARWIN:#define __LDBL_DIG__ 31
2622 // PPC-DARWIN:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2623 // PPC-DARWIN:#define __LDBL_HAS_DENORM__ 1
2624 // PPC-DARWIN:#define __LDBL_HAS_INFINITY__ 1
2625 // PPC-DARWIN:#define __LDBL_HAS_QUIET_NAN__ 1
2626 // PPC-DARWIN:#define __LDBL_MANT_DIG__ 106
2627 // PPC-DARWIN:#define __LDBL_MAX_10_EXP__ 308
2628 // PPC-DARWIN:#define __LDBL_MAX_EXP__ 1024
2629 // PPC-DARWIN:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2630 // PPC-DARWIN:#define __LDBL_MIN_10_EXP__ (-291)
2631 // PPC-DARWIN:#define __LDBL_MIN_EXP__ (-968)
2632 // PPC-DARWIN:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2633 // PPC-DARWIN:#define __LONG_DOUBLE_128__ 1
2634 // PPC-DARWIN:#define __LONG_LONG_MAX__ 9223372036854775807LL
2635 // PPC-DARWIN:#define __LONG_MAX__ 2147483647L
2636 // PPC-DARWIN:#define __MACH__ 1
2637 // PPC-DARWIN:#define __NATURAL_ALIGNMENT__ 1
2638 // PPC-DARWIN:#define __ORDER_BIG_ENDIAN__ 4321
2639 // PPC-DARWIN:#define __ORDER_LITTLE_ENDIAN__ 1234
2640 // PPC-DARWIN:#define __ORDER_PDP_ENDIAN__ 3412
2641 // PPC-DARWIN:#define __POINTER_WIDTH__ 32
2642 // PPC-DARWIN:#define __POWERPC__ 1
2643 // PPC-DARWIN:#define __PPC__ 1
2644 // PPC-DARWIN:#define __PTRDIFF_TYPE__ int
2645 // PPC-DARWIN:#define __PTRDIFF_WIDTH__ 32
2646 // PPC-DARWIN:#define __REGISTER_PREFIX__
2647 // PPC-DARWIN:#define __SCHAR_MAX__ 127
2648 // PPC-DARWIN:#define __SHRT_MAX__ 32767
2649 // PPC-DARWIN:#define __SIG_ATOMIC_WIDTH__ 32
2650 // PPC-DARWIN:#define __SIZEOF_DOUBLE__ 8
2651 // PPC-DARWIN:#define __SIZEOF_FLOAT__ 4
2652 // PPC-DARWIN:#define __SIZEOF_INT__ 4
2653 // PPC-DARWIN:#define __SIZEOF_LONG_DOUBLE__ 16
2654 // PPC-DARWIN:#define __SIZEOF_LONG_LONG__ 8
2655 // PPC-DARWIN:#define __SIZEOF_LONG__ 4
2656 // PPC-DARWIN:#define __SIZEOF_POINTER__ 4
2657 // PPC-DARWIN:#define __SIZEOF_PTRDIFF_T__ 4
2658 // PPC-DARWIN:#define __SIZEOF_SHORT__ 2
2659 // PPC-DARWIN:#define __SIZEOF_SIZE_T__ 4
2660 // PPC-DARWIN:#define __SIZEOF_WCHAR_T__ 4
2661 // PPC-DARWIN:#define __SIZEOF_WINT_T__ 4
2662 // PPC-DARWIN:#define __SIZE_MAX__ 4294967295UL
2663 // PPC-DARWIN:#define __SIZE_TYPE__ long unsigned int
2664 // PPC-DARWIN:#define __SIZE_WIDTH__ 32
2665 // PPC-DARWIN:#define __STDC_HOSTED__ 0
2666 // PPC-DARWIN:#define __STDC_VERSION__ 199901L
2667 // PPC-DARWIN:#define __STDC__ 1
2668 // PPC-DARWIN:#define __UINTMAX_TYPE__ long long unsigned int
2669 // PPC-DARWIN:#define __USER_LABEL_PREFIX__ _
2670 // PPC-DARWIN:#define __WCHAR_MAX__ 2147483647
2671 // PPC-DARWIN:#define __WCHAR_TYPE__ int
2672 // PPC-DARWIN:#define __WCHAR_WIDTH__ 32
2673 // PPC-DARWIN:#define __WINT_TYPE__ int
2674 // PPC-DARWIN:#define __WINT_WIDTH__ 32
2675 // PPC-DARWIN:#define __powerpc__ 1
2676 // PPC-DARWIN:#define __ppc__ 1
2677 //
2678 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=s390x-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix S390X %s
2679 //
2680 // S390X:#define __CHAR16_TYPE__ unsigned short
2681 // S390X:#define __CHAR32_TYPE__ unsigned int
2682 // S390X:#define __CHAR_BIT__ 8
2683 // S390X:#define __CHAR_UNSIGNED__ 1
2684 // S390X:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2685 // S390X:#define __DBL_DIG__ 15
2686 // S390X:#define __DBL_EPSILON__ 2.2204460492503131e-16
2687 // S390X:#define __DBL_HAS_DENORM__ 1
2688 // S390X:#define __DBL_HAS_INFINITY__ 1
2689 // S390X:#define __DBL_HAS_QUIET_NAN__ 1
2690 // S390X:#define __DBL_MANT_DIG__ 53
2691 // S390X:#define __DBL_MAX_10_EXP__ 308
2692 // S390X:#define __DBL_MAX_EXP__ 1024
2693 // S390X:#define __DBL_MAX__ 1.7976931348623157e+308
2694 // S390X:#define __DBL_MIN_10_EXP__ (-307)
2695 // S390X:#define __DBL_MIN_EXP__ (-1021)
2696 // S390X:#define __DBL_MIN__ 2.2250738585072014e-308
2697 // S390X:#define __DECIMAL_DIG__ 36
2698 // S390X:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2699 // S390X:#define __FLT_DIG__ 6
2700 // S390X:#define __FLT_EPSILON__ 1.19209290e-7F
2701 // S390X:#define __FLT_EVAL_METHOD__ 0
2702 // S390X:#define __FLT_HAS_DENORM__ 1
2703 // S390X:#define __FLT_HAS_INFINITY__ 1
2704 // S390X:#define __FLT_HAS_QUIET_NAN__ 1
2705 // S390X:#define __FLT_MANT_DIG__ 24
2706 // S390X:#define __FLT_MAX_10_EXP__ 38
2707 // S390X:#define __FLT_MAX_EXP__ 128
2708 // S390X:#define __FLT_MAX__ 3.40282347e+38F
2709 // S390X:#define __FLT_MIN_10_EXP__ (-37)
2710 // S390X:#define __FLT_MIN_EXP__ (-125)
2711 // S390X:#define __FLT_MIN__ 1.17549435e-38F
2712 // S390X:#define __FLT_RADIX__ 2
2713 // S390X:#define __INT16_TYPE__ short
2714 // S390X:#define __INT32_TYPE__ int
2715 // S390X:#define __INT64_C_SUFFIX__ L
2716 // S390X:#define __INT64_TYPE__ long long int
2717 // S390X:#define __INT8_TYPE__ char
2718 // S390X:#define __INTMAX_MAX__ 9223372036854775807LL
2719 // S390X:#define __INTMAX_TYPE__ long long int
2720 // S390X:#define __INTMAX_WIDTH__ 64
2721 // S390X:#define __INTPTR_TYPE__ long int
2722 // S390X:#define __INTPTR_WIDTH__ 64
2723 // S390X:#define __INT_MAX__ 2147483647
2724 // S390X:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
2725 // S390X:#define __LDBL_DIG__ 33
2726 // S390X:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
2727 // S390X:#define __LDBL_HAS_DENORM__ 1
2728 // S390X:#define __LDBL_HAS_INFINITY__ 1
2729 // S390X:#define __LDBL_HAS_QUIET_NAN__ 1
2730 // S390X:#define __LDBL_MANT_DIG__ 113
2731 // S390X:#define __LDBL_MAX_10_EXP__ 4932
2732 // S390X:#define __LDBL_MAX_EXP__ 16384
2733 // S390X:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
2734 // S390X:#define __LDBL_MIN_10_EXP__ (-4931)
2735 // S390X:#define __LDBL_MIN_EXP__ (-16381)
2736 // S390X:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
2737 // S390X:#define __LONG_LONG_MAX__ 9223372036854775807LL
2738 // S390X:#define __LONG_MAX__ 9223372036854775807L
2739 // S390X:#define __NO_INLINE__ 1
2740 // S390X:#define __POINTER_WIDTH__ 64
2741 // S390X:#define __PTRDIFF_TYPE__ long int
2742 // S390X:#define __PTRDIFF_WIDTH__ 64
2743 // S390X:#define __SCHAR_MAX__ 127
2744 // S390X:#define __SHRT_MAX__ 32767
2745 // S390X:#define __SIG_ATOMIC_WIDTH__ 32
2746 // S390X:#define __SIZEOF_DOUBLE__ 8
2747 // S390X:#define __SIZEOF_FLOAT__ 4
2748 // S390X:#define __SIZEOF_INT__ 4
2749 // S390X:#define __SIZEOF_LONG_DOUBLE__ 16
2750 // S390X:#define __SIZEOF_LONG_LONG__ 8
2751 // S390X:#define __SIZEOF_LONG__ 8
2752 // S390X:#define __SIZEOF_POINTER__ 8
2753 // S390X:#define __SIZEOF_PTRDIFF_T__ 8
2754 // S390X:#define __SIZEOF_SHORT__ 2
2755 // S390X:#define __SIZEOF_SIZE_T__ 8
2756 // S390X:#define __SIZEOF_WCHAR_T__ 4
2757 // S390X:#define __SIZEOF_WINT_T__ 4
2758 // S390X:#define __SIZE_TYPE__ long unsigned int
2759 // S390X:#define __SIZE_WIDTH__ 64
2760 // S390X:#define __UINTMAX_TYPE__ long long unsigned int
2761 // S390X:#define __USER_LABEL_PREFIX__ _
2762 // S390X:#define __WCHAR_MAX__ 2147483647
2763 // S390X:#define __WCHAR_TYPE__ int
2764 // S390X:#define __WCHAR_WIDTH__ 32
2765 // S390X:#define __WINT_TYPE__ int
2766 // S390X:#define __WINT_WIDTH__ 32
2767 // S390X:#define __s390__ 1
2768 // S390X:#define __s390x__ 1
2769 //
2770 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
2771 //
2772 // SPARC-NOT:#define _LP64
2773 // SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2774 // SPARC:#define __CHAR16_TYPE__ unsigned short
2775 // SPARC:#define __CHAR32_TYPE__ unsigned int
2776 // SPARC:#define __CHAR_BIT__ 8
2777 // SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2778 // SPARC:#define __DBL_DIG__ 15
2779 // SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2780 // SPARC:#define __DBL_HAS_DENORM__ 1
2781 // SPARC:#define __DBL_HAS_INFINITY__ 1
2782 // SPARC:#define __DBL_HAS_QUIET_NAN__ 1
2783 // SPARC:#define __DBL_MANT_DIG__ 53
2784 // SPARC:#define __DBL_MAX_10_EXP__ 308
2785 // SPARC:#define __DBL_MAX_EXP__ 1024
2786 // SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
2787 // SPARC:#define __DBL_MIN_10_EXP__ (-307)
2788 // SPARC:#define __DBL_MIN_EXP__ (-1021)
2789 // SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
2790 // SPARC:#define __DECIMAL_DIG__ 17
2791 // SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2792 // SPARC:#define __FLT_DIG__ 6
2793 // SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
2794 // SPARC:#define __FLT_EVAL_METHOD__ 0
2795 // SPARC:#define __FLT_HAS_DENORM__ 1
2796 // SPARC:#define __FLT_HAS_INFINITY__ 1
2797 // SPARC:#define __FLT_HAS_QUIET_NAN__ 1
2798 // SPARC:#define __FLT_MANT_DIG__ 24
2799 // SPARC:#define __FLT_MAX_10_EXP__ 38
2800 // SPARC:#define __FLT_MAX_EXP__ 128
2801 // SPARC:#define __FLT_MAX__ 3.40282347e+38F
2802 // SPARC:#define __FLT_MIN_10_EXP__ (-37)
2803 // SPARC:#define __FLT_MIN_EXP__ (-125)
2804 // SPARC:#define __FLT_MIN__ 1.17549435e-38F
2805 // SPARC:#define __FLT_RADIX__ 2
2806 // SPARC:#define __INT16_TYPE__ short
2807 // SPARC:#define __INT32_TYPE__ int
2808 // SPARC:#define __INT64_C_SUFFIX__ LL
2809 // SPARC:#define __INT64_TYPE__ long long int
2810 // SPARC:#define __INT8_TYPE__ char
2811 // SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
2812 // SPARC:#define __INTMAX_TYPE__ long long int
2813 // SPARC:#define __INTMAX_WIDTH__ 64
2814 // SPARC:#define __INTPTR_TYPE__ long int
2815 // SPARC:#define __INTPTR_WIDTH__ 32
2816 // SPARC:#define __INT_MAX__ 2147483647
2817 // SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
2818 // SPARC:#define __LDBL_DIG__ 15
2819 // SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
2820 // SPARC:#define __LDBL_HAS_DENORM__ 1
2821 // SPARC:#define __LDBL_HAS_INFINITY__ 1
2822 // SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
2823 // SPARC:#define __LDBL_MANT_DIG__ 53
2824 // SPARC:#define __LDBL_MAX_10_EXP__ 308
2825 // SPARC:#define __LDBL_MAX_EXP__ 1024
2826 // SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308L
2827 // SPARC:#define __LDBL_MIN_10_EXP__ (-307)
2828 // SPARC:#define __LDBL_MIN_EXP__ (-1021)
2829 // SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308L
2830 // SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2831 // SPARC:#define __LONG_MAX__ 2147483647L
2832 // SPARC-NOT:#define __LP64__
2833 // SPARC:#define __POINTER_WIDTH__ 32
2834 // SPARC:#define __PTRDIFF_TYPE__ long int
2835 // SPARC:#define __PTRDIFF_WIDTH__ 32
2836 // SPARC:#define __REGISTER_PREFIX__
2837 // SPARC:#define __SCHAR_MAX__ 127
2838 // SPARC:#define __SHRT_MAX__ 32767
2839 // SPARC:#define __SIG_ATOMIC_WIDTH__ 32
2840 // SPARC:#define __SIZEOF_DOUBLE__ 8
2841 // SPARC:#define __SIZEOF_FLOAT__ 4
2842 // SPARC:#define __SIZEOF_INT__ 4
2843 // SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
2844 // SPARC:#define __SIZEOF_LONG_LONG__ 8
2845 // SPARC:#define __SIZEOF_LONG__ 4
2846 // SPARC:#define __SIZEOF_POINTER__ 4
2847 // SPARC:#define __SIZEOF_PTRDIFF_T__ 4
2848 // SPARC:#define __SIZEOF_SHORT__ 2
2849 // SPARC:#define __SIZEOF_SIZE_T__ 4
2850 // SPARC:#define __SIZEOF_WCHAR_T__ 4
2851 // SPARC:#define __SIZEOF_WINT_T__ 4
2852 // SPARC:#define __SIZE_MAX__ 4294967295U
2853 // SPARC:#define __SIZE_TYPE__ long unsigned int
2854 // SPARC:#define __SIZE_WIDTH__ 32
2855 // SPARC:#define __UINTMAX_TYPE__ long long unsigned int
2856 // SPARC:#define __USER_LABEL_PREFIX__ _
2857 // SPARC:#define __VERSION__ "4.2.1 Compatible
2858 // SPARC:#define __WCHAR_MAX__ 2147483647
2859 // SPARC:#define __WCHAR_TYPE__ int
2860 // SPARC:#define __WCHAR_WIDTH__ 32
2861 // SPARC:#define __WINT_TYPE__ int
2862 // SPARC:#define __WINT_WIDTH__ 32
2863 // SPARC:#define __sparc 1
2864 // SPARC:#define __sparc__ 1
2865 // SPARC:#define __sparcv8 1
2866 // SPARC:#define sparc 1
2867 //
2868 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
2869 //
2870 // TCE-NOT:#define _LP64
2871 // TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2872 // TCE:#define __CHAR16_TYPE__ unsigned short
2873 // TCE:#define __CHAR32_TYPE__ unsigned int
2874 // TCE:#define __CHAR_BIT__ 8
2875 // TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45
2876 // TCE:#define __DBL_DIG__ 6
2877 // TCE:#define __DBL_EPSILON__ 1.19209290e-7
2878 // TCE:#define __DBL_HAS_DENORM__ 1
2879 // TCE:#define __DBL_HAS_INFINITY__ 1
2880 // TCE:#define __DBL_HAS_QUIET_NAN__ 1
2881 // TCE:#define __DBL_MANT_DIG__ 24
2882 // TCE:#define __DBL_MAX_10_EXP__ 38
2883 // TCE:#define __DBL_MAX_EXP__ 128
2884 // TCE:#define __DBL_MAX__ 3.40282347e+38
2885 // TCE:#define __DBL_MIN_10_EXP__ (-37)
2886 // TCE:#define __DBL_MIN_EXP__ (-125)
2887 // TCE:#define __DBL_MIN__ 1.17549435e-38
2888 // TCE:#define __DECIMAL_DIG__ -1
2889 // TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2890 // TCE:#define __FLT_DIG__ 6
2891 // TCE:#define __FLT_EPSILON__ 1.19209290e-7F
2892 // TCE:#define __FLT_EVAL_METHOD__ 0
2893 // TCE:#define __FLT_HAS_DENORM__ 1
2894 // TCE:#define __FLT_HAS_INFINITY__ 1
2895 // TCE:#define __FLT_HAS_QUIET_NAN__ 1
2896 // TCE:#define __FLT_MANT_DIG__ 24
2897 // TCE:#define __FLT_MAX_10_EXP__ 38
2898 // TCE:#define __FLT_MAX_EXP__ 128
2899 // TCE:#define __FLT_MAX__ 3.40282347e+38F
2900 // TCE:#define __FLT_MIN_10_EXP__ (-37)
2901 // TCE:#define __FLT_MIN_EXP__ (-125)
2902 // TCE:#define __FLT_MIN__ 1.17549435e-38F
2903 // TCE:#define __FLT_RADIX__ 2
2904 // TCE:#define __INT16_TYPE__ short
2905 // TCE:#define __INT32_TYPE__ int
2906 // TCE:#define __INT8_TYPE__ char
2907 // TCE:#define __INTMAX_MAX__ 2147483647L
2908 // TCE:#define __INTMAX_TYPE__ long int
2909 // TCE:#define __INTMAX_WIDTH__ 32
2910 // TCE:#define __INTPTR_TYPE__ int
2911 // TCE:#define __INTPTR_WIDTH__ 32
2912 // TCE:#define __INT_MAX__ 2147483647
2913 // TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45L
2914 // TCE:#define __LDBL_DIG__ 6
2915 // TCE:#define __LDBL_EPSILON__ 1.19209290e-7L
2916 // TCE:#define __LDBL_HAS_DENORM__ 1
2917 // TCE:#define __LDBL_HAS_INFINITY__ 1
2918 // TCE:#define __LDBL_HAS_QUIET_NAN__ 1
2919 // TCE:#define __LDBL_MANT_DIG__ 24
2920 // TCE:#define __LDBL_MAX_10_EXP__ 38
2921 // TCE:#define __LDBL_MAX_EXP__ 128
2922 // TCE:#define __LDBL_MAX__ 3.40282347e+38L
2923 // TCE:#define __LDBL_MIN_10_EXP__ (-37)
2924 // TCE:#define __LDBL_MIN_EXP__ (-125)
2925 // TCE:#define __LDBL_MIN__ 1.17549435e-38L
2926 // TCE:#define __LONG_LONG_MAX__ 2147483647LL
2927 // TCE:#define __LONG_MAX__ 2147483647L
2928 // TCE-NOT:#define __LP64__
2929 // TCE:#define __POINTER_WIDTH__ 32
2930 // TCE:#define __PTRDIFF_TYPE__ int
2931 // TCE:#define __PTRDIFF_WIDTH__ 32
2932 // TCE:#define __SCHAR_MAX__ 127
2933 // TCE:#define __SHRT_MAX__ 32767
2934 // TCE:#define __SIG_ATOMIC_WIDTH__ 32
2935 // TCE:#define __SIZEOF_DOUBLE__ 4
2936 // TCE:#define __SIZEOF_FLOAT__ 4
2937 // TCE:#define __SIZEOF_INT__ 4
2938 // TCE:#define __SIZEOF_LONG_DOUBLE__ 4
2939 // TCE:#define __SIZEOF_LONG_LONG__ 4
2940 // TCE:#define __SIZEOF_LONG__ 4
2941 // TCE:#define __SIZEOF_POINTER__ 4
2942 // TCE:#define __SIZEOF_PTRDIFF_T__ 4
2943 // TCE:#define __SIZEOF_SHORT__ 2
2944 // TCE:#define __SIZEOF_SIZE_T__ 4
2945 // TCE:#define __SIZEOF_WCHAR_T__ 4
2946 // TCE:#define __SIZEOF_WINT_T__ 4
2947 // TCE:#define __SIZE_MAX__ 4294967295U
2948 // TCE:#define __SIZE_TYPE__ unsigned int
2949 // TCE:#define __SIZE_WIDTH__ 32
2950 // TCE:#define __TCE_V1__ 1
2951 // TCE:#define __TCE__ 1
2952 // TCE:#define __UINTMAX_TYPE__ long unsigned int
2953 // TCE:#define __USER_LABEL_PREFIX__ _
2954 // TCE:#define __WCHAR_MAX__ 2147483647
2955 // TCE:#define __WCHAR_TYPE__ int
2956 // TCE:#define __WCHAR_WIDTH__ 32
2957 // TCE:#define __WINT_TYPE__ int
2958 // TCE:#define __WINT_WIDTH__ 32
2959 // TCE:#define __tce 1
2960 // TCE:#define __tce__ 1
2961 // TCE:#define tce 1
2962 //
2963 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-none-none < /dev/null | FileCheck -check-prefix X86_64 %s
2964 //
2965 // X86_64:#define _LP64 1
2966 // X86_64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
2967 // X86_64:#define __CHAR16_TYPE__ unsigned short
2968 // X86_64:#define __CHAR32_TYPE__ unsigned int
2969 // X86_64:#define __CHAR_BIT__ 8
2970 // X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2971 // X86_64:#define __DBL_DIG__ 15
2972 // X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
2973 // X86_64:#define __DBL_HAS_DENORM__ 1
2974 // X86_64:#define __DBL_HAS_INFINITY__ 1
2975 // X86_64:#define __DBL_HAS_QUIET_NAN__ 1
2976 // X86_64:#define __DBL_MANT_DIG__ 53
2977 // X86_64:#define __DBL_MAX_10_EXP__ 308
2978 // X86_64:#define __DBL_MAX_EXP__ 1024
2979 // X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
2980 // X86_64:#define __DBL_MIN_10_EXP__ (-307)
2981 // X86_64:#define __DBL_MIN_EXP__ (-1021)
2982 // X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
2983 // X86_64:#define __DECIMAL_DIG__ 21
2984 // X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2985 // X86_64:#define __FLT_DIG__ 6
2986 // X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
2987 // X86_64:#define __FLT_EVAL_METHOD__ 0
2988 // X86_64:#define __FLT_HAS_DENORM__ 1
2989 // X86_64:#define __FLT_HAS_INFINITY__ 1
2990 // X86_64:#define __FLT_HAS_QUIET_NAN__ 1
2991 // X86_64:#define __FLT_MANT_DIG__ 24
2992 // X86_64:#define __FLT_MAX_10_EXP__ 38
2993 // X86_64:#define __FLT_MAX_EXP__ 128
2994 // X86_64:#define __FLT_MAX__ 3.40282347e+38F
2995 // X86_64:#define __FLT_MIN_10_EXP__ (-37)
2996 // X86_64:#define __FLT_MIN_EXP__ (-125)
2997 // X86_64:#define __FLT_MIN__ 1.17549435e-38F
2998 // X86_64:#define __FLT_RADIX__ 2
2999 // X86_64:#define __INT16_TYPE__ short
3000 // X86_64:#define __INT32_TYPE__ int
3001 // X86_64:#define __INT64_C_SUFFIX__ L
3002 // X86_64:#define __INT64_TYPE__ long int
3003 // X86_64:#define __INT8_TYPE__ char
3004 // X86_64:#define __INTMAX_MAX__ 9223372036854775807L
3005 // X86_64:#define __INTMAX_TYPE__ long int
3006 // X86_64:#define __INTMAX_WIDTH__ 64
3007 // X86_64:#define __INTPTR_TYPE__ long int
3008 // X86_64:#define __INTPTR_WIDTH__ 64
3009 // X86_64:#define __INT_MAX__ 2147483647
3010 // X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3011 // X86_64:#define __LDBL_DIG__ 18
3012 // X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3013 // X86_64:#define __LDBL_HAS_DENORM__ 1
3014 // X86_64:#define __LDBL_HAS_INFINITY__ 1
3015 // X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
3016 // X86_64:#define __LDBL_MANT_DIG__ 64
3017 // X86_64:#define __LDBL_MAX_10_EXP__ 4932
3018 // X86_64:#define __LDBL_MAX_EXP__ 16384
3019 // X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3020 // X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
3021 // X86_64:#define __LDBL_MIN_EXP__ (-16381)
3022 // X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3023 // X86_64:#define __LITTLE_ENDIAN__ 1
3024 // X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
3025 // X86_64:#define __LONG_MAX__ 9223372036854775807L
3026 // X86_64:#define __LP64__ 1
3027 // X86_64:#define __MMX__ 1
3028 // X86_64:#define __NO_MATH_INLINES 1
3029 // X86_64:#define __POINTER_WIDTH__ 64
3030 // X86_64:#define __PTRDIFF_TYPE__ long int
3031 // X86_64:#define __PTRDIFF_WIDTH__ 64
3032 // X86_64:#define __REGISTER_PREFIX__
3033 // X86_64:#define __SCHAR_MAX__ 127
3034 // X86_64:#define __SHRT_MAX__ 32767
3035 // X86_64:#define __SIG_ATOMIC_WIDTH__ 32
3036 // X86_64:#define __SIZEOF_DOUBLE__ 8
3037 // X86_64:#define __SIZEOF_FLOAT__ 4
3038 // X86_64:#define __SIZEOF_INT__ 4
3039 // X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
3040 // X86_64:#define __SIZEOF_LONG_LONG__ 8
3041 // X86_64:#define __SIZEOF_LONG__ 8
3042 // X86_64:#define __SIZEOF_POINTER__ 8
3043 // X86_64:#define __SIZEOF_PTRDIFF_T__ 8
3044 // X86_64:#define __SIZEOF_SHORT__ 2
3045 // X86_64:#define __SIZEOF_SIZE_T__ 8
3046 // X86_64:#define __SIZEOF_WCHAR_T__ 4
3047 // X86_64:#define __SIZEOF_WINT_T__ 4
3048 // X86_64:#define __SIZE_MAX__ 18446744073709551615UL
3049 // X86_64:#define __SIZE_TYPE__ long unsigned int
3050 // X86_64:#define __SIZE_WIDTH__ 64
3051 // X86_64:#define __SSE2_MATH__ 1
3052 // X86_64:#define __SSE2__ 1
3053 // X86_64:#define __SSE_MATH__ 1
3054 // X86_64:#define __SSE__ 1
3055 // X86_64:#define __UINTMAX_TYPE__ long unsigned int
3056 // X86_64:#define __USER_LABEL_PREFIX__ _
3057 // X86_64:#define __WCHAR_MAX__ 2147483647
3058 // X86_64:#define __WCHAR_TYPE__ int
3059 // X86_64:#define __WCHAR_WIDTH__ 32
3060 // X86_64:#define __WINT_TYPE__ int
3061 // X86_64:#define __WINT_WIDTH__ 32
3062 // X86_64:#define __amd64 1
3063 // X86_64:#define __amd64__ 1
3064 // X86_64:#define __x86_64 1
3065 // X86_64:#define __x86_64__ 1
3066 //
3067 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
3068 //
3069 // X86_64-LINUX:#define _LP64 1
3070 // X86_64-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
3071 // X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
3072 // X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
3073 // X86_64-LINUX:#define __CHAR_BIT__ 8
3074 // X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3075 // X86_64-LINUX:#define __DBL_DIG__ 15
3076 // X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
3077 // X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
3078 // X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
3079 // X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
3080 // X86_64-LINUX:#define __DBL_MANT_DIG__ 53
3081 // X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
3082 // X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
3083 // X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
3084 // X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
3085 // X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
3086 // X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
3087 // X86_64-LINUX:#define __DECIMAL_DIG__ 21
3088 // X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3089 // X86_64-LINUX:#define __FLT_DIG__ 6
3090 // X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
3091 // X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
3092 // X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
3093 // X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
3094 // X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
3095 // X86_64-LINUX:#define __FLT_MANT_DIG__ 24
3096 // X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
3097 // X86_64-LINUX:#define __FLT_MAX_EXP__ 128
3098 // X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
3099 // X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
3100 // X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
3101 // X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
3102 // X86_64-LINUX:#define __FLT_RADIX__ 2
3103 // X86_64-LINUX:#define __INT16_TYPE__ short
3104 // X86_64-LINUX:#define __INT32_TYPE__ int
3105 // X86_64-LINUX:#define __INT64_C_SUFFIX__ L
3106 // X86_64-LINUX:#define __INT64_TYPE__ long int
3107 // X86_64-LINUX:#define __INT8_TYPE__ char
3108 // X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
3109 // X86_64-LINUX:#define __INTMAX_TYPE__ long int
3110 // X86_64-LINUX:#define __INTMAX_WIDTH__ 64
3111 // X86_64-LINUX:#define __INTPTR_TYPE__ long int
3112 // X86_64-LINUX:#define __INTPTR_WIDTH__ 64
3113 // X86_64-LINUX:#define __INT_MAX__ 2147483647
3114 // X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3115 // X86_64-LINUX:#define __LDBL_DIG__ 18
3116 // X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3117 // X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
3118 // X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
3119 // X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
3120 // X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
3121 // X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
3122 // X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
3123 // X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3124 // X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
3125 // X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
3126 // X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3127 // X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
3128 // X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
3129 // X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
3130 // X86_64-LINUX:#define __LP64__ 1
3131 // X86_64-LINUX:#define __MMX__ 1
3132 // X86_64-LINUX:#define __NO_MATH_INLINES 1
3133 // X86_64-LINUX:#define __POINTER_WIDTH__ 64
3134 // X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
3135 // X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
3136 // X86_64-LINUX:#define __REGISTER_PREFIX__
3137 // X86_64-LINUX:#define __SCHAR_MAX__ 127
3138 // X86_64-LINUX:#define __SHRT_MAX__ 32767
3139 // X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
3140 // X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
3141 // X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
3142 // X86_64-LINUX:#define __SIZEOF_INT__ 4
3143 // X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
3144 // X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
3145 // X86_64-LINUX:#define __SIZEOF_LONG__ 8
3146 // X86_64-LINUX:#define __SIZEOF_POINTER__ 8
3147 // X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
3148 // X86_64-LINUX:#define __SIZEOF_SHORT__ 2
3149 // X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
3150 // X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
3151 // X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
3152 // X86_64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
3153 // X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
3154 // X86_64-LINUX:#define __SIZE_WIDTH__ 64
3155 // X86_64-LINUX:#define __SSE2_MATH__ 1
3156 // X86_64-LINUX:#define __SSE2__ 1
3157 // X86_64-LINUX:#define __SSE_MATH__ 1
3158 // X86_64-LINUX:#define __SSE__ 1
3159 // X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
3160 // X86_64-LINUX:#define __USER_LABEL_PREFIX__
3161 // X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
3162 // X86_64-LINUX:#define __WCHAR_TYPE__ int
3163 // X86_64-LINUX:#define __WCHAR_WIDTH__ 32
3164 // X86_64-LINUX:#define __WINT_TYPE__ unsigned int
3165 // X86_64-LINUX:#define __WINT_WIDTH__ 32
3166 // X86_64-LINUX:#define __amd64 1
3167 // X86_64-LINUX:#define __amd64__ 1
3168 // X86_64-LINUX:#define __x86_64 1
3169 // X86_64-LINUX:#define __x86_64__ 1
3170 //
3171 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-unknown-freebsd9.1 < /dev/null | FileCheck -check-prefix X86_64-FREEBSD %s
3172 //
3173 // X86_64-FREEBSD:#define __FreeBSD__ 9
3174 // X86_64-FREEBSD:#define __FreeBSD_cc_version 900001
3175 // X86_64-FREEBSD:#define __STDC_MB_MIGHT_NEQ_WC__ 1
3176 //
3177 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-netbsd < /dev/null | FileCheck -check-prefix X86_64-NETBSD %s
3178 //
3179 // X86_64-NETBSD:#define _LP64 1
3180 // X86_64-NETBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
3181 // X86_64-NETBSD:#define __CHAR16_TYPE__ unsigned short
3182 // X86_64-NETBSD:#define __CHAR32_TYPE__ unsigned int
3183 // X86_64-NETBSD:#define __CHAR_BIT__ 8
3184 // X86_64-NETBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
3185 // X86_64-NETBSD:#define __DBL_DIG__ 15
3186 // X86_64-NETBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
3187 // X86_64-NETBSD:#define __DBL_HAS_DENORM__ 1
3188 // X86_64-NETBSD:#define __DBL_HAS_INFINITY__ 1
3189 // X86_64-NETBSD:#define __DBL_HAS_QUIET_NAN__ 1
3190 // X86_64-NETBSD:#define __DBL_MANT_DIG__ 53
3191 // X86_64-NETBSD:#define __DBL_MAX_10_EXP__ 308
3192 // X86_64-NETBSD:#define __DBL_MAX_EXP__ 1024
3193 // X86_64-NETBSD:#define __DBL_MAX__ 1.7976931348623157e+308
3194 // X86_64-NETBSD:#define __DBL_MIN_10_EXP__ (-307)
3195 // X86_64-NETBSD:#define __DBL_MIN_EXP__ (-1021)
3196 // X86_64-NETBSD:#define __DBL_MIN__ 2.2250738585072014e-308
3197 // X86_64-NETBSD:#define __DECIMAL_DIG__ 21
3198 // X86_64-NETBSD:#define __FLT_DENORM_MIN__ 1.40129846e-45F
3199 // X86_64-NETBSD:#define __FLT_DIG__ 6
3200 // X86_64-NETBSD:#define __FLT_EPSILON__ 1.19209290e-7F
3201 // X86_64-NETBSD:#define __FLT_EVAL_METHOD__ 0
3202 // X86_64-NETBSD:#define __FLT_HAS_DENORM__ 1
3203 // X86_64-NETBSD:#define __FLT_HAS_INFINITY__ 1
3204 // X86_64-NETBSD:#define __FLT_HAS_QUIET_NAN__ 1
3205 // X86_64-NETBSD:#define __FLT_MANT_DIG__ 24
3206 // X86_64-NETBSD:#define __FLT_MAX_10_EXP__ 38
3207 // X86_64-NETBSD:#define __FLT_MAX_EXP__ 128
3208 // X86_64-NETBSD:#define __FLT_MAX__ 3.40282347e+38F
3209 // X86_64-NETBSD:#define __FLT_MIN_10_EXP__ (-37)
3210 // X86_64-NETBSD:#define __FLT_MIN_EXP__ (-125)
3211 // X86_64-NETBSD:#define __FLT_MIN__ 1.17549435e-38F
3212 // X86_64-NETBSD:#define __FLT_RADIX__ 2
3213 // X86_64-NETBSD:#define __INT16_TYPE__ short
3214 // X86_64-NETBSD:#define __INT32_TYPE__ int
3215 // X86_64-NETBSD:#define __INT64_C_SUFFIX__ L
3216 // X86_64-NETBSD:#define __INT64_TYPE__ long int
3217 // X86_64-NETBSD:#define __INT8_TYPE__ char
3218 // X86_64-NETBSD:#define __INTMAX_MAX__ 9223372036854775807L
3219 // X86_64-NETBSD:#define __INTMAX_TYPE__ long int
3220 // X86_64-NETBSD:#define __INTMAX_WIDTH__ 64
3221 // X86_64-NETBSD:#define __INTPTR_TYPE__ long int
3222 // X86_64-NETBSD:#define __INTPTR_WIDTH__ 64
3223 // X86_64-NETBSD:#define __INT_MAX__ 2147483647
3224 // X86_64-NETBSD:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
3225 // X86_64-NETBSD:#define __LDBL_DIG__ 18
3226 // X86_64-NETBSD:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
3227 // X86_64-NETBSD:#define __LDBL_HAS_DENORM__ 1
3228 // X86_64-NETBSD:#define __LDBL_HAS_INFINITY__ 1
3229 // X86_64-NETBSD:#define __LDBL_HAS_QUIET_NAN__ 1
3230 // X86_64-NETBSD:#define __LDBL_MANT_DIG__ 64
3231 // X86_64-NETBSD:#define __LDBL_MAX_10_EXP__ 4932
3232 // X86_64-NETBSD:#define __LDBL_MAX_EXP__ 16384
3233 // X86_64-NETBSD:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
3234 // X86_64-NETBSD:#define __LDBL_MIN_10_EXP__ (-4931)
3235 // X86_64-NETBSD:#define __LDBL_MIN_EXP__ (-16381)
3236 // X86_64-NETBSD:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
3237 // X86_64-NETBSD:#define __LITTLE_ENDIAN__ 1
3238 // X86_64-NETBSD:#define __LONG_LONG_MAX__ 9223372036854775807LL
3239 // X86_64-NETBSD:#define __LONG_MAX__ 9223372036854775807L
3240 // X86_64-NETBSD:#define __LP64__ 1
3241 // X86_64-NETBSD:#define __MMX__ 1
3242 // X86_64-NETBSD:#define __NO_MATH_INLINES 1
3243 // X86_64-NETBSD:#define __POINTER_WIDTH__ 64
3244 // X86_64-NETBSD:#define __PTRDIFF_TYPE__ long int
3245 // X86_64-NETBSD:#define __PTRDIFF_WIDTH__ 64
3246 // X86_64-NETBSD:#define __REGISTER_PREFIX__
3247 // X86_64-NETBSD:#define __SCHAR_MAX__ 127
3248 // X86_64-NETBSD:#define __SHRT_MAX__ 32767
3249 // X86_64-NETBSD:#define __SIG_ATOMIC_WIDTH__ 32
3250 // X86_64-NETBSD:#define __SIZEOF_DOUBLE__ 8
3251 // X86_64-NETBSD:#define __SIZEOF_FLOAT__ 4
3252 // X86_64-NETBSD:#define __SIZEOF_INT__ 4
3253 // X86_64-NETBSD:#define __SIZEOF_LONG_DOUBLE__ 16
3254 // X86_64-NETBSD:#define __SIZEOF_LONG_LONG__ 8
3255 // X86_64-NETBSD:#define __SIZEOF_LONG__ 8
3256 // X86_64-NETBSD:#define __SIZEOF_POINTER__ 8
3257 // X86_64-NETBSD:#define __SIZEOF_PTRDIFF_T__ 8
3258 // X86_64-NETBSD:#define __SIZEOF_SHORT__ 2
3259 // X86_64-NETBSD:#define __SIZEOF_SIZE_T__ 8
3260 // X86_64-NETBSD:#define __SIZEOF_WCHAR_T__ 4
3261 // X86_64-NETBSD:#define __SIZEOF_WINT_T__ 4
3262 // X86_64-NETBSD:#define __SIZE_MAX__ 18446744073709551615UL
3263 // X86_64-NETBSD:#define __SIZE_TYPE__ long unsigned int
3264 // X86_64-NETBSD:#define __SIZE_WIDTH__ 64
3265 // X86_64-NETBSD:#define __SSE2_MATH__ 1
3266 // X86_64-NETBSD:#define __SSE2__ 1
3267 // X86_64-NETBSD:#define __SSE_MATH__ 1
3268 // X86_64-NETBSD:#define __SSE__ 1
3269 // X86_64-NETBSD:#define __UINTMAX_TYPE__ long unsigned int
3270 // X86_64-NETBSD:#define __USER_LABEL_PREFIX__
3271 // X86_64-NETBSD:#define __WCHAR_MAX__ 2147483647
3272 // X86_64-NETBSD:#define __WCHAR_TYPE__ int
3273 // X86_64-NETBSD:#define __WCHAR_WIDTH__ 32
3274 // X86_64-NETBSD:#define __WINT_TYPE__ int
3275 // X86_64-NETBSD:#define __WINT_WIDTH__ 32
3276 // X86_64-NETBSD:#define __amd64 1
3277 // X86_64-NETBSD:#define __amd64__ 1
3278 // X86_64-NETBSD:#define __x86_64 1
3279 // X86_64-NETBSD:#define __x86_64__ 1
3280 //
3281 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-none < /dev/null | FileCheck -check-prefix SPARCV9 %s
3282 // SPARCV9:#define __INT64_TYPE__ long int
3283 // SPARCV9:#define __INTMAX_TYPE__ long int
3284 // SPARCV9:#define __INTPTR_TYPE__ long int
3285 // SPARCV9:#define __LONG_MAX__ 9223372036854775807L
3286 // SPARCV9:#define __LP64__ 1
3287 // SPARCV9:#define __SIZEOF_LONG__ 8
3288 // SPARCV9:#define __SIZEOF_POINTER__ 8
3289 //
3290 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-openbsd < /dev/null | FileCheck -check-prefix SPARC64-OBSD %s
3291 // SPARC64-OBSD:#define __INT64_TYPE__ long long int
3292 // SPARC64-OBSD:#define __INTMAX_TYPE__ long long int
3293 // SPARC64-OBSD:#define __UINTMAX_TYPE__ long long unsigned int
3294 //
3295 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSD-DEFINE %s
3296 // KFREEBSD-DEFINE:#define __FreeBSD_kernel__ 1
3297 // KFREEBSD-DEFINE:#define __GLIBC__ 1
3298 //
3299 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=i686-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSDI686-DEFINE %s
3300 // KFREEBSDI686-DEFINE:#define __FreeBSD_kernel__ 1
3301 // KFREEBSDI686-DEFINE:#define __GLIBC__ 1
3302 //
3303 // RUN: %clang_cc1 -x c++ -triple i686-pc-linux-gnu -fobjc-runtime=gcc -E -dM < /dev/null | FileCheck -check-prefix GNUSOURCE %s
3304 // GNUSOURCE:#define _GNU_SOURCE 1
3305 //
3306 // RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
3307 // NORTTI: __GXX_ABI_VERSION
3308 // NORTTI-NOT:#define __GXX_RTTI
3309 // NORTTI: __STDC__
3310 //
3311 // RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
3312 // ANDROID: __ANDROID__ 1
3313 //
3314 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd < /dev/null | FileCheck -check-prefix PPC64-FREEBSD %s
3315 // PPC64-FREEBSD-NOT: #define __LONG_DOUBLE_128__ 1
3316 //
3317 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=xcore-none-none < /dev/null | FileCheck -check-prefix XCORE %s
3318 // XCORE:#define __XS1B__ 1
3319