/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|*                                                                            *|
|* Code to implement the __has_attribute logic                                *|
|*                                                                            *|
|* Automatically generated file, do not edit!                                 *|
|*                                                                            *|
\*===----------------------------------------------------------------------===*/

const llvm::Triple &T = Target.getTriple();
switch (Syntax) {
case AttrSyntax::GNU:
  return llvm::StringSwitch<int>(Name)
    .Case("aarch64_vector_pcs", 1)
    .Case("amdgpu_flat_work_group_size", 1)
    .Case("amdgpu_num_sgpr", 1)
    .Case("amdgpu_num_vgpr", 1)
    .Case("amdgpu_waves_per_eu", 1)
    .Case("interrupt", true && (T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb || T.getArch() == llvm::Triple::armeb || T.getArch() == llvm::Triple::thumbeb) ? 1 : 0)
    .Case("interrupt", true && (T.getArch() == llvm::Triple::avr) ? 1 : 0)
    .Case("signal", true && (T.getArch() == llvm::Triple::avr) ? 1 : 0)
    .Case("abi_tag", 1)
    .Case("acquire_capability", 1)
    .Case("acquire_shared_capability", 1)
    .Case("exclusive_lock_function", 1)
    .Case("shared_lock_function", 1)
    .Case("acquire_capability", 1)
    .Case("acquire_shared_capability", 1)
    .Case("exclusive_lock_function", 1)
    .Case("shared_lock_function", 1)
    .Case("acquire_capability", 1)
    .Case("acquire_shared_capability", 1)
    .Case("exclusive_lock_function", 1)
    .Case("shared_lock_function", 1)
    .Case("acquire_capability", 1)
    .Case("acquire_shared_capability", 1)
    .Case("exclusive_lock_function", 1)
    .Case("shared_lock_function", 1)
    .Case("acquire_handle", 1)
    .Case("acquired_after", 1)
    .Case("acquired_before", 1)
    .Case("address_space", 1)
    .Case("alias", 1)
    .Case("align_value", 1)
    .Case("aligned", 1)
    .Case("alloc_align", 1)
    .Case("alloc_size", 1)
    .Case("always_destroy", 1)
    .Case("always_inline", 1)
    .Case("analyzer_noreturn", 1)
    .Case("annotate", 1)
    .Case("interrupt", true && (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64) ? 1 : 0)
    .Case("no_caller_saved_registers", true && (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64) ? 1 : 0)
    .Case("nocf_check", true && (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64) ? 1 : 0)
    .Case("objc_arc_weak_reference_unavailable", 1)
    .Case("argument_with_type_tag", 1)
    .Case("pointer_with_type_tag", 1)
    .Case("argument_with_type_tag", 1)
    .Case("pointer_with_type_tag", 1)
    .Case("__clang_arm_builtin_alias", true && (T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb || T.getArch() == llvm::Triple::armeb || T.getArch() == llvm::Triple::thumbeb || T.getArch() == llvm::Triple::aarch64) ? 1 : 0)
    .Case("__clang_arm_mve_strict_polymorphism", true && (T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb || T.getArch() == llvm::Triple::armeb || T.getArch() == llvm::Triple::thumbeb) ? 1 : 0)
    .Case("arm_sve_vector_bits", 1)
    .Case("artificial", 1)
    .Case("assert_capability", 1)
    .Case("assert_shared_capability", 1)
    .Case("assert_capability", 1)
    .Case("assert_shared_capability", 1)
    .Case("assert_exclusive_lock", 1)
    .Case("assert_shared_lock", 1)
    .Case("assume_aligned", 1)
    .Case("availability", 1)
    .Case("preserve_access_index", true && (T.getArch() == llvm::Triple::bpfel || T.getArch() == llvm::Triple::bpfeb) ? 1 : 0)
    .Case("blocks", 1)
    .Case("bounded", 1)
    .Case("cdecl", 1)
    .Case("cf_audited_transfer", 1)
    .Case("cf_consumed", 1)
    .Case("cfi_canonical_jump_table", 1)
    .Case("cf_returns_not_retained", 1)
    .Case("cf_returns_retained", 1)
    .Case("cf_unknown_transfer", 1)
    .Case("cpu_dispatch", 1)
    .Case("cpu_specific", 1)
    .Case("constant", 1)
    .Case("cudart_builtin", 1)
    .Case("device", 1)
    .Case("device_builtin", 1)
    .Case("device_builtin_surface_type", 1)
    .Case("device_builtin_texture_type", 1)
    .Case("global", 1)
    .Case("host", 1)
    .Case("launch_bounds", 1)
    .Case("shared", 1)
    .Case("callable_when", 1)
    .Case("callback", 1)
    .Case("capability", 1)
    .Case("shared_capability", 1)
    .Case("capability", 1)
    .Case("shared_capability", 1)
    .Case("carries_dependency", 1)
    .Case("cleanup", 1)
    .Case("cmse_nonsecure_call", true && (T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb || T.getArch() == llvm::Triple::armeb || T.getArch() == llvm::Triple::thumbeb) ? 1 : 0)
    .Case("cmse_nonsecure_entry", true && (T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb || T.getArch() == llvm::Triple::armeb || T.getArch() == llvm::Triple::thumbeb) ? 1 : 0)
    .Case("cold", 1)
    .Case("common", 1)
    .Case("const", 1)
    .Case("__const", 1)
    .Case("const", 1)
    .Case("__const", 1)
    .Case("require_constant_initialization", 1)
    .Case("constructor", 1)
    .Case("consumable", 1)
    .Case("consumable_auto_cast_state", 1)
    .Case("consumable_set_state_on_read", 1)
    .Case("convergent", 1)
    .Case("dllexport", true && (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64 || T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb || T.getArch() == llvm::Triple::aarch64) && (T.getOS() == llvm::Triple::Win32) ? 1 : 0)
    .Case("dllimport", true && (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64 || T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb || T.getArch() == llvm::Triple::aarch64) && (T.getOS() == llvm::Triple::Win32) ? 1 : 0)
    .Case("deprecated", 1)
    .Case("destructor", 1)
    .Case("diagnose_if", 1)
    .Case("disable_tail_calls", 1)
    .Case("enable_if", 1)
    .Case("enum_extensibility", 1)
    .Case("exclude_from_explicit_instantiation", 1)
    .Case("exclusive_trylock_function", 1)
    .Case("ext_vector_type", 1)
    .Case("external_source_symbol", 1)
    .Case("fallthrough", 1)
    .Case("fastcall", 1)
    .Case("flag_enum", 1)
    .Case("flatten", 1)
    .Case("format", 1)
    .Case("format_arg", 1)
    .Case("gnu_inline", 1)
    .Case("guarded_by", 1)
    .Case("guarded_var", 1)
    .Case("hot", 1)
    .Case("ibaction", 1)
    .Case("iboutlet", 1)
    .Case("iboutletcollection", 1)
    .Case("ifunc", true && (T.getObjectFormat() == llvm::Triple::ELF) ? 1 : 0)
    .Case("init_priority", 1)
    .Case("intel_ocl_bicc", 1)
    .Case("internal_linkage", 1)
    .Case("lto_visibility_public", 1)
    .Case("lifetimebound", 1)
    .Case("loader_uninitialized", 1)
    .Case("lock_returned", 1)
    .Case("lockable", 1)
    .Case("locks_excluded", 1)
    .Case("mig_server_routine", 1)
    .Case("ms_abi", 1)
    .Case("interrupt", true && (T.getArch() == llvm::Triple::msp430) ? 1 : 0)
    .Case("ms_struct", 1)
    .Case("matrix_type", 1)
    .Case("may_alias", 1)
    .Case("micromips", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel) ? 1 : 0)
    .Case("minsize", 1)
    .Case("min_vector_width", 1)
    .Case("mips16", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel) ? 1 : 0)
    .Case("interrupt", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel) ? 1 : 0)
    .Case("long_call", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel || T.getArch() == llvm::Triple::mips64 || T.getArch() == llvm::Triple::mips64el) ? 1 : 0)
    .Case("far", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel || T.getArch() == llvm::Triple::mips64 || T.getArch() == llvm::Triple::mips64el) ? 1 : 0)
    .Case("long_call", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel || T.getArch() == llvm::Triple::mips64 || T.getArch() == llvm::Triple::mips64el) ? 1 : 0)
    .Case("far", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel || T.getArch() == llvm::Triple::mips64 || T.getArch() == llvm::Triple::mips64el) ? 1 : 0)
    .Case("short_call", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel || T.getArch() == llvm::Triple::mips64 || T.getArch() == llvm::Triple::mips64el) ? 1 : 0)
    .Case("near", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel || T.getArch() == llvm::Triple::mips64 || T.getArch() == llvm::Triple::mips64el) ? 1 : 0)
    .Case("short_call", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel || T.getArch() == llvm::Triple::mips64 || T.getArch() == llvm::Triple::mips64el) ? 1 : 0)
    .Case("near", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel || T.getArch() == llvm::Triple::mips64 || T.getArch() == llvm::Triple::mips64el) ? 1 : 0)
    .Case("mode", 1)
    .Case("ns_consumed", 1)
    .Case("ns_consumes_self", 1)
    .Case("ns_error_domain", 1)
    .Case("ns_returns_autoreleased", 1)
    .Case("ns_returns_not_retained", 1)
    .Case("ns_returns_retained", 1)
    .Case("naked", 1)
    .Case("neon_polyvector_type", 1)
    .Case("neon_vector_type", 1)
    .Case("no_builtin", 1)
    .Case("nocommon", 1)
    .Case("nodebug", 1)
    .Case("noderef", 1)
    .Case("no_destroy", 1)
    .Case("noduplicate", 1)
    .Case("noescape", 1)
    .Case("noinline", 1)
    .Case("no_instrument_function", 1)
    .Case("nomerge", 1)
    .Case("nomicromips", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel) ? 1 : 0)
    .Case("nomips16", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel) ? 1 : 0)
    .Case("noreturn", 1)
    .Case("no_sanitize", 1)
    .Case("no_address_safety_analysis", 1)
    .Case("no_sanitize_address", 1)
    .Case("no_sanitize_thread", 1)
    .Case("no_sanitize_memory", 1)
    .Case("no_address_safety_analysis", 1)
    .Case("no_sanitize_address", 1)
    .Case("no_sanitize_thread", 1)
    .Case("no_sanitize_memory", 1)
    .Case("no_address_safety_analysis", 1)
    .Case("no_sanitize_address", 1)
    .Case("no_sanitize_thread", 1)
    .Case("no_sanitize_memory", 1)
    .Case("no_address_safety_analysis", 1)
    .Case("no_sanitize_address", 1)
    .Case("no_sanitize_thread", 1)
    .Case("no_sanitize_memory", 1)
    .Case("no_speculative_load_hardening", 1)
    .Case("no_split_stack", 1)
    .Case("no_stack_protector", 1)
    .Case("no_thread_safety_analysis", 1)
    .Case("nothrow", 1)
    .Case("nonnull", 1)
    .Case("not_tail_called", 1)
    .Case("nv_weak", 1)
    .Case("os_consumed", 1)
    .Case("os_consumes_this", 1)
    .Case("os_returns_not_retained", 1)
    .Case("os_returns_retained", 1)
    .Case("os_returns_retained_on_non_zero", 1)
    .Case("os_returns_retained_on_zero", 1)
    .Case("objc_boxable", 1)
    .Case("objc_bridge", 1)
    .Case("objc_bridge_mutable", 1)
    .Case("objc_bridge_related", 1)
    .Case("objc_class_stub", 1)
    .Case("objc_designated_initializer", 1)
    .Case("objc_direct", 1)
    .Case("objc_direct_members", 1)
    .Case("objc_exception", 1)
    .Case("objc_protocol_requires_explicit_implementation", 1)
    .Case("objc_externally_retained", 1)
    .Case("objc_gc", 1)
    .Case("objc_independent_class", 1)
    .Case("objc_method_family", 1)
    .Case("NSObject", 1)
    .Case("objc_nonlazy_class", 1)
    .Case("objc_non_runtime_protocol", 1)
    .Case("objc_ownership", 1)
    .Case("objc_precise_lifetime", 1)
    .Case("objc_requires_property_definitions", 1)
    .Case("objc_requires_super", 1)
    .Case("objc_returns_inner_pointer", 1)
    .Case("objc_root_class", 1)
    .Case("objc_runtime_name", 1)
    .Case("objc_runtime_visible", 1)
    .Case("objc_subclassing_restricted", 1)
    .Case("opencl_constant", 1)
    .Case("opencl_generic", 1)
    .Case("opencl_global", 1)
    .Case("opencl_global_device", 1)
    .Case("opencl_global_host", 1)
    .Case("intel_reqd_sub_group_size", 1)
    .Case("opencl_local", 1)
    .Case("nosvm", 1)
    .Case("opencl_private", 1)
    .Case("opencl_unroll_hint", 1)
    .Case("optnone", 1)
    .Case("overloadable", 1)
    .Case("ownership_holds", 1)
    .Case("ownership_returns", 1)
    .Case("ownership_takes", 1)
    .Case("ownership_holds", 1)
    .Case("ownership_returns", 1)
    .Case("ownership_takes", 1)
    .Case("ownership_holds", 1)
    .Case("ownership_returns", 1)
    .Case("ownership_takes", 1)
    .Case("packed", 1)
    .Case("param_typestate", 1)
    .Case("pascal", 1)
    .Case("pass_object_size", 1)
    .Case("pass_dynamic_object_size", 1)
    .Case("pass_object_size", 1)
    .Case("pass_dynamic_object_size", 1)
    .Case("patchable_function_entry", true && (T.getArch() == llvm::Triple::aarch64 || T.getArch() == llvm::Triple::aarch64_be || T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64) ? 1 : 0)
    .Case("pcs", 1)
    .Case("preserve_all", 1)
    .Case("preserve_most", 1)
    .Case("pt_guarded_by", 1)
    .Case("pt_guarded_var", 1)
    .Case("pure", 1)
    .Case("interrupt", true && (T.getArch() == llvm::Triple::riscv32 || T.getArch() == llvm::Triple::riscv64) ? 1 : 0)
    .Case("regcall", 1)
    .Case("regparm", 1)
    .Case("reinitializes", 1)
    .Case("release_capability", 1)
    .Case("release_shared_capability", 1)
    .Case("release_generic_capability", 1)
    .Case("unlock_function", 1)
    .Case("release_capability", 1)
    .Case("release_shared_capability", 1)
    .Case("release_generic_capability", 1)
    .Case("unlock_function", 1)
    .Case("release_capability", 1)
    .Case("release_shared_capability", 1)
    .Case("release_generic_capability", 1)
    .Case("unlock_function", 1)
    .Case("release_capability", 1)
    .Case("release_shared_capability", 1)
    .Case("release_generic_capability", 1)
    .Case("unlock_function", 1)
    .Case("release_handle", 1)
    .Case("kernel", 1)
    .Case("reqd_work_group_size", 1)
    .Case("requires_capability", 1)
    .Case("exclusive_locks_required", 1)
    .Case("requires_shared_capability", 1)
    .Case("shared_locks_required", 1)
    .Case("requires_capability", 1)
    .Case("exclusive_locks_required", 1)
    .Case("requires_shared_capability", 1)
    .Case("shared_locks_required", 1)
    .Case("requires_capability", 1)
    .Case("exclusive_locks_required", 1)
    .Case("requires_shared_capability", 1)
    .Case("shared_locks_required", 1)
    .Case("requires_capability", 1)
    .Case("exclusive_locks_required", 1)
    .Case("requires_shared_capability", 1)
    .Case("shared_locks_required", 1)
    .Case("malloc", 1)
    .Case("return_typestate", 1)
    .Case("returns_nonnull", 1)
    .Case("returns_twice", 1)
    .Case("sycl_kernel", 1)
    .Case("scoped_lockable", 1)
    .Case("section", 1)
    .Case("selectany", 1)
    .Case("sentinel", 1)
    .Case("set_typestate", 1)
    .Case("shared_trylock_function", 1)
    .Case("speculative_load_hardening", 1)
    .Case("stdcall", 1)
    .Case("swift_bridge", 1)
    .Case("swift_bridged_typedef", 1)
    .Case("swiftcall", 1)
    .Case("swift_context", 1)
    .Case("swift_error", 1)
    .Case("swift_error_result", 1)
    .Case("swift_indirect_result", 1)
    .Case("swift_name", 1)
    .Case("swift_newtype", 1)
    .Case("swift_wrapper", 1)
    .Case("swift_newtype", 1)
    .Case("swift_wrapper", 1)
    .Case("swift_objc_members", 1)
    .Case("swift_private", 1)
    .Case("sysv_abi", 1)
    .Case("tls_model", 1)
    .Case("target", 1)
    .Case("test_typestate", 1)
    .Case("thiscall", 1)
    .Case("transparent_union", 1)
    .Case("trivial_abi", 1)
    .Case("try_acquire_capability", 1)
    .Case("try_acquire_shared_capability", 1)
    .Case("try_acquire_capability", 1)
    .Case("try_acquire_shared_capability", 1)
    .Case("type_tag_for_datatype", 1)
    .Case("type_visibility", 1)
    .Case("unavailable", 1)
    .Case("uninitialized", 1)
    .Case("unused", 1)
    .Case("use_handle", 1)
    .Case("used", 1)
    .Case("vecreturn", 1)
    .Case("vec_type_hint", 1)
    .Case("vectorcall", 1)
    .Case("vector_size", 1)
    .Case("visibility", 1)
    .Case("warn_unused", 1)
    .Case("warn_unused_result", 1)
    .Case("weak", 1)
    .Case("weak_import", 1)
    .Case("weakref", 1)
    .Case("export_name", true && (T.getArch() == llvm::Triple::wasm32 || T.getArch() == llvm::Triple::wasm64) ? 1 : 0)
    .Case("import_module", true && (T.getArch() == llvm::Triple::wasm32 || T.getArch() == llvm::Triple::wasm64) ? 1 : 0)
    .Case("import_name", true && (T.getArch() == llvm::Triple::wasm32 || T.getArch() == llvm::Triple::wasm64) ? 1 : 0)
    .Case("work_group_size_hint", 1)
    .Case("force_align_arg_pointer", true && (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64) ? 1 : 0)
    .Case("xray_always_instrument", 1)
    .Case("xray_never_instrument", 1)
    .Case("xray_always_instrument", 1)
    .Case("xray_never_instrument", 1)
    .Case("xray_log_args", 1)
    .Default(0);
