blob: f876b98cd17335cf5eb28ee9ed5abdab885c330f [file] [log] [blame]
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|* *|
|*Code to implement the __has_attribute logic *|
|* *|
|* Automatically generated file, do not edit! *|
|* *|
\*===----------------------------------------------------------------------===*/
switch (Syntax) {
case AttrSyntax::Generic:
return llvm::StringSwitch<bool>(Name)
.Case("interrupt", (T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb))
.Case("acquire_capability", true)
.Case("acquire_capability", true)
.Case("acquire_shared_capability", true)
.Case("acquire_shared_capability", true)
.Case("exclusive_lock_function", true)
.Case("shared_lock_function", true)
.Case("acquired_after", true)
.Case("acquired_before", true)
.Case("address_space", true)
.Case("alias", true)
.Case("alias", true)
.Case("aligned", true)
.Case("aligned", true)
.Case("align", true)
.Case("alignas", true)
.Case("_Alignas", true)
.Case("always_inline", true)
.Case("always_inline", true)
.Case("__forceinline", true)
.Case("analyzer_noreturn", true)
.Case("annotate", true)
.Case("objc_arc_weak_reference_unavailable", true)
.Case("argument_with_type_tag", true)
.Case("pointer_with_type_tag", true)
.Case("asm", true)
.Case("__asm__", true)
.Case("assert_capability", true)
.Case("assert_capability", true)
.Case("assert_shared_capability", true)
.Case("assert_shared_capability", true)
.Case("assert_exclusive_lock", true)
.Case("assert_shared_lock", true)
.Case("availability", true)
.Case("blocks", true)
.Case("bounded", true)
.Case("_Noreturn", true)
.Case("cdecl", true)
.Case("cdecl", true)
.Case("__cdecl", true)
.Case("_cdecl", true)
.Case("cf_audited_transfer", true)
.Case("cf_consumed", true)
.Case("cf_returns_not_retained", true)
.Case("cf_returns_retained", true)
.Case("cf_unknown_transfer", true)
.Case("constant", true)
.Case("device", true)
.Case("global", true)
.Case("host", true)
.Case("launch_bounds", true)
.Case("shared", true)
.Case("noreturn", true)
.Case("callable_when", true)
.Case("capability", true)
.Case("capability", true)
.Case("shared_capability", true)
.Case("shared_capability", true)
.Case("carries_dependency", true)
.Case("carries_dependency", true)
.Case("cleanup", true)
.Case("cleanup", true)
.Case("cold", true)
.Case("cold", true)
.Case("common", true)
.Case("common", true)
.Case("const", true)
.Case("const", true)
.Case("__const", true)
.Case("__const", true)
.Case("constructor", true)
.Case("constructor", true)
.Case("consumable", true)
.Case("consumable_auto_cast_state", true)
.Case("consumable_set_state_on_read", true)
.Case("dllexport", (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64 || T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb) && (T.getOS() == llvm::Triple::Win32))
.Case("dllexport", (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64 || T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb) && (T.getOS() == llvm::Triple::Win32))
.Case("dllexport", (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64 || T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb) && (T.getOS() == llvm::Triple::Win32))
.Case("dllimport", (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64 || T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb) && (T.getOS() == llvm::Triple::Win32))
.Case("dllimport", (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64 || T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb) && (T.getOS() == llvm::Triple::Win32))
.Case("dllimport", (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64 || T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb) && (T.getOS() == llvm::Triple::Win32))
.Case("deprecated", true)
.Case("deprecated", true)
.Case("deprecated", true)
.Case("deprecated", true)
.Case("destructor", true)
.Case("destructor", true)
.Case("enable_if", true)
.Case("exclusive_trylock_function", true)
.Case("ext_vector_type", true)
.Case("fallthrough", true)
.Case("fastcall", true)
.Case("fastcall", true)
.Case("__fastcall", true)
.Case("_fastcall", true)
.Case("final", true)
.Case("sealed", true)
.Case("flatten", true)
.Case("flatten", true)
.Case("format", true)
.Case("format", true)
.Case("format_arg", true)
.Case("format_arg", true)
.Case("gnu_inline", true)
.Case("gnu_inline", true)
.Case("guarded_by", true)
.Case("guarded_var", true)
.Case("hot", true)
.Case("hot", true)
.Case("ibaction", true)
.Case("iboutlet", true)
.Case("iboutletcollection", true)
.Case("init_priority", true)
.Case("init_seg", true)
.Case("intel_ocl_bicc", true)
.Case("lock_returned", true)
.Case("lockable", true)
.Case("locks_excluded", true)
.Case("loop", true)
.Case("unroll", true)
.Case("ms_abi", true)
.Case("ms_abi", true)
.Case("__single_inheritance", true)
.Case("__multiple_inheritance", true)
.Case("__virtual_inheritance", true)
.Case("__unspecified_inheritance", true)
.Case("interrupt", (T.getArch() == llvm::Triple::msp430))
.Case("malloc", true)
.Case("malloc", true)
.Case("may_alias", true)
.Case("may_alias", true)
.Case("minsize", true)
.Case("mips16", (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel))
.Case("mips16", (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel))
.Case("mode", true)
.Case("mode", true)
.Case("property", true)
.Case("ms_struct", true)
.Case("ms_struct", true)
.Case("ns_consumed", true)
.Case("ns_consumes_self", true)
.Case("ns_returns_autoreleased", true)
.Case("ns_returns_not_retained", true)
.Case("ns_returns_retained", true)
.Case("naked", true)
.Case("naked", true)
.Case("naked", true)
.Case("neon_polyvector_type", true)
.Case("neon_vector_type", true)
.Case("nocommon", true)
.Case("nocommon", true)
.Case("nodebug", true)
.Case("noduplicate", true)
.Case("noduplicate", true)
.Case("noinline", true)
.Case("noinline", true)
.Case("noinline", true)
.Case("no_instrument_function", true)
.Case("no_instrument_function", true)
.Case("nomips16", (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel))
.Case("nomips16", (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel))
.Case("noreturn", true)
.Case("noreturn", true)
.Case("noreturn", true)
.Case("no_address_safety_analysis", true)
.Case("no_address_safety_analysis", true)
.Case("no_sanitize_address", true)
.Case("no_sanitize_address", true)
.Case("no_sanitize_memory", true)
.Case("no_sanitize_thread", true)
.Case("no_split_stack", true)
.Case("no_split_stack", true)
.Case("no_thread_safety_analysis", true)
.Case("nothrow", true)
.Case("nothrow", true)
.Case("nothrow", true)
.Case("nonnull", true)
.Case("nonnull", true)
.Case("objc_bridge", true)
.Case("objc_bridge_mutable", true)
.Case("objc_bridge_related", true)
.Case("objc_designated_initializer", true)
.Case("objc_exception", true)
.Case("objc_protocol_requires_explicit_implementation", true)
.Case("objc_gc", true)
.Case("objc_method_family", true)
.Case("NSObject", true)
.Case("objc_ownership", true)
.Case("objc_precise_lifetime", true)
.Case("objc_requires_property_definitions", true)
.Case("objc_requires_super", true)
.Case("objc_returns_inner_pointer", true)
.Case("objc_root_class", true)
.Case("objc_runtime_name", true)
.Case("__constant", true)
.Case("constant", true)
.Case("__global", true)
.Case("global", true)
.Case("__read_only", true)
.Case("read_only", true)
.Case("__write_only", true)
.Case("write_only", true)
.Case("__read_write", true)
.Case("read_write", true)
.Case("__kernel", true)
.Case("kernel", true)
.Case("__local", true)
.Case("local", true)
.Case("__private", true)
.Case("private", true)
.Case("optnone", true)
.Case("optnone", true)
.Case("overloadable", true)
.Case("override", true)
.Case("ownership_holds", true)
.Case("ownership_returns", true)
.Case("ownership_takes", true)
.Case("packed", true)
.Case("packed", true)
.Case("param_typestate", true)
.Case("pascal", true)
.Case("__pascal", true)
.Case("_pascal", true)
.Case("pcs", true)
.Case("pcs", true)
.Case("pnaclcall", true)
.Case("pt_guarded_by", true)
.Case("pt_guarded_var", true)
.Case("__ptr32", true)
.Case("__ptr64", true)
.Case("pure", true)
.Case("pure", true)
.Case("regparm", true)
.Case("regparm", true)
.Case("release_capability", true)
.Case("release_capability", true)
.Case("release_shared_capability", true)
.Case("release_shared_capability", true)
.Case("release_generic_capability", true)
.Case("release_generic_capability", true)
.Case("unlock_function", true)
.Case("reqd_work_group_size", true)
.Case("requires_capability", true)
.Case("requires_capability", true)
.Case("exclusive_locks_required", true)
.Case("requires_shared_capability", true)
.Case("requires_shared_capability", true)
.Case("shared_locks_required", true)
.Case("return_typestate", true)
.Case("returns_nonnull", true)
.Case("returns_nonnull", true)
.Case("returns_twice", true)
.Case("returns_twice", true)
.Case("__sptr", true)
.Case("scoped_lockable", true)
.Case("section", true)
.Case("section", true)
.Case("allocate", true)
.Case("selectany", true)
.Case("sentinel", true)
.Case("sentinel", true)
.Case("set_typestate", true)
.Case("shared_trylock_function", true)
.Case("stdcall", true)
.Case("stdcall", true)
.Case("__stdcall", true)
.Case("_stdcall", true)
.Case("sysv_abi", true)
.Case("sysv_abi", true)
.Case("tls_model", true)
.Case("tls_model", true)
.Case("test_typestate", true)
.Case("thiscall", true)
.Case("thiscall", true)
.Case("__thiscall", true)
.Case("_thiscall", true)
.Case("thread", true)
.Case("transparent_union", true)
.Case("transparent_union", true)
.Case("try_acquire_capability", true)
.Case("try_acquire_capability", true)
.Case("try_acquire_shared_capability", true)
.Case("try_acquire_shared_capability", true)
.Case("type_tag_for_datatype", true)
.Case("type_visibility", true)
.Case("type_visibility", true)
.Case("__uptr", true)
.Case("__unaligned", true)
.Case("unavailable", true)
.Case("unused", true)
.Case("unused", true)
.Case("used", true)
.Case("used", true)
.Case("uuid", true)
.Case("vecreturn", true)
.Case("vec_type_hint", true)
.Case("vector_size", true)
.Case("vector_size", true)
.Case("visibility", true)
.Case("visibility", true)
.Case("warn_unused", true)
.Case("warn_unused_result", true)
.Case("warn_unused_result", true)
.Case("warn_unused_result", true)
.Case("weak", true)
.Case("weak", true)
.Case("weak_import", true)
.Case("weakref", true)
.Case("weakref", true)
.Case("__w64", true)
.Case("work_group_size_hint", true)
.Case("force_align_arg_pointer", (T.getArch() == llvm::Triple::x86))
.Default(false);
case AttrSyntax::GNU:
return llvm::StringSwitch<bool>(Name)
.Case("interrupt", (T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb))
.Case("acquire_capability", true)
.Case("acquire_shared_capability", true)
.Case("exclusive_lock_function", true)
.Case("shared_lock_function", true)
.Case("acquire_capability", true)
.Case("acquire_shared_capability", true)
.Case("exclusive_lock_function", true)
.Case("shared_lock_function", true)
.Case("acquire_capability", true)
.Case("acquire_shared_capability", true)
.Case("exclusive_lock_function", true)
.Case("shared_lock_function", true)
.Case("acquire_capability", true)
.Case("acquire_shared_capability", true)
.Case("exclusive_lock_function", true)
.Case("shared_lock_function", true)
.Case("acquired_after", true)
.Case("acquired_before", true)
.Case("address_space", true)
.Case("alias", true)
.Case("aligned", true)
.Case("always_inline", true)
.Case("analyzer_noreturn", true)
.Case("annotate", true)
.Case("objc_arc_weak_reference_unavailable", true)
.Case("argument_with_type_tag", true)
.Case("pointer_with_type_tag", true)
.Case("argument_with_type_tag", true)
.Case("pointer_with_type_tag", true)
.Case("assert_capability", true)
.Case("assert_shared_capability", true)
.Case("assert_capability", true)
.Case("assert_shared_capability", true)
.Case("assert_exclusive_lock", true)
.Case("assert_shared_lock", true)
.Case("availability", true)
.Case("blocks", true)
.Case("bounded", true)
.Case("cdecl", true)
.Case("cf_audited_transfer", true)
.Case("cf_consumed", true)
.Case("cf_returns_not_retained", true)
.Case("cf_returns_retained", true)
.Case("cf_unknown_transfer", true)
.Case("constant", true)
.Case("device", true)
.Case("global", true)
.Case("host", true)
.Case("launch_bounds", true)
.Case("shared", true)
.Case("callable_when", true)
.Case("capability", true)
.Case("shared_capability", true)
.Case("capability", true)
.Case("shared_capability", true)
.Case("carries_dependency", true)
.Case("cleanup", true)
.Case("cold", true)
.Case("common", true)
.Case("const", true)
.Case("__const", true)
.Case("const", true)
.Case("__const", true)
.Case("constructor", true)
.Case("consumable", true)
.Case("consumable_auto_cast_state", true)
.Case("consumable_set_state_on_read", true)
.Case("dllexport", (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64 || T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb) && (T.getOS() == llvm::Triple::Win32))
.Case("dllimport", (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64 || T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb) && (T.getOS() == llvm::Triple::Win32))
.Case("deprecated", true)
.Case("destructor", true)
.Case("enable_if", true)
.Case("exclusive_trylock_function", true)
.Case("ext_vector_type", true)
.Case("fastcall", true)
.Case("flatten", true)
.Case("format", true)
.Case("format_arg", true)
.Case("gnu_inline", true)
.Case("guarded_by", true)
.Case("guarded_var", true)
.Case("hot", true)
.Case("ibaction", true)
.Case("iboutlet", true)
.Case("iboutletcollection", true)
.Case("init_priority", true)
.Case("intel_ocl_bicc", true)
.Case("lock_returned", true)
.Case("lockable", true)
.Case("locks_excluded", true)
.Case("ms_abi", true)
.Case("interrupt", (T.getArch() == llvm::Triple::msp430))
.Case("malloc", true)
.Case("may_alias", true)
.Case("minsize", true)
.Case("mips16", (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel))
.Case("mode", true)
.Case("ms_struct", true)
.Case("ns_consumed", true)
.Case("ns_consumes_self", true)
.Case("ns_returns_autoreleased", true)
.Case("ns_returns_not_retained", true)
.Case("ns_returns_retained", true)
.Case("naked", true)
.Case("neon_polyvector_type", true)
.Case("neon_vector_type", true)
.Case("nocommon", true)
.Case("nodebug", true)
.Case("noduplicate", true)
.Case("noinline", true)
.Case("no_instrument_function", true)
.Case("nomips16", (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel))
.Case("noreturn", true)
.Case("no_address_safety_analysis", true)
.Case("no_sanitize_address", true)
.Case("no_address_safety_analysis", true)
.Case("no_sanitize_address", true)
.Case("no_sanitize_memory", true)
.Case("no_sanitize_thread", true)
.Case("no_split_stack", true)
.Case("no_thread_safety_analysis", true)
.Case("nothrow", true)
.Case("nonnull", true)
.Case("objc_bridge", true)
.Case("objc_bridge_mutable", true)
.Case("objc_bridge_related", true)
.Case("objc_designated_initializer", true)
.Case("objc_exception", true)
.Case("objc_protocol_requires_explicit_implementation", true)
.Case("objc_gc", true)
.Case("objc_method_family", true)
.Case("NSObject", true)
.Case("objc_ownership", true)
.Case("objc_precise_lifetime", true)
.Case("objc_requires_property_definitions", true)
.Case("objc_requires_super", true)
.Case("objc_returns_inner_pointer", true)
.Case("objc_root_class", true)
.Case("objc_runtime_name", true)
.Case("optnone", true)
.Case("overloadable", true)
.Case("ownership_holds", true)
.Case("ownership_returns", true)
.Case("ownership_takes", true)
.Case("ownership_holds", true)
.Case("ownership_returns", true)
.Case("ownership_takes", true)
.Case("ownership_holds", true)
.Case("ownership_returns", true)
.Case("ownership_takes", true)
.Case("packed", true)
.Case("param_typestate", true)
.Case("pascal", true)
.Case("pcs", true)
.Case("pnaclcall", true)
.Case("pt_guarded_by", true)
.Case("pt_guarded_var", true)
.Case("pure", true)
.Case("regparm", true)
.Case("release_capability", true)
.Case("release_shared_capability", true)
.Case("release_generic_capability", true)
.Case("unlock_function", true)
.Case("release_capability", true)
.Case("release_shared_capability", true)
.Case("release_generic_capability", true)
.Case("unlock_function", true)
.Case("release_capability", true)
.Case("release_shared_capability", true)
.Case("release_generic_capability", true)
.Case("unlock_function", true)
.Case("release_capability", true)
.Case("release_shared_capability", true)
.Case("release_generic_capability", true)
.Case("unlock_function", true)
.Case("reqd_work_group_size", true)
.Case("requires_capability", true)
.Case("exclusive_locks_required", true)
.Case("requires_shared_capability", true)
.Case("shared_locks_required", true)
.Case("requires_capability", true)
.Case("exclusive_locks_required", true)
.Case("requires_shared_capability", true)
.Case("shared_locks_required", true)
.Case("requires_capability", true)
.Case("exclusive_locks_required", true)
.Case("requires_shared_capability", true)
.Case("shared_locks_required", true)
.Case("requires_capability", true)
.Case("exclusive_locks_required", true)
.Case("requires_shared_capability", true)
.Case("shared_locks_required", true)
.Case("return_typestate", true)
.Case("returns_nonnull", true)
.Case("returns_twice", true)
.Case("scoped_lockable", true)
.Case("section", true)
.Case("sentinel", true)
.Case("set_typestate", true)
.Case("shared_trylock_function", true)
.Case("stdcall", true)
.Case("sysv_abi", true)
.Case("tls_model", true)
.Case("test_typestate", true)
.Case("thiscall", true)
.Case("transparent_union", true)
.Case("try_acquire_capability", true)
.Case("try_acquire_shared_capability", true)
.Case("try_acquire_capability", true)
.Case("try_acquire_shared_capability", true)
.Case("type_tag_for_datatype", true)
.Case("type_visibility", true)
.Case("unavailable", true)
.Case("unused", true)
.Case("used", true)
.Case("vecreturn", true)
.Case("vec_type_hint", true)
.Case("vector_size", true)
.Case("visibility", true)
.Case("warn_unused", true)
.Case("warn_unused_result", true)
.Case("weak", true)
.Case("weak_import", true)
.Case("weakref", true)
.Case("work_group_size_hint", true)
.Case("force_align_arg_pointer", (T.getArch() == llvm::Triple::x86))
.Default(false);
case AttrSyntax::Declspec:
return llvm::StringSwitch<bool>(Name)
.Case("align", true)
.Case("dllexport", (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64 || T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb) && (T.getOS() == llvm::Triple::Win32))
.Case("dllimport", (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64 || T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb) && (T.getOS() == llvm::Triple::Win32))
.Case("deprecated", true)
.Case("property", true)
.Case("naked", true)
.Case("noinline", true)
.Case("noreturn", true)
.Case("nothrow", true)
.Case("allocate", true)
.Case("selectany", true)
.Case("thread", true)
.Case("uuid", true)
.Default(false);
case AttrSyntax::Pragma:
return llvm::StringSwitch<bool>(Name)
.Case("init_seg", true)
.Case("loop", true)
.Case("unroll", true)
.Case("loop", true)
.Case("unroll", true)
.Default(false);
case AttrSyntax::CXX: {
if (!Scope || Scope->getName() == "") {
return llvm::StringSwitch<bool>(Name)
.Case("noreturn", LangOpts.CPlusPlus11)
.Case("carries_dependency", LangOpts.CPlusPlus11)
.Case("deprecated", LangOpts.CPlusPlus11)
.Case("deprecated", LangOpts.CPlusPlus11)
.Default(false);
} else if (Scope->getName() == "clang") {
return llvm::StringSwitch<bool>(Name)
.Case("acquire_capability", LangOpts.CPlusPlus11)
.Case("acquire_shared_capability", LangOpts.CPlusPlus11)
.Case("acquire_capability", LangOpts.CPlusPlus11)
.Case("acquire_shared_capability", LangOpts.CPlusPlus11)
.Case("assert_capability", LangOpts.CPlusPlus11)
.Case("assert_shared_capability", LangOpts.CPlusPlus11)
.Case("assert_capability", LangOpts.CPlusPlus11)
.Case("assert_shared_capability", LangOpts.CPlusPlus11)
.Case("capability", LangOpts.CPlusPlus11)
.Case("shared_capability", LangOpts.CPlusPlus11)
.Case("capability", LangOpts.CPlusPlus11)
.Case("shared_capability", LangOpts.CPlusPlus11)
.Case("fallthrough", LangOpts.CPlusPlus11)
.Case("noduplicate", LangOpts.CPlusPlus11)
.Case("optnone", LangOpts.CPlusPlus11)
.Case("release_capability", LangOpts.CPlusPlus11)
.Case("release_shared_capability", LangOpts.CPlusPlus11)
.Case("release_generic_capability", LangOpts.CPlusPlus11)
.Case("release_capability", LangOpts.CPlusPlus11)
.Case("release_shared_capability", LangOpts.CPlusPlus11)
.Case("release_generic_capability", LangOpts.CPlusPlus11)
.Case("release_capability", LangOpts.CPlusPlus11)
.Case("release_shared_capability", LangOpts.CPlusPlus11)
.Case("release_generic_capability", LangOpts.CPlusPlus11)
.Case("requires_capability", LangOpts.CPlusPlus11)
.Case("requires_shared_capability", LangOpts.CPlusPlus11)
.Case("requires_capability", LangOpts.CPlusPlus11)
.Case("requires_shared_capability", LangOpts.CPlusPlus11)
.Case("try_acquire_capability", LangOpts.CPlusPlus11)
.Case("try_acquire_shared_capability", LangOpts.CPlusPlus11)
.Case("try_acquire_capability", LangOpts.CPlusPlus11)
.Case("try_acquire_shared_capability", LangOpts.CPlusPlus11)
.Case("type_visibility", LangOpts.CPlusPlus11)
.Case("warn_unused_result", LangOpts.CPlusPlus11)
.Default(false);
} else if (Scope->getName() == "gnu") {
return llvm::StringSwitch<bool>(Name)
.Case("alias", LangOpts.CPlusPlus11)
.Case("aligned", LangOpts.CPlusPlus11)
.Case("always_inline", LangOpts.CPlusPlus11)
.Case("cdecl", LangOpts.CPlusPlus11)
.Case("cleanup", LangOpts.CPlusPlus11)
.Case("cold", LangOpts.CPlusPlus11)
.Case("common", LangOpts.CPlusPlus11)
.Case("const", LangOpts.CPlusPlus11)
.Case("__const", LangOpts.CPlusPlus11)
.Case("const", LangOpts.CPlusPlus11)
.Case("__const", LangOpts.CPlusPlus11)
.Case("constructor", LangOpts.CPlusPlus11)
.Case("dllexport", (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64 || T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb) && (T.getOS() == llvm::Triple::Win32) && LangOpts.CPlusPlus11)
.Case("dllimport", (T.getArch() == llvm::Triple::x86 || T.getArch() == llvm::Triple::x86_64 || T.getArch() == llvm::Triple::arm || T.getArch() == llvm::Triple::thumb) && (T.getOS() == llvm::Triple::Win32) && LangOpts.CPlusPlus11)
.Case("deprecated", LangOpts.CPlusPlus11)
.Case("destructor", LangOpts.CPlusPlus11)
.Case("fastcall", LangOpts.CPlusPlus11)
.Case("flatten", LangOpts.CPlusPlus11)
.Case("format", LangOpts.CPlusPlus11)
.Case("format_arg", LangOpts.CPlusPlus11)
.Case("gnu_inline", LangOpts.CPlusPlus11)
.Case("hot", LangOpts.CPlusPlus11)
.Case("ms_abi", LangOpts.CPlusPlus11)
.Case("malloc", LangOpts.CPlusPlus11)
.Case("may_alias", LangOpts.CPlusPlus11)
.Case("mips16", (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel) && LangOpts.CPlusPlus11)
.Case("mode", LangOpts.CPlusPlus11)
.Case("ms_struct", LangOpts.CPlusPlus11)
.Case("naked", LangOpts.CPlusPlus11)
.Case("nocommon", LangOpts.CPlusPlus11)
.Case("noinline", LangOpts.CPlusPlus11)
.Case("no_instrument_function", LangOpts.CPlusPlus11)
.Case("nomips16", (T.getArch() == llvm::Triple::mips || T.getArch() == llvm::Triple::mipsel) && LangOpts.CPlusPlus11)
.Case("noreturn", LangOpts.CPlusPlus11)
.Case("no_address_safety_analysis", LangOpts.CPlusPlus11)
.Case("no_sanitize_address", LangOpts.CPlusPlus11)
.Case("no_address_safety_analysis", LangOpts.CPlusPlus11)
.Case("no_sanitize_address", LangOpts.CPlusPlus11)
.Case("no_split_stack", LangOpts.CPlusPlus11)
.Case("nothrow", LangOpts.CPlusPlus11)
.Case("nonnull", LangOpts.CPlusPlus11)
.Case("packed", LangOpts.CPlusPlus11)
.Case("pcs", LangOpts.CPlusPlus11)
.Case("pure", LangOpts.CPlusPlus11)
.Case("regparm", LangOpts.CPlusPlus11)
.Case("returns_nonnull", LangOpts.CPlusPlus11)
.Case("returns_twice", LangOpts.CPlusPlus11)
.Case("section", LangOpts.CPlusPlus11)
.Case("sentinel", LangOpts.CPlusPlus11)
.Case("stdcall", LangOpts.CPlusPlus11)
.Case("sysv_abi", LangOpts.CPlusPlus11)
.Case("tls_model", LangOpts.CPlusPlus11)
.Case("thiscall", LangOpts.CPlusPlus11)
.Case("transparent_union", LangOpts.CPlusPlus11)
.Case("unused", LangOpts.CPlusPlus11)
.Case("used", LangOpts.CPlusPlus11)
.Case("vector_size", LangOpts.CPlusPlus11)
.Case("visibility", LangOpts.CPlusPlus11)
.Case("warn_unused_result", LangOpts.CPlusPlus11)
.Case("weak", LangOpts.CPlusPlus11)
.Case("weakref", LangOpts.CPlusPlus11)
.Default(false);
}
}
}