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