case AttrSyntax::Declspec:
  return llvm::StringSwitch<int>(Name)
    .Case("align", 1)
    .Case("guard", 1)
    .Case("cpu_dispatch", 1)
    .Case("cpu_specific", 1)
    .Case("__constant__", 1)
    .Case("__cudart_builtin__", 1)
    .Case("__device__", 1)
    .Case("__device_builtin__", 1)
    .Case("__device_builtin_surface_type__", 1)
    .Case("__device_builtin_texture_type__", 1)
    .Case("__global__", 1)
    .Case("__host__", 1)
    .Case("__launch_bounds__", 1)
    .Case("__shared__", 1)
    .Case("code_seg", 1)
    .Case("dllexport", true && (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64 || T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb || T.getArch() == llvm::Triple::aarch64) && (T.getOS() == llvm::Triple::Win32) ? 1 : 0)
    .Case("dllimport", true && (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64 || T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb || T.getArch() == llvm::Triple::aarch64) && (T.getOS() == llvm::Triple::Win32) ? 1 : 0)
    .Case("deprecated", 1)
    .Case("empty_bases", true && (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64 || T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb || T.getArch() == llvm::Triple::aarch64) && ( Target.getCXXABI().isMicrosoft() ) ? 1 : 0)
    .Case("layout_version", true && (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64 || T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb || T.getArch() == llvm::Triple::aarch64) && ( Target.getCXXABI().isMicrosoft() ) ? 1 : 0)
    .Case("allocator", 1)
    .Case("novtable", true && (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64 || T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb || T.getArch() == llvm::Triple::aarch64) && ( Target.getCXXABI().isMicrosoft() ) ? 1 : 0)
    .Case("naked", 1)
    .Case("noalias", 1)
    .Case("noinline", 1)
    .Case("noreturn", 1)
    .Case("nothrow", 1)
    .Case("restrict", 1)
    .Case("allocate", 1)
    .Case("selectany", 1)
    .Case("thread", 1)
    .Case("uuid", 1)
    .Case("property", 1)
    .Default(0);
