/*===- 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("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("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("blocks", 1)
    .Case("bounded", 1)
    .Case("cdecl", 1)
    .Case("cf_audited_transfer", 1)
    .Case("cf_consumed", 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("cold", 1)
    .Case("common", 1)
    .Case("const", 1)
    .Case("__const", 1)
    .Case("const", 1)
    .Case("__const", 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("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("hip_pinned_shadow", 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("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("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_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("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("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_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_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("intel_reqd_sub_group_size", 1)
    .Case("nosvm", 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("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("kernel", 1)
    .Case("reqd_work_group_size", 1)
    .Case("require_constant_initialization", 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("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("swiftcall", 1)
    .Case("swift_context", 1)
    .Case("swift_error_result", 1)
    .Case("swift_indirect_result", 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("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("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("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("__hip_pinned_shadow__", 1)
    .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)
    .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("no_unique_address", true && ( Target.getCXXABI().isItaniumFamily() ) && LangOpts.CPlusPlus11 ? 201803 : 0)
    .Case("maybe_unused", LangOpts.CPlusPlus11 ? 201603 : 0)
    .Case("unused", LangOpts.CPlusPlus11 ? 201603 : 0)
    .Case("nodiscard", LangOpts.CPlusPlus11 ? 201603 : 0)
    .Case("warn_unused_result", LangOpts.CPlusPlus11 ? 201603 : 0)
    .Case("warn_unused_result", LangOpts.CPlusPlus11 ? 201603 : 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("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("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("blocks", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("cf_audited_transfer", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("cf_consumed", 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("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("mig_server_routine", 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("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("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_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_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("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("require_constant_initialization", 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("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("vecreturn", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("vectorcall", LangOpts.CPlusPlus11 ? 1 : 0)
    .Case("warn_unused_result", LangOpts.CPlusPlus11 ? 201603 : 0)
    .Case("weak_import", 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("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("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 ? 201603 : 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("suppress", LangOpts.CPlusPlus11 ? 1 : 0)
    .Default(0);
}
} break;
case AttrSyntax::C: {
if (ScopeName == "") {
  return llvm::StringSwitch<int>(Name)
    .Case("deprecated", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("fallthrough", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("maybe_unused", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("nodiscard", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Default(0);
} else if (ScopeName == "clang") {
  return llvm::StringSwitch<int>(Name)
    .Case("aarch64_vector_pcs", 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("availability", 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("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("mig_server_routine", 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("noderef", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("noduplicate", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("noescape", 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_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_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("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("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("vectorcall", LangOpts.DoubleSquareBracketAttributes ? 1 : 0)
    .Case("weak_import", 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);
}
} break;
}
