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