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