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