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