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