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