case AttrSyntax::Microsoft:
  return llvm::StringSwitch<int>(Name)
    .Case("uuid", 1)
    .Default(0);
case AttrSyntax::Pragma:
  return llvm::StringSwitch<int>(Name)
    .Case("init_seg", 1)
    .Case("loop", 1)
    .Case("unroll", 1)
    .Case("nounroll", 1)
    .Case("unroll_and_jam", 1)
    .Case("nounroll_and_jam", 1)
    .Case("loop", 1)
    .Case("unroll", 1)
    .Case("nounroll", 1)
    .Case("unroll_and_jam", 1)
    .Case("nounroll_and_jam", 1)
    .Case("loop", 1)
    .Case("unroll", 1)
    .Case("nounroll", 1)
    .Case("unroll_and_jam", 1)
    .Case("nounroll_and_jam", 1)
    .Case("loop", 1)
    .Case("unroll", 1)
    .Case("nounroll", 1)
    .Case("unroll_and_jam", 1)
    .Case("nounroll_and_jam", 1)
    .Case("loop", 1)
    .Case("unroll", 1)
    .Case("nounroll", 1)
    .Case("unroll_and_jam", 1)
    .Case("nounroll_and_jam", 1)
    .Case("declare simd", 1)
    .Case("declare target", 1)
    .Case("declare variant", 1)
    .Default(0);
