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