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