xref: /llvm-project/clang/test/Preprocessor/init-aarch64.c (revision 54928a10c8dba7c07c6224c1ead5c02a335890e6)
1 // RUN: %clang_cc1 -E -dM -triple=aarch64 -xc /dev/null > %t.aarch64
2 // RUN: FileCheck --check-prefixes=AARCH64,AARCH64_LE,AARCH64_C %s --match-full-lines < %t.aarch64
3 // RUN: %clang_cc1 -E -dM -triple=arm64 -xc /dev/null > %t.arm64
4 // RUN: cmp %t.aarch64 %t.arm64
5 // RUN: %clang_cc1 -E -dM -triple=aarch64_be -xc /dev/null | FileCheck --check-prefixes=AARCH64,AARCH64_BE,AARCH64_C --match-full-lines %s
6 // RUN: %clang_cc1 -E -dM -triple=arm64 -xc++ /dev/null | FileCheck --check-prefixes=AARCH64,AARCH64_LE,AARCH64_CXX --match-full-lines %s
7 
8 // AARCH64: #define _LP64 1
9 // AARCH64_BE-NEXT: #define __AARCH64EB__ 1
10 // AARCH64_BE-NEXT: #define __AARCH64_CMODEL_SMALL__ 1
11 // AARCH64_BE-NEXT: #define __AARCH_BIG_ENDIAN 1
12 // AARCH64_LE-NEXT: #define __AARCH64EL__ 1
13 // AARCH64_LE-NEXT: #define __AARCH64_CMODEL_SMALL__ 1
14 // AARCH64-NEXT: #define __ARM_64BIT_STATE 1
15 // AARCH64-NEXT: #define __ARM_ACLE 202420
16 // AARCH64-NEXT: #define __ARM_ACLE_VERSION(year,quarter,patch) (100 * (year) + 10 * (quarter) + (patch))
17 // AARCH64-NEXT: #define __ARM_ALIGN_MAX_STACK_PWR 4
18 // AARCH64-NEXT: #define __ARM_ARCH 8
19 // AARCH64-NEXT: #define __ARM_ARCH_ISA_A64 1
20 // AARCH64-NEXT: #define __ARM_ARCH_PROFILE 'A'
21 // AARCH64_BE-NEXT: #define __ARM_BIG_ENDIAN 1
22 // AARCH64-NEXT: #define __ARM_FEATURE_CLZ 1
23 // AARCH64-NEXT: #define __ARM_FEATURE_DIRECTED_ROUNDING 1
24 // AARCH64-NEXT: #define __ARM_FEATURE_DIV 1
25 // AARCH64-NEXT: #define __ARM_FEATURE_FMA 1
26 // AARCH64-NEXT: #define __ARM_FEATURE_IDIV 1
27 // AARCH64-NEXT: #define __ARM_FEATURE_LDREX 0xF
28 // AARCH64-NEXT: #define __ARM_FEATURE_NUMERIC_MAXMIN 1
29 // AARCH64-NEXT: #define __ARM_FEATURE_UNALIGNED 1
30 // AARCH64-NEXT: #define __ARM_FP 0xE
31 // AARCH64-NEXT: #define __ARM_FP16_ARGS 1
32 // AARCH64-NEXT: #define __ARM_FP16_FORMAT_IEEE 1
33 // AARCH64-NEXT: #define __ARM_NEON_SVE_BRIDGE 1
34 // AARCH64-NEXT: #define __ARM_PCS_AAPCS64 1
35 // AARCH64-NEXT: #define __ARM_SIZEOF_MINIMAL_ENUM 4
36 // AARCH64-NEXT: #define __ARM_SIZEOF_WCHAR_T 4
37 // AARCH64-NEXT: #define __ARM_STATE_ZA 1
38 // AARCH64-NEXT: #define __ARM_STATE_ZT0 1
39 // AARCH64-NEXT: #define __ATOMIC_ACQUIRE 2
40 // AARCH64-NEXT: #define __ATOMIC_ACQ_REL 4
41 // AARCH64-NEXT: #define __ATOMIC_CONSUME 1
42 // AARCH64-NEXT: #define __ATOMIC_RELAXED 0
43 // AARCH64-NEXT: #define __ATOMIC_RELEASE 3
44 // AARCH64-NEXT: #define __ATOMIC_SEQ_CST 5
45 // AARCH64:      #define __BIGGEST_ALIGNMENT__ 16
46 // AARCH64_BE-NEXT: #define __BIG_ENDIAN__ 1
47 // AARCH64-NEXT: #define __BITINT_MAXWIDTH__ 128
48 // AARCH64-NEXT: #define __BOOL_WIDTH__ 1
49 // AARCH64_BE-NEXT: #define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
50 // AARCH64_LE-NEXT: #define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
51 // AARCH64-NEXT: #define __CHAR16_TYPE__ unsigned short
52 // AARCH64-NEXT: #define __CHAR32_TYPE__ unsigned int
53 // AARCH64-NEXT: #define __CHAR_BIT__ 8
54 // AARCH64-NEXT: #define __CLANG_ATOMIC_BOOL_LOCK_FREE 2
55 // AARCH64-NEXT: #define __CLANG_ATOMIC_CHAR16_T_LOCK_FREE 2
56 // AARCH64-NEXT: #define __CLANG_ATOMIC_CHAR32_T_LOCK_FREE 2
57 // AARCH64-NEXT: #define __CLANG_ATOMIC_CHAR_LOCK_FREE 2
58 // AARCH64-NEXT: #define __CLANG_ATOMIC_INT_LOCK_FREE 2
59 // AARCH64-NEXT: #define __CLANG_ATOMIC_LLONG_LOCK_FREE 2
60 // AARCH64-NEXT: #define __CLANG_ATOMIC_LONG_LOCK_FREE 2
61 // AARCH64-NEXT: #define __CLANG_ATOMIC_POINTER_LOCK_FREE 2
62 // AARCH64-NEXT: #define __CLANG_ATOMIC_SHORT_LOCK_FREE 2
63 // AARCH64-NEXT: #define __CLANG_ATOMIC_WCHAR_T_LOCK_FREE 2
64 // AARCH64-NEXT: #define __CONSTANT_CFSTRINGS__ 1
65 // AARCH64-NEXT: #define __DBL_DECIMAL_DIG__ 17
66 // AARCH64-NEXT: #define __DBL_DENORM_MIN__ 4.9406564584124654e-324
67 // AARCH64-NEXT: #define __DBL_DIG__ 15
68 // AARCH64-NEXT: #define __DBL_EPSILON__ 2.2204460492503131e-16
69 // AARCH64-NEXT: #define __DBL_HAS_DENORM__ 1
70 // AARCH64-NEXT: #define __DBL_HAS_INFINITY__ 1
71 // AARCH64-NEXT: #define __DBL_HAS_QUIET_NAN__ 1
72 // AARCH64-NEXT: #define __DBL_MANT_DIG__ 53
73 // AARCH64-NEXT: #define __DBL_MAX_10_EXP__ 308
74 // AARCH64-NEXT: #define __DBL_MAX_EXP__ 1024
75 // AARCH64-NEXT: #define __DBL_MAX__ 1.7976931348623157e+308
76 // AARCH64-NEXT: #define __DBL_MIN_10_EXP__ (-307)
77 // AARCH64-NEXT: #define __DBL_MIN_EXP__ (-1021)
78 // AARCH64-NEXT: #define __DBL_MIN__ 2.2250738585072014e-308
79 // AARCH64-NEXT: #define __DBL_NORM_MAX__ 1.7976931348623157e+308
80 // AARCH64-NEXT: #define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__
81 // AARCH64-NEXT: #define __ELF__ 1
82 // AARCH64-NEXT: #define __FINITE_MATH_ONLY__ 0
83 // AARCH64-NEXT: #define __FLT16_DECIMAL_DIG__ 5
84 // AARCH64-NEXT: #define __FLT16_DENORM_MIN__ 5.9604644775390625e-8F16
85 // AARCH64-NEXT: #define __FLT16_DIG__ 3
86 // AARCH64-NEXT: #define __FLT16_EPSILON__ 9.765625e-4F16
87 // AARCH64-NEXT: #define __FLT16_HAS_DENORM__ 1
88 // AARCH64-NEXT: #define __FLT16_HAS_INFINITY__ 1
89 // AARCH64-NEXT: #define __FLT16_HAS_QUIET_NAN__ 1
90 // AARCH64-NEXT: #define __FLT16_MANT_DIG__ 11
91 // AARCH64-NEXT: #define __FLT16_MAX_10_EXP__ 4
92 // AARCH64-NEXT: #define __FLT16_MAX_EXP__ 16
93 // AARCH64-NEXT: #define __FLT16_MAX__ 6.5504e+4F16
94 // AARCH64-NEXT: #define __FLT16_MIN_10_EXP__ (-4)
95 // AARCH64-NEXT: #define __FLT16_MIN_EXP__ (-13)
96 // AARCH64-NEXT: #define __FLT16_MIN__ 6.103515625e-5F16
97 // AARCH64-NEXT: #define __FLT16_NORM_MAX__ 6.5504e+4F16
98 // AARCH64-NEXT: #define __FLT_DECIMAL_DIG__ 9
99 // AARCH64-NEXT: #define __FLT_DENORM_MIN__ 1.40129846e-45F
100 // AARCH64-NEXT: #define __FLT_DIG__ 6
101 // AARCH64-NEXT: #define __FLT_EPSILON__ 1.19209290e-7F
102 // AARCH64-NEXT: #define __FLT_HAS_DENORM__ 1
103 // AARCH64-NEXT: #define __FLT_HAS_INFINITY__ 1
104 // AARCH64-NEXT: #define __FLT_HAS_QUIET_NAN__ 1
105 // AARCH64-NEXT: #define __FLT_MANT_DIG__ 24
106 // AARCH64-NEXT: #define __FLT_MAX_10_EXP__ 38
107 // AARCH64-NEXT: #define __FLT_MAX_EXP__ 128
108 // AARCH64-NEXT: #define __FLT_MAX__ 3.40282347e+38F
109 // AARCH64-NEXT: #define __FLT_MIN_10_EXP__ (-37)
110 // AARCH64-NEXT: #define __FLT_MIN_EXP__ (-125)
111 // AARCH64-NEXT: #define __FLT_MIN__ 1.17549435e-38F
112 // AARCH64-NEXT: #define __FLT_NORM_MAX__ 3.40282347e+38F
113 // AARCH64-NEXT: #define __FLT_RADIX__ 2
114 // AARCH64-NEXT: #define __FPCLASS_NEGINF 0x0004
115 // AARCH64-NEXT: #define __FPCLASS_NEGNORMAL 0x0008
116 // AARCH64-NEXT: #define __FPCLASS_NEGSUBNORMAL 0x0010
117 // AARCH64-NEXT: #define __FPCLASS_NEGZERO 0x0020
118 // AARCH64-NEXT: #define __FPCLASS_POSINF 0x0200
119 // AARCH64-NEXT: #define __FPCLASS_POSNORMAL 0x0100
120 // AARCH64-NEXT: #define __FPCLASS_POSSUBNORMAL 0x0080
121 // AARCH64-NEXT: #define __FPCLASS_POSZERO 0x0040
122 // AARCH64-NEXT: #define __FPCLASS_QNAN 0x0002
123 // AARCH64-NEXT: #define __FPCLASS_SNAN 0x0001
124 // AARCH64-NEXT: #define __FP_FAST_FMA 1
125 // AARCH64-NEXT: #define __FP_FAST_FMAF 1
126 // AARCH64-NEXT: #define __FUNCTION_MULTI_VERSIONING_SUPPORT_LEVEL 202430
127 // AARCH64-NEXT: #define __GCC_ASM_FLAG_OUTPUTS__ 1
128 // AARCH64-NEXT: #define __GCC_CONSTRUCTIVE_SIZE {{.+}}
129 // AARCH64-NEXT: #define __GCC_DESTRUCTIVE_SIZE {{.+}}
130 // AARCH64-NEXT: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
131 // AARCH64-NEXT: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 1
132 // AARCH64-NEXT: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
133 // AARCH64-NEXT: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
134 // AARCH64-NEXT: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
135 // AARCH64_CXX-NEXT: #define __GLIBCXX_BITSIZE_INT_N_0 128
136 // AARCH64_CXX-NEXT: #define __GLIBCXX_TYPE_INT_N_0 __int128
137 // AARCH64-NEXT: #define __HAVE_FUNCTION_MULTI_VERSIONING 1
138 // AARCH64-NEXT: #define __INT16_C(c) c
139 // AARCH64-NEXT: #define __INT16_C_SUFFIX__
140 // AARCH64-NEXT: #define __INT16_FMTd__ "hd"
141 // AARCH64-NEXT: #define __INT16_FMTi__ "hi"
142 // AARCH64-NEXT: #define __INT16_MAX__ 32767
143 // AARCH64-NEXT: #define __INT16_TYPE__ short
144 // AARCH64-NEXT: #define __INT32_C(c) c
145 // AARCH64-NEXT: #define __INT32_C_SUFFIX__
146 // AARCH64-NEXT: #define __INT32_FMTd__ "d"
147 // AARCH64-NEXT: #define __INT32_FMTi__ "i"
148 // AARCH64-NEXT: #define __INT32_MAX__ 2147483647
149 // AARCH64-NEXT: #define __INT32_TYPE__ int
150 // AARCH64-NEXT: #define __INT64_C(c) c##L
151 // AARCH64-NEXT: #define __INT64_C_SUFFIX__ L
152 // AARCH64-NEXT: #define __INT64_FMTd__ "ld"
153 // AARCH64-NEXT: #define __INT64_FMTi__ "li"
154 // AARCH64-NEXT: #define __INT64_MAX__ 9223372036854775807L
155 // AARCH64-NEXT: #define __INT64_TYPE__ long int
156 // AARCH64-NEXT: #define __INT8_C(c) c
157 // AARCH64-NEXT: #define __INT8_C_SUFFIX__
158 // AARCH64-NEXT: #define __INT8_FMTd__ "hhd"
159 // AARCH64-NEXT: #define __INT8_FMTi__ "hhi"
160 // AARCH64-NEXT: #define __INT8_MAX__ 127
161 // AARCH64-NEXT: #define __INT8_TYPE__ signed char
162 // AARCH64-NEXT: #define __INTMAX_C(c) c##L
163 // AARCH64-NEXT: #define __INTMAX_C_SUFFIX__ L
164 // AARCH64-NEXT: #define __INTMAX_FMTd__ "ld"
165 // AARCH64-NEXT: #define __INTMAX_FMTi__ "li"
166 // AARCH64-NEXT: #define __INTMAX_MAX__ 9223372036854775807L
167 // AARCH64-NEXT: #define __INTMAX_TYPE__ long int
168 // AARCH64-NEXT: #define __INTMAX_WIDTH__ 64
169 // AARCH64-NEXT: #define __INTPTR_FMTd__ "ld"
170 // AARCH64-NEXT: #define __INTPTR_FMTi__ "li"
171 // AARCH64-NEXT: #define __INTPTR_MAX__ 9223372036854775807L
172 // AARCH64-NEXT: #define __INTPTR_TYPE__ long int
173 // AARCH64-NEXT: #define __INTPTR_WIDTH__ 64
174 // AARCH64-NEXT: #define __INT_FAST16_FMTd__ "hd"
175 // AARCH64-NEXT: #define __INT_FAST16_FMTi__ "hi"
176 // AARCH64-NEXT: #define __INT_FAST16_MAX__ 32767
177 // AARCH64-NEXT: #define __INT_FAST16_TYPE__ short
178 // AARCH64-NEXT: #define __INT_FAST16_WIDTH__ 16
179 // AARCH64-NEXT: #define __INT_FAST32_FMTd__ "d"
180 // AARCH64-NEXT: #define __INT_FAST32_FMTi__ "i"
181 // AARCH64-NEXT: #define __INT_FAST32_MAX__ 2147483647
182 // AARCH64-NEXT: #define __INT_FAST32_TYPE__ int
183 // AARCH64-NEXT: #define __INT_FAST32_WIDTH__ 32
184 // AARCH64-NEXT: #define __INT_FAST64_FMTd__ "ld"
185 // AARCH64-NEXT: #define __INT_FAST64_FMTi__ "li"
186 // AARCH64-NEXT: #define __INT_FAST64_MAX__ 9223372036854775807L
187 // AARCH64-NEXT: #define __INT_FAST64_TYPE__ long int
188 // AARCH64-NEXT: #define __INT_FAST64_WIDTH__ 64
189 // AARCH64-NEXT: #define __INT_FAST8_FMTd__ "hhd"
190 // AARCH64-NEXT: #define __INT_FAST8_FMTi__ "hhi"
191 // AARCH64-NEXT: #define __INT_FAST8_MAX__ 127
192 // AARCH64-NEXT: #define __INT_FAST8_TYPE__ signed char
193 // AARCH64-NEXT: #define __INT_FAST8_WIDTH__ 8
194 // AARCH64-NEXT: #define __INT_LEAST16_FMTd__ "hd"
195 // AARCH64-NEXT: #define __INT_LEAST16_FMTi__ "hi"
196 // AARCH64-NEXT: #define __INT_LEAST16_MAX__ 32767
197 // AARCH64-NEXT: #define __INT_LEAST16_TYPE__ short
198 // AARCH64-NEXT: #define __INT_LEAST16_WIDTH__ 16
199 // AARCH64-NEXT: #define __INT_LEAST32_FMTd__ "d"
200 // AARCH64-NEXT: #define __INT_LEAST32_FMTi__ "i"
201 // AARCH64-NEXT: #define __INT_LEAST32_MAX__ 2147483647
202 // AARCH64-NEXT: #define __INT_LEAST32_TYPE__ int
203 // AARCH64-NEXT: #define __INT_LEAST32_WIDTH__ 32
204 // AARCH64-NEXT: #define __INT_LEAST64_FMTd__ "ld"
205 // AARCH64-NEXT: #define __INT_LEAST64_FMTi__ "li"
206 // AARCH64-NEXT: #define __INT_LEAST64_MAX__ 9223372036854775807L
207 // AARCH64-NEXT: #define __INT_LEAST64_TYPE__ long int
208 // AARCH64-NEXT: #define __INT_LEAST64_WIDTH__ 64
209 // AARCH64-NEXT: #define __INT_LEAST8_FMTd__ "hhd"
210 // AARCH64-NEXT: #define __INT_LEAST8_FMTi__ "hhi"
211 // AARCH64-NEXT: #define __INT_LEAST8_MAX__ 127
212 // AARCH64-NEXT: #define __INT_LEAST8_TYPE__ signed char
213 // AARCH64-NEXT: #define __INT_LEAST8_WIDTH__ 8
214 // AARCH64-NEXT: #define __INT_MAX__ 2147483647
215 // AARCH64-NEXT: #define __INT_WIDTH__ 32
216 // AARCH64-NEXT: #define __LDBL_DECIMAL_DIG__ 36
217 // AARCH64-NEXT: #define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
218 // AARCH64-NEXT: #define __LDBL_DIG__ 33
219 // AARCH64-NEXT: #define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
220 // AARCH64-NEXT: #define __LDBL_HAS_DENORM__ 1
221 // AARCH64-NEXT: #define __LDBL_HAS_INFINITY__ 1
222 // AARCH64-NEXT: #define __LDBL_HAS_QUIET_NAN__ 1
223 // AARCH64-NEXT: #define __LDBL_MANT_DIG__ 113
224 // AARCH64-NEXT: #define __LDBL_MAX_10_EXP__ 4932
225 // AARCH64-NEXT: #define __LDBL_MAX_EXP__ 16384
226 // AARCH64-NEXT: #define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
227 // AARCH64-NEXT: #define __LDBL_MIN_10_EXP__ (-4931)
228 // AARCH64-NEXT: #define __LDBL_MIN_EXP__ (-16381)
229 // AARCH64-NEXT: #define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
230 // AARCH64-NEXT: #define __LDBL_NORM_MAX__ 1.18973149535723176508575932662800702e+4932L
231 // AARCH64_LE-NEXT: #define __LITTLE_ENDIAN__ 1
232 // AARCH64-NEXT: #define __LLONG_WIDTH__ 64
233 // AARCH64-NEXT: #define __LONG_LONG_MAX__ 9223372036854775807LL
234 // AARCH64-NEXT: #define __LONG_MAX__ 9223372036854775807L
235 // AARCH64-NEXT: #define __LONG_WIDTH__ 64
236 // AARCH64-NEXT: #define __LP64__ 1
237 // AARCH64-NEXT: #define __MEMORY_SCOPE_DEVICE 1
238 // AARCH64-NEXT: #define __MEMORY_SCOPE_SINGLE 4
239 // AARCH64-NEXT: #define __MEMORY_SCOPE_SYSTEM 0
240 // AARCH64-NEXT: #define __MEMORY_SCOPE_WRKGRP 2
241 // AARCH64-NEXT: #define __MEMORY_SCOPE_WVFRNT 3
242 // AARCH64-NEXT: #define __NO_INLINE__ 1
243 // AARCH64-NEXT: #define __NO_MATH_ERRNO__ 1
244 // AARCH64-NEXT: #define __OBJC_BOOL_IS_BOOL 0
245 // AARCH64-NEXT: #define __OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES 3
246 // AARCH64-NEXT: #define __OPENCL_MEMORY_SCOPE_DEVICE 2
247 // AARCH64-NEXT: #define __OPENCL_MEMORY_SCOPE_SUB_GROUP 4
248 // AARCH64-NEXT: #define __OPENCL_MEMORY_SCOPE_WORK_GROUP 1
249 // AARCH64-NEXT: #define __OPENCL_MEMORY_SCOPE_WORK_ITEM 0
250 // AARCH64-NEXT: #define __ORDER_BIG_ENDIAN__ 4321
251 // AARCH64-NEXT: #define __ORDER_LITTLE_ENDIAN__ 1234
252 // AARCH64-NEXT: #define __ORDER_PDP_ENDIAN__ 3412
253 // AARCH64-NEXT: #define __POINTER_WIDTH__ 64
254 // AARCH64-NEXT: #define __PRAGMA_REDEFINE_EXTNAME 1
255 // AARCH64-NEXT: #define __PTRDIFF_FMTd__ "ld"
256 // AARCH64-NEXT: #define __PTRDIFF_FMTi__ "li"
257 // AARCH64-NEXT: #define __PTRDIFF_MAX__ 9223372036854775807L
258 // AARCH64-NEXT: #define __PTRDIFF_TYPE__ long int
259 // AARCH64-NEXT: #define __PTRDIFF_WIDTH__ 64
260 // AARCH64-NEXT: #define __SCHAR_MAX__ 127
261 // AARCH64-NEXT: #define __SHRT_MAX__ 32767
262 // AARCH64-NEXT: #define __SHRT_WIDTH__ 16
263 // AARCH64-NEXT: #define __SIG_ATOMIC_MAX__ 2147483647
264 // AARCH64-NEXT: #define __SIG_ATOMIC_WIDTH__ 32
265 // AARCH64-NEXT: #define __SIZEOF_DOUBLE__ 8
266 // AARCH64-NEXT: #define __SIZEOF_FLOAT__ 4
267 // AARCH64-NEXT: #define __SIZEOF_INT128__ 16
268 // AARCH64-NEXT: #define __SIZEOF_INT__ 4
269 // AARCH64-NEXT: #define __SIZEOF_LONG_DOUBLE__ 16
270 // AARCH64-NEXT: #define __SIZEOF_LONG_LONG__ 8
271 // AARCH64-NEXT: #define __SIZEOF_LONG__ 8
272 // AARCH64-NEXT: #define __SIZEOF_POINTER__ 8
273 // AARCH64-NEXT: #define __SIZEOF_PTRDIFF_T__ 8
274 // AARCH64-NEXT: #define __SIZEOF_SHORT__ 2
275 // AARCH64-NEXT: #define __SIZEOF_SIZE_T__ 8
276 // AARCH64-NEXT: #define __SIZEOF_WCHAR_T__ 4
277 // AARCH64-NEXT: #define __SIZEOF_WINT_T__ 4
278 // AARCH64-NEXT: #define __SIZE_FMTX__ "lX"
279 // AARCH64-NEXT: #define __SIZE_FMTo__ "lo"
280 // AARCH64-NEXT: #define __SIZE_FMTu__ "lu"
281 // AARCH64-NEXT: #define __SIZE_FMTx__ "lx"
282 // AARCH64-NEXT: #define __SIZE_MAX__ 18446744073709551615UL
283 // AARCH64-NEXT: #define __SIZE_TYPE__ long unsigned int
284 // AARCH64-NEXT: #define __SIZE_WIDTH__ 64
285 // AARCH64_CXX: #define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 16UL
286 // AARCH64_CXX: #define __STDCPP_THREADS__ 1
287 // AARCH64-NEXT: #define __STDC_EMBED_EMPTY__ 2
288 // AARCH64-NEXT: #define __STDC_EMBED_FOUND__ 1
289 // AARCH64-NEXT: #define __STDC_EMBED_NOT_FOUND__ 0
290 // AARCH64-NEXT: #define __STDC_HOSTED__ 1
291 // AARCH64-NEXT: #define __STDC_UTF_16__ 1
292 // AARCH64-NEXT: #define __STDC_UTF_32__ 1
293 // AARCH64_C: #define __STDC_VERSION__ 201710L
294 // AARCH64-NEXT: #define __STDC__ 1
295 // AARCH64-NEXT: #define __UINT16_C(c) c
296 // AARCH64-NEXT: #define __UINT16_C_SUFFIX__
297 // AARCH64-NEXT: #define __UINT16_FMTX__ "hX"
298 // AARCH64-NEXT: #define __UINT16_FMTo__ "ho"
299 // AARCH64-NEXT: #define __UINT16_FMTu__ "hu"
300 // AARCH64-NEXT: #define __UINT16_FMTx__ "hx"
301 // AARCH64-NEXT: #define __UINT16_MAX__ 65535
302 // AARCH64-NEXT: #define __UINT16_TYPE__ unsigned short
303 // AARCH64-NEXT: #define __UINT32_C(c) c##U
304 // AARCH64-NEXT: #define __UINT32_C_SUFFIX__ U
305 // AARCH64-NEXT: #define __UINT32_FMTX__ "X"
306 // AARCH64-NEXT: #define __UINT32_FMTo__ "o"
307 // AARCH64-NEXT: #define __UINT32_FMTu__ "u"
308 // AARCH64-NEXT: #define __UINT32_FMTx__ "x"
309 // AARCH64-NEXT: #define __UINT32_MAX__ 4294967295U
310 // AARCH64-NEXT: #define __UINT32_TYPE__ unsigned int
311 // AARCH64-NEXT: #define __UINT64_C(c) c##UL
312 // AARCH64-NEXT: #define __UINT64_C_SUFFIX__ UL
313 // AARCH64-NEXT: #define __UINT64_FMTX__ "lX"
314 // AARCH64-NEXT: #define __UINT64_FMTo__ "lo"
315 // AARCH64-NEXT: #define __UINT64_FMTu__ "lu"
316 // AARCH64-NEXT: #define __UINT64_FMTx__ "lx"
317 // AARCH64-NEXT: #define __UINT64_MAX__ 18446744073709551615UL
318 // AARCH64-NEXT: #define __UINT64_TYPE__ long unsigned int
319 // AARCH64-NEXT: #define __UINT8_C(c) c
320 // AARCH64-NEXT: #define __UINT8_C_SUFFIX__
321 // AARCH64-NEXT: #define __UINT8_FMTX__ "hhX"
322 // AARCH64-NEXT: #define __UINT8_FMTo__ "hho"
323 // AARCH64-NEXT: #define __UINT8_FMTu__ "hhu"
324 // AARCH64-NEXT: #define __UINT8_FMTx__ "hhx"
325 // AARCH64-NEXT: #define __UINT8_MAX__ 255
326 // AARCH64-NEXT: #define __UINT8_TYPE__ unsigned char
327 // AARCH64-NEXT: #define __UINTMAX_C(c) c##UL
328 // AARCH64-NEXT: #define __UINTMAX_C_SUFFIX__ UL
329 // AARCH64-NEXT: #define __UINTMAX_FMTX__ "lX"
330 // AARCH64-NEXT: #define __UINTMAX_FMTo__ "lo"
331 // AARCH64-NEXT: #define __UINTMAX_FMTu__ "lu"
332 // AARCH64-NEXT: #define __UINTMAX_FMTx__ "lx"
333 // AARCH64-NEXT: #define __UINTMAX_MAX__ 18446744073709551615UL
334 // AARCH64-NEXT: #define __UINTMAX_TYPE__ long unsigned int
335 // AARCH64-NEXT: #define __UINTMAX_WIDTH__ 64
336 // AARCH64-NEXT: #define __UINTPTR_FMTX__ "lX"
337 // AARCH64-NEXT: #define __UINTPTR_FMTo__ "lo"
338 // AARCH64-NEXT: #define __UINTPTR_FMTu__ "lu"
339 // AARCH64-NEXT: #define __UINTPTR_FMTx__ "lx"
340 // AARCH64-NEXT: #define __UINTPTR_MAX__ 18446744073709551615UL
341 // AARCH64-NEXT: #define __UINTPTR_TYPE__ long unsigned int
342 // AARCH64-NEXT: #define __UINTPTR_WIDTH__ 64
343 // AARCH64-NEXT: #define __UINT_FAST16_FMTX__ "hX"
344 // AARCH64-NEXT: #define __UINT_FAST16_FMTo__ "ho"
345 // AARCH64-NEXT: #define __UINT_FAST16_FMTu__ "hu"
346 // AARCH64-NEXT: #define __UINT_FAST16_FMTx__ "hx"
347 // AARCH64-NEXT: #define __UINT_FAST16_MAX__ 65535
348 // AARCH64-NEXT: #define __UINT_FAST16_TYPE__ unsigned short
349 // AARCH64-NEXT: #define __UINT_FAST32_FMTX__ "X"
350 // AARCH64-NEXT: #define __UINT_FAST32_FMTo__ "o"
351 // AARCH64-NEXT: #define __UINT_FAST32_FMTu__ "u"
352 // AARCH64-NEXT: #define __UINT_FAST32_FMTx__ "x"
353 // AARCH64-NEXT: #define __UINT_FAST32_MAX__ 4294967295U
354 // AARCH64-NEXT: #define __UINT_FAST32_TYPE__ unsigned int
355 // AARCH64-NEXT: #define __UINT_FAST64_FMTX__ "lX"
356 // AARCH64-NEXT: #define __UINT_FAST64_FMTo__ "lo"
357 // AARCH64-NEXT: #define __UINT_FAST64_FMTu__ "lu"
358 // AARCH64-NEXT: #define __UINT_FAST64_FMTx__ "lx"
359 // AARCH64-NEXT: #define __UINT_FAST64_MAX__ 18446744073709551615UL
360 // AARCH64-NEXT: #define __UINT_FAST64_TYPE__ long unsigned int
361 // AARCH64-NEXT: #define __UINT_FAST8_FMTX__ "hhX"
362 // AARCH64-NEXT: #define __UINT_FAST8_FMTo__ "hho"
363 // AARCH64-NEXT: #define __UINT_FAST8_FMTu__ "hhu"
364 // AARCH64-NEXT: #define __UINT_FAST8_FMTx__ "hhx"
365 // AARCH64-NEXT: #define __UINT_FAST8_MAX__ 255
366 // AARCH64-NEXT: #define __UINT_FAST8_TYPE__ unsigned char
367 // AARCH64-NEXT: #define __UINT_LEAST16_FMTX__ "hX"
368 // AARCH64-NEXT: #define __UINT_LEAST16_FMTo__ "ho"
369 // AARCH64-NEXT: #define __UINT_LEAST16_FMTu__ "hu"
370 // AARCH64-NEXT: #define __UINT_LEAST16_FMTx__ "hx"
371 // AARCH64-NEXT: #define __UINT_LEAST16_MAX__ 65535
372 // AARCH64-NEXT: #define __UINT_LEAST16_TYPE__ unsigned short
373 // AARCH64-NEXT: #define __UINT_LEAST32_FMTX__ "X"
374 // AARCH64-NEXT: #define __UINT_LEAST32_FMTo__ "o"
375 // AARCH64-NEXT: #define __UINT_LEAST32_FMTu__ "u"
376 // AARCH64-NEXT: #define __UINT_LEAST32_FMTx__ "x"
377 // AARCH64-NEXT: #define __UINT_LEAST32_MAX__ 4294967295U
378 // AARCH64-NEXT: #define __UINT_LEAST32_TYPE__ unsigned int
379 // AARCH64-NEXT: #define __UINT_LEAST64_FMTX__ "lX"
380 // AARCH64-NEXT: #define __UINT_LEAST64_FMTo__ "lo"
381 // AARCH64-NEXT: #define __UINT_LEAST64_FMTu__ "lu"
382 // AARCH64-NEXT: #define __UINT_LEAST64_FMTx__ "lx"
383 // AARCH64-NEXT: #define __UINT_LEAST64_MAX__ 18446744073709551615UL
384 // AARCH64-NEXT: #define __UINT_LEAST64_TYPE__ long unsigned int
385 // AARCH64-NEXT: #define __UINT_LEAST8_FMTX__ "hhX"
386 // AARCH64-NEXT: #define __UINT_LEAST8_FMTo__ "hho"
387 // AARCH64-NEXT: #define __UINT_LEAST8_FMTu__ "hhu"
388 // AARCH64-NEXT: #define __UINT_LEAST8_FMTx__ "hhx"
389 // AARCH64-NEXT: #define __UINT_LEAST8_MAX__ 255
390 // AARCH64-NEXT: #define __UINT_LEAST8_TYPE__ unsigned char
391 // AARCH64-NEXT: #define __USER_LABEL_PREFIX__
392 // AARCH64-NEXT: #define __VERSION__ "{{.*}}"
393 // AARCH64-NEXT: #define __WCHAR_MAX__ 4294967295U
394 // AARCH64-NEXT: #define __WCHAR_TYPE__ unsigned int
395 // AARCH64-NEXT: #define __WCHAR_UNSIGNED__ 1
396 // AARCH64-NEXT: #define __WCHAR_WIDTH__ 32
397 // AARCH64-NEXT: #define __WINT_MAX__ 2147483647
398 // AARCH64-NEXT: #define __WINT_TYPE__ int
399 // AARCH64-NEXT: #define __WINT_WIDTH__ 32
400 // AARCH64-NEXT: #define __aarch64__ 1
401 
402 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-apple-ios7.0 < /dev/null | FileCheck -match-full-lines -check-prefix AARCH64-DARWIN %s
403 
404 // AARCH64-DARWIN: #define _LP64 1
405 // AARCH64-DARWIN-NOT: #define __AARCH64EB__ 1
406 // AARCH64-DARWIN: #define __AARCH64EL__ 1
407 // AARCH64-DARWIN-NOT: #define __AARCH_BIG_ENDIAN 1
408 // AARCH64-DARWIN: #define __ARM_64BIT_STATE 1
409 // AARCH64-DARWIN: #define __ARM_ACLE 202420
410 // AARCH64-DARWIN: #define __ARM_ACLE_VERSION(year,quarter,patch) (100 * (year) + 10 * (quarter) + (patch))
411 // AARCH64-DARWIN: #define __ARM_ARCH 8
412 // AARCH64-DARWIN: #define __ARM_ARCH_ISA_A64 1
413 // AARCH64-DARWIN-NOT: #define __ARM_BIG_ENDIAN 1
414 // AARCH64-DARWIN: #define __BIGGEST_ALIGNMENT__ 8
415 // AARCH64-DARWIN: #define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
416 // AARCH64-DARWIN: #define __CHAR16_TYPE__ unsigned short
417 // AARCH64-DARWIN: #define __CHAR32_TYPE__ unsigned int
418 // AARCH64-DARWIN: #define __CHAR_BIT__ 8
419 // AARCH64-DARWIN: #define __DBL_DENORM_MIN__ 4.9406564584124654e-324
420 // AARCH64-DARWIN: #define __DBL_DIG__ 15
421 // AARCH64-DARWIN: #define __DBL_EPSILON__ 2.2204460492503131e-16
422 // AARCH64-DARWIN: #define __DBL_HAS_DENORM__ 1
423 // AARCH64-DARWIN: #define __DBL_HAS_INFINITY__ 1
424 // AARCH64-DARWIN: #define __DBL_HAS_QUIET_NAN__ 1
425 // AARCH64-DARWIN: #define __DBL_MANT_DIG__ 53
426 // AARCH64-DARWIN: #define __DBL_MAX_10_EXP__ 308
427 // AARCH64-DARWIN: #define __DBL_MAX_EXP__ 1024
428 // AARCH64-DARWIN: #define __DBL_MAX__ 1.7976931348623157e+308
429 // AARCH64-DARWIN: #define __DBL_MIN_10_EXP__ (-307)
430 // AARCH64-DARWIN: #define __DBL_MIN_EXP__ (-1021)
431 // AARCH64-DARWIN: #define __DBL_MIN__ 2.2250738585072014e-308
432 // AARCH64-DARWIN: #define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__
433 // AARCH64-DARWIN: #define __FLT_DENORM_MIN__ 1.40129846e-45F
434 // AARCH64-DARWIN: #define __FLT_DIG__ 6
435 // AARCH64-DARWIN: #define __FLT_EPSILON__ 1.19209290e-7F
436 // AARCH64-DARWIN: #define __FLT_HAS_DENORM__ 1
437 // AARCH64-DARWIN: #define __FLT_HAS_INFINITY__ 1
438 // AARCH64-DARWIN: #define __FLT_HAS_QUIET_NAN__ 1
439 // AARCH64-DARWIN: #define __FLT_MANT_DIG__ 24
440 // AARCH64-DARWIN: #define __FLT_MAX_10_EXP__ 38
441 // AARCH64-DARWIN: #define __FLT_MAX_EXP__ 128
442 // AARCH64-DARWIN: #define __FLT_MAX__ 3.40282347e+38F
443 // AARCH64-DARWIN: #define __FLT_MIN_10_EXP__ (-37)
444 // AARCH64-DARWIN: #define __FLT_MIN_EXP__ (-125)
445 // AARCH64-DARWIN: #define __FLT_MIN__ 1.17549435e-38F
446 // AARCH64-DARWIN: #define __FLT_RADIX__ 2
447 // AARCH64-DARWIN: #define __FUNCTION_MULTI_VERSIONING_SUPPORT_LEVEL 202430
448 // AARCH64-DARWIN: #define __INT16_C(c) c
449 // AARCH64-DARWIN: #define __INT16_C_SUFFIX__
450 // AARCH64-DARWIN: #define __INT16_FMTd__ "hd"
451 // AARCH64-DARWIN: #define __INT16_FMTi__ "hi"
452 // AARCH64-DARWIN: #define __INT16_MAX__ 32767
453 // AARCH64-DARWIN: #define __INT16_TYPE__ short
454 // AARCH64-DARWIN: #define __INT32_C(c) c
455 // AARCH64-DARWIN: #define __INT32_C_SUFFIX__
456 // AARCH64-DARWIN: #define __INT32_FMTd__ "d"
457 // AARCH64-DARWIN: #define __INT32_FMTi__ "i"
458 // AARCH64-DARWIN: #define __INT32_MAX__ 2147483647
459 // AARCH64-DARWIN: #define __INT32_TYPE__ int
460 // AARCH64-DARWIN: #define __INT64_C(c) c##LL
461 // AARCH64-DARWIN: #define __INT64_C_SUFFIX__ LL
462 // AARCH64-DARWIN: #define __INT64_FMTd__ "lld"
463 // AARCH64-DARWIN: #define __INT64_FMTi__ "lli"
464 // AARCH64-DARWIN: #define __INT64_MAX__ 9223372036854775807LL
465 // AARCH64-DARWIN: #define __INT64_TYPE__ long long int
466 // AARCH64-DARWIN: #define __INT8_C(c) c
467 // AARCH64-DARWIN: #define __INT8_C_SUFFIX__
468 // AARCH64-DARWIN: #define __INT8_FMTd__ "hhd"
469 // AARCH64-DARWIN: #define __INT8_FMTi__ "hhi"
470 // AARCH64-DARWIN: #define __INT8_MAX__ 127
471 // AARCH64-DARWIN: #define __INT8_TYPE__ signed char
472 // AARCH64-DARWIN: #define __INTMAX_C(c) c##L
473 // AARCH64-DARWIN: #define __INTMAX_C_SUFFIX__ L
474 // AARCH64-DARWIN: #define __INTMAX_FMTd__ "ld"
475 // AARCH64-DARWIN: #define __INTMAX_FMTi__ "li"
476 // AARCH64-DARWIN: #define __INTMAX_MAX__ 9223372036854775807L
477 // AARCH64-DARWIN: #define __INTMAX_TYPE__ long int
478 // AARCH64-DARWIN: #define __INTMAX_WIDTH__ 64
479 // AARCH64-DARWIN: #define __INTPTR_FMTd__ "ld"
480 // AARCH64-DARWIN: #define __INTPTR_FMTi__ "li"
481 // AARCH64-DARWIN: #define __INTPTR_MAX__ 9223372036854775807L
482 // AARCH64-DARWIN: #define __INTPTR_TYPE__ long int
483 // AARCH64-DARWIN: #define __INTPTR_WIDTH__ 64
484 // AARCH64-DARWIN: #define __INT_FAST16_FMTd__ "hd"
485 // AARCH64-DARWIN: #define __INT_FAST16_FMTi__ "hi"
486 // AARCH64-DARWIN: #define __INT_FAST16_MAX__ 32767
487 // AARCH64-DARWIN: #define __INT_FAST16_TYPE__ short
488 // AARCH64-DARWIN: #define __INT_FAST32_FMTd__ "d"
489 // AARCH64-DARWIN: #define __INT_FAST32_FMTi__ "i"
490 // AARCH64-DARWIN: #define __INT_FAST32_MAX__ 2147483647
491 // AARCH64-DARWIN: #define __INT_FAST32_TYPE__ int
492 // AARCH64-DARWIN: #define __INT_FAST64_FMTd__ "lld"
493 // AARCH64-DARWIN: #define __INT_FAST64_FMTi__ "lli"
494 // AARCH64-DARWIN: #define __INT_FAST64_MAX__ 9223372036854775807LL
495 // AARCH64-DARWIN: #define __INT_FAST64_TYPE__ long long int
496 // AARCH64-DARWIN: #define __INT_FAST8_FMTd__ "hhd"
497 // AARCH64-DARWIN: #define __INT_FAST8_FMTi__ "hhi"
498 // AARCH64-DARWIN: #define __INT_FAST8_MAX__ 127
499 // AARCH64-DARWIN: #define __INT_FAST8_TYPE__ signed char
500 // AARCH64-DARWIN: #define __INT_LEAST16_FMTd__ "hd"
501 // AARCH64-DARWIN: #define __INT_LEAST16_FMTi__ "hi"
502 // AARCH64-DARWIN: #define __INT_LEAST16_MAX__ 32767
503 // AARCH64-DARWIN: #define __INT_LEAST16_TYPE__ short
504 // AARCH64-DARWIN: #define __INT_LEAST32_FMTd__ "d"
505 // AARCH64-DARWIN: #define __INT_LEAST32_FMTi__ "i"
506 // AARCH64-DARWIN: #define __INT_LEAST32_MAX__ 2147483647
507 // AARCH64-DARWIN: #define __INT_LEAST32_TYPE__ int
508 // AARCH64-DARWIN: #define __INT_LEAST64_FMTd__ "lld"
509 // AARCH64-DARWIN: #define __INT_LEAST64_FMTi__ "lli"
510 // AARCH64-DARWIN: #define __INT_LEAST64_MAX__ 9223372036854775807LL
511 // AARCH64-DARWIN: #define __INT_LEAST64_TYPE__ long long int
512 // AARCH64-DARWIN: #define __INT_LEAST8_FMTd__ "hhd"
513 // AARCH64-DARWIN: #define __INT_LEAST8_FMTi__ "hhi"
514 // AARCH64-DARWIN: #define __INT_LEAST8_MAX__ 127
515 // AARCH64-DARWIN: #define __INT_LEAST8_TYPE__ signed char
516 // AARCH64-DARWIN: #define __INT_MAX__ 2147483647
517 // AARCH64-DARWIN: #define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
518 // AARCH64-DARWIN: #define __LDBL_DIG__ 15
519 // AARCH64-DARWIN: #define __LDBL_EPSILON__ 2.2204460492503131e-16L
520 // AARCH64-DARWIN: #define __LDBL_HAS_DENORM__ 1
521 // AARCH64-DARWIN: #define __LDBL_HAS_INFINITY__ 1
522 // AARCH64-DARWIN: #define __LDBL_HAS_QUIET_NAN__ 1
523 // AARCH64-DARWIN: #define __LDBL_MANT_DIG__ 53
524 // AARCH64-DARWIN: #define __LDBL_MAX_10_EXP__ 308
525 // AARCH64-DARWIN: #define __LDBL_MAX_EXP__ 1024
526 // AARCH64-DARWIN: #define __LDBL_MAX__ 1.7976931348623157e+308L
527 // AARCH64-DARWIN: #define __LDBL_MIN_10_EXP__ (-307)
528 // AARCH64-DARWIN: #define __LDBL_MIN_EXP__ (-1021)
529 // AARCH64-DARWIN: #define __LDBL_MIN__ 2.2250738585072014e-308L
530 // AARCH64-DARWIN: #define __LONG_LONG_MAX__ 9223372036854775807LL
531 // AARCH64-DARWIN: #define __LONG_MAX__ 9223372036854775807L
532 // AARCH64-DARWIN: #define __LP64__ 1
533 // AARCH64-DARWIN: #define __POINTER_WIDTH__ 64
534 // AARCH64-DARWIN: #define __PTRDIFF_TYPE__ long int
535 // AARCH64-DARWIN: #define __PTRDIFF_WIDTH__ 64
536 // AARCH64-DARWIN: #define __SCHAR_MAX__ 127
537 // AARCH64-DARWIN: #define __SHRT_MAX__ 32767
538 // AARCH64-DARWIN: #define __SIG_ATOMIC_MAX__ 2147483647
539 // AARCH64-DARWIN: #define __SIG_ATOMIC_WIDTH__ 32
540 // AARCH64-DARWIN: #define __SIZEOF_DOUBLE__ 8
541 // AARCH64-DARWIN: #define __SIZEOF_FLOAT__ 4
542 // AARCH64-DARWIN: #define __SIZEOF_INT128__ 16
543 // AARCH64-DARWIN: #define __SIZEOF_INT__ 4
544 // AARCH64-DARWIN: #define __SIZEOF_LONG_DOUBLE__ 8
545 // AARCH64-DARWIN: #define __SIZEOF_LONG_LONG__ 8
546 // AARCH64-DARWIN: #define __SIZEOF_LONG__ 8
547 // AARCH64-DARWIN: #define __SIZEOF_POINTER__ 8
548 // AARCH64-DARWIN: #define __SIZEOF_PTRDIFF_T__ 8
549 // AARCH64-DARWIN: #define __SIZEOF_SHORT__ 2
550 // AARCH64-DARWIN: #define __SIZEOF_SIZE_T__ 8
551 // AARCH64-DARWIN: #define __SIZEOF_WCHAR_T__ 4
552 // AARCH64-DARWIN: #define __SIZEOF_WINT_T__ 4
553 // AARCH64-DARWIN: #define __SIZE_MAX__ 18446744073709551615UL
554 // AARCH64-DARWIN: #define __SIZE_TYPE__ long unsigned int
555 // AARCH64-DARWIN: #define __SIZE_WIDTH__ 64
556 // AARCH64-DARWIN: #define __UINT16_C(c) c
557 // AARCH64-DARWIN: #define __UINT16_C_SUFFIX__
558 // AARCH64-DARWIN: #define __UINT16_MAX__ 65535
559 // AARCH64-DARWIN: #define __UINT16_TYPE__ unsigned short
560 // AARCH64-DARWIN: #define __UINT32_C(c) c##U
561 // AARCH64-DARWIN: #define __UINT32_C_SUFFIX__ U
562 // AARCH64-DARWIN: #define __UINT32_MAX__ 4294967295U
563 // AARCH64-DARWIN: #define __UINT32_TYPE__ unsigned int
564 // AARCH64-DARWIN: #define __UINT64_C(c) c##ULL
565 // AARCH64-DARWIN: #define __UINT64_C_SUFFIX__ ULL
566 // AARCH64-DARWIN: #define __UINT64_MAX__ 18446744073709551615ULL
567 // AARCH64-DARWIN: #define __UINT64_TYPE__ long long unsigned int
568 // AARCH64-DARWIN: #define __UINT8_C(c) c
569 // AARCH64-DARWIN: #define __UINT8_C_SUFFIX__
570 // AARCH64-DARWIN: #define __UINT8_MAX__ 255
571 // AARCH64-DARWIN: #define __UINT8_TYPE__ unsigned char
572 // AARCH64-DARWIN: #define __UINTMAX_C(c) c##UL
573 // AARCH64-DARWIN: #define __UINTMAX_C_SUFFIX__ UL
574 // AARCH64-DARWIN: #define __UINTMAX_MAX__ 18446744073709551615UL
575 // AARCH64-DARWIN: #define __UINTMAX_TYPE__ long unsigned int
576 // AARCH64-DARWIN: #define __UINTMAX_WIDTH__ 64
577 // AARCH64-DARWIN: #define __UINTPTR_MAX__ 18446744073709551615UL
578 // AARCH64-DARWIN: #define __UINTPTR_TYPE__ long unsigned int
579 // AARCH64-DARWIN: #define __UINTPTR_WIDTH__ 64
580 // AARCH64-DARWIN: #define __UINT_FAST16_MAX__ 65535
581 // AARCH64-DARWIN: #define __UINT_FAST16_TYPE__ unsigned short
582 // AARCH64-DARWIN: #define __UINT_FAST32_MAX__ 4294967295U
583 // AARCH64-DARWIN: #define __UINT_FAST32_TYPE__ unsigned int
584 // AARCH64-DARWIN: #define __UINT_FAST64_MAX__ 18446744073709551615ULL
585 // AARCH64-DARWIN: #define __UINT_FAST64_TYPE__ long long unsigned int
586 // AARCH64-DARWIN: #define __UINT_FAST8_MAX__ 255
587 // AARCH64-DARWIN: #define __UINT_FAST8_TYPE__ unsigned char
588 // AARCH64-DARWIN: #define __UINT_LEAST16_MAX__ 65535
589 // AARCH64-DARWIN: #define __UINT_LEAST16_TYPE__ unsigned short
590 // AARCH64-DARWIN: #define __UINT_LEAST32_MAX__ 4294967295U
591 // AARCH64-DARWIN: #define __UINT_LEAST32_TYPE__ unsigned int
592 // AARCH64-DARWIN: #define __UINT_LEAST64_MAX__ 18446744073709551615ULL
593 // AARCH64-DARWIN: #define __UINT_LEAST64_TYPE__ long long unsigned int
594 // AARCH64-DARWIN: #define __UINT_LEAST8_MAX__ 255
595 // AARCH64-DARWIN: #define __UINT_LEAST8_TYPE__ unsigned char
596 // AARCH64-DARWIN: #define __USER_LABEL_PREFIX__ _
597 // AARCH64-DARWIN: #define __WCHAR_MAX__ 2147483647
598 // AARCH64-DARWIN: #define __WCHAR_TYPE__ int
599 // AARCH64-DARWIN-NOT: #define __WCHAR_UNSIGNED__
600 // AARCH64-DARWIN: #define __WCHAR_WIDTH__ 32
601 // AARCH64-DARWIN: #define __WINT_TYPE__ int
602 // AARCH64-DARWIN: #define __WINT_WIDTH__ 32
603 // AARCH64-DARWIN: #define __aarch64__ 1
604 
605 // RUN: %clang_cc1 -E -dM -triple=aarch64-apple-ios7.0 -x c++ < /dev/null | FileCheck -match-full-lines -check-prefix AARCH64-DARWIN-CXX %s
606 // AARCH64-DARWIN-CXX: #define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 16UL
607 
608 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-windows-msvc < /dev/null | FileCheck -match-full-lines -check-prefix AARCH64-MSVC %s
609 
610 // AARCH64-MSVC: #define _INTEGRAL_MAX_BITS 64
611 // AARCH64-MSVC-NOT: #define _LP64 1
612 // AARCH64-MSVC: #define _M_ARM64 1
613 // AARCH64-MSVC: #define _WIN32 1
614 // AARCH64-MSVC: #define _WIN64 1
615 // AARCH64-MSVC: #define __AARCH64EL__ 1
616 // AARCH64-MSVC: #define __ARM_64BIT_STATE 1
617 // AARCH64-MSVC: #define __ARM_ACLE 202420
618 // AARCH64-MSVC: #define __ARM_ACLE_VERSION(year,quarter,patch) (100 * (year) + 10 * (quarter) + (patch))
619 // AARCH64-MSVC: #define __ARM_ALIGN_MAX_STACK_PWR 4
620 // AARCH64-MSVC: #define __ARM_ARCH 8
621 // AARCH64-MSVC: #define __ARM_ARCH_ISA_A64 1
622 // AARCH64-MSVC: #define __ARM_ARCH_PROFILE 'A'
623 // AARCH64-MSVC: #define __ARM_FEATURE_CLZ 1
624 // AARCH64-MSVC: #define __ARM_FEATURE_DIRECTED_ROUNDING 1
625 // AARCH64-MSVC: #define __ARM_FEATURE_DIV 1
626 // AARCH64-MSVC: #define __ARM_FEATURE_FMA 1
627 // AARCH64-MSVC: #define __ARM_FEATURE_IDIV 1
628 // AARCH64-MSVC: #define __ARM_FEATURE_LDREX 0xF
629 // AARCH64-MSVC: #define __ARM_FEATURE_NUMERIC_MAXMIN 1
630 // AARCH64-MSVC: #define __ARM_FEATURE_UNALIGNED 1
631 // AARCH64-MSVC: #define __ARM_FP 0xE
632 // AARCH64-MSVC: #define __ARM_FP16_ARGS 1
633 // AARCH64-MSVC: #define __ARM_FP16_FORMAT_IEEE 1
634 // AARCH64-MSVC: #define __ARM_PCS_AAPCS64 1
635 // AARCH64-MSVC: #define __ARM_SIZEOF_MINIMAL_ENUM 4
636 // AARCH64-MSVC: #define __ARM_SIZEOF_WCHAR_T 4
637 // AARCH64-MSVC: #define __BIGGEST_ALIGNMENT__ 16
638 // AARCH64-MSVC: #define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
639 // AARCH64-MSVC: #define __CHAR16_TYPE__ unsigned short
640 // AARCH64-MSVC: #define __CHAR32_TYPE__ unsigned int
641 // AARCH64-MSVC: #define __CHAR_BIT__ 8
642 // AARCH64-MSVC: #define __CONSTANT_CFSTRINGS__ 1
643 // AARCH64-MSVC: #define __DBL_DECIMAL_DIG__ 17
644 // AARCH64-MSVC: #define __DBL_DENORM_MIN__ 4.9406564584124654e-324
645 // AARCH64-MSVC: #define __DBL_DIG__ 15
646 // AARCH64-MSVC: #define __DBL_EPSILON__ 2.2204460492503131e-16
647 // AARCH64-MSVC: #define __DBL_HAS_DENORM__ 1
648 // AARCH64-MSVC: #define __DBL_HAS_INFINITY__ 1
649 // AARCH64-MSVC: #define __DBL_HAS_QUIET_NAN__ 1
650 // AARCH64-MSVC: #define __DBL_MANT_DIG__ 53
651 // AARCH64-MSVC: #define __DBL_MAX_10_EXP__ 308
652 // AARCH64-MSVC: #define __DBL_MAX_EXP__ 1024
653 // AARCH64-MSVC: #define __DBL_MAX__ 1.7976931348623157e+308
654 // AARCH64-MSVC: #define __DBL_MIN_10_EXP__ (-307)
655 // AARCH64-MSVC: #define __DBL_MIN_EXP__ (-1021)
656 // AARCH64-MSVC: #define __DBL_MIN__ 2.2250738585072014e-308
657 // AARCH64-MSVC: #define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__
658 // AARCH64-MSVC: #define __FINITE_MATH_ONLY__ 0
659 // AARCH64-MSVC: #define __FLT_DECIMAL_DIG__ 9
660 // AARCH64-MSVC: #define __FLT_DENORM_MIN__ 1.40129846e-45F
661 // AARCH64-MSVC: #define __FLT_DIG__ 6
662 // AARCH64-MSVC: #define __FLT_EPSILON__ 1.19209290e-7F
663 // AARCH64-MSVC: #define __FLT_HAS_DENORM__ 1
664 // AARCH64-MSVC: #define __FLT_HAS_INFINITY__ 1
665 // AARCH64-MSVC: #define __FLT_HAS_QUIET_NAN__ 1
666 // AARCH64-MSVC: #define __FLT_MANT_DIG__ 24
667 // AARCH64-MSVC: #define __FLT_MAX_10_EXP__ 38
668 // AARCH64-MSVC: #define __FLT_MAX_EXP__ 128
669 // AARCH64-MSVC: #define __FLT_MAX__ 3.40282347e+38F
670 // AARCH64-MSVC: #define __FLT_MIN_10_EXP__ (-37)
671 // AARCH64-MSVC: #define __FLT_MIN_EXP__ (-125)
672 // AARCH64-MSVC: #define __FLT_MIN__ 1.17549435e-38F
673 // AARCH64-MSVC: #define __FLT_RADIX__ 2
674 // AARCH64-MSVC: #define __FUNCTION_MULTI_VERSIONING_SUPPORT_LEVEL 202430
675 // AARCH64-MSVC: #define __INT_MAX__ 2147483647
676 // AARCH64-MSVC: #define __LDBL_DECIMAL_DIG__ 17
677 // AARCH64-MSVC: #define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
678 // AARCH64-MSVC: #define __LDBL_DIG__ 15
679 // AARCH64-MSVC: #define __LDBL_EPSILON__ 2.2204460492503131e-16L
680 // AARCH64-MSVC: #define __LDBL_HAS_DENORM__ 1
681 // AARCH64-MSVC: #define __LDBL_HAS_INFINITY__ 1
682 // AARCH64-MSVC: #define __LDBL_HAS_QUIET_NAN__ 1
683 // AARCH64-MSVC: #define __LDBL_MANT_DIG__ 53
684 // AARCH64-MSVC: #define __LDBL_MAX_10_EXP__ 308
685 // AARCH64-MSVC: #define __LDBL_MAX_EXP__ 1024
686 // AARCH64-MSVC: #define __LDBL_MAX__ 1.7976931348623157e+308L
687 // AARCH64-MSVC: #define __LDBL_MIN_10_EXP__ (-307)
688 // AARCH64-MSVC: #define __LDBL_MIN_EXP__ (-1021)
689 // AARCH64-MSVC: #define __LDBL_MIN__ 2.2250738585072014e-308L
690 // AARCH64-MSVC: #define __LITTLE_ENDIAN__ 1
691 // AARCH64-MSVC: #define __LONG_LONG_MAX__ 9223372036854775807LL
692 // AARCH64-MSVC: #define __LONG_MAX__ 2147483647L
693 // AARCH64-MSVC-NOT: #define __LP64__ 1
694 // AARCH64-MSVC: #define __NO_INLINE__ 1
695 // AARCH64-MSVC: #define __OBJC_BOOL_IS_BOOL 0
696 // AARCH64-MSVC: #define __ORDER_BIG_ENDIAN__ 4321
697 // AARCH64-MSVC: #define __ORDER_LITTLE_ENDIAN__ 1234
698 // AARCH64-MSVC: #define __ORDER_PDP_ENDIAN__ 3412
699 // AARCH64-MSVC: #define __POINTER_WIDTH__ 64
700 // AARCH64-MSVC: #define __PRAGMA_REDEFINE_EXTNAME 1
701 // AARCH64-MSVC: #define __SCHAR_MAX__ 127
702 // AARCH64-MSVC: #define __SHRT_MAX__ 32767
703 // AARCH64-MSVC: #define __SIG_ATOMIC_MAX__ 2147483647
704 // AARCH64-MSVC: #define __SIG_ATOMIC_WIDTH__ 32
705 // AARCH64-MSVC: #define __SIZEOF_DOUBLE__ 8
706 // AARCH64-MSVC: #define __SIZEOF_FLOAT__ 4
707 // AARCH64-MSVC: #define __SIZEOF_INT128__ 16
708 // AARCH64-MSVC: #define __SIZEOF_INT__ 4
709 // AARCH64-MSVC: #define __SIZEOF_LONG_DOUBLE__ 8
710 // AARCH64-MSVC: #define __SIZEOF_LONG_LONG__ 8
711 // AARCH64-MSVC: #define __SIZEOF_LONG__ 4
712 // AARCH64-MSVC: #define __SIZEOF_POINTER__ 8
713 // AARCH64-MSVC: #define __SIZEOF_PTRDIFF_T__ 8
714 // AARCH64-MSVC: #define __SIZEOF_SHORT__ 2
715 // AARCH64-MSVC: #define __SIZEOF_SIZE_T__ 8
716 // AARCH64-MSVC: #define __SIZEOF_WCHAR_T__ 2
717 // AARCH64-MSVC: #define __SIZEOF_WINT_T__ 2
718 // AARCH64-MSVC: #define __SIZE_MAX__ 18446744073709551615ULL
719 // AARCH64-MSVC: #define __SIZE_TYPE__ long long unsigned int
720 // AARCH64-MSVC: #define __SIZE_WIDTH__ 64
721 // AARCH64-MSVC: #define __STDC_HOSTED__ 0
722 // AARCH64-MSVC: #define __STDC_UTF_16__ 1
723 // AARCH64-MSVC: #define __STDC_UTF_32__ 1
724 // AARCH64-MSVC: #define __STDC_VERSION__ 201710L
725 // AARCH64-MSVC: #define __STDC__ 1
726 // AARCH64-MSVC: #define __UINT16_C(c) c
727 // AARCH64-MSVC: #define __UINT16_C_SUFFIX__
728 // AARCH64-MSVC: #define __UINT16_MAX__ 65535
729 // AARCH64-MSVC: #define __UINT16_TYPE__ unsigned short
730 // AARCH64-MSVC: #define __UINT32_C(c) c##U
731 // AARCH64-MSVC: #define __UINT32_C_SUFFIX__ U
732 // AARCH64-MSVC: #define __UINT32_MAX__ 4294967295U
733 // AARCH64-MSVC: #define __UINT32_TYPE__ unsigned int
734 // AARCH64-MSVC: #define __UINT64_C(c) c##ULL
735 // AARCH64-MSVC: #define __UINT64_C_SUFFIX__ ULL
736 // AARCH64-MSVC: #define __UINT64_MAX__ 18446744073709551615ULL
737 // AARCH64-MSVC: #define __UINT64_TYPE__ long long unsigned int
738 // AARCH64-MSVC: #define __UINT8_C(c) c
739 // AARCH64-MSVC: #define __UINT8_C_SUFFIX__
740 // AARCH64-MSVC: #define __UINT8_MAX__ 255
741 // AARCH64-MSVC: #define __UINT8_TYPE__ unsigned char
742 // AARCH64-MSVC: #define __UINTMAX_C(c) c##ULL
743 // AARCH64-MSVC: #define __UINTMAX_C_SUFFIX__ ULL
744 // AARCH64-MSVC: #define __UINTMAX_MAX__ 18446744073709551615ULL
745 // AARCH64-MSVC: #define __UINTMAX_TYPE__ long long unsigned int
746 // AARCH64-MSVC: #define __UINTMAX_WIDTH__ 64
747 // AARCH64-MSVC: #define __UINTPTR_MAX__ 18446744073709551615ULL
748 // AARCH64-MSVC: #define __UINTPTR_TYPE__ long long unsigned int
749 // AARCH64-MSVC: #define __UINTPTR_WIDTH__ 64
750 // AARCH64-MSVC: #define __UINT_FAST16_MAX__ 65535
751 // AARCH64-MSVC: #define __UINT_FAST16_TYPE__ unsigned short
752 // AARCH64-MSVC: #define __UINT_FAST32_MAX__ 4294967295U
753 // AARCH64-MSVC: #define __UINT_FAST32_TYPE__ unsigned int
754 // AARCH64-MSVC: #define __UINT_FAST64_MAX__ 18446744073709551615ULL
755 // AARCH64-MSVC: #define __UINT_FAST64_TYPE__ long long unsigned int
756 // AARCH64-MSVC: #define __UINT_FAST8_MAX__ 255
757 // AARCH64-MSVC: #define __UINT_FAST8_TYPE__ unsigned char
758 // AARCH64-MSVC: #define __UINT_LEAST16_MAX__ 65535
759 // AARCH64-MSVC: #define __UINT_LEAST16_TYPE__ unsigned short
760 // AARCH64-MSVC: #define __UINT_LEAST32_MAX__ 4294967295U
761 // AARCH64-MSVC: #define __UINT_LEAST32_TYPE__ unsigned int
762 // AARCH64-MSVC: #define __UINT_LEAST64_MAX__ 18446744073709551615ULL
763 // AARCH64-MSVC: #define __UINT_LEAST64_TYPE__ long long unsigned int
764 // AARCH64-MSVC: #define __UINT_LEAST8_MAX__ 255
765 // AARCH64-MSVC: #define __UINT_LEAST8_TYPE__ unsigned char
766 // AARCH64-MSVC: #define __USER_LABEL_PREFIX__
767 // AARCH64-MSVC: #define __WCHAR_MAX__ 65535
768 // AARCH64-MSVC: #define __WCHAR_TYPE__ unsigned short
769 // AARCH64-MSVC: #define __WCHAR_UNSIGNED__ 1
770 // AARCH64-MSVC: #define __WCHAR_WIDTH__ 16
771 // AARCH64-MSVC: #define __WINT_TYPE__ unsigned short
772 // AARCH64-MSVC: #define __WINT_WIDTH__ 16
773 // AARCH64-MSVC: #define __aarch64__ 1
774 
775 // RUN: %clang_cc1 -E -dM -fms-compatibility-version=19.33 -ffreestanding -triple=arm64ec-windows-msvc < /dev/null | FileCheck -match-full-lines -check-prefix ARM64EC-MSVC %s
776 
777 // ARM64EC-MSVC: #define _INTEGRAL_MAX_BITS 64
778 // ARM64EC-MSVC: #define _M_AMD64 100
779 // ARM64EC-MSVC: #define _M_ARM64EC 1
780 // ARM64EC-MSVC: #define _M_X64 100
781 // ARM64EC-MSVC: #define _WIN32 1
782 // ARM64EC-MSVC: #define _WIN64 1
783 // ARM64EC-MSVC: #define __AARCH64EL__ 1
784 // ARM64EC-MSVC: #define __AARCH64_CMODEL_SMALL__ 1
785 // ARM64EC-MSVC: #define __ARM_64BIT_STATE 1
786 // ARM64EC-MSVC: #define __ARM_ACLE 202420
787 // ARM64EC-MSVC: #define __ARM_ACLE_VERSION(year,quarter,patch) (100 * (year) + 10 * (quarter) + (patch))
788 // ARM64EC-MSVC: #define __ARM_ALIGN_MAX_STACK_PWR 4
789 // ARM64EC-MSVC: #define __ARM_ARCH 8
790 // ARM64EC-MSVC: #define __ARM_ARCH_ISA_A64 1
791 // ARM64EC-MSVC: #define __ARM_ARCH_PROFILE 'A'
792 // ARM64EC-MSVC: #define __ARM_FEATURE_CLZ 1
793 // ARM64EC-MSVC: #define __ARM_FEATURE_DIRECTED_ROUNDING 1
794 // ARM64EC-MSVC: #define __ARM_FEATURE_DIV 1
795 // ARM64EC-MSVC: #define __ARM_FEATURE_FMA 1
796 // ARM64EC-MSVC: #define __ARM_FEATURE_IDIV 1
797 // ARM64EC-MSVC: #define __ARM_FEATURE_LDREX 0xF
798 // ARM64EC-MSVC: #define __ARM_FEATURE_NUMERIC_MAXMIN 1
799 // ARM64EC-MSVC: #define __ARM_FEATURE_UNALIGNED 1
800 // ARM64EC-MSVC: #define __ARM_FP 0xE
801 // ARM64EC-MSVC: #define __ARM_FP16_ARGS 1
802 // ARM64EC-MSVC: #define __ARM_FP16_FORMAT_IEEE 1
803 // ARM64EC-MSVC: #define __ARM_PCS_AAPCS64 1
804 // ARM64EC-MSVC: #define __ARM_SIZEOF_MINIMAL_ENUM 4
805 // ARM64EC-MSVC: #define __ARM_SIZEOF_WCHAR_T 4
806 // ARM64EC-MSVC: #define __ATOMIC_ACQUIRE 2
807 // ARM64EC-MSVC: #define __ATOMIC_ACQ_REL 4
808 // ARM64EC-MSVC: #define __ATOMIC_CONSUME 1
809 // ARM64EC-MSVC: #define __ATOMIC_RELAXED 0
810 // ARM64EC-MSVC: #define __ATOMIC_RELEASE 3
811 // ARM64EC-MSVC: #define __ATOMIC_SEQ_CST 5
812 // ARM64EC-MSVC: #define __BIGGEST_ALIGNMENT__ 16
813 // ARM64EC-MSVC: #define __BITINT_MAXWIDTH__ 128
814 // ARM64EC-MSVC: #define __BOOL_WIDTH__ 1
815 // ARM64EC-MSVC: #define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
816 // ARM64EC-MSVC: #define __CHAR16_TYPE__ unsigned short
817 // ARM64EC-MSVC: #define __CHAR32_TYPE__ unsigned int
818 // ARM64EC-MSVC: #define __CHAR_BIT__ 8
819 // ARM64EC-MSVC: #define __CLANG_ATOMIC_BOOL_LOCK_FREE 2
820 // ARM64EC-MSVC: #define __CLANG_ATOMIC_CHAR16_T_LOCK_FREE 2
821 // ARM64EC-MSVC: #define __CLANG_ATOMIC_CHAR32_T_LOCK_FREE 2
822 // ARM64EC-MSVC: #define __CLANG_ATOMIC_CHAR_LOCK_FREE 2
823 // ARM64EC-MSVC: #define __CLANG_ATOMIC_INT_LOCK_FREE 2
824 // ARM64EC-MSVC: #define __CLANG_ATOMIC_LLONG_LOCK_FREE 2
825 // ARM64EC-MSVC: #define __CLANG_ATOMIC_LONG_LOCK_FREE 2
826 // ARM64EC-MSVC: #define __CLANG_ATOMIC_POINTER_LOCK_FREE 2
827 // ARM64EC-MSVC: #define __CLANG_ATOMIC_SHORT_LOCK_FREE 2
828 // ARM64EC-MSVC: #define __CLANG_ATOMIC_WCHAR_T_LOCK_FREE 2
829 // ARM64EC-MSVC: #define __CONSTANT_CFSTRINGS__ 1
830 // ARM64EC-MSVC: #define __DBL_DECIMAL_DIG__ 17
831 // ARM64EC-MSVC: #define __DBL_DENORM_MIN__ 4.9406564584124654e-324
832 // ARM64EC-MSVC: #define __DBL_DIG__ 15
833 // ARM64EC-MSVC: #define __DBL_EPSILON__ 2.2204460492503131e-16
834 // ARM64EC-MSVC: #define __DBL_HAS_DENORM__ 1
835 // ARM64EC-MSVC: #define __DBL_HAS_INFINITY__ 1
836 // ARM64EC-MSVC: #define __DBL_HAS_QUIET_NAN__ 1
837 // ARM64EC-MSVC: #define __DBL_MANT_DIG__ 53
838 // ARM64EC-MSVC: #define __DBL_MAX_10_EXP__ 308
839 // ARM64EC-MSVC: #define __DBL_MAX_EXP__ 1024
840 // ARM64EC-MSVC: #define __DBL_MAX__ 1.7976931348623157e+308
841 // ARM64EC-MSVC: #define __DBL_MIN_10_EXP__ (-307)
842 // ARM64EC-MSVC: #define __DBL_MIN_EXP__ (-1021)
843 // ARM64EC-MSVC: #define __DBL_MIN__ 2.2250738585072014e-308
844 // ARM64EC-MSVC: #define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__
845 // ARM64EC-MSVC: #define __FINITE_MATH_ONLY__ 0
846 // ARM64EC-MSVC: #define __FLT16_DECIMAL_DIG__ 5
847 // ARM64EC-MSVC: #define __FLT16_DENORM_MIN__ 5.9604644775390625e-8F16
848 // ARM64EC-MSVC: #define __FLT16_DIG__ 3
849 // ARM64EC-MSVC: #define __FLT16_EPSILON__ 9.765625e-4F16
850 // ARM64EC-MSVC: #define __FLT16_HAS_DENORM__ 1
851 // ARM64EC-MSVC: #define __FLT16_HAS_INFINITY__ 1
852 // ARM64EC-MSVC: #define __FLT16_HAS_QUIET_NAN__ 1
853 // ARM64EC-MSVC: #define __FLT16_MANT_DIG__ 11
854 // ARM64EC-MSVC: #define __FLT16_MAX_10_EXP__ 4
855 // ARM64EC-MSVC: #define __FLT16_MAX_EXP__ 16
856 // ARM64EC-MSVC: #define __FLT16_MAX__ 6.5504e+4F16
857 // ARM64EC-MSVC: #define __FLT16_MIN_10_EXP__ (-4)
858 // ARM64EC-MSVC: #define __FLT16_MIN_EXP__ (-13)
859 // ARM64EC-MSVC: #define __FLT16_MIN__ 6.103515625e-5F16
860 // ARM64EC-MSVC: #define __FLT_DECIMAL_DIG__ 9
861 // ARM64EC-MSVC: #define __FLT_DENORM_MIN__ 1.40129846e-45F
862 // ARM64EC-MSVC: #define __FLT_DIG__ 6
863 // ARM64EC-MSVC: #define __FLT_EPSILON__ 1.19209290e-7F
864 // ARM64EC-MSVC: #define __FLT_HAS_DENORM__ 1
865 // ARM64EC-MSVC: #define __FLT_HAS_INFINITY__ 1
866 // ARM64EC-MSVC: #define __FLT_HAS_QUIET_NAN__ 1
867 // ARM64EC-MSVC: #define __FLT_MANT_DIG__ 24
868 // ARM64EC-MSVC: #define __FLT_MAX_10_EXP__ 38
869 // ARM64EC-MSVC: #define __FLT_MAX_EXP__ 128
870 // ARM64EC-MSVC: #define __FLT_MAX__ 3.40282347e+38F
871 // ARM64EC-MSVC: #define __FLT_MIN_10_EXP__ (-37)
872 // ARM64EC-MSVC: #define __FLT_MIN_EXP__ (-125)
873 // ARM64EC-MSVC: #define __FLT_MIN__ 1.17549435e-38F
874 // ARM64EC-MSVC: #define __FLT_RADIX__ 2
875 // ARM64EC-MSVC: #define __FPCLASS_NEGINF 0x0004
876 // ARM64EC-MSVC: #define __FPCLASS_NEGNORMAL 0x0008
877 // ARM64EC-MSVC: #define __FPCLASS_NEGSUBNORMAL 0x0010
878 // ARM64EC-MSVC: #define __FPCLASS_NEGZERO 0x0020
879 // ARM64EC-MSVC: #define __FPCLASS_POSINF 0x0200
880 // ARM64EC-MSVC: #define __FPCLASS_POSNORMAL 0x0100
881 // ARM64EC-MSVC: #define __FPCLASS_POSSUBNORMAL 0x0080
882 // ARM64EC-MSVC: #define __FPCLASS_POSZERO 0x0040
883 // ARM64EC-MSVC: #define __FPCLASS_QNAN 0x0002
884 // ARM64EC-MSVC: #define __FPCLASS_SNAN 0x0001
885 // ARM64EC-MSVC: #define __FP_FAST_FMA 1
886 // ARM64EC-MSVC: #define __FP_FAST_FMAF 1
887 // ARM64EC-MSVC: #define __FUNCTION_MULTI_VERSIONING_SUPPORT_LEVEL 202430
888 // ARM64EC-MSVC: #define __GCC_ASM_FLAG_OUTPUTS__ 1
889 // ARM64EC-MSVC: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
890 // ARM64EC-MSVC: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 1
891 // ARM64EC-MSVC: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
892 // ARM64EC-MSVC: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
893 // ARM64EC-MSVC: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
894 // ARM64EC-MSVC: #define __HAVE_FUNCTION_MULTI_VERSIONING 1
895 // ARM64EC-MSVC: #define __INT16_C(c) c
896 // ARM64EC-MSVC: #define __INT16_C_SUFFIX__
897 // ARM64EC-MSVC: #define __INT16_FMTd__ "hd"
898 // ARM64EC-MSVC: #define __INT16_FMTi__ "hi"
899 // ARM64EC-MSVC: #define __INT16_MAX__ 32767
900 // ARM64EC-MSVC: #define __INT16_TYPE__ short
901 // ARM64EC-MSVC: #define __INT32_C(c) c
902 // ARM64EC-MSVC: #define __INT32_C_SUFFIX__
903 // ARM64EC-MSVC: #define __INT32_FMTd__ "d"
904 // ARM64EC-MSVC: #define __INT32_FMTi__ "i"
905 // ARM64EC-MSVC: #define __INT32_MAX__ 2147483647
906 // ARM64EC-MSVC: #define __INT32_TYPE__ int
907 // ARM64EC-MSVC: #define __INT64_C(c) c##LL
908 // ARM64EC-MSVC: #define __INT64_C_SUFFIX__ LL
909 // ARM64EC-MSVC: #define __INT64_FMTd__ "lld"
910 // ARM64EC-MSVC: #define __INT64_FMTi__ "lli"
911 // ARM64EC-MSVC: #define __INT64_MAX__ 9223372036854775807LL
912 // ARM64EC-MSVC: #define __INT64_TYPE__ long long int
913 // ARM64EC-MSVC: #define __INT8_C(c) c
914 // ARM64EC-MSVC: #define __INT8_C_SUFFIX__
915 // ARM64EC-MSVC: #define __INT8_FMTd__ "hhd"
916 // ARM64EC-MSVC: #define __INT8_FMTi__ "hhi"
917 // ARM64EC-MSVC: #define __INT8_MAX__ 127
918 // ARM64EC-MSVC: #define __INT8_TYPE__ signed char
919 // ARM64EC-MSVC: #define __INTMAX_C(c) c##LL
920 // ARM64EC-MSVC: #define __INTMAX_C_SUFFIX__ LL
921 // ARM64EC-MSVC: #define __INTMAX_FMTd__ "lld"
922 // ARM64EC-MSVC: #define __INTMAX_FMTi__ "lli"
923 // ARM64EC-MSVC: #define __INTMAX_MAX__ 9223372036854775807LL
924 // ARM64EC-MSVC: #define __INTMAX_TYPE__ long long int
925 // ARM64EC-MSVC: #define __INTMAX_WIDTH__ 64
926 // ARM64EC-MSVC: #define __INTPTR_FMTd__ "lld"
927 // ARM64EC-MSVC: #define __INTPTR_FMTi__ "lli"
928 // ARM64EC-MSVC: #define __INTPTR_MAX__ 9223372036854775807LL
929 // ARM64EC-MSVC: #define __INTPTR_TYPE__ long long int
930 // ARM64EC-MSVC: #define __INTPTR_WIDTH__ 64
931 // ARM64EC-MSVC: #define __INT_FAST16_FMTd__ "hd"
932 // ARM64EC-MSVC: #define __INT_FAST16_FMTi__ "hi"
933 // ARM64EC-MSVC: #define __INT_FAST16_MAX__ 32767
934 // ARM64EC-MSVC: #define __INT_FAST16_TYPE__ short
935 // ARM64EC-MSVC: #define __INT_FAST16_WIDTH__ 16
936 // ARM64EC-MSVC: #define __INT_FAST32_FMTd__ "d"
937 // ARM64EC-MSVC: #define __INT_FAST32_FMTi__ "i"
938 // ARM64EC-MSVC: #define __INT_FAST32_MAX__ 2147483647
939 // ARM64EC-MSVC: #define __INT_FAST32_TYPE__ int
940 // ARM64EC-MSVC: #define __INT_FAST32_WIDTH__ 32
941 // ARM64EC-MSVC: #define __INT_FAST64_FMTd__ "lld"
942 // ARM64EC-MSVC: #define __INT_FAST64_FMTi__ "lli"
943 // ARM64EC-MSVC: #define __INT_FAST64_MAX__ 9223372036854775807LL
944 // ARM64EC-MSVC: #define __INT_FAST64_TYPE__ long long int
945 // ARM64EC-MSVC: #define __INT_FAST64_WIDTH__ 64
946 // ARM64EC-MSVC: #define __INT_FAST8_FMTd__ "hhd"
947 // ARM64EC-MSVC: #define __INT_FAST8_FMTi__ "hhi"
948 // ARM64EC-MSVC: #define __INT_FAST8_MAX__ 127
949 // ARM64EC-MSVC: #define __INT_FAST8_TYPE__ signed char
950 // ARM64EC-MSVC: #define __INT_FAST8_WIDTH__ 8
951 // ARM64EC-MSVC: #define __INT_LEAST16_FMTd__ "hd"
952 // ARM64EC-MSVC: #define __INT_LEAST16_FMTi__ "hi"
953 // ARM64EC-MSVC: #define __INT_LEAST16_MAX__ 32767
954 // ARM64EC-MSVC: #define __INT_LEAST16_TYPE__ short
955 // ARM64EC-MSVC: #define __INT_LEAST16_WIDTH__ 16
956 // ARM64EC-MSVC: #define __INT_LEAST32_FMTd__ "d"
957 // ARM64EC-MSVC: #define __INT_LEAST32_FMTi__ "i"
958 // ARM64EC-MSVC: #define __INT_LEAST32_MAX__ 2147483647
959 // ARM64EC-MSVC: #define __INT_LEAST32_TYPE__ int
960 // ARM64EC-MSVC: #define __INT_LEAST32_WIDTH__ 32
961 // ARM64EC-MSVC: #define __INT_LEAST64_FMTd__ "lld"
962 // ARM64EC-MSVC: #define __INT_LEAST64_FMTi__ "lli"
963 // ARM64EC-MSVC: #define __INT_LEAST64_MAX__ 9223372036854775807LL
964 // ARM64EC-MSVC: #define __INT_LEAST64_TYPE__ long long int
965 // ARM64EC-MSVC: #define __INT_LEAST64_WIDTH__ 64
966 // ARM64EC-MSVC: #define __INT_LEAST8_FMTd__ "hhd"
967 // ARM64EC-MSVC: #define __INT_LEAST8_FMTi__ "hhi"
968 // ARM64EC-MSVC: #define __INT_LEAST8_MAX__ 127
969 // ARM64EC-MSVC: #define __INT_LEAST8_TYPE__ signed char
970 // ARM64EC-MSVC: #define __INT_LEAST8_WIDTH__ 8
971 // ARM64EC-MSVC: #define __INT_MAX__ 2147483647
972 // ARM64EC-MSVC: #define __INT_WIDTH__ 32
973 // ARM64EC-MSVC: #define __LDBL_DECIMAL_DIG__ 17
974 // ARM64EC-MSVC: #define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
975 // ARM64EC-MSVC: #define __LDBL_DIG__ 15
976 // ARM64EC-MSVC: #define __LDBL_EPSILON__ 2.2204460492503131e-16L
977 // ARM64EC-MSVC: #define __LDBL_HAS_DENORM__ 1
978 // ARM64EC-MSVC: #define __LDBL_HAS_INFINITY__ 1
979 // ARM64EC-MSVC: #define __LDBL_HAS_QUIET_NAN__ 1
980 // ARM64EC-MSVC: #define __LDBL_MANT_DIG__ 53
981 // ARM64EC-MSVC: #define __LDBL_MAX_10_EXP__ 308
982 // ARM64EC-MSVC: #define __LDBL_MAX_EXP__ 1024
983 // ARM64EC-MSVC: #define __LDBL_MAX__ 1.7976931348623157e+308L
984 // ARM64EC-MSVC: #define __LDBL_MIN_10_EXP__ (-307)
985 // ARM64EC-MSVC: #define __LDBL_MIN_EXP__ (-1021)
986 // ARM64EC-MSVC: #define __LDBL_MIN__ 2.2250738585072014e-308L
987 // ARM64EC-MSVC: #define __LITTLE_ENDIAN__ 1
988 // ARM64EC-MSVC: #define __LLONG_WIDTH__ 64
989 // ARM64EC-MSVC: #define __LONG_LONG_MAX__ 9223372036854775807LL
990 // ARM64EC-MSVC: #define __LONG_MAX__ 2147483647L
991 // ARM64EC-MSVC: #define __LONG_WIDTH__ 32
992 // ARM64EC-MSVC: #define __MEMORY_SCOPE_DEVICE 1
993 // ARM64EC-MSVC: #define __MEMORY_SCOPE_SINGLE 4
994 // ARM64EC-MSVC: #define __MEMORY_SCOPE_SYSTEM 0
995 // ARM64EC-MSVC: #define __MEMORY_SCOPE_WRKGRP 2
996 // ARM64EC-MSVC: #define __MEMORY_SCOPE_WVFRNT 3
997 // ARM64EC-MSVC: #define __NO_INLINE__ 1
998 // ARM64EC-MSVC: #define __NO_MATH_ERRNO__ 1
999 // ARM64EC-MSVC: #define __OBJC_BOOL_IS_BOOL 0
1000 // ARM64EC-MSVC: #define __OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES 3
1001 // ARM64EC-MSVC: #define __OPENCL_MEMORY_SCOPE_DEVICE 2
1002 // ARM64EC-MSVC: #define __OPENCL_MEMORY_SCOPE_SUB_GROUP 4
1003 // ARM64EC-MSVC: #define __OPENCL_MEMORY_SCOPE_WORK_GROUP 1
1004 // ARM64EC-MSVC: #define __OPENCL_MEMORY_SCOPE_WORK_ITEM 0
1005 // ARM64EC-MSVC: #define __ORDER_BIG_ENDIAN__ 4321
1006 // ARM64EC-MSVC: #define __ORDER_LITTLE_ENDIAN__ 1234
1007 // ARM64EC-MSVC: #define __ORDER_PDP_ENDIAN__ 3412
1008 // ARM64EC-MSVC: #define __POINTER_WIDTH__ 64
1009 // ARM64EC-MSVC: #define __PRAGMA_REDEFINE_EXTNAME 1
1010 // ARM64EC-MSVC: #define __PTRDIFF_FMTd__ "lld"
1011 // ARM64EC-MSVC: #define __PTRDIFF_FMTi__ "lli"
1012 // ARM64EC-MSVC: #define __PTRDIFF_MAX__ 9223372036854775807LL
1013 // ARM64EC-MSVC: #define __PTRDIFF_TYPE__ long long int
1014 // ARM64EC-MSVC: #define __PTRDIFF_WIDTH__ 64
1015 // ARM64EC-MSVC: #define __SCHAR_MAX__ 127
1016 // ARM64EC-MSVC: #define __SHRT_MAX__ 32767
1017 // ARM64EC-MSVC: #define __SHRT_WIDTH__ 16
1018 // ARM64EC-MSVC: #define __SIG_ATOMIC_MAX__ 2147483647
1019 // ARM64EC-MSVC: #define __SIG_ATOMIC_WIDTH__ 32
1020 // ARM64EC-MSVC: #define __SIZEOF_DOUBLE__ 8
1021 // ARM64EC-MSVC: #define __SIZEOF_FLOAT__ 4
1022 // ARM64EC-MSVC: #define __SIZEOF_INT128__ 16
1023 // ARM64EC-MSVC: #define __SIZEOF_INT__ 4
1024 // ARM64EC-MSVC: #define __SIZEOF_LONG_DOUBLE__ 8
1025 // ARM64EC-MSVC: #define __SIZEOF_LONG_LONG__ 8
1026 // ARM64EC-MSVC: #define __SIZEOF_LONG__ 4
1027 // ARM64EC-MSVC: #define __SIZEOF_POINTER__ 8
1028 // ARM64EC-MSVC: #define __SIZEOF_PTRDIFF_T__ 8
1029 // ARM64EC-MSVC: #define __SIZEOF_SHORT__ 2
1030 // ARM64EC-MSVC: #define __SIZEOF_SIZE_T__ 8
1031 // ARM64EC-MSVC: #define __SIZEOF_WCHAR_T__ 2
1032 // ARM64EC-MSVC: #define __SIZEOF_WINT_T__ 2
1033 // ARM64EC-MSVC: #define __SIZE_FMTX__ "llX"
1034 // ARM64EC-MSVC: #define __SIZE_FMTo__ "llo"
1035 // ARM64EC-MSVC: #define __SIZE_FMTu__ "llu"
1036 // ARM64EC-MSVC: #define __SIZE_FMTx__ "llx"
1037 // ARM64EC-MSVC: #define __SIZE_MAX__ 18446744073709551615ULL
1038 // ARM64EC-MSVC: #define __SIZE_TYPE__ long long unsigned int
1039 // ARM64EC-MSVC: #define __SIZE_WIDTH__ 64
1040 // ARM64EC-MSVC: #define __STDC_HOSTED__ 0
1041 // ARM64EC-MSVC: #define __STDC_NO_THREADS__ 1
1042 // ARM64EC-MSVC: #define __STDC_UTF_16__ 1
1043 // ARM64EC-MSVC: #define __STDC_UTF_32__ 1
1044 // ARM64EC-MSVC: #define __STDC_VERSION__ 201710L
1045 // ARM64EC-MSVC: #define __STDC__ 1
1046 // ARM64EC-MSVC: #define __UINT16_C(c) c
1047 // ARM64EC-MSVC: #define __UINT16_C_SUFFIX__
1048 // ARM64EC-MSVC: #define __UINT16_FMTX__ "hX"
1049 // ARM64EC-MSVC: #define __UINT16_FMTo__ "ho"
1050 // ARM64EC-MSVC: #define __UINT16_FMTu__ "hu"
1051 // ARM64EC-MSVC: #define __UINT16_FMTx__ "hx"
1052 // ARM64EC-MSVC: #define __UINT16_MAX__ 65535
1053 // ARM64EC-MSVC: #define __UINT16_TYPE__ unsigned short
1054 // ARM64EC-MSVC: #define __UINT32_C(c) c##U
1055 // ARM64EC-MSVC: #define __UINT32_C_SUFFIX__ U
1056 // ARM64EC-MSVC: #define __UINT32_FMTX__ "X"
1057 // ARM64EC-MSVC: #define __UINT32_FMTo__ "o"
1058 // ARM64EC-MSVC: #define __UINT32_FMTu__ "u"
1059 // ARM64EC-MSVC: #define __UINT32_FMTx__ "x"
1060 // ARM64EC-MSVC: #define __UINT32_MAX__ 4294967295U
1061 // ARM64EC-MSVC: #define __UINT32_TYPE__ unsigned int
1062 // ARM64EC-MSVC: #define __UINT64_C(c) c##ULL
1063 // ARM64EC-MSVC: #define __UINT64_C_SUFFIX__ ULL
1064 // ARM64EC-MSVC: #define __UINT64_FMTX__ "llX"
1065 // ARM64EC-MSVC: #define __UINT64_FMTo__ "llo"
1066 // ARM64EC-MSVC: #define __UINT64_FMTu__ "llu"
1067 // ARM64EC-MSVC: #define __UINT64_FMTx__ "llx"
1068 // ARM64EC-MSVC: #define __UINT64_MAX__ 18446744073709551615ULL
1069 // ARM64EC-MSVC: #define __UINT64_TYPE__ long long unsigned int
1070 // ARM64EC-MSVC: #define __UINT8_C(c) c
1071 // ARM64EC-MSVC: #define __UINT8_C_SUFFIX__
1072 // ARM64EC-MSVC: #define __UINT8_FMTX__ "hhX"
1073 // ARM64EC-MSVC: #define __UINT8_FMTo__ "hho"
1074 // ARM64EC-MSVC: #define __UINT8_FMTu__ "hhu"
1075 // ARM64EC-MSVC: #define __UINT8_FMTx__ "hhx"
1076 // ARM64EC-MSVC: #define __UINT8_MAX__ 255
1077 // ARM64EC-MSVC: #define __UINT8_TYPE__ unsigned char
1078 // ARM64EC-MSVC: #define __UINTMAX_C(c) c##ULL
1079 // ARM64EC-MSVC: #define __UINTMAX_C_SUFFIX__ ULL
1080 // ARM64EC-MSVC: #define __UINTMAX_FMTX__ "llX"
1081 // ARM64EC-MSVC: #define __UINTMAX_FMTo__ "llo"
1082 // ARM64EC-MSVC: #define __UINTMAX_FMTu__ "llu"
1083 // ARM64EC-MSVC: #define __UINTMAX_FMTx__ "llx"
1084 // ARM64EC-MSVC: #define __UINTMAX_MAX__ 18446744073709551615ULL
1085 // ARM64EC-MSVC: #define __UINTMAX_TYPE__ long long unsigned int
1086 // ARM64EC-MSVC: #define __UINTMAX_WIDTH__ 64
1087 // ARM64EC-MSVC: #define __UINTPTR_FMTX__ "llX"
1088 // ARM64EC-MSVC: #define __UINTPTR_FMTo__ "llo"
1089 // ARM64EC-MSVC: #define __UINTPTR_FMTu__ "llu"
1090 // ARM64EC-MSVC: #define __UINTPTR_FMTx__ "llx"
1091 // ARM64EC-MSVC: #define __UINTPTR_MAX__ 18446744073709551615ULL
1092 // ARM64EC-MSVC: #define __UINTPTR_TYPE__ long long unsigned int
1093 // ARM64EC-MSVC: #define __UINTPTR_WIDTH__ 64
1094 // ARM64EC-MSVC: #define __UINT_FAST16_FMTX__ "hX"
1095 // ARM64EC-MSVC: #define __UINT_FAST16_FMTo__ "ho"
1096 // ARM64EC-MSVC: #define __UINT_FAST16_FMTu__ "hu"
1097 // ARM64EC-MSVC: #define __UINT_FAST16_FMTx__ "hx"
1098 // ARM64EC-MSVC: #define __UINT_FAST16_MAX__ 65535
1099 // ARM64EC-MSVC: #define __UINT_FAST16_TYPE__ unsigned short
1100 // ARM64EC-MSVC: #define __UINT_FAST32_FMTX__ "X"
1101 // ARM64EC-MSVC: #define __UINT_FAST32_FMTo__ "o"
1102 // ARM64EC-MSVC: #define __UINT_FAST32_FMTu__ "u"
1103 // ARM64EC-MSVC: #define __UINT_FAST32_FMTx__ "x"
1104 // ARM64EC-MSVC: #define __UINT_FAST32_MAX__ 4294967295U
1105 // ARM64EC-MSVC: #define __UINT_FAST32_TYPE__ unsigned int
1106 // ARM64EC-MSVC: #define __UINT_FAST64_FMTX__ "llX"
1107 // ARM64EC-MSVC: #define __UINT_FAST64_FMTo__ "llo"
1108 // ARM64EC-MSVC: #define __UINT_FAST64_FMTu__ "llu"
1109 // ARM64EC-MSVC: #define __UINT_FAST64_FMTx__ "llx"
1110 // ARM64EC-MSVC: #define __UINT_FAST64_MAX__ 18446744073709551615ULL
1111 // ARM64EC-MSVC: #define __UINT_FAST64_TYPE__ long long unsigned int
1112 // ARM64EC-MSVC: #define __UINT_FAST8_FMTX__ "hhX"
1113 // ARM64EC-MSVC: #define __UINT_FAST8_FMTo__ "hho"
1114 // ARM64EC-MSVC: #define __UINT_FAST8_FMTu__ "hhu"
1115 // ARM64EC-MSVC: #define __UINT_FAST8_FMTx__ "hhx"
1116 // ARM64EC-MSVC: #define __UINT_FAST8_MAX__ 255
1117 // ARM64EC-MSVC: #define __UINT_FAST8_TYPE__ unsigned char
1118 // ARM64EC-MSVC: #define __UINT_LEAST16_FMTX__ "hX"
1119 // ARM64EC-MSVC: #define __UINT_LEAST16_FMTo__ "ho"
1120 // ARM64EC-MSVC: #define __UINT_LEAST16_FMTu__ "hu"
1121 // ARM64EC-MSVC: #define __UINT_LEAST16_FMTx__ "hx"
1122 // ARM64EC-MSVC: #define __UINT_LEAST16_MAX__ 65535
1123 // ARM64EC-MSVC: #define __UINT_LEAST16_TYPE__ unsigned short
1124 // ARM64EC-MSVC: #define __UINT_LEAST32_FMTX__ "X"
1125 // ARM64EC-MSVC: #define __UINT_LEAST32_FMTo__ "o"
1126 // ARM64EC-MSVC: #define __UINT_LEAST32_FMTu__ "u"
1127 // ARM64EC-MSVC: #define __UINT_LEAST32_FMTx__ "x"
1128 // ARM64EC-MSVC: #define __UINT_LEAST32_MAX__ 4294967295U
1129 // ARM64EC-MSVC: #define __UINT_LEAST32_TYPE__ unsigned int
1130 // ARM64EC-MSVC: #define __UINT_LEAST64_FMTX__ "llX"
1131 // ARM64EC-MSVC: #define __UINT_LEAST64_FMTo__ "llo"
1132 // ARM64EC-MSVC: #define __UINT_LEAST64_FMTu__ "llu"
1133 // ARM64EC-MSVC: #define __UINT_LEAST64_FMTx__ "llx"
1134 // ARM64EC-MSVC: #define __UINT_LEAST64_MAX__ 18446744073709551615ULL
1135 // ARM64EC-MSVC: #define __UINT_LEAST64_TYPE__ long long unsigned int
1136 // ARM64EC-MSVC: #define __UINT_LEAST8_FMTX__ "hhX"
1137 // ARM64EC-MSVC: #define __UINT_LEAST8_FMTo__ "hho"
1138 // ARM64EC-MSVC: #define __UINT_LEAST8_FMTu__ "hhu"
1139 // ARM64EC-MSVC: #define __UINT_LEAST8_FMTx__ "hhx"
1140 // ARM64EC-MSVC: #define __UINT_LEAST8_MAX__ 255
1141 // ARM64EC-MSVC: #define __UINT_LEAST8_TYPE__ unsigned char
1142 // ARM64EC-MSVC: #define __USER_LABEL_PREFIX__
1143 // ARM64EC-MSVC: #define __WCHAR_MAX__ 65535
1144 // ARM64EC-MSVC: #define __WCHAR_TYPE__ unsigned short
1145 // ARM64EC-MSVC: #define __WCHAR_UNSIGNED__ 1
1146 // ARM64EC-MSVC: #define __WCHAR_WIDTH__ 16
1147 // ARM64EC-MSVC: #define __WINT_MAX__ 65535
1148 // ARM64EC-MSVC: #define __WINT_TYPE__ unsigned short
1149 // ARM64EC-MSVC: #define __WINT_UNSIGNED__ 1
1150 // ARM64EC-MSVC: #define __WINT_WIDTH__ 16
1151 // ARM64EC-MSVC: #define __amd64 1
1152 // ARM64EC-MSVC: #define __amd64__ 1
1153 // ARM64EC-MSVC: #define __arm64ec__ 1
1154 // ARM64EC-MSVC: #define __x86_64 1
1155 // ARM64EC-MSVC: #define __x86_64__ 1
1156 
1157 // RUN: %clang_cc1 -triple=aarch64 -E -dM -mcmodel=small -xc /dev/null | FileCheck --check-prefix=CMODEL_SMALL %s
1158 // RUN: %clang_cc1 -triple=aarch64 -E -dM -mcmodel=tiny -xc /dev/null | FileCheck --check-prefix=CMODEL_TINY %s
1159 // RUN: %clang_cc1 -triple=aarch64 -E -dM -mcmodel=large -xc /dev/null | FileCheck --check-prefix=CMODEL_LARGE %s
1160 
1161 // CMODEL_TINY: #define __AARCH64_CMODEL_TINY__ 1
1162 // CMODEL_SMALL: #define __AARCH64_CMODEL_SMALL__ 1
1163 // CMODEL_LARGE: #define __AARCH64_CMODEL_LARGE__ 1
1164