1 // RUN: %clang_cc1 -E -dM -x assembler-with-cpp < /dev/null | FileCheck -match-full-lines -check-prefix ASM %s
2 //
3 // ASM:#define __ASSEMBLER__ 1
4 //
5 //
6 // RUN: %clang_cc1 -fblocks -E -dM < /dev/null | FileCheck -match-full-lines -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++ -fgnuc-version=4.2.1 -std=c++20 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix CXX2A %s
13 // RUN: %clang_cc1 -x c++ -fgnuc-version=4.2.1 -std=c++2a -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix CXX2A %s
14 //
15 // CXX2A:#define __GNUG__ 4
16 // CXX2A:#define __GXX_EXPERIMENTAL_CXX0X__ 1
17 // CXX2A:#define __GXX_RTTI 1
18 // CXX2A:#define __GXX_WEAK__ 1
19 // CXX2A:#define __cplusplus 202002L
20 // CXX2A:#define __private_extern__ extern
21 //
22 // RUN: %clang_cc1 -x c++ -fgnuc-version=4.2.1 -std=c++17 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix CXX1Z %s
23 // RUN: %clang_cc1 -x c++ -fgnuc-version=4.2.1 -std=c++1z -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix CXX1Z %s
24 //
25 // CXX1Z:#define __GNUG__ 4
26 // CXX1Z:#define __GXX_EXPERIMENTAL_CXX0X__ 1
27 // CXX1Z:#define __GXX_RTTI 1
28 // CXX1Z:#define __GXX_WEAK__ 1
29 // CXX1Z:#define __cplusplus 201703L
30 // CXX1Z:#define __private_extern__ extern
31 //
32 //
33 // RUN: %clang_cc1 -x c++ -fgnuc-version=4.2.1 -std=c++14 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix CXX1Y %s
34 // RUN: %clang_cc1 -x c++ -fgnuc-version=4.2.1 -std=c++1y -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix CXX1Y %s
35 //
36 // CXX1Y:#define __GNUG__ 4
37 // CXX1Y:#define __GXX_EXPERIMENTAL_CXX0X__ 1
38 // CXX1Y:#define __GXX_RTTI 1
39 // CXX1Y:#define __GXX_WEAK__ 1
40 // CXX1Y:#define __cplusplus 201402L
41 // CXX1Y:#define __private_extern__ extern
42 //
43 //
44 // RUN: %clang_cc1 -x c++ -fgnuc-version=4.2.1 -std=c++11 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix CXX11 %s
45 //
46 // CXX11:#define __GNUG__ 4
47 // CXX11:#define __GXX_EXPERIMENTAL_CXX0X__ 1
48 // CXX11:#define __GXX_RTTI 1
49 // CXX11:#define __GXX_WEAK__ 1
50 // CXX11:#define __cplusplus 201103L
51 // CXX11:#define __private_extern__ extern
52 //
53 //
54 // RUN: %clang_cc1 -x c++ -fgnuc-version=4.2.1 -std=c++98 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix CXX98 %s
55 //
56 // CXX98:#define __GNUG__ 4
57 // CXX98:#define __GXX_RTTI 1
58 // CXX98:#define __GXX_WEAK__ 1
59 // CXX98:#define __cplusplus 199711L
60 // CXX98:#define __private_extern__ extern
61 //
62 //
63 // RUN: %clang_cc1 -fdeprecated-macro -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix DEPRECATED %s
64 //
65 // DEPRECATED:#define __DEPRECATED 1
66 //
67 //
68 // RUN: %clang_cc1 -std=c99 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix C99 %s
69 //
70 // C99:#define __STDC_VERSION__ 199901L
71 // C99:#define __STRICT_ANSI__ 1
72 // C99-NOT: __GXX_EXPERIMENTAL_CXX0X__
73 // C99-NOT: __GXX_RTTI
74 // C99-NOT: __GXX_WEAK__
75 // C99-NOT: __cplusplus
76 //
77 //
78 // RUN: %clang_cc1 -std=c11 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix C11 %s
79 // RUN: %clang_cc1 -std=c1x -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix C11 %s
80 // RUN: %clang_cc1 -std=iso9899:2011 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix C11 %s
81 // RUN: %clang_cc1 -std=iso9899:201x -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix C11 %s
82 //
83 // C11:#define __STDC_UTF_16__ 1
84 // C11:#define __STDC_UTF_32__ 1
85 // C11:#define __STDC_VERSION__ 201112L
86 // C11:#define __STRICT_ANSI__ 1
87 // C11-NOT: __GXX_EXPERIMENTAL_CXX0X__
88 // C11-NOT: __GXX_RTTI
89 // C11-NOT: __GXX_WEAK__
90 // C11-NOT: __cplusplus
91 //
92 //
93 // RUN: %clang_cc1 -fgnuc-version=4.2.1 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix COMMON %s
94 //
95 // COMMON:#define __CONSTANT_CFSTRINGS__ 1
96 // COMMON:#define __FINITE_MATH_ONLY__ 0
97 // COMMON:#define __GNUC_MINOR__ {{.*}}
98 // COMMON:#define __GNUC_PATCHLEVEL__ {{.*}}
99 // COMMON:#define __GNUC_STDC_INLINE__ 1
100 // COMMON:#define __GNUC__ {{.*}}
101 // COMMON:#define __GXX_ABI_VERSION {{.*}}
102 // COMMON:#define __ORDER_BIG_ENDIAN__ 4321
103 // COMMON:#define __ORDER_LITTLE_ENDIAN__ 1234
104 // COMMON:#define __ORDER_PDP_ENDIAN__ 3412
105 // COMMON:#define __STDC_HOSTED__ 1
106 // COMMON:#define __STDC__ 1
107 // COMMON:#define __VERSION__ {{.*}}
108 // COMMON:#define __clang__ 1
109 // COMMON:#define __clang_major__ {{[0-9]+}}
110 // COMMON:#define __clang_minor__ {{[0-9]+}}
111 // COMMON:#define __clang_patchlevel__ {{[0-9]+}}
112 // COMMON:#define __clang_version__ {{.*}}
113 // COMMON:#define __llvm__ 1
114 //
115 // RUN: %clang_cc1 -E -dM -triple=x86_64-pc-win32 < /dev/null | FileCheck -match-full-lines -check-prefix C-DEFAULT %s
116 // RUN: %clang_cc1 -E -dM -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -match-full-lines -check-prefix C-DEFAULT %s
117 // RUN: %clang_cc1 -E -dM -triple=x86_64-apple-darwin < /dev/null | FileCheck -match-full-lines -check-prefix C-DEFAULT %s
118 // RUN: %clang_cc1 -E -dM -triple=armv7a-apple-darwin < /dev/null | FileCheck -match-full-lines -check-prefix C-DEFAULT %s
119 //
120 // C-DEFAULT:#define __STDC_VERSION__ 201710L
121 //
122 // RUN: %clang_cc1 -ffreestanding -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix FREESTANDING %s
123 // FREESTANDING:#define __STDC_HOSTED__ 0
124 //
125 // RUN: %clang_cc1 -x c++ -fgnuc-version=4.2.1 -std=gnu++20 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix GXX2A %s
126 // RUN: %clang_cc1 -x c++ -fgnuc-version=4.2.1 -std=gnu++2a -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix GXX2A %s
127 //
128 // GXX2A:#define __GNUG__ 4
129 // GXX2A:#define __GXX_WEAK__ 1
130 // GXX2A:#define __cplusplus 202002L
131 // GXX2A:#define __private_extern__ extern
132 //
133 //
134 // RUN: %clang_cc1 -x c++ -fgnuc-version=4.2.1 -std=gnu++17 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix GXX1Z %s
135 // RUN: %clang_cc1 -x c++ -fgnuc-version=4.2.1 -std=gnu++1z -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix GXX1Z %s
136 //
137 // GXX1Z:#define __GNUG__ 4
138 // GXX1Z:#define __GXX_WEAK__ 1
139 // GXX1Z:#define __cplusplus 201703L
140 // GXX1Z:#define __private_extern__ extern
141 //
142 //
143 // RUN: %clang_cc1 -x c++ -fgnuc-version=4.2.1 -std=gnu++14 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix GXX1Y %s
144 // RUN: %clang_cc1 -x c++ -fgnuc-version=4.2.1 -std=gnu++1y -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix GXX1Y %s
145 //
146 // GXX1Y:#define __GNUG__ 4
147 // GXX1Y:#define __GXX_WEAK__ 1
148 // GXX1Y:#define __cplusplus 201402L
149 // GXX1Y:#define __private_extern__ extern
150 //
151 //
152 // RUN: %clang_cc1 -x c++ -fgnuc-version=4.2.1 -std=gnu++11 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix GXX11 %s
153 //
154 // GXX11:#define __GNUG__ 4
155 // GXX11:#define __GXX_WEAK__ 1
156 // GXX11:#define __cplusplus 201103L
157 // GXX11:#define __private_extern__ extern
158 //
159 //
160 // RUN: %clang_cc1 -x c++ -fgnuc-version=4.2.1 -std=gnu++98 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix GXX98 %s
161 //
162 // GXX98:#define __GNUG__ 4
163 // GXX98:#define __GXX_WEAK__ 1
164 // GXX98:#define __cplusplus 199711L
165 // GXX98:#define __private_extern__ extern
166 //
167 //
168 // RUN: %clang_cc1 -std=iso9899:199409 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix C94 %s
169 //
170 // C94:#define __STDC_VERSION__ 199409L
171 //
172 //
173 // RUN: %clang_cc1 -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix MSEXT %s
174 //
175 // MSEXT-NOT:#define __STDC__
176 // MSEXT:#define _INTEGRAL_MAX_BITS 64
177 // MSEXT-NOT:#define _NATIVE_WCHAR_T_DEFINED 1
178 // MSEXT-NOT:#define _WCHAR_T_DEFINED 1
179 //
180 //
181 // RUN: %clang_cc1 -x c++ -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix MSEXT-CXX %s
182 //
183 // MSEXT-CXX:#define _NATIVE_WCHAR_T_DEFINED 1
184 // MSEXT-CXX:#define _WCHAR_T_DEFINED 1
185 // MSEXT-CXX:#define __BOOL_DEFINED 1
186 //
187 //
188 // RUN: %clang_cc1 -x c++ -fno-wchar -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix MSEXT-CXX-NOWCHAR %s
189 //
190 // MSEXT-CXX-NOWCHAR-NOT:#define _NATIVE_WCHAR_T_DEFINED 1
191 // MSEXT-CXX-NOWCHAR-NOT:#define _WCHAR_T_DEFINED 1
192 // MSEXT-CXX-NOWCHAR:#define __BOOL_DEFINED 1
193 //
194 //
195 // RUN: %clang_cc1 -x objective-c -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix OBJC %s
196 // RUN: %clang_cc1 -x objective-c++ -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix OBJC %s
197 //
198 // OBJC:#define OBJC_NEW_PROPERTIES 1
199 // OBJC:#define __NEXT_RUNTIME__ 1
200 // OBJC:#define __OBJC__ 1
201 //
202 //
203 // RUN: %clang_cc1 -x objective-c -fobjc-gc -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix OBJCGC %s
204 //
205 // OBJCGC:#define __OBJC_GC__ 1
206 //
207 //
208 // RUN: %clang_cc1 -x objective-c -fobjc-exceptions -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix NONFRAGILE %s
209 //
210 // NONFRAGILE:#define OBJC_ZEROCOST_EXCEPTIONS 1
211 // NONFRAGILE:#define __OBJC2__ 1
212 //
213 //
214 // RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix O0 %s
215 //
216 // O0:#define __NO_INLINE__ 1
217 // O0-NOT:#define __OPTIMIZE_SIZE__
218 // O0-NOT:#define __OPTIMIZE__
219 //
220 //
221 // RUN: %clang_cc1 -fno-inline -O3 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix NO_INLINE %s
222 //
223 // NO_INLINE:#define __NO_INLINE__ 1
224 // NO_INLINE-NOT:#define __OPTIMIZE_SIZE__
225 // NO_INLINE:#define __OPTIMIZE__ 1
226 //
227 //
228 // RUN: %clang_cc1 -O1 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix O1 %s
229 //
230 // O1-NOT:#define __OPTIMIZE_SIZE__
231 // O1:#define __OPTIMIZE__ 1
232 //
233 //
234 // RUN: %clang_cc1 -Og -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix Og %s
235 //
236 // Og-NOT:#define __OPTIMIZE_SIZE__
237 // Og:#define __OPTIMIZE__ 1
238 //
239 //
240 // RUN: %clang_cc1 -Os -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix Os %s
241 //
242 // Os:#define __OPTIMIZE_SIZE__ 1
243 // Os:#define __OPTIMIZE__ 1
244 //
245 //
246 // RUN: %clang_cc1 -Oz -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix Oz %s
247 //
248 // Oz:#define __OPTIMIZE_SIZE__ 1
249 // Oz:#define __OPTIMIZE__ 1
250 //
251 //
252 // RUN: %clang_cc1 -fpascal-strings -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix PASCAL %s
253 //
254 // PASCAL:#define __PASCAL_STRINGS__ 1
255 //
256 //
257 // RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix SCHAR %s
258 //
259 // SCHAR:#define __STDC__ 1
260 // SCHAR-NOT:#define __UNSIGNED_CHAR__
261 // SCHAR:#define __clang__ 1
262 //
263 // RUN: %clang_cc1 -E -dM -fwchar-type=short -fno-signed-wchar < /dev/null | FileCheck -match-full-lines -check-prefix SHORTWCHAR %s
264 // wchar_t is u16 for targeting Win32.
265 // RUN: %clang_cc1 -E -dM -fwchar-type=short -fno-signed-wchar -triple=x86_64-w64-mingw32 < /dev/null | FileCheck -match-full-lines -check-prefix SHORTWCHAR %s
266 // RUN: %clang_cc1 -dM -fwchar-type=short -fno-signed-wchar -triple=x86_64-unknown-windows-cygnus -E /dev/null | FileCheck -match-full-lines -check-prefix SHORTWCHAR %s
267 //
268 // SHORTWCHAR: #define __SIZEOF_WCHAR_T__ 2
269 // SHORTWCHAR: #define __WCHAR_MAX__ 65535
270 // SHORTWCHAR: #define __WCHAR_TYPE__ unsigned short
271 // SHORTWCHAR: #define __WCHAR_WIDTH__ 16
272 //
273 // RUN: %clang_cc1 -E -dM -fwchar-type=int -triple=i686-unknown-unknown < /dev/null | FileCheck -match-full-lines -check-prefix SHORTWCHAR2 %s
274 // RUN: %clang_cc1 -E -dM -fwchar-type=int -triple=x86_64-unknown-unknown < /dev/null | FileCheck -match-full-lines -check-prefix SHORTWCHAR2 %s
275 //
276 // SHORTWCHAR2: #define __SIZEOF_WCHAR_T__ 4
277 // SHORTWCHAR2: #define __WCHAR_WIDTH__ 32
278 // Other definitions vary from platform to platform
279 
280 //
281 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -match-full-lines -check-prefix MSP430 %s
282 // RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -match-full-lines -check-prefix MSP430 -check-prefix MSP430-CXX %s
283 //
284 // MSP430:#define MSP430 1
285 // MSP430-NOT:#define _LP64
286 // MSP430:#define __BIGGEST_ALIGNMENT__ 2
287 // MSP430:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
288 // MSP430:#define __CHAR16_TYPE__ unsigned short
289 // MSP430:#define __CHAR32_TYPE__ unsigned int
290 // MSP430:#define __CHAR_BIT__ 8
291 // MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
292 // MSP430:#define __DBL_DIG__ 15
293 // MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
294 // MSP430:#define __DBL_HAS_DENORM__ 1
295 // MSP430:#define __DBL_HAS_INFINITY__ 1
296 // MSP430:#define __DBL_HAS_QUIET_NAN__ 1
297 // MSP430:#define __DBL_MANT_DIG__ 53
298 // MSP430:#define __DBL_MAX_10_EXP__ 308
299 // MSP430:#define __DBL_MAX_EXP__ 1024
300 // MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
301 // MSP430:#define __DBL_MIN_10_EXP__ (-307)
302 // MSP430:#define __DBL_MIN_EXP__ (-1021)
303 // MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
304 // MSP430:#define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__
305 // MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
306 // MSP430:#define __FLT_DIG__ 6
307 // MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
308 // MSP430:#define __FLT_EVAL_METHOD__ 0
309 // MSP430:#define __FLT_HAS_DENORM__ 1
310 // MSP430:#define __FLT_HAS_INFINITY__ 1
311 // MSP430:#define __FLT_HAS_QUIET_NAN__ 1
312 // MSP430:#define __FLT_MANT_DIG__ 24
313 // MSP430:#define __FLT_MAX_10_EXP__ 38
314 // MSP430:#define __FLT_MAX_EXP__ 128
315 // MSP430:#define __FLT_MAX__ 3.40282347e+38F
316 // MSP430:#define __FLT_MIN_10_EXP__ (-37)
317 // MSP430:#define __FLT_MIN_EXP__ (-125)
318 // MSP430:#define __FLT_MIN__ 1.17549435e-38F
319 // MSP430:#define __FLT_RADIX__ 2
320 // MSP430:#define __INT16_C_SUFFIX__
321 // MSP430:#define __INT16_FMTd__ "hd"
322 // MSP430:#define __INT16_FMTi__ "hi"
323 // MSP430:#define __INT16_MAX__ 32767
324 // MSP430:#define __INT16_TYPE__ short
325 // MSP430:#define __INT32_C_SUFFIX__ L
326 // MSP430:#define __INT32_FMTd__ "ld"
327 // MSP430:#define __INT32_FMTi__ "li"
328 // MSP430:#define __INT32_MAX__ 2147483647L
329 // MSP430:#define __INT32_TYPE__ long int
330 // MSP430:#define __INT64_C_SUFFIX__ LL
331 // MSP430:#define __INT64_FMTd__ "lld"
332 // MSP430:#define __INT64_FMTi__ "lli"
333 // MSP430:#define __INT64_MAX__ 9223372036854775807LL
334 // MSP430:#define __INT64_TYPE__ long long int
335 // MSP430:#define __INT8_C_SUFFIX__
336 // MSP430:#define __INT8_FMTd__ "hhd"
337 // MSP430:#define __INT8_FMTi__ "hhi"
338 // MSP430:#define __INT8_MAX__ 127
339 // MSP430:#define __INT8_TYPE__ signed char
340 // MSP430:#define __INTMAX_C_SUFFIX__ LL
341 // MSP430:#define __INTMAX_FMTd__ "lld"
342 // MSP430:#define __INTMAX_FMTi__ "lli"
343 // MSP430:#define __INTMAX_MAX__ 9223372036854775807LL
344 // MSP430:#define __INTMAX_TYPE__ long long int
345 // MSP430:#define __INTMAX_WIDTH__ 64
346 // MSP430:#define __INTPTR_FMTd__ "d"
347 // MSP430:#define __INTPTR_FMTi__ "i"
348 // MSP430:#define __INTPTR_MAX__ 32767
349 // MSP430:#define __INTPTR_TYPE__ int
350 // MSP430:#define __INTPTR_WIDTH__ 16
351 // MSP430:#define __INT_FAST16_FMTd__ "hd"
352 // MSP430:#define __INT_FAST16_FMTi__ "hi"
353 // MSP430:#define __INT_FAST16_MAX__ 32767
354 // MSP430:#define __INT_FAST16_TYPE__ short
355 // MSP430:#define __INT_FAST32_FMTd__ "ld"
356 // MSP430:#define __INT_FAST32_FMTi__ "li"
357 // MSP430:#define __INT_FAST32_MAX__ 2147483647L
358 // MSP430:#define __INT_FAST32_TYPE__ long int
359 // MSP430:#define __INT_FAST64_FMTd__ "lld"
360 // MSP430:#define __INT_FAST64_FMTi__ "lli"
361 // MSP430:#define __INT_FAST64_MAX__ 9223372036854775807LL
362 // MSP430:#define __INT_FAST64_TYPE__ long long int
363 // MSP430:#define __INT_FAST8_FMTd__ "hhd"
364 // MSP430:#define __INT_FAST8_FMTi__ "hhi"
365 // MSP430:#define __INT_FAST8_MAX__ 127
366 // MSP430:#define __INT_FAST8_TYPE__ signed char
367 // MSP430:#define __INT_LEAST16_FMTd__ "hd"
368 // MSP430:#define __INT_LEAST16_FMTi__ "hi"
369 // MSP430:#define __INT_LEAST16_MAX__ 32767
370 // MSP430:#define __INT_LEAST16_TYPE__ short
371 // MSP430:#define __INT_LEAST32_FMTd__ "ld"
372 // MSP430:#define __INT_LEAST32_FMTi__ "li"
373 // MSP430:#define __INT_LEAST32_MAX__ 2147483647L
374 // MSP430:#define __INT_LEAST32_TYPE__ long int
375 // MSP430:#define __INT_LEAST64_FMTd__ "lld"
376 // MSP430:#define __INT_LEAST64_FMTi__ "lli"
377 // MSP430:#define __INT_LEAST64_MAX__ 9223372036854775807LL
378 // MSP430:#define __INT_LEAST64_TYPE__ long long int
379 // MSP430:#define __INT_LEAST8_FMTd__ "hhd"
380 // MSP430:#define __INT_LEAST8_FMTi__ "hhi"
381 // MSP430:#define __INT_LEAST8_MAX__ 127
382 // MSP430:#define __INT_LEAST8_TYPE__ signed char
383 // MSP430:#define __INT_MAX__ 32767
384 // MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
385 // MSP430:#define __LDBL_DIG__ 15
386 // MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
387 // MSP430:#define __LDBL_HAS_DENORM__ 1
388 // MSP430:#define __LDBL_HAS_INFINITY__ 1
389 // MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
390 // MSP430:#define __LDBL_MANT_DIG__ 53
391 // MSP430:#define __LDBL_MAX_10_EXP__ 308
392 // MSP430:#define __LDBL_MAX_EXP__ 1024
393 // MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308L
394 // MSP430:#define __LDBL_MIN_10_EXP__ (-307)
395 // MSP430:#define __LDBL_MIN_EXP__ (-1021)
396 // MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308L
397 // MSP430:#define __LITTLE_ENDIAN__ 1
398 // MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
399 // MSP430:#define __LONG_MAX__ 2147483647L
400 // MSP430-NOT:#define __LP64__
401 // MSP430:#define __MSP430__ 1
402 // MSP430:#define __POINTER_WIDTH__ 16
403 // MSP430:#define __PTRDIFF_TYPE__ int
404 // MSP430:#define __PTRDIFF_WIDTH__ 16
405 // MSP430:#define __SCHAR_MAX__ 127
406 // MSP430:#define __SHRT_MAX__ 32767
407 // MSP430:#define __SIG_ATOMIC_MAX__ 2147483647L
408 // MSP430:#define __SIG_ATOMIC_WIDTH__ 32
409 // MSP430:#define __SIZEOF_DOUBLE__ 8
410 // MSP430:#define __SIZEOF_FLOAT__ 4
411 // MSP430:#define __SIZEOF_INT__ 2
412 // MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
413 // MSP430:#define __SIZEOF_LONG_LONG__ 8
414 // MSP430:#define __SIZEOF_LONG__ 4
415 // MSP430:#define __SIZEOF_POINTER__ 2
416 // MSP430:#define __SIZEOF_PTRDIFF_T__ 2
417 // MSP430:#define __SIZEOF_SHORT__ 2
418 // MSP430:#define __SIZEOF_SIZE_T__ 2
419 // MSP430:#define __SIZEOF_WCHAR_T__ 2
420 // MSP430:#define __SIZEOF_WINT_T__ 2
421 // MSP430:#define __SIZE_MAX__ 65535U
422 // MSP430:#define __SIZE_TYPE__ unsigned int
423 // MSP430:#define __SIZE_WIDTH__ 16
424 // MSP430-CXX:#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 2U
425 // MSP430:#define __UINT16_C_SUFFIX__ U
426 // MSP430:#define __UINT16_MAX__ 65535U
427 // MSP430:#define __UINT16_TYPE__ unsigned short
428 // MSP430:#define __UINT32_C_SUFFIX__ UL
429 // MSP430:#define __UINT32_MAX__ 4294967295UL
430 // MSP430:#define __UINT32_TYPE__ long unsigned int
431 // MSP430:#define __UINT64_C_SUFFIX__ ULL
432 // MSP430:#define __UINT64_MAX__ 18446744073709551615ULL
433 // MSP430:#define __UINT64_TYPE__ long long unsigned int
434 // MSP430:#define __UINT8_C_SUFFIX__
435 // MSP430:#define __UINT8_MAX__ 255
436 // MSP430:#define __UINT8_TYPE__ unsigned char
437 // MSP430:#define __UINTMAX_C_SUFFIX__ ULL
438 // MSP430:#define __UINTMAX_MAX__ 18446744073709551615ULL
439 // MSP430:#define __UINTMAX_TYPE__ long long unsigned int
440 // MSP430:#define __UINTMAX_WIDTH__ 64
441 // MSP430:#define __UINTPTR_MAX__ 65535U
442 // MSP430:#define __UINTPTR_TYPE__ unsigned int
443 // MSP430:#define __UINTPTR_WIDTH__ 16
444 // MSP430:#define __UINT_FAST16_MAX__ 65535U
445 // MSP430:#define __UINT_FAST16_TYPE__ unsigned short
446 // MSP430:#define __UINT_FAST32_MAX__ 4294967295UL
447 // MSP430:#define __UINT_FAST32_TYPE__ long unsigned int
448 // MSP430:#define __UINT_FAST64_MAX__ 18446744073709551615ULL
449 // MSP430:#define __UINT_FAST64_TYPE__ long long unsigned int
450 // MSP430:#define __UINT_FAST8_MAX__ 255
451 // MSP430:#define __UINT_FAST8_TYPE__ unsigned char
452 // MSP430:#define __UINT_LEAST16_MAX__ 65535U
453 // MSP430:#define __UINT_LEAST16_TYPE__ unsigned short
454 // MSP430:#define __UINT_LEAST32_MAX__ 4294967295UL
455 // MSP430:#define __UINT_LEAST32_TYPE__ long unsigned int
456 // MSP430:#define __UINT_LEAST64_MAX__ 18446744073709551615ULL
457 // MSP430:#define __UINT_LEAST64_TYPE__ long long unsigned int
458 // MSP430:#define __UINT_LEAST8_MAX__ 255
459 // MSP430:#define __UINT_LEAST8_TYPE__ unsigned char
460 // MSP430:#define __USER_LABEL_PREFIX__
461 // MSP430:#define __WCHAR_MAX__ 32767
462 // MSP430:#define __WCHAR_TYPE__ int
463 // MSP430:#define __WCHAR_WIDTH__ 16
464 // MSP430:#define __WINT_TYPE__ int
465 // MSP430:#define __WINT_WIDTH__ 16
466 // MSP430:#define __clang__ 1
467 //
468 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -match-full-lines -check-prefix NVPTX32 %s
469 // RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -match-full-lines -check-prefix NVPTX32 -check-prefix NVPTX32-CXX %s
470 //
471 // NVPTX32-NOT:#define _LP64
472 // NVPTX32:#define __BIGGEST_ALIGNMENT__ 8
473 // NVPTX32:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
474 // NVPTX32:#define __CHAR16_TYPE__ unsigned short
475 // NVPTX32:#define __CHAR32_TYPE__ unsigned int
476 // NVPTX32:#define __CHAR_BIT__ 8
477 // NVPTX32:#define __CONSTANT_CFSTRINGS__ 1
478 // NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
479 // NVPTX32:#define __DBL_DIG__ 15
480 // NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16
481 // NVPTX32:#define __DBL_HAS_DENORM__ 1
482 // NVPTX32:#define __DBL_HAS_INFINITY__ 1
483 // NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1
484 // NVPTX32:#define __DBL_MANT_DIG__ 53
485 // NVPTX32:#define __DBL_MAX_10_EXP__ 308
486 // NVPTX32:#define __DBL_MAX_EXP__ 1024
487 // NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308
488 // NVPTX32:#define __DBL_MIN_10_EXP__ (-307)
489 // NVPTX32:#define __DBL_MIN_EXP__ (-1021)
490 // NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308
491 // NVPTX32:#define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__
492 // NVPTX32:#define __FINITE_MATH_ONLY__ 0
493 // NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F
494 // NVPTX32:#define __FLT_DIG__ 6
495 // NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F
496 // NVPTX32:#define __FLT_EVAL_METHOD__ 0
497 // NVPTX32:#define __FLT_HAS_DENORM__ 1
498 // NVPTX32:#define __FLT_HAS_INFINITY__ 1
499 // NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1
500 // NVPTX32:#define __FLT_MANT_DIG__ 24
501 // NVPTX32:#define __FLT_MAX_10_EXP__ 38
502 // NVPTX32:#define __FLT_MAX_EXP__ 128
503 // NVPTX32:#define __FLT_MAX__ 3.40282347e+38F
504 // NVPTX32:#define __FLT_MIN_10_EXP__ (-37)
505 // NVPTX32:#define __FLT_MIN_EXP__ (-125)
506 // NVPTX32:#define __FLT_MIN__ 1.17549435e-38F
507 // NVPTX32:#define __FLT_RADIX__ 2
508 // NVPTX32:#define __INT16_C_SUFFIX__
509 // NVPTX32:#define __INT16_FMTd__ "hd"
510 // NVPTX32:#define __INT16_FMTi__ "hi"
511 // NVPTX32:#define __INT16_MAX__ 32767
512 // NVPTX32:#define __INT16_TYPE__ short
513 // NVPTX32:#define __INT32_C_SUFFIX__
514 // NVPTX32:#define __INT32_FMTd__ "d"
515 // NVPTX32:#define __INT32_FMTi__ "i"
516 // NVPTX32:#define __INT32_MAX__ 2147483647
517 // NVPTX32:#define __INT32_TYPE__ int
518 // NVPTX32:#define __INT64_C_SUFFIX__ LL
519 // NVPTX32:#define __INT64_FMTd__ "lld"
520 // NVPTX32:#define __INT64_FMTi__ "lli"
521 // NVPTX32:#define __INT64_MAX__ 9223372036854775807LL
522 // NVPTX32:#define __INT64_TYPE__ long long int
523 // NVPTX32:#define __INT8_C_SUFFIX__
524 // NVPTX32:#define __INT8_FMTd__ "hhd"
525 // NVPTX32:#define __INT8_FMTi__ "hhi"
526 // NVPTX32:#define __INT8_MAX__ 127
527 // NVPTX32:#define __INT8_TYPE__ signed char
528 // NVPTX32:#define __INTMAX_C_SUFFIX__ LL
529 // NVPTX32:#define __INTMAX_FMTd__ "lld"
530 // NVPTX32:#define __INTMAX_FMTi__ "lli"
531 // NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL
532 // NVPTX32:#define __INTMAX_TYPE__ long long int
533 // NVPTX32:#define __INTMAX_WIDTH__ 64
534 // NVPTX32:#define __INTPTR_FMTd__ "d"
535 // NVPTX32:#define __INTPTR_FMTi__ "i"
536 // NVPTX32:#define __INTPTR_MAX__ 2147483647
537 // NVPTX32:#define __INTPTR_TYPE__ int
538 // NVPTX32:#define __INTPTR_WIDTH__ 32
539 // NVPTX32:#define __INT_FAST16_FMTd__ "hd"
540 // NVPTX32:#define __INT_FAST16_FMTi__ "hi"
541 // NVPTX32:#define __INT_FAST16_MAX__ 32767
542 // NVPTX32:#define __INT_FAST16_TYPE__ short
543 // NVPTX32:#define __INT_FAST32_FMTd__ "d"
544 // NVPTX32:#define __INT_FAST32_FMTi__ "i"
545 // NVPTX32:#define __INT_FAST32_MAX__ 2147483647
546 // NVPTX32:#define __INT_FAST32_TYPE__ int
547 // NVPTX32:#define __INT_FAST64_FMTd__ "lld"
548 // NVPTX32:#define __INT_FAST64_FMTi__ "lli"
549 // NVPTX32:#define __INT_FAST64_MAX__ 9223372036854775807LL
550 // NVPTX32:#define __INT_FAST64_TYPE__ long long int
551 // NVPTX32:#define __INT_FAST8_FMTd__ "hhd"
552 // NVPTX32:#define __INT_FAST8_FMTi__ "hhi"
553 // NVPTX32:#define __INT_FAST8_MAX__ 127
554 // NVPTX32:#define __INT_FAST8_TYPE__ signed char
555 // NVPTX32:#define __INT_LEAST16_FMTd__ "hd"
556 // NVPTX32:#define __INT_LEAST16_FMTi__ "hi"
557 // NVPTX32:#define __INT_LEAST16_MAX__ 32767
558 // NVPTX32:#define __INT_LEAST16_TYPE__ short
559 // NVPTX32:#define __INT_LEAST32_FMTd__ "d"
560 // NVPTX32:#define __INT_LEAST32_FMTi__ "i"
561 // NVPTX32:#define __INT_LEAST32_MAX__ 2147483647
562 // NVPTX32:#define __INT_LEAST32_TYPE__ int
563 // NVPTX32:#define __INT_LEAST64_FMTd__ "lld"
564 // NVPTX32:#define __INT_LEAST64_FMTi__ "lli"
565 // NVPTX32:#define __INT_LEAST64_MAX__ 9223372036854775807LL
566 // NVPTX32:#define __INT_LEAST64_TYPE__ long long int
567 // NVPTX32:#define __INT_LEAST8_FMTd__ "hhd"
568 // NVPTX32:#define __INT_LEAST8_FMTi__ "hhi"
569 // NVPTX32:#define __INT_LEAST8_MAX__ 127
570 // NVPTX32:#define __INT_LEAST8_TYPE__ signed char
571 // NVPTX32:#define __INT_MAX__ 2147483647
572 // NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
573 // NVPTX32:#define __LDBL_DIG__ 15
574 // NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
575 // NVPTX32:#define __LDBL_HAS_DENORM__ 1
576 // NVPTX32:#define __LDBL_HAS_INFINITY__ 1
577 // NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1
578 // NVPTX32:#define __LDBL_MANT_DIG__ 53
579 // NVPTX32:#define __LDBL_MAX_10_EXP__ 308
580 // NVPTX32:#define __LDBL_MAX_EXP__ 1024
581 // NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308L
582 // NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
583 // NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
584 // NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308L
585 // NVPTX32:#define __LITTLE_ENDIAN__ 1
586 // NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL
587 // NVPTX32:#define __LONG_MAX__ 2147483647L
588 // NVPTX32-NOT:#define __LP64__
589 // NVPTX32:#define __NVPTX__ 1
590 // NVPTX32:#define __POINTER_WIDTH__ 32
591 // NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1
592 // NVPTX32:#define __PTRDIFF_TYPE__ int
593 // NVPTX32:#define __PTRDIFF_WIDTH__ 32
594 // NVPTX32:#define __PTX__ 1
595 // NVPTX32:#define __SCHAR_MAX__ 127
596 // NVPTX32:#define __SHRT_MAX__ 32767
597 // NVPTX32:#define __SIG_ATOMIC_MAX__ 2147483647
598 // NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32
599 // NVPTX32:#define __SIZEOF_DOUBLE__ 8
600 // NVPTX32:#define __SIZEOF_FLOAT__ 4
601 // NVPTX32:#define __SIZEOF_INT__ 4
602 // NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8
603 // NVPTX32:#define __SIZEOF_LONG_LONG__ 8
604 // NVPTX32:#define __SIZEOF_LONG__ 4
605 // NVPTX32:#define __SIZEOF_POINTER__ 4
606 // NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4
607 // NVPTX32:#define __SIZEOF_SHORT__ 2
608 // NVPTX32:#define __SIZEOF_SIZE_T__ 4
609 // NVPTX32:#define __SIZEOF_WCHAR_T__ 4
610 // NVPTX32:#define __SIZEOF_WINT_T__ 4
611 // NVPTX32:#define __SIZE_MAX__ 4294967295U
612 // NVPTX32:#define __SIZE_TYPE__ unsigned int
613 // NVPTX32:#define __SIZE_WIDTH__ 32
614 // NVPTX32-CXX:#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 8U
615 // NVPTX32:#define __UINT16_C_SUFFIX__
616 // NVPTX32:#define __UINT16_MAX__ 65535
617 // NVPTX32:#define __UINT16_TYPE__ unsigned short
618 // NVPTX32:#define __UINT32_C_SUFFIX__ U
619 // NVPTX32:#define __UINT32_MAX__ 4294967295U
620 // NVPTX32:#define __UINT32_TYPE__ unsigned int
621 // NVPTX32:#define __UINT64_C_SUFFIX__ ULL
622 // NVPTX32:#define __UINT64_MAX__ 18446744073709551615ULL
623 // NVPTX32:#define __UINT64_TYPE__ long long unsigned int
624 // NVPTX32:#define __UINT8_C_SUFFIX__
625 // NVPTX32:#define __UINT8_MAX__ 255
626 // NVPTX32:#define __UINT8_TYPE__ unsigned char
627 // NVPTX32:#define __UINTMAX_C_SUFFIX__ ULL
628 // NVPTX32:#define __UINTMAX_MAX__ 18446744073709551615ULL
629 // NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int
630 // NVPTX32:#define __UINTMAX_WIDTH__ 64
631 // NVPTX32:#define __UINTPTR_MAX__ 4294967295U
632 // NVPTX32:#define __UINTPTR_TYPE__ unsigned int
633 // NVPTX32:#define __UINTPTR_WIDTH__ 32
634 // NVPTX32:#define __UINT_FAST16_MAX__ 65535
635 // NVPTX32:#define __UINT_FAST16_TYPE__ unsigned short
636 // NVPTX32:#define __UINT_FAST32_MAX__ 4294967295U
637 // NVPTX32:#define __UINT_FAST32_TYPE__ unsigned int
638 // NVPTX32:#define __UINT_FAST64_MAX__ 18446744073709551615ULL
639 // NVPTX32:#define __UINT_FAST64_TYPE__ long long unsigned int
640 // NVPTX32:#define __UINT_FAST8_MAX__ 255
641 // NVPTX32:#define __UINT_FAST8_TYPE__ unsigned char
642 // NVPTX32:#define __UINT_LEAST16_MAX__ 65535
643 // NVPTX32:#define __UINT_LEAST16_TYPE__ unsigned short
644 // NVPTX32:#define __UINT_LEAST32_MAX__ 4294967295U
645 // NVPTX32:#define __UINT_LEAST32_TYPE__ unsigned int
646 // NVPTX32:#define __UINT_LEAST64_MAX__ 18446744073709551615ULL
647 // NVPTX32:#define __UINT_LEAST64_TYPE__ long long unsigned int
648 // NVPTX32:#define __UINT_LEAST8_MAX__ 255
649 // NVPTX32:#define __UINT_LEAST8_TYPE__ unsigned char
650 // NVPTX32:#define __USER_LABEL_PREFIX__
651 // NVPTX32:#define __WCHAR_MAX__ 2147483647
652 // NVPTX32:#define __WCHAR_TYPE__ int
653 // NVPTX32:#define __WCHAR_WIDTH__ 32
654 // NVPTX32:#define __WINT_TYPE__ int
655 // NVPTX32:#define __WINT_WIDTH__ 32
656 //
657 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -match-full-lines -check-prefix NVPTX64 %s
658 // RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -match-full-lines -check-prefix NVPTX64 -check-prefix NVPTX64-CXX %s
659 //
660 // NVPTX64:#define _LP64 1
661 // NVPTX64:#define __BIGGEST_ALIGNMENT__ 8
662 // NVPTX64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
663 // NVPTX64:#define __CHAR16_TYPE__ unsigned short
664 // NVPTX64:#define __CHAR32_TYPE__ unsigned int
665 // NVPTX64:#define __CHAR_BIT__ 8
666 // NVPTX64:#define __CONSTANT_CFSTRINGS__ 1
667 // NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
668 // NVPTX64:#define __DBL_DIG__ 15
669 // NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16
670 // NVPTX64:#define __DBL_HAS_DENORM__ 1
671 // NVPTX64:#define __DBL_HAS_INFINITY__ 1
672 // NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1
673 // NVPTX64:#define __DBL_MANT_DIG__ 53
674 // NVPTX64:#define __DBL_MAX_10_EXP__ 308
675 // NVPTX64:#define __DBL_MAX_EXP__ 1024
676 // NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308
677 // NVPTX64:#define __DBL_MIN_10_EXP__ (-307)
678 // NVPTX64:#define __DBL_MIN_EXP__ (-1021)
679 // NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308
680 // NVPTX64:#define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__
681 // NVPTX64:#define __FINITE_MATH_ONLY__ 0
682 // NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
683 // NVPTX64:#define __FLT_DIG__ 6
684 // NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F
685 // NVPTX64:#define __FLT_EVAL_METHOD__ 0
686 // NVPTX64:#define __FLT_HAS_DENORM__ 1
687 // NVPTX64:#define __FLT_HAS_INFINITY__ 1
688 // NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1
689 // NVPTX64:#define __FLT_MANT_DIG__ 24
690 // NVPTX64:#define __FLT_MAX_10_EXP__ 38
691 // NVPTX64:#define __FLT_MAX_EXP__ 128
692 // NVPTX64:#define __FLT_MAX__ 3.40282347e+38F
693 // NVPTX64:#define __FLT_MIN_10_EXP__ (-37)
694 // NVPTX64:#define __FLT_MIN_EXP__ (-125)
695 // NVPTX64:#define __FLT_MIN__ 1.17549435e-38F
696 // NVPTX64:#define __FLT_RADIX__ 2
697 // NVPTX64:#define __INT16_C_SUFFIX__
698 // NVPTX64:#define __INT16_FMTd__ "hd"
699 // NVPTX64:#define __INT16_FMTi__ "hi"
700 // NVPTX64:#define __INT16_MAX__ 32767
701 // NVPTX64:#define __INT16_TYPE__ short
702 // NVPTX64:#define __INT32_C_SUFFIX__
703 // NVPTX64:#define __INT32_FMTd__ "d"
704 // NVPTX64:#define __INT32_FMTi__ "i"
705 // NVPTX64:#define __INT32_MAX__ 2147483647
706 // NVPTX64:#define __INT32_TYPE__ int
707 // NVPTX64:#define __INT64_C_SUFFIX__ LL
708 // NVPTX64:#define __INT64_FMTd__ "lld"
709 // NVPTX64:#define __INT64_FMTi__ "lli"
710 // NVPTX64:#define __INT64_MAX__ 9223372036854775807LL
711 // NVPTX64:#define __INT64_TYPE__ long long int
712 // NVPTX64:#define __INT8_C_SUFFIX__
713 // NVPTX64:#define __INT8_FMTd__ "hhd"
714 // NVPTX64:#define __INT8_FMTi__ "hhi"
715 // NVPTX64:#define __INT8_MAX__ 127
716 // NVPTX64:#define __INT8_TYPE__ signed char
717 // NVPTX64:#define __INTMAX_C_SUFFIX__ LL
718 // NVPTX64:#define __INTMAX_FMTd__ "lld"
719 // NVPTX64:#define __INTMAX_FMTi__ "lli"
720 // NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL
721 // NVPTX64:#define __INTMAX_TYPE__ long long int
722 // NVPTX64:#define __INTMAX_WIDTH__ 64
723 // NVPTX64:#define __INTPTR_FMTd__ "ld"
724 // NVPTX64:#define __INTPTR_FMTi__ "li"
725 // NVPTX64:#define __INTPTR_MAX__ 9223372036854775807L
726 // NVPTX64:#define __INTPTR_TYPE__ long int
727 // NVPTX64:#define __INTPTR_WIDTH__ 64
728 // NVPTX64:#define __INT_FAST16_FMTd__ "hd"
729 // NVPTX64:#define __INT_FAST16_FMTi__ "hi"
730 // NVPTX64:#define __INT_FAST16_MAX__ 32767
731 // NVPTX64:#define __INT_FAST16_TYPE__ short
732 // NVPTX64:#define __INT_FAST32_FMTd__ "d"
733 // NVPTX64:#define __INT_FAST32_FMTi__ "i"
734 // NVPTX64:#define __INT_FAST32_MAX__ 2147483647
735 // NVPTX64:#define __INT_FAST32_TYPE__ int
736 // NVPTX64:#define __INT_FAST64_FMTd__ "ld"
737 // NVPTX64:#define __INT_FAST64_FMTi__ "li"
738 // NVPTX64:#define __INT_FAST64_MAX__ 9223372036854775807L
739 // NVPTX64:#define __INT_FAST64_TYPE__ long int
740 // NVPTX64:#define __INT_FAST8_FMTd__ "hhd"
741 // NVPTX64:#define __INT_FAST8_FMTi__ "hhi"
742 // NVPTX64:#define __INT_FAST8_MAX__ 127
743 // NVPTX64:#define __INT_FAST8_TYPE__ signed char
744 // NVPTX64:#define __INT_LEAST16_FMTd__ "hd"
745 // NVPTX64:#define __INT_LEAST16_FMTi__ "hi"
746 // NVPTX64:#define __INT_LEAST16_MAX__ 32767
747 // NVPTX64:#define __INT_LEAST16_TYPE__ short
748 // NVPTX64:#define __INT_LEAST32_FMTd__ "d"
749 // NVPTX64:#define __INT_LEAST32_FMTi__ "i"
750 // NVPTX64:#define __INT_LEAST32_MAX__ 2147483647
751 // NVPTX64:#define __INT_LEAST32_TYPE__ int
752 // NVPTX64:#define __INT_LEAST64_FMTd__ "ld"
753 // NVPTX64:#define __INT_LEAST64_FMTi__ "li"
754 // NVPTX64:#define __INT_LEAST64_MAX__ 9223372036854775807L
755 // NVPTX64:#define __INT_LEAST64_TYPE__ long int
756 // NVPTX64:#define __INT_LEAST8_FMTd__ "hhd"
757 // NVPTX64:#define __INT_LEAST8_FMTi__ "hhi"
758 // NVPTX64:#define __INT_LEAST8_MAX__ 127
759 // NVPTX64:#define __INT_LEAST8_TYPE__ signed char
760 // NVPTX64:#define __INT_MAX__ 2147483647
761 // NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
762 // NVPTX64:#define __LDBL_DIG__ 15
763 // NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
764 // NVPTX64:#define __LDBL_HAS_DENORM__ 1
765 // NVPTX64:#define __LDBL_HAS_INFINITY__ 1
766 // NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1
767 // NVPTX64:#define __LDBL_MANT_DIG__ 53
768 // NVPTX64:#define __LDBL_MAX_10_EXP__ 308
769 // NVPTX64:#define __LDBL_MAX_EXP__ 1024
770 // NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308L
771 // NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
772 // NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
773 // NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308L
774 // NVPTX64:#define __LITTLE_ENDIAN__ 1
775 // NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL
776 // NVPTX64:#define __LONG_MAX__ 9223372036854775807L
777 // NVPTX64:#define __LP64__ 1
778 // NVPTX64:#define __NVPTX__ 1
779 // NVPTX64:#define __POINTER_WIDTH__ 64
780 // NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1
781 // NVPTX64:#define __PTRDIFF_TYPE__ long int
782 // NVPTX64:#define __PTRDIFF_WIDTH__ 64
783 // NVPTX64:#define __PTX__ 1
784 // NVPTX64:#define __SCHAR_MAX__ 127
785 // NVPTX64:#define __SHRT_MAX__ 32767
786 // NVPTX64:#define __SIG_ATOMIC_MAX__ 2147483647
787 // NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32
788 // NVPTX64:#define __SIZEOF_DOUBLE__ 8
789 // NVPTX64:#define __SIZEOF_FLOAT__ 4
790 // NVPTX64:#define __SIZEOF_INT__ 4
791 // NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8
792 // NVPTX64:#define __SIZEOF_LONG_LONG__ 8
793 // NVPTX64:#define __SIZEOF_LONG__ 8
794 // NVPTX64:#define __SIZEOF_POINTER__ 8
795 // NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8
796 // NVPTX64:#define __SIZEOF_SHORT__ 2
797 // NVPTX64:#define __SIZEOF_SIZE_T__ 8
798 // NVPTX64:#define __SIZEOF_WCHAR_T__ 4
799 // NVPTX64:#define __SIZEOF_WINT_T__ 4
800 // NVPTX64:#define __SIZE_MAX__ 18446744073709551615UL
801 // NVPTX64:#define __SIZE_TYPE__ long unsigned int
802 // NVPTX64:#define __SIZE_WIDTH__ 64
803 // NVPTX64-CXX:#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 8UL
804 // NVPTX64:#define __UINT16_C_SUFFIX__
805 // NVPTX64:#define __UINT16_MAX__ 65535
806 // NVPTX64:#define __UINT16_TYPE__ unsigned short
807 // NVPTX64:#define __UINT32_C_SUFFIX__ U
808 // NVPTX64:#define __UINT32_MAX__ 4294967295U
809 // NVPTX64:#define __UINT32_TYPE__ unsigned int
810 // NVPTX64:#define __UINT64_C_SUFFIX__ ULL
811 // NVPTX64:#define __UINT64_MAX__ 18446744073709551615ULL
812 // NVPTX64:#define __UINT64_TYPE__ long long unsigned int
813 // NVPTX64:#define __UINT8_C_SUFFIX__
814 // NVPTX64:#define __UINT8_MAX__ 255
815 // NVPTX64:#define __UINT8_TYPE__ unsigned char
816 // NVPTX64:#define __UINTMAX_C_SUFFIX__ ULL
817 // NVPTX64:#define __UINTMAX_MAX__ 18446744073709551615ULL
818 // NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int
819 // NVPTX64:#define __UINTMAX_WIDTH__ 64
820 // NVPTX64:#define __UINTPTR_MAX__ 18446744073709551615UL
821 // NVPTX64:#define __UINTPTR_TYPE__ long unsigned int
822 // NVPTX64:#define __UINTPTR_WIDTH__ 64
823 // NVPTX64:#define __UINT_FAST16_MAX__ 65535
824 // NVPTX64:#define __UINT_FAST16_TYPE__ unsigned short
825 // NVPTX64:#define __UINT_FAST32_MAX__ 4294967295U
826 // NVPTX64:#define __UINT_FAST32_TYPE__ unsigned int
827 // NVPTX64:#define __UINT_FAST64_MAX__ 18446744073709551615UL
828 // NVPTX64:#define __UINT_FAST64_TYPE__ long unsigned int
829 // NVPTX64:#define __UINT_FAST8_MAX__ 255
830 // NVPTX64:#define __UINT_FAST8_TYPE__ unsigned char
831 // NVPTX64:#define __UINT_LEAST16_MAX__ 65535
832 // NVPTX64:#define __UINT_LEAST16_TYPE__ unsigned short
833 // NVPTX64:#define __UINT_LEAST32_MAX__ 4294967295U
834 // NVPTX64:#define __UINT_LEAST32_TYPE__ unsigned int
835 // NVPTX64:#define __UINT_LEAST64_MAX__ 18446744073709551615UL
836 // NVPTX64:#define __UINT_LEAST64_TYPE__ long unsigned int
837 // NVPTX64:#define __UINT_LEAST8_MAX__ 255
838 // NVPTX64:#define __UINT_LEAST8_TYPE__ unsigned char
839 // NVPTX64:#define __USER_LABEL_PREFIX__
840 // NVPTX64:#define __WCHAR_MAX__ 2147483647
841 // NVPTX64:#define __WCHAR_TYPE__ int
842 // NVPTX64:#define __WCHAR_WIDTH__ 32
843 // NVPTX64:#define __WINT_TYPE__ int
844 // NVPTX64:#define __WINT_WIDTH__ 32
845 //
846 
847 // RUN: %clang_cc1 -x cl -E -dM -ffreestanding -triple=amdgcn < /dev/null | FileCheck -match-full-lines -check-prefix AMDGCN --check-prefix AMDGPU %s
848 // RUN: %clang_cc1 -x cl -E -dM -ffreestanding -triple=r600 -target-cpu caicos < /dev/null | FileCheck -match-full-lines --check-prefix AMDGPU %s
849 //
850 // AMDGPU:#define __ENDIAN_LITTLE__ 1
851 // AMDGPU:#define cl_khr_byte_addressable_store 1
852 // AMDGCN:#define cl_khr_fp64 1
853 // AMDGPU:#define cl_khr_global_int32_base_atomics 1
854 // AMDGPU:#define cl_khr_global_int32_extended_atomics 1
855 // AMDGPU:#define cl_khr_local_int32_base_atomics 1
856 // AMDGPU:#define cl_khr_local_int32_extended_atomics 1
857 
858 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=s390x-none-none -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix S390X %s
859 // RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -triple=s390x-none-none -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix S390X -check-prefix S390X-CXX %s
860 //
861 // S390X:#define __BIGGEST_ALIGNMENT__ 8
862 // S390X:#define __CHAR16_TYPE__ unsigned short
863 // S390X:#define __CHAR32_TYPE__ unsigned int
864 // S390X:#define __CHAR_BIT__ 8
865 // S390X:#define __CHAR_UNSIGNED__ 1
866 // S390X:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
867 // S390X:#define __DBL_DIG__ 15
868 // S390X:#define __DBL_EPSILON__ 2.2204460492503131e-16
869 // S390X:#define __DBL_HAS_DENORM__ 1
870 // S390X:#define __DBL_HAS_INFINITY__ 1
871 // S390X:#define __DBL_HAS_QUIET_NAN__ 1
872 // S390X:#define __DBL_MANT_DIG__ 53
873 // S390X:#define __DBL_MAX_10_EXP__ 308
874 // S390X:#define __DBL_MAX_EXP__ 1024
875 // S390X:#define __DBL_MAX__ 1.7976931348623157e+308
876 // S390X:#define __DBL_MIN_10_EXP__ (-307)
877 // S390X:#define __DBL_MIN_EXP__ (-1021)
878 // S390X:#define __DBL_MIN__ 2.2250738585072014e-308
879 // S390X:#define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__
880 // S390X:#define __FLT_DENORM_MIN__ 1.40129846e-45F
881 // S390X:#define __FLT_DIG__ 6
882 // S390X:#define __FLT_EPSILON__ 1.19209290e-7F
883 // S390X:#define __FLT_EVAL_METHOD__ 0
884 // S390X:#define __FLT_HAS_DENORM__ 1
885 // S390X:#define __FLT_HAS_INFINITY__ 1
886 // S390X:#define __FLT_HAS_QUIET_NAN__ 1
887 // S390X:#define __FLT_MANT_DIG__ 24
888 // S390X:#define __FLT_MAX_10_EXP__ 38
889 // S390X:#define __FLT_MAX_EXP__ 128
890 // S390X:#define __FLT_MAX__ 3.40282347e+38F
891 // S390X:#define __FLT_MIN_10_EXP__ (-37)
892 // S390X:#define __FLT_MIN_EXP__ (-125)
893 // S390X:#define __FLT_MIN__ 1.17549435e-38F
894 // S390X:#define __FLT_RADIX__ 2
895 // S390X:#define __INT16_C_SUFFIX__
896 // S390X:#define __INT16_FMTd__ "hd"
897 // S390X:#define __INT16_FMTi__ "hi"
898 // S390X:#define __INT16_MAX__ 32767
899 // S390X:#define __INT16_TYPE__ short
900 // S390X:#define __INT32_C_SUFFIX__
901 // S390X:#define __INT32_FMTd__ "d"
902 // S390X:#define __INT32_FMTi__ "i"
903 // S390X:#define __INT32_MAX__ 2147483647
904 // S390X:#define __INT32_TYPE__ int
905 // S390X:#define __INT64_C_SUFFIX__ L
906 // S390X:#define __INT64_FMTd__ "ld"
907 // S390X:#define __INT64_FMTi__ "li"
908 // S390X:#define __INT64_MAX__ 9223372036854775807L
909 // S390X:#define __INT64_TYPE__ long int
910 // S390X:#define __INT8_C_SUFFIX__
911 // S390X:#define __INT8_FMTd__ "hhd"
912 // S390X:#define __INT8_FMTi__ "hhi"
913 // S390X:#define __INT8_MAX__ 127
914 // S390X:#define __INT8_TYPE__ signed char
915 // S390X:#define __INTMAX_C_SUFFIX__ L
916 // S390X:#define __INTMAX_FMTd__ "ld"
917 // S390X:#define __INTMAX_FMTi__ "li"
918 // S390X:#define __INTMAX_MAX__ 9223372036854775807L
919 // S390X:#define __INTMAX_TYPE__ long int
920 // S390X:#define __INTMAX_WIDTH__ 64
921 // S390X:#define __INTPTR_FMTd__ "ld"
922 // S390X:#define __INTPTR_FMTi__ "li"
923 // S390X:#define __INTPTR_MAX__ 9223372036854775807L
924 // S390X:#define __INTPTR_TYPE__ long int
925 // S390X:#define __INTPTR_WIDTH__ 64
926 // S390X:#define __INT_FAST16_FMTd__ "hd"
927 // S390X:#define __INT_FAST16_FMTi__ "hi"
928 // S390X:#define __INT_FAST16_MAX__ 32767
929 // S390X:#define __INT_FAST16_TYPE__ short
930 // S390X:#define __INT_FAST32_FMTd__ "d"
931 // S390X:#define __INT_FAST32_FMTi__ "i"
932 // S390X:#define __INT_FAST32_MAX__ 2147483647
933 // S390X:#define __INT_FAST32_TYPE__ int
934 // S390X:#define __INT_FAST64_FMTd__ "ld"
935 // S390X:#define __INT_FAST64_FMTi__ "li"
936 // S390X:#define __INT_FAST64_MAX__ 9223372036854775807L
937 // S390X:#define __INT_FAST64_TYPE__ long int
938 // S390X:#define __INT_FAST8_FMTd__ "hhd"
939 // S390X:#define __INT_FAST8_FMTi__ "hhi"
940 // S390X:#define __INT_FAST8_MAX__ 127
941 // S390X:#define __INT_FAST8_TYPE__ signed char
942 // S390X:#define __INT_LEAST16_FMTd__ "hd"
943 // S390X:#define __INT_LEAST16_FMTi__ "hi"
944 // S390X:#define __INT_LEAST16_MAX__ 32767
945 // S390X:#define __INT_LEAST16_TYPE__ short
946 // S390X:#define __INT_LEAST32_FMTd__ "d"
947 // S390X:#define __INT_LEAST32_FMTi__ "i"
948 // S390X:#define __INT_LEAST32_MAX__ 2147483647
949 // S390X:#define __INT_LEAST32_TYPE__ int
950 // S390X:#define __INT_LEAST64_FMTd__ "ld"
951 // S390X:#define __INT_LEAST64_FMTi__ "li"
952 // S390X:#define __INT_LEAST64_MAX__ 9223372036854775807L
953 // S390X:#define __INT_LEAST64_TYPE__ long int
954 // S390X:#define __INT_LEAST8_FMTd__ "hhd"
955 // S390X:#define __INT_LEAST8_FMTi__ "hhi"
956 // S390X:#define __INT_LEAST8_MAX__ 127
957 // S390X:#define __INT_LEAST8_TYPE__ signed char
958 // S390X:#define __INT_MAX__ 2147483647
959 // S390X:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
960 // S390X:#define __LDBL_DIG__ 33
961 // S390X:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
962 // S390X:#define __LDBL_HAS_DENORM__ 1
963 // S390X:#define __LDBL_HAS_INFINITY__ 1
964 // S390X:#define __LDBL_HAS_QUIET_NAN__ 1
965 // S390X:#define __LDBL_MANT_DIG__ 113
966 // S390X:#define __LDBL_MAX_10_EXP__ 4932
967 // S390X:#define __LDBL_MAX_EXP__ 16384
968 // S390X:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
969 // S390X:#define __LDBL_MIN_10_EXP__ (-4931)
970 // S390X:#define __LDBL_MIN_EXP__ (-16381)
971 // S390X:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
972 // S390X:#define __LONG_LONG_MAX__ 9223372036854775807LL
973 // S390X:#define __LONG_MAX__ 9223372036854775807L
974 // S390X:#define __NO_INLINE__ 1
975 // S390X:#define __POINTER_WIDTH__ 64
976 // S390X:#define __PTRDIFF_TYPE__ long int
977 // S390X:#define __PTRDIFF_WIDTH__ 64
978 // S390X:#define __SCHAR_MAX__ 127
979 // S390X:#define __SHRT_MAX__ 32767
980 // S390X:#define __SIG_ATOMIC_MAX__ 2147483647
981 // S390X:#define __SIG_ATOMIC_WIDTH__ 32
982 // S390X:#define __SIZEOF_DOUBLE__ 8
983 // S390X:#define __SIZEOF_FLOAT__ 4
984 // S390X:#define __SIZEOF_INT__ 4
985 // S390X:#define __SIZEOF_LONG_DOUBLE__ 16
986 // S390X:#define __SIZEOF_LONG_LONG__ 8
987 // S390X:#define __SIZEOF_LONG__ 8
988 // S390X:#define __SIZEOF_POINTER__ 8
989 // S390X:#define __SIZEOF_PTRDIFF_T__ 8
990 // S390X:#define __SIZEOF_SHORT__ 2
991 // S390X:#define __SIZEOF_SIZE_T__ 8
992 // S390X:#define __SIZEOF_WCHAR_T__ 4
993 // S390X:#define __SIZEOF_WINT_T__ 4
994 // S390X:#define __SIZE_TYPE__ long unsigned int
995 // S390X:#define __SIZE_WIDTH__ 64
996 // S390X-CXX:#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 8UL
997 // S390X:#define __UINT16_C_SUFFIX__
998 // S390X:#define __UINT16_MAX__ 65535
999 // S390X:#define __UINT16_TYPE__ unsigned short
1000 // S390X:#define __UINT32_C_SUFFIX__ U
1001 // S390X:#define __UINT32_MAX__ 4294967295U
1002 // S390X:#define __UINT32_TYPE__ unsigned int
1003 // S390X:#define __UINT64_C_SUFFIX__ UL
1004 // S390X:#define __UINT64_MAX__ 18446744073709551615UL
1005 // S390X:#define __UINT64_TYPE__ long unsigned int
1006 // S390X:#define __UINT8_C_SUFFIX__
1007 // S390X:#define __UINT8_MAX__ 255
1008 // S390X:#define __UINT8_TYPE__ unsigned char
1009 // S390X:#define __UINTMAX_C_SUFFIX__ UL
1010 // S390X:#define __UINTMAX_MAX__ 18446744073709551615UL
1011 // S390X:#define __UINTMAX_TYPE__ long unsigned int
1012 // S390X:#define __UINTMAX_WIDTH__ 64
1013 // S390X:#define __UINTPTR_MAX__ 18446744073709551615UL
1014 // S390X:#define __UINTPTR_TYPE__ long unsigned int
1015 // S390X:#define __UINTPTR_WIDTH__ 64
1016 // S390X:#define __UINT_FAST16_MAX__ 65535
1017 // S390X:#define __UINT_FAST16_TYPE__ unsigned short
1018 // S390X:#define __UINT_FAST32_MAX__ 4294967295U
1019 // S390X:#define __UINT_FAST32_TYPE__ unsigned int
1020 // S390X:#define __UINT_FAST64_MAX__ 18446744073709551615UL
1021 // S390X:#define __UINT_FAST64_TYPE__ long unsigned int
1022 // S390X:#define __UINT_FAST8_MAX__ 255
1023 // S390X:#define __UINT_FAST8_TYPE__ unsigned char
1024 // S390X:#define __UINT_LEAST16_MAX__ 65535
1025 // S390X:#define __UINT_LEAST16_TYPE__ unsigned short
1026 // S390X:#define __UINT_LEAST32_MAX__ 4294967295U
1027 // S390X:#define __UINT_LEAST32_TYPE__ unsigned int
1028 // S390X:#define __UINT_LEAST64_MAX__ 18446744073709551615UL
1029 // S390X:#define __UINT_LEAST64_TYPE__ long unsigned int
1030 // S390X:#define __UINT_LEAST8_MAX__ 255
1031 // S390X:#define __UINT_LEAST8_TYPE__ unsigned char
1032 // S390X:#define __USER_LABEL_PREFIX__
1033 // S390X:#define __WCHAR_MAX__ 2147483647
1034 // S390X:#define __WCHAR_TYPE__ int
1035 // S390X:#define __WCHAR_WIDTH__ 32
1036 // S390X:#define __WINT_TYPE__ int
1037 // S390X:#define __WINT_WIDTH__ 32
1038 // S390X:#define __s390__ 1
1039 // S390X:#define __s390x__ 1
1040 //
1041 // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=sparc-none-none < /dev/null | FileCheck -match-full-lines -check-prefix SPARC -check-prefix SPARC-DEFAULT %s
1042 // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=sparc-rtems-elf < /dev/null | FileCheck -match-full-lines -check-prefix SPARC -check-prefix SPARC-DEFAULT %s
1043 // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=sparc-none-netbsd < /dev/null | FileCheck -match-full-lines -check-prefix SPARC -check-prefix SPARC-NETOPENBSD %s
1044 // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=sparc-none-openbsd < /dev/null | FileCheck -match-full-lines -check-prefix SPARC -check-prefix SPARC-NETOPENBSD %s
1045 // RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=sparc-none-none < /dev/null | FileCheck -match-full-lines -check-prefix SPARC -check-prefix SPARC-DEFAULT -check-prefix SPARC-DEFAULT-CXX %s
1046 // RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=sparc-none-openbsd < /dev/null | FileCheck -match-full-lines -check-prefix SPARC -check-prefix SPARC-NETOPENBSD -check-prefix SPARC-NETOPENBSD-CXX %s
1047 //
1048 // SPARC-NOT:#define _LP64
1049 // SPARC:#define __BIGGEST_ALIGNMENT__ 8
1050 // SPARC:#define __BIG_ENDIAN__ 1
1051 // SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
1052 // SPARC:#define __CHAR16_TYPE__ unsigned short
1053 // SPARC:#define __CHAR32_TYPE__ unsigned int
1054 // SPARC:#define __CHAR_BIT__ 8
1055 // SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1056 // SPARC:#define __DBL_DIG__ 15
1057 // SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
1058 // SPARC:#define __DBL_HAS_DENORM__ 1
1059 // SPARC:#define __DBL_HAS_INFINITY__ 1
1060 // SPARC:#define __DBL_HAS_QUIET_NAN__ 1
1061 // SPARC:#define __DBL_MANT_DIG__ 53
1062 // SPARC:#define __DBL_MAX_10_EXP__ 308
1063 // SPARC:#define __DBL_MAX_EXP__ 1024
1064 // SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
1065 // SPARC:#define __DBL_MIN_10_EXP__ (-307)
1066 // SPARC:#define __DBL_MIN_EXP__ (-1021)
1067 // SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
1068 // SPARC:#define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__
1069 // SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1070 // SPARC:#define __FLT_DIG__ 6
1071 // SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
1072 // SPARC:#define __FLT_EVAL_METHOD__ 0
1073 // SPARC:#define __FLT_HAS_DENORM__ 1
1074 // SPARC:#define __FLT_HAS_INFINITY__ 1
1075 // SPARC:#define __FLT_HAS_QUIET_NAN__ 1
1076 // SPARC:#define __FLT_MANT_DIG__ 24
1077 // SPARC:#define __FLT_MAX_10_EXP__ 38
1078 // SPARC:#define __FLT_MAX_EXP__ 128
1079 // SPARC:#define __FLT_MAX__ 3.40282347e+38F
1080 // SPARC:#define __FLT_MIN_10_EXP__ (-37)
1081 // SPARC:#define __FLT_MIN_EXP__ (-125)
1082 // SPARC:#define __FLT_MIN__ 1.17549435e-38F
1083 // SPARC:#define __FLT_RADIX__ 2
1084 // SPARC:#define __GCC_ATOMIC_LLONG_LOCK_FREE 1
1085 // SPARC:#define __INT16_C_SUFFIX__
1086 // SPARC:#define __INT16_FMTd__ "hd"
1087 // SPARC:#define __INT16_FMTi__ "hi"
1088 // SPARC:#define __INT16_MAX__ 32767
1089 // SPARC:#define __INT16_TYPE__ short
1090 // SPARC:#define __INT32_C_SUFFIX__
1091 // SPARC:#define __INT32_FMTd__ "d"
1092 // SPARC:#define __INT32_FMTi__ "i"
1093 // SPARC:#define __INT32_MAX__ 2147483647
1094 // SPARC:#define __INT32_TYPE__ int
1095 // SPARC:#define __INT64_C_SUFFIX__ LL
1096 // SPARC:#define __INT64_FMTd__ "lld"
1097 // SPARC:#define __INT64_FMTi__ "lli"
1098 // SPARC:#define __INT64_MAX__ 9223372036854775807LL
1099 // SPARC:#define __INT64_TYPE__ long long int
1100 // SPARC:#define __INT8_C_SUFFIX__
1101 // SPARC:#define __INT8_FMTd__ "hhd"
1102 // SPARC:#define __INT8_FMTi__ "hhi"
1103 // SPARC:#define __INT8_MAX__ 127
1104 // SPARC:#define __INT8_TYPE__ signed char
1105 // SPARC:#define __INTMAX_C_SUFFIX__ LL
1106 // SPARC:#define __INTMAX_FMTd__ "lld"
1107 // SPARC:#define __INTMAX_FMTi__ "lli"
1108 // SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
1109 // SPARC:#define __INTMAX_TYPE__ long long int
1110 // SPARC:#define __INTMAX_WIDTH__ 64
1111 // SPARC-DEFAULT:#define __INTPTR_FMTd__ "d"
1112 // SPARC-DEFAULT:#define __INTPTR_FMTi__ "i"
1113 // SPARC-DEFAULT:#define __INTPTR_MAX__ 2147483647
1114 // SPARC-DEFAULT:#define __INTPTR_TYPE__ int
1115 // SPARC-NETOPENBSD:#define __INTPTR_FMTd__ "ld"
1116 // SPARC-NETOPENBSD:#define __INTPTR_FMTi__ "li"
1117 // SPARC-NETOPENBSD:#define __INTPTR_MAX__ 2147483647L
1118 // SPARC-NETOPENBSD:#define __INTPTR_TYPE__ long int
1119 // SPARC:#define __INTPTR_WIDTH__ 32
1120 // SPARC:#define __INT_FAST16_FMTd__ "hd"
1121 // SPARC:#define __INT_FAST16_FMTi__ "hi"
1122 // SPARC:#define __INT_FAST16_MAX__ 32767
1123 // SPARC:#define __INT_FAST16_TYPE__ short
1124 // SPARC:#define __INT_FAST32_FMTd__ "d"
1125 // SPARC:#define __INT_FAST32_FMTi__ "i"
1126 // SPARC:#define __INT_FAST32_MAX__ 2147483647
1127 // SPARC:#define __INT_FAST32_TYPE__ int
1128 // SPARC:#define __INT_FAST64_FMTd__ "lld"
1129 // SPARC:#define __INT_FAST64_FMTi__ "lli"
1130 // SPARC:#define __INT_FAST64_MAX__ 9223372036854775807LL
1131 // SPARC:#define __INT_FAST64_TYPE__ long long int
1132 // SPARC:#define __INT_FAST8_FMTd__ "hhd"
1133 // SPARC:#define __INT_FAST8_FMTi__ "hhi"
1134 // SPARC:#define __INT_FAST8_MAX__ 127
1135 // SPARC:#define __INT_FAST8_TYPE__ signed char
1136 // SPARC:#define __INT_LEAST16_FMTd__ "hd"
1137 // SPARC:#define __INT_LEAST16_FMTi__ "hi"
1138 // SPARC:#define __INT_LEAST16_MAX__ 32767
1139 // SPARC:#define __INT_LEAST16_TYPE__ short
1140 // SPARC:#define __INT_LEAST32_FMTd__ "d"
1141 // SPARC:#define __INT_LEAST32_FMTi__ "i"
1142 // SPARC:#define __INT_LEAST32_MAX__ 2147483647
1143 // SPARC:#define __INT_LEAST32_TYPE__ int
1144 // SPARC:#define __INT_LEAST64_FMTd__ "lld"
1145 // SPARC:#define __INT_LEAST64_FMTi__ "lli"
1146 // SPARC:#define __INT_LEAST64_MAX__ 9223372036854775807LL
1147 // SPARC:#define __INT_LEAST64_TYPE__ long long int
1148 // SPARC:#define __INT_LEAST8_FMTd__ "hhd"
1149 // SPARC:#define __INT_LEAST8_FMTi__ "hhi"
1150 // SPARC:#define __INT_LEAST8_MAX__ 127
1151 // SPARC:#define __INT_LEAST8_TYPE__ signed char
1152 // SPARC:#define __INT_MAX__ 2147483647
1153 // SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
1154 // SPARC:#define __LDBL_DIG__ 15
1155 // SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
1156 // SPARC:#define __LDBL_HAS_DENORM__ 1
1157 // SPARC:#define __LDBL_HAS_INFINITY__ 1
1158 // SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
1159 // SPARC:#define __LDBL_MANT_DIG__ 53
1160 // SPARC:#define __LDBL_MAX_10_EXP__ 308
1161 // SPARC:#define __LDBL_MAX_EXP__ 1024
1162 // SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308L
1163 // SPARC:#define __LDBL_MIN_10_EXP__ (-307)
1164 // SPARC:#define __LDBL_MIN_EXP__ (-1021)
1165 // SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308L
1166 // SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
1167 // SPARC:#define __LONG_MAX__ 2147483647L
1168 // SPARC-NOT:#define __LP64__
1169 // SPARC:#define __POINTER_WIDTH__ 32
1170 // SPARC-DEFAULT:#define __PTRDIFF_TYPE__ int
1171 // SPARC-NETOPENBSD:#define __PTRDIFF_TYPE__ long int
1172 // SPARC:#define __PTRDIFF_WIDTH__ 32
1173 // SPARC:#define __REGISTER_PREFIX__
1174 // SPARC:#define __SCHAR_MAX__ 127
1175 // SPARC:#define __SHRT_MAX__ 32767
1176 // SPARC:#define __SIG_ATOMIC_MAX__ 2147483647
1177 // SPARC:#define __SIG_ATOMIC_WIDTH__ 32
1178 // SPARC:#define __SIZEOF_DOUBLE__ 8
1179 // SPARC:#define __SIZEOF_FLOAT__ 4
1180 // SPARC:#define __SIZEOF_INT__ 4
1181 // SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
1182 // SPARC:#define __SIZEOF_LONG_LONG__ 8
1183 // SPARC:#define __SIZEOF_LONG__ 4
1184 // SPARC:#define __SIZEOF_POINTER__ 4
1185 // SPARC:#define __SIZEOF_PTRDIFF_T__ 4
1186 // SPARC:#define __SIZEOF_SHORT__ 2
1187 // SPARC:#define __SIZEOF_SIZE_T__ 4
1188 // SPARC:#define __SIZEOF_WCHAR_T__ 4
1189 // SPARC:#define __SIZEOF_WINT_T__ 4
1190 // SPARC-DEFAULT:#define __SIZE_MAX__ 4294967295U
1191 // SPARC-DEFAULT:#define __SIZE_TYPE__ unsigned int
1192 // SPARC-NETOPENBSD:#define __SIZE_MAX__ 4294967295UL
1193 // SPARC-NETOPENBSD:#define __SIZE_TYPE__ long unsigned int
1194 // SPARC:#define __SIZE_WIDTH__ 32
1195 // SPARC-DEFAULT-CXX:#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 8U
1196 // SPARC-NETOPENBSD-CXX:#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 8UL
1197 // SPARC:#define __UINT16_C_SUFFIX__
1198 // SPARC:#define __UINT16_MAX__ 65535
1199 // SPARC:#define __UINT16_TYPE__ unsigned short
1200 // SPARC:#define __UINT32_C_SUFFIX__ U
1201 // SPARC:#define __UINT32_MAX__ 4294967295U
1202 // SPARC:#define __UINT32_TYPE__ unsigned int
1203 // SPARC:#define __UINT64_C_SUFFIX__ ULL
1204 // SPARC:#define __UINT64_MAX__ 18446744073709551615ULL
1205 // SPARC:#define __UINT64_TYPE__ long long unsigned int
1206 // SPARC:#define __UINT8_C_SUFFIX__
1207 // SPARC:#define __UINT8_MAX__ 255
1208 // SPARC:#define __UINT8_TYPE__ unsigned char
1209 // SPARC:#define __UINTMAX_C_SUFFIX__ ULL
1210 // SPARC:#define __UINTMAX_MAX__ 18446744073709551615ULL
1211 // SPARC:#define __UINTMAX_TYPE__ long long unsigned int
1212 // SPARC:#define __UINTMAX_WIDTH__ 64
1213 // SPARC-DEFAULT:#define __UINTPTR_MAX__ 4294967295U
1214 // SPARC-DEFAULT:#define __UINTPTR_TYPE__ unsigned int
1215 // SPARC-NETOPENBSD:#define __UINTPTR_MAX__ 4294967295UL
1216 // SPARC-NETOPENBSD:#define __UINTPTR_TYPE__ long unsigned int
1217 // SPARC:#define __UINTPTR_WIDTH__ 32
1218 // SPARC:#define __UINT_FAST16_MAX__ 65535
1219 // SPARC:#define __UINT_FAST16_TYPE__ unsigned short
1220 // SPARC:#define __UINT_FAST32_MAX__ 4294967295U
1221 // SPARC:#define __UINT_FAST32_TYPE__ unsigned int
1222 // SPARC:#define __UINT_FAST64_MAX__ 18446744073709551615ULL
1223 // SPARC:#define __UINT_FAST64_TYPE__ long long unsigned int
1224 // SPARC:#define __UINT_FAST8_MAX__ 255
1225 // SPARC:#define __UINT_FAST8_TYPE__ unsigned char
1226 // SPARC:#define __UINT_LEAST16_MAX__ 65535
1227 // SPARC:#define __UINT_LEAST16_TYPE__ unsigned short
1228 // SPARC:#define __UINT_LEAST32_MAX__ 4294967295U
1229 // SPARC:#define __UINT_LEAST32_TYPE__ unsigned int
1230 // SPARC:#define __UINT_LEAST64_MAX__ 18446744073709551615ULL
1231 // SPARC:#define __UINT_LEAST64_TYPE__ long long unsigned int
1232 // SPARC:#define __UINT_LEAST8_MAX__ 255
1233 // SPARC:#define __UINT_LEAST8_TYPE__ unsigned char
1234 // SPARC:#define __USER_LABEL_PREFIX__
1235 // SPARC:#define __VERSION__ "{{.*}}Clang{{.*}}
1236 // SPARC:#define __WCHAR_MAX__ 2147483647
1237 // SPARC:#define __WCHAR_TYPE__ int
1238 // SPARC:#define __WCHAR_WIDTH__ 32
1239 // SPARC:#define __WINT_TYPE__ int
1240 // SPARC:#define __WINT_WIDTH__ 32
1241 // SPARC:#define __sparc 1
1242 // SPARC:#define __sparc__ 1
1243 // SPARC:#define __sparcv8 1
1244 // SPARC:#define sparc 1
1245 
1246 // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=tce-none-none < /dev/null | FileCheck -match-full-lines -check-prefix TCE %s
1247 // RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=tce-none-none < /dev/null | FileCheck -match-full-lines -check-prefix TCE -check-prefix TCE-CXX %s
1248 //
1249 // TCE-NOT:#define _LP64
1250 // TCE:#define __BIGGEST_ALIGNMENT__ 4
1251 // TCE:#define __BIG_ENDIAN__ 1
1252 // TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
1253 // TCE:#define __CHAR16_TYPE__ unsigned short
1254 // TCE:#define __CHAR32_TYPE__ unsigned int
1255 // TCE:#define __CHAR_BIT__ 8
1256 // TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45
1257 // TCE:#define __DBL_DIG__ 6
1258 // TCE:#define __DBL_EPSILON__ 1.19209290e-7
1259 // TCE:#define __DBL_HAS_DENORM__ 1
1260 // TCE:#define __DBL_HAS_INFINITY__ 1
1261 // TCE:#define __DBL_HAS_QUIET_NAN__ 1
1262 // TCE:#define __DBL_MANT_DIG__ 24
1263 // TCE:#define __DBL_MAX_10_EXP__ 38
1264 // TCE:#define __DBL_MAX_EXP__ 128
1265 // TCE:#define __DBL_MAX__ 3.40282347e+38
1266 // TCE:#define __DBL_MIN_10_EXP__ (-37)
1267 // TCE:#define __DBL_MIN_EXP__ (-125)
1268 // TCE:#define __DBL_MIN__ 1.17549435e-38
1269 // TCE:#define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__
1270 // TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1271 // TCE:#define __FLT_DIG__ 6
1272 // TCE:#define __FLT_EPSILON__ 1.19209290e-7F
1273 // TCE:#define __FLT_EVAL_METHOD__ 0
1274 // TCE:#define __FLT_HAS_DENORM__ 1
1275 // TCE:#define __FLT_HAS_INFINITY__ 1
1276 // TCE:#define __FLT_HAS_QUIET_NAN__ 1
1277 // TCE:#define __FLT_MANT_DIG__ 24
1278 // TCE:#define __FLT_MAX_10_EXP__ 38
1279 // TCE:#define __FLT_MAX_EXP__ 128
1280 // TCE:#define __FLT_MAX__ 3.40282347e+38F
1281 // TCE:#define __FLT_MIN_10_EXP__ (-37)
1282 // TCE:#define __FLT_MIN_EXP__ (-125)
1283 // TCE:#define __FLT_MIN__ 1.17549435e-38F
1284 // TCE:#define __FLT_RADIX__ 2
1285 // TCE:#define __INT16_C_SUFFIX__
1286 // TCE:#define __INT16_FMTd__ "hd"
1287 // TCE:#define __INT16_FMTi__ "hi"
1288 // TCE:#define __INT16_MAX__ 32767
1289 // TCE:#define __INT16_TYPE__ short
1290 // TCE:#define __INT32_C_SUFFIX__
1291 // TCE:#define __INT32_FMTd__ "d"
1292 // TCE:#define __INT32_FMTi__ "i"
1293 // TCE:#define __INT32_MAX__ 2147483647
1294 // TCE:#define __INT32_TYPE__ int
1295 // TCE:#define __INT8_C_SUFFIX__
1296 // TCE:#define __INT8_FMTd__ "hhd"
1297 // TCE:#define __INT8_FMTi__ "hhi"
1298 // TCE:#define __INT8_MAX__ 127
1299 // TCE:#define __INT8_TYPE__ signed char
1300 // TCE:#define __INTMAX_C_SUFFIX__ L
1301 // TCE:#define __INTMAX_FMTd__ "ld"
1302 // TCE:#define __INTMAX_FMTi__ "li"
1303 // TCE:#define __INTMAX_MAX__ 2147483647L
1304 // TCE:#define __INTMAX_TYPE__ long int
1305 // TCE:#define __INTMAX_WIDTH__ 32
1306 // TCE:#define __INTPTR_FMTd__ "d"
1307 // TCE:#define __INTPTR_FMTi__ "i"
1308 // TCE:#define __INTPTR_MAX__ 2147483647
1309 // TCE:#define __INTPTR_TYPE__ int
1310 // TCE:#define __INTPTR_WIDTH__ 32
1311 // TCE:#define __INT_FAST16_FMTd__ "hd"
1312 // TCE:#define __INT_FAST16_FMTi__ "hi"
1313 // TCE:#define __INT_FAST16_MAX__ 32767
1314 // TCE:#define __INT_FAST16_TYPE__ short
1315 // TCE:#define __INT_FAST32_FMTd__ "d"
1316 // TCE:#define __INT_FAST32_FMTi__ "i"
1317 // TCE:#define __INT_FAST32_MAX__ 2147483647
1318 // TCE:#define __INT_FAST32_TYPE__ int
1319 // TCE:#define __INT_FAST8_FMTd__ "hhd"
1320 // TCE:#define __INT_FAST8_FMTi__ "hhi"
1321 // TCE:#define __INT_FAST8_MAX__ 127
1322 // TCE:#define __INT_FAST8_TYPE__ signed char
1323 // TCE:#define __INT_LEAST16_FMTd__ "hd"
1324 // TCE:#define __INT_LEAST16_FMTi__ "hi"
1325 // TCE:#define __INT_LEAST16_MAX__ 32767
1326 // TCE:#define __INT_LEAST16_TYPE__ short
1327 // TCE:#define __INT_LEAST32_FMTd__ "d"
1328 // TCE:#define __INT_LEAST32_FMTi__ "i"
1329 // TCE:#define __INT_LEAST32_MAX__ 2147483647
1330 // TCE:#define __INT_LEAST32_TYPE__ int
1331 // TCE:#define __INT_LEAST8_FMTd__ "hhd"
1332 // TCE:#define __INT_LEAST8_FMTi__ "hhi"
1333 // TCE:#define __INT_LEAST8_MAX__ 127
1334 // TCE:#define __INT_LEAST8_TYPE__ signed char
1335 // TCE:#define __INT_MAX__ 2147483647
1336 // TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45L
1337 // TCE:#define __LDBL_DIG__ 6
1338 // TCE:#define __LDBL_EPSILON__ 1.19209290e-7L
1339 // TCE:#define __LDBL_HAS_DENORM__ 1
1340 // TCE:#define __LDBL_HAS_INFINITY__ 1
1341 // TCE:#define __LDBL_HAS_QUIET_NAN__ 1
1342 // TCE:#define __LDBL_MANT_DIG__ 24
1343 // TCE:#define __LDBL_MAX_10_EXP__ 38
1344 // TCE:#define __LDBL_MAX_EXP__ 128
1345 // TCE:#define __LDBL_MAX__ 3.40282347e+38L
1346 // TCE:#define __LDBL_MIN_10_EXP__ (-37)
1347 // TCE:#define __LDBL_MIN_EXP__ (-125)
1348 // TCE:#define __LDBL_MIN__ 1.17549435e-38L
1349 // TCE:#define __LONG_LONG_MAX__ 2147483647LL
1350 // TCE:#define __LONG_MAX__ 2147483647L
1351 // TCE-NOT:#define __LP64__
1352 // TCE:#define __POINTER_WIDTH__ 32
1353 // TCE:#define __PTRDIFF_TYPE__ int
1354 // TCE:#define __PTRDIFF_WIDTH__ 32
1355 // TCE:#define __SCHAR_MAX__ 127
1356 // TCE:#define __SHRT_MAX__ 32767
1357 // TCE:#define __SIG_ATOMIC_MAX__ 2147483647
1358 // TCE:#define __SIG_ATOMIC_WIDTH__ 32
1359 // TCE:#define __SIZEOF_DOUBLE__ 4
1360 // TCE:#define __SIZEOF_FLOAT__ 4
1361 // TCE:#define __SIZEOF_INT__ 4
1362 // TCE:#define __SIZEOF_LONG_DOUBLE__ 4
1363 // TCE:#define __SIZEOF_LONG_LONG__ 4
1364 // TCE:#define __SIZEOF_LONG__ 4
1365 // TCE:#define __SIZEOF_POINTER__ 4
1366 // TCE:#define __SIZEOF_PTRDIFF_T__ 4
1367 // TCE:#define __SIZEOF_SHORT__ 2
1368 // TCE:#define __SIZEOF_SIZE_T__ 4
1369 // TCE:#define __SIZEOF_WCHAR_T__ 4
1370 // TCE:#define __SIZEOF_WINT_T__ 4
1371 // TCE:#define __SIZE_MAX__ 4294967295U
1372 // TCE:#define __SIZE_TYPE__ unsigned int
1373 // TCE:#define __SIZE_WIDTH__ 32
1374 // TCE-CXX:#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 4U
1375 // TCE:#define __TCE_V1__ 1
1376 // TCE:#define __TCE__ 1
1377 // TCE:#define __UINT16_C_SUFFIX__
1378 // TCE:#define __UINT16_MAX__ 65535
1379 // TCE:#define __UINT16_TYPE__ unsigned short
1380 // TCE:#define __UINT32_C_SUFFIX__ U
1381 // TCE:#define __UINT32_MAX__ 4294967295U
1382 // TCE:#define __UINT32_TYPE__ unsigned int
1383 // TCE:#define __UINT8_C_SUFFIX__
1384 // TCE:#define __UINT8_MAX__ 255
1385 // TCE:#define __UINT8_TYPE__ unsigned char
1386 // TCE:#define __UINTMAX_C_SUFFIX__ UL
1387 // TCE:#define __UINTMAX_MAX__ 4294967295UL
1388 // TCE:#define __UINTMAX_TYPE__ long unsigned int
1389 // TCE:#define __UINTMAX_WIDTH__ 32
1390 // TCE:#define __UINTPTR_MAX__ 4294967295U
1391 // TCE:#define __UINTPTR_TYPE__ unsigned int
1392 // TCE:#define __UINTPTR_WIDTH__ 32
1393 // TCE:#define __UINT_FAST16_MAX__ 65535
1394 // TCE:#define __UINT_FAST16_TYPE__ unsigned short
1395 // TCE:#define __UINT_FAST32_MAX__ 4294967295U
1396 // TCE:#define __UINT_FAST32_TYPE__ unsigned int
1397 // TCE:#define __UINT_FAST8_MAX__ 255
1398 // TCE:#define __UINT_FAST8_TYPE__ unsigned char
1399 // TCE:#define __UINT_LEAST16_MAX__ 65535
1400 // TCE:#define __UINT_LEAST16_TYPE__ unsigned short
1401 // TCE:#define __UINT_LEAST32_MAX__ 4294967295U
1402 // TCE:#define __UINT_LEAST32_TYPE__ unsigned int
1403 // TCE:#define __UINT_LEAST8_MAX__ 255
1404 // TCE:#define __UINT_LEAST8_TYPE__ unsigned char
1405 // TCE:#define __USER_LABEL_PREFIX__
1406 // TCE:#define __WCHAR_MAX__ 2147483647
1407 // TCE:#define __WCHAR_TYPE__ int
1408 // TCE:#define __WCHAR_WIDTH__ 32
1409 // TCE:#define __WINT_TYPE__ int
1410 // TCE:#define __WINT_WIDTH__ 32
1411 // TCE:#define __tce 1
1412 // TCE:#define __tce__ 1
1413 // TCE:#define tce 1
1414 //
1415 // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=x86_64-scei-ps4 < /dev/null | FileCheck -match-full-lines -check-prefix PS4 %s
1416 //
1417 // PS4:#define _LP64 1
1418 // PS4:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1419 // PS4:#define __CHAR16_TYPE__ unsigned short
1420 // PS4:#define __CHAR32_TYPE__ unsigned int
1421 // PS4:#define __CHAR_BIT__ 8
1422 // PS4:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1423 // PS4:#define __DBL_DIG__ 15
1424 // PS4:#define __DBL_EPSILON__ 2.2204460492503131e-16
1425 // PS4:#define __DBL_HAS_DENORM__ 1
1426 // PS4:#define __DBL_HAS_INFINITY__ 1
1427 // PS4:#define __DBL_HAS_QUIET_NAN__ 1
1428 // PS4:#define __DBL_MANT_DIG__ 53
1429 // PS4:#define __DBL_MAX_10_EXP__ 308
1430 // PS4:#define __DBL_MAX_EXP__ 1024
1431 // PS4:#define __DBL_MAX__ 1.7976931348623157e+308
1432 // PS4:#define __DBL_MIN_10_EXP__ (-307)
1433 // PS4:#define __DBL_MIN_EXP__ (-1021)
1434 // PS4:#define __DBL_MIN__ 2.2250738585072014e-308
1435 // PS4:#define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__
1436 // PS4:#define __ELF__ 1
1437 // PS4:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1438 // PS4:#define __FLT_DIG__ 6
1439 // PS4:#define __FLT_EPSILON__ 1.19209290e-7F
1440 // PS4:#define __FLT_EVAL_METHOD__ 0
1441 // PS4:#define __FLT_HAS_DENORM__ 1
1442 // PS4:#define __FLT_HAS_INFINITY__ 1
1443 // PS4:#define __FLT_HAS_QUIET_NAN__ 1
1444 // PS4:#define __FLT_MANT_DIG__ 24
1445 // PS4:#define __FLT_MAX_10_EXP__ 38
1446 // PS4:#define __FLT_MAX_EXP__ 128
1447 // PS4:#define __FLT_MAX__ 3.40282347e+38F
1448 // PS4:#define __FLT_MIN_10_EXP__ (-37)
1449 // PS4:#define __FLT_MIN_EXP__ (-125)
1450 // PS4:#define __FLT_MIN__ 1.17549435e-38F
1451 // PS4:#define __FLT_RADIX__ 2
1452 // PS4:#define __FreeBSD__ 9
1453 // PS4:#define __FreeBSD_cc_version 900001
1454 // PS4:#define __INT16_TYPE__ short
1455 // PS4:#define __INT32_TYPE__ int
1456 // PS4:#define __INT64_C_SUFFIX__ L
1457 // PS4:#define __INT64_TYPE__ long int
1458 // PS4:#define __INT8_TYPE__ signed char
1459 // PS4:#define __INTMAX_MAX__ 9223372036854775807L
1460 // PS4:#define __INTMAX_TYPE__ long int
1461 // PS4:#define __INTMAX_WIDTH__ 64
1462 // PS4:#define __INTPTR_TYPE__ long int
1463 // PS4:#define __INTPTR_WIDTH__ 64
1464 // PS4:#define __INT_MAX__ 2147483647
1465 // PS4:#define __KPRINTF_ATTRIBUTE__ 1
1466 // PS4:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
1467 // PS4:#define __LDBL_DIG__ 18
1468 // PS4:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
1469 // PS4:#define __LDBL_HAS_DENORM__ 1
1470 // PS4:#define __LDBL_HAS_INFINITY__ 1
1471 // PS4:#define __LDBL_HAS_QUIET_NAN__ 1
1472 // PS4:#define __LDBL_MANT_DIG__ 64
1473 // PS4:#define __LDBL_MAX_10_EXP__ 4932
1474 // PS4:#define __LDBL_MAX_EXP__ 16384
1475 // PS4:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
1476 // PS4:#define __LDBL_MIN_10_EXP__ (-4931)
1477 // PS4:#define __LDBL_MIN_EXP__ (-16381)
1478 // PS4:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
1479 // PS4:#define __LITTLE_ENDIAN__ 1
1480 // PS4:#define __LONG_LONG_MAX__ 9223372036854775807LL
1481 // PS4:#define __LONG_MAX__ 9223372036854775807L
1482 // PS4:#define __LP64__ 1
1483 // PS4:#define __MMX__ 1
1484 // PS4:#define __NO_MATH_INLINES 1
1485 // PS4:#define __ORBIS__ 1
1486 // PS4:#define __POINTER_WIDTH__ 64
1487 // PS4:#define __PTRDIFF_MAX__ 9223372036854775807L
1488 // PS4:#define __PTRDIFF_TYPE__ long int
1489 // PS4:#define __PTRDIFF_WIDTH__ 64
1490 // PS4:#define __REGISTER_PREFIX__
1491 // PS4:#define __SCE__ 1
1492 // PS4:#define __SCHAR_MAX__ 127
1493 // PS4:#define __SHRT_MAX__ 32767
1494 // PS4:#define __SIG_ATOMIC_MAX__ 2147483647
1495 // PS4:#define __SIG_ATOMIC_WIDTH__ 32
1496 // PS4:#define __SIZEOF_DOUBLE__ 8
1497 // PS4:#define __SIZEOF_FLOAT__ 4
1498 // PS4:#define __SIZEOF_INT__ 4
1499 // PS4:#define __SIZEOF_LONG_DOUBLE__ 16
1500 // PS4:#define __SIZEOF_LONG_LONG__ 8
1501 // PS4:#define __SIZEOF_LONG__ 8
1502 // PS4:#define __SIZEOF_POINTER__ 8
1503 // PS4:#define __SIZEOF_PTRDIFF_T__ 8
1504 // PS4:#define __SIZEOF_SHORT__ 2
1505 // PS4:#define __SIZEOF_SIZE_T__ 8
1506 // PS4:#define __SIZEOF_WCHAR_T__ 2
1507 // PS4:#define __SIZEOF_WINT_T__ 4
1508 // PS4:#define __SIZE_TYPE__ long unsigned int
1509 // PS4:#define __SIZE_WIDTH__ 64
1510 // PS4:#define __SSE2_MATH__ 1
1511 // PS4:#define __SSE2__ 1
1512 // PS4:#define __SSE_MATH__ 1
1513 // PS4:#define __SSE__ 1
1514 // PS4:#define __STDC_VERSION__ 199901L
1515 // PS4:#define __UINTMAX_TYPE__ long unsigned int
1516 // PS4:#define __USER_LABEL_PREFIX__
1517 // PS4:#define __WCHAR_MAX__ 65535
1518 // PS4:#define __WCHAR_TYPE__ unsigned short
1519 // PS4:#define __WCHAR_UNSIGNED__ 1
1520 // PS4:#define __WCHAR_WIDTH__ 16
1521 // PS4:#define __WINT_TYPE__ int
1522 // PS4:#define __WINT_WIDTH__ 32
1523 // PS4:#define __amd64 1
1524 // PS4:#define __amd64__ 1
1525 // PS4:#define __unix 1
1526 // PS4:#define __unix__ 1
1527 // PS4:#define __x86_64 1
1528 // PS4:#define __x86_64__ 1
1529 // PS4:#define unix 1
1530 //
1531 // RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -triple=x86_64-scei-ps4 < /dev/null | FileCheck -match-full-lines -check-prefix PS4-CXX %s
1532 // PS4-CXX:#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 32UL
1533 //
1534 // RUN: %clang_cc1 -E -dM -triple=x86_64-pc-mingw32 < /dev/null | FileCheck -match-full-lines -check-prefix X86-64-DECLSPEC %s
1535 // RUN: %clang_cc1 -E -dM -fms-extensions -triple=x86_64-unknown-mingw32 < /dev/null | FileCheck -match-full-lines -check-prefix X86-64-DECLSPEC %s
1536 // X86-64-DECLSPEC: #define __declspec{{.*}}
1537 //
1538 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-none < /dev/null | FileCheck -match-full-lines -check-prefix SPARCV9 %s
1539 // SPARCV9:#define __BIGGEST_ALIGNMENT__ 16
1540 // SPARCV9:#define __INT64_TYPE__ long int
1541 // SPARCV9:#define __INTMAX_C_SUFFIX__ L
1542 // SPARCV9:#define __INTMAX_TYPE__ long int
1543 // SPARCV9:#define __INTPTR_TYPE__ long int
1544 // SPARCV9:#define __LONG_MAX__ 9223372036854775807L
1545 // SPARCV9:#define __LP64__ 1
1546 // SPARCV9:#define __SIZEOF_LONG__ 8
1547 // SPARCV9:#define __SIZEOF_POINTER__ 8
1548 // SPARCV9:#define __UINTPTR_TYPE__ long unsigned int
1549 //
1550 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-openbsd < /dev/null | FileCheck -match-full-lines -check-prefix SPARC64-OBSD %s
1551 // SPARC64-OBSD:#define __INT64_TYPE__ long long int
1552 // SPARC64-OBSD:#define __INTMAX_C_SUFFIX__ LL
1553 // SPARC64-OBSD:#define __INTMAX_TYPE__ long long int
1554 // SPARC64-OBSD:#define __UINTMAX_C_SUFFIX__ ULL
1555 // SPARC64-OBSD:#define __UINTMAX_TYPE__ long long unsigned int
1556 //
1557 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-kfreebsd-gnu < /dev/null | FileCheck -match-full-lines -check-prefix KFREEBSD-DEFINE %s
1558 // KFREEBSD-DEFINE:#define __FreeBSD_kernel__ 1
1559 // KFREEBSD-DEFINE:#define __GLIBC__ 1
1560 //
1561 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=i686-pc-kfreebsd-gnu < /dev/null | FileCheck -match-full-lines -check-prefix KFREEBSDI686-DEFINE %s
1562 // KFREEBSDI686-DEFINE:#define __FreeBSD_kernel__ 1
1563 // KFREEBSDI686-DEFINE:#define __GLIBC__ 1
1564 //
1565 // RUN: %clang_cc1 -x c++ -triple i686-pc-linux-gnu -fobjc-runtime=gcc -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix GNUSOURCE %s
1566 // RUN: %clang_cc1 -x c++ -triple sparc-rtems-elf -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix GNUSOURCE %s
1567 // GNUSOURCE:#define _GNU_SOURCE 1
1568 //
1569 // Check that the GNUstep Objective-C ABI defines exist and are clamped at the
1570 // highest supported version.
1571 // RUN: %clang_cc1 -x objective-c -triple i386-unknown-freebsd -fobjc-runtime=gnustep-1.9 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix GNUSTEP1 %s
1572 // GNUSTEP1:#define __OBJC_GNUSTEP_RUNTIME_ABI__ 18
1573 // RUN: %clang_cc1 -x objective-c -triple i386-unknown-freebsd -fobjc-runtime=gnustep-2.5 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix GNUSTEP2 %s
1574 // GNUSTEP2:#define __OBJC_GNUSTEP_RUNTIME_ABI__ 20
1575 //
1576 // RUN: %clang_cc1 -x c++ -fgnuc-version=4.2.1 -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix NORTTI %s
1577 // NORTTI: #define __GXX_ABI_VERSION {{.*}}
1578 // NORTTI-NOT:#define __GXX_RTTI
1579 // NORTTI:#define __STDC__ 1
1580 //
1581 // RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix ANDROID %s
1582 // ANDROID-NOT:#define __ANDROID_API__
1583 // ANDROID:#define __ANDROID__ 1
1584 // ANDROID-NOT:#define __gnu_linux__
1585 //
1586 // RUN: %clang_cc1 -x c++ -triple i686-linux-android -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix I386-ANDROID-CXX %s
1587 // I386-ANDROID-CXX:#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 8U
1588 //
1589 // RUN: %clang_cc1 -x c++ -triple x86_64-linux-android -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix X86_64-ANDROID-CXX %s
1590 // X86_64-ANDROID-CXX:#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 16UL
1591 //
1592 // RUN: %clang_cc1 -triple arm-linux-androideabi20 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix ANDROID20 %s
1593 // ANDROID20:#define __ANDROID_API__ 20
1594 // ANDROID20:#define __ANDROID__ 1
1595 // ANDROID-NOT:#define __gnu_linux__
1596 //
1597 // RUN: %clang_cc1 -triple lanai-unknown-unknown -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix LANAI %s
1598 // LANAI: #define __lanai__ 1
1599 //
1600 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=amd64-unknown-openbsd6.1 < /dev/null | FileCheck -match-full-lines -check-prefix OPENBSD %s
1601 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-unknown-openbsd6.1 < /dev/null | FileCheck -match-full-lines -check-prefix OPENBSD %s
1602 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-unknown-openbsd6.1-gnueabi < /dev/null | FileCheck -match-full-lines -check-prefix OPENBSD %s
1603 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-unknown-openbsd6.1 < /dev/null | FileCheck -match-full-lines -check-prefix OPENBSD %s
1604 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-openbsd6.1 < /dev/null | FileCheck -match-full-lines -check-prefix OPENBSD %s
1605 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-openbsd6.1 < /dev/null | FileCheck -match-full-lines -check-prefix OPENBSD %s
1606 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-unknown-openbsd6.1 < /dev/null | FileCheck -match-full-lines -check-prefix OPENBSD %s
1607 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-unknown-openbsd6.1 < /dev/null | FileCheck -match-full-lines -check-prefix OPENBSD %s
1608 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-unknown-openbsd6.1 < /dev/null | FileCheck -match-full-lines -check-prefix OPENBSD %s
1609 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-unknown-openbsd6.1 < /dev/null | FileCheck -match-full-lines -check-prefix OPENBSD %s
1610 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=riscv64-unknown-openbsd6.1 < /dev/null | FileCheck -match-full-lines -check-prefix OPENBSD %s
1611 // OPENBSD:#define __ELF__ 1
1612 // OPENBSD:#define __INT16_TYPE__ short
1613 // OPENBSD:#define __INT32_TYPE__ int
1614 // OPENBSD:#define __INT64_TYPE__ long long int
1615 // OPENBSD:#define __INT8_TYPE__ signed char
1616 // OPENBSD:#define __INTMAX_TYPE__ long long int
1617 // OPENBSD:#define __INTPTR_TYPE__ long int
1618 // OPENBSD:#define __OpenBSD__ 1
1619 // OPENBSD:#define __PTRDIFF_TYPE__ long int
1620 // OPENBSD:#define __SIZE_TYPE__ long unsigned int
1621 // OPENBSD:#define __UINT16_TYPE__ unsigned short
1622 // OPENBSD:#define __UINT32_TYPE__ unsigned int
1623 // OPENBSD:#define __UINT64_TYPE__ long long unsigned int
1624 // OPENBSD:#define __UINT8_TYPE__ unsigned char
1625 // OPENBSD:#define __UINTMAX_TYPE__ long long unsigned int
1626 // OPENBSD:#define __UINTPTR_TYPE__ long unsigned int
1627 // OPENBSD:#define __WCHAR_TYPE__ int
1628 // OPENBSD:#define __WINT_TYPE__ int
1629 //
1630 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=xcore-none-none < /dev/null | FileCheck -match-full-lines -check-prefix XCORE %s
1631 // XCORE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1632 // XCORE:#define __LITTLE_ENDIAN__ 1
1633 // XCORE:#define __XS1B__ 1
1634 //
1635 // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=wasm32-unknown-unknown \
1636 // RUN:   < /dev/null \
1637 // RUN:   | FileCheck -match-full-lines -check-prefixes=WEBASSEMBLY,WEBASSEMBLY32 %s
1638 // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=wasm64-unknown-unknown \
1639 // RUN:   < /dev/null \
1640 // RUN:   | FileCheck -match-full-lines -check-prefixes=WEBASSEMBLY,WEBASSEMBLY64 %s
1641 // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=wasm32-wasi \
1642 // RUN:   < /dev/null \
1643 // RUN:   | FileCheck -match-full-lines -check-prefixes=WEBASSEMBLY,WEBASSEMBLY32,WEBASSEMBLY-WASI %s
1644 // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=wasm64-wasi \
1645 // RUN:   < /dev/null \
1646 // RUN:   | FileCheck -match-full-lines -check-prefixes=WEBASSEMBLY,WEBASSEMBLY64,WEBASSEMBLY-WASI %s
1647 //
1648 // WEBASSEMBLY32:#define _ILP32 1
1649 // WEBASSEMBLY32-NOT:#define _LP64
1650 // WEBASSEMBLY64-NOT:#define _ILP32
1651 // WEBASSEMBLY64:#define _LP64 1
1652 // WEBASSEMBLY-NEXT:#define __ATOMIC_ACQUIRE 2
1653 // WEBASSEMBLY-NEXT:#define __ATOMIC_ACQ_REL 4
1654 // WEBASSEMBLY-NEXT:#define __ATOMIC_CONSUME 1
1655 // WEBASSEMBLY-NEXT:#define __ATOMIC_RELAXED 0
1656 // WEBASSEMBLY-NEXT:#define __ATOMIC_RELEASE 3
1657 // WEBASSEMBLY-NEXT:#define __ATOMIC_SEQ_CST 5
1658 // WEBASSEMBLY-NEXT:#define __BIGGEST_ALIGNMENT__ 16
1659 // WEBASSEMBLY-NEXT:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1660 // WEBASSEMBLY-NEXT:#define __CHAR16_TYPE__ unsigned short
1661 // WEBASSEMBLY-NEXT:#define __CHAR32_TYPE__ unsigned int
1662 // WEBASSEMBLY-NEXT:#define __CHAR_BIT__ 8
1663 // WEBASSEMBLY-NOT:#define __CHAR_UNSIGNED__
1664 // WEBASSEMBLY-NEXT:#define __CLANG_ATOMIC_BOOL_LOCK_FREE 2
1665 // WEBASSEMBLY-NEXT:#define __CLANG_ATOMIC_CHAR16_T_LOCK_FREE 2
1666 // WEBASSEMBLY-NEXT:#define __CLANG_ATOMIC_CHAR32_T_LOCK_FREE 2
1667 // WEBASSEMBLY-NEXT:#define __CLANG_ATOMIC_CHAR_LOCK_FREE 2
1668 // WEBASSEMBLY-NEXT:#define __CLANG_ATOMIC_INT_LOCK_FREE 2
1669 // WEBASSEMBLY-NEXT:#define __CLANG_ATOMIC_LLONG_LOCK_FREE 2
1670 // WEBASSEMBLY-NEXT:#define __CLANG_ATOMIC_LONG_LOCK_FREE 2
1671 // WEBASSEMBLY-NEXT:#define __CLANG_ATOMIC_POINTER_LOCK_FREE 2
1672 // WEBASSEMBLY-NEXT:#define __CLANG_ATOMIC_SHORT_LOCK_FREE 2
1673 // WEBASSEMBLY-NEXT:#define __CLANG_ATOMIC_WCHAR_T_LOCK_FREE 2
1674 // WEBASSEMBLY-NEXT:#define __CONSTANT_CFSTRINGS__ 1
1675 // WEBASSEMBLY-NEXT:#define __DBL_DECIMAL_DIG__ 17
1676 // WEBASSEMBLY-NEXT:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1677 // WEBASSEMBLY-NEXT:#define __DBL_DIG__ 15
1678 // WEBASSEMBLY-NEXT:#define __DBL_EPSILON__ 2.2204460492503131e-16
1679 // WEBASSEMBLY-NEXT:#define __DBL_HAS_DENORM__ 1
1680 // WEBASSEMBLY-NEXT:#define __DBL_HAS_INFINITY__ 1
1681 // WEBASSEMBLY-NEXT:#define __DBL_HAS_QUIET_NAN__ 1
1682 // WEBASSEMBLY-NEXT:#define __DBL_MANT_DIG__ 53
1683 // WEBASSEMBLY-NEXT:#define __DBL_MAX_10_EXP__ 308
1684 // WEBASSEMBLY-NEXT:#define __DBL_MAX_EXP__ 1024
1685 // WEBASSEMBLY-NEXT:#define __DBL_MAX__ 1.7976931348623157e+308
1686 // WEBASSEMBLY-NEXT:#define __DBL_MIN_10_EXP__ (-307)
1687 // WEBASSEMBLY-NEXT:#define __DBL_MIN_EXP__ (-1021)
1688 // WEBASSEMBLY-NEXT:#define __DBL_MIN__ 2.2250738585072014e-308
1689 // WEBASSEMBLY-NEXT:#define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__
1690 // WEBASSEMBLY-NOT:#define __ELF__
1691 // WEBASSEMBLY-NEXT:#define __FINITE_MATH_ONLY__ 0
1692 // WEBASSEMBLY-NEXT:#define __FLOAT128__ 1
1693 // WEBASSEMBLY-NOT:#define __FLT16_DECIMAL_DIG__
1694 // WEBASSEMBLY-NOT:#define __FLT16_DENORM_MIN__
1695 // WEBASSEMBLY-NOT:#define __FLT16_DIG__
1696 // WEBASSEMBLY-NOT:#define __FLT16_EPSILON__
1697 // WEBASSEMBLY-NOT:#define __FLT16_HAS_DENORM__
1698 // WEBASSEMBLY-NOT:#define __FLT16_HAS_INFINITY__
1699 // WEBASSEMBLY-NOT:#define __FLT16_HAS_QUIET_NAN__
1700 // WEBASSEMBLY-NOT:#define __FLT16_MANT_DIG__
1701 // WEBASSEMBLY-NOT:#define __FLT16_MAX_10_EXP__
1702 // WEBASSEMBLY-NOT:#define __FLT16_MAX_EXP__
1703 // WEBASSEMBLY-NOT:#define __FLT16_MAX__
1704 // WEBASSEMBLY-NOT:#define __FLT16_MIN_10_EXP__
1705 // WEBASSEMBLY-NOT:#define __FLT16_MIN_EXP__
1706 // WEBASSEMBLY-NOT:#define __FLT16_MIN__
1707 // WEBASSEMBLY-NEXT:#define __FLT_DECIMAL_DIG__ 9
1708 // WEBASSEMBLY-NEXT:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1709 // WEBASSEMBLY-NEXT:#define __FLT_DIG__ 6
1710 // WEBASSEMBLY-NEXT:#define __FLT_EPSILON__ 1.19209290e-7F
1711 // WEBASSEMBLY-NEXT:#define __FLT_EVAL_METHOD__ 0
1712 // WEBASSEMBLY-NEXT:#define __FLT_HAS_DENORM__ 1
1713 // WEBASSEMBLY-NEXT:#define __FLT_HAS_INFINITY__ 1
1714 // WEBASSEMBLY-NEXT:#define __FLT_HAS_QUIET_NAN__ 1
1715 // WEBASSEMBLY-NEXT:#define __FLT_MANT_DIG__ 24
1716 // WEBASSEMBLY-NEXT:#define __FLT_MAX_10_EXP__ 38
1717 // WEBASSEMBLY-NEXT:#define __FLT_MAX_EXP__ 128
1718 // WEBASSEMBLY-NEXT:#define __FLT_MAX__ 3.40282347e+38F
1719 // WEBASSEMBLY-NEXT:#define __FLT_MIN_10_EXP__ (-37)
1720 // WEBASSEMBLY-NEXT:#define __FLT_MIN_EXP__ (-125)
1721 // WEBASSEMBLY-NEXT:#define __FLT_MIN__ 1.17549435e-38F
1722 // WEBASSEMBLY-NEXT:#define __FLT_RADIX__ 2
1723 // WEBASSEMBLY-NEXT:#define __GCC_ATOMIC_BOOL_LOCK_FREE 2
1724 // WEBASSEMBLY-NEXT:#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2
1725 // WEBASSEMBLY-NEXT:#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2
1726 // WEBASSEMBLY-NEXT:#define __GCC_ATOMIC_CHAR_LOCK_FREE 2
1727 // WEBASSEMBLY-NEXT:#define __GCC_ATOMIC_INT_LOCK_FREE 2
1728 // WEBASSEMBLY-NEXT:#define __GCC_ATOMIC_LLONG_LOCK_FREE 2
1729 // WEBASSEMBLY-NEXT:#define __GCC_ATOMIC_LONG_LOCK_FREE 2
1730 // WEBASSEMBLY-NEXT:#define __GCC_ATOMIC_POINTER_LOCK_FREE 2
1731 // WEBASSEMBLY-NEXT:#define __GCC_ATOMIC_SHORT_LOCK_FREE 2
1732 // WEBASSEMBLY-NEXT:#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
1733 // WEBASSEMBLY-NEXT:#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2
1734 // WEBASSEMBLY-NEXT:#define __GNUC_MINOR__ {{.*}}
1735 // WEBASSEMBLY-NEXT:#define __GNUC_PATCHLEVEL__ {{.*}}
1736 // WEBASSEMBLY-NEXT:#define __GNUC_STDC_INLINE__ 1
1737 // WEBASSEMBLY-NEXT:#define __GNUC__ {{.*}}
1738 // WEBASSEMBLY-NEXT:#define __GXX_ABI_VERSION 1002
1739 // WEBASSEMBLY32-NEXT:#define __ILP32__ 1
1740 // WEBASSEMBLY64-NOT:#define __ILP32__
1741 // WEBASSEMBLY-NEXT:#define __INT16_C_SUFFIX__
1742 // WEBASSEMBLY-NEXT:#define __INT16_FMTd__ "hd"
1743 // WEBASSEMBLY-NEXT:#define __INT16_FMTi__ "hi"
1744 // WEBASSEMBLY-NEXT:#define __INT16_MAX__ 32767
1745 // WEBASSEMBLY-NEXT:#define __INT16_TYPE__ short
1746 // WEBASSEMBLY-NEXT:#define __INT32_C_SUFFIX__
1747 // WEBASSEMBLY-NEXT:#define __INT32_FMTd__ "d"
1748 // WEBASSEMBLY-NEXT:#define __INT32_FMTi__ "i"
1749 // WEBASSEMBLY-NEXT:#define __INT32_MAX__ 2147483647
1750 // WEBASSEMBLY-NEXT:#define __INT32_TYPE__ int
1751 // WEBASSEMBLY-NEXT:#define __INT64_C_SUFFIX__ LL
1752 // WEBASSEMBLY-NEXT:#define __INT64_FMTd__ "lld"
1753 // WEBASSEMBLY-NEXT:#define __INT64_FMTi__ "lli"
1754 // WEBASSEMBLY-NEXT:#define __INT64_MAX__ 9223372036854775807LL
1755 // WEBASSEMBLY-NEXT:#define __INT64_TYPE__ long long int
1756 // WEBASSEMBLY-NEXT:#define __INT8_C_SUFFIX__
1757 // WEBASSEMBLY-NEXT:#define __INT8_FMTd__ "hhd"
1758 // WEBASSEMBLY-NEXT:#define __INT8_FMTi__ "hhi"
1759 // WEBASSEMBLY-NEXT:#define __INT8_MAX__ 127
1760 // WEBASSEMBLY-NEXT:#define __INT8_TYPE__ signed char
1761 // WEBASSEMBLY-NEXT:#define __INTMAX_C_SUFFIX__ LL
1762 // WEBASSEMBLY-NEXT:#define __INTMAX_FMTd__ "lld"
1763 // WEBASSEMBLY-NEXT:#define __INTMAX_FMTi__ "lli"
1764 // WEBASSEMBLY-NEXT:#define __INTMAX_MAX__ 9223372036854775807LL
1765 // WEBASSEMBLY-NEXT:#define __INTMAX_TYPE__ long long int
1766 // WEBASSEMBLY-NEXT:#define __INTMAX_WIDTH__ 64
1767 // WEBASSEMBLY-NEXT:#define __INTPTR_FMTd__ "ld"
1768 // WEBASSEMBLY-NEXT:#define __INTPTR_FMTi__ "li"
1769 // WEBASSEMBLY32-NEXT:#define __INTPTR_MAX__ 2147483647L
1770 // WEBASSEMBLY64-NEXT:#define __INTPTR_MAX__ 9223372036854775807L
1771 // WEBASSEMBLY-NEXT:#define __INTPTR_TYPE__ long int
1772 // WEBASSEMBLY32-NEXT:#define __INTPTR_WIDTH__ 32
1773 // WEBASSEMBLY64-NEXT:#define __INTPTR_WIDTH__ 64
1774 // WEBASSEMBLY-NEXT:#define __INT_FAST16_FMTd__ "hd"
1775 // WEBASSEMBLY-NEXT:#define __INT_FAST16_FMTi__ "hi"
1776 // WEBASSEMBLY-NEXT:#define __INT_FAST16_MAX__ 32767
1777 // WEBASSEMBLY-NEXT:#define __INT_FAST16_TYPE__ short
1778 // WEBASSEMBLY-NEXT:#define __INT_FAST32_FMTd__ "d"
1779 // WEBASSEMBLY-NEXT:#define __INT_FAST32_FMTi__ "i"
1780 // WEBASSEMBLY-NEXT:#define __INT_FAST32_MAX__ 2147483647
1781 // WEBASSEMBLY-NEXT:#define __INT_FAST32_TYPE__ int
1782 // WEBASSEMBLY-NEXT:#define __INT_FAST64_FMTd__ "lld"
1783 // WEBASSEMBLY-NEXT:#define __INT_FAST64_FMTi__ "lli"
1784 // WEBASSEMBLY-NEXT:#define __INT_FAST64_MAX__ 9223372036854775807LL
1785 // WEBASSEMBLY-NEXT:#define __INT_FAST64_TYPE__ long long int
1786 // WEBASSEMBLY-NEXT:#define __INT_FAST8_FMTd__ "hhd"
1787 // WEBASSEMBLY-NEXT:#define __INT_FAST8_FMTi__ "hhi"
1788 // WEBASSEMBLY-NEXT:#define __INT_FAST8_MAX__ 127
1789 // WEBASSEMBLY-NEXT:#define __INT_FAST8_TYPE__ signed char
1790 // WEBASSEMBLY-NEXT:#define __INT_LEAST16_FMTd__ "hd"
1791 // WEBASSEMBLY-NEXT:#define __INT_LEAST16_FMTi__ "hi"
1792 // WEBASSEMBLY-NEXT:#define __INT_LEAST16_MAX__ 32767
1793 // WEBASSEMBLY-NEXT:#define __INT_LEAST16_TYPE__ short
1794 // WEBASSEMBLY-NEXT:#define __INT_LEAST32_FMTd__ "d"
1795 // WEBASSEMBLY-NEXT:#define __INT_LEAST32_FMTi__ "i"
1796 // WEBASSEMBLY-NEXT:#define __INT_LEAST32_MAX__ 2147483647
1797 // WEBASSEMBLY-NEXT:#define __INT_LEAST32_TYPE__ int
1798 // WEBASSEMBLY-NEXT:#define __INT_LEAST64_FMTd__ "lld"
1799 // WEBASSEMBLY-NEXT:#define __INT_LEAST64_FMTi__ "lli"
1800 // WEBASSEMBLY-NEXT:#define __INT_LEAST64_MAX__ 9223372036854775807LL
1801 // WEBASSEMBLY-NEXT:#define __INT_LEAST64_TYPE__ long long int
1802 // WEBASSEMBLY-NEXT:#define __INT_LEAST8_FMTd__ "hhd"
1803 // WEBASSEMBLY-NEXT:#define __INT_LEAST8_FMTi__ "hhi"
1804 // WEBASSEMBLY-NEXT:#define __INT_LEAST8_MAX__ 127
1805 // WEBASSEMBLY-NEXT:#define __INT_LEAST8_TYPE__ signed char
1806 // WEBASSEMBLY-NEXT:#define __INT_MAX__ 2147483647
1807 // WEBASSEMBLY-NEXT:#define __LDBL_DECIMAL_DIG__ 36
1808 // WEBASSEMBLY-NEXT:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1809 // WEBASSEMBLY-NEXT:#define __LDBL_DIG__ 33
1810 // WEBASSEMBLY-NEXT:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1811 // WEBASSEMBLY-NEXT:#define __LDBL_HAS_DENORM__ 1
1812 // WEBASSEMBLY-NEXT:#define __LDBL_HAS_INFINITY__ 1
1813 // WEBASSEMBLY-NEXT:#define __LDBL_HAS_QUIET_NAN__ 1
1814 // WEBASSEMBLY-NEXT:#define __LDBL_MANT_DIG__ 113
1815 // WEBASSEMBLY-NEXT:#define __LDBL_MAX_10_EXP__ 4932
1816 // WEBASSEMBLY-NEXT:#define __LDBL_MAX_EXP__ 16384
1817 // WEBASSEMBLY-NEXT:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1818 // WEBASSEMBLY-NEXT:#define __LDBL_MIN_10_EXP__ (-4931)
1819 // WEBASSEMBLY-NEXT:#define __LDBL_MIN_EXP__ (-16381)
1820 // WEBASSEMBLY-NEXT:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1821 // WEBASSEMBLY-NEXT:#define __LITTLE_ENDIAN__ 1
1822 // WEBASSEMBLY-NEXT:#define __LONG_LONG_MAX__ 9223372036854775807LL
1823 // WEBASSEMBLY32-NEXT:#define __LONG_MAX__ 2147483647L
1824 // WEBASSEMBLY32-NOT:#define __LP64__
1825 // WEBASSEMBLY64-NEXT:#define __LONG_MAX__ 9223372036854775807L
1826 // WEBASSEMBLY64-NEXT:#define __LP64__ 1
1827 // WEBASSEMBLY-NEXT:#define __NO_INLINE__ 1
1828 // WEBASSEMBLY-NEXT:#define __OBJC_BOOL_IS_BOOL 0
1829 // WEBASSEMBLY-NEXT:#define __OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES 3
1830 // WEBASSEMBLY-NEXT:#define __OPENCL_MEMORY_SCOPE_DEVICE 2
1831 // WEBASSEMBLY-NEXT:#define __OPENCL_MEMORY_SCOPE_SUB_GROUP 4
1832 // WEBASSEMBLY-NEXT:#define __OPENCL_MEMORY_SCOPE_WORK_GROUP 1
1833 // WEBASSEMBLY-NEXT:#define __OPENCL_MEMORY_SCOPE_WORK_ITEM 0
1834 // WEBASSEMBLY-NEXT:#define __ORDER_BIG_ENDIAN__ 4321
1835 // WEBASSEMBLY-NEXT:#define __ORDER_LITTLE_ENDIAN__ 1234
1836 // WEBASSEMBLY-NEXT:#define __ORDER_PDP_ENDIAN__ 3412
1837 // WEBASSEMBLY32-NEXT:#define __POINTER_WIDTH__ 32
1838 // WEBASSEMBLY64-NEXT:#define __POINTER_WIDTH__ 64
1839 // WEBASSEMBLY-NEXT:#define __PRAGMA_REDEFINE_EXTNAME 1
1840 // WEBASSEMBLY-NEXT:#define __PTRDIFF_FMTd__ "ld"
1841 // WEBASSEMBLY-NEXT:#define __PTRDIFF_FMTi__ "li"
1842 // WEBASSEMBLY32-NEXT:#define __PTRDIFF_MAX__ 2147483647L
1843 // WEBASSEMBLY64-NEXT:#define __PTRDIFF_MAX__ 9223372036854775807L
1844 // WEBASSEMBLY-NEXT:#define __PTRDIFF_TYPE__ long int
1845 // WEBASSEMBLY32-NEXT:#define __PTRDIFF_WIDTH__ 32
1846 // WEBASSEMBLY64-NEXT:#define __PTRDIFF_WIDTH__ 64
1847 // WEBASSEMBLY-NOT:#define __REGISTER_PREFIX__
1848 // WEBASSEMBLY-NEXT:#define __SCHAR_MAX__ 127
1849 // WEBASSEMBLY-NEXT:#define __SHRT_MAX__ 32767
1850 // WEBASSEMBLY32-NEXT:#define __SIG_ATOMIC_MAX__ 2147483647L
1851 // WEBASSEMBLY32-NEXT:#define __SIG_ATOMIC_WIDTH__ 32
1852 // WEBASSEMBLY64-NEXT:#define __SIG_ATOMIC_MAX__ 9223372036854775807L
1853 // WEBASSEMBLY64-NEXT:#define __SIG_ATOMIC_WIDTH__ 64
1854 // WEBASSEMBLY-NEXT:#define __SIZEOF_DOUBLE__ 8
1855 // WEBASSEMBLY-NEXT:#define __SIZEOF_FLOAT__ 4
1856 // WEBASSEMBLY-NEXT:#define __SIZEOF_INT128__ 16
1857 // WEBASSEMBLY-NEXT:#define __SIZEOF_INT__ 4
1858 // WEBASSEMBLY-NEXT:#define __SIZEOF_LONG_DOUBLE__ 16
1859 // WEBASSEMBLY-NEXT:#define __SIZEOF_LONG_LONG__ 8
1860 // WEBASSEMBLY32-NEXT:#define __SIZEOF_LONG__ 4
1861 // WEBASSEMBLY32-NEXT:#define __SIZEOF_POINTER__ 4
1862 // WEBASSEMBLY32-NEXT:#define __SIZEOF_PTRDIFF_T__ 4
1863 // WEBASSEMBLY64-NEXT:#define __SIZEOF_LONG__ 8
1864 // WEBASSEMBLY64-NEXT:#define __SIZEOF_POINTER__ 8
1865 // WEBASSEMBLY64-NEXT:#define __SIZEOF_PTRDIFF_T__ 8
1866 // WEBASSEMBLY-NEXT:#define __SIZEOF_SHORT__ 2
1867 // WEBASSEMBLY32-NEXT:#define __SIZEOF_SIZE_T__ 4
1868 // WEBASSEMBLY64-NEXT:#define __SIZEOF_SIZE_T__ 8
1869 // WEBASSEMBLY-NEXT:#define __SIZEOF_WCHAR_T__ 4
1870 // WEBASSEMBLY-NEXT:#define __SIZEOF_WINT_T__ 4
1871 // WEBASSEMBLY-NEXT:#define __SIZE_FMTX__ "lX"
1872 // WEBASSEMBLY-NEXT:#define __SIZE_FMTo__ "lo"
1873 // WEBASSEMBLY-NEXT:#define __SIZE_FMTu__ "lu"
1874 // WEBASSEMBLY-NEXT:#define __SIZE_FMTx__ "lx"
1875 // WEBASSEMBLY32-NEXT:#define __SIZE_MAX__ 4294967295UL
1876 // WEBASSEMBLY64-NEXT:#define __SIZE_MAX__ 18446744073709551615UL
1877 // WEBASSEMBLY-NEXT:#define __SIZE_TYPE__ long unsigned int
1878 // WEBASSEMBLY32-NEXT:#define __SIZE_WIDTH__ 32
1879 // WEBASSEMBLY64-NEXT:#define __SIZE_WIDTH__ 64
1880 // WEBASSEMBLY-NEXT:#define __STDC_HOSTED__ 0
1881 // WEBASSEMBLY-NOT:#define __STDC_MB_MIGHT_NEQ_WC__
1882 // WEBASSEMBLY-NOT:#define __STDC_NO_ATOMICS__
1883 // WEBASSEMBLY-NOT:#define __STDC_NO_COMPLEX__
1884 // WEBASSEMBLY-NOT:#define __STDC_NO_VLA__
1885 // WEBASSEMBLY-NOT:#define __STDC_NO_THREADS__
1886 // WEBASSEMBLY-NEXT:#define __STDC_UTF_16__ 1
1887 // WEBASSEMBLY-NEXT:#define __STDC_UTF_32__ 1
1888 // WEBASSEMBLY-NEXT:#define __STDC_VERSION__ 201710L
1889 // WEBASSEMBLY-NEXT:#define __STDC__ 1
1890 // WEBASSEMBLY-NEXT:#define __UINT16_C_SUFFIX__
1891 // WEBASSEMBLY-NEXT:#define __UINT16_FMTX__ "hX"
1892 // WEBASSEMBLY-NEXT:#define __UINT16_FMTo__ "ho"
1893 // WEBASSEMBLY-NEXT:#define __UINT16_FMTu__ "hu"
1894 // WEBASSEMBLY-NEXT:#define __UINT16_FMTx__ "hx"
1895 // WEBASSEMBLY-NEXT:#define __UINT16_MAX__ 65535
1896 // WEBASSEMBLY-NEXT:#define __UINT16_TYPE__ unsigned short
1897 // WEBASSEMBLY-NEXT:#define __UINT32_C_SUFFIX__ U
1898 // WEBASSEMBLY-NEXT:#define __UINT32_FMTX__ "X"
1899 // WEBASSEMBLY-NEXT:#define __UINT32_FMTo__ "o"
1900 // WEBASSEMBLY-NEXT:#define __UINT32_FMTu__ "u"
1901 // WEBASSEMBLY-NEXT:#define __UINT32_FMTx__ "x"
1902 // WEBASSEMBLY-NEXT:#define __UINT32_MAX__ 4294967295U
1903 // WEBASSEMBLY-NEXT:#define __UINT32_TYPE__ unsigned int
1904 // WEBASSEMBLY-NEXT:#define __UINT64_C_SUFFIX__ ULL
1905 // WEBASSEMBLY-NEXT:#define __UINT64_FMTX__ "llX"
1906 // WEBASSEMBLY-NEXT:#define __UINT64_FMTo__ "llo"
1907 // WEBASSEMBLY-NEXT:#define __UINT64_FMTu__ "llu"
1908 // WEBASSEMBLY-NEXT:#define __UINT64_FMTx__ "llx"
1909 // WEBASSEMBLY-NEXT:#define __UINT64_MAX__ 18446744073709551615ULL
1910 // WEBASSEMBLY-NEXT:#define __UINT64_TYPE__ long long unsigned int
1911 // WEBASSEMBLY-NEXT:#define __UINT8_C_SUFFIX__
1912 // WEBASSEMBLY-NEXT:#define __UINT8_FMTX__ "hhX"
1913 // WEBASSEMBLY-NEXT:#define __UINT8_FMTo__ "hho"
1914 // WEBASSEMBLY-NEXT:#define __UINT8_FMTu__ "hhu"
1915 // WEBASSEMBLY-NEXT:#define __UINT8_FMTx__ "hhx"
1916 // WEBASSEMBLY-NEXT:#define __UINT8_MAX__ 255
1917 // WEBASSEMBLY-NEXT:#define __UINT8_TYPE__ unsigned char
1918 // WEBASSEMBLY-NEXT:#define __UINTMAX_C_SUFFIX__ ULL
1919 // WEBASSEMBLY-NEXT:#define __UINTMAX_FMTX__ "llX"
1920 // WEBASSEMBLY-NEXT:#define __UINTMAX_FMTo__ "llo"
1921 // WEBASSEMBLY-NEXT:#define __UINTMAX_FMTu__ "llu"
1922 // WEBASSEMBLY-NEXT:#define __UINTMAX_FMTx__ "llx"
1923 // WEBASSEMBLY-NEXT:#define __UINTMAX_MAX__ 18446744073709551615ULL
1924 // WEBASSEMBLY-NEXT:#define __UINTMAX_TYPE__ long long unsigned int
1925 // WEBASSEMBLY-NEXT:#define __UINTMAX_WIDTH__ 64
1926 // WEBASSEMBLY-NEXT:#define __UINTPTR_FMTX__ "lX"
1927 // WEBASSEMBLY-NEXT:#define __UINTPTR_FMTo__ "lo"
1928 // WEBASSEMBLY-NEXT:#define __UINTPTR_FMTu__ "lu"
1929 // WEBASSEMBLY-NEXT:#define __UINTPTR_FMTx__ "lx"
1930 // WEBASSEMBLY32-NEXT:#define __UINTPTR_MAX__ 4294967295UL
1931 // WEBASSEMBLY64-NEXT:#define __UINTPTR_MAX__ 18446744073709551615UL
1932 // WEBASSEMBLY-NEXT:#define __UINTPTR_TYPE__ long unsigned int
1933 // WEBASSEMBLY32-NEXT:#define __UINTPTR_WIDTH__ 32
1934 // WEBASSEMBLY64-NEXT:#define __UINTPTR_WIDTH__ 64
1935 // WEBASSEMBLY-NEXT:#define __UINT_FAST16_FMTX__ "hX"
1936 // WEBASSEMBLY-NEXT:#define __UINT_FAST16_FMTo__ "ho"
1937 // WEBASSEMBLY-NEXT:#define __UINT_FAST16_FMTu__ "hu"
1938 // WEBASSEMBLY-NEXT:#define __UINT_FAST16_FMTx__ "hx"
1939 // WEBASSEMBLY-NEXT:#define __UINT_FAST16_MAX__ 65535
1940 // WEBASSEMBLY-NEXT:#define __UINT_FAST16_TYPE__ unsigned short
1941 // WEBASSEMBLY-NEXT:#define __UINT_FAST32_FMTX__ "X"
1942 // WEBASSEMBLY-NEXT:#define __UINT_FAST32_FMTo__ "o"
1943 // WEBASSEMBLY-NEXT:#define __UINT_FAST32_FMTu__ "u"
1944 // WEBASSEMBLY-NEXT:#define __UINT_FAST32_FMTx__ "x"
1945 // WEBASSEMBLY-NEXT:#define __UINT_FAST32_MAX__ 4294967295U
1946 // WEBASSEMBLY-NEXT:#define __UINT_FAST32_TYPE__ unsigned int
1947 // WEBASSEMBLY-NEXT:#define __UINT_FAST64_FMTX__ "llX"
1948 // WEBASSEMBLY-NEXT:#define __UINT_FAST64_FMTo__ "llo"
1949 // WEBASSEMBLY-NEXT:#define __UINT_FAST64_FMTu__ "llu"
1950 // WEBASSEMBLY-NEXT:#define __UINT_FAST64_FMTx__ "llx"
1951 // WEBASSEMBLY-NEXT:#define __UINT_FAST64_MAX__ 18446744073709551615ULL
1952 // WEBASSEMBLY-NEXT:#define __UINT_FAST64_TYPE__ long long unsigned int
1953 // WEBASSEMBLY-NEXT:#define __UINT_FAST8_FMTX__ "hhX"
1954 // WEBASSEMBLY-NEXT:#define __UINT_FAST8_FMTo__ "hho"
1955 // WEBASSEMBLY-NEXT:#define __UINT_FAST8_FMTu__ "hhu"
1956 // WEBASSEMBLY-NEXT:#define __UINT_FAST8_FMTx__ "hhx"
1957 // WEBASSEMBLY-NEXT:#define __UINT_FAST8_MAX__ 255
1958 // WEBASSEMBLY-NEXT:#define __UINT_FAST8_TYPE__ unsigned char
1959 // WEBASSEMBLY-NEXT:#define __UINT_LEAST16_FMTX__ "hX"
1960 // WEBASSEMBLY-NEXT:#define __UINT_LEAST16_FMTo__ "ho"
1961 // WEBASSEMBLY-NEXT:#define __UINT_LEAST16_FMTu__ "hu"
1962 // WEBASSEMBLY-NEXT:#define __UINT_LEAST16_FMTx__ "hx"
1963 // WEBASSEMBLY-NEXT:#define __UINT_LEAST16_MAX__ 65535
1964 // WEBASSEMBLY-NEXT:#define __UINT_LEAST16_TYPE__ unsigned short
1965 // WEBASSEMBLY-NEXT:#define __UINT_LEAST32_FMTX__ "X"
1966 // WEBASSEMBLY-NEXT:#define __UINT_LEAST32_FMTo__ "o"
1967 // WEBASSEMBLY-NEXT:#define __UINT_LEAST32_FMTu__ "u"
1968 // WEBASSEMBLY-NEXT:#define __UINT_LEAST32_FMTx__ "x"
1969 // WEBASSEMBLY-NEXT:#define __UINT_LEAST32_MAX__ 4294967295U
1970 // WEBASSEMBLY-NEXT:#define __UINT_LEAST32_TYPE__ unsigned int
1971 // WEBASSEMBLY-NEXT:#define __UINT_LEAST64_FMTX__ "llX"
1972 // WEBASSEMBLY-NEXT:#define __UINT_LEAST64_FMTo__ "llo"
1973 // WEBASSEMBLY-NEXT:#define __UINT_LEAST64_FMTu__ "llu"
1974 // WEBASSEMBLY-NEXT:#define __UINT_LEAST64_FMTx__ "llx"
1975 // WEBASSEMBLY-NEXT:#define __UINT_LEAST64_MAX__ 18446744073709551615ULL
1976 // WEBASSEMBLY-NEXT:#define __UINT_LEAST64_TYPE__ long long unsigned int
1977 // WEBASSEMBLY-NEXT:#define __UINT_LEAST8_FMTX__ "hhX"
1978 // WEBASSEMBLY-NEXT:#define __UINT_LEAST8_FMTo__ "hho"
1979 // WEBASSEMBLY-NEXT:#define __UINT_LEAST8_FMTu__ "hhu"
1980 // WEBASSEMBLY-NEXT:#define __UINT_LEAST8_FMTx__ "hhx"
1981 // WEBASSEMBLY-NEXT:#define __UINT_LEAST8_MAX__ 255
1982 // WEBASSEMBLY-NEXT:#define __UINT_LEAST8_TYPE__ unsigned char
1983 // WEBASSEMBLY-NEXT:#define __USER_LABEL_PREFIX__
1984 // WEBASSEMBLY-NEXT:#define __VERSION__ "{{.*}}"
1985 // WEBASSEMBLY-NEXT:#define __WCHAR_MAX__ 2147483647
1986 // WEBASSEMBLY-NEXT:#define __WCHAR_TYPE__ int
1987 // WEBASSEMBLY-NOT:#define __WCHAR_UNSIGNED__
1988 // WEBASSEMBLY-NEXT:#define __WCHAR_WIDTH__ 32
1989 // WEBASSEMBLY-NEXT:#define __WINT_MAX__ 2147483647
1990 // WEBASSEMBLY-NEXT:#define __WINT_TYPE__ int
1991 // WEBASSEMBLY-NOT:#define __WINT_UNSIGNED__
1992 // WEBASSEMBLY-NEXT:#define __WINT_WIDTH__ 32
1993 // WEBASSEMBLY-NEXT:#define __clang__ 1
1994 // WEBASSEMBLY-NEXT:#define __clang_major__ {{.*}}
1995 // WEBASSEMBLY-NEXT:#define __clang_minor__ {{.*}}
1996 // WEBASSEMBLY-NEXT:#define __clang_patchlevel__ {{.*}}
1997 // WEBASSEMBLY-NEXT:#define __clang_version__ "{{.*}}"
1998 // WEBASSEMBLY-NEXT:#define __llvm__ 1
1999 // WEBASSEMBLY-NOT:#define __unix
2000 // WEBASSEMBLY-NOT:#define __unix__
2001 // WEBASSEMBLY-WASI-NEXT:#define __wasi__ 1
2002 // WEBASSEMBLY-NOT:#define __wasm_simd128__
2003 // WEBASSEMBLY-NOT:#define __wasm_simd256__
2004 // WEBASSEMBLY-NOT:#define __wasm_simd512__
2005 // WEBASSEMBLY-NEXT:#define __wasm 1
2006 // WEBASSEMBLY32-NEXT:#define __wasm32 1
2007 // WEBASSEMBLY64-NOT:#define __wasm32
2008 // WEBASSEMBLY32-NEXT:#define __wasm32__ 1
2009 // WEBASSEMBLY64-NOT:#define __wasm32__
2010 // WEBASSEMBLY32-NOT:#define __wasm64__
2011 // WEBASSEMBLY32-NOT:#define __wasm64
2012 // WEBASSEMBLY64-NEXT:#define __wasm64 1
2013 // WEBASSEMBLY64-NEXT:#define __wasm64__ 1
2014 // WEBASSEMBLY-NEXT:#define __wasm__ 1
2015 
2016 // RUN: %clang_cc1 -E -dM -ffreestanding -triple i686-windows-cygnus < /dev/null | FileCheck -match-full-lines -check-prefix CYGWIN-X32 %s
2017 // CYGWIN-X32: #define __USER_LABEL_PREFIX__ _
2018 
2019 // RUN: %clang_cc1 -E -dM -ffreestanding -triple x86_64-windows-cygnus < /dev/null | FileCheck -match-full-lines -check-prefix CYGWIN-X64 %s
2020 // CYGWIN-X64: #define __USER_LABEL_PREFIX__
2021 
2022 // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=avr \
2023 // RUN:   < /dev/null \
2024 // RUN:   | FileCheck -match-full-lines -check-prefix=AVR %s
2025 //
2026 // AVR:#define __ATOMIC_ACQUIRE 2
2027 // AVR:#define __ATOMIC_ACQ_REL 4
2028 // AVR:#define __ATOMIC_CONSUME 1
2029 // AVR:#define __ATOMIC_RELAXED 0
2030 // AVR:#define __ATOMIC_RELEASE 3
2031 // AVR:#define __ATOMIC_SEQ_CST 5
2032 // AVR:#define __AVR__ 1
2033 // AVR:#define __BIGGEST_ALIGNMENT__ 1
2034 // AVR:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
2035 // AVR:#define __CHAR16_TYPE__ unsigned int
2036 // AVR:#define __CHAR32_TYPE__ long unsigned int
2037 // AVR:#define __CHAR_BIT__ 8
2038 // AVR:#define __DBL_DECIMAL_DIG__ 9
2039 // AVR:#define __DBL_DENORM_MIN__ 1.40129846e-45
2040 // AVR:#define __DBL_DIG__ 6
2041 // AVR:#define __DBL_EPSILON__ 1.19209290e-7
2042 // AVR:#define __DBL_HAS_DENORM__ 1
2043 // AVR:#define __DBL_HAS_INFINITY__ 1
2044 // AVR:#define __DBL_HAS_QUIET_NAN__ 1
2045 // AVR:#define __DBL_MANT_DIG__ 24
2046 // AVR:#define __DBL_MAX_10_EXP__ 38
2047 // AVR:#define __DBL_MAX_EXP__ 128
2048 // AVR:#define __DBL_MAX__ 3.40282347e+38
2049 // AVR:#define __DBL_MIN_10_EXP__ (-37)
2050 // AVR:#define __DBL_MIN_EXP__ (-125)
2051 // AVR:#define __DBL_MIN__ 1.17549435e-38
2052 // AVR:#define __FINITE_MATH_ONLY__ 0
2053 // AVR:#define __FLT_DECIMAL_DIG__ 9
2054 // AVR:#define __FLT_DENORM_MIN__ 1.40129846e-45F
2055 // AVR:#define __FLT_DIG__ 6
2056 // AVR:#define __FLT_EPSILON__ 1.19209290e-7F
2057 // AVR:#define __FLT_EVAL_METHOD__ 0
2058 // AVR:#define __FLT_HAS_DENORM__ 1
2059 // AVR:#define __FLT_HAS_INFINITY__ 1
2060 // AVR:#define __FLT_HAS_QUIET_NAN__ 1
2061 // AVR:#define __FLT_MANT_DIG__ 24
2062 // AVR:#define __FLT_MAX_10_EXP__ 38
2063 // AVR:#define __FLT_MAX_EXP__ 128
2064 // AVR:#define __FLT_MAX__ 3.40282347e+38F
2065 // AVR:#define __FLT_MIN_10_EXP__ (-37)
2066 // AVR:#define __FLT_MIN_EXP__ (-125)
2067 // AVR:#define __FLT_MIN__ 1.17549435e-38F
2068 // AVR:#define __FLT_RADIX__ 2
2069 // AVR:#define __GCC_ATOMIC_BOOL_LOCK_FREE 1
2070 // AVR:#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 1
2071 // AVR:#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 1
2072 // AVR:#define __GCC_ATOMIC_CHAR_LOCK_FREE 1
2073 // AVR:#define __GCC_ATOMIC_INT_LOCK_FREE 1
2074 // AVR:#define __GCC_ATOMIC_LLONG_LOCK_FREE 1
2075 // AVR:#define __GCC_ATOMIC_LONG_LOCK_FREE 1
2076 // AVR:#define __GCC_ATOMIC_POINTER_LOCK_FREE 1
2077 // AVR:#define __GCC_ATOMIC_SHORT_LOCK_FREE 1
2078 // AVR:#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
2079 // AVR:#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 1
2080 // AVR:#define __GXX_ABI_VERSION 1002
2081 // AVR:#define __INT16_C_SUFFIX__
2082 // AVR:#define __INT16_MAX__ 32767
2083 // AVR:#define __INT16_TYPE__ short
2084 // AVR:#define __INT32_C_SUFFIX__ L
2085 // AVR:#define __INT32_MAX__ 2147483647L
2086 // AVR:#define __INT32_TYPE__ long int
2087 // AVR:#define __INT64_C_SUFFIX__ LL
2088 // AVR:#define __INT64_MAX__ 9223372036854775807LL
2089 // AVR:#define __INT64_TYPE__ long long int
2090 // AVR:#define __INT8_C_SUFFIX__
2091 // AVR:#define __INT8_MAX__ 127
2092 // AVR:#define __INT8_TYPE__ signed char
2093 // AVR:#define __INTMAX_C_SUFFIX__ LL
2094 // AVR:#define __INTMAX_MAX__ 9223372036854775807LL
2095 // AVR:#define __INTMAX_TYPE__ long long int
2096 // AVR:#define __INTPTR_MAX__ 32767
2097 // AVR:#define __INTPTR_TYPE__ int
2098 // AVR:#define __INT_FAST16_MAX__ 32767
2099 // AVR:#define __INT_FAST16_TYPE__ int
2100 // AVR:#define __INT_FAST32_MAX__ 2147483647L
2101 // AVR:#define __INT_FAST32_TYPE__ long int
2102 // AVR:#define __INT_FAST64_MAX__ 9223372036854775807LL
2103 // AVR:#define __INT_FAST64_TYPE__ long long int
2104 // AVR:#define __INT_FAST8_MAX__ 127
2105 // AVR:#define __INT_FAST8_TYPE__ signed char
2106 // AVR:#define __INT_LEAST16_MAX__ 32767
2107 // AVR:#define __INT_LEAST16_TYPE__ int
2108 // AVR:#define __INT_LEAST32_MAX__ 2147483647L
2109 // AVR:#define __INT_LEAST32_TYPE__ long int
2110 // AVR:#define __INT_LEAST64_MAX__ 9223372036854775807LL
2111 // AVR:#define __INT_LEAST64_TYPE__ long long int
2112 // AVR:#define __INT_LEAST8_MAX__ 127
2113 // AVR:#define __INT_LEAST8_TYPE__ signed char
2114 // AVR:#define __INT_MAX__ 32767
2115 // AVR:#define __LDBL_DECIMAL_DIG__ 9
2116 // AVR:#define __LDBL_DENORM_MIN__ 1.40129846e-45L
2117 // AVR:#define __LDBL_DIG__ 6
2118 // AVR:#define __LDBL_EPSILON__ 1.19209290e-7L
2119 // AVR:#define __LDBL_HAS_DENORM__ 1
2120 // AVR:#define __LDBL_HAS_INFINITY__ 1
2121 // AVR:#define __LDBL_HAS_QUIET_NAN__ 1
2122 // AVR:#define __LDBL_MANT_DIG__ 24
2123 // AVR:#define __LDBL_MAX_10_EXP__ 38
2124 // AVR:#define __LDBL_MAX_EXP__ 128
2125 // AVR:#define __LDBL_MAX__ 3.40282347e+38L
2126 // AVR:#define __LDBL_MIN_10_EXP__ (-37)
2127 // AVR:#define __LDBL_MIN_EXP__ (-125)
2128 // AVR:#define __LDBL_MIN__ 1.17549435e-38L
2129 // AVR:#define __LONG_LONG_MAX__ 9223372036854775807LL
2130 // AVR:#define __LONG_MAX__ 2147483647L
2131 // AVR:#define __NO_INLINE__ 1
2132 // AVR:#define __ORDER_BIG_ENDIAN__ 4321
2133 // AVR:#define __ORDER_LITTLE_ENDIAN__ 1234
2134 // AVR:#define __ORDER_PDP_ENDIAN__ 3412
2135 // AVR:#define __PRAGMA_REDEFINE_EXTNAME 1
2136 // AVR:#define __PTRDIFF_MAX__ 32767
2137 // AVR:#define __PTRDIFF_TYPE__ int
2138 // AVR:#define __SCHAR_MAX__ 127
2139 // AVR:#define __SHRT_MAX__ 32767
2140 // AVR:#define __SIG_ATOMIC_MAX__ 127
2141 // AVR:#define __SIG_ATOMIC_WIDTH__ 8
2142 // AVR:#define __SIZEOF_DOUBLE__ 4
2143 // AVR:#define __SIZEOF_FLOAT__ 4
2144 // AVR:#define __SIZEOF_INT__ 2
2145 // AVR:#define __SIZEOF_LONG_DOUBLE__ 4
2146 // AVR:#define __SIZEOF_LONG_LONG__ 8
2147 // AVR:#define __SIZEOF_LONG__ 4
2148 // AVR:#define __SIZEOF_POINTER__ 2
2149 // AVR:#define __SIZEOF_PTRDIFF_T__ 2
2150 // AVR:#define __SIZEOF_SHORT__ 2
2151 // AVR:#define __SIZEOF_SIZE_T__ 2
2152 // AVR:#define __SIZEOF_WCHAR_T__ 2
2153 // AVR:#define __SIZEOF_WINT_T__ 2
2154 // AVR:#define __SIZE_MAX__ 65535U
2155 // AVR:#define __SIZE_TYPE__ unsigned int
2156 // AVR:#define __STDC__ 1
2157 // AVR:#define __UINT16_MAX__ 65535U
2158 // AVR:#define __UINT16_TYPE__ unsigned short
2159 // AVR:#define __UINT32_C_SUFFIX__ UL
2160 // AVR:#define __UINT32_MAX__ 4294967295UL
2161 // AVR:#define __UINT32_TYPE__ long unsigned int
2162 // AVR:#define __UINT64_C_SUFFIX__ ULL
2163 // AVR:#define __UINT64_MAX__ 18446744073709551615ULL
2164 // AVR:#define __UINT64_TYPE__ long long unsigned int
2165 // AVR:#define __UINT8_C_SUFFIX__
2166 // AVR:#define __UINT8_MAX__ 255
2167 // AVR:#define __UINT8_TYPE__ unsigned char
2168 // AVR:#define __UINTMAX_C_SUFFIX__ ULL
2169 // AVR:#define __UINTMAX_MAX__ 18446744073709551615ULL
2170 // AVR:#define __UINTMAX_TYPE__ long long unsigned int
2171 // AVR:#define __UINTPTR_MAX__ 65535U
2172 // AVR:#define __UINTPTR_TYPE__ unsigned int
2173 // AVR:#define __UINT_FAST16_MAX__ 65535U
2174 // AVR:#define __UINT_FAST16_TYPE__ unsigned int
2175 // AVR:#define __UINT_FAST32_MAX__ 4294967295UL
2176 // AVR:#define __UINT_FAST32_TYPE__ long unsigned int
2177 // AVR:#define __UINT_FAST64_MAX__ 18446744073709551615ULL
2178 // AVR:#define __UINT_FAST64_TYPE__ long long unsigned int
2179 // AVR:#define __UINT_FAST8_MAX__ 255
2180 // AVR:#define __UINT_FAST8_TYPE__ unsigned char
2181 // AVR:#define __UINT_LEAST16_MAX__ 65535U
2182 // AVR:#define __UINT_LEAST16_TYPE__ unsigned int
2183 // AVR:#define __UINT_LEAST32_MAX__ 4294967295UL
2184 // AVR:#define __UINT_LEAST32_TYPE__ long unsigned int
2185 // AVR:#define __UINT_LEAST64_MAX__ 18446744073709551615ULL
2186 // AVR:#define __UINT_LEAST64_TYPE__ long long unsigned int
2187 // AVR:#define __UINT_LEAST8_MAX__ 255
2188 // AVR:#define __UINT_LEAST8_TYPE__ unsigned char
2189 // AVR:#define __USER_LABEL_PREFIX__
2190 // AVR:#define __WCHAR_MAX__ 32767
2191 // AVR:#define __WCHAR_TYPE__ int
2192 // AVR:#define __WINT_TYPE__ int
2193 
2194 
2195 // RUN: %clang_cc1 -E -dM -ffreestanding \
2196 // RUN:    -triple i686-windows-msvc -fms-compatibility -x c++ < /dev/null \
2197 // RUN:  | FileCheck -match-full-lines -check-prefix MSVC-X32 %s
2198 
2199 // RUN: %clang_cc1 -E -dM -ffreestanding \
2200 // RUN:    -triple x86_64-windows-msvc -fms-compatibility -x c++ < /dev/null \
2201 // RUN:  | FileCheck -match-full-lines -check-prefix MSVC-X64 %s
2202 
2203 // MSVC-X32:#define __CLANG_ATOMIC_BOOL_LOCK_FREE 2
2204 // MSVC-X32-NEXT:#define __CLANG_ATOMIC_CHAR16_T_LOCK_FREE 2
2205 // MSVC-X32-NEXT:#define __CLANG_ATOMIC_CHAR32_T_LOCK_FREE 2
2206 // MSVC-X32-NEXT:#define __CLANG_ATOMIC_CHAR_LOCK_FREE 2
2207 // MSVC-X32-NEXT:#define __CLANG_ATOMIC_INT_LOCK_FREE 2
2208 // MSVC-X32-NEXT:#define __CLANG_ATOMIC_LLONG_LOCK_FREE 2
2209 // MSVC-X32-NEXT:#define __CLANG_ATOMIC_LONG_LOCK_FREE 2
2210 // MSVC-X32-NEXT:#define __CLANG_ATOMIC_POINTER_LOCK_FREE 2
2211 // MSVC-X32-NEXT:#define __CLANG_ATOMIC_SHORT_LOCK_FREE 2
2212 // MSVC-X32-NEXT:#define __CLANG_ATOMIC_WCHAR_T_LOCK_FREE 2
2213 // MSVC-X32-NOT:#define __GCC_ATOMIC{{.*}}
2214 // MSVC-X32:#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 8U
2215 
2216 // MSVC-X64:#define __CLANG_ATOMIC_BOOL_LOCK_FREE 2
2217 // MSVC-X64-NEXT:#define __CLANG_ATOMIC_CHAR16_T_LOCK_FREE 2
2218 // MSVC-X64-NEXT:#define __CLANG_ATOMIC_CHAR32_T_LOCK_FREE 2
2219 // MSVC-X64-NEXT:#define __CLANG_ATOMIC_CHAR_LOCK_FREE 2
2220 // MSVC-X64-NEXT:#define __CLANG_ATOMIC_INT_LOCK_FREE 2
2221 // MSVC-X64-NEXT:#define __CLANG_ATOMIC_LLONG_LOCK_FREE 2
2222 // MSVC-X64-NEXT:#define __CLANG_ATOMIC_LONG_LOCK_FREE 2
2223 // MSVC-X64-NEXT:#define __CLANG_ATOMIC_POINTER_LOCK_FREE 2
2224 // MSVC-X64-NEXT:#define __CLANG_ATOMIC_SHORT_LOCK_FREE 2
2225 // MSVC-X64-NEXT:#define __CLANG_ATOMIC_WCHAR_T_LOCK_FREE 2
2226 // MSVC-X64-NOT:#define __GCC_ATOMIC{{.*}}
2227 // MSVC-X64:#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 16ULL
2228 
2229 // RUN: %clang_cc1 -E -dM -ffreestanding                \
2230 // RUN:  -fgnuc-version=4.2.1  -triple=aarch64-apple-ios9 < /dev/null        \
2231 // RUN: | FileCheck -check-prefix=DARWIN %s
2232 // RUN: %clang_cc1 -E -dM -ffreestanding                \
2233 // RUN:   -fgnuc-version=4.2.1 -triple=aarch64-apple-macosx10.12 < /dev/null \
2234 // RUN: | FileCheck -check-prefix=DARWIN %s
2235 
2236 // DARWIN-NOT: OBJC_NEW_PROPERTIES
2237 // DARWIN:#define __STDC_NO_THREADS__ 1
2238 
2239 // RUN: %clang_cc1 -triple i386-apple-macosx -ffreestanding -dM -E /dev/null -o - | FileCheck -match-full-lines -check-prefix MACOS-32 %s
2240 // RUN: %clang_cc1 -triple x86_64-apple-macosx -ffreestanding -dM -E /dev/null -o - | FileCheck -match-full-lines -check-prefix MACOS-64 %s
2241 
2242 // MACOS-32: #define __INTPTR_TYPE__ long int
2243 // MACOS-32: #define __PTRDIFF_TYPE__ int
2244 // MACOS-32: #define __SIZE_TYPE__ long unsigned int
2245 
2246 // MACOS-64: #define __INTPTR_TYPE__ long int
2247 // MACOS-64: #define __PTRDIFF_TYPE__ long int
2248 // MACOS-64: #define __SIZE_TYPE__ long unsigned int
2249 
2250 // RUN: %clang_cc1 -triple i386-apple-ios-simulator -ffreestanding -dM -E /dev/null -o - | FileCheck -match-full-lines -check-prefix IOS-32 %s
2251 // RUN: %clang_cc1 -triple armv7-apple-ios -ffreestanding -dM -E /dev/null -o - | FileCheck -match-full-lines -check-prefix IOS-32 %s
2252 // RUN: %clang_cc1 -triple x86_64-apple-ios-simulator -ffreestanding -dM -E /dev/null -o - | FileCheck -match-full-lines -check-prefix IOS-64 %s
2253 // RUN: %clang_cc1 -triple arm64-apple-ios -ffreestanding -dM -E /dev/null -o - | FileCheck -match-full-lines -check-prefix IOS-64 %s
2254 
2255 // IOS-32: #define __INTPTR_TYPE__ long int
2256 // IOS-32: #define __PTRDIFF_TYPE__ int
2257 // IOS-32: #define __SIZE_TYPE__ long unsigned int
2258 
2259 // IOS-64: #define __INTPTR_TYPE__ long int
2260 // IOS-64: #define __PTRDIFF_TYPE__ long int
2261 // IOS-64: #define __SIZE_TYPE__ long unsigned int
2262 
2263 // RUN: %clang_cc1 -triple i386-apple-tvos-simulator -ffreestanding -dM -E /dev/null -o - | FileCheck -match-full-lines -check-prefix TVOS-32 %s
2264 // RUN: %clang_cc1 -triple armv7-apple-tvos -ffreestanding -dM -E /dev/null -o - | FileCheck -match-full-lines -check-prefix TVOS-32 %s
2265 // RUN: %clang_cc1 -triple x86_64-apple-tvos-simulator -ffreestanding -dM -E /dev/null -o - | FileCheck -match-full-lines -check-prefix TVOS-64 %s
2266 // RUN: %clang_cc1 -triple arm64-apple-tvos -ffreestanding -dM -E /dev/null -o - | FileCheck -match-full-lines -check-prefix TVOS-64 %s
2267 
2268 // TVOS-32: #define __INTPTR_TYPE__ long int
2269 // TVOS-32: #define __PTRDIFF_TYPE__ int
2270 // TVOS-32: #define __SIZE_TYPE__ long unsigned int
2271 
2272 // TVOS-64: #define __INTPTR_TYPE__ long int
2273 // TVOS-64: #define __PTRDIFF_TYPE__ long int
2274 // TVOS-64: #define __SIZE_TYPE__ long unsigned int
2275 
2276 // RUN: %clang_cc1 -triple i386-apple-watchos-simulator -ffreestanding -dM -E /dev/null -o - | FileCheck -match-full-lines -check-prefix WATCHOS-32 %s
2277 // RUN: %clang_cc1 -triple armv7k-apple-watchos -ffreestanding -dM -E /dev/null -o - | FileCheck -match-full-lines -check-prefix WATCHOS-64 %s
2278 // RUN: %clang_cc1 -triple x86_64-apple-watchos-simulator -ffreestanding -dM -E /dev/null -o - | FileCheck -match-full-lines -check-prefix WATCHOS-64 %s
2279 // RUN: %clang_cc1 -triple arm64-apple-watchos -ffreestanding -dM -E /dev/null -o - | FileCheck -match-full-lines -check-prefix WATCHOS-64 %s
2280 
2281 // WATCHOS-32: #define __INTPTR_TYPE__ long int
2282 // WATCHOS-32: #define __PTRDIFF_TYPE__ int
2283 // WATCHOS-32: #define __SIZE_TYPE__ long unsigned int
2284 
2285 // WATCHOS-64: #define __INTPTR_TYPE__ long int
2286 // WATCHOS-64: #define __PTRDIFF_TYPE__ long int
2287 // WATCHOS-64: #define __SIZE_TYPE__ long unsigned int
2288 
2289 // RUN: %clang_cc1 -triple armv7-apple-none-macho -ffreestanding -dM -E /dev/null -o - | FileCheck -match-full-lines -check-prefix ARM-DARWIN-BAREMETAL-32 %s
2290 // RUN: %clang_cc1 -triple arm64-apple-none-macho -ffreestanding -dM -E /dev/null -o - | FileCheck -match-full-lines -check-prefix ARM-DARWIN-BAREMETAL-64 %s
2291 
2292 // ARM-DARWIN-BAREMETAL-32: #define __INTPTR_TYPE__ long int
2293 // ARM-DARWIN-BAREMETAL-32: #define __PTRDIFF_TYPE__ int
2294 // ARM-DARWIN-BAREMETAL-32: #define __SIZE_TYPE__ long unsigned int
2295 
2296 // ARM-DARWIN-BAREMETAL-64: #define __INTPTR_TYPE__ long int
2297 // ARM-DARWIN-BAREMETAL-64: #define __PTRDIFF_TYPE__ long int
2298 // ARM-DARWIN-BAREMETAL-64: #define __SIZE_TYPE__ long unsigned int
2299 
2300 // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=riscv32 < /dev/null \
2301 // RUN:   | FileCheck -match-full-lines -check-prefix=RISCV32 %s
2302 // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=riscv32-unknown-linux < /dev/null \
2303 // RUN:   | FileCheck -match-full-lines -check-prefixes=RISCV32,RISCV32-LINUX %s
2304 // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=riscv32 \
2305 // RUN: -fforce-enable-int128 < /dev/null | FileCheck -match-full-lines \
2306 // RUN: -check-prefixes=RISCV32,RISCV32-INT128 %s
2307 // RISCV32: #define _ILP32 1
2308 // RISCV32: #define __ATOMIC_ACQUIRE 2
2309 // RISCV32: #define __ATOMIC_ACQ_REL 4
2310 // RISCV32: #define __ATOMIC_CONSUME 1
2311 // RISCV32: #define __ATOMIC_RELAXED 0
2312 // RISCV32: #define __ATOMIC_RELEASE 3
2313 // RISCV32: #define __ATOMIC_SEQ_CST 5
2314 // RISCV32: #define __BIGGEST_ALIGNMENT__ 16
2315 // RISCV32: #define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
2316 // RISCV32: #define __CHAR16_TYPE__ unsigned short
2317 // RISCV32: #define __CHAR32_TYPE__ unsigned int
2318 // RISCV32: #define __CHAR_BIT__ 8
2319 // RISCV32: #define __DBL_DECIMAL_DIG__ 17
2320 // RISCV32: #define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2321 // RISCV32: #define __DBL_DIG__ 15
2322 // RISCV32: #define __DBL_EPSILON__ 2.2204460492503131e-16
2323 // RISCV32: #define __DBL_HAS_DENORM__ 1
2324 // RISCV32: #define __DBL_HAS_INFINITY__ 1
2325 // RISCV32: #define __DBL_HAS_QUIET_NAN__ 1
2326 // RISCV32: #define __DBL_MANT_DIG__ 53
2327 // RISCV32: #define __DBL_MAX_10_EXP__ 308
2328 // RISCV32: #define __DBL_MAX_EXP__ 1024
2329 // RISCV32: #define __DBL_MAX__ 1.7976931348623157e+308
2330 // RISCV32: #define __DBL_MIN_10_EXP__ (-307)
2331 // RISCV32: #define __DBL_MIN_EXP__ (-1021)
2332 // RISCV32: #define __DBL_MIN__ 2.2250738585072014e-308
2333 // RISCV32: #define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__
2334 // RISCV32: #define __ELF__ 1
2335 // RISCV32: #define __FINITE_MATH_ONLY__ 0
2336 // RISCV32: #define __FLT_DECIMAL_DIG__ 9
2337 // RISCV32: #define __FLT_DENORM_MIN__ 1.40129846e-45F
2338 // RISCV32: #define __FLT_DIG__ 6
2339 // RISCV32: #define __FLT_EPSILON__ 1.19209290e-7F
2340 // RISCV32: #define __FLT_EVAL_METHOD__ 0
2341 // RISCV32: #define __FLT_HAS_DENORM__ 1
2342 // RISCV32: #define __FLT_HAS_INFINITY__ 1
2343 // RISCV32: #define __FLT_HAS_QUIET_NAN__ 1
2344 // RISCV32: #define __FLT_MANT_DIG__ 24
2345 // RISCV32: #define __FLT_MAX_10_EXP__ 38
2346 // RISCV32: #define __FLT_MAX_EXP__ 128
2347 // RISCV32: #define __FLT_MAX__ 3.40282347e+38F
2348 // RISCV32: #define __FLT_MIN_10_EXP__ (-37)
2349 // RISCV32: #define __FLT_MIN_EXP__ (-125)
2350 // RISCV32: #define __FLT_MIN__ 1.17549435e-38F
2351 // RISCV32: #define __FLT_RADIX__ 2
2352 // RISCV32: #define __GCC_ATOMIC_BOOL_LOCK_FREE 1
2353 // RISCV32: #define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 1
2354 // RISCV32: #define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 1
2355 // RISCV32: #define __GCC_ATOMIC_CHAR_LOCK_FREE 1
2356 // RISCV32: #define __GCC_ATOMIC_INT_LOCK_FREE 1
2357 // RISCV32: #define __GCC_ATOMIC_LLONG_LOCK_FREE 1
2358 // RISCV32: #define __GCC_ATOMIC_LONG_LOCK_FREE 1
2359 // RISCV32: #define __GCC_ATOMIC_POINTER_LOCK_FREE 1
2360 // RISCV32: #define __GCC_ATOMIC_SHORT_LOCK_FREE 1
2361 // RISCV32: #define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
2362 // RISCV32: #define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 1
2363 // RISCV32: #define __GNUC_MINOR__ {{.*}}
2364 // RISCV32: #define __GNUC_PATCHLEVEL__ {{.*}}
2365 // RISCV32: #define __GNUC_STDC_INLINE__ 1
2366 // RISCV32: #define __GNUC__ {{.*}}
2367 // RISCV32: #define __GXX_ABI_VERSION {{.*}}
2368 // RISCV32: #define __ILP32__ 1
2369 // RISCV32: #define __INT16_C_SUFFIX__
2370 // RISCV32: #define __INT16_MAX__ 32767
2371 // RISCV32: #define __INT16_TYPE__ short
2372 // RISCV32: #define __INT32_C_SUFFIX__
2373 // RISCV32: #define __INT32_MAX__ 2147483647
2374 // RISCV32: #define __INT32_TYPE__ int
2375 // RISCV32: #define __INT64_C_SUFFIX__ LL
2376 // RISCV32: #define __INT64_MAX__ 9223372036854775807LL
2377 // RISCV32: #define __INT64_TYPE__ long long int
2378 // RISCV32: #define __INT8_C_SUFFIX__
2379 // RISCV32: #define __INT8_MAX__ 127
2380 // RISCV32: #define __INT8_TYPE__ signed char
2381 // RISCV32: #define __INTMAX_C_SUFFIX__ LL
2382 // RISCV32: #define __INTMAX_MAX__ 9223372036854775807LL
2383 // RISCV32: #define __INTMAX_TYPE__ long long int
2384 // RISCV32: #define __INTMAX_WIDTH__ 64
2385 // RISCV32: #define __INTPTR_MAX__ 2147483647
2386 // RISCV32: #define __INTPTR_TYPE__ int
2387 // RISCV32: #define __INTPTR_WIDTH__ 32
2388 // TODO: RISC-V GCC defines INT_FAST16 as int
2389 // RISCV32: #define __INT_FAST16_MAX__ 32767
2390 // RISCV32: #define __INT_FAST16_TYPE__ short
2391 // RISCV32: #define __INT_FAST32_MAX__ 2147483647
2392 // RISCV32: #define __INT_FAST32_TYPE__ int
2393 // RISCV32: #define __INT_FAST64_MAX__ 9223372036854775807LL
2394 // RISCV32: #define __INT_FAST64_TYPE__ long long int
2395 // TODO: RISC-V GCC defines INT_FAST8 as int
2396 // RISCV32: #define __INT_FAST8_MAX__ 127
2397 // RISCV32: #define __INT_FAST8_TYPE__ signed char
2398 // RISCV32: #define __INT_LEAST16_MAX__ 32767
2399 // RISCV32: #define __INT_LEAST16_TYPE__ short
2400 // RISCV32: #define __INT_LEAST32_MAX__ 2147483647
2401 // RISCV32: #define __INT_LEAST32_TYPE__ int
2402 // RISCV32: #define __INT_LEAST64_MAX__ 9223372036854775807LL
2403 // RISCV32: #define __INT_LEAST64_TYPE__ long long int
2404 // RISCV32: #define __INT_LEAST8_MAX__ 127
2405 // RISCV32: #define __INT_LEAST8_TYPE__ signed char
2406 // RISCV32: #define __INT_MAX__ 2147483647
2407 // RISCV32: #define __LDBL_DECIMAL_DIG__ 36
2408 // RISCV32: #define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
2409 // RISCV32: #define __LDBL_DIG__ 33
2410 // RISCV32: #define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
2411 // RISCV32: #define __LDBL_HAS_DENORM__ 1
2412 // RISCV32: #define __LDBL_HAS_INFINITY__ 1
2413 // RISCV32: #define __LDBL_HAS_QUIET_NAN__ 1
2414 // RISCV32: #define __LDBL_MANT_DIG__ 113
2415 // RISCV32: #define __LDBL_MAX_10_EXP__ 4932
2416 // RISCV32: #define __LDBL_MAX_EXP__ 16384
2417 // RISCV32: #define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
2418 // RISCV32: #define __LDBL_MIN_10_EXP__ (-4931)
2419 // RISCV32: #define __LDBL_MIN_EXP__ (-16381)
2420 // RISCV32: #define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
2421 // RISCV32: #define __LITTLE_ENDIAN__ 1
2422 // RISCV32: #define __LONG_LONG_MAX__ 9223372036854775807LL
2423 // RISCV32: #define __LONG_MAX__ 2147483647L
2424 // RISCV32: #define __NO_INLINE__ 1
2425 // RISCV32: #define __POINTER_WIDTH__ 32
2426 // RISCV32: #define __PRAGMA_REDEFINE_EXTNAME 1
2427 // RISCV32: #define __PTRDIFF_MAX__ 2147483647
2428 // RISCV32: #define __PTRDIFF_TYPE__ int
2429 // RISCV32: #define __PTRDIFF_WIDTH__ 32
2430 // RISCV32: #define __SCHAR_MAX__ 127
2431 // RISCV32: #define __SHRT_MAX__ 32767
2432 // RISCV32: #define __SIG_ATOMIC_MAX__ 2147483647
2433 // RISCV32: #define __SIG_ATOMIC_WIDTH__ 32
2434 // RISCV32: #define __SIZEOF_DOUBLE__ 8
2435 // RISCV32: #define __SIZEOF_FLOAT__ 4
2436 // RISCV32-INT128: #define __SIZEOF_INT128__ 16
2437 // RISCV32: #define __SIZEOF_INT__ 4
2438 // RISCV32: #define __SIZEOF_LONG_DOUBLE__ 16
2439 // RISCV32: #define __SIZEOF_LONG_LONG__ 8
2440 // RISCV32: #define __SIZEOF_LONG__ 4
2441 // RISCV32: #define __SIZEOF_POINTER__ 4
2442 // RISCV32: #define __SIZEOF_PTRDIFF_T__ 4
2443 // RISCV32: #define __SIZEOF_SHORT__ 2
2444 // RISCV32: #define __SIZEOF_SIZE_T__ 4
2445 // RISCV32: #define __SIZEOF_WCHAR_T__ 4
2446 // RISCV32: #define __SIZEOF_WINT_T__ 4
2447 // RISCV32: #define __SIZE_MAX__ 4294967295U
2448 // RISCV32: #define __SIZE_TYPE__ unsigned int
2449 // RISCV32: #define __SIZE_WIDTH__ 32
2450 // RISCV32: #define __STDC_HOSTED__ 0
2451 // RISCV32: #define __STDC_UTF_16__ 1
2452 // RISCV32: #define __STDC_UTF_32__ 1
2453 // RISCV32: #define __STDC_VERSION__ 201710L
2454 // RISCV32: #define __STDC__ 1
2455 // RISCV32: #define __UINT16_C_SUFFIX__
2456 // RISCV32: #define __UINT16_MAX__ 65535
2457 // RISCV32: #define __UINT16_TYPE__ unsigned short
2458 // RISCV32: #define __UINT32_C_SUFFIX__ U
2459 // RISCV32: #define __UINT32_MAX__ 4294967295U
2460 // RISCV32: #define __UINT32_TYPE__ unsigned int
2461 // RISCV32: #define __UINT64_C_SUFFIX__ ULL
2462 // RISCV32: #define __UINT64_MAX__ 18446744073709551615ULL
2463 // RISCV32: #define __UINT64_TYPE__ long long unsigned int
2464 // RISCV32: #define __UINT8_C_SUFFIX__
2465 // RISCV32: #define __UINT8_MAX__ 255
2466 // RISCV32: #define __UINT8_TYPE__ unsigned char
2467 // RISCV32: #define __UINTMAX_C_SUFFIX__ ULL
2468 // RISCV32: #define __UINTMAX_MAX__ 18446744073709551615ULL
2469 // RISCV32: #define __UINTMAX_TYPE__ long long unsigned int
2470 // RISCV32: #define __UINTMAX_WIDTH__ 64
2471 // RISCV32: #define __UINTPTR_MAX__ 4294967295U
2472 // RISCV32: #define __UINTPTR_TYPE__ unsigned int
2473 // RISCV32: #define __UINTPTR_WIDTH__ 32
2474 // TODO: RISC-V GCC defines UINT_FAST16 to be unsigned int
2475 // RISCV32: #define __UINT_FAST16_MAX__ 65535
2476 // RISCV32: #define __UINT_FAST16_TYPE__ unsigned short
2477 // RISCV32: #define __UINT_FAST32_MAX__ 4294967295U
2478 // RISCV32: #define __UINT_FAST32_TYPE__ unsigned int
2479 // RISCV32: #define __UINT_FAST64_MAX__ 18446744073709551615ULL
2480 // RISCV32: #define __UINT_FAST64_TYPE__ long long unsigned int
2481 // TODO: RISC-V GCC defines UINT_FAST8 to be unsigned int
2482 // RISCV32: #define __UINT_FAST8_MAX__ 255
2483 // RISCV32: #define __UINT_FAST8_TYPE__ unsigned char
2484 // RISCV32: #define __UINT_LEAST16_MAX__ 65535
2485 // RISCV32: #define __UINT_LEAST16_TYPE__ unsigned short
2486 // RISCV32: #define __UINT_LEAST32_MAX__ 4294967295U
2487 // RISCV32: #define __UINT_LEAST32_TYPE__ unsigned int
2488 // RISCV32: #define __UINT_LEAST64_MAX__ 18446744073709551615ULL
2489 // RISCV32: #define __UINT_LEAST64_TYPE__ long long unsigned int
2490 // RISCV32: #define __UINT_LEAST8_MAX__ 255
2491 // RISCV32: #define __UINT_LEAST8_TYPE__ unsigned char
2492 // RISCV32: #define __USER_LABEL_PREFIX__
2493 // RISCV32: #define __WCHAR_MAX__ 2147483647
2494 // RISCV32: #define __WCHAR_TYPE__ int
2495 // RISCV32: #define __WCHAR_WIDTH__ 32
2496 // RISCV32: #define __WINT_TYPE__ unsigned int
2497 // RISCV32: #define __WINT_UNSIGNED__ 1
2498 // RISCV32: #define __WINT_WIDTH__ 32
2499 // RISCV32-LINUX: #define __gnu_linux__ 1
2500 // RISCV32-LINUX: #define __linux 1
2501 // RISCV32-LINUX: #define __linux__ 1
2502 // RISCV32: #define __riscv 1
2503 // RISCV32: #define __riscv_cmodel_medlow 1
2504 // RISCV32: #define __riscv_float_abi_soft 1
2505 // RISCV32: #define __riscv_xlen 32
2506 // RISCV32-LINUX: #define __unix 1
2507 // RISCV32-LINUX: #define __unix__ 1
2508 // RISCV32-LINUX: #define linux 1
2509 // RISCV32-LINUX: #define unix 1
2510 
2511 // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=riscv64 < /dev/null \
2512 // RUN:   | FileCheck -match-full-lines -check-prefix=RISCV64 %s
2513 // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=riscv64-unknown-linux < /dev/null \
2514 // RUN:   | FileCheck -match-full-lines -check-prefixes=RISCV64,RISCV64-LINUX %s
2515 // RISCV64: #define _LP64 1
2516 // RISCV64: #define __ATOMIC_ACQUIRE 2
2517 // RISCV64: #define __ATOMIC_ACQ_REL 4
2518 // RISCV64: #define __ATOMIC_CONSUME 1
2519 // RISCV64: #define __ATOMIC_RELAXED 0
2520 // RISCV64: #define __ATOMIC_RELEASE 3
2521 // RISCV64: #define __ATOMIC_SEQ_CST 5
2522 // RISCV64: #define __BIGGEST_ALIGNMENT__ 16
2523 // RISCV64: #define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
2524 // RISCV64: #define __CHAR16_TYPE__ unsigned short
2525 // RISCV64: #define __CHAR32_TYPE__ unsigned int
2526 // RISCV64: #define __CHAR_BIT__ 8
2527 // RISCV64: #define __DBL_DECIMAL_DIG__ 17
2528 // RISCV64: #define __DBL_DENORM_MIN__ 4.9406564584124654e-324
2529 // RISCV64: #define __DBL_DIG__ 15
2530 // RISCV64: #define __DBL_EPSILON__ 2.2204460492503131e-16
2531 // RISCV64: #define __DBL_HAS_DENORM__ 1
2532 // RISCV64: #define __DBL_HAS_INFINITY__ 1
2533 // RISCV64: #define __DBL_HAS_QUIET_NAN__ 1
2534 // RISCV64: #define __DBL_MANT_DIG__ 53
2535 // RISCV64: #define __DBL_MAX_10_EXP__ 308
2536 // RISCV64: #define __DBL_MAX_EXP__ 1024
2537 // RISCV64: #define __DBL_MAX__ 1.7976931348623157e+308
2538 // RISCV64: #define __DBL_MIN_10_EXP__ (-307)
2539 // RISCV64: #define __DBL_MIN_EXP__ (-1021)
2540 // RISCV64: #define __DBL_MIN__ 2.2250738585072014e-308
2541 // RISCV64: #define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__
2542 // RISCV64: #define __ELF__ 1
2543 // RISCV64: #define __FINITE_MATH_ONLY__ 0
2544 // RISCV64: #define __FLT_DECIMAL_DIG__ 9
2545 // RISCV64: #define __FLT_DENORM_MIN__ 1.40129846e-45F
2546 // RISCV64: #define __FLT_DIG__ 6
2547 // RISCV64: #define __FLT_EPSILON__ 1.19209290e-7F
2548 // RISCV64: #define __FLT_EVAL_METHOD__ 0
2549 // RISCV64: #define __FLT_HAS_DENORM__ 1
2550 // RISCV64: #define __FLT_HAS_INFINITY__ 1
2551 // RISCV64: #define __FLT_HAS_QUIET_NAN__ 1
2552 // RISCV64: #define __FLT_MANT_DIG__ 24
2553 // RISCV64: #define __FLT_MAX_10_EXP__ 38
2554 // RISCV64: #define __FLT_MAX_EXP__ 128
2555 // RISCV64: #define __FLT_MAX__ 3.40282347e+38F
2556 // RISCV64: #define __FLT_MIN_10_EXP__ (-37)
2557 // RISCV64: #define __FLT_MIN_EXP__ (-125)
2558 // RISCV64: #define __FLT_MIN__ 1.17549435e-38F
2559 // RISCV64: #define __FLT_RADIX__ 2
2560 // RISCV64: #define __GCC_ATOMIC_BOOL_LOCK_FREE 1
2561 // RISCV64: #define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 1
2562 // RISCV64: #define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 1
2563 // RISCV64: #define __GCC_ATOMIC_CHAR_LOCK_FREE 1
2564 // RISCV64: #define __GCC_ATOMIC_INT_LOCK_FREE 1
2565 // RISCV64: #define __GCC_ATOMIC_LLONG_LOCK_FREE 1
2566 // RISCV64: #define __GCC_ATOMIC_LONG_LOCK_FREE 1
2567 // RISCV64: #define __GCC_ATOMIC_POINTER_LOCK_FREE 1
2568 // RISCV64: #define __GCC_ATOMIC_SHORT_LOCK_FREE 1
2569 // RISCV64: #define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
2570 // RISCV64: #define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 1
2571 // RISCV64: #define __GNUC_MINOR__ {{.*}}
2572 // RISCV64: #define __GNUC_PATCHLEVEL__ {{.*}}
2573 // RISCV64: #define __GNUC_STDC_INLINE__ 1
2574 // RISCV64: #define __GNUC__ {{.*}}
2575 // RISCV64: #define __GXX_ABI_VERSION {{.*}}
2576 // RISCV64: #define __INT16_C_SUFFIX__
2577 // RISCV64: #define __INT16_MAX__ 32767
2578 // RISCV64: #define __INT16_TYPE__ short
2579 // RISCV64: #define __INT32_C_SUFFIX__
2580 // RISCV64: #define __INT32_MAX__ 2147483647
2581 // RISCV64: #define __INT32_TYPE__ int
2582 // RISCV64: #define __INT64_C_SUFFIX__ L
2583 // RISCV64: #define __INT64_MAX__ 9223372036854775807L
2584 // RISCV64: #define __INT64_TYPE__ long int
2585 // RISCV64: #define __INT8_C_SUFFIX__
2586 // RISCV64: #define __INT8_MAX__ 127
2587 // RISCV64: #define __INT8_TYPE__ signed char
2588 // RISCV64: #define __INTMAX_C_SUFFIX__ L
2589 // RISCV64: #define __INTMAX_MAX__ 9223372036854775807L
2590 // RISCV64: #define __INTMAX_TYPE__ long int
2591 // RISCV64: #define __INTMAX_WIDTH__ 64
2592 // RISCV64: #define __INTPTR_MAX__ 9223372036854775807L
2593 // RISCV64: #define __INTPTR_TYPE__ long int
2594 // RISCV64: #define __INTPTR_WIDTH__ 64
2595 // TODO: RISC-V GCC defines INT_FAST16 as int
2596 // RISCV64: #define __INT_FAST16_MAX__ 32767
2597 // RISCV64: #define __INT_FAST16_TYPE__ short
2598 // RISCV64: #define __INT_FAST32_MAX__ 2147483647
2599 // RISCV64: #define __INT_FAST32_TYPE__ int
2600 // RISCV64: #define __INT_FAST64_MAX__ 9223372036854775807L
2601 // RISCV64: #define __INT_FAST64_TYPE__ long int
2602 // TODO: RISC-V GCC defines INT_FAST8 as int
2603 // RISCV64: #define __INT_FAST8_MAX__ 127
2604 // RISCV64: #define __INT_FAST8_TYPE__ signed char
2605 // RISCV64: #define __INT_LEAST16_MAX__ 32767
2606 // RISCV64: #define __INT_LEAST16_TYPE__ short
2607 // RISCV64: #define __INT_LEAST32_MAX__ 2147483647
2608 // RISCV64: #define __INT_LEAST32_TYPE__ int
2609 // RISCV64: #define __INT_LEAST64_MAX__ 9223372036854775807L
2610 // RISCV64: #define __INT_LEAST64_TYPE__ long int
2611 // RISCV64: #define __INT_LEAST8_MAX__ 127
2612 // RISCV64: #define __INT_LEAST8_TYPE__ signed char
2613 // RISCV64: #define __INT_MAX__ 2147483647
2614 // RISCV64: #define __LDBL_DECIMAL_DIG__ 36
2615 // RISCV64: #define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
2616 // RISCV64: #define __LDBL_DIG__ 33
2617 // RISCV64: #define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
2618 // RISCV64: #define __LDBL_HAS_DENORM__ 1
2619 // RISCV64: #define __LDBL_HAS_INFINITY__ 1
2620 // RISCV64: #define __LDBL_HAS_QUIET_NAN__ 1
2621 // RISCV64: #define __LDBL_MANT_DIG__ 113
2622 // RISCV64: #define __LDBL_MAX_10_EXP__ 4932
2623 // RISCV64: #define __LDBL_MAX_EXP__ 16384
2624 // RISCV64: #define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
2625 // RISCV64: #define __LDBL_MIN_10_EXP__ (-4931)
2626 // RISCV64: #define __LDBL_MIN_EXP__ (-16381)
2627 // RISCV64: #define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
2628 // RISCV64: #define __LITTLE_ENDIAN__ 1
2629 // RISCV64: #define __LONG_LONG_MAX__ 9223372036854775807LL
2630 // RISCV64: #define __LONG_MAX__ 9223372036854775807L
2631 // RISCV64: #define __LP64__ 1
2632 // RISCV64: #define __NO_INLINE__ 1
2633 // RISCV64: #define __POINTER_WIDTH__ 64
2634 // RISCV64: #define __PRAGMA_REDEFINE_EXTNAME 1
2635 // RISCV64: #define __PTRDIFF_MAX__ 9223372036854775807L
2636 // RISCV64: #define __PTRDIFF_TYPE__ long int
2637 // RISCV64: #define __PTRDIFF_WIDTH__ 64
2638 // RISCV64: #define __SCHAR_MAX__ 127
2639 // RISCV64: #define __SHRT_MAX__ 32767
2640 // RISCV64: #define __SIG_ATOMIC_MAX__ 2147483647
2641 // RISCV64: #define __SIG_ATOMIC_WIDTH__ 32
2642 // RISCV64: #define __SIZEOF_DOUBLE__ 8
2643 // RISCV64: #define __SIZEOF_FLOAT__ 4
2644 // RISCV64: #define __SIZEOF_INT__ 4
2645 // RISCV64: #define __SIZEOF_LONG_DOUBLE__ 16
2646 // RISCV64: #define __SIZEOF_LONG_LONG__ 8
2647 // RISCV64: #define __SIZEOF_LONG__ 8
2648 // RISCV64: #define __SIZEOF_POINTER__ 8
2649 // RISCV64: #define __SIZEOF_PTRDIFF_T__ 8
2650 // RISCV64: #define __SIZEOF_SHORT__ 2
2651 // RISCV64: #define __SIZEOF_SIZE_T__ 8
2652 // RISCV64: #define __SIZEOF_WCHAR_T__ 4
2653 // RISCV64: #define __SIZEOF_WINT_T__ 4
2654 // RISCV64: #define __SIZE_MAX__ 18446744073709551615UL
2655 // RISCV64: #define __SIZE_TYPE__ long unsigned int
2656 // RISCV64: #define __SIZE_WIDTH__ 64
2657 // RISCV64: #define __STDC_HOSTED__ 0
2658 // RISCV64: #define __STDC_UTF_16__ 1
2659 // RISCV64: #define __STDC_UTF_32__ 1
2660 // RISCV64: #define __STDC_VERSION__ 201710L
2661 // RISCV64: #define __STDC__ 1
2662 // RISCV64: #define __UINT16_C_SUFFIX__
2663 // RISCV64: #define __UINT16_MAX__ 65535
2664 // RISCV64: #define __UINT16_TYPE__ unsigned short
2665 // RISCV64: #define __UINT32_C_SUFFIX__ U
2666 // RISCV64: #define __UINT32_MAX__ 4294967295U
2667 // RISCV64: #define __UINT32_TYPE__ unsigned int
2668 // RISCV64: #define __UINT64_C_SUFFIX__ UL
2669 // RISCV64: #define __UINT64_MAX__ 18446744073709551615UL
2670 // RISCV64: #define __UINT64_TYPE__ long unsigned int
2671 // RISCV64: #define __UINT8_C_SUFFIX__
2672 // RISCV64: #define __UINT8_MAX__ 255
2673 // RISCV64: #define __UINT8_TYPE__ unsigned char
2674 // RISCV64: #define __UINTMAX_C_SUFFIX__ UL
2675 // RISCV64: #define __UINTMAX_MAX__ 18446744073709551615UL
2676 // RISCV64: #define __UINTMAX_TYPE__ long unsigned int
2677 // RISCV64: #define __UINTMAX_WIDTH__ 64
2678 // RISCV64: #define __UINTPTR_MAX__ 18446744073709551615UL
2679 // RISCV64: #define __UINTPTR_TYPE__ long unsigned int
2680 // RISCV64: #define __UINTPTR_WIDTH__ 64
2681 // TODO: RISC-V GCC defines UINT_FAST16 to be unsigned int
2682 // RISCV64: #define __UINT_FAST16_MAX__ 65535
2683 // RISCV64: #define __UINT_FAST16_TYPE__ unsigned short
2684 // RISCV64: #define __UINT_FAST32_MAX__ 4294967295U
2685 // RISCV64: #define __UINT_FAST32_TYPE__ unsigned int
2686 // RISCV64: #define __UINT_FAST64_MAX__ 18446744073709551615UL
2687 // RISCV64: #define __UINT_FAST64_TYPE__ long unsigned int
2688 // TODO: RISC-V GCC defines UINT_FAST8 to be unsigned int
2689 // RISCV64: #define __UINT_FAST8_MAX__ 255
2690 // RISCV64: #define __UINT_FAST8_TYPE__ unsigned char
2691 // RISCV64: #define __UINT_LEAST16_MAX__ 65535
2692 // RISCV64: #define __UINT_LEAST16_TYPE__ unsigned short
2693 // RISCV64: #define __UINT_LEAST32_MAX__ 4294967295U
2694 // RISCV64: #define __UINT_LEAST32_TYPE__ unsigned int
2695 // RISCV64: #define __UINT_LEAST64_MAX__ 18446744073709551615UL
2696 // RISCV64: #define __UINT_LEAST64_TYPE__ long unsigned int
2697 // RISCV64: #define __UINT_LEAST8_MAX__ 255
2698 // RISCV64: #define __UINT_LEAST8_TYPE__ unsigned char
2699 // RISCV64: #define __USER_LABEL_PREFIX__
2700 // RISCV64: #define __WCHAR_MAX__ 2147483647
2701 // RISCV64: #define __WCHAR_TYPE__ int
2702 // RISCV64: #define __WCHAR_WIDTH__ 32
2703 // RISCV64: #define __WINT_TYPE__ unsigned int
2704 // RISCV64: #define __WINT_UNSIGNED__ 1
2705 // RISCV64: #define __WINT_WIDTH__ 32
2706 // RISCV64-LINUX: #define __gnu_linux__ 1
2707 // RISCV64-LINUX: #define __linux 1
2708 // RISCV64-LINUX: #define __linux__ 1
2709 // RISCV64: #define __riscv 1
2710 // RISCV64: #define __riscv_cmodel_medlow 1
2711 // RISCV64: #define __riscv_float_abi_soft 1
2712 // RISCV64: #define __riscv_xlen 64
2713 // RISCV64-LINUX: #define __unix 1
2714 // RISCV64-LINUX: #define __unix__ 1
2715 // RISCV64-LINUX: #define linux 1
2716 // RISCV64-LINUX: #define unix 1
2717