1 // RUN: %clang_cc1 -E -dM -x assembler-with-cpp < /dev/null | FileCheck -check-prefix ASM %s
2 //
3 // ASM:#define __ASSEMBLER__ 1
4 //
5 //
6 // RUN: %clang_cc1 -fblocks -E -dM < /dev/null | FileCheck -check-prefix BLOCKS %s
7 //
8 // BLOCKS:#define __BLOCKS__ 1
9 // BLOCKS:#define __block __attribute__((__blocks__(byref)))
10 //
11 //
12 // RUN: %clang_cc1 -x c++ -std=c++11 -E -dM < /dev/null | FileCheck -check-prefix CXX11 %s
13 //
14 // CXX11:#define __GNUG__
15 // CXX11:#define __GXX_EXPERIMENTAL_CXX0X__ 1
16 // CXX11:#define __GXX_RTTI 1
17 // CXX11:#define __GXX_WEAK__ 1
18 // CXX11:#define __cplusplus 201103L
19 // CXX11:#define __private_extern__ extern
20 //
21 //
22 // RUN: %clang_cc1 -x c++ -std=c++98 -E -dM < /dev/null | FileCheck -check-prefix CXX98 %s
23 //
24 // CXX98:#define __GNUG__
25 // CXX98:#define __GXX_RTTI 1
26 // CXX98:#define __GXX_WEAK__ 1
27 // CXX98:#define __cplusplus 199711L
28 // CXX98:#define __private_extern__ extern
29 //
30 //
31 // RUN: %clang_cc1 -fdeprecated-macro -E -dM < /dev/null | FileCheck -check-prefix DEPRECATED %s
32 //
33 // DEPRECATED:#define __DEPRECATED 1
34 //
35 //
36 // RUN: %clang_cc1 -std=c99 -E -dM < /dev/null | FileCheck -check-prefix C99 %s
37 //
38 // C99:#define __STDC_VERSION__ 199901L
39 // C99:#define __STRICT_ANSI__ 1
40 //
41 //
42 // RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix COMMON %s
43 //
44 // COMMON:#define __CONSTANT_CFSTRINGS__ 1
45 // COMMON:#define __FINITE_MATH_ONLY__ 0
46 // COMMON:#define __GNUC_MINOR__
47 // COMMON:#define __GNUC_PATCHLEVEL__
48 // COMMON:#define __GNUC_STDC_INLINE__ 1
49 // COMMON:#define __GNUC__
50 // COMMON:#define __GXX_ABI_VERSION
51 // COMMON:#define __ORDER_BIG_ENDIAN__ 4321
52 // COMMON:#define __ORDER_LITTLE_ENDIAN__ 1234
53 // COMMON:#define __ORDER_PDP_ENDIAN__ 3412
54 // COMMON:#define __STDC_HOSTED__ 1
55 // COMMON:#define __STDC_VERSION__
56 // COMMON:#define __STDC__ 1
57 // COMMON:#define __VERSION__
58 // COMMON:#define __clang__ 1
59 // COMMON:#define __clang_major__ {{[0-9]+}}
60 // COMMON:#define __clang_minor__ {{[0-9]+}}
61 // COMMON:#define __clang_patchlevel__ {{[0-9]+}}
62 // COMMON:#define __clang_version__
63 // COMMON:#define __llvm__ 1
64 //
65 //
66 // RUN: %clang_cc1 -ffreestanding -E -dM < /dev/null | FileCheck -check-prefix FREESTANDING %s
67 // FREESTANDING:#define __STDC_HOSTED__ 0
68 //
69 //
70 // RUN: %clang_cc1 -x c++ -std=gnu++11 -E -dM < /dev/null | FileCheck -check-prefix GXX11 %s
71 //
72 // GXX11:#define __GNUG__
73 // GXX11:#define __GXX_WEAK__ 1
74 // GXX11:#define __cplusplus 201103L
75 // GXX11:#define __private_extern__ extern
76 //
77 //
78 // RUN: %clang_cc1 -x c++ -std=gnu++98 -E -dM < /dev/null | FileCheck -check-prefix GXX98 %s
79 //
80 // GXX98:#define __GNUG__
81 // GXX98:#define __GXX_WEAK__ 1
82 // GXX98:#define __cplusplus 199711L
83 // GXX98:#define __private_extern__ extern
84 //
85 //
86 // RUN: %clang_cc1 -std=iso9899:199409 -E -dM < /dev/null | FileCheck -check-prefix C94 %s
87 //
88 // C94:#define __STDC_VERSION__ 199409L
89 //
90 //
91 // RUN: %clang_cc1 -fms-extensions -triple i686-pc-win32 -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-324L
216 // ARM:#define __LDBL_DIG__ 15
217 // ARM:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
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+308L
225 // ARM:#define __LDBL_MIN_10_EXP__ (-307)
226 // ARM:#define __LDBL_MIN_EXP__ (-1021)
227 // ARM:#define __LDBL_MIN__ 2.2250738585072014e-308L
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-324L
319 // ARMEABISOFTFP:#define __LDBL_DIG__ 15
320 // ARMEABISOFTFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
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+308L
328 // ARMEABISOFTFP:#define __LDBL_MIN_10_EXP__ (-307)
329 // ARMEABISOFTFP:#define __LDBL_MIN_EXP__ (-1021)
330 // ARMEABISOFTFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
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-324L
423 // ARMEABIHARDFP:#define __LDBL_DIG__ 15
424 // ARMEABIHARDFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
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+308L
432 // ARMEABIHARDFP:#define __LDBL_MIN_10_EXP__ (-307)
433 // ARMEABIHARDFP:#define __LDBL_MIN_EXP__ (-1021)
434 // ARMEABIHARDFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
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-324L
725 // MIPS32BE:#define __LDBL_DIG__ 15
726 // MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
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+308L
734 // MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307)
735 // MIPS32BE:#define __LDBL_MIN_EXP__ (-1021)
736 // MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308L
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-324L
841 // MIPS32EL:#define __LDBL_DIG__ 15
842 // MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
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+308L
850 // MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307)
851 // MIPS32EL:#define __LDBL_MIN_EXP__ (-1021)
852 // MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308L
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-324L
1218 // MSP430:#define __LDBL_DIG__ 15
1219 // MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
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+308L
1227 // MSP430:#define __LDBL_MIN_10_EXP__ (-307)
1228 // MSP430:#define __LDBL_MIN_EXP__ (-1021)
1229 // MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308L
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-324L
1313 // NVPTX32:#define __LDBL_DIG__ 15
1314 // NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
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+308L
1322 // NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
1323 // NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
1324 // NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308L
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-324L
1409 // NVPTX64:#define __LDBL_DIG__ 15
1410 // NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
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+308L
1418 // NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
1419 // NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
1420 // NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308L
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-none-none -target-cpu a2q -fno-signed-char < /dev/null | FileCheck -check-prefix PPCA2Q %s
1667 //
1668 // PPCA2Q:#define _ARCH_A2 1
1669 // PPCA2Q:#define _ARCH_A2Q 1
1670 // PPCA2Q:#define _ARCH_PPC 1
1671 // PPCA2Q:#define _ARCH_PPC64 1
1672 // PPCA2Q:#define _ARCH_QP 1
1673 //
1674 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-bgq-linux -fno-signed-char < /dev/null | FileCheck -check-prefix PPCBGQ %s
1675 //
1676 // PPCBGQ:#define __THW_BLUEGENE__ 1
1677 // PPCBGQ:#define __TOS_BGQ__ 1
1678 // PPCBGQ:#define __bg__ 1
1679 // PPCBGQ:#define __bgq__ 1
1680 //
1681 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu 630 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC630 %s
1682 //
1683 // PPC630:#define _ARCH_630 1
1684 // PPC630:#define _ARCH_PPC 1
1685 // PPC630:#define _ARCH_PPC64 1
1686 // PPC630:#define _ARCH_PPCGR 1
1687 //
1688 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR3 %s
1689 //
1690 // PPCPWR3:#define _ARCH_PPC 1
1691 // PPCPWR3:#define _ARCH_PPC64 1
1692 // PPCPWR3:#define _ARCH_PPCGR 1
1693 //
1694 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER3 %s
1695 //
1696 // PPCPOWER3:#define _ARCH_PPC 1
1697 // PPCPOWER3:#define _ARCH_PPC64 1
1698 // PPCPOWER3:#define _ARCH_PPCGR 1
1699 //
1700 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR4 %s
1701 //
1702 // PPCPWR4:#define _ARCH_PPC 1
1703 // PPCPWR4:#define _ARCH_PPC64 1
1704 // PPCPWR4:#define _ARCH_PPCGR 1
1705 // PPCPWR4:#define _ARCH_PPCSQ 1
1706 // PPCPWR4:#define _ARCH_PWR4 1
1707 //
1708 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER4 %s
1709 //
1710 // PPCPOWER4:#define _ARCH_PPC 1
1711 // PPCPOWER4:#define _ARCH_PPC64 1
1712 // PPCPOWER4:#define _ARCH_PPCGR 1
1713 // PPCPOWER4:#define _ARCH_PPCSQ 1
1714 // PPCPOWER4:#define _ARCH_PWR4 1
1715 //
1716 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5 %s
1717 //
1718 // PPCPWR5:#define _ARCH_PPC 1
1719 // PPCPWR5:#define _ARCH_PPC64 1
1720 // PPCPWR5:#define _ARCH_PPCGR 1
1721 // PPCPWR5:#define _ARCH_PPCSQ 1
1722 // PPCPWR5:#define _ARCH_PWR4 1
1723 // PPCPWR5:#define _ARCH_PWR5 1
1724 //
1725 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5 %s
1726 //
1727 // PPCPOWER5:#define _ARCH_PPC 1
1728 // PPCPOWER5:#define _ARCH_PPC64 1
1729 // PPCPOWER5:#define _ARCH_PPCGR 1
1730 // PPCPOWER5:#define _ARCH_PPCSQ 1
1731 // PPCPOWER5:#define _ARCH_PWR4 1
1732 // PPCPOWER5:#define _ARCH_PWR5 1
1733 //
1734 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5X %s
1735 //
1736 // PPCPWR5X:#define _ARCH_PPC 1
1737 // PPCPWR5X:#define _ARCH_PPC64 1
1738 // PPCPWR5X:#define _ARCH_PPCGR 1
1739 // PPCPWR5X:#define _ARCH_PPCSQ 1
1740 // PPCPWR5X:#define _ARCH_PWR4 1
1741 // PPCPWR5X:#define _ARCH_PWR5 1
1742 // PPCPWR5X:#define _ARCH_PWR5X 1
1743 //
1744 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5X %s
1745 //
1746 // PPCPOWER5X:#define _ARCH_PPC 1
1747 // PPCPOWER5X:#define _ARCH_PPC64 1
1748 // PPCPOWER5X:#define _ARCH_PPCGR 1
1749 // PPCPOWER5X:#define _ARCH_PPCSQ 1
1750 // PPCPOWER5X:#define _ARCH_PWR4 1
1751 // PPCPOWER5X:#define _ARCH_PWR5 1
1752 // PPCPOWER5X:#define _ARCH_PWR5X 1
1753 //
1754 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6 %s
1755 //
1756 // PPCPWR6:#define _ARCH_PPC 1
1757 // PPCPWR6:#define _ARCH_PPC64 1
1758 // PPCPWR6:#define _ARCH_PPCGR 1
1759 // PPCPWR6:#define _ARCH_PPCSQ 1
1760 // PPCPWR6:#define _ARCH_PWR4 1
1761 // PPCPWR6:#define _ARCH_PWR5 1
1762 // PPCPWR6:#define _ARCH_PWR5X 1
1763 // PPCPWR6:#define _ARCH_PWR6 1
1764 //
1765 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6 %s
1766 //
1767 // PPCPOWER6:#define _ARCH_PPC 1
1768 // PPCPOWER6:#define _ARCH_PPC64 1
1769 // PPCPOWER6:#define _ARCH_PPCGR 1
1770 // PPCPOWER6:#define _ARCH_PPCSQ 1
1771 // PPCPOWER6:#define _ARCH_PWR4 1
1772 // PPCPOWER6:#define _ARCH_PWR5 1
1773 // PPCPOWER6:#define _ARCH_PWR5X 1
1774 // PPCPOWER6:#define _ARCH_PWR6 1
1775 //
1776 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6X %s
1777 //
1778 // PPCPWR6X:#define _ARCH_PPC 1
1779 // PPCPWR6X:#define _ARCH_PPC64 1
1780 // PPCPWR6X:#define _ARCH_PPCGR 1
1781 // PPCPWR6X:#define _ARCH_PPCSQ 1
1782 // PPCPWR6X:#define _ARCH_PWR4 1
1783 // PPCPWR6X:#define _ARCH_PWR5 1
1784 // PPCPWR6X:#define _ARCH_PWR5X 1
1785 // PPCPWR6X:#define _ARCH_PWR6 1
1786 // PPCPWR6X:#define _ARCH_PWR6X 1
1787 //
1788 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6X %s
1789 //
1790 // PPCPOWER6X:#define _ARCH_PPC 1
1791 // PPCPOWER6X:#define _ARCH_PPC64 1
1792 // PPCPOWER6X:#define _ARCH_PPCGR 1
1793 // PPCPOWER6X:#define _ARCH_PPCSQ 1
1794 // PPCPOWER6X:#define _ARCH_PWR4 1
1795 // PPCPOWER6X:#define _ARCH_PWR5 1
1796 // PPCPOWER6X:#define _ARCH_PWR5X 1
1797 // PPCPOWER6X:#define _ARCH_PWR6 1
1798 // PPCPOWER6X:#define _ARCH_PWR6X 1
1799 //
1800 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR7 %s
1801 //
1802 // PPCPWR7:#define _ARCH_PPC 1
1803 // PPCPWR7:#define _ARCH_PPC64 1
1804 // PPCPWR7:#define _ARCH_PPCGR 1
1805 // PPCPWR7:#define _ARCH_PPCSQ 1
1806 // PPCPWR7:#define _ARCH_PWR4 1
1807 // PPCPWR7:#define _ARCH_PWR5 1
1808 // PPCPWR7:#define _ARCH_PWR5X 1
1809 // PPCPWR7:#define _ARCH_PWR6 1
1810 // PPCPWR7:#define _ARCH_PWR6X 1
1811 // PPCPWR7:#define _ARCH_PWR7 1
1812 //
1813 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER7 %s
1814 //
1815 // PPCPOWER7:#define _ARCH_PPC 1
1816 // PPCPOWER7:#define _ARCH_PPC64 1
1817 // PPCPOWER7:#define _ARCH_PPCGR 1
1818 // PPCPOWER7:#define _ARCH_PPCSQ 1
1819 // PPCPOWER7:#define _ARCH_PWR4 1
1820 // PPCPOWER7:#define _ARCH_PWR5 1
1821 // PPCPOWER7:#define _ARCH_PWR5X 1
1822 // PPCPOWER7:#define _ARCH_PWR6 1
1823 // PPCPOWER7:#define _ARCH_PWR6X 1
1824 // PPCPOWER7:#define _ARCH_PWR7 1
1825 //
1826 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
1827 //
1828 // PPC64-LINUX:#define _ARCH_PPC 1
1829 // PPC64-LINUX:#define _ARCH_PPC64 1
1830 // PPC64-LINUX:#define _BIG_ENDIAN 1
1831 // PPC64-LINUX:#define _LP64 1
1832 // PPC64-LINUX:#define __BIG_ENDIAN__ 1
1833 // PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
1834 // PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
1835 // PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
1836 // PPC64-LINUX:#define __CHAR_BIT__ 8
1837 // PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
1838 // PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1839 // PPC64-LINUX:#define __DBL_DIG__ 15
1840 // PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
1841 // PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
1842 // PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
1843 // PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
1844 // PPC64-LINUX:#define __DBL_MANT_DIG__ 53
1845 // PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
1846 // PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
1847 // PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
1848 // PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
1849 // PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
1850 // PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
1851 // PPC64-LINUX:#define __DECIMAL_DIG__ 33
1852 // PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1853 // PPC64-LINUX:#define __FLT_DIG__ 6
1854 // PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
1855 // PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
1856 // PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
1857 // PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
1858 // PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
1859 // PPC64-LINUX:#define __FLT_MANT_DIG__ 24
1860 // PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
1861 // PPC64-LINUX:#define __FLT_MAX_EXP__ 128
1862 // PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
1863 // PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
1864 // PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
1865 // PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
1866 // PPC64-LINUX:#define __FLT_RADIX__ 2
1867 // PPC64-LINUX:#define __INT16_TYPE__ short
1868 // PPC64-LINUX:#define __INT32_TYPE__ int
1869 // PPC64-LINUX:#define __INT64_C_SUFFIX__ L
1870 // PPC64-LINUX:#define __INT64_TYPE__ long int
1871 // PPC64-LINUX:#define __INT8_TYPE__ char
1872 // PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
1873 // PPC64-LINUX:#define __INTMAX_TYPE__ long int
1874 // PPC64-LINUX:#define __INTMAX_WIDTH__ 64
1875 // PPC64-LINUX:#define __INTPTR_TYPE__ long int
1876 // PPC64-LINUX:#define __INTPTR_WIDTH__ 64
1877 // PPC64-LINUX:#define __INT_MAX__ 2147483647
1878 // PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1879 // PPC64-LINUX:#define __LDBL_DIG__ 31
1880 // PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1881 // PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
1882 // PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
1883 // PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
1884 // PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
1885 // PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
1886 // PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
1887 // PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1888 // PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
1889 // PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
1890 // PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1891 // PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
1892 // PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
1893 // PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
1894 // PPC64-LINUX:#define __LP64__ 1
1895 // PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
1896 // PPC64-LINUX:#define __POINTER_WIDTH__ 64
1897 // PPC64-LINUX:#define __POWERPC__ 1
1898 // PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
1899 // PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
1900 // PPC64-LINUX:#define __REGISTER_PREFIX__
1901 // PPC64-LINUX:#define __SCHAR_MAX__ 127
1902 // PPC64-LINUX:#define __SHRT_MAX__ 32767
1903 // PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
1904 // PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
1905 // PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
1906 // PPC64-LINUX:#define __SIZEOF_INT__ 4
1907 // PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
1908 // PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
1909 // PPC64-LINUX:#define __SIZEOF_LONG__ 8
1910 // PPC64-LINUX:#define __SIZEOF_POINTER__ 8
1911 // PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
1912 // PPC64-LINUX:#define __SIZEOF_SHORT__ 2
1913 // PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
1914 // PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
1915 // PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
1916 // PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
1917 // PPC64-LINUX:#define __SIZE_WIDTH__ 64
1918 // PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
1919 // PPC64-LINUX:#define __USER_LABEL_PREFIX__
1920 // PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
1921 // PPC64-LINUX:#define __WCHAR_TYPE__ int
1922 // PPC64-LINUX:#define __WCHAR_WIDTH__ 32
1923 // PPC64-LINUX:#define __WINT_TYPE__ unsigned int
1924 // PPC64-LINUX:#define __WINT_UNSIGNED__ 1
1925 // PPC64-LINUX:#define __WINT_WIDTH__ 32
1926 // PPC64-LINUX:#define __powerpc64__ 1
1927 // PPC64-LINUX:#define __powerpc__ 1
1928 // PPC64-LINUX:#define __ppc64__ 1
1929 // PPC64-LINUX:#define __ppc__ 1
1930 //
1931 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix PPC %s
1932 //
1933 // PPC:#define _ARCH_PPC 1
1934 // PPC:#define _BIG_ENDIAN 1
1935 // PPC-NOT:#define _LP64
1936 // PPC:#define __BIG_ENDIAN__ 1
1937 // PPC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
1938 // PPC:#define __CHAR16_TYPE__ unsigned short
1939 // PPC:#define __CHAR32_TYPE__ unsigned int
1940 // PPC:#define __CHAR_BIT__ 8
1941 // PPC:#define __CHAR_UNSIGNED__ 1
1942 // PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1943 // PPC:#define __DBL_DIG__ 15
1944 // PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
1945 // PPC:#define __DBL_HAS_DENORM__ 1
1946 // PPC:#define __DBL_HAS_INFINITY__ 1
1947 // PPC:#define __DBL_HAS_QUIET_NAN__ 1
1948 // PPC:#define __DBL_MANT_DIG__ 53
1949 // PPC:#define __DBL_MAX_10_EXP__ 308
1950 // PPC:#define __DBL_MAX_EXP__ 1024
1951 // PPC:#define __DBL_MAX__ 1.7976931348623157e+308
1952 // PPC:#define __DBL_MIN_10_EXP__ (-307)
1953 // PPC:#define __DBL_MIN_EXP__ (-1021)
1954 // PPC:#define __DBL_MIN__ 2.2250738585072014e-308
1955 // PPC:#define __DECIMAL_DIG__ 33
1956 // PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1957 // PPC:#define __FLT_DIG__ 6
1958 // PPC:#define __FLT_EPSILON__ 1.19209290e-7F
1959 // PPC:#define __FLT_EVAL_METHOD__ 0
1960 // PPC:#define __FLT_HAS_DENORM__ 1
1961 // PPC:#define __FLT_HAS_INFINITY__ 1
1962 // PPC:#define __FLT_HAS_QUIET_NAN__ 1
1963 // PPC:#define __FLT_MANT_DIG__ 24
1964 // PPC:#define __FLT_MAX_10_EXP__ 38
1965 // PPC:#define __FLT_MAX_EXP__ 128
1966 // PPC:#define __FLT_MAX__ 3.40282347e+38F
1967 // PPC:#define __FLT_MIN_10_EXP__ (-37)
1968 // PPC:#define __FLT_MIN_EXP__ (-125)
1969 // PPC:#define __FLT_MIN__ 1.17549435e-38F
1970 // PPC:#define __FLT_RADIX__ 2
1971 // PPC:#define __INT16_TYPE__ short
1972 // PPC:#define __INT32_TYPE__ int
1973 // PPC:#define __INT64_C_SUFFIX__ LL
1974 // PPC:#define __INT64_TYPE__ long long int
1975 // PPC:#define __INT8_TYPE__ char
1976 // PPC:#define __INTMAX_MAX__ 9223372036854775807LL
1977 // PPC:#define __INTMAX_TYPE__ long long int
1978 // PPC:#define __INTMAX_WIDTH__ 64
1979 // PPC:#define __INTPTR_TYPE__ long int
1980 // PPC:#define __INTPTR_WIDTH__ 32
1981 // PPC:#define __INT_MAX__ 2147483647
1982 // PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
1983 // PPC:#define __LDBL_DIG__ 31
1984 // PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
1985 // PPC:#define __LDBL_HAS_DENORM__ 1
1986 // PPC:#define __LDBL_HAS_INFINITY__ 1
1987 // PPC:#define __LDBL_HAS_QUIET_NAN__ 1
1988 // PPC:#define __LDBL_MANT_DIG__ 106
1989 // PPC:#define __LDBL_MAX_10_EXP__ 308
1990 // PPC:#define __LDBL_MAX_EXP__ 1024
1991 // PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
1992 // PPC:#define __LDBL_MIN_10_EXP__ (-291)
1993 // PPC:#define __LDBL_MIN_EXP__ (-968)
1994 // PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1995 // PPC:#define __LONG_DOUBLE_128__ 1
1996 // PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
1997 // PPC:#define __LONG_MAX__ 2147483647L
1998 // PPC-NOT:#define __LP64__
1999 // PPC:#define __NATURAL_ALIGNMENT__ 1
2000 // PPC:#define __POINTER_WIDTH__ 32
2001 // PPC:#define __POWERPC__ 1
2002 // PPC:#define __PTRDIFF_TYPE__ long int
2003 // PPC:#define __PTRDIFF_WIDTH__ 32
2004 // PPC:#define __REGISTER_PREFIX__
2005 // PPC:#define __SCHAR_MAX__ 127
2006 // PPC:#define __SHRT_MAX__ 32767
2007 // PPC:#define __SIG_ATOMIC_WIDTH__ 32
2008 // PPC:#define __SIZEOF_DOUBLE__ 8
2009 // PPC:#define __SIZEOF_FLOAT__ 4
2010 // PPC:#define __SIZEOF_INT__ 4
2011 // PPC:#define __SIZEOF_LONG_DOUBLE__ 16
2012 // PPC:#define __SIZEOF_LONG_LONG__ 8
2013 // PPC:#define __SIZEOF_LONG__ 4
2014 // PPC:#define __SIZEOF_POINTER__ 4
2015 // PPC:#define __SIZEOF_PTRDIFF_T__ 4
2016 // PPC:#define __SIZEOF_SHORT__ 2
2017 // PPC:#define __SIZEOF_SIZE_T__ 4
2018 // PPC:#define __SIZEOF_WCHAR_T__ 4
2019 // PPC:#define __SIZEOF_WINT_T__ 4
2020 // PPC:#define __SIZE_TYPE__ long unsigned int
2021 // PPC:#define __SIZE_WIDTH__ 32
2022 // PPC:#define __UINTMAX_TYPE__ long long unsigned int
2023 // PPC:#define __USER_LABEL_PREFIX__ _
2024 // PPC:#define __WCHAR_MAX__ 2147483647
2025 // PPC:#define __WCHAR_TYPE__ int
2026 // PPC:#define __WCHAR_WIDTH__ 32
2027 // PPC:#define __WINT_TYPE__ int
2028 // PPC:#define __WINT_WIDTH__ 32
2029 // PPC:#define __ppc__ 1
2030 //
2031 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
2032 //
2033 // PPC-LINUX:#define _ARCH_PPC 1
2034 // PPC-LINUX:#define _BIG_ENDIAN 1
2035 // PPC-LINUX-NOT:#define _LP64
2036 // PPC-LINUX:#define __BIG_ENDIAN__ 1
2037 // PPC-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2038 // PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
2039 // PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
2040 // PPC-LINUX:#define __CHAR_BIT__ 8
2041 // PPC-LINUX:#define __CHAR_UNSIGNED__ 1
2042 // PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2043 // PPC-LINUX:#define __DBL_DIG__ 15
2044 // PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2045 // PPC-LINUX:#define __DBL_HAS_DENORM__ 1
2046 // PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
2047 // PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2048 // PPC-LINUX:#define __DBL_MANT_DIG__ 53
2049 // PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
2050 // PPC-LINUX:#define __DBL_MAX_EXP__ 1024
2051 // PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2052 // PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2053 // PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
2054 // PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2055 // PPC-LINUX:#define __DECIMAL_DIG__ 33
2056 // PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2057 // PPC-LINUX:#define __FLT_DIG__ 6
2058 // PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2059 // PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
2060 // PPC-LINUX:#define __FLT_HAS_DENORM__ 1
2061 // PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
2062 // PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2063 // PPC-LINUX:#define __FLT_MANT_DIG__ 24
2064 // PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
2065 // PPC-LINUX:#define __FLT_MAX_EXP__ 128
2066 // PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2067 // PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2068 // PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
2069 // PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2070 // PPC-LINUX:#define __FLT_RADIX__ 2
2071 // PPC-LINUX:#define __INT16_TYPE__ short
2072 // PPC-LINUX:#define __INT32_TYPE__ int
2073 // PPC-LINUX:#define __INT64_C_SUFFIX__ LL
2074 // PPC-LINUX:#define __INT64_TYPE__ long long int
2075 // PPC-LINUX:#define __INT8_TYPE__ char
2076 // PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
2077 // PPC-LINUX:#define __INTMAX_TYPE__ long long int
2078 // PPC-LINUX:#define __INTMAX_WIDTH__ 64
2079 // PPC-LINUX:#define __INTPTR_TYPE__ int
2080 // PPC-LINUX:#define __INTPTR_WIDTH__ 32
2081 // PPC-LINUX:#define __INT_MAX__ 2147483647
2082 // PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
2083 // PPC-LINUX:#define __LDBL_DIG__ 31
2084 // PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
2085 // PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
2086 // PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
2087 // PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2088 // PPC-LINUX:#define __LDBL_MANT_DIG__ 106
2089 // PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
2090 // PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
2091 // PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
2092 // PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
2093 // PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
2094 // PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
2095 // PPC-LINUX:#define __LONG_DOUBLE_128__ 1
2096 // PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2097 // PPC-LINUX:#define __LONG_MAX__ 2147483647L
2098 // PPC-LINUX-NOT:#define __LP64__
2099 // PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
2100 // PPC-LINUX:#define __POINTER_WIDTH__ 32
2101 // PPC-LINUX:#define __POWERPC__ 1
2102 // PPC-LINUX:#define __PTRDIFF_TYPE__ int
2103 // PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
2104 // PPC-LINUX:#define __REGISTER_PREFIX__
2105 // PPC-LINUX:#define __SCHAR_MAX__ 127
2106 // PPC-LINUX:#define __SHRT_MAX__ 32767
2107 // PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2108 // PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
2109 // PPC-LINUX:#define __SIZEOF_FLOAT__ 4
2110 // PPC-LINUX:#define __SIZEOF_INT__ 4
2111 // PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2112 // PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
2113 // PPC-LINUX:#define __SIZEOF_LONG__ 4
2114 // PPC-LINUX:#define __SIZEOF_POINTER__ 4
2115 // PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
2116 // PPC-LINUX:#define __SIZEOF_SHORT__ 2
2117 // PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
2118 // PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
2119 // PPC-LINUX:#define __SIZEOF_WINT_T__ 4
2120 // PPC-LINUX:#define __SIZE_TYPE__ unsigned int
2121 // PPC-LINUX:#define __SIZE_WIDTH__ 32
2122 // PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
2123 // PPC-LINUX:#define __USER_LABEL_PREFIX__
2124 // PPC-LINUX:#define __WCHAR_MAX__ 2147483647
2125 // PPC-LINUX:#define __WCHAR_TYPE__ int
2126 // PPC-LINUX:#define __WCHAR_WIDTH__ 32
2127 // PPC-LINUX:#define __WINT_TYPE__ unsigned int
2128 // PPC-LINUX:#define __WINT_UNSIGNED__ 1
2129 // PPC-LINUX:#define __WINT_WIDTH__ 32
2130 // PPC-LINUX:#define __powerpc__ 1
2131 // PPC-LINUX:#define __ppc__ 1
2132 //
2133 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
2134 //
2135 // SPARC-NOT:#define _LP64
2136 // SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2137 // SPARC:#define __CHAR16_TYPE__ unsigned short
2138 // SPARC:#define __CHAR32_TYPE__ unsigned int
2139 // SPARC:#define __CHAR_BIT__ 8
2140 // SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2141 // SPARC:#define __DBL_DIG__ 15
2142 // SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
2143 // SPARC:#define __DBL_HAS_DENORM__ 1
2144 // SPARC:#define __DBL_HAS_INFINITY__ 1
2145 // SPARC:#define __DBL_HAS_QUIET_NAN__ 1
2146 // SPARC:#define __DBL_MANT_DIG__ 53
2147 // SPARC:#define __DBL_MAX_10_EXP__ 308
2148 // SPARC:#define __DBL_MAX_EXP__ 1024
2149 // SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
2150 // SPARC:#define __DBL_MIN_10_EXP__ (-307)
2151 // SPARC:#define __DBL_MIN_EXP__ (-1021)
2152 // SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
2153 // SPARC:#define __DECIMAL_DIG__ 17
2154 // SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2155 // SPARC:#define __FLT_DIG__ 6
2156 // SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
2157 // SPARC:#define __FLT_EVAL_METHOD__ 0
2158 // SPARC:#define __FLT_HAS_DENORM__ 1
2159 // SPARC:#define __FLT_HAS_INFINITY__ 1
2160 // SPARC:#define __FLT_HAS_QUIET_NAN__ 1
2161 // SPARC:#define __FLT_MANT_DIG__ 24
2162 // SPARC:#define __FLT_MAX_10_EXP__ 38
2163 // SPARC:#define __FLT_MAX_EXP__ 128
2164 // SPARC:#define __FLT_MAX__ 3.40282347e+38F
2165 // SPARC:#define __FLT_MIN_10_EXP__ (-37)
2166 // SPARC:#define __FLT_MIN_EXP__ (-125)
2167 // SPARC:#define __FLT_MIN__ 1.17549435e-38F
2168 // SPARC:#define __FLT_RADIX__ 2
2169 // SPARC:#define __INT16_TYPE__ short
2170 // SPARC:#define __INT32_TYPE__ int
2171 // SPARC:#define __INT64_C_SUFFIX__ LL
2172 // SPARC:#define __INT64_TYPE__ long long int
2173 // SPARC:#define __INT8_TYPE__ char
2174 // SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
2175 // SPARC:#define __INTMAX_TYPE__ long long int
2176 // SPARC:#define __INTMAX_WIDTH__ 64
2177 // SPARC:#define __INTPTR_TYPE__ long int
2178 // SPARC:#define __INTPTR_WIDTH__ 32
2179 // SPARC:#define __INT_MAX__ 2147483647
2180 // SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
2181 // SPARC:#define __LDBL_DIG__ 15
2182 // SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
2183 // SPARC:#define __LDBL_HAS_DENORM__ 1
2184 // SPARC:#define __LDBL_HAS_INFINITY__ 1
2185 // SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
2186 // SPARC:#define __LDBL_MANT_DIG__ 53
2187 // SPARC:#define __LDBL_MAX_10_EXP__ 308
2188 // SPARC:#define __LDBL_MAX_EXP__ 1024
2189 // SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308L
2190 // SPARC:#define __LDBL_MIN_10_EXP__ (-307)
2191 // SPARC:#define __LDBL_MIN_EXP__ (-1021)
2192 // SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308L
2193 // SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
2194 // SPARC:#define __LONG_MAX__ 2147483647L
2195 // SPARC-NOT:#define __LP64__
2196 // SPARC:#define __POINTER_WIDTH__ 32
2197 // SPARC:#define __PTRDIFF_TYPE__ long int
2198 // SPARC:#define __PTRDIFF_WIDTH__ 32
2199 // SPARC:#define __REGISTER_PREFIX__
2200 // SPARC:#define __SCHAR_MAX__ 127
2201 // SPARC:#define __SHRT_MAX__ 32767
2202 // SPARC:#define __SIG_ATOMIC_WIDTH__ 32
2203 // SPARC:#define __SIZEOF_DOUBLE__ 8
2204 // SPARC:#define __SIZEOF_FLOAT__ 4
2205 // SPARC:#define __SIZEOF_INT__ 4
2206 // SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
2207 // SPARC:#define __SIZEOF_LONG_LONG__ 8
2208 // SPARC:#define __SIZEOF_LONG__ 4
2209 // SPARC:#define __SIZEOF_POINTER__ 4
2210 // SPARC:#define __SIZEOF_PTRDIFF_T__ 4
2211 // SPARC:#define __SIZEOF_SHORT__ 2
2212 // SPARC:#define __SIZEOF_SIZE_T__ 4
2213 // SPARC:#define __SIZEOF_WCHAR_T__ 4
2214 // SPARC:#define __SIZEOF_WINT_T__ 4
2215 // SPARC:#define __SIZE_TYPE__ long unsigned int
2216 // SPARC:#define __SIZE_WIDTH__ 32
2217 // SPARC:#define __UINTMAX_TYPE__ long long unsigned int
2218 // SPARC:#define __USER_LABEL_PREFIX__ _
2219 // SPARC:#define __VERSION__ "4.2.1 Compatible
2220 // SPARC:#define __WCHAR_MAX__ 2147483647
2221 // SPARC:#define __WCHAR_TYPE__ int
2222 // SPARC:#define __WCHAR_WIDTH__ 32
2223 // SPARC:#define __WINT_TYPE__ int
2224 // SPARC:#define __WINT_WIDTH__ 32
2225 // SPARC:#define __sparc 1
2226 // SPARC:#define __sparc__ 1
2227 // SPARC:#define __sparcv8 1
2228 // SPARC:#define sparc 1
2229 //
2230 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
2231 //
2232 // TCE-NOT:#define _LP64
2233 // TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
2234 // TCE:#define __CHAR16_TYPE__ unsigned short
2235 // TCE:#define __CHAR32_TYPE__ unsigned int
2236 // TCE:#define __CHAR_BIT__ 8
2237 // TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45
2238 // TCE:#define __DBL_DIG__ 6
2239 // TCE:#define __DBL_EPSILON__ 1.19209290e-7
2240 // TCE:#define __DBL_HAS_DENORM__ 1
2241 // TCE:#define __DBL_HAS_INFINITY__ 1
2242 // TCE:#define __DBL_HAS_QUIET_NAN__ 1
2243 // TCE:#define __DBL_MANT_DIG__ 24
2244 // TCE:#define __DBL_MAX_10_EXP__ 38
2245 // TCE:#define __DBL_MAX_EXP__ 128
2246 // TCE:#define __DBL_MAX__ 3.40282347e+38
2247 // TCE:#define __DBL_MIN_10_EXP__ (-37)
2248 // TCE:#define __DBL_MIN_EXP__ (-125)
2249 // TCE:#define __DBL_MIN__ 1.17549435e-38
2250 // TCE:#define __DECIMAL_DIG__ -1
2251 // TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2252 // TCE:#define __FLT_DIG__ 6
2253 // TCE:#define __FLT_EPSILON__ 1.19209290e-7F
2254 // TCE:#define __FLT_EVAL_METHOD__ 0
2255 // TCE:#define __FLT_HAS_DENORM__ 1
2256 // TCE:#define __FLT_HAS_INFINITY__ 1
2257 // TCE:#define __FLT_HAS_QUIET_NAN__ 1
2258 // TCE:#define __FLT_MANT_DIG__ 24
2259 // TCE:#define __FLT_MAX_10_EXP__ 38
2260 // TCE:#define __FLT_MAX_EXP__ 128
2261 // TCE:#define __FLT_MAX__ 3.40282347e+38F
2262 // TCE:#define __FLT_MIN_10_EXP__ (-37)
2263 // TCE:#define __FLT_MIN_EXP__ (-125)
2264 // TCE:#define __FLT_MIN__ 1.17549435e-38F
2265 // TCE:#define __FLT_RADIX__ 2
2266 // TCE:#define __INT16_TYPE__ short
2267 // TCE:#define __INT32_TYPE__ int
2268 // TCE:#define __INT8_TYPE__ char
2269 // TCE:#define __INTMAX_MAX__ 2147483647L
2270 // TCE:#define __INTMAX_TYPE__ long int
2271 // TCE:#define __INTMAX_WIDTH__ 32
2272 // TCE:#define __INTPTR_TYPE__ int
2273 // TCE:#define __INTPTR_WIDTH__ 32
2274 // TCE:#define __INT_MAX__ 2147483647
2275 // TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45L
2276 // TCE:#define __LDBL_DIG__ 6
2277 // TCE:#define __LDBL_EPSILON__ 1.19209290e-7L
2278 // TCE:#define __LDBL_HAS_DENORM__ 1
2279 // TCE:#define __LDBL_HAS_INFINITY__ 1
2280 // TCE:#define __LDBL_HAS_QUIET_NAN__ 1
2281 // TCE:#define __LDBL_MANT_DIG__ 24
2282 // TCE:#define __LDBL_MAX_10_EXP__ 38
2283 // TCE:#define __LDBL_MAX_EXP__ 128
2284 // TCE:#define __LDBL_MAX__ 3.40282347e+38L
2285 // TCE:#define __LDBL_MIN_10_EXP__ (-37)
2286 // TCE:#define __LDBL_MIN_EXP__ (-125)
2287 // TCE:#define __LDBL_MIN__ 1.17549435e-38L
2288 // TCE:#define __LONG_LONG_MAX__ 2147483647LL
2289 // TCE:#define __LONG_MAX__ 2147483647L
2290 // TCE-NOT:#define __LP64__
2291 // TCE:#define __POINTER_WIDTH__ 32
2292 // TCE:#define __PTRDIFF_TYPE__ int
2293 // TCE:#define __PTRDIFF_WIDTH__ 32
2294 // TCE:#define __SCHAR_MAX__ 127
2295 // TCE:#define __SHRT_MAX__ 32767
2296 // TCE:#define __SIG_ATOMIC_WIDTH__ 32
2297 // TCE:#define __SIZEOF_DOUBLE__ 4
2298 // TCE:#define __SIZEOF_FLOAT__ 4
2299 // TCE:#define __SIZEOF_INT__ 4
2300 // TCE:#define __SIZEOF_LONG_DOUBLE__ 4
2301 // TCE:#define __SIZEOF_LONG_LONG__ 4
2302 // TCE:#define __SIZEOF_LONG__ 4
2303 // TCE:#define __SIZEOF_POINTER__ 4
2304 // TCE:#define __SIZEOF_PTRDIFF_T__ 4
2305 // TCE:#define __SIZEOF_SHORT__ 2
2306 // TCE:#define __SIZEOF_SIZE_T__ 4
2307 // TCE:#define __SIZEOF_WCHAR_T__ 4
2308 // TCE:#define __SIZEOF_WINT_T__ 4
2309 // TCE:#define __SIZE_TYPE__ unsigned int
2310 // TCE:#define __SIZE_WIDTH__ 32
2311 // TCE:#define __TCE_V1__ 1
2312 // TCE:#define __TCE__ 1
2313 // TCE:#define __UINTMAX_TYPE__ long unsigned int
2314 // TCE:#define __USER_LABEL_PREFIX__ _
2315 // TCE:#define __WCHAR_MAX__ 2147483647
2316 // TCE:#define __WCHAR_TYPE__ int
2317 // TCE:#define __WCHAR_WIDTH__ 32
2318 // TCE:#define __WINT_TYPE__ int
2319 // TCE:#define __WINT_WIDTH__ 32
2320 // TCE:#define __tce 1
2321 // TCE:#define __tce__ 1
2322 // TCE:#define tce 1
2323 //
2324 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-none-none < /dev/null | FileCheck -check-prefix X86_64 %s
2325 //
2326 // X86_64:#define _LP64 1
2327 // X86_64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
2328 // X86_64:#define __CHAR16_TYPE__ unsigned short
2329 // X86_64:#define __CHAR32_TYPE__ unsigned int
2330 // X86_64:#define __CHAR_BIT__ 8
2331 // X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2332 // X86_64:#define __DBL_DIG__ 15
2333 // X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
2334 // X86_64:#define __DBL_HAS_DENORM__ 1
2335 // X86_64:#define __DBL_HAS_INFINITY__ 1
2336 // X86_64:#define __DBL_HAS_QUIET_NAN__ 1
2337 // X86_64:#define __DBL_MANT_DIG__ 53
2338 // X86_64:#define __DBL_MAX_10_EXP__ 308
2339 // X86_64:#define __DBL_MAX_EXP__ 1024
2340 // X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
2341 // X86_64:#define __DBL_MIN_10_EXP__ (-307)
2342 // X86_64:#define __DBL_MIN_EXP__ (-1021)
2343 // X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
2344 // X86_64:#define __DECIMAL_DIG__ 21
2345 // X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2346 // X86_64:#define __FLT_DIG__ 6
2347 // X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
2348 // X86_64:#define __FLT_EVAL_METHOD__ 0
2349 // X86_64:#define __FLT_HAS_DENORM__ 1
2350 // X86_64:#define __FLT_HAS_INFINITY__ 1
2351 // X86_64:#define __FLT_HAS_QUIET_NAN__ 1
2352 // X86_64:#define __FLT_MANT_DIG__ 24
2353 // X86_64:#define __FLT_MAX_10_EXP__ 38
2354 // X86_64:#define __FLT_MAX_EXP__ 128
2355 // X86_64:#define __FLT_MAX__ 3.40282347e+38F
2356 // X86_64:#define __FLT_MIN_10_EXP__ (-37)
2357 // X86_64:#define __FLT_MIN_EXP__ (-125)
2358 // X86_64:#define __FLT_MIN__ 1.17549435e-38F
2359 // X86_64:#define __FLT_RADIX__ 2
2360 // X86_64:#define __INT16_TYPE__ short
2361 // X86_64:#define __INT32_TYPE__ int
2362 // X86_64:#define __INT64_C_SUFFIX__ L
2363 // X86_64:#define __INT64_TYPE__ long int
2364 // X86_64:#define __INT8_TYPE__ char
2365 // X86_64:#define __INTMAX_MAX__ 9223372036854775807L
2366 // X86_64:#define __INTMAX_TYPE__ long int
2367 // X86_64:#define __INTMAX_WIDTH__ 64
2368 // X86_64:#define __INTPTR_TYPE__ long int
2369 // X86_64:#define __INTPTR_WIDTH__ 64
2370 // X86_64:#define __INT_MAX__ 2147483647
2371 // X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
2372 // X86_64:#define __LDBL_DIG__ 18
2373 // X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
2374 // X86_64:#define __LDBL_HAS_DENORM__ 1
2375 // X86_64:#define __LDBL_HAS_INFINITY__ 1
2376 // X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
2377 // X86_64:#define __LDBL_MANT_DIG__ 64
2378 // X86_64:#define __LDBL_MAX_10_EXP__ 4932
2379 // X86_64:#define __LDBL_MAX_EXP__ 16384
2380 // X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
2381 // X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
2382 // X86_64:#define __LDBL_MIN_EXP__ (-16381)
2383 // X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
2384 // X86_64:#define __LITTLE_ENDIAN__ 1
2385 // X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
2386 // X86_64:#define __LONG_MAX__ 9223372036854775807L
2387 // X86_64:#define __LP64__ 1
2388 // X86_64:#define __MMX__ 1
2389 // X86_64:#define __NO_MATH_INLINES 1
2390 // X86_64:#define __POINTER_WIDTH__ 64
2391 // X86_64:#define __PTRDIFF_TYPE__ long int
2392 // X86_64:#define __PTRDIFF_WIDTH__ 64
2393 // X86_64:#define __REGISTER_PREFIX__
2394 // X86_64:#define __SCHAR_MAX__ 127
2395 // X86_64:#define __SHRT_MAX__ 32767
2396 // X86_64:#define __SIG_ATOMIC_WIDTH__ 32
2397 // X86_64:#define __SIZEOF_DOUBLE__ 8
2398 // X86_64:#define __SIZEOF_FLOAT__ 4
2399 // X86_64:#define __SIZEOF_INT__ 4
2400 // X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
2401 // X86_64:#define __SIZEOF_LONG_LONG__ 8
2402 // X86_64:#define __SIZEOF_LONG__ 8
2403 // X86_64:#define __SIZEOF_POINTER__ 8
2404 // X86_64:#define __SIZEOF_PTRDIFF_T__ 8
2405 // X86_64:#define __SIZEOF_SHORT__ 2
2406 // X86_64:#define __SIZEOF_SIZE_T__ 8
2407 // X86_64:#define __SIZEOF_WCHAR_T__ 4
2408 // X86_64:#define __SIZEOF_WINT_T__ 4
2409 // X86_64:#define __SIZE_TYPE__ long unsigned int
2410 // X86_64:#define __SIZE_WIDTH__ 64
2411 // X86_64:#define __SSE2_MATH__ 1
2412 // X86_64:#define __SSE2__ 1
2413 // X86_64:#define __SSE_MATH__ 1
2414 // X86_64:#define __SSE__ 1
2415 // X86_64:#define __UINTMAX_TYPE__ long unsigned int
2416 // X86_64:#define __USER_LABEL_PREFIX__ _
2417 // X86_64:#define __WCHAR_MAX__ 2147483647
2418 // X86_64:#define __WCHAR_TYPE__ int
2419 // X86_64:#define __WCHAR_WIDTH__ 32
2420 // X86_64:#define __WINT_TYPE__ int
2421 // X86_64:#define __WINT_WIDTH__ 32
2422 // X86_64:#define __amd64 1
2423 // X86_64:#define __amd64__ 1
2424 // X86_64:#define __x86_64 1
2425 // X86_64:#define __x86_64__ 1
2426 //
2427 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
2428 //
2429 // X86_64-LINUX:#define _LP64 1
2430 // X86_64-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
2431 // X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
2432 // X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
2433 // X86_64-LINUX:#define __CHAR_BIT__ 8
2434 // X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2435 // X86_64-LINUX:#define __DBL_DIG__ 15
2436 // X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
2437 // X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
2438 // X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
2439 // X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
2440 // X86_64-LINUX:#define __DBL_MANT_DIG__ 53
2441 // X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
2442 // X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
2443 // X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
2444 // X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
2445 // X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
2446 // X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
2447 // X86_64-LINUX:#define __DECIMAL_DIG__ 21
2448 // X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2449 // X86_64-LINUX:#define __FLT_DIG__ 6
2450 // X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
2451 // X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
2452 // X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
2453 // X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
2454 // X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
2455 // X86_64-LINUX:#define __FLT_MANT_DIG__ 24
2456 // X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
2457 // X86_64-LINUX:#define __FLT_MAX_EXP__ 128
2458 // X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
2459 // X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
2460 // X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
2461 // X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
2462 // X86_64-LINUX:#define __FLT_RADIX__ 2
2463 // X86_64-LINUX:#define __INT16_TYPE__ short
2464 // X86_64-LINUX:#define __INT32_TYPE__ int
2465 // X86_64-LINUX:#define __INT64_C_SUFFIX__ L
2466 // X86_64-LINUX:#define __INT64_TYPE__ long int
2467 // X86_64-LINUX:#define __INT8_TYPE__ char
2468 // X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
2469 // X86_64-LINUX:#define __INTMAX_TYPE__ long int
2470 // X86_64-LINUX:#define __INTMAX_WIDTH__ 64
2471 // X86_64-LINUX:#define __INTPTR_TYPE__ long int
2472 // X86_64-LINUX:#define __INTPTR_WIDTH__ 64
2473 // X86_64-LINUX:#define __INT_MAX__ 2147483647
2474 // X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
2475 // X86_64-LINUX:#define __LDBL_DIG__ 18
2476 // X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
2477 // X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
2478 // X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
2479 // X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
2480 // X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
2481 // X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
2482 // X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
2483 // X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
2484 // X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
2485 // X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
2486 // X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
2487 // X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
2488 // X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
2489 // X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
2490 // X86_64-LINUX:#define __LP64__ 1
2491 // X86_64-LINUX:#define __MMX__ 1
2492 // X86_64-LINUX:#define __NO_MATH_INLINES 1
2493 // X86_64-LINUX:#define __POINTER_WIDTH__ 64
2494 // X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
2495 // X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
2496 // X86_64-LINUX:#define __REGISTER_PREFIX__
2497 // X86_64-LINUX:#define __SCHAR_MAX__ 127
2498 // X86_64-LINUX:#define __SHRT_MAX__ 32767
2499 // X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
2500 // X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
2501 // X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
2502 // X86_64-LINUX:#define __SIZEOF_INT__ 4
2503 // X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
2504 // X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
2505 // X86_64-LINUX:#define __SIZEOF_LONG__ 8
2506 // X86_64-LINUX:#define __SIZEOF_POINTER__ 8
2507 // X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
2508 // X86_64-LINUX:#define __SIZEOF_SHORT__ 2
2509 // X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
2510 // X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
2511 // X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
2512 // X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
2513 // X86_64-LINUX:#define __SIZE_WIDTH__ 64
2514 // X86_64-LINUX:#define __SSE2_MATH__ 1
2515 // X86_64-LINUX:#define __SSE2__ 1
2516 // X86_64-LINUX:#define __SSE_MATH__ 1
2517 // X86_64-LINUX:#define __SSE__ 1
2518 // X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
2519 // X86_64-LINUX:#define __USER_LABEL_PREFIX__
2520 // X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
2521 // X86_64-LINUX:#define __WCHAR_TYPE__ int
2522 // X86_64-LINUX:#define __WCHAR_WIDTH__ 32
2523 // X86_64-LINUX:#define __WINT_TYPE__ unsigned int
2524 // X86_64-LINUX:#define __WINT_WIDTH__ 32
2525 // X86_64-LINUX:#define __amd64 1
2526 // X86_64-LINUX:#define __amd64__ 1
2527 // X86_64-LINUX:#define __x86_64 1
2528 // X86_64-LINUX:#define __x86_64__ 1
2529 //
2530 // RUN: %clang_cc1 -x c++ -triple i686-pc-linux-gnu -fobjc-runtime=gcc -E -dM < /dev/null | FileCheck -check-prefix GNUSOURCE %s
2531 // GNUSOURCE:#define _GNU_SOURCE 1
2532 //
2533 // RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
2534 // NORTTI: __GXX_ABI_VERSION
2535 // NORTTI-NOT:#define __GXX_RTTI
2536 // NORTTI: __STDC__
2537 //
2538 // RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
2539 // ANDROID: __ANDROID__ 1
2540