Warning, /include/clang/Sema/AttrSpellingListIndex.inc is written in an unsupported language. File is not indexed.
0001 /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
0002 |* *|
0003 |* Code to translate different attribute spellings into internal identifiers *|
0004 |* *|
0005 |* Automatically generated file, do not edit! *|
0006 |* From: Attr.td *|
0007 |* *|
0008 \*===----------------------------------------------------------------------===*/
0009
0010 switch (getParsedKind()) {
0011 case IgnoredAttribute:
0012 case UnknownAttribute:
0013 case NoSemaHandlerAttribute:
0014 llvm_unreachable("Ignored/unknown shouldn't get here");
0015 case AT_AArch64SVEPcs: {
0016 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0017 return 0;
0018 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0019 return 1;
0020 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0021 return 2;
0022 break;
0023 }
0024 case AT_AArch64VectorPcs: {
0025 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0026 return 0;
0027 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0028 return 1;
0029 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0030 return 2;
0031 break;
0032 }
0033 case AT_AMDGPUFlatWorkGroupSize: {
0034 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0035 return 0;
0036 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0037 return 1;
0038 break;
0039 }
0040 case AT_AMDGPUKernelCall: {
0041 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0042 return 0;
0043 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0044 return 1;
0045 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0046 return 2;
0047 break;
0048 }
0049 case AT_AMDGPUMaxNumWorkGroups: {
0050 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0051 return 0;
0052 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0053 return 1;
0054 break;
0055 }
0056 case AT_AMDGPUNumSGPR: {
0057 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0058 return 0;
0059 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0060 return 1;
0061 break;
0062 }
0063 case AT_AMDGPUNumVGPR: {
0064 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0065 return 0;
0066 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0067 return 1;
0068 break;
0069 }
0070 case AT_AMDGPUWavesPerEU: {
0071 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0072 return 0;
0073 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0074 return 1;
0075 break;
0076 }
0077 case AT_Interrupt: {
0078 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0079 return 0;
0080 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0081 return 1;
0082 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0083 return 2;
0084 break;
0085 }
0086 case AT_AVRSignal: {
0087 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0088 return 0;
0089 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0090 return 1;
0091 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0092 return 2;
0093 break;
0094 }
0095 case AT_AbiTag: {
0096 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0097 return 0;
0098 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0099 return 1;
0100 break;
0101 }
0102 case AT_AcquireCapability: {
0103 if (Name.size() == 18 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0104 return 0;
0105 if (Name.size() == 18 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0106 return 1;
0107 if (Name.size() == 25 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0108 return 2;
0109 if (Name.size() == 25 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0110 return 3;
0111 if (Name.size() == 23 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0112 return 4;
0113 if (Name.size() == 20 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0114 return 5;
0115 break;
0116 }
0117 case AT_AcquireHandle: {
0118 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0119 return 0;
0120 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0121 return 1;
0122 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0123 return 2;
0124 break;
0125 }
0126 case AT_AcquiredAfter: {
0127 return 0;
0128 break;
0129 }
0130 case AT_AcquiredBefore: {
0131 return 0;
0132 break;
0133 }
0134 case AT_AddressSpace: {
0135 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0136 return 0;
0137 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0138 return 1;
0139 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0140 return 2;
0141 break;
0142 }
0143 case AT_Alias: {
0144 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0145 return 0;
0146 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0147 return 1;
0148 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0149 return 2;
0150 break;
0151 }
0152 case AT_AlignValue: {
0153 return 0;
0154 break;
0155 }
0156 case AT_Aligned: {
0157 if (Name == "aligned" && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0158 return 0;
0159 if (Name == "aligned" && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0160 return 1;
0161 if (Name == "aligned" && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0162 return 2;
0163 if (Name.size() == 5 && getSyntax() == AttributeCommonInfo::AS_Declspec && ComputedScope == AttributeCommonInfo::Scope::NONE)
0164 return 3;
0165 if (Name == "alignas" && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
0166 return 4;
0167 if (Name.size() == 8 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
0168 return 5;
0169 break;
0170 }
0171 case AT_AllocAlign: {
0172 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0173 return 0;
0174 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0175 return 1;
0176 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0177 return 2;
0178 break;
0179 }
0180 case AT_AllocSize: {
0181 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0182 return 0;
0183 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0184 return 1;
0185 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0186 return 2;
0187 break;
0188 }
0189 case AT_Allocating: {
0190 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0191 return 0;
0192 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0193 return 1;
0194 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0195 return 2;
0196 break;
0197 }
0198 case AT_AlwaysDestroy: {
0199 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0200 return 0;
0201 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0202 return 1;
0203 break;
0204 }
0205 case AT_AlwaysInline: {
0206 if (Name == "always_inline" && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0207 return 0;
0208 if (Name == "always_inline" && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0209 return 1;
0210 if (Name == "always_inline" && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0211 return 2;
0212 if (Name == "always_inline" && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0213 return 3;
0214 if (Name == "always_inline" && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0215 return 4;
0216 if (Name == "__forceinline" && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
0217 return 5;
0218 break;
0219 }
0220 case AT_AnalyzerNoReturn: {
0221 return 0;
0222 break;
0223 }
0224 case AT_Annotate: {
0225 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0226 return 0;
0227 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0228 return 1;
0229 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0230 return 2;
0231 break;
0232 }
0233 case AT_AnnotateType: {
0234 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0235 return 0;
0236 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0237 return 1;
0238 break;
0239 }
0240 case AT_AnyX86NoCallerSavedRegisters: {
0241 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0242 return 0;
0243 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0244 return 1;
0245 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0246 return 2;
0247 break;
0248 }
0249 case AT_AnyX86NoCfCheck: {
0250 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0251 return 0;
0252 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0253 return 1;
0254 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0255 return 2;
0256 break;
0257 }
0258 case AT_ArcWeakrefUnavailable: {
0259 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0260 return 0;
0261 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0262 return 1;
0263 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0264 return 2;
0265 break;
0266 }
0267 case AT_ArgumentWithTypeTag: {
0268 if (Name.size() == 22 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0269 return 0;
0270 if (Name.size() == 22 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0271 return 1;
0272 if (Name.size() == 22 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0273 return 2;
0274 if (Name.size() == 21 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0275 return 3;
0276 if (Name.size() == 21 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0277 return 4;
0278 if (Name.size() == 21 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0279 return 5;
0280 break;
0281 }
0282 case AT_ArmAgnostic: {
0283 return 0;
0284 break;
0285 }
0286 case AT_ArmBuiltinAlias: {
0287 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0288 return 0;
0289 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0290 return 1;
0291 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0292 return 2;
0293 break;
0294 }
0295 case AT_ArmIn: {
0296 return 0;
0297 break;
0298 }
0299 case AT_ArmInOut: {
0300 return 0;
0301 break;
0302 }
0303 case AT_ArmLocallyStreaming: {
0304 return 0;
0305 break;
0306 }
0307 case AT_ArmMveStrictPolymorphism: {
0308 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0309 return 0;
0310 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0311 return 1;
0312 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0313 return 2;
0314 break;
0315 }
0316 case AT_ArmNew: {
0317 return 0;
0318 break;
0319 }
0320 case AT_ArmOut: {
0321 return 0;
0322 break;
0323 }
0324 case AT_ArmPreserves: {
0325 return 0;
0326 break;
0327 }
0328 case AT_ArmStreaming: {
0329 return 0;
0330 break;
0331 }
0332 case AT_ArmStreamingCompatible: {
0333 return 0;
0334 break;
0335 }
0336 case AT_ArmSveVectorBits: {
0337 return 0;
0338 break;
0339 }
0340 case AT_Artificial: {
0341 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0342 return 0;
0343 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0344 return 1;
0345 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0346 return 2;
0347 break;
0348 }
0349 case AT_AssertCapability: {
0350 if (Name.size() == 17 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0351 return 0;
0352 if (Name.size() == 17 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0353 return 1;
0354 if (Name.size() == 24 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0355 return 2;
0356 if (Name.size() == 24 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0357 return 3;
0358 break;
0359 }
0360 case AT_AssertExclusiveLock: {
0361 return 0;
0362 break;
0363 }
0364 case AT_AssertSharedLock: {
0365 return 0;
0366 break;
0367 }
0368 case AT_AssumeAligned: {
0369 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0370 return 0;
0371 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0372 return 1;
0373 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0374 return 2;
0375 break;
0376 }
0377 case AT_Availability: {
0378 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0379 return 0;
0380 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0381 return 1;
0382 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0383 return 2;
0384 break;
0385 }
0386 case AT_AvailableOnlyInDefaultEvalMethod: {
0387 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0388 return 0;
0389 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0390 return 1;
0391 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0392 return 2;
0393 break;
0394 }
0395 case AT_BPFFastCall: {
0396 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0397 return 0;
0398 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0399 return 1;
0400 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0401 return 2;
0402 break;
0403 }
0404 case AT_BPFPreserveAccessIndex: {
0405 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0406 return 0;
0407 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0408 return 1;
0409 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0410 return 2;
0411 break;
0412 }
0413 case AT_BPFPreserveStaticOffset: {
0414 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0415 return 0;
0416 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0417 return 1;
0418 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0419 return 2;
0420 break;
0421 }
0422 case AT_BTFDeclTag: {
0423 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0424 return 0;
0425 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0426 return 1;
0427 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0428 return 2;
0429 break;
0430 }
0431 case AT_BTFTypeTag: {
0432 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0433 return 0;
0434 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0435 return 1;
0436 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0437 return 2;
0438 break;
0439 }
0440 case AT_Blocking: {
0441 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0442 return 0;
0443 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0444 return 1;
0445 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0446 return 2;
0447 break;
0448 }
0449 case AT_Blocks: {
0450 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0451 return 0;
0452 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0453 return 1;
0454 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0455 return 2;
0456 break;
0457 }
0458 case AT_BuiltinAlias: {
0459 if (Name.size() == 13 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0460 return 0;
0461 if (Name.size() == 13 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0462 return 1;
0463 if (Name.size() == 19 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0464 return 2;
0465 break;
0466 }
0467 case AT_CDecl: {
0468 if (Name.size() == 5 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0469 return 0;
0470 if (Name.size() == 5 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0471 return 1;
0472 if (Name.size() == 5 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0473 return 2;
0474 if (Name.size() == 7 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
0475 return 3;
0476 if (Name.size() == 6 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
0477 return 4;
0478 break;
0479 }
0480 case AT_CFAuditedTransfer: {
0481 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0482 return 0;
0483 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0484 return 1;
0485 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0486 return 2;
0487 break;
0488 }
0489 case AT_CFConsumed: {
0490 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0491 return 0;
0492 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0493 return 1;
0494 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0495 return 2;
0496 break;
0497 }
0498 case AT_CFGuard: {
0499 if (getSyntax() == AttributeCommonInfo::AS_Declspec && ComputedScope == AttributeCommonInfo::Scope::NONE)
0500 return 0;
0501 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0502 return 1;
0503 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0504 return 2;
0505 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0506 return 3;
0507 break;
0508 }
0509 case AT_CFICanonicalJumpTable: {
0510 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0511 return 0;
0512 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0513 return 1;
0514 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0515 return 2;
0516 break;
0517 }
0518 case AT_CFReturnsNotRetained: {
0519 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0520 return 0;
0521 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0522 return 1;
0523 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0524 return 2;
0525 break;
0526 }
0527 case AT_CFReturnsRetained: {
0528 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0529 return 0;
0530 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0531 return 1;
0532 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0533 return 2;
0534 break;
0535 }
0536 case AT_CFUnknownTransfer: {
0537 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0538 return 0;
0539 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0540 return 1;
0541 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0542 return 2;
0543 break;
0544 }
0545 case AT_CPUDispatch: {
0546 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0547 return 0;
0548 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0549 return 1;
0550 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0551 return 2;
0552 if (getSyntax() == AttributeCommonInfo::AS_Declspec && ComputedScope == AttributeCommonInfo::Scope::NONE)
0553 return 3;
0554 break;
0555 }
0556 case AT_CPUSpecific: {
0557 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0558 return 0;
0559 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0560 return 1;
0561 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0562 return 2;
0563 if (getSyntax() == AttributeCommonInfo::AS_Declspec && ComputedScope == AttributeCommonInfo::Scope::NONE)
0564 return 3;
0565 break;
0566 }
0567 case AT_CUDAConstant: {
0568 if (Name.size() == 8 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0569 return 0;
0570 if (Name.size() == 12 && getSyntax() == AttributeCommonInfo::AS_Declspec && ComputedScope == AttributeCommonInfo::Scope::NONE)
0571 return 1;
0572 break;
0573 }
0574 case AT_CUDADevice: {
0575 if (Name.size() == 6 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0576 return 0;
0577 if (Name.size() == 10 && getSyntax() == AttributeCommonInfo::AS_Declspec && ComputedScope == AttributeCommonInfo::Scope::NONE)
0578 return 1;
0579 break;
0580 }
0581 case AT_CUDADeviceBuiltinSurfaceType: {
0582 if (Name.size() == 27 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0583 return 0;
0584 if (Name.size() == 31 && getSyntax() == AttributeCommonInfo::AS_Declspec && ComputedScope == AttributeCommonInfo::Scope::NONE)
0585 return 1;
0586 break;
0587 }
0588 case AT_CUDADeviceBuiltinTextureType: {
0589 if (Name.size() == 27 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0590 return 0;
0591 if (Name.size() == 31 && getSyntax() == AttributeCommonInfo::AS_Declspec && ComputedScope == AttributeCommonInfo::Scope::NONE)
0592 return 1;
0593 break;
0594 }
0595 case AT_CUDAGlobal: {
0596 if (Name.size() == 6 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0597 return 0;
0598 if (Name.size() == 10 && getSyntax() == AttributeCommonInfo::AS_Declspec && ComputedScope == AttributeCommonInfo::Scope::NONE)
0599 return 1;
0600 break;
0601 }
0602 case AT_CUDAGridConstant: {
0603 if (Name.size() == 13 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0604 return 0;
0605 if (Name.size() == 17 && getSyntax() == AttributeCommonInfo::AS_Declspec && ComputedScope == AttributeCommonInfo::Scope::NONE)
0606 return 1;
0607 break;
0608 }
0609 case AT_CUDAHost: {
0610 if (Name.size() == 4 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0611 return 0;
0612 if (Name.size() == 8 && getSyntax() == AttributeCommonInfo::AS_Declspec && ComputedScope == AttributeCommonInfo::Scope::NONE)
0613 return 1;
0614 break;
0615 }
0616 case AT_CUDAInvalidTarget: {
0617 return 0;
0618 break;
0619 }
0620 case AT_CUDALaunchBounds: {
0621 if (Name.size() == 13 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0622 return 0;
0623 if (Name.size() == 17 && getSyntax() == AttributeCommonInfo::AS_Declspec && ComputedScope == AttributeCommonInfo::Scope::NONE)
0624 return 1;
0625 break;
0626 }
0627 case AT_CUDAShared: {
0628 if (Name.size() == 6 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0629 return 0;
0630 if (Name.size() == 10 && getSyntax() == AttributeCommonInfo::AS_Declspec && ComputedScope == AttributeCommonInfo::Scope::NONE)
0631 return 1;
0632 break;
0633 }
0634 case AT_CXX11NoReturn: {
0635 if (Name.size() == 8 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::NONE)
0636 return 0;
0637 if (Name.size() == 8 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::NONE)
0638 return 1;
0639 if (Name.size() == 9 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::NONE)
0640 return 2;
0641 break;
0642 }
0643 case AT_CXXAssume: {
0644 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::NONE)
0645 return 0;
0646 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0647 return 1;
0648 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0649 return 2;
0650 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0651 return 3;
0652 break;
0653 }
0654 case AT_CallableWhen: {
0655 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0656 return 0;
0657 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0658 return 1;
0659 break;
0660 }
0661 case AT_Callback: {
0662 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0663 return 0;
0664 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0665 return 1;
0666 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0667 return 2;
0668 break;
0669 }
0670 case AT_CalledOnce: {
0671 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0672 return 0;
0673 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0674 return 1;
0675 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0676 return 2;
0677 break;
0678 }
0679 case AT_Capability: {
0680 if (Name.size() == 10 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0681 return 0;
0682 if (Name.size() == 10 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0683 return 1;
0684 if (Name.size() == 17 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0685 return 2;
0686 if (Name.size() == 17 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0687 return 3;
0688 break;
0689 }
0690 case AT_CarriesDependency: {
0691 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0692 return 0;
0693 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::NONE)
0694 return 1;
0695 break;
0696 }
0697 case AT_Cleanup: {
0698 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0699 return 0;
0700 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0701 return 1;
0702 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0703 return 2;
0704 break;
0705 }
0706 case AT_ClspvLibclcBuiltin: {
0707 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0708 return 0;
0709 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0710 return 1;
0711 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0712 return 2;
0713 break;
0714 }
0715 case AT_CmseNSCall: {
0716 return 0;
0717 break;
0718 }
0719 case AT_CmseNSEntry: {
0720 return 0;
0721 break;
0722 }
0723 case AT_CodeAlign: {
0724 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0725 return 0;
0726 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0727 return 1;
0728 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0729 return 2;
0730 break;
0731 }
0732 case AT_CodeModel: {
0733 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0734 return 0;
0735 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0736 return 1;
0737 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0738 return 2;
0739 break;
0740 }
0741 case AT_CodeSeg: {
0742 return 0;
0743 break;
0744 }
0745 case AT_Cold: {
0746 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0747 return 0;
0748 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0749 return 1;
0750 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0751 return 2;
0752 break;
0753 }
0754 case AT_Common: {
0755 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0756 return 0;
0757 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0758 return 1;
0759 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0760 return 2;
0761 break;
0762 }
0763 case AT_Const: {
0764 if (Name.size() == 5 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0765 return 0;
0766 if (Name.size() == 5 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0767 return 1;
0768 if (Name.size() == 5 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0769 return 2;
0770 if (Name.size() == 7 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0771 return 3;
0772 if (Name.size() == 7 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0773 return 4;
0774 if (Name.size() == 7 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0775 return 5;
0776 break;
0777 }
0778 case AT_ConstInit: {
0779 if (Name.size() == 9 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
0780 return 0;
0781 if (Name.size() == 31 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0782 return 1;
0783 if (Name.size() == 31 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0784 return 2;
0785 break;
0786 }
0787 case AT_Constructor: {
0788 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0789 return 0;
0790 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0791 return 1;
0792 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0793 return 2;
0794 break;
0795 }
0796 case AT_Consumable: {
0797 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0798 return 0;
0799 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0800 return 1;
0801 break;
0802 }
0803 case AT_ConsumableAutoCast: {
0804 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0805 return 0;
0806 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0807 return 1;
0808 break;
0809 }
0810 case AT_ConsumableSetOnRead: {
0811 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0812 return 0;
0813 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0814 return 1;
0815 break;
0816 }
0817 case AT_Convergent: {
0818 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0819 return 0;
0820 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0821 return 1;
0822 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0823 return 2;
0824 break;
0825 }
0826 case AT_CoroAwaitElidable: {
0827 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0828 return 0;
0829 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0830 return 1;
0831 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0832 return 2;
0833 break;
0834 }
0835 case AT_CoroAwaitElidableArgument: {
0836 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0837 return 0;
0838 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0839 return 1;
0840 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0841 return 2;
0842 break;
0843 }
0844 case AT_CoroDisableLifetimeBound: {
0845 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0846 return 0;
0847 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0848 return 1;
0849 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0850 return 2;
0851 break;
0852 }
0853 case AT_CoroLifetimeBound: {
0854 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0855 return 0;
0856 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0857 return 1;
0858 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0859 return 2;
0860 break;
0861 }
0862 case AT_CoroOnlyDestroyWhenComplete: {
0863 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0864 return 0;
0865 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0866 return 1;
0867 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0868 return 2;
0869 break;
0870 }
0871 case AT_CoroReturnType: {
0872 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0873 return 0;
0874 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0875 return 1;
0876 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0877 return 2;
0878 break;
0879 }
0880 case AT_CoroWrapper: {
0881 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0882 return 0;
0883 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0884 return 1;
0885 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0886 return 2;
0887 break;
0888 }
0889 case AT_CountedBy: {
0890 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0891 return 0;
0892 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0893 return 1;
0894 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0895 return 2;
0896 break;
0897 }
0898 case AT_CountedByOrNull: {
0899 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0900 return 0;
0901 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0902 return 1;
0903 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0904 return 2;
0905 break;
0906 }
0907 case AT_DLLExport: {
0908 if (getSyntax() == AttributeCommonInfo::AS_Declspec && ComputedScope == AttributeCommonInfo::Scope::NONE)
0909 return 0;
0910 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0911 return 1;
0912 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0913 return 2;
0914 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0915 return 3;
0916 break;
0917 }
0918 case AT_DLLExportStaticLocal: {
0919 return 0;
0920 break;
0921 }
0922 case AT_DLLImport: {
0923 if (getSyntax() == AttributeCommonInfo::AS_Declspec && ComputedScope == AttributeCommonInfo::Scope::NONE)
0924 return 0;
0925 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0926 return 1;
0927 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0928 return 2;
0929 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0930 return 3;
0931 break;
0932 }
0933 case AT_DLLImportStaticLocal: {
0934 return 0;
0935 break;
0936 }
0937 case AT_Deprecated: {
0938 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0939 return 0;
0940 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0941 return 1;
0942 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0943 return 2;
0944 if (getSyntax() == AttributeCommonInfo::AS_Declspec && ComputedScope == AttributeCommonInfo::Scope::NONE)
0945 return 3;
0946 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::NONE)
0947 return 4;
0948 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::NONE)
0949 return 5;
0950 break;
0951 }
0952 case AT_Destructor: {
0953 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0954 return 0;
0955 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0956 return 1;
0957 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
0958 return 2;
0959 break;
0960 }
0961 case AT_DiagnoseAsBuiltin: {
0962 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0963 return 0;
0964 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0965 return 1;
0966 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0967 return 2;
0968 break;
0969 }
0970 case AT_DiagnoseIf: {
0971 return 0;
0972 break;
0973 }
0974 case AT_DisableSanitizerInstrumentation: {
0975 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0976 return 0;
0977 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0978 return 1;
0979 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0980 return 2;
0981 break;
0982 }
0983 case AT_DisableTailCalls: {
0984 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
0985 return 0;
0986 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0987 return 1;
0988 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
0989 return 2;
0990 break;
0991 }
0992 case AT_EmptyBases: {
0993 return 0;
0994 break;
0995 }
0996 case AT_EnableIf: {
0997 return 0;
0998 break;
0999 }
1000 case AT_EnforceTCB: {
1001 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1002 return 0;
1003 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1004 return 1;
1005 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1006 return 2;
1007 break;
1008 }
1009 case AT_EnforceTCBLeaf: {
1010 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1011 return 0;
1012 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1013 return 1;
1014 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1015 return 2;
1016 break;
1017 }
1018 case AT_EnumExtensibility: {
1019 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1020 return 0;
1021 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1022 return 1;
1023 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1024 return 2;
1025 break;
1026 }
1027 case AT_Error: {
1028 if (Name.size() == 5 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1029 return 0;
1030 if (Name.size() == 5 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1031 return 1;
1032 if (Name.size() == 5 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1033 return 2;
1034 if (Name.size() == 7 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1035 return 3;
1036 if (Name.size() == 7 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1037 return 4;
1038 if (Name.size() == 7 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1039 return 5;
1040 break;
1041 }
1042 case AT_ExcludeFromExplicitInstantiation: {
1043 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1044 return 0;
1045 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1046 return 1;
1047 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1048 return 2;
1049 break;
1050 }
1051 case AT_ExclusiveTrylockFunction: {
1052 return 0;
1053 break;
1054 }
1055 case AT_ExplicitInit: {
1056 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1057 return 0;
1058 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1059 return 1;
1060 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1061 return 2;
1062 break;
1063 }
1064 case AT_ExtVectorType: {
1065 return 0;
1066 break;
1067 }
1068 case AT_ExternalSourceSymbol: {
1069 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1070 return 0;
1071 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1072 return 1;
1073 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1074 return 2;
1075 break;
1076 }
1077 case AT_FallThrough: {
1078 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::NONE)
1079 return 0;
1080 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::NONE)
1081 return 1;
1082 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1083 return 2;
1084 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1085 return 3;
1086 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1087 return 4;
1088 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1089 return 5;
1090 break;
1091 }
1092 case AT_FastCall: {
1093 if (Name.size() == 8 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1094 return 0;
1095 if (Name.size() == 8 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1096 return 1;
1097 if (Name.size() == 8 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1098 return 2;
1099 if (Name.size() == 10 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
1100 return 3;
1101 if (Name.size() == 9 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
1102 return 4;
1103 break;
1104 }
1105 case AT_FlagEnum: {
1106 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1107 return 0;
1108 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1109 return 1;
1110 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1111 return 2;
1112 break;
1113 }
1114 case AT_Flatten: {
1115 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1116 return 0;
1117 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1118 return 1;
1119 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1120 return 2;
1121 break;
1122 }
1123 case AT_Format: {
1124 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1125 return 0;
1126 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1127 return 1;
1128 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1129 return 2;
1130 break;
1131 }
1132 case AT_FormatArg: {
1133 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1134 return 0;
1135 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1136 return 1;
1137 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1138 return 2;
1139 break;
1140 }
1141 case AT_FunctionReturnThunks: {
1142 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1143 return 0;
1144 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1145 return 1;
1146 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1147 return 2;
1148 break;
1149 }
1150 case AT_GNUInline: {
1151 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1152 return 0;
1153 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1154 return 1;
1155 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1156 return 2;
1157 break;
1158 }
1159 case AT_GuardedBy: {
1160 return 0;
1161 break;
1162 }
1163 case AT_GuardedVar: {
1164 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1165 return 0;
1166 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1167 return 1;
1168 break;
1169 }
1170 case AT_HIPManaged: {
1171 if (Name.size() == 7 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1172 return 0;
1173 if (Name.size() == 11 && getSyntax() == AttributeCommonInfo::AS_Declspec && ComputedScope == AttributeCommonInfo::Scope::NONE)
1174 return 1;
1175 break;
1176 }
1177 case AT_HLSLContainedType: {
1178 return 0;
1179 break;
1180 }
1181 case AT_HLSLControlFlowHint: {
1182 if (Name.size() == 6 && getSyntax() == AttributeCommonInfo::AS_Microsoft && ComputedScope == AttributeCommonInfo::Scope::NONE)
1183 return 0;
1184 if (Name.size() == 7 && getSyntax() == AttributeCommonInfo::AS_Microsoft && ComputedScope == AttributeCommonInfo::Scope::NONE)
1185 return 1;
1186 break;
1187 }
1188 case AT_HLSLGroupSharedAddressSpace: {
1189 return 0;
1190 break;
1191 }
1192 case AT_HLSLLoopHint: {
1193 if (Name.size() == 6 && getSyntax() == AttributeCommonInfo::AS_Microsoft && ComputedScope == AttributeCommonInfo::Scope::NONE)
1194 return 0;
1195 if (Name.size() == 4 && getSyntax() == AttributeCommonInfo::AS_Microsoft && ComputedScope == AttributeCommonInfo::Scope::NONE)
1196 return 1;
1197 break;
1198 }
1199 case AT_HLSLNumThreads: {
1200 return 0;
1201 break;
1202 }
1203 case AT_HLSLPackOffset: {
1204 return 0;
1205 break;
1206 }
1207 case AT_HLSLParamModifier: {
1208 if (Name.size() == 2 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
1209 return 0;
1210 if (Name.size() == 5 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
1211 return 1;
1212 if (Name.size() == 3 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
1213 return 2;
1214 break;
1215 }
1216 case AT_HLSLROV: {
1217 return 0;
1218 break;
1219 }
1220 case AT_HLSLRawBuffer: {
1221 return 0;
1222 break;
1223 }
1224 case AT_HLSLResource: {
1225 return 0;
1226 break;
1227 }
1228 case AT_HLSLResourceBinding: {
1229 return 0;
1230 break;
1231 }
1232 case AT_HLSLResourceClass: {
1233 return 0;
1234 break;
1235 }
1236 case AT_HLSLSV_DispatchThreadID: {
1237 return 0;
1238 break;
1239 }
1240 case AT_HLSLSV_GroupID: {
1241 return 0;
1242 break;
1243 }
1244 case AT_HLSLSV_GroupIndex: {
1245 return 0;
1246 break;
1247 }
1248 case AT_HLSLSV_GroupThreadID: {
1249 return 0;
1250 break;
1251 }
1252 case AT_HLSLShader: {
1253 return 0;
1254 break;
1255 }
1256 case AT_HLSLWaveSize: {
1257 return 0;
1258 break;
1259 }
1260 case AT_Hot: {
1261 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1262 return 0;
1263 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1264 return 1;
1265 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1266 return 2;
1267 break;
1268 }
1269 case AT_HybridPatchable: {
1270 if (getSyntax() == AttributeCommonInfo::AS_Declspec && ComputedScope == AttributeCommonInfo::Scope::NONE)
1271 return 0;
1272 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1273 return 1;
1274 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1275 return 2;
1276 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1277 return 3;
1278 break;
1279 }
1280 case AT_IBAction: {
1281 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1282 return 0;
1283 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1284 return 1;
1285 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1286 return 2;
1287 break;
1288 }
1289 case AT_IBOutlet: {
1290 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1291 return 0;
1292 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1293 return 1;
1294 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1295 return 2;
1296 break;
1297 }
1298 case AT_IBOutletCollection: {
1299 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1300 return 0;
1301 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1302 return 1;
1303 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1304 return 2;
1305 break;
1306 }
1307 case AT_IFunc: {
1308 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1309 return 0;
1310 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1311 return 1;
1312 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1313 return 2;
1314 break;
1315 }
1316 case AT_InitPriority: {
1317 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1318 return 0;
1319 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1320 return 1;
1321 break;
1322 }
1323 case AT_IntelOclBicc: {
1324 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1325 return 0;
1326 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1327 return 1;
1328 break;
1329 }
1330 case AT_InternalLinkage: {
1331 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1332 return 0;
1333 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1334 return 1;
1335 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1336 return 2;
1337 break;
1338 }
1339 case AT_LTOVisibilityPublic: {
1340 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1341 return 0;
1342 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1343 return 1;
1344 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1345 return 2;
1346 break;
1347 }
1348 case AT_LayoutVersion: {
1349 return 0;
1350 break;
1351 }
1352 case AT_Leaf: {
1353 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1354 return 0;
1355 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1356 return 1;
1357 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1358 return 2;
1359 break;
1360 }
1361 case AT_LifetimeBound: {
1362 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1363 return 0;
1364 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1365 return 1;
1366 break;
1367 }
1368 case AT_LifetimeCaptureBy: {
1369 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1370 return 0;
1371 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1372 return 1;
1373 break;
1374 }
1375 case AT_Likely: {
1376 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::NONE)
1377 return 0;
1378 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1379 return 1;
1380 break;
1381 }
1382 case AT_LoaderUninitialized: {
1383 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1384 return 0;
1385 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1386 return 1;
1387 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1388 return 2;
1389 break;
1390 }
1391 case AT_LockReturned: {
1392 return 0;
1393 break;
1394 }
1395 case AT_Lockable: {
1396 return 0;
1397 break;
1398 }
1399 case AT_LocksExcluded: {
1400 return 0;
1401 break;
1402 }
1403 case AT_LoopHint: {
1404 if (Name.size() == 4 && getSyntax() == AttributeCommonInfo::AS_Pragma && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1405 return 0;
1406 if (Name.size() == 6 && getSyntax() == AttributeCommonInfo::AS_Pragma && ComputedScope == AttributeCommonInfo::Scope::NONE)
1407 return 1;
1408 if (Name.size() == 8 && getSyntax() == AttributeCommonInfo::AS_Pragma && ComputedScope == AttributeCommonInfo::Scope::NONE)
1409 return 2;
1410 if (Name.size() == 14 && getSyntax() == AttributeCommonInfo::AS_Pragma && ComputedScope == AttributeCommonInfo::Scope::NONE)
1411 return 3;
1412 if (Name.size() == 16 && getSyntax() == AttributeCommonInfo::AS_Pragma && ComputedScope == AttributeCommonInfo::Scope::NONE)
1413 return 4;
1414 break;
1415 }
1416 case AT_M68kRTD: {
1417 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1418 return 0;
1419 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1420 return 1;
1421 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1422 return 2;
1423 break;
1424 }
1425 case AT_MIGServerRoutine: {
1426 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1427 return 0;
1428 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1429 return 1;
1430 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1431 return 2;
1432 break;
1433 }
1434 case AT_MSABI: {
1435 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1436 return 0;
1437 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1438 return 1;
1439 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1440 return 2;
1441 break;
1442 }
1443 case AT_MSAllocator: {
1444 return 0;
1445 break;
1446 }
1447 case AT_MSConstexpr: {
1448 return 0;
1449 break;
1450 }
1451 case AT_MSInheritance: {
1452 if (Name.size() == 20 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
1453 return 0;
1454 if (Name.size() == 22 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
1455 return 1;
1456 if (Name.size() == 21 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
1457 return 2;
1458 if (Name.size() == 25 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
1459 return 3;
1460 break;
1461 }
1462 case AT_MSNoVTable: {
1463 return 0;
1464 break;
1465 }
1466 case AT_MSStruct: {
1467 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1468 return 0;
1469 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1470 return 1;
1471 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1472 return 2;
1473 break;
1474 }
1475 case AT_MatrixType: {
1476 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1477 return 0;
1478 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1479 return 1;
1480 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1481 return 2;
1482 break;
1483 }
1484 case AT_MayAlias: {
1485 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1486 return 0;
1487 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1488 return 1;
1489 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1490 return 2;
1491 break;
1492 }
1493 case AT_MaybeUndef: {
1494 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1495 return 0;
1496 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1497 return 1;
1498 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1499 return 2;
1500 break;
1501 }
1502 case AT_MicroMips: {
1503 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1504 return 0;
1505 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1506 return 1;
1507 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1508 return 2;
1509 break;
1510 }
1511 case AT_MinSize: {
1512 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1513 return 0;
1514 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1515 return 1;
1516 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1517 return 2;
1518 break;
1519 }
1520 case AT_MinVectorWidth: {
1521 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1522 return 0;
1523 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1524 return 1;
1525 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1526 return 2;
1527 break;
1528 }
1529 case AT_Mips16: {
1530 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1531 return 0;
1532 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1533 return 1;
1534 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1535 return 2;
1536 break;
1537 }
1538 case AT_MipsLongCall: {
1539 if (Name.size() == 9 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1540 return 0;
1541 if (Name.size() == 9 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1542 return 1;
1543 if (Name.size() == 9 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1544 return 2;
1545 if (Name.size() == 3 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1546 return 3;
1547 if (Name.size() == 3 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1548 return 4;
1549 if (Name.size() == 3 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1550 return 5;
1551 break;
1552 }
1553 case AT_MipsShortCall: {
1554 if (Name.size() == 10 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1555 return 0;
1556 if (Name.size() == 10 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1557 return 1;
1558 if (Name.size() == 10 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1559 return 2;
1560 if (Name.size() == 4 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1561 return 3;
1562 if (Name.size() == 4 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1563 return 4;
1564 if (Name.size() == 4 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1565 return 5;
1566 break;
1567 }
1568 case AT_Mode: {
1569 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1570 return 0;
1571 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1572 return 1;
1573 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1574 return 2;
1575 break;
1576 }
1577 case AT_MustTail: {
1578 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1579 return 0;
1580 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1581 return 1;
1582 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1583 return 2;
1584 break;
1585 }
1586 case AT_NSConsumed: {
1587 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1588 return 0;
1589 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1590 return 1;
1591 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1592 return 2;
1593 break;
1594 }
1595 case AT_NSConsumesSelf: {
1596 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1597 return 0;
1598 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1599 return 1;
1600 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1601 return 2;
1602 break;
1603 }
1604 case AT_NSErrorDomain: {
1605 return 0;
1606 break;
1607 }
1608 case AT_NSReturnsAutoreleased: {
1609 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1610 return 0;
1611 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1612 return 1;
1613 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1614 return 2;
1615 break;
1616 }
1617 case AT_NSReturnsNotRetained: {
1618 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1619 return 0;
1620 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1621 return 1;
1622 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1623 return 2;
1624 break;
1625 }
1626 case AT_NSReturnsRetained: {
1627 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1628 return 0;
1629 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1630 return 1;
1631 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1632 return 2;
1633 break;
1634 }
1635 case AT_NVPTXKernel: {
1636 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1637 return 0;
1638 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1639 return 1;
1640 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1641 return 2;
1642 break;
1643 }
1644 case AT_Naked: {
1645 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1646 return 0;
1647 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1648 return 1;
1649 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1650 return 2;
1651 if (getSyntax() == AttributeCommonInfo::AS_Declspec && ComputedScope == AttributeCommonInfo::Scope::NONE)
1652 return 3;
1653 break;
1654 }
1655 case AT_NeonPolyVectorType: {
1656 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1657 return 0;
1658 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1659 return 1;
1660 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1661 return 2;
1662 break;
1663 }
1664 case AT_NeonVectorType: {
1665 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1666 return 0;
1667 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1668 return 1;
1669 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1670 return 2;
1671 break;
1672 }
1673 case AT_NoAlias: {
1674 return 0;
1675 break;
1676 }
1677 case AT_NoBuiltin: {
1678 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1679 return 0;
1680 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1681 return 1;
1682 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1683 return 2;
1684 break;
1685 }
1686 case AT_NoCommon: {
1687 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1688 return 0;
1689 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1690 return 1;
1691 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1692 return 2;
1693 break;
1694 }
1695 case AT_NoConvergent: {
1696 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1697 return 0;
1698 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1699 return 1;
1700 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1701 return 2;
1702 if (getSyntax() == AttributeCommonInfo::AS_Declspec && ComputedScope == AttributeCommonInfo::Scope::NONE)
1703 return 3;
1704 break;
1705 }
1706 case AT_NoDebug: {
1707 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1708 return 0;
1709 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1710 return 1;
1711 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1712 return 2;
1713 break;
1714 }
1715 case AT_NoDeref: {
1716 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1717 return 0;
1718 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1719 return 1;
1720 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1721 return 2;
1722 break;
1723 }
1724 case AT_NoDestroy: {
1725 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1726 return 0;
1727 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1728 return 1;
1729 break;
1730 }
1731 case AT_NoDuplicate: {
1732 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1733 return 0;
1734 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1735 return 1;
1736 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1737 return 2;
1738 break;
1739 }
1740 case AT_NoEscape: {
1741 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1742 return 0;
1743 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1744 return 1;
1745 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1746 return 2;
1747 break;
1748 }
1749 case AT_NoInline: {
1750 if (Name.size() == 12 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
1751 return 0;
1752 if (Name.size() == 8 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1753 return 1;
1754 if (Name.size() == 8 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1755 return 2;
1756 if (Name.size() == 8 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1757 return 3;
1758 if (Name.size() == 8 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1759 return 4;
1760 if (Name.size() == 8 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1761 return 5;
1762 if (Name.size() == 8 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::MSVC)
1763 return 6;
1764 if (Name.size() == 8 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::MSVC)
1765 return 7;
1766 if (Name.size() == 8 && getSyntax() == AttributeCommonInfo::AS_Declspec && ComputedScope == AttributeCommonInfo::Scope::NONE)
1767 return 8;
1768 break;
1769 }
1770 case AT_NoInstrumentFunction: {
1771 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1772 return 0;
1773 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1774 return 1;
1775 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1776 return 2;
1777 break;
1778 }
1779 case AT_NoMerge: {
1780 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1781 return 0;
1782 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1783 return 1;
1784 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1785 return 2;
1786 break;
1787 }
1788 case AT_NoMicroMips: {
1789 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1790 return 0;
1791 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1792 return 1;
1793 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1794 return 2;
1795 break;
1796 }
1797 case AT_NoMips16: {
1798 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1799 return 0;
1800 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1801 return 1;
1802 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1803 return 2;
1804 break;
1805 }
1806 case AT_NoProfileFunction: {
1807 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1808 return 0;
1809 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1810 return 1;
1811 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1812 return 2;
1813 break;
1814 }
1815 case AT_NoRandomizeLayout: {
1816 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1817 return 0;
1818 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1819 return 1;
1820 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1821 return 2;
1822 break;
1823 }
1824 case AT_NoReturn: {
1825 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1826 return 0;
1827 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1828 return 1;
1829 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1830 return 2;
1831 if (getSyntax() == AttributeCommonInfo::AS_Declspec && ComputedScope == AttributeCommonInfo::Scope::NONE)
1832 return 3;
1833 break;
1834 }
1835 case AT_NoSanitize: {
1836 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1837 return 0;
1838 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1839 return 1;
1840 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1841 return 2;
1842 break;
1843 }
1844 case AT_NoSanitizeSpecific: {
1845 if (Name.size() == 26 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1846 return 0;
1847 if (Name.size() == 26 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1848 return 1;
1849 if (Name.size() == 26 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1850 return 2;
1851 if (Name.size() == 19 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1852 return 3;
1853 if (Name.size() == 19 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1854 return 4;
1855 if (Name.size() == 19 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1856 return 5;
1857 if (Name == "no_sanitize_thread" && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1858 return 6;
1859 if (Name == "no_sanitize_thread" && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1860 return 7;
1861 if (Name == "no_sanitize_thread" && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1862 return 8;
1863 if (Name == "no_sanitize_memory" && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1864 return 9;
1865 if (Name == "no_sanitize_memory" && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1866 return 10;
1867 if (Name == "no_sanitize_memory" && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1868 return 11;
1869 break;
1870 }
1871 case AT_NoSpecializations: {
1872 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1873 return 0;
1874 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1875 return 1;
1876 break;
1877 }
1878 case AT_NoSpeculativeLoadHardening: {
1879 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1880 return 0;
1881 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1882 return 1;
1883 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1884 return 2;
1885 break;
1886 }
1887 case AT_NoSplitStack: {
1888 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1889 return 0;
1890 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1891 return 1;
1892 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1893 return 2;
1894 break;
1895 }
1896 case AT_NoStackProtector: {
1897 if (Name.size() == 18 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1898 return 0;
1899 if (Name.size() == 18 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1900 return 1;
1901 if (Name.size() == 18 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1902 return 2;
1903 if (Name.size() == 18 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1904 return 3;
1905 if (Name.size() == 18 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1906 return 4;
1907 if (Name.size() == 11 && getSyntax() == AttributeCommonInfo::AS_Declspec && ComputedScope == AttributeCommonInfo::Scope::NONE)
1908 return 5;
1909 break;
1910 }
1911 case AT_NoThreadSafetyAnalysis: {
1912 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1913 return 0;
1914 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1915 return 1;
1916 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1917 return 2;
1918 break;
1919 }
1920 case AT_NoThrow: {
1921 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1922 return 0;
1923 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1924 return 1;
1925 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1926 return 2;
1927 if (getSyntax() == AttributeCommonInfo::AS_Declspec && ComputedScope == AttributeCommonInfo::Scope::NONE)
1928 return 3;
1929 break;
1930 }
1931 case AT_NoTrivialAutoVarInit: {
1932 return 0;
1933 break;
1934 }
1935 case AT_NoUniqueAddress: {
1936 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::NONE)
1937 return 0;
1938 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::MSVC)
1939 return 1;
1940 break;
1941 }
1942 case AT_NoUwtable: {
1943 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1944 return 0;
1945 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1946 return 1;
1947 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1948 return 2;
1949 break;
1950 }
1951 case AT_NonAllocating: {
1952 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1953 return 0;
1954 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1955 return 1;
1956 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1957 return 2;
1958 break;
1959 }
1960 case AT_NonBlocking: {
1961 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1962 return 0;
1963 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1964 return 1;
1965 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1966 return 2;
1967 break;
1968 }
1969 case AT_NonNull: {
1970 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1971 return 0;
1972 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1973 return 1;
1974 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
1975 return 2;
1976 break;
1977 }
1978 case AT_NotTailCalled: {
1979 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1980 return 0;
1981 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1982 return 1;
1983 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1984 return 2;
1985 break;
1986 }
1987 case AT_OMPAssume: {
1988 return 0;
1989 break;
1990 }
1991 case AT_OSConsumed: {
1992 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
1993 return 0;
1994 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1995 return 1;
1996 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
1997 return 2;
1998 break;
1999 }
2000 case AT_OSConsumesThis: {
2001 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2002 return 0;
2003 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2004 return 1;
2005 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2006 return 2;
2007 break;
2008 }
2009 case AT_OSReturnsNotRetained: {
2010 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2011 return 0;
2012 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2013 return 1;
2014 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2015 return 2;
2016 break;
2017 }
2018 case AT_OSReturnsRetained: {
2019 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2020 return 0;
2021 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2022 return 1;
2023 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2024 return 2;
2025 break;
2026 }
2027 case AT_OSReturnsRetainedOnNonZero: {
2028 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2029 return 0;
2030 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2031 return 1;
2032 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2033 return 2;
2034 break;
2035 }
2036 case AT_OSReturnsRetainedOnZero: {
2037 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2038 return 0;
2039 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2040 return 1;
2041 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2042 return 2;
2043 break;
2044 }
2045 case AT_ObjCBoxable: {
2046 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2047 return 0;
2048 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2049 return 1;
2050 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2051 return 2;
2052 break;
2053 }
2054 case AT_ObjCBridge: {
2055 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2056 return 0;
2057 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2058 return 1;
2059 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2060 return 2;
2061 break;
2062 }
2063 case AT_ObjCBridgeMutable: {
2064 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2065 return 0;
2066 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2067 return 1;
2068 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2069 return 2;
2070 break;
2071 }
2072 case AT_ObjCBridgeRelated: {
2073 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2074 return 0;
2075 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2076 return 1;
2077 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2078 return 2;
2079 break;
2080 }
2081 case AT_ObjCClassStub: {
2082 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2083 return 0;
2084 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2085 return 1;
2086 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2087 return 2;
2088 break;
2089 }
2090 case AT_ObjCDesignatedInitializer: {
2091 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2092 return 0;
2093 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2094 return 1;
2095 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2096 return 2;
2097 break;
2098 }
2099 case AT_ObjCDirect: {
2100 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2101 return 0;
2102 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2103 return 1;
2104 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2105 return 2;
2106 break;
2107 }
2108 case AT_ObjCDirectMembers: {
2109 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2110 return 0;
2111 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2112 return 1;
2113 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2114 return 2;
2115 break;
2116 }
2117 case AT_ObjCException: {
2118 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2119 return 0;
2120 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2121 return 1;
2122 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2123 return 2;
2124 break;
2125 }
2126 case AT_ObjCExplicitProtocolImpl: {
2127 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2128 return 0;
2129 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2130 return 1;
2131 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2132 return 2;
2133 break;
2134 }
2135 case AT_ObjCExternallyRetained: {
2136 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2137 return 0;
2138 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2139 return 1;
2140 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2141 return 2;
2142 break;
2143 }
2144 case AT_ObjCGC: {
2145 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2146 return 0;
2147 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2148 return 1;
2149 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2150 return 2;
2151 break;
2152 }
2153 case AT_ObjCIndependentClass: {
2154 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2155 return 0;
2156 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2157 return 1;
2158 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2159 return 2;
2160 break;
2161 }
2162 case AT_ObjCInertUnsafeUnretained: {
2163 return 0;
2164 break;
2165 }
2166 case AT_ObjCKindOf: {
2167 return 0;
2168 break;
2169 }
2170 case AT_ObjCMethodFamily: {
2171 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2172 return 0;
2173 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2174 return 1;
2175 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2176 return 2;
2177 break;
2178 }
2179 case AT_ObjCNSObject: {
2180 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2181 return 0;
2182 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2183 return 1;
2184 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2185 return 2;
2186 break;
2187 }
2188 case AT_ObjCNonLazyClass: {
2189 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2190 return 0;
2191 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2192 return 1;
2193 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2194 return 2;
2195 break;
2196 }
2197 case AT_ObjCNonRuntimeProtocol: {
2198 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2199 return 0;
2200 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2201 return 1;
2202 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2203 return 2;
2204 break;
2205 }
2206 case AT_ObjCOwnership: {
2207 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2208 return 0;
2209 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2210 return 1;
2211 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2212 return 2;
2213 break;
2214 }
2215 case AT_ObjCPreciseLifetime: {
2216 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2217 return 0;
2218 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2219 return 1;
2220 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2221 return 2;
2222 break;
2223 }
2224 case AT_ObjCRequiresPropertyDefs: {
2225 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2226 return 0;
2227 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2228 return 1;
2229 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2230 return 2;
2231 break;
2232 }
2233 case AT_ObjCRequiresSuper: {
2234 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2235 return 0;
2236 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2237 return 1;
2238 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2239 return 2;
2240 break;
2241 }
2242 case AT_ObjCReturnsInnerPointer: {
2243 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2244 return 0;
2245 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2246 return 1;
2247 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2248 return 2;
2249 break;
2250 }
2251 case AT_ObjCRootClass: {
2252 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2253 return 0;
2254 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2255 return 1;
2256 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2257 return 2;
2258 break;
2259 }
2260 case AT_ObjCRuntimeName: {
2261 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2262 return 0;
2263 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2264 return 1;
2265 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2266 return 2;
2267 break;
2268 }
2269 case AT_ObjCRuntimeVisible: {
2270 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2271 return 0;
2272 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2273 return 1;
2274 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2275 return 2;
2276 break;
2277 }
2278 case AT_ObjCSubclassingRestricted: {
2279 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2280 return 0;
2281 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2282 return 1;
2283 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2284 return 2;
2285 break;
2286 }
2287 case AT_OpenCLAccess: {
2288 if (Name.size() == 11 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
2289 return 0;
2290 if (Name.size() == 9 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
2291 return 1;
2292 if (Name == "__write_only" && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
2293 return 2;
2294 if (Name == "write_only" && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
2295 return 3;
2296 if (Name == "__read_write" && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
2297 return 4;
2298 if (Name == "read_write" && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
2299 return 5;
2300 break;
2301 }
2302 case AT_OpenCLConstantAddressSpace: {
2303 if (Name.size() == 10 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
2304 return 0;
2305 if (Name.size() == 8 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
2306 return 1;
2307 if (Name.size() == 15 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2308 return 2;
2309 if (Name.size() == 15 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2310 return 3;
2311 if (Name.size() == 15 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2312 return 4;
2313 break;
2314 }
2315 case AT_OpenCLGenericAddressSpace: {
2316 if (Name.size() == 9 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
2317 return 0;
2318 if (Name.size() == 7 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
2319 return 1;
2320 if (Name.size() == 14 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2321 return 2;
2322 if (Name.size() == 14 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2323 return 3;
2324 if (Name.size() == 14 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2325 return 4;
2326 break;
2327 }
2328 case AT_OpenCLGlobalAddressSpace: {
2329 if (Name.size() == 8 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
2330 return 0;
2331 if (Name.size() == 6 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
2332 return 1;
2333 if (Name.size() == 13 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2334 return 2;
2335 if (Name.size() == 13 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2336 return 3;
2337 if (Name.size() == 13 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2338 return 4;
2339 break;
2340 }
2341 case AT_OpenCLGlobalDeviceAddressSpace: {
2342 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2343 return 0;
2344 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2345 return 1;
2346 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2347 return 2;
2348 break;
2349 }
2350 case AT_OpenCLGlobalHostAddressSpace: {
2351 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2352 return 0;
2353 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2354 return 1;
2355 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2356 return 2;
2357 break;
2358 }
2359 case AT_OpenCLIntelReqdSubGroupSize: {
2360 return 0;
2361 break;
2362 }
2363 case AT_OpenCLKernel: {
2364 if (Name.size() == 8 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
2365 return 0;
2366 if (Name.size() == 6 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
2367 return 1;
2368 break;
2369 }
2370 case AT_OpenCLLocalAddressSpace: {
2371 if (Name.size() == 7 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
2372 return 0;
2373 if (Name.size() == 5 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
2374 return 1;
2375 if (Name.size() == 12 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2376 return 2;
2377 if (Name.size() == 12 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2378 return 3;
2379 if (Name.size() == 12 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2380 return 4;
2381 break;
2382 }
2383 case AT_OpenCLNoSVM: {
2384 return 0;
2385 break;
2386 }
2387 case AT_OpenCLPrivateAddressSpace: {
2388 if (Name.size() == 9 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
2389 return 0;
2390 if (Name.size() == 7 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
2391 return 1;
2392 if (Name.size() == 14 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2393 return 2;
2394 if (Name.size() == 14 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2395 return 3;
2396 if (Name.size() == 14 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2397 return 4;
2398 break;
2399 }
2400 case AT_OpenCLUnrollHint: {
2401 return 0;
2402 break;
2403 }
2404 case AT_OptimizeNone: {
2405 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2406 return 0;
2407 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2408 return 1;
2409 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2410 return 2;
2411 break;
2412 }
2413 case AT_Overloadable: {
2414 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2415 return 0;
2416 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2417 return 1;
2418 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2419 return 2;
2420 break;
2421 }
2422 case AT_Owner: {
2423 return 0;
2424 break;
2425 }
2426 case AT_Ownership: {
2427 if (Name == "ownership_holds" && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2428 return 0;
2429 if (Name == "ownership_holds" && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2430 return 1;
2431 if (Name == "ownership_holds" && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2432 return 2;
2433 if (Name.size() == 17 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2434 return 3;
2435 if (Name.size() == 17 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2436 return 4;
2437 if (Name.size() == 17 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2438 return 5;
2439 if (Name == "ownership_takes" && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2440 return 6;
2441 if (Name == "ownership_takes" && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2442 return 7;
2443 if (Name == "ownership_takes" && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2444 return 8;
2445 break;
2446 }
2447 case AT_Packed: {
2448 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2449 return 0;
2450 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
2451 return 1;
2452 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
2453 return 2;
2454 break;
2455 }
2456 case AT_ParamTypestate: {
2457 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2458 return 0;
2459 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2460 return 1;
2461 break;
2462 }
2463 case AT_Pascal: {
2464 if (Name.size() == 6 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2465 return 0;
2466 if (Name.size() == 6 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2467 return 1;
2468 if (Name.size() == 6 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2469 return 2;
2470 if (Name.size() == 8 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
2471 return 3;
2472 if (Name.size() == 7 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
2473 return 4;
2474 break;
2475 }
2476 case AT_PassObjectSize: {
2477 if (Name.size() == 16 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2478 return 0;
2479 if (Name.size() == 16 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2480 return 1;
2481 if (Name.size() == 16 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2482 return 2;
2483 if (Name.size() == 24 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2484 return 3;
2485 if (Name.size() == 24 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2486 return 4;
2487 if (Name.size() == 24 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2488 return 5;
2489 break;
2490 }
2491 case AT_PatchableFunctionEntry: {
2492 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2493 return 0;
2494 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
2495 return 1;
2496 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
2497 return 2;
2498 break;
2499 }
2500 case AT_Pcs: {
2501 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2502 return 0;
2503 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
2504 return 1;
2505 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
2506 return 2;
2507 break;
2508 }
2509 case AT_Pointer: {
2510 return 0;
2511 break;
2512 }
2513 case AT_PragmaClangBSSSection: {
2514 return 0;
2515 break;
2516 }
2517 case AT_PragmaClangDataSection: {
2518 return 0;
2519 break;
2520 }
2521 case AT_PragmaClangRelroSection: {
2522 return 0;
2523 break;
2524 }
2525 case AT_PragmaClangRodataSection: {
2526 return 0;
2527 break;
2528 }
2529 case AT_PragmaClangTextSection: {
2530 return 0;
2531 break;
2532 }
2533 case AT_PreferredName: {
2534 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2535 return 0;
2536 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2537 return 1;
2538 break;
2539 }
2540 case AT_PreferredType: {
2541 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2542 return 0;
2543 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2544 return 1;
2545 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2546 return 2;
2547 break;
2548 }
2549 case AT_PreserveAll: {
2550 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2551 return 0;
2552 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2553 return 1;
2554 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2555 return 2;
2556 break;
2557 }
2558 case AT_PreserveMost: {
2559 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2560 return 0;
2561 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2562 return 1;
2563 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2564 return 2;
2565 break;
2566 }
2567 case AT_PreserveNone: {
2568 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2569 return 0;
2570 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2571 return 1;
2572 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2573 return 2;
2574 break;
2575 }
2576 case AT_PtGuardedBy: {
2577 return 0;
2578 break;
2579 }
2580 case AT_PtGuardedVar: {
2581 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2582 return 0;
2583 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2584 return 1;
2585 break;
2586 }
2587 case AT_Ptr32: {
2588 return 0;
2589 break;
2590 }
2591 case AT_Ptr64: {
2592 return 0;
2593 break;
2594 }
2595 case AT_Pure: {
2596 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2597 return 0;
2598 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
2599 return 1;
2600 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
2601 return 2;
2602 break;
2603 }
2604 case AT_RISCVRVVVectorBits: {
2605 return 0;
2606 break;
2607 }
2608 case AT_RISCVVectorCC: {
2609 if (Name.size() == 9 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::RISCV)
2610 return 0;
2611 if (Name.size() == 9 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::RISCV)
2612 return 1;
2613 if (Name.size() == 15 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2614 return 2;
2615 if (Name.size() == 15 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2616 return 3;
2617 if (Name.size() == 15 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2618 return 4;
2619 break;
2620 }
2621 case AT_RandomizeLayout: {
2622 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2623 return 0;
2624 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
2625 return 1;
2626 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
2627 return 2;
2628 break;
2629 }
2630 case AT_ReadOnlyPlacement: {
2631 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2632 return 0;
2633 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2634 return 1;
2635 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2636 return 2;
2637 break;
2638 }
2639 case AT_RegCall: {
2640 if (Name.size() == 7 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2641 return 0;
2642 if (Name.size() == 7 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
2643 return 1;
2644 if (Name.size() == 7 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
2645 return 2;
2646 if (Name.size() == 9 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
2647 return 3;
2648 break;
2649 }
2650 case AT_Regparm: {
2651 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2652 return 0;
2653 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
2654 return 1;
2655 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
2656 return 2;
2657 break;
2658 }
2659 case AT_Reinitializes: {
2660 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2661 return 0;
2662 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2663 return 1;
2664 break;
2665 }
2666 case AT_ReleaseCapability: {
2667 if (Name.size() == 18 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2668 return 0;
2669 if (Name.size() == 18 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2670 return 1;
2671 if (Name.size() == 25 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2672 return 2;
2673 if (Name.size() == 25 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2674 return 3;
2675 if (Name.size() == 26 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2676 return 4;
2677 if (Name.size() == 26 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2678 return 5;
2679 if (Name.size() == 15 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2680 return 6;
2681 if (Name.size() == 15 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2682 return 7;
2683 break;
2684 }
2685 case AT_ReleaseHandle: {
2686 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2687 return 0;
2688 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2689 return 1;
2690 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2691 return 2;
2692 break;
2693 }
2694 case AT_ReqdWorkGroupSize: {
2695 return 0;
2696 break;
2697 }
2698 case AT_RequiresCapability: {
2699 if (Name.size() == 19 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2700 return 0;
2701 if (Name.size() == 19 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2702 return 1;
2703 if (Name.size() == 24 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2704 return 2;
2705 if (Name.size() == 24 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2706 return 3;
2707 if (Name.size() == 26 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2708 return 4;
2709 if (Name.size() == 26 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2710 return 5;
2711 if (Name.size() == 21 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2712 return 6;
2713 if (Name.size() == 21 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2714 return 7;
2715 break;
2716 }
2717 case AT_Restrict: {
2718 if (Name.size() == 8 && getSyntax() == AttributeCommonInfo::AS_Declspec && ComputedScope == AttributeCommonInfo::Scope::NONE)
2719 return 0;
2720 if (Name.size() == 6 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2721 return 1;
2722 if (Name.size() == 6 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
2723 return 2;
2724 if (Name.size() == 6 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
2725 return 3;
2726 break;
2727 }
2728 case AT_Retain: {
2729 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2730 return 0;
2731 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
2732 return 1;
2733 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
2734 return 2;
2735 break;
2736 }
2737 case AT_ReturnTypestate: {
2738 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2739 return 0;
2740 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2741 return 1;
2742 break;
2743 }
2744 case AT_ReturnsNonNull: {
2745 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2746 return 0;
2747 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
2748 return 1;
2749 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
2750 return 2;
2751 break;
2752 }
2753 case AT_ReturnsTwice: {
2754 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2755 return 0;
2756 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
2757 return 1;
2758 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
2759 return 2;
2760 break;
2761 }
2762 case AT_SPtr: {
2763 return 0;
2764 break;
2765 }
2766 case AT_SYCLKernel: {
2767 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2768 return 0;
2769 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2770 return 1;
2771 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2772 return 2;
2773 break;
2774 }
2775 case AT_SYCLKernelEntryPoint: {
2776 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2777 return 0;
2778 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2779 return 1;
2780 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2781 return 2;
2782 break;
2783 }
2784 case AT_SYCLSpecialClass: {
2785 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2786 return 0;
2787 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2788 return 1;
2789 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2790 return 2;
2791 break;
2792 }
2793 case AT_ScopedLockable: {
2794 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2795 return 0;
2796 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2797 return 1;
2798 break;
2799 }
2800 case AT_Section: {
2801 if (Name.size() == 7 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2802 return 0;
2803 if (Name.size() == 7 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
2804 return 1;
2805 if (Name.size() == 7 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
2806 return 2;
2807 if (Name.size() == 8 && getSyntax() == AttributeCommonInfo::AS_Declspec && ComputedScope == AttributeCommonInfo::Scope::NONE)
2808 return 3;
2809 break;
2810 }
2811 case AT_SelectAny: {
2812 if (getSyntax() == AttributeCommonInfo::AS_Declspec && ComputedScope == AttributeCommonInfo::Scope::NONE)
2813 return 0;
2814 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2815 return 1;
2816 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
2817 return 2;
2818 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
2819 return 3;
2820 break;
2821 }
2822 case AT_Sentinel: {
2823 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2824 return 0;
2825 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
2826 return 1;
2827 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
2828 return 2;
2829 break;
2830 }
2831 case AT_SetTypestate: {
2832 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2833 return 0;
2834 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2835 return 1;
2836 break;
2837 }
2838 case AT_SharedTrylockFunction: {
2839 return 0;
2840 break;
2841 }
2842 case AT_SizedBy: {
2843 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2844 return 0;
2845 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2846 return 1;
2847 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2848 return 2;
2849 break;
2850 }
2851 case AT_SizedByOrNull: {
2852 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2853 return 0;
2854 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2855 return 1;
2856 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2857 return 2;
2858 break;
2859 }
2860 case AT_SpeculativeLoadHardening: {
2861 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2862 return 0;
2863 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2864 return 1;
2865 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2866 return 2;
2867 break;
2868 }
2869 case AT_StandaloneDebug: {
2870 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2871 return 0;
2872 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2873 return 1;
2874 break;
2875 }
2876 case AT_StdCall: {
2877 if (Name.size() == 7 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2878 return 0;
2879 if (Name.size() == 7 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
2880 return 1;
2881 if (Name.size() == 7 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
2882 return 2;
2883 if (Name.size() == 9 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
2884 return 3;
2885 if (Name.size() == 8 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
2886 return 4;
2887 break;
2888 }
2889 case AT_StrictFP: {
2890 return 0;
2891 break;
2892 }
2893 case AT_StrictGuardStackCheck: {
2894 return 0;
2895 break;
2896 }
2897 case AT_Suppress: {
2898 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GSL)
2899 return 0;
2900 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2901 return 1;
2902 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2903 return 2;
2904 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2905 return 3;
2906 break;
2907 }
2908 case AT_SwiftAsync: {
2909 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2910 return 0;
2911 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2912 return 1;
2913 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2914 return 2;
2915 break;
2916 }
2917 case AT_SwiftAsyncCall: {
2918 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2919 return 0;
2920 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2921 return 1;
2922 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2923 return 2;
2924 break;
2925 }
2926 case AT_SwiftAsyncContext: {
2927 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2928 return 0;
2929 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2930 return 1;
2931 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2932 return 2;
2933 break;
2934 }
2935 case AT_SwiftAsyncError: {
2936 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2937 return 0;
2938 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2939 return 1;
2940 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2941 return 2;
2942 break;
2943 }
2944 case AT_SwiftAsyncName: {
2945 return 0;
2946 break;
2947 }
2948 case AT_SwiftAttr: {
2949 return 0;
2950 break;
2951 }
2952 case AT_SwiftBridge: {
2953 return 0;
2954 break;
2955 }
2956 case AT_SwiftBridgedTypedef: {
2957 return 0;
2958 break;
2959 }
2960 case AT_SwiftCall: {
2961 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2962 return 0;
2963 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2964 return 1;
2965 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2966 return 2;
2967 break;
2968 }
2969 case AT_SwiftContext: {
2970 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2971 return 0;
2972 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2973 return 1;
2974 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2975 return 2;
2976 break;
2977 }
2978 case AT_SwiftError: {
2979 return 0;
2980 break;
2981 }
2982 case AT_SwiftErrorResult: {
2983 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2984 return 0;
2985 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2986 return 1;
2987 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2988 return 2;
2989 break;
2990 }
2991 case AT_SwiftIndirectResult: {
2992 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
2993 return 0;
2994 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2995 return 1;
2996 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
2997 return 2;
2998 break;
2999 }
3000 case AT_SwiftName: {
3001 return 0;
3002 break;
3003 }
3004 case AT_SwiftNewType: {
3005 if (Name == "swift_newtype" && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3006 return 0;
3007 if (Name == "swift_wrapper" && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3008 return 1;
3009 break;
3010 }
3011 case AT_SwiftObjCMembers: {
3012 return 0;
3013 break;
3014 }
3015 case AT_SwiftPrivate: {
3016 return 0;
3017 break;
3018 }
3019 case AT_SysVABI: {
3020 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3021 return 0;
3022 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3023 return 1;
3024 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3025 return 2;
3026 break;
3027 }
3028 case AT_TLSModel: {
3029 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3030 return 0;
3031 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3032 return 1;
3033 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3034 return 2;
3035 break;
3036 }
3037 case AT_Target: {
3038 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3039 return 0;
3040 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3041 return 1;
3042 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3043 return 2;
3044 break;
3045 }
3046 case AT_TargetClones: {
3047 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3048 return 0;
3049 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3050 return 1;
3051 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3052 return 2;
3053 break;
3054 }
3055 case AT_TargetVersion: {
3056 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3057 return 0;
3058 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3059 return 1;
3060 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3061 return 2;
3062 break;
3063 }
3064 case AT_TestTypestate: {
3065 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3066 return 0;
3067 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3068 return 1;
3069 break;
3070 }
3071 case AT_ThisCall: {
3072 if (Name.size() == 8 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3073 return 0;
3074 if (Name.size() == 8 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3075 return 1;
3076 if (Name.size() == 8 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3077 return 2;
3078 if (Name.size() == 10 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
3079 return 3;
3080 if (Name.size() == 9 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
3081 return 4;
3082 break;
3083 }
3084 case AT_Thread: {
3085 return 0;
3086 break;
3087 }
3088 case AT_TransparentUnion: {
3089 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3090 return 0;
3091 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3092 return 1;
3093 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3094 return 2;
3095 break;
3096 }
3097 case AT_TrivialABI: {
3098 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3099 return 0;
3100 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3101 return 1;
3102 break;
3103 }
3104 case AT_TryAcquireCapability: {
3105 if (Name.size() == 22 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3106 return 0;
3107 if (Name.size() == 22 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3108 return 1;
3109 if (Name.size() == 29 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3110 return 2;
3111 if (Name.size() == 29 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3112 return 3;
3113 break;
3114 }
3115 case AT_TypeNonNull: {
3116 return 0;
3117 break;
3118 }
3119 case AT_TypeNullUnspecified: {
3120 return 0;
3121 break;
3122 }
3123 case AT_TypeNullable: {
3124 return 0;
3125 break;
3126 }
3127 case AT_TypeNullableResult: {
3128 return 0;
3129 break;
3130 }
3131 case AT_TypeTagForDatatype: {
3132 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3133 return 0;
3134 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3135 return 1;
3136 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3137 return 2;
3138 break;
3139 }
3140 case AT_TypeVisibility: {
3141 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3142 return 0;
3143 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3144 return 1;
3145 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3146 return 2;
3147 break;
3148 }
3149 case AT_UPtr: {
3150 return 0;
3151 break;
3152 }
3153 case AT_Unavailable: {
3154 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3155 return 0;
3156 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3157 return 1;
3158 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3159 return 2;
3160 break;
3161 }
3162 case AT_Uninitialized: {
3163 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3164 return 0;
3165 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3166 return 1;
3167 break;
3168 }
3169 case AT_Unlikely: {
3170 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::NONE)
3171 return 0;
3172 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3173 return 1;
3174 break;
3175 }
3176 case AT_UnsafeBufferUsage: {
3177 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3178 return 0;
3179 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3180 return 1;
3181 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3182 return 2;
3183 break;
3184 }
3185 case AT_Unused: {
3186 if (Name.size() == 12 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::NONE)
3187 return 0;
3188 if (Name.size() == 6 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3189 return 1;
3190 if (Name.size() == 6 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3191 return 2;
3192 if (Name.size() == 6 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3193 return 3;
3194 if (Name.size() == 12 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::NONE)
3195 return 4;
3196 break;
3197 }
3198 case AT_UseHandle: {
3199 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3200 return 0;
3201 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3202 return 1;
3203 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3204 return 2;
3205 break;
3206 }
3207 case AT_Used: {
3208 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3209 return 0;
3210 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3211 return 1;
3212 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3213 return 2;
3214 break;
3215 }
3216 case AT_UsingIfExists: {
3217 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3218 return 0;
3219 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3220 return 1;
3221 break;
3222 }
3223 case AT_Uuid: {
3224 if (getSyntax() == AttributeCommonInfo::AS_Declspec && ComputedScope == AttributeCommonInfo::Scope::NONE)
3225 return 0;
3226 if (getSyntax() == AttributeCommonInfo::AS_Microsoft && ComputedScope == AttributeCommonInfo::Scope::NONE)
3227 return 1;
3228 break;
3229 }
3230 case AT_VTablePointerAuthentication: {
3231 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3232 return 0;
3233 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3234 return 1;
3235 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3236 return 2;
3237 break;
3238 }
3239 case AT_VecReturn: {
3240 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3241 return 0;
3242 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3243 return 1;
3244 break;
3245 }
3246 case AT_VecTypeHint: {
3247 return 0;
3248 break;
3249 }
3250 case AT_VectorCall: {
3251 if (Name.size() == 10 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3252 return 0;
3253 if (Name.size() == 10 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3254 return 1;
3255 if (Name.size() == 10 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3256 return 2;
3257 if (Name.size() == 12 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
3258 return 3;
3259 if (Name.size() == 11 && getSyntax() == AttributeCommonInfo::AS_Keyword && ComputedScope == AttributeCommonInfo::Scope::NONE)
3260 return 4;
3261 break;
3262 }
3263 case AT_VectorSize: {
3264 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3265 return 0;
3266 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3267 return 1;
3268 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3269 return 2;
3270 break;
3271 }
3272 case AT_Visibility: {
3273 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3274 return 0;
3275 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3276 return 1;
3277 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3278 return 2;
3279 break;
3280 }
3281 case AT_WarnUnused: {
3282 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3283 return 0;
3284 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3285 return 1;
3286 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3287 return 2;
3288 break;
3289 }
3290 case AT_WarnUnusedResult: {
3291 if (Name.size() == 9 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::NONE)
3292 return 0;
3293 if (Name.size() == 9 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::NONE)
3294 return 1;
3295 if (Name.size() == 18 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3296 return 2;
3297 if (Name.size() == 18 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3298 return 3;
3299 if (Name.size() == 18 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3300 return 4;
3301 if (Name.size() == 18 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3302 return 5;
3303 break;
3304 }
3305 case AT_Weak: {
3306 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3307 return 0;
3308 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3309 return 1;
3310 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3311 return 2;
3312 break;
3313 }
3314 case AT_WeakImport: {
3315 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3316 return 0;
3317 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3318 return 1;
3319 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3320 return 2;
3321 break;
3322 }
3323 case AT_WeakRef: {
3324 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3325 return 0;
3326 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3327 return 1;
3328 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3329 return 2;
3330 break;
3331 }
3332 case AT_WebAssemblyExportName: {
3333 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3334 return 0;
3335 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3336 return 1;
3337 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3338 return 2;
3339 break;
3340 }
3341 case AT_WebAssemblyFuncref: {
3342 return 0;
3343 break;
3344 }
3345 case AT_WebAssemblyImportModule: {
3346 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3347 return 0;
3348 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3349 return 1;
3350 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3351 return 2;
3352 break;
3353 }
3354 case AT_WebAssemblyImportName: {
3355 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3356 return 0;
3357 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3358 return 1;
3359 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3360 return 2;
3361 break;
3362 }
3363 case AT_WorkGroupSizeHint: {
3364 return 0;
3365 break;
3366 }
3367 case AT_X86ForceAlignArgPointer: {
3368 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3369 return 0;
3370 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3371 return 1;
3372 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3373 return 2;
3374 break;
3375 }
3376 case AT_XRayInstrument: {
3377 if (Name.size() == 22 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3378 return 0;
3379 if (Name.size() == 22 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3380 return 1;
3381 if (Name.size() == 22 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3382 return 2;
3383 if (Name.size() == 21 && getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3384 return 3;
3385 if (Name.size() == 21 && getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3386 return 4;
3387 if (Name.size() == 21 && getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3388 return 5;
3389 break;
3390 }
3391 case AT_XRayLogArgs: {
3392 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3393 return 0;
3394 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3395 return 1;
3396 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::CLANG)
3397 return 2;
3398 break;
3399 }
3400 case AT_ZeroCallUsedRegs: {
3401 if (getSyntax() == AttributeCommonInfo::AS_GNU && ComputedScope == AttributeCommonInfo::Scope::NONE)
3402 return 0;
3403 if (getSyntax() == AttributeCommonInfo::AS_CXX11 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3404 return 1;
3405 if (getSyntax() == AttributeCommonInfo::AS_C23 && ComputedScope == AttributeCommonInfo::Scope::GNU)
3406 return 2;
3407 break;
3408 }
3409 }
3410 return 0;