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