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