blob: a13ac874b87a65e297b757da4140012eac6ba56a [file] [log] [blame]
Yi Kong83283012023-12-13 12:57:00 +09001/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* Code to translate different attribute spellings into internal identifiers *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* *|
7\*===----------------------------------------------------------------------===*/
8
9 switch (getParsedKind()) {
10 case IgnoredAttribute:
11 case UnknownAttribute:
12 case NoSemaHandlerAttribute:
13 llvm_unreachable("Ignored/unknown shouldn't get here");
14 case AT_AArch64SVEPcs: {
15 if (Name == "aarch64_sve_pcs" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
16 return 0;
17 if (Name == "aarch64_sve_pcs" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
18 return 1;
19 if (Name == "aarch64_sve_pcs" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
20 return 2;
21 break;
22 }
23 case AT_AArch64VectorPcs: {
24 if (Name == "aarch64_vector_pcs" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
25 return 0;
26 if (Name == "aarch64_vector_pcs" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
27 return 1;
28 if (Name == "aarch64_vector_pcs" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
29 return 2;
30 break;
31 }
32 case AT_AMDGPUFlatWorkGroupSize: {
33 if (Name == "amdgpu_flat_work_group_size" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
34 return 0;
35 if (Name == "amdgpu_flat_work_group_size" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
36 return 1;
37 break;
38 }
39 case AT_AMDGPUKernelCall: {
40 if (Name == "amdgpu_kernel" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
41 return 0;
42 if (Name == "amdgpu_kernel" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
43 return 1;
44 if (Name == "amdgpu_kernel" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
45 return 2;
46 break;
47 }
48 case AT_AMDGPUNumSGPR: {
49 if (Name == "amdgpu_num_sgpr" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
50 return 0;
51 if (Name == "amdgpu_num_sgpr" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
52 return 1;
53 break;
54 }
55 case AT_AMDGPUNumVGPR: {
56 if (Name == "amdgpu_num_vgpr" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
57 return 0;
58 if (Name == "amdgpu_num_vgpr" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
59 return 1;
60 break;
61 }
62 case AT_AMDGPUWavesPerEU: {
63 if (Name == "amdgpu_waves_per_eu" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
64 return 0;
65 if (Name == "amdgpu_waves_per_eu" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
66 return 1;
67 break;
68 }
69 case AT_Interrupt: {
70 if (Name == "interrupt" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
71 return 0;
72 if (Name == "interrupt" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
73 return 1;
74 if (Name == "interrupt" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
75 return 2;
76 break;
77 }
78 case AT_AVRSignal: {
79 if (Name == "signal" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
80 return 0;
81 if (Name == "signal" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
82 return 1;
83 if (Name == "signal" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
84 return 2;
85 break;
86 }
87 case AT_AbiTag: {
88 if (Name == "abi_tag" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
89 return 0;
90 if (Name == "abi_tag" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
91 return 1;
92 break;
93 }
94 case AT_AcquireCapability: {
95 if (Name == "acquire_capability" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
96 return 0;
97 if (Name == "acquire_capability" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
98 return 1;
99 if (Name == "acquire_shared_capability" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
100 return 2;
101 if (Name == "acquire_shared_capability" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
102 return 3;
103 if (Name == "exclusive_lock_function" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
104 return 4;
105 if (Name == "shared_lock_function" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
106 return 5;
107 break;
108 }
109 case AT_AcquireHandle: {
110 if (Name == "acquire_handle" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
111 return 0;
112 if (Name == "acquire_handle" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
113 return 1;
114 if (Name == "acquire_handle" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
115 return 2;
116 break;
117 }
118 case AT_AcquiredAfter: {
119 if (Name == "acquired_after" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
120 return 0;
121 break;
122 }
123 case AT_AcquiredBefore: {
124 if (Name == "acquired_before" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
125 return 0;
126 break;
127 }
128 case AT_AddressSpace: {
129 if (Name == "address_space" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
130 return 0;
131 if (Name == "address_space" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
132 return 1;
133 if (Name == "address_space" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
134 return 2;
135 break;
136 }
137 case AT_Alias: {
138 if (Name == "alias" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
139 return 0;
140 if (Name == "alias" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
141 return 1;
142 if (Name == "alias" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
143 return 2;
144 break;
145 }
146 case AT_AlignValue: {
147 if (Name == "align_value" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
148 return 0;
149 break;
150 }
151 case AT_Aligned: {
152 if (Name == "aligned" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
153 return 0;
154 if (Name == "aligned" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
155 return 1;
156 if (Name == "aligned" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
157 return 2;
158 if (Name == "align" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
159 return 3;
160 if (Name == "alignas" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
161 return 4;
162 if (Name == "_Alignas" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
163 return 5;
164 break;
165 }
166 case AT_AllocAlign: {
167 if (Name == "alloc_align" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
168 return 0;
169 if (Name == "alloc_align" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
170 return 1;
171 if (Name == "alloc_align" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
172 return 2;
173 break;
174 }
175 case AT_AllocSize: {
176 if (Name == "alloc_size" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
177 return 0;
178 if (Name == "alloc_size" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
179 return 1;
180 if (Name == "alloc_size" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
181 return 2;
182 break;
183 }
184 case AT_AlwaysDestroy: {
185 if (Name == "always_destroy" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
186 return 0;
187 if (Name == "always_destroy" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
188 return 1;
189 break;
190 }
191 case AT_AlwaysInline: {
192 if (Name == "always_inline" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
193 return 0;
194 if (Name == "always_inline" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
195 return 1;
196 if (Name == "always_inline" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
197 return 2;
198 if (Name == "always_inline" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
199 return 3;
200 if (Name == "always_inline" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
201 return 4;
202 if (Name == "__forceinline" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
203 return 5;
204 break;
205 }
206 case AT_AnalyzerNoReturn: {
207 if (Name == "analyzer_noreturn" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
208 return 0;
209 break;
210 }
211 case AT_Annotate: {
212 if (Name == "annotate" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
213 return 0;
214 if (Name == "annotate" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
215 return 1;
216 if (Name == "annotate" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
217 return 2;
218 break;
219 }
220 case AT_AnnotateType: {
221 if (Name == "annotate_type" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
222 return 0;
223 if (Name == "annotate_type" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
224 return 1;
225 break;
226 }
227 case AT_AnyX86NoCallerSavedRegisters: {
228 if (Name == "no_caller_saved_registers" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
229 return 0;
230 if (Name == "no_caller_saved_registers" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
231 return 1;
232 if (Name == "no_caller_saved_registers" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
233 return 2;
234 break;
235 }
236 case AT_AnyX86NoCfCheck: {
237 if (Name == "nocf_check" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
238 return 0;
239 if (Name == "nocf_check" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
240 return 1;
241 if (Name == "nocf_check" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
242 return 2;
243 break;
244 }
245 case AT_ArcWeakrefUnavailable: {
246 if (Name == "objc_arc_weak_reference_unavailable" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
247 return 0;
248 if (Name == "objc_arc_weak_reference_unavailable" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
249 return 1;
250 if (Name == "objc_arc_weak_reference_unavailable" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
251 return 2;
252 break;
253 }
254 case AT_ArgumentWithTypeTag: {
255 if (Name == "argument_with_type_tag" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
256 return 0;
257 if (Name == "argument_with_type_tag" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
258 return 1;
259 if (Name == "argument_with_type_tag" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
260 return 2;
261 if (Name == "pointer_with_type_tag" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
262 return 3;
263 if (Name == "pointer_with_type_tag" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
264 return 4;
265 if (Name == "pointer_with_type_tag" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
266 return 5;
267 break;
268 }
269 case AT_ArmBuiltinAlias: {
270 if (Name == "__clang_arm_builtin_alias" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
271 return 0;
272 if (Name == "__clang_arm_builtin_alias" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
273 return 1;
274 if (Name == "__clang_arm_builtin_alias" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
275 return 2;
276 break;
277 }
278 case AT_ArmLocallyStreaming: {
279 if (Name == "__arm_locally_streaming" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
280 return 0;
281 break;
282 }
283 case AT_ArmMveStrictPolymorphism: {
284 if (Name == "__clang_arm_mve_strict_polymorphism" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
285 return 0;
286 if (Name == "__clang_arm_mve_strict_polymorphism" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
287 return 1;
288 if (Name == "__clang_arm_mve_strict_polymorphism" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
289 return 2;
290 break;
291 }
292 case AT_ArmNewZA: {
293 if (Name == "__arm_new_za" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
294 return 0;
295 break;
296 }
297 case AT_ArmPreservesZA: {
298 if (Name == "__arm_preserves_za" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
299 return 0;
300 break;
301 }
302 case AT_ArmSharedZA: {
303 if (Name == "__arm_shared_za" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
304 return 0;
305 break;
306 }
307 case AT_ArmStreaming: {
308 if (Name == "__arm_streaming" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
309 return 0;
310 break;
311 }
312 case AT_ArmStreamingCompatible: {
313 if (Name == "__arm_streaming_compatible" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
314 return 0;
315 break;
316 }
317 case AT_ArmSveVectorBits: {
318 if (Name == "arm_sve_vector_bits" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
319 return 0;
320 break;
321 }
322 case AT_Artificial: {
323 if (Name == "artificial" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
324 return 0;
325 if (Name == "artificial" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
326 return 1;
327 if (Name == "artificial" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
328 return 2;
329 break;
330 }
331 case AT_AssertCapability: {
332 if (Name == "assert_capability" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
333 return 0;
334 if (Name == "assert_capability" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
335 return 1;
336 if (Name == "assert_shared_capability" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
337 return 2;
338 if (Name == "assert_shared_capability" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
339 return 3;
340 break;
341 }
342 case AT_AssertExclusiveLock: {
343 if (Name == "assert_exclusive_lock" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
344 return 0;
345 break;
346 }
347 case AT_AssertSharedLock: {
348 if (Name == "assert_shared_lock" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
349 return 0;
350 break;
351 }
352 case AT_AssumeAligned: {
353 if (Name == "assume_aligned" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
354 return 0;
355 if (Name == "assume_aligned" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
356 return 1;
357 if (Name == "assume_aligned" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
358 return 2;
359 break;
360 }
361 case AT_Assumption: {
362 if (Name == "assume" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
363 return 0;
364 if (Name == "assume" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
365 return 1;
366 if (Name == "assume" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
367 return 2;
368 break;
369 }
370 case AT_Availability: {
371 if (Name == "availability" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
372 return 0;
373 if (Name == "availability" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
374 return 1;
375 if (Name == "availability" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
376 return 2;
377 break;
378 }
379 case AT_AvailableOnlyInDefaultEvalMethod: {
380 if (Name == "available_only_in_default_eval_method" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
381 return 0;
382 if (Name == "available_only_in_default_eval_method" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
383 return 1;
384 if (Name == "available_only_in_default_eval_method" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
385 return 2;
386 break;
387 }
388 case AT_BPFPreserveAccessIndex: {
389 if (Name == "preserve_access_index" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
390 return 0;
391 if (Name == "preserve_access_index" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
392 return 1;
393 if (Name == "preserve_access_index" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
394 return 2;
395 break;
396 }
397 case AT_BTFDeclTag: {
398 if (Name == "btf_decl_tag" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
399 return 0;
400 if (Name == "btf_decl_tag" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
401 return 1;
402 if (Name == "btf_decl_tag" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
403 return 2;
404 break;
405 }
406 case AT_BTFTypeTag: {
407 if (Name == "btf_type_tag" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
408 return 0;
409 if (Name == "btf_type_tag" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
410 return 1;
411 if (Name == "btf_type_tag" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
412 return 2;
413 break;
414 }
415 case AT_Blocks: {
416 if (Name == "blocks" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
417 return 0;
418 if (Name == "blocks" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
419 return 1;
420 if (Name == "blocks" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
421 return 2;
422 break;
423 }
424 case AT_BuiltinAlias: {
425 if (Name == "builtin_alias" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
426 return 0;
427 if (Name == "builtin_alias" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
428 return 1;
429 if (Name == "clang_builtin_alias" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
430 return 2;
431 break;
432 }
433 case AT_CDecl: {
434 if (Name == "cdecl" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
435 return 0;
436 if (Name == "cdecl" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
437 return 1;
438 if (Name == "cdecl" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
439 return 2;
440 if (Name == "__cdecl" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
441 return 3;
442 if (Name == "_cdecl" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
443 return 4;
444 break;
445 }
446 case AT_CFAuditedTransfer: {
447 if (Name == "cf_audited_transfer" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
448 return 0;
449 if (Name == "cf_audited_transfer" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
450 return 1;
451 if (Name == "cf_audited_transfer" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
452 return 2;
453 break;
454 }
455 case AT_CFConsumed: {
456 if (Name == "cf_consumed" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
457 return 0;
458 if (Name == "cf_consumed" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
459 return 1;
460 if (Name == "cf_consumed" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
461 return 2;
462 break;
463 }
464 case AT_CFGuard: {
465 if (Name == "guard" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
466 return 0;
467 if (Name == "guard" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
468 return 1;
469 if (Name == "guard" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
470 return 2;
471 if (Name == "guard" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
472 return 3;
473 break;
474 }
475 case AT_CFICanonicalJumpTable: {
476 if (Name == "cfi_canonical_jump_table" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
477 return 0;
478 if (Name == "cfi_canonical_jump_table" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
479 return 1;
480 if (Name == "cfi_canonical_jump_table" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
481 return 2;
482 break;
483 }
484 case AT_CFReturnsNotRetained: {
485 if (Name == "cf_returns_not_retained" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
486 return 0;
487 if (Name == "cf_returns_not_retained" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
488 return 1;
489 if (Name == "cf_returns_not_retained" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
490 return 2;
491 break;
492 }
493 case AT_CFReturnsRetained: {
494 if (Name == "cf_returns_retained" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
495 return 0;
496 if (Name == "cf_returns_retained" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
497 return 1;
498 if (Name == "cf_returns_retained" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
499 return 2;
500 break;
501 }
502 case AT_CFUnknownTransfer: {
503 if (Name == "cf_unknown_transfer" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
504 return 0;
505 if (Name == "cf_unknown_transfer" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
506 return 1;
507 if (Name == "cf_unknown_transfer" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
508 return 2;
509 break;
510 }
511 case AT_CPUDispatch: {
512 if (Name == "cpu_dispatch" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
513 return 0;
514 if (Name == "cpu_dispatch" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
515 return 1;
516 if (Name == "cpu_dispatch" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
517 return 2;
518 if (Name == "cpu_dispatch" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
519 return 3;
520 break;
521 }
522 case AT_CPUSpecific: {
523 if (Name == "cpu_specific" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
524 return 0;
525 if (Name == "cpu_specific" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
526 return 1;
527 if (Name == "cpu_specific" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
528 return 2;
529 if (Name == "cpu_specific" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
530 return 3;
531 break;
532 }
533 case AT_CUDAConstant: {
534 if (Name == "constant" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
535 return 0;
536 if (Name == "__constant__" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
537 return 1;
538 break;
539 }
540 case AT_CUDADevice: {
541 if (Name == "device" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
542 return 0;
543 if (Name == "__device__" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
544 return 1;
545 break;
546 }
547 case AT_CUDADeviceBuiltinSurfaceType: {
548 if (Name == "device_builtin_surface_type" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
549 return 0;
550 if (Name == "__device_builtin_surface_type__" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
551 return 1;
552 break;
553 }
554 case AT_CUDADeviceBuiltinTextureType: {
555 if (Name == "device_builtin_texture_type" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
556 return 0;
557 if (Name == "__device_builtin_texture_type__" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
558 return 1;
559 break;
560 }
561 case AT_CUDAGlobal: {
562 if (Name == "global" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
563 return 0;
564 if (Name == "__global__" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
565 return 1;
566 break;
567 }
568 case AT_CUDAHost: {
569 if (Name == "host" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
570 return 0;
571 if (Name == "__host__" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
572 return 1;
573 break;
574 }
575 case AT_CUDAInvalidTarget: {
576 break;
577 }
578 case AT_CUDALaunchBounds: {
579 if (Name == "launch_bounds" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
580 return 0;
581 if (Name == "__launch_bounds__" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
582 return 1;
583 break;
584 }
585 case AT_CUDAShared: {
586 if (Name == "shared" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
587 return 0;
588 if (Name == "__shared__" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
589 return 1;
590 break;
591 }
592 case AT_CXX11NoReturn: {
593 if (Name == "noreturn" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "")
594 return 0;
595 if (Name == "noreturn" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "")
596 return 1;
597 if (Name == "_Noreturn" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "")
598 return 2;
599 break;
600 }
601 case AT_CallableWhen: {
602 if (Name == "callable_when" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
603 return 0;
604 if (Name == "callable_when" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
605 return 1;
606 break;
607 }
608 case AT_Callback: {
609 if (Name == "callback" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
610 return 0;
611 if (Name == "callback" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
612 return 1;
613 if (Name == "callback" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
614 return 2;
615 break;
616 }
617 case AT_CalledOnce: {
618 if (Name == "called_once" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
619 return 0;
620 if (Name == "called_once" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
621 return 1;
622 if (Name == "called_once" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
623 return 2;
624 break;
625 }
626 case AT_Capability: {
627 if (Name == "capability" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
628 return 0;
629 if (Name == "capability" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
630 return 1;
631 if (Name == "shared_capability" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
632 return 2;
633 if (Name == "shared_capability" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
634 return 3;
635 break;
636 }
637 case AT_CarriesDependency: {
638 if (Name == "carries_dependency" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
639 return 0;
640 if (Name == "carries_dependency" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "")
641 return 1;
642 break;
643 }
644 case AT_Cleanup: {
645 if (Name == "cleanup" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
646 return 0;
647 if (Name == "cleanup" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
648 return 1;
649 if (Name == "cleanup" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
650 return 2;
651 break;
652 }
653 case AT_CmseNSCall: {
654 if (Name == "cmse_nonsecure_call" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
655 return 0;
656 break;
657 }
658 case AT_CmseNSEntry: {
659 if (Name == "cmse_nonsecure_entry" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
660 return 0;
661 break;
662 }
663 case AT_CodeSeg: {
664 if (Name == "code_seg" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
665 return 0;
666 break;
667 }
668 case AT_Cold: {
669 if (Name == "cold" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
670 return 0;
671 if (Name == "cold" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
672 return 1;
673 if (Name == "cold" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
674 return 2;
675 break;
676 }
677 case AT_Common: {
678 if (Name == "common" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
679 return 0;
680 if (Name == "common" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
681 return 1;
682 if (Name == "common" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
683 return 2;
684 break;
685 }
686 case AT_Const: {
687 if (Name == "const" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
688 return 0;
689 if (Name == "const" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
690 return 1;
691 if (Name == "const" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
692 return 2;
693 if (Name == "__const" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
694 return 3;
695 if (Name == "__const" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
696 return 4;
697 if (Name == "__const" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
698 return 5;
699 break;
700 }
701 case AT_ConstInit: {
702 if (Name == "constinit" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
703 return 0;
704 if (Name == "require_constant_initialization" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
705 return 1;
706 if (Name == "require_constant_initialization" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
707 return 2;
708 break;
709 }
710 case AT_Constructor: {
711 if (Name == "constructor" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
712 return 0;
713 if (Name == "constructor" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
714 return 1;
715 if (Name == "constructor" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
716 return 2;
717 break;
718 }
719 case AT_Consumable: {
720 if (Name == "consumable" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
721 return 0;
722 if (Name == "consumable" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
723 return 1;
724 break;
725 }
726 case AT_ConsumableAutoCast: {
727 if (Name == "consumable_auto_cast_state" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
728 return 0;
729 if (Name == "consumable_auto_cast_state" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
730 return 1;
731 break;
732 }
733 case AT_ConsumableSetOnRead: {
734 if (Name == "consumable_set_state_on_read" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
735 return 0;
736 if (Name == "consumable_set_state_on_read" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
737 return 1;
738 break;
739 }
740 case AT_Convergent: {
741 if (Name == "convergent" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
742 return 0;
743 if (Name == "convergent" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
744 return 1;
745 if (Name == "convergent" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
746 return 2;
747 break;
748 }
749 case AT_DLLExport: {
750 if (Name == "dllexport" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
751 return 0;
752 if (Name == "dllexport" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
753 return 1;
754 if (Name == "dllexport" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
755 return 2;
756 if (Name == "dllexport" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
757 return 3;
758 break;
759 }
760 case AT_DLLExportStaticLocal: {
761 break;
762 }
763 case AT_DLLImport: {
764 if (Name == "dllimport" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
765 return 0;
766 if (Name == "dllimport" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
767 return 1;
768 if (Name == "dllimport" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
769 return 2;
770 if (Name == "dllimport" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
771 return 3;
772 break;
773 }
774 case AT_DLLImportStaticLocal: {
775 break;
776 }
777 case AT_Deprecated: {
778 if (Name == "deprecated" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
779 return 0;
780 if (Name == "deprecated" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
781 return 1;
782 if (Name == "deprecated" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
783 return 2;
784 if (Name == "deprecated" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
785 return 3;
786 if (Name == "deprecated" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "")
787 return 4;
788 if (Name == "deprecated" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "")
789 return 5;
790 break;
791 }
792 case AT_Destructor: {
793 if (Name == "destructor" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
794 return 0;
795 if (Name == "destructor" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
796 return 1;
797 if (Name == "destructor" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
798 return 2;
799 break;
800 }
801 case AT_DiagnoseAsBuiltin: {
802 if (Name == "diagnose_as_builtin" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
803 return 0;
804 if (Name == "diagnose_as_builtin" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
805 return 1;
806 if (Name == "diagnose_as_builtin" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
807 return 2;
808 break;
809 }
810 case AT_DiagnoseIf: {
811 if (Name == "diagnose_if" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
812 return 0;
813 break;
814 }
815 case AT_DisableSanitizerInstrumentation: {
816 if (Name == "disable_sanitizer_instrumentation" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
817 return 0;
818 if (Name == "disable_sanitizer_instrumentation" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
819 return 1;
820 if (Name == "disable_sanitizer_instrumentation" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
821 return 2;
822 break;
823 }
824 case AT_DisableTailCalls: {
825 if (Name == "disable_tail_calls" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
826 return 0;
827 if (Name == "disable_tail_calls" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
828 return 1;
829 if (Name == "disable_tail_calls" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
830 return 2;
831 break;
832 }
833 case AT_EmptyBases: {
834 if (Name == "empty_bases" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
835 return 0;
836 break;
837 }
838 case AT_EnableIf: {
839 if (Name == "enable_if" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
840 return 0;
841 break;
842 }
843 case AT_EnforceTCB: {
844 if (Name == "enforce_tcb" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
845 return 0;
846 if (Name == "enforce_tcb" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
847 return 1;
848 if (Name == "enforce_tcb" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
849 return 2;
850 break;
851 }
852 case AT_EnforceTCBLeaf: {
853 if (Name == "enforce_tcb_leaf" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
854 return 0;
855 if (Name == "enforce_tcb_leaf" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
856 return 1;
857 if (Name == "enforce_tcb_leaf" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
858 return 2;
859 break;
860 }
861 case AT_EnumExtensibility: {
862 if (Name == "enum_extensibility" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
863 return 0;
864 if (Name == "enum_extensibility" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
865 return 1;
866 if (Name == "enum_extensibility" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
867 return 2;
868 break;
869 }
870 case AT_Error: {
871 if (Name == "error" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
872 return 0;
873 if (Name == "error" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
874 return 1;
875 if (Name == "error" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
876 return 2;
877 if (Name == "warning" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
878 return 3;
879 if (Name == "warning" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
880 return 4;
881 if (Name == "warning" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
882 return 5;
883 break;
884 }
885 case AT_ExcludeFromExplicitInstantiation: {
886 if (Name == "exclude_from_explicit_instantiation" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
887 return 0;
888 if (Name == "exclude_from_explicit_instantiation" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
889 return 1;
890 if (Name == "exclude_from_explicit_instantiation" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
891 return 2;
892 break;
893 }
894 case AT_ExclusiveTrylockFunction: {
895 if (Name == "exclusive_trylock_function" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
896 return 0;
897 break;
898 }
899 case AT_ExtVectorType: {
900 if (Name == "ext_vector_type" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
901 return 0;
902 break;
903 }
904 case AT_ExternalSourceSymbol: {
905 if (Name == "external_source_symbol" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
906 return 0;
907 if (Name == "external_source_symbol" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
908 return 1;
909 if (Name == "external_source_symbol" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
910 return 2;
911 break;
912 }
913 case AT_FallThrough: {
914 if (Name == "fallthrough" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "")
915 return 0;
916 if (Name == "fallthrough" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "")
917 return 1;
918 if (Name == "fallthrough" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
919 return 2;
920 if (Name == "fallthrough" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
921 return 3;
922 if (Name == "fallthrough" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
923 return 4;
924 if (Name == "fallthrough" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
925 return 5;
926 break;
927 }
928 case AT_FastCall: {
929 if (Name == "fastcall" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
930 return 0;
931 if (Name == "fastcall" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
932 return 1;
933 if (Name == "fastcall" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
934 return 2;
935 if (Name == "__fastcall" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
936 return 3;
937 if (Name == "_fastcall" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
938 return 4;
939 break;
940 }
941 case AT_FlagEnum: {
942 if (Name == "flag_enum" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
943 return 0;
944 if (Name == "flag_enum" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
945 return 1;
946 if (Name == "flag_enum" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
947 return 2;
948 break;
949 }
950 case AT_Flatten: {
951 if (Name == "flatten" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
952 return 0;
953 if (Name == "flatten" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
954 return 1;
955 if (Name == "flatten" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
956 return 2;
957 break;
958 }
959 case AT_Format: {
960 if (Name == "format" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
961 return 0;
962 if (Name == "format" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
963 return 1;
964 if (Name == "format" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
965 return 2;
966 break;
967 }
968 case AT_FormatArg: {
969 if (Name == "format_arg" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
970 return 0;
971 if (Name == "format_arg" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
972 return 1;
973 if (Name == "format_arg" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
974 return 2;
975 break;
976 }
977 case AT_FunctionReturnThunks: {
978 if (Name == "function_return" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
979 return 0;
980 if (Name == "function_return" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
981 return 1;
982 if (Name == "function_return" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
983 return 2;
984 break;
985 }
986 case AT_GNUInline: {
987 if (Name == "gnu_inline" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
988 return 0;
989 if (Name == "gnu_inline" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
990 return 1;
991 if (Name == "gnu_inline" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
992 return 2;
993 break;
994 }
995 case AT_GuardedBy: {
996 if (Name == "guarded_by" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
997 return 0;
998 break;
999 }
1000 case AT_GuardedVar: {
1001 if (Name == "guarded_var" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1002 return 0;
1003 if (Name == "guarded_var" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1004 return 1;
1005 break;
1006 }
1007 case AT_HIPManaged: {
1008 if (Name == "managed" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1009 return 0;
1010 if (Name == "__managed__" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
1011 return 1;
1012 break;
1013 }
1014 case AT_HLSLGroupSharedAddressSpace: {
1015 if (Name == "groupshared" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
1016 return 0;
1017 break;
1018 }
1019 case AT_HLSLNumThreads: {
1020 if (Name == "numthreads" && getSyntax() == AttributeCommonInfo::AS_Microsoft && Scope == "")
1021 return 0;
1022 break;
1023 }
1024 case AT_HLSLResource: {
1025 break;
1026 }
1027 case AT_HLSLResourceBinding: {
1028 if (Name == "register" && getSyntax() == AttributeCommonInfo::AS_HLSLSemantic && Scope == "")
1029 return 0;
1030 break;
1031 }
1032 case AT_HLSLSV_DispatchThreadID: {
1033 if (Name == "SV_DispatchThreadID" && getSyntax() == AttributeCommonInfo::AS_HLSLSemantic && Scope == "")
1034 return 0;
1035 break;
1036 }
1037 case AT_HLSLSV_GroupIndex: {
1038 if (Name == "SV_GroupIndex" && getSyntax() == AttributeCommonInfo::AS_HLSLSemantic && Scope == "")
1039 return 0;
1040 break;
1041 }
1042 case AT_HLSLShader: {
1043 if (Name == "shader" && getSyntax() == AttributeCommonInfo::AS_Microsoft && Scope == "")
1044 return 0;
1045 break;
1046 }
1047 case AT_Hot: {
1048 if (Name == "hot" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1049 return 0;
1050 if (Name == "hot" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
1051 return 1;
1052 if (Name == "hot" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
1053 return 2;
1054 break;
1055 }
1056 case AT_IBAction: {
1057 if (Name == "ibaction" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1058 return 0;
1059 if (Name == "ibaction" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1060 return 1;
1061 if (Name == "ibaction" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1062 return 2;
1063 break;
1064 }
1065 case AT_IBOutlet: {
1066 if (Name == "iboutlet" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1067 return 0;
1068 if (Name == "iboutlet" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1069 return 1;
1070 if (Name == "iboutlet" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1071 return 2;
1072 break;
1073 }
1074 case AT_IBOutletCollection: {
1075 if (Name == "iboutletcollection" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1076 return 0;
1077 if (Name == "iboutletcollection" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1078 return 1;
1079 if (Name == "iboutletcollection" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1080 return 2;
1081 break;
1082 }
1083 case AT_IFunc: {
1084 if (Name == "ifunc" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1085 return 0;
1086 if (Name == "ifunc" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
1087 return 1;
1088 if (Name == "ifunc" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
1089 return 2;
1090 break;
1091 }
1092 case AT_InitPriority: {
1093 if (Name == "init_priority" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1094 return 0;
1095 if (Name == "init_priority" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
1096 return 1;
1097 break;
1098 }
1099 case AT_IntelOclBicc: {
1100 if (Name == "intel_ocl_bicc" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1101 return 0;
1102 if (Name == "intel_ocl_bicc" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1103 return 1;
1104 break;
1105 }
1106 case AT_InternalLinkage: {
1107 if (Name == "internal_linkage" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1108 return 0;
1109 if (Name == "internal_linkage" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1110 return 1;
1111 if (Name == "internal_linkage" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1112 return 2;
1113 break;
1114 }
1115 case AT_LTOVisibilityPublic: {
1116 if (Name == "lto_visibility_public" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1117 return 0;
1118 if (Name == "lto_visibility_public" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1119 return 1;
1120 if (Name == "lto_visibility_public" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1121 return 2;
1122 break;
1123 }
1124 case AT_LayoutVersion: {
1125 if (Name == "layout_version" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
1126 return 0;
1127 break;
1128 }
1129 case AT_Leaf: {
1130 if (Name == "leaf" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1131 return 0;
1132 if (Name == "leaf" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
1133 return 1;
1134 if (Name == "leaf" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
1135 return 2;
1136 break;
1137 }
1138 case AT_LifetimeBound: {
1139 if (Name == "lifetimebound" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1140 return 0;
1141 if (Name == "lifetimebound" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1142 return 1;
1143 break;
1144 }
1145 case AT_Likely: {
1146 if (Name == "likely" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "")
1147 return 0;
1148 if (Name == "likely" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1149 return 1;
1150 break;
1151 }
1152 case AT_LoaderUninitialized: {
1153 if (Name == "loader_uninitialized" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1154 return 0;
1155 if (Name == "loader_uninitialized" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1156 return 1;
1157 if (Name == "loader_uninitialized" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1158 return 2;
1159 break;
1160 }
1161 case AT_LockReturned: {
1162 if (Name == "lock_returned" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1163 return 0;
1164 break;
1165 }
1166 case AT_Lockable: {
1167 if (Name == "lockable" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1168 return 0;
1169 break;
1170 }
1171 case AT_LocksExcluded: {
1172 if (Name == "locks_excluded" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1173 return 0;
1174 break;
1175 }
1176 case AT_LoopHint: {
1177 if (Name == "loop" && getSyntax() == AttributeCommonInfo::AS_Pragma && Scope == "clang")
1178 return 0;
1179 if (Name == "unroll" && getSyntax() == AttributeCommonInfo::AS_Pragma && Scope == "")
1180 return 1;
1181 if (Name == "nounroll" && getSyntax() == AttributeCommonInfo::AS_Pragma && Scope == "")
1182 return 2;
1183 if (Name == "unroll_and_jam" && getSyntax() == AttributeCommonInfo::AS_Pragma && Scope == "")
1184 return 3;
1185 if (Name == "nounroll_and_jam" && getSyntax() == AttributeCommonInfo::AS_Pragma && Scope == "")
1186 return 4;
1187 break;
1188 }
1189 case AT_MIGServerRoutine: {
1190 if (Name == "mig_server_routine" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1191 return 0;
1192 if (Name == "mig_server_routine" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1193 return 1;
1194 if (Name == "mig_server_routine" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1195 return 2;
1196 break;
1197 }
1198 case AT_MSABI: {
1199 if (Name == "ms_abi" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1200 return 0;
1201 if (Name == "ms_abi" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
1202 return 1;
1203 if (Name == "ms_abi" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
1204 return 2;
1205 break;
1206 }
1207 case AT_MSAllocator: {
1208 if (Name == "allocator" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
1209 return 0;
1210 break;
1211 }
1212 case AT_MSInheritance: {
1213 if (Name == "__single_inheritance" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
1214 return 0;
1215 if (Name == "__multiple_inheritance" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
1216 return 1;
1217 if (Name == "__virtual_inheritance" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
1218 return 2;
1219 if (Name == "__unspecified_inheritance" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
1220 return 3;
1221 break;
1222 }
1223 case AT_MSNoVTable: {
1224 if (Name == "novtable" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
1225 return 0;
1226 break;
1227 }
1228 case AT_MSStruct: {
1229 if (Name == "ms_struct" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1230 return 0;
1231 if (Name == "ms_struct" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
1232 return 1;
1233 if (Name == "ms_struct" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
1234 return 2;
1235 break;
1236 }
1237 case AT_MatrixType: {
1238 if (Name == "matrix_type" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1239 return 0;
1240 if (Name == "matrix_type" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1241 return 1;
1242 if (Name == "matrix_type" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1243 return 2;
1244 break;
1245 }
1246 case AT_MayAlias: {
1247 if (Name == "may_alias" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1248 return 0;
1249 if (Name == "may_alias" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
1250 return 1;
1251 if (Name == "may_alias" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
1252 return 2;
1253 break;
1254 }
1255 case AT_MaybeUndef: {
1256 if (Name == "maybe_undef" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1257 return 0;
1258 if (Name == "maybe_undef" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1259 return 1;
1260 if (Name == "maybe_undef" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1261 return 2;
1262 break;
1263 }
1264 case AT_MicroMips: {
1265 if (Name == "micromips" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1266 return 0;
1267 if (Name == "micromips" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
1268 return 1;
1269 if (Name == "micromips" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
1270 return 2;
1271 break;
1272 }
1273 case AT_MinSize: {
1274 if (Name == "minsize" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1275 return 0;
1276 if (Name == "minsize" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1277 return 1;
1278 if (Name == "minsize" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1279 return 2;
1280 break;
1281 }
1282 case AT_MinVectorWidth: {
1283 if (Name == "min_vector_width" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1284 return 0;
1285 if (Name == "min_vector_width" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1286 return 1;
1287 if (Name == "min_vector_width" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1288 return 2;
1289 break;
1290 }
1291 case AT_Mips16: {
1292 if (Name == "mips16" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1293 return 0;
1294 if (Name == "mips16" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
1295 return 1;
1296 if (Name == "mips16" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
1297 return 2;
1298 break;
1299 }
1300 case AT_MipsLongCall: {
1301 if (Name == "long_call" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1302 return 0;
1303 if (Name == "long_call" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
1304 return 1;
1305 if (Name == "long_call" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
1306 return 2;
1307 if (Name == "far" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1308 return 3;
1309 if (Name == "far" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
1310 return 4;
1311 if (Name == "far" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
1312 return 5;
1313 break;
1314 }
1315 case AT_MipsShortCall: {
1316 if (Name == "short_call" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1317 return 0;
1318 if (Name == "short_call" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
1319 return 1;
1320 if (Name == "short_call" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
1321 return 2;
1322 if (Name == "near" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1323 return 3;
1324 if (Name == "near" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
1325 return 4;
1326 if (Name == "near" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
1327 return 5;
1328 break;
1329 }
1330 case AT_Mode: {
1331 if (Name == "mode" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1332 return 0;
1333 if (Name == "mode" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
1334 return 1;
1335 if (Name == "mode" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
1336 return 2;
1337 break;
1338 }
1339 case AT_MustTail: {
1340 if (Name == "musttail" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1341 return 0;
1342 if (Name == "musttail" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1343 return 1;
1344 if (Name == "musttail" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1345 return 2;
1346 break;
1347 }
1348 case AT_NSConsumed: {
1349 if (Name == "ns_consumed" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1350 return 0;
1351 if (Name == "ns_consumed" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1352 return 1;
1353 if (Name == "ns_consumed" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1354 return 2;
1355 break;
1356 }
1357 case AT_NSConsumesSelf: {
1358 if (Name == "ns_consumes_self" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1359 return 0;
1360 if (Name == "ns_consumes_self" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1361 return 1;
1362 if (Name == "ns_consumes_self" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1363 return 2;
1364 break;
1365 }
1366 case AT_NSErrorDomain: {
1367 if (Name == "ns_error_domain" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1368 return 0;
1369 break;
1370 }
1371 case AT_NSReturnsAutoreleased: {
1372 if (Name == "ns_returns_autoreleased" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1373 return 0;
1374 if (Name == "ns_returns_autoreleased" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1375 return 1;
1376 if (Name == "ns_returns_autoreleased" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1377 return 2;
1378 break;
1379 }
1380 case AT_NSReturnsNotRetained: {
1381 if (Name == "ns_returns_not_retained" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1382 return 0;
1383 if (Name == "ns_returns_not_retained" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1384 return 1;
1385 if (Name == "ns_returns_not_retained" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1386 return 2;
1387 break;
1388 }
1389 case AT_NSReturnsRetained: {
1390 if (Name == "ns_returns_retained" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1391 return 0;
1392 if (Name == "ns_returns_retained" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1393 return 1;
1394 if (Name == "ns_returns_retained" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1395 return 2;
1396 break;
1397 }
1398 case AT_NVPTXKernel: {
1399 if (Name == "nvptx_kernel" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1400 return 0;
1401 if (Name == "nvptx_kernel" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1402 return 1;
1403 if (Name == "nvptx_kernel" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1404 return 2;
1405 break;
1406 }
1407 case AT_Naked: {
1408 if (Name == "naked" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1409 return 0;
1410 if (Name == "naked" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
1411 return 1;
1412 if (Name == "naked" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
1413 return 2;
1414 if (Name == "naked" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
1415 return 3;
1416 break;
1417 }
1418 case AT_NeonPolyVectorType: {
1419 if (Name == "neon_polyvector_type" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1420 return 0;
1421 if (Name == "neon_polyvector_type" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1422 return 1;
1423 if (Name == "neon_polyvector_type" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1424 return 2;
1425 break;
1426 }
1427 case AT_NeonVectorType: {
1428 if (Name == "neon_vector_type" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1429 return 0;
1430 if (Name == "neon_vector_type" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1431 return 1;
1432 if (Name == "neon_vector_type" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1433 return 2;
1434 break;
1435 }
1436 case AT_NoAlias: {
1437 if (Name == "noalias" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
1438 return 0;
1439 break;
1440 }
1441 case AT_NoBuiltin: {
1442 if (Name == "no_builtin" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1443 return 0;
1444 if (Name == "no_builtin" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1445 return 1;
1446 if (Name == "no_builtin" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1447 return 2;
1448 break;
1449 }
1450 case AT_NoCommon: {
1451 if (Name == "nocommon" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1452 return 0;
1453 if (Name == "nocommon" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
1454 return 1;
1455 if (Name == "nocommon" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
1456 return 2;
1457 break;
1458 }
1459 case AT_NoDebug: {
1460 if (Name == "nodebug" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1461 return 0;
1462 if (Name == "nodebug" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
1463 return 1;
1464 if (Name == "nodebug" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
1465 return 2;
1466 break;
1467 }
1468 case AT_NoDeref: {
1469 if (Name == "noderef" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1470 return 0;
1471 if (Name == "noderef" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1472 return 1;
1473 if (Name == "noderef" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1474 return 2;
1475 break;
1476 }
1477 case AT_NoDestroy: {
1478 if (Name == "no_destroy" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1479 return 0;
1480 if (Name == "no_destroy" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1481 return 1;
1482 break;
1483 }
1484 case AT_NoDuplicate: {
1485 if (Name == "noduplicate" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1486 return 0;
1487 if (Name == "noduplicate" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1488 return 1;
1489 if (Name == "noduplicate" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1490 return 2;
1491 break;
1492 }
1493 case AT_NoEscape: {
1494 if (Name == "noescape" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1495 return 0;
1496 if (Name == "noescape" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1497 return 1;
1498 if (Name == "noescape" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1499 return 2;
1500 break;
1501 }
1502 case AT_NoInline: {
1503 if (Name == "__noinline__" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
1504 return 0;
1505 if (Name == "noinline" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1506 return 1;
1507 if (Name == "noinline" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
1508 return 2;
1509 if (Name == "noinline" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
1510 return 3;
1511 if (Name == "noinline" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1512 return 4;
1513 if (Name == "noinline" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1514 return 5;
1515 if (Name == "noinline" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
1516 return 6;
1517 break;
1518 }
1519 case AT_NoInstrumentFunction: {
1520 if (Name == "no_instrument_function" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1521 return 0;
1522 if (Name == "no_instrument_function" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
1523 return 1;
1524 if (Name == "no_instrument_function" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
1525 return 2;
1526 break;
1527 }
1528 case AT_NoMerge: {
1529 if (Name == "nomerge" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1530 return 0;
1531 if (Name == "nomerge" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1532 return 1;
1533 if (Name == "nomerge" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1534 return 2;
1535 break;
1536 }
1537 case AT_NoMicroMips: {
1538 if (Name == "nomicromips" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1539 return 0;
1540 if (Name == "nomicromips" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
1541 return 1;
1542 if (Name == "nomicromips" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
1543 return 2;
1544 break;
1545 }
1546 case AT_NoMips16: {
1547 if (Name == "nomips16" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1548 return 0;
1549 if (Name == "nomips16" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
1550 return 1;
1551 if (Name == "nomips16" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
1552 return 2;
1553 break;
1554 }
1555 case AT_NoProfileFunction: {
1556 if (Name == "no_profile_instrument_function" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1557 return 0;
1558 if (Name == "no_profile_instrument_function" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
1559 return 1;
1560 if (Name == "no_profile_instrument_function" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
1561 return 2;
1562 break;
1563 }
1564 case AT_NoRandomizeLayout: {
1565 if (Name == "no_randomize_layout" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1566 return 0;
1567 if (Name == "no_randomize_layout" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
1568 return 1;
1569 if (Name == "no_randomize_layout" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
1570 return 2;
1571 break;
1572 }
1573 case AT_NoReturn: {
1574 if (Name == "noreturn" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1575 return 0;
1576 if (Name == "noreturn" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
1577 return 1;
1578 if (Name == "noreturn" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
1579 return 2;
1580 if (Name == "noreturn" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
1581 return 3;
1582 break;
1583 }
1584 case AT_NoSanitize: {
1585 if (Name == "no_sanitize" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1586 return 0;
1587 if (Name == "no_sanitize" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1588 return 1;
1589 if (Name == "no_sanitize" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1590 return 2;
1591 break;
1592 }
1593 case AT_NoSanitizeSpecific: {
1594 if (Name == "no_address_safety_analysis" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1595 return 0;
1596 if (Name == "no_address_safety_analysis" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
1597 return 1;
1598 if (Name == "no_address_safety_analysis" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
1599 return 2;
1600 if (Name == "no_sanitize_address" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1601 return 3;
1602 if (Name == "no_sanitize_address" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
1603 return 4;
1604 if (Name == "no_sanitize_address" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
1605 return 5;
1606 if (Name == "no_sanitize_thread" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1607 return 6;
1608 if (Name == "no_sanitize_thread" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
1609 return 7;
1610 if (Name == "no_sanitize_thread" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
1611 return 8;
1612 if (Name == "no_sanitize_memory" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1613 return 9;
1614 if (Name == "no_sanitize_memory" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1615 return 10;
1616 if (Name == "no_sanitize_memory" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1617 return 11;
1618 break;
1619 }
1620 case AT_NoSpeculativeLoadHardening: {
1621 if (Name == "no_speculative_load_hardening" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1622 return 0;
1623 if (Name == "no_speculative_load_hardening" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1624 return 1;
1625 if (Name == "no_speculative_load_hardening" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1626 return 2;
1627 break;
1628 }
1629 case AT_NoSplitStack: {
1630 if (Name == "no_split_stack" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1631 return 0;
1632 if (Name == "no_split_stack" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
1633 return 1;
1634 if (Name == "no_split_stack" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
1635 return 2;
1636 break;
1637 }
1638 case AT_NoStackProtector: {
1639 if (Name == "no_stack_protector" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1640 return 0;
1641 if (Name == "no_stack_protector" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1642 return 1;
1643 if (Name == "no_stack_protector" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1644 return 2;
1645 if (Name == "safebuffers" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
1646 return 3;
1647 break;
1648 }
1649 case AT_NoThreadSafetyAnalysis: {
1650 if (Name == "no_thread_safety_analysis" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1651 return 0;
1652 if (Name == "no_thread_safety_analysis" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1653 return 1;
1654 if (Name == "no_thread_safety_analysis" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1655 return 2;
1656 break;
1657 }
1658 case AT_NoThrow: {
1659 if (Name == "nothrow" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1660 return 0;
1661 if (Name == "nothrow" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
1662 return 1;
1663 if (Name == "nothrow" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
1664 return 2;
1665 if (Name == "nothrow" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
1666 return 3;
1667 break;
1668 }
1669 case AT_NoUniqueAddress: {
1670 if (Name == "no_unique_address" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "")
1671 return 0;
1672 break;
1673 }
1674 case AT_NoUwtable: {
1675 if (Name == "nouwtable" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1676 return 0;
1677 if (Name == "nouwtable" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1678 return 1;
1679 if (Name == "nouwtable" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1680 return 2;
1681 break;
1682 }
1683 case AT_NonNull: {
1684 if (Name == "nonnull" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1685 return 0;
1686 if (Name == "nonnull" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
1687 return 1;
1688 if (Name == "nonnull" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
1689 return 2;
1690 break;
1691 }
1692 case AT_NotTailCalled: {
1693 if (Name == "not_tail_called" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1694 return 0;
1695 if (Name == "not_tail_called" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1696 return 1;
1697 if (Name == "not_tail_called" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1698 return 2;
1699 break;
1700 }
1701 case AT_OSConsumed: {
1702 if (Name == "os_consumed" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1703 return 0;
1704 if (Name == "os_consumed" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1705 return 1;
1706 if (Name == "os_consumed" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1707 return 2;
1708 break;
1709 }
1710 case AT_OSConsumesThis: {
1711 if (Name == "os_consumes_this" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1712 return 0;
1713 if (Name == "os_consumes_this" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1714 return 1;
1715 if (Name == "os_consumes_this" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1716 return 2;
1717 break;
1718 }
1719 case AT_OSReturnsNotRetained: {
1720 if (Name == "os_returns_not_retained" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1721 return 0;
1722 if (Name == "os_returns_not_retained" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1723 return 1;
1724 if (Name == "os_returns_not_retained" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1725 return 2;
1726 break;
1727 }
1728 case AT_OSReturnsRetained: {
1729 if (Name == "os_returns_retained" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1730 return 0;
1731 if (Name == "os_returns_retained" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1732 return 1;
1733 if (Name == "os_returns_retained" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1734 return 2;
1735 break;
1736 }
1737 case AT_OSReturnsRetainedOnNonZero: {
1738 if (Name == "os_returns_retained_on_non_zero" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1739 return 0;
1740 if (Name == "os_returns_retained_on_non_zero" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1741 return 1;
1742 if (Name == "os_returns_retained_on_non_zero" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1743 return 2;
1744 break;
1745 }
1746 case AT_OSReturnsRetainedOnZero: {
1747 if (Name == "os_returns_retained_on_zero" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1748 return 0;
1749 if (Name == "os_returns_retained_on_zero" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1750 return 1;
1751 if (Name == "os_returns_retained_on_zero" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1752 return 2;
1753 break;
1754 }
1755 case AT_ObjCBoxable: {
1756 if (Name == "objc_boxable" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1757 return 0;
1758 if (Name == "objc_boxable" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1759 return 1;
1760 if (Name == "objc_boxable" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1761 return 2;
1762 break;
1763 }
1764 case AT_ObjCBridge: {
1765 if (Name == "objc_bridge" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1766 return 0;
1767 if (Name == "objc_bridge" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1768 return 1;
1769 if (Name == "objc_bridge" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1770 return 2;
1771 break;
1772 }
1773 case AT_ObjCBridgeMutable: {
1774 if (Name == "objc_bridge_mutable" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1775 return 0;
1776 if (Name == "objc_bridge_mutable" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1777 return 1;
1778 if (Name == "objc_bridge_mutable" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1779 return 2;
1780 break;
1781 }
1782 case AT_ObjCBridgeRelated: {
1783 if (Name == "objc_bridge_related" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1784 return 0;
1785 if (Name == "objc_bridge_related" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1786 return 1;
1787 if (Name == "objc_bridge_related" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1788 return 2;
1789 break;
1790 }
1791 case AT_ObjCClassStub: {
1792 if (Name == "objc_class_stub" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1793 return 0;
1794 if (Name == "objc_class_stub" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1795 return 1;
1796 if (Name == "objc_class_stub" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1797 return 2;
1798 break;
1799 }
1800 case AT_ObjCDesignatedInitializer: {
1801 if (Name == "objc_designated_initializer" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1802 return 0;
1803 if (Name == "objc_designated_initializer" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1804 return 1;
1805 if (Name == "objc_designated_initializer" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1806 return 2;
1807 break;
1808 }
1809 case AT_ObjCDirect: {
1810 if (Name == "objc_direct" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1811 return 0;
1812 if (Name == "objc_direct" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1813 return 1;
1814 if (Name == "objc_direct" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1815 return 2;
1816 break;
1817 }
1818 case AT_ObjCDirectMembers: {
1819 if (Name == "objc_direct_members" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1820 return 0;
1821 if (Name == "objc_direct_members" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1822 return 1;
1823 if (Name == "objc_direct_members" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1824 return 2;
1825 break;
1826 }
1827 case AT_ObjCException: {
1828 if (Name == "objc_exception" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1829 return 0;
1830 if (Name == "objc_exception" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1831 return 1;
1832 if (Name == "objc_exception" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1833 return 2;
1834 break;
1835 }
1836 case AT_ObjCExplicitProtocolImpl: {
1837 if (Name == "objc_protocol_requires_explicit_implementation" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1838 return 0;
1839 if (Name == "objc_protocol_requires_explicit_implementation" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1840 return 1;
1841 if (Name == "objc_protocol_requires_explicit_implementation" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1842 return 2;
1843 break;
1844 }
1845 case AT_ObjCExternallyRetained: {
1846 if (Name == "objc_externally_retained" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1847 return 0;
1848 if (Name == "objc_externally_retained" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1849 return 1;
1850 if (Name == "objc_externally_retained" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1851 return 2;
1852 break;
1853 }
1854 case AT_ObjCGC: {
1855 if (Name == "objc_gc" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1856 return 0;
1857 if (Name == "objc_gc" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1858 return 1;
1859 if (Name == "objc_gc" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1860 return 2;
1861 break;
1862 }
1863 case AT_ObjCIndependentClass: {
1864 if (Name == "objc_independent_class" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1865 return 0;
1866 if (Name == "objc_independent_class" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1867 return 1;
1868 if (Name == "objc_independent_class" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1869 return 2;
1870 break;
1871 }
1872 case AT_ObjCInertUnsafeUnretained: {
1873 if (Name == "__unsafe_unretained" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
1874 return 0;
1875 break;
1876 }
1877 case AT_ObjCKindOf: {
1878 if (Name == "__kindof" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
1879 return 0;
1880 break;
1881 }
1882 case AT_ObjCMethodFamily: {
1883 if (Name == "objc_method_family" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1884 return 0;
1885 if (Name == "objc_method_family" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1886 return 1;
1887 if (Name == "objc_method_family" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1888 return 2;
1889 break;
1890 }
1891 case AT_ObjCNSObject: {
1892 if (Name == "NSObject" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1893 return 0;
1894 if (Name == "NSObject" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1895 return 1;
1896 if (Name == "NSObject" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1897 return 2;
1898 break;
1899 }
1900 case AT_ObjCNonLazyClass: {
1901 if (Name == "objc_nonlazy_class" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1902 return 0;
1903 if (Name == "objc_nonlazy_class" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1904 return 1;
1905 if (Name == "objc_nonlazy_class" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1906 return 2;
1907 break;
1908 }
1909 case AT_ObjCNonRuntimeProtocol: {
1910 if (Name == "objc_non_runtime_protocol" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1911 return 0;
1912 if (Name == "objc_non_runtime_protocol" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1913 return 1;
1914 if (Name == "objc_non_runtime_protocol" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1915 return 2;
1916 break;
1917 }
1918 case AT_ObjCOwnership: {
1919 if (Name == "objc_ownership" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1920 return 0;
1921 if (Name == "objc_ownership" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1922 return 1;
1923 if (Name == "objc_ownership" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1924 return 2;
1925 break;
1926 }
1927 case AT_ObjCPreciseLifetime: {
1928 if (Name == "objc_precise_lifetime" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1929 return 0;
1930 if (Name == "objc_precise_lifetime" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1931 return 1;
1932 if (Name == "objc_precise_lifetime" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1933 return 2;
1934 break;
1935 }
1936 case AT_ObjCRequiresPropertyDefs: {
1937 if (Name == "objc_requires_property_definitions" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1938 return 0;
1939 if (Name == "objc_requires_property_definitions" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1940 return 1;
1941 if (Name == "objc_requires_property_definitions" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1942 return 2;
1943 break;
1944 }
1945 case AT_ObjCRequiresSuper: {
1946 if (Name == "objc_requires_super" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1947 return 0;
1948 if (Name == "objc_requires_super" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1949 return 1;
1950 if (Name == "objc_requires_super" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1951 return 2;
1952 break;
1953 }
1954 case AT_ObjCReturnsInnerPointer: {
1955 if (Name == "objc_returns_inner_pointer" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1956 return 0;
1957 if (Name == "objc_returns_inner_pointer" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1958 return 1;
1959 if (Name == "objc_returns_inner_pointer" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1960 return 2;
1961 break;
1962 }
1963 case AT_ObjCRootClass: {
1964 if (Name == "objc_root_class" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1965 return 0;
1966 if (Name == "objc_root_class" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1967 return 1;
1968 if (Name == "objc_root_class" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1969 return 2;
1970 break;
1971 }
1972 case AT_ObjCRuntimeName: {
1973 if (Name == "objc_runtime_name" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1974 return 0;
1975 if (Name == "objc_runtime_name" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1976 return 1;
1977 if (Name == "objc_runtime_name" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1978 return 2;
1979 break;
1980 }
1981 case AT_ObjCRuntimeVisible: {
1982 if (Name == "objc_runtime_visible" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1983 return 0;
1984 if (Name == "objc_runtime_visible" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1985 return 1;
1986 if (Name == "objc_runtime_visible" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1987 return 2;
1988 break;
1989 }
1990 case AT_ObjCSubclassingRestricted: {
1991 if (Name == "objc_subclassing_restricted" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
1992 return 0;
1993 if (Name == "objc_subclassing_restricted" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
1994 return 1;
1995 if (Name == "objc_subclassing_restricted" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
1996 return 2;
1997 break;
1998 }
1999 case AT_OpenCLAccess: {
2000 if (Name == "__read_only" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2001 return 0;
2002 if (Name == "read_only" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2003 return 1;
2004 if (Name == "__write_only" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2005 return 2;
2006 if (Name == "write_only" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2007 return 3;
2008 if (Name == "__read_write" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2009 return 4;
2010 if (Name == "read_write" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2011 return 5;
2012 break;
2013 }
2014 case AT_OpenCLConstantAddressSpace: {
2015 if (Name == "__constant" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2016 return 0;
2017 if (Name == "constant" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2018 return 1;
2019 if (Name == "opencl_constant" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2020 return 2;
2021 if (Name == "opencl_constant" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2022 return 3;
2023 if (Name == "opencl_constant" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2024 return 4;
2025 break;
2026 }
2027 case AT_OpenCLGenericAddressSpace: {
2028 if (Name == "__generic" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2029 return 0;
2030 if (Name == "generic" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2031 return 1;
2032 if (Name == "opencl_generic" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2033 return 2;
2034 if (Name == "opencl_generic" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2035 return 3;
2036 if (Name == "opencl_generic" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2037 return 4;
2038 break;
2039 }
2040 case AT_OpenCLGlobalAddressSpace: {
2041 if (Name == "__global" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2042 return 0;
2043 if (Name == "global" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2044 return 1;
2045 if (Name == "opencl_global" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2046 return 2;
2047 if (Name == "opencl_global" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2048 return 3;
2049 if (Name == "opencl_global" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2050 return 4;
2051 break;
2052 }
2053 case AT_OpenCLGlobalDeviceAddressSpace: {
2054 if (Name == "opencl_global_device" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2055 return 0;
2056 if (Name == "opencl_global_device" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2057 return 1;
2058 if (Name == "opencl_global_device" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2059 return 2;
2060 break;
2061 }
2062 case AT_OpenCLGlobalHostAddressSpace: {
2063 if (Name == "opencl_global_host" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2064 return 0;
2065 if (Name == "opencl_global_host" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2066 return 1;
2067 if (Name == "opencl_global_host" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2068 return 2;
2069 break;
2070 }
2071 case AT_OpenCLIntelReqdSubGroupSize: {
2072 if (Name == "intel_reqd_sub_group_size" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2073 return 0;
2074 break;
2075 }
2076 case AT_OpenCLKernel: {
2077 if (Name == "__kernel" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2078 return 0;
2079 if (Name == "kernel" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2080 return 1;
2081 break;
2082 }
2083 case AT_OpenCLLocalAddressSpace: {
2084 if (Name == "__local" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2085 return 0;
2086 if (Name == "local" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2087 return 1;
2088 if (Name == "opencl_local" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2089 return 2;
2090 if (Name == "opencl_local" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2091 return 3;
2092 if (Name == "opencl_local" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2093 return 4;
2094 break;
2095 }
2096 case AT_OpenCLNoSVM: {
2097 if (Name == "nosvm" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2098 return 0;
2099 break;
2100 }
2101 case AT_OpenCLPrivateAddressSpace: {
2102 if (Name == "__private" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2103 return 0;
2104 if (Name == "private" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2105 return 1;
2106 if (Name == "opencl_private" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2107 return 2;
2108 if (Name == "opencl_private" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2109 return 3;
2110 if (Name == "opencl_private" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2111 return 4;
2112 break;
2113 }
2114 case AT_OpenCLUnrollHint: {
2115 if (Name == "opencl_unroll_hint" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2116 return 0;
2117 break;
2118 }
2119 case AT_OptimizeNone: {
2120 if (Name == "optnone" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2121 return 0;
2122 if (Name == "optnone" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2123 return 1;
2124 if (Name == "optnone" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2125 return 2;
2126 break;
2127 }
2128 case AT_Overloadable: {
2129 if (Name == "overloadable" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2130 return 0;
2131 if (Name == "overloadable" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2132 return 1;
2133 if (Name == "overloadable" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2134 return 2;
2135 break;
2136 }
2137 case AT_Owner: {
2138 if (Name == "Owner" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gsl")
2139 return 0;
2140 break;
2141 }
2142 case AT_Ownership: {
2143 if (Name == "ownership_holds" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2144 return 0;
2145 if (Name == "ownership_holds" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2146 return 1;
2147 if (Name == "ownership_holds" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2148 return 2;
2149 if (Name == "ownership_returns" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2150 return 3;
2151 if (Name == "ownership_returns" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2152 return 4;
2153 if (Name == "ownership_returns" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2154 return 5;
2155 if (Name == "ownership_takes" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2156 return 6;
2157 if (Name == "ownership_takes" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2158 return 7;
2159 if (Name == "ownership_takes" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2160 return 8;
2161 break;
2162 }
2163 case AT_Packed: {
2164 if (Name == "packed" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2165 return 0;
2166 if (Name == "packed" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
2167 return 1;
2168 if (Name == "packed" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
2169 return 2;
2170 break;
2171 }
2172 case AT_ParamTypestate: {
2173 if (Name == "param_typestate" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2174 return 0;
2175 if (Name == "param_typestate" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2176 return 1;
2177 break;
2178 }
2179 case AT_Pascal: {
2180 if (Name == "pascal" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2181 return 0;
2182 if (Name == "pascal" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2183 return 1;
2184 if (Name == "pascal" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2185 return 2;
2186 if (Name == "__pascal" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2187 return 3;
2188 if (Name == "_pascal" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2189 return 4;
2190 break;
2191 }
2192 case AT_PassObjectSize: {
2193 if (Name == "pass_object_size" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2194 return 0;
2195 if (Name == "pass_object_size" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2196 return 1;
2197 if (Name == "pass_object_size" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2198 return 2;
2199 if (Name == "pass_dynamic_object_size" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2200 return 3;
2201 if (Name == "pass_dynamic_object_size" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2202 return 4;
2203 if (Name == "pass_dynamic_object_size" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2204 return 5;
2205 break;
2206 }
2207 case AT_PatchableFunctionEntry: {
2208 if (Name == "patchable_function_entry" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2209 return 0;
2210 if (Name == "patchable_function_entry" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
2211 return 1;
2212 if (Name == "patchable_function_entry" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
2213 return 2;
2214 break;
2215 }
2216 case AT_Pcs: {
2217 if (Name == "pcs" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2218 return 0;
2219 if (Name == "pcs" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
2220 return 1;
2221 if (Name == "pcs" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
2222 return 2;
2223 break;
2224 }
2225 case AT_Pointer: {
2226 if (Name == "Pointer" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gsl")
2227 return 0;
2228 break;
2229 }
2230 case AT_PragmaClangBSSSection: {
2231 break;
2232 }
2233 case AT_PragmaClangDataSection: {
2234 break;
2235 }
2236 case AT_PragmaClangRelroSection: {
2237 break;
2238 }
2239 case AT_PragmaClangRodataSection: {
2240 break;
2241 }
2242 case AT_PragmaClangTextSection: {
2243 break;
2244 }
2245 case AT_PreferredName: {
2246 if (Name == "preferred_name" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2247 return 0;
2248 if (Name == "preferred_name" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2249 return 1;
2250 break;
2251 }
2252 case AT_PreserveAll: {
2253 if (Name == "preserve_all" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2254 return 0;
2255 if (Name == "preserve_all" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2256 return 1;
2257 if (Name == "preserve_all" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2258 return 2;
2259 break;
2260 }
2261 case AT_PreserveMost: {
2262 if (Name == "preserve_most" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2263 return 0;
2264 if (Name == "preserve_most" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2265 return 1;
2266 if (Name == "preserve_most" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2267 return 2;
2268 break;
2269 }
2270 case AT_PtGuardedBy: {
2271 if (Name == "pt_guarded_by" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2272 return 0;
2273 break;
2274 }
2275 case AT_PtGuardedVar: {
2276 if (Name == "pt_guarded_var" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2277 return 0;
2278 if (Name == "pt_guarded_var" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2279 return 1;
2280 break;
2281 }
2282 case AT_Ptr32: {
2283 if (Name == "__ptr32" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2284 return 0;
2285 break;
2286 }
2287 case AT_Ptr64: {
2288 if (Name == "__ptr64" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2289 return 0;
2290 break;
2291 }
2292 case AT_Pure: {
2293 if (Name == "pure" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2294 return 0;
2295 if (Name == "pure" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
2296 return 1;
2297 if (Name == "pure" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
2298 return 2;
2299 break;
2300 }
2301 case AT_RISCVRVVVectorBits: {
2302 if (Name == "riscv_rvv_vector_bits" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2303 return 0;
2304 break;
2305 }
2306 case AT_RandomizeLayout: {
2307 if (Name == "randomize_layout" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2308 return 0;
2309 if (Name == "randomize_layout" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
2310 return 1;
2311 if (Name == "randomize_layout" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
2312 return 2;
2313 break;
2314 }
2315 case AT_ReadOnlyPlacement: {
2316 if (Name == "enforce_read_only_placement" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2317 return 0;
2318 if (Name == "enforce_read_only_placement" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2319 return 1;
2320 if (Name == "enforce_read_only_placement" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2321 return 2;
2322 break;
2323 }
2324 case AT_RegCall: {
2325 if (Name == "regcall" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2326 return 0;
2327 if (Name == "regcall" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
2328 return 1;
2329 if (Name == "regcall" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
2330 return 2;
2331 if (Name == "__regcall" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2332 return 3;
2333 break;
2334 }
2335 case AT_Regparm: {
2336 if (Name == "regparm" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2337 return 0;
2338 if (Name == "regparm" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
2339 return 1;
2340 if (Name == "regparm" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
2341 return 2;
2342 break;
2343 }
2344 case AT_Reinitializes: {
2345 if (Name == "reinitializes" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2346 return 0;
2347 if (Name == "reinitializes" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2348 return 1;
2349 break;
2350 }
2351 case AT_ReleaseCapability: {
2352 if (Name == "release_capability" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2353 return 0;
2354 if (Name == "release_capability" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2355 return 1;
2356 if (Name == "release_shared_capability" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2357 return 2;
2358 if (Name == "release_shared_capability" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2359 return 3;
2360 if (Name == "release_generic_capability" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2361 return 4;
2362 if (Name == "release_generic_capability" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2363 return 5;
2364 if (Name == "unlock_function" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2365 return 6;
2366 if (Name == "unlock_function" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2367 return 7;
2368 break;
2369 }
2370 case AT_ReleaseHandle: {
2371 if (Name == "release_handle" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2372 return 0;
2373 if (Name == "release_handle" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2374 return 1;
2375 if (Name == "release_handle" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2376 return 2;
2377 break;
2378 }
2379 case AT_RenderScriptKernel: {
2380 if (Name == "kernel" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2381 return 0;
2382 break;
2383 }
2384 case AT_ReqdWorkGroupSize: {
2385 if (Name == "reqd_work_group_size" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2386 return 0;
2387 break;
2388 }
2389 case AT_RequiresCapability: {
2390 if (Name == "requires_capability" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2391 return 0;
2392 if (Name == "requires_capability" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2393 return 1;
2394 if (Name == "exclusive_locks_required" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2395 return 2;
2396 if (Name == "exclusive_locks_required" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2397 return 3;
2398 if (Name == "requires_shared_capability" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2399 return 4;
2400 if (Name == "requires_shared_capability" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2401 return 5;
2402 if (Name == "shared_locks_required" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2403 return 6;
2404 if (Name == "shared_locks_required" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2405 return 7;
2406 break;
2407 }
2408 case AT_Restrict: {
2409 if (Name == "restrict" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
2410 return 0;
2411 if (Name == "malloc" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2412 return 1;
2413 if (Name == "malloc" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
2414 return 2;
2415 if (Name == "malloc" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
2416 return 3;
2417 break;
2418 }
2419 case AT_Retain: {
2420 if (Name == "retain" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2421 return 0;
2422 if (Name == "retain" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
2423 return 1;
2424 if (Name == "retain" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
2425 return 2;
2426 break;
2427 }
2428 case AT_ReturnTypestate: {
2429 if (Name == "return_typestate" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2430 return 0;
2431 if (Name == "return_typestate" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2432 return 1;
2433 break;
2434 }
2435 case AT_ReturnsNonNull: {
2436 if (Name == "returns_nonnull" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2437 return 0;
2438 if (Name == "returns_nonnull" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
2439 return 1;
2440 if (Name == "returns_nonnull" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
2441 return 2;
2442 break;
2443 }
2444 case AT_ReturnsTwice: {
2445 if (Name == "returns_twice" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2446 return 0;
2447 if (Name == "returns_twice" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
2448 return 1;
2449 if (Name == "returns_twice" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
2450 return 2;
2451 break;
2452 }
2453 case AT_SPtr: {
2454 if (Name == "__sptr" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2455 return 0;
2456 break;
2457 }
2458 case AT_SYCLKernel: {
2459 if (Name == "sycl_kernel" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2460 return 0;
2461 if (Name == "sycl_kernel" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2462 return 1;
2463 if (Name == "sycl_kernel" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2464 return 2;
2465 break;
2466 }
2467 case AT_SYCLSpecialClass: {
2468 if (Name == "sycl_special_class" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2469 return 0;
2470 if (Name == "sycl_special_class" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2471 return 1;
2472 if (Name == "sycl_special_class" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2473 return 2;
2474 break;
2475 }
2476 case AT_ScopedLockable: {
2477 if (Name == "scoped_lockable" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2478 return 0;
2479 if (Name == "scoped_lockable" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2480 return 1;
2481 break;
2482 }
2483 case AT_Section: {
2484 if (Name == "section" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2485 return 0;
2486 if (Name == "section" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
2487 return 1;
2488 if (Name == "section" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
2489 return 2;
2490 if (Name == "allocate" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
2491 return 3;
2492 break;
2493 }
2494 case AT_SelectAny: {
2495 if (Name == "selectany" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
2496 return 0;
2497 if (Name == "selectany" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2498 return 1;
2499 if (Name == "selectany" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
2500 return 2;
2501 if (Name == "selectany" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
2502 return 3;
2503 break;
2504 }
2505 case AT_Sentinel: {
2506 if (Name == "sentinel" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2507 return 0;
2508 if (Name == "sentinel" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
2509 return 1;
2510 if (Name == "sentinel" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
2511 return 2;
2512 break;
2513 }
2514 case AT_SetTypestate: {
2515 if (Name == "set_typestate" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2516 return 0;
2517 if (Name == "set_typestate" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2518 return 1;
2519 break;
2520 }
2521 case AT_SharedTrylockFunction: {
2522 if (Name == "shared_trylock_function" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2523 return 0;
2524 break;
2525 }
2526 case AT_SpeculativeLoadHardening: {
2527 if (Name == "speculative_load_hardening" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2528 return 0;
2529 if (Name == "speculative_load_hardening" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2530 return 1;
2531 if (Name == "speculative_load_hardening" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2532 return 2;
2533 break;
2534 }
2535 case AT_StandaloneDebug: {
2536 if (Name == "standalone_debug" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2537 return 0;
2538 if (Name == "standalone_debug" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2539 return 1;
2540 break;
2541 }
2542 case AT_StdCall: {
2543 if (Name == "stdcall" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2544 return 0;
2545 if (Name == "stdcall" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
2546 return 1;
2547 if (Name == "stdcall" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
2548 return 2;
2549 if (Name == "__stdcall" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2550 return 3;
2551 if (Name == "_stdcall" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2552 return 4;
2553 break;
2554 }
2555 case AT_StrictFP: {
2556 break;
2557 }
2558 case AT_StrictGuardStackCheck: {
2559 if (Name == "strict_gs_check" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
2560 return 0;
2561 break;
2562 }
2563 case AT_Suppress: {
2564 if (Name == "suppress" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gsl")
2565 return 0;
2566 break;
2567 }
2568 case AT_SwiftAsync: {
2569 if (Name == "swift_async" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2570 return 0;
2571 if (Name == "swift_async" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2572 return 1;
2573 if (Name == "swift_async" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2574 return 2;
2575 break;
2576 }
2577 case AT_SwiftAsyncCall: {
2578 if (Name == "swiftasynccall" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2579 return 0;
2580 if (Name == "swiftasynccall" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2581 return 1;
2582 if (Name == "swiftasynccall" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2583 return 2;
2584 break;
2585 }
2586 case AT_SwiftAsyncContext: {
2587 if (Name == "swift_async_context" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2588 return 0;
2589 if (Name == "swift_async_context" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2590 return 1;
2591 if (Name == "swift_async_context" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2592 return 2;
2593 break;
2594 }
2595 case AT_SwiftAsyncError: {
2596 if (Name == "swift_async_error" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2597 return 0;
2598 if (Name == "swift_async_error" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2599 return 1;
2600 if (Name == "swift_async_error" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2601 return 2;
2602 break;
2603 }
2604 case AT_SwiftAsyncName: {
2605 if (Name == "swift_async_name" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2606 return 0;
2607 break;
2608 }
2609 case AT_SwiftAttr: {
2610 if (Name == "swift_attr" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2611 return 0;
2612 break;
2613 }
2614 case AT_SwiftBridge: {
2615 if (Name == "swift_bridge" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2616 return 0;
2617 break;
2618 }
2619 case AT_SwiftBridgedTypedef: {
2620 if (Name == "swift_bridged_typedef" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2621 return 0;
2622 break;
2623 }
2624 case AT_SwiftCall: {
2625 if (Name == "swiftcall" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2626 return 0;
2627 if (Name == "swiftcall" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2628 return 1;
2629 if (Name == "swiftcall" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2630 return 2;
2631 break;
2632 }
2633 case AT_SwiftContext: {
2634 if (Name == "swift_context" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2635 return 0;
2636 if (Name == "swift_context" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2637 return 1;
2638 if (Name == "swift_context" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2639 return 2;
2640 break;
2641 }
2642 case AT_SwiftError: {
2643 if (Name == "swift_error" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2644 return 0;
2645 break;
2646 }
2647 case AT_SwiftErrorResult: {
2648 if (Name == "swift_error_result" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2649 return 0;
2650 if (Name == "swift_error_result" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2651 return 1;
2652 if (Name == "swift_error_result" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2653 return 2;
2654 break;
2655 }
2656 case AT_SwiftIndirectResult: {
2657 if (Name == "swift_indirect_result" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2658 return 0;
2659 if (Name == "swift_indirect_result" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2660 return 1;
2661 if (Name == "swift_indirect_result" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2662 return 2;
2663 break;
2664 }
2665 case AT_SwiftName: {
2666 if (Name == "swift_name" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2667 return 0;
2668 break;
2669 }
2670 case AT_SwiftNewType: {
2671 if (Name == "swift_newtype" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2672 return 0;
2673 if (Name == "swift_wrapper" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2674 return 1;
2675 break;
2676 }
2677 case AT_SwiftObjCMembers: {
2678 if (Name == "swift_objc_members" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2679 return 0;
2680 break;
2681 }
2682 case AT_SwiftPrivate: {
2683 if (Name == "swift_private" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2684 return 0;
2685 break;
2686 }
2687 case AT_SysVABI: {
2688 if (Name == "sysv_abi" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2689 return 0;
2690 if (Name == "sysv_abi" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
2691 return 1;
2692 if (Name == "sysv_abi" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
2693 return 2;
2694 break;
2695 }
2696 case AT_TLSModel: {
2697 if (Name == "tls_model" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2698 return 0;
2699 if (Name == "tls_model" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
2700 return 1;
2701 if (Name == "tls_model" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
2702 return 2;
2703 break;
2704 }
2705 case AT_Target: {
2706 if (Name == "target" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2707 return 0;
2708 if (Name == "target" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
2709 return 1;
2710 if (Name == "target" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
2711 return 2;
2712 break;
2713 }
2714 case AT_TargetClones: {
2715 if (Name == "target_clones" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2716 return 0;
2717 if (Name == "target_clones" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
2718 return 1;
2719 if (Name == "target_clones" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
2720 return 2;
2721 break;
2722 }
2723 case AT_TargetVersion: {
2724 if (Name == "target_version" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2725 return 0;
2726 if (Name == "target_version" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
2727 return 1;
2728 if (Name == "target_version" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
2729 return 2;
2730 break;
2731 }
2732 case AT_TestTypestate: {
2733 if (Name == "test_typestate" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2734 return 0;
2735 if (Name == "test_typestate" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2736 return 1;
2737 break;
2738 }
2739 case AT_ThisCall: {
2740 if (Name == "thiscall" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2741 return 0;
2742 if (Name == "thiscall" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
2743 return 1;
2744 if (Name == "thiscall" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
2745 return 2;
2746 if (Name == "__thiscall" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2747 return 3;
2748 if (Name == "_thiscall" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2749 return 4;
2750 break;
2751 }
2752 case AT_Thread: {
2753 if (Name == "thread" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
2754 return 0;
2755 break;
2756 }
2757 case AT_TransparentUnion: {
2758 if (Name == "transparent_union" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2759 return 0;
2760 if (Name == "transparent_union" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
2761 return 1;
2762 if (Name == "transparent_union" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
2763 return 2;
2764 break;
2765 }
2766 case AT_TrivialABI: {
2767 if (Name == "trivial_abi" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2768 return 0;
2769 if (Name == "trivial_abi" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2770 return 1;
2771 break;
2772 }
2773 case AT_TryAcquireCapability: {
2774 if (Name == "try_acquire_capability" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2775 return 0;
2776 if (Name == "try_acquire_capability" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2777 return 1;
2778 if (Name == "try_acquire_shared_capability" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2779 return 2;
2780 if (Name == "try_acquire_shared_capability" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2781 return 3;
2782 break;
2783 }
2784 case AT_TypeNonNull: {
2785 if (Name == "_Nonnull" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2786 return 0;
2787 break;
2788 }
2789 case AT_TypeNullUnspecified: {
2790 if (Name == "_Null_unspecified" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2791 return 0;
2792 break;
2793 }
2794 case AT_TypeNullable: {
2795 if (Name == "_Nullable" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2796 return 0;
2797 break;
2798 }
2799 case AT_TypeNullableResult: {
2800 if (Name == "_Nullable_result" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2801 return 0;
2802 break;
2803 }
2804 case AT_TypeTagForDatatype: {
2805 if (Name == "type_tag_for_datatype" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2806 return 0;
2807 if (Name == "type_tag_for_datatype" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2808 return 1;
2809 if (Name == "type_tag_for_datatype" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2810 return 2;
2811 break;
2812 }
2813 case AT_TypeVisibility: {
2814 if (Name == "type_visibility" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2815 return 0;
2816 if (Name == "type_visibility" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2817 return 1;
2818 if (Name == "type_visibility" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2819 return 2;
2820 break;
2821 }
2822 case AT_UPtr: {
2823 if (Name == "__uptr" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2824 return 0;
2825 break;
2826 }
2827 case AT_Unavailable: {
2828 if (Name == "unavailable" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2829 return 0;
2830 if (Name == "unavailable" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2831 return 1;
2832 if (Name == "unavailable" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2833 return 2;
2834 break;
2835 }
2836 case AT_Uninitialized: {
2837 if (Name == "uninitialized" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2838 return 0;
2839 if (Name == "uninitialized" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2840 return 1;
2841 break;
2842 }
2843 case AT_Unlikely: {
2844 if (Name == "unlikely" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "")
2845 return 0;
2846 if (Name == "unlikely" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2847 return 1;
2848 break;
2849 }
2850 case AT_UnsafeBufferUsage: {
2851 if (Name == "unsafe_buffer_usage" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2852 return 0;
2853 if (Name == "unsafe_buffer_usage" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2854 return 1;
2855 if (Name == "unsafe_buffer_usage" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2856 return 2;
2857 break;
2858 }
2859 case AT_Unused: {
2860 if (Name == "maybe_unused" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "")
2861 return 0;
2862 if (Name == "unused" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2863 return 1;
2864 if (Name == "unused" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
2865 return 2;
2866 if (Name == "unused" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
2867 return 3;
2868 if (Name == "maybe_unused" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "")
2869 return 4;
2870 break;
2871 }
2872 case AT_UseHandle: {
2873 if (Name == "use_handle" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2874 return 0;
2875 if (Name == "use_handle" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2876 return 1;
2877 if (Name == "use_handle" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2878 return 2;
2879 break;
2880 }
2881 case AT_Used: {
2882 if (Name == "used" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2883 return 0;
2884 if (Name == "used" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
2885 return 1;
2886 if (Name == "used" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
2887 return 2;
2888 break;
2889 }
2890 case AT_UsingIfExists: {
2891 if (Name == "using_if_exists" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2892 return 0;
2893 if (Name == "using_if_exists" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2894 return 1;
2895 break;
2896 }
2897 case AT_Uuid: {
2898 if (Name == "uuid" && getSyntax() == AttributeCommonInfo::AS_Declspec && Scope == "")
2899 return 0;
2900 if (Name == "uuid" && getSyntax() == AttributeCommonInfo::AS_Microsoft && Scope == "")
2901 return 1;
2902 break;
2903 }
2904 case AT_VecReturn: {
2905 if (Name == "vecreturn" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2906 return 0;
2907 if (Name == "vecreturn" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2908 return 1;
2909 break;
2910 }
2911 case AT_VecTypeHint: {
2912 if (Name == "vec_type_hint" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2913 return 0;
2914 break;
2915 }
2916 case AT_VectorCall: {
2917 if (Name == "vectorcall" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2918 return 0;
2919 if (Name == "vectorcall" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2920 return 1;
2921 if (Name == "vectorcall" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2922 return 2;
2923 if (Name == "__vectorcall" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2924 return 3;
2925 if (Name == "_vectorcall" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
2926 return 4;
2927 break;
2928 }
2929 case AT_VectorSize: {
2930 if (Name == "vector_size" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2931 return 0;
2932 if (Name == "vector_size" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
2933 return 1;
2934 if (Name == "vector_size" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
2935 return 2;
2936 break;
2937 }
2938 case AT_Visibility: {
2939 if (Name == "visibility" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2940 return 0;
2941 if (Name == "visibility" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
2942 return 1;
2943 if (Name == "visibility" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
2944 return 2;
2945 break;
2946 }
2947 case AT_WarnUnused: {
2948 if (Name == "warn_unused" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2949 return 0;
2950 if (Name == "warn_unused" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
2951 return 1;
2952 if (Name == "warn_unused" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
2953 return 2;
2954 break;
2955 }
2956 case AT_WarnUnusedResult: {
2957 if (Name == "nodiscard" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "")
2958 return 0;
2959 if (Name == "nodiscard" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "")
2960 return 1;
2961 if (Name == "warn_unused_result" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2962 return 2;
2963 if (Name == "warn_unused_result" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2964 return 3;
2965 if (Name == "warn_unused_result" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
2966 return 4;
2967 if (Name == "warn_unused_result" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
2968 return 5;
2969 break;
2970 }
2971 case AT_Weak: {
2972 if (Name == "weak" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2973 return 0;
2974 if (Name == "weak" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
2975 return 1;
2976 if (Name == "weak" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
2977 return 2;
2978 break;
2979 }
2980 case AT_WeakImport: {
2981 if (Name == "weak_import" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2982 return 0;
2983 if (Name == "weak_import" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
2984 return 1;
2985 if (Name == "weak_import" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
2986 return 2;
2987 break;
2988 }
2989 case AT_WeakRef: {
2990 if (Name == "weakref" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
2991 return 0;
2992 if (Name == "weakref" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
2993 return 1;
2994 if (Name == "weakref" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
2995 return 2;
2996 break;
2997 }
2998 case AT_WebAssemblyExportName: {
2999 if (Name == "export_name" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
3000 return 0;
3001 if (Name == "export_name" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
3002 return 1;
3003 if (Name == "export_name" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
3004 return 2;
3005 break;
3006 }
3007 case AT_WebAssemblyFuncref: {
3008 if (Name == "__funcref" && getSyntax() == AttributeCommonInfo::AS_Keyword && Scope == "")
3009 return 0;
3010 break;
3011 }
3012 case AT_WebAssemblyImportModule: {
3013 if (Name == "import_module" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
3014 return 0;
3015 if (Name == "import_module" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
3016 return 1;
3017 if (Name == "import_module" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
3018 return 2;
3019 break;
3020 }
3021 case AT_WebAssemblyImportName: {
3022 if (Name == "import_name" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
3023 return 0;
3024 if (Name == "import_name" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
3025 return 1;
3026 if (Name == "import_name" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
3027 return 2;
3028 break;
3029 }
3030 case AT_WorkGroupSizeHint: {
3031 if (Name == "work_group_size_hint" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
3032 return 0;
3033 break;
3034 }
3035 case AT_X86ForceAlignArgPointer: {
3036 if (Name == "force_align_arg_pointer" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
3037 return 0;
3038 if (Name == "force_align_arg_pointer" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
3039 return 1;
3040 if (Name == "force_align_arg_pointer" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
3041 return 2;
3042 break;
3043 }
3044 case AT_XRayInstrument: {
3045 if (Name == "xray_always_instrument" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
3046 return 0;
3047 if (Name == "xray_always_instrument" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
3048 return 1;
3049 if (Name == "xray_always_instrument" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
3050 return 2;
3051 if (Name == "xray_never_instrument" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
3052 return 3;
3053 if (Name == "xray_never_instrument" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
3054 return 4;
3055 if (Name == "xray_never_instrument" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
3056 return 5;
3057 break;
3058 }
3059 case AT_XRayLogArgs: {
3060 if (Name == "xray_log_args" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
3061 return 0;
3062 if (Name == "xray_log_args" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "clang")
3063 return 1;
3064 if (Name == "xray_log_args" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "clang")
3065 return 2;
3066 break;
3067 }
3068 case AT_ZeroCallUsedRegs: {
3069 if (Name == "zero_call_used_regs" && getSyntax() == AttributeCommonInfo::AS_GNU && Scope == "")
3070 return 0;
3071 if (Name == "zero_call_used_regs" && getSyntax() == AttributeCommonInfo::AS_CXX11 && Scope == "gnu")
3072 return 1;
3073 if (Name == "zero_call_used_regs" && getSyntax() == AttributeCommonInfo::AS_C23 && Scope == "gnu")
3074 return 2;
3075 break;
3076 }
3077 }
3078 return 0;