case AttrSyntax::CXX: {
if (ScopeName == "") {
  return llvm::StringSwitch<int>(Name)
    .Case("noreturn", LangOpts.CPlusPlus11 ? 200809 : 0)
    .Case("carries_dependency", LangOpts.CPlusPlus11 ? 200809 : 0)
    .Case("deprecated", LangOpts.CPlusPlus11 ? 201309 : 0)
    .Case("deprecated", LangOpts.CPlusPlus11 ? 201309 : 0)
    .Case("fallthrough", LangOpts.CPlusPlus11 ? 201603 : 0)
    .Case("fallthrough", LangOpts.CPlusPlus11 ? 201603 : 0)
    .Case("fallthrough", LangOpts.CPlusPlus11 ? 201603 : 0)
    .Case("likely", LangOpts.CPlusPlus11 ? 201803 : 0)
    .Case("no_unique_address", true && ( Target.getCXXABI().isItaniumFamily() ) && LangOpts.CPlusPlus11 ? 201803 : 0)
    .Case("unlikely", LangOpts.CPlusPlus11 ? 201803 : 0)
    .Case("maybe_unused", LangOpts.CPlusPlus11 ? 201603 : 0)
    .Case("unused", LangOpts.CPlusPlus11 ? 201603 : 0)
    .Case("nodiscard", LangOpts.CPlusPlus11 ? 201907 : 0)
    .Case("warn_unused_result", LangOpts.CPlusPlus11 ? 201907 : 0)
    .Case("warn_unused_result", LangOpts.CPlusPlus11 ? 201907 : 0)
    .Default(0);
} else if (ScopeName == "clang") {
  return llvm::StringSwitch<int>(Name)
    .Case("aarch64_vector_pcs", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("amdgpu_flat_work_group_size", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("amdgpu_num_sgpr", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("amdgpu_num_vgpr", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("amdgpu_waves_per_eu", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("acquire_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("acquire_shared_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("acquire_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("acquire_shared_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("acquire_handle", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("address_space", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("always_destroy", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("annotate", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("objc_arc_weak_reference_unavailable", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("argument_with_type_tag", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("pointer_with_type_tag", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("argument_with_type_tag", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("pointer_with_type_tag", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("__clang_arm_builtin_alias", true && (T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb || T.getArch() == llvm::Triple::armeb || T.getArch() == llvm::Triple::thumbeb || T.getArch() == llvm::Triple::aarch64) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("__clang_arm_mve_strict_polymorphism", true && (T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb || T.getArch() == llvm::Triple::armeb || T.getArch() == llvm::Triple::thumbeb) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("assert_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("assert_shared_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("assert_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("assert_shared_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("availability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("preserve_access_index", true && (T.getArch() == llvm::Triple::bpfel || T.getArch() == llvm::Triple::bpfeb) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("blocks", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("cf_audited_transfer", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("cf_consumed", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("cfi_canonical_jump_table", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("cf_returns_not_retained", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("cf_returns_retained", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("cf_unknown_transfer", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("cpu_dispatch", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("cpu_specific", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("callable_when", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("callback", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("shared_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("shared_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("require_constant_initialization", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("consumable", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("consumable_auto_cast_state", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("consumable_set_state_on_read", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("convergent", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("disable_tail_calls", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("enum_extensibility", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("exclude_from_explicit_instantiation", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("external_source_symbol", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("fallthrough", LangOpts.CPlusPlus11 ? 201603 : 0)
    .Case("flag_enum", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("guarded_var", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("ibaction", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("iboutlet", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("iboutletcollection", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("intel_ocl_bicc", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("internal_linkage", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("lto_visibility_public", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("lifetimebound", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("loader_uninitialized", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("mig_server_routine", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("matrix_type", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("minsize", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("min_vector_width", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("ns_consumed", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("ns_consumes_self", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("ns_returns_autoreleased", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("ns_returns_not_retained", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("ns_returns_retained", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("neon_polyvector_type", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("neon_vector_type", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("no_builtin", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("noderef", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("no_destroy", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("noduplicate", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("noescape", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("nomerge", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("no_sanitize", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("no_sanitize_memory", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("no_speculative_load_hardening", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("no_stack_protector", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("no_thread_safety_analysis", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("not_tail_called", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("os_consumed", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("os_consumes_this", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("os_returns_not_retained", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("os_returns_retained", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("os_returns_retained_on_non_zero", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("os_returns_retained_on_zero", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("objc_boxable", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("objc_bridge", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("objc_bridge_mutable", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("objc_bridge_related", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("objc_class_stub", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("objc_designated_initializer", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("objc_direct", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("objc_direct_members", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("objc_exception", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("objc_protocol_requires_explicit_implementation", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("objc_externally_retained", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("objc_gc", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("objc_independent_class", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("objc_method_family", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("NSObject", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("objc_nonlazy_class", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("objc_non_runtime_protocol", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("objc_ownership", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("objc_precise_lifetime", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("objc_requires_property_definitions", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("objc_requires_super", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("objc_returns_inner_pointer", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("objc_root_class", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("objc_runtime_name", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("objc_runtime_visible", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("objc_subclassing_restricted", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("opencl_constant", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("opencl_generic", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("opencl_global", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("opencl_global_device", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("opencl_global_host", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("opencl_local", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("opencl_private", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("optnone", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("overloadable", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("ownership_holds", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("ownership_returns", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("ownership_takes", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("ownership_holds", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("ownership_returns", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("ownership_takes", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("ownership_holds", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("ownership_returns", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("ownership_takes", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("param_typestate", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("pascal", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("pass_object_size", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("pass_dynamic_object_size", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("pass_object_size", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("pass_dynamic_object_size", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("preserve_all", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("preserve_most", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("pt_guarded_var", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("reinitializes", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("release_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("release_shared_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("release_generic_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("unlock_function", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("release_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("release_shared_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("release_generic_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("unlock_function", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("release_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("release_shared_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("release_generic_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("unlock_function", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("release_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("release_shared_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("release_generic_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("unlock_function", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("release_handle", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("requires_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("exclusive_locks_required", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("requires_shared_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("shared_locks_required", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("requires_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("exclusive_locks_required", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("requires_shared_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("shared_locks_required", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("requires_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("exclusive_locks_required", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("requires_shared_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("shared_locks_required", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("requires_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("exclusive_locks_required", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("requires_shared_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("shared_locks_required", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("return_typestate", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("sycl_kernel", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("scoped_lockable", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("set_typestate", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("speculative_load_hardening", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("swiftcall", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("swift_context", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("swift_error_result", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("swift_indirect_result", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("test_typestate", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("trivial_abi", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("try_acquire_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("try_acquire_shared_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("try_acquire_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("try_acquire_shared_capability", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("type_tag_for_datatype", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("type_visibility", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("unavailable", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("uninitialized", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("use_handle", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("vecreturn", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("vectorcall", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("warn_unused_result", LangOpts.CPlusPlus11 ? 201907 : 0)
    .Case("weak_import", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("export_name", true && (T.getArch() == llvm::Triple::wasm32 || T.getArch() == llvm::Triple::wasm64) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("import_module", true && (T.getArch() == llvm::Triple::wasm32 || T.getArch() == llvm::Triple::wasm64) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("import_name", true && (T.getArch() == llvm::Triple::wasm32 || T.getArch() == llvm::Triple::wasm64) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("xray_always_instrument", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("xray_never_instrument", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("xray_always_instrument", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("xray_never_instrument", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("xray_log_args", LangOpts.CPlusPlus11 ? 1 : 0)
    .Default(0);
} else if (ScopeName == "gnu") {
  return llvm::StringSwitch<int>(Name)
    .Case("interrupt", true && (T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb || T.getArch() == llvm::Triple::armeb || T.getArch() == llvm::Triple::thumbeb) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("interrupt", true && (T.getArch() == llvm::Triple::avr) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("signal", true && (T.getArch() == llvm::Triple::avr) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("abi_tag", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("alias", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("aligned", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("alloc_align", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("alloc_size", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("always_inline", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("interrupt", true && (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("no_caller_saved_registers", true && (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("nocf_check", true && (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("artificial", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("assume_aligned", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("cdecl", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("cleanup", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("cold", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("common", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("const", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("__const", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("const", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("__const", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("constructor", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("dllexport", true && (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64 || T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb || T.getArch() == llvm::Triple::aarch64) && (T.getOS() == llvm::Triple::Win32) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("dllimport", true && (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64 || T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb || T.getArch() == llvm::Triple::aarch64) && (T.getOS() == llvm::Triple::Win32) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("deprecated", LangOpts.CPlusPlus11 ? 201309 : 0)
    .Case("destructor", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("fallthrough", LangOpts.CPlusPlus11 ? 201603 : 0)
    .Case("fastcall", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("flatten", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("format", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("format_arg", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("gnu_inline", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("hot", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("ifunc", true && (T.getObjectFormat() == llvm::Triple::ELF) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("init_priority", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("ms_abi", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("interrupt", true && (T.getArch() == llvm::Triple::msp430) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("ms_struct", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("may_alias", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("micromips", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("mips16", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("interrupt", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("long_call", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel || T.getArch() == llvm::Triple::mips64 || T.getArch() == llvm::Triple::mips64el) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("far", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel || T.getArch() == llvm::Triple::mips64 || T.getArch() == llvm::Triple::mips64el) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("long_call", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel || T.getArch() == llvm::Triple::mips64 || T.getArch() == llvm::Triple::mips64el) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("far", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel || T.getArch() == llvm::Triple::mips64 || T.getArch() == llvm::Triple::mips64el) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("short_call", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel || T.getArch() == llvm::Triple::mips64 || T.getArch() == llvm::Triple::mips64el) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("near", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel || T.getArch() == llvm::Triple::mips64 || T.getArch() == llvm::Triple::mips64el) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("short_call", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel || T.getArch() == llvm::Triple::mips64 || T.getArch() == llvm::Triple::mips64el) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("near", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel || T.getArch() == llvm::Triple::mips64 || T.getArch() == llvm::Triple::mips64el) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("mode", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("naked", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("nocommon", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("nodebug", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("noinline", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("no_instrument_function", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("nomicromips", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("nomips16", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("noreturn", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("no_address_safety_analysis", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("no_sanitize_address", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("no_sanitize_thread", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("no_address_safety_analysis", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("no_sanitize_address", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("no_sanitize_thread", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("no_address_safety_analysis", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("no_sanitize_address", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("no_sanitize_thread", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("no_split_stack", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("nothrow", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("nonnull", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("packed", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("patchable_function_entry", true && (T.getArch() == llvm::Triple::aarch64 || T.getArch() == llvm::Triple::aarch64_be || T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("pcs", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("pure", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("interrupt", true && (T.getArch() == llvm::Triple::riscv32 || T.getArch() == llvm::Triple::riscv64) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("regcall", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("regparm", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("malloc", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("returns_nonnull", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("returns_twice", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("section", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("selectany", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("sentinel", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("stdcall", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("sysv_abi", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("tls_model", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("target", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("thiscall", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("transparent_union", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("unused", LangOpts.CPlusPlus11 ? 201603 : 0)
    .Case("used", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("vector_size", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("visibility", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("warn_unused", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("warn_unused_result", LangOpts.CPlusPlus11 ? 201907 : 0)
    .Case("weak", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("weakref", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("force_align_arg_pointer", true && (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64) && LangOpts.CPlusPlus11 ? 1 : 0)
    .Default(0);
} else if (ScopeName == "gsl") {
  return llvm::StringSwitch<int>(Name)
    .Case("Owner", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("Pointer", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("suppress", LangOpts.CPlusPlus11 ? 1 : 0)
    .Default(0);
}
} break;
case AttrSyntax::C: {
if (ScopeName == "") {
  return llvm::StringSwitch<int>(Name)
    .Case("deprecated", LangOpts.DoubleSquareBracketAttributes ? 201904 : 0)
    .Case("deprecated", LangOpts.DoubleSquareBracketAttributes ? 201904 : 0)
    .Case("fallthrough", LangOpts.DoubleSquareBracketAttributes ? 201904 : 0)
    .Case("fallthrough", LangOpts.DoubleSquareBracketAttributes ? 201904 : 0)
    .Case("unused", LangOpts.DoubleSquareBracketAttributes ? 201904 : 0)
    .Case("maybe_unused", LangOpts.DoubleSquareBracketAttributes ? 201904 : 0)
    .Case("nodiscard", LangOpts.DoubleSquareBracketAttributes ? 201904 : 0)
    .Case("warn_unused_result", LangOpts.DoubleSquareBracketAttributes ? 201904 : 0)
    .Default(0);
} else if (ScopeName == "clang") {
  return llvm::StringSwitch<int>(Name)
    .Case("aarch64_vector_pcs", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("acquire_handle", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("address_space", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("annotate", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("objc_arc_weak_reference_unavailable", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("argument_with_type_tag", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("pointer_with_type_tag", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("argument_with_type_tag", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("pointer_with_type_tag", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("__clang_arm_builtin_alias", true && (T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb || T.getArch() == llvm::Triple::armeb || T.getArch() == llvm::Triple::thumbeb || T.getArch() == llvm::Triple::aarch64) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("__clang_arm_mve_strict_polymorphism", true && (T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb || T.getArch() == llvm::Triple::armeb || T.getArch() == llvm::Triple::thumbeb) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("availability", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("preserve_access_index", true && (T.getArch() == llvm::Triple::bpfel || T.getArch() == llvm::Triple::bpfeb) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("blocks", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("cf_audited_transfer", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("cf_consumed", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("cfi_canonical_jump_table", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("cf_returns_not_retained", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("cf_returns_retained", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("cf_unknown_transfer", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("cpu_dispatch", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("cpu_specific", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("callback", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("convergent", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("disable_tail_calls", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("enum_extensibility", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("exclude_from_explicit_instantiation", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("external_source_symbol", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("flag_enum", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("ibaction", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("iboutlet", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("iboutletcollection", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("internal_linkage", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("lto_visibility_public", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("likely", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("loader_uninitialized", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("mig_server_routine", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("matrix_type", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("minsize", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("min_vector_width", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("ns_consumed", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("ns_consumes_self", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("ns_returns_autoreleased", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("ns_returns_not_retained", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("ns_returns_retained", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("neon_polyvector_type", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("neon_vector_type", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("no_builtin", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("noderef", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("noduplicate", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("noescape", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("nomerge", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("no_sanitize", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("no_sanitize_memory", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("no_speculative_load_hardening", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("no_stack_protector", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("no_thread_safety_analysis", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("not_tail_called", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("os_consumed", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("os_consumes_this", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("os_returns_not_retained", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("os_returns_retained", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("os_returns_retained_on_non_zero", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("os_returns_retained_on_zero", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("objc_boxable", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("objc_bridge", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("objc_bridge_mutable", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("objc_bridge_related", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("objc_class_stub", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("objc_designated_initializer", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("objc_direct", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("objc_direct_members", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("objc_exception", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("objc_protocol_requires_explicit_implementation", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("objc_externally_retained", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("objc_gc", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("objc_independent_class", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("objc_method_family", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("NSObject", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("objc_nonlazy_class", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("objc_non_runtime_protocol", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("objc_ownership", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("objc_precise_lifetime", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("objc_requires_property_definitions", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("objc_requires_super", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("objc_returns_inner_pointer", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("objc_root_class", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("objc_runtime_name", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("objc_runtime_visible", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("objc_subclassing_restricted", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("opencl_constant", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("opencl_generic", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("opencl_global", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("opencl_global_device", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("opencl_global_host", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("opencl_local", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("opencl_private", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("optnone", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("overloadable", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("ownership_holds", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("ownership_returns", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("ownership_takes", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("ownership_holds", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("ownership_returns", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("ownership_takes", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("ownership_holds", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("ownership_returns", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("ownership_takes", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("pascal", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("pass_object_size", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("pass_dynamic_object_size", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("pass_object_size", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("pass_dynamic_object_size", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("preserve_all", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("preserve_most", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("release_handle", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("sycl_kernel", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("speculative_load_hardening", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("swiftcall", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("swift_context", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("swift_error_result", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("swift_indirect_result", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("type_tag_for_datatype", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("type_visibility", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("unavailable", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("unlikely", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("use_handle", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("vectorcall", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("weak_import", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("export_name", true && (T.getArch() == llvm::Triple::wasm32 || T.getArch() == llvm::Triple::wasm64) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("import_module", true && (T.getArch() == llvm::Triple::wasm32 || T.getArch() == llvm::Triple::wasm64) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("import_name", true && (T.getArch() == llvm::Triple::wasm32 || T.getArch() == llvm::Triple::wasm64) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("xray_always_instrument", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("xray_never_instrument", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("xray_always_instrument", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("xray_never_instrument", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("xray_log_args", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Default(0);
} else if (ScopeName == "gnu") {
  return llvm::StringSwitch<int>(Name)
    .Case("interrupt", true && (T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb || T.getArch() == llvm::Triple::armeb || T.getArch() == llvm::Triple::thumbeb) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("interrupt", true && (T.getArch() == llvm::Triple::avr) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("signal", true && (T.getArch() == llvm::Triple::avr) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("alias", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("aligned", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("alloc_align", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("alloc_size", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("always_inline", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("interrupt", true && (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("no_caller_saved_registers", true && (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("nocf_check", true && (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("artificial", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("assume_aligned", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("cdecl", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("cleanup", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("cold", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("common", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("const", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("__const", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("const", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("__const", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("constructor", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("dllexport", true && (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64 || T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb || T.getArch() == llvm::Triple::aarch64) && (T.getOS() == llvm::Triple::Win32) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("dllimport", true && (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64 || T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb || T.getArch() == llvm::Triple::aarch64) && (T.getOS() == llvm::Triple::Win32) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("deprecated", LangOpts.DoubleSquareBracketAttributes ? 201904 : 0)
    .Case("destructor", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("fallthrough", LangOpts.DoubleSquareBracketAttributes ? 201904 : 0)
    .Case("fastcall", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("flatten", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("format", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("format_arg", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("gnu_inline", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("hot", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("ifunc", true && (T.getObjectFormat() == llvm::Triple::ELF) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("ms_abi", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("interrupt", true && (T.getArch() == llvm::Triple::msp430) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("ms_struct", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("may_alias", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("micromips", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("mips16", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("interrupt", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("long_call", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel || T.getArch() == llvm::Triple::mips64 || T.getArch() == llvm::Triple::mips64el) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("far", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel || T.getArch() == llvm::Triple::mips64 || T.getArch() == llvm::Triple::mips64el) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("long_call", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel || T.getArch() == llvm::Triple::mips64 || T.getArch() == llvm::Triple::mips64el) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("far", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel || T.getArch() == llvm::Triple::mips64 || T.getArch() == llvm::Triple::mips64el) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("short_call", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel || T.getArch() == llvm::Triple::mips64 || T.getArch() == llvm::Triple::mips64el) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("near", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel || T.getArch() == llvm::Triple::mips64 || T.getArch() == llvm::Triple::mips64el) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("short_call", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel || T.getArch() == llvm::Triple::mips64 || T.getArch() == llvm::Triple::mips64el) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("near", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel || T.getArch() == llvm::Triple::mips64 || T.getArch() == llvm::Triple::mips64el) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("mode", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("naked", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("nocommon", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("nodebug", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("noinline", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("no_instrument_function", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("nomicromips", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("nomips16", true && (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("noreturn", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("no_address_safety_analysis", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("no_sanitize_address", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("no_sanitize_thread", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("no_address_safety_analysis", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("no_sanitize_address", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("no_sanitize_thread", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("no_address_safety_analysis", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("no_sanitize_address", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("no_sanitize_thread", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("no_split_stack", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("nothrow", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("nonnull", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("packed", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("patchable_function_entry", true && (T.getArch() == llvm::Triple::aarch64 || T.getArch() == llvm::Triple::aarch64_be || T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("pcs", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("pure", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("interrupt", true && (T.getArch() == llvm::Triple::riscv32 || T.getArch() == llvm::Triple::riscv64) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("regcall", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("regparm", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("malloc", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("returns_nonnull", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("returns_twice", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("section", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("selectany", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("sentinel", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("stdcall", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("sysv_abi", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("tls_model", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("target", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("thiscall", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("transparent_union", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("unused", LangOpts.DoubleSquareBracketAttributes ? 201904 : 0)
    .Case("used", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("vector_size", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("visibility", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("warn_unused", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("warn_unused_result", LangOpts.DoubleSquareBracketAttributes ? 201904 : 0)
    .Case("weak", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("weakref", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("force_align_arg_pointer", true && (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64) && LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Default(0);
}
} break;
}
