Lines Matching +refs:feature +refs:define +refs:name

11 #define _LIBCPP___CONFIG
30 # define _LIBCPP_VERSION 190107
32 # define _LIBCPP_CONCAT_IMPL(_X, _Y) _X##_Y
33 # define _LIBCPP_CONCAT(_X, _Y) _LIBCPP_CONCAT_IMPL(_X, _Y)
36 # define _LIBCPP_FREESTANDING
49 # define _LIBCPP_HARDENING_MODE _LIBCPP_HARDENING_MODE_EXTENSIVE
128 # define _LIBCPP_HARDENING_MODE_NONE (1 << 1)
129 # define _LIBCPP_HARDENING_MODE_FAST (1 << 2)
130 # define _LIBCPP_HARDENING_MODE_EXTENSIVE (1 << 4) // Deliberately not ordered.
131 # define _LIBCPP_HARDENING_MODE_DEBUG (1 << 3)
141 # define _LIBCPP_HARDENING_MODE _LIBCPP_HARDENING_MODE_DEFAULT
157 # define _LIBCPP_TOSTRING2(x) #x
158 # define _LIBCPP_TOSTRING(x) _LIBCPP_TOSTRING2(x)
162 # define _LIBCPP_CXX03_LANG
167 # define __has_extension(__x) 0
172 # define __has_feature(__x) 0
176 # define __has_constexpr_builtin(x) 0
181 # define __building_module(...) 0
187 # define __is_identifier(__x) 1
191 # define __has_declspec_attribute(__x) 0
194 # define __has_keyword(__x) !(__is_identifier(__x))
197 # define __has_warning(...) 0
212 # define _LIBCPP_ABI_ITANIUM
214 # define _LIBCPP_ABI_MICROSOFT
217 # define _LIBCPP_ABI_MICROSOFT
219 # define _LIBCPP_ABI_ITANIUM
224 # define _LIBCPP_ABI_VCRUNTIME
229 # define _LIBCPP_ENABLE_EXPERIMENTAL
234 // easier to grep for target specific flags once the feature is complete.
236 # define _LIBCPP_HAS_NO_INCOMPLETE_PSTL
237 # define _LIBCPP_HAS_NO_EXPERIMENTAL_STOP_TOKEN
238 # define _LIBCPP_HAS_NO_EXPERIMENTAL_TZDB
239 # define _LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM
247 # define _LIBCPP_WIN32API
248 # define _LIBCPP_SHORT_WCHAR 1
250 # define _LIBCPP_MSVCRT_LIKE
254 # define _LIBCPP_MSVCRT // Using Microsoft's C Runtime library
257 # define _LIBCPP_HAS_BITSCAN64
259 # define _LIBCPP_HAS_OPEN_WITH_WCHAR
264 # define _LIBCPP_SHORT_WCHAR 1
307 # define _LIBCPP_USING_ARC4_RANDOM
309 # define _LIBCPP_USING_GETENTROPY
311 # define _LIBCPP_USING_FUCHSIA_CPRNG
313 # define _LIBCPP_USING_NACL_RANDOM
315 # define _LIBCPP_USING_WIN32_RANDOM
317 # define _LIBCPP_USING_DEV_RANDOM
322 # define _LIBCPP_ALIGNOF(_Tp) alignof(_Tp)
323 # define _ALIGNAS_TYPE(x) alignas(x)
324 # define _ALIGNAS(x) alignas(x)
325 # define _LIBCPP_NORETURN [[noreturn]]
326 # define _NOEXCEPT noexcept
327 # define _NOEXCEPT_(...) noexcept(__VA_ARGS__)
328 # define _LIBCPP_CONSTEXPR constexpr
332 # define _LIBCPP_ALIGNOF(_Tp) _Alignof(_Tp)
333 # define _ALIGNAS_TYPE(x) __attribute__((__aligned__(_LIBCPP_ALIGNOF(x))))
334 # define _ALIGNAS(x) __attribute__((__aligned__(x)))
335 # define _LIBCPP_NORETURN __attribute__((__noreturn__))
336 # define _LIBCPP_HAS_NO_NOEXCEPT
337 # define nullptr __nullptr
338 # define _NOEXCEPT throw()
339 # define _NOEXCEPT_(...)
340 # define static_assert(...) _Static_assert(__VA_ARGS__)
341 # define decltype(...) __decltype(__VA_ARGS__)
342 # define _LIBCPP_CONSTEXPR
349 # define _LIBCPP_PREFERRED_ALIGNOF(_Tp) __alignof(_Tp)
355 # define _LIBCPP_HAS_OBJC_ARC
359 # define _LIBCPP_HAS_OBJC_ARC_WEAK
363 # define _LIBCPP_HAS_EXTENSION_BLOCKS
367 # define _LIBCPP_HAS_BLOCKS_RUNTIME
371 # define _LIBCPP_HAS_NO_ASAN
374 # define _LIBCPP_ALWAYS_INLINE __attribute__((__always_inline__))
376 # define _LIBCPP_DISABLE_EXTENSION_WARNING __extension__
381 # define _LIBCPP_HAS_NO_ASAN
384 # define _LIBCPP_ALWAYS_INLINE __attribute__((__always_inline__))
386 # define _LIBCPP_DISABLE_EXTENSION_WARNING __extension__
393 # define _LIBCPP_CRT_FUNC __declspec(dllimport)
395 # define _LIBCPP_CRT_FUNC
399 # define _LIBCPP_DLL_VIS
400 # define _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS
401 # define _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS
402 # define _LIBCPP_OVERRIDABLE_FUNC_VIS
403 # define _LIBCPP_EXPORTED_FROM_ABI
405 # define _LIBCPP_DLL_VIS __declspec(dllexport)
407 # define _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS _LIBCPP_DLL_VIS
408 # define _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS
410 # define _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS
411 # define _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS _LIBCPP_DLL_VIS
413 # define _LIBCPP_OVERRIDABLE_FUNC_VIS _LIBCPP_DLL_VIS
414 # define _LIBCPP_EXPORTED_FROM_ABI __declspec(dllexport)
416 # define _LIBCPP_DLL_VIS __declspec(dllimport)
417 # define _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS _LIBCPP_DLL_VIS
418 # define _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS
419 # define _LIBCPP_OVERRIDABLE_FUNC_VIS
420 # define _LIBCPP_EXPORTED_FROM_ABI __declspec(dllimport)
423 # define _LIBCPP_HIDDEN
424 # define _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
425 # define _LIBCPP_TEMPLATE_VIS
426 # define _LIBCPP_TEMPLATE_DATA_VIS
427 # define _LIBCPP_TYPE_VISIBILITY_DEFAULT
432 # define _LIBCPP_VISIBILITY(vis) __attribute__((__visibility__(vis)))
434 # define _LIBCPP_VISIBILITY(vis)
437 # define _LIBCPP_HIDDEN _LIBCPP_VISIBILITY("hidden")
438 # define _LIBCPP_TEMPLATE_DATA_VIS _LIBCPP_VISIBILITY("default")
439 # define _LIBCPP_EXPORTED_FROM_ABI _LIBCPP_VISIBILITY("default")
440 # define _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS _LIBCPP_VISIBILITY("default")
441 # define _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS
445 # define _LIBCPP_OVERRIDABLE_FUNC_VIS _LIBCPP_VISIBILITY("default")
450 # define _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS inline _LIBCPP_HIDDEN
452 # define _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
457 # define _LIBCPP_TEMPLATE_VIS __attribute__((__visibility__("default")))
459 # define _LIBCPP_TEMPLATE_VIS
464 # define _LIBCPP_TYPE_VISIBILITY_DEFAULT __attribute__((__type_visibility__("default")))
466 # define _LIBCPP_TYPE_VISIBILITY_DEFAULT
472 # define _LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION __attribute__((__exclude_from_explicit_instantiation__))
477 # define _LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION _LIBCPP_ALWAYS_INLINE
481 # define _LIBCPP_DIAGNOSTIC_PUSH _Pragma("clang diagnostic push")
482 # define _LIBCPP_DIAGNOSTIC_POP _Pragma("clang diagnostic pop")
483 # define _LIBCPP_CLANG_DIAGNOSTIC_IGNORED(str) _Pragma(_LIBCPP_TOSTRING(clang diagnostic ignored str))
484 # define _LIBCPP_GCC_DIAGNOSTIC_IGNORED(str)
486 # define _LIBCPP_DIAGNOSTIC_PUSH _Pragma("GCC diagnostic push")
487 # define _LIBCPP_DIAGNOSTIC_POP _Pragma("GCC diagnostic pop")
488 # define _LIBCPP_CLANG_DIAGNOSTIC_IGNORED(str)
489 # define _LIBCPP_GCC_DIAGNOSTIC_IGNORED(str) _Pragma(_LIBCPP_TOSTRING(GCC diagnostic ignored str))
491 # define _LIBCPP_DIAGNOSTIC_PUSH
492 # define _LIBCPP_DIAGNOSTIC_POP
493 # define _LIBCPP_CLANG_DIAGNOSTIC_IGNORED(str)
494 # define _LIBCPP_GCC_DIAGNOSTIC_IGNORED(str)
498 # define _LIBCPP_HARDENING_SIG f
500 # define _LIBCPP_HARDENING_SIG s
502 # define _LIBCPP_HARDENING_SIG d
504 # define _LIBCPP_HARDENING_SIG n // "none"
508 # define _LIBCPP_EXCEPTIONS_SIG n
510 # define _LIBCPP_EXCEPTIONS_SIG e
513 # define _LIBCPP_ODR_SIGNATURE \
531 // have the same name, but they have a meaningfully different implementation (one throws an exception
551 // name of a virtual function is part of its ABI, since some architectures like arm64e can sign
552 // the virtual function pointer in the vtable based on the mangled name of the function. Since
553 // we use an ABI tag that changes with each released version, the mangled name of the virtual
568 # define _LIBCPP_HIDE_FROM_ABI \
572 # define _LIBCPP_HIDE_FROM_ABI _LIBCPP_HIDDEN _LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION
574 # define _LIBCPP_HIDE_FROM_ABI_VIRTUAL _LIBCPP_HIDDEN _LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION
578 # define _LIBCPP_HIDE_FROM_ABI_AFTER_V1 _LIBCPP_HIDE_FROM_ABI
580 # define _LIBCPP_HIDE_FROM_ABI_AFTER_V1
583 # define _LIBCPP_HIDE_FROM_ABI_AFTER_V1 _LIBCPP_HIDE_FROM_ABI
588 # define _LIBCPP_CLANG_DIAGNOSTIC_IGNORED_CXX23_EXTENSION _LIBCPP_CLANG_DIAGNOSTIC_IGNORED("-Wc++23-extensions")
590 # define _LIBCPP_CLANG_DIAGNOSTIC_IGNORED_CXX23_EXTENSION _LIBCPP_CLANG_DIAGNOSTIC_IGNORED("-Wc++2b-extensions")
597 # define _LIBCPP_PUSH_EXTENSION_DIAGNOSTICS \
608 # define _LIBCPP_POP_EXTENSION_DIAGNOSTICS _LIBCPP_DIAGNOSTIC_POP
610 # define _LIBCPP_PUSH_EXTENSION_DIAGNOSTICS
611 # define _LIBCPP_POP_EXTENSION_DIAGNOSTICS
616 # define _LIBCPP_BEGIN_NAMESPACE_STD _LIBCPP_PUSH_EXTENSION_DIAGNOSTICS \
619 # define _LIBCPP_END_NAMESPACE_STD }} _LIBCPP_POP_EXTENSION_DIAGNOSTICS
622 # define _LIBCPP_BEGIN_NAMESPACE_FILESYSTEM _LIBCPP_BEGIN_NAMESPACE_STD namespace filesystem {
623 # define _LIBCPP_END_NAMESPACE_FILESYSTEM } _LIBCPP_END_NAMESPACE_STD
625 # define _LIBCPP_BEGIN_NAMESPACE_FILESYSTEM _LIBCPP_BEGIN_NAMESPACE_STD \
628 # define _LIBCPP_END_NAMESPACE_FILESYSTEM }} _LIBCPP_END_NAMESPACE_STD
634 # define _LIBCPP_PREFERRED_OVERLOAD __attribute__((__enable_if__(true, "")))
638 # define _LIBCPP_HAS_NO_INT128
642 # define _LIBCPP_DECLARE_STRONG_ENUM(x) \
646 # define _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(x) \
655 # define _LIBCPP_DECLARE_STRONG_ENUM(x) enum class x
656 # define _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(x)
660 # define _LIBCPP_LOCALE__L_EXTENSIONS 1
664 # define _DECLARE_C99_LDBL_MATH 1
670 # define _LIBCPP_HAS_NO_LIBRARY_ALIGNED_ALLOCATION
673 // have it unless the language feature test macro is defined.
674 # define _LIBCPP_HAS_NO_LIBRARY_ALIGNED_ALLOCATION
676 # define _LIBCPP_HAS_NO_LIBRARY_ALIGNED_ALLOCATION
680 # define _LIBCPP_HAS_NO_ALIGNED_ALLOCATION
688 # define _LIBCPP_HAS_NO_C11_ALIGNED_ALLOC
692 # define _LIBCPP_HAS_NO_C11_ALIGNED_ALLOC
696 # define _LIBCPP_HAS_DEFAULTRUNELOCALE
700 # define _LIBCPP_WCTYPE_IS_MASK
704 # define _LIBCPP_HAS_NO_CHAR8_T
713 # define _LIBCPP_DEPRECATED __attribute__((__deprecated__))
714 # define _LIBCPP_DEPRECATED_(m) __attribute__((__deprecated__(m)))
716 # define _LIBCPP_DEPRECATED [[deprecated]]
717 # define _LIBCPP_DEPRECATED_(m) [[deprecated(m)]]
719 # define _LIBCPP_DEPRECATED
720 # define _LIBCPP_DEPRECATED_(m)
723 # define _LIBCPP_DEPRECATED
724 # define _LIBCPP_DEPRECATED_(m)
728 # define _LIBCPP_DEPRECATED_ATOMIC_SYNC \
732 # define _LIBCPP_DEPRECATED_ATOMIC_SYNC /* nothing */
736 # define _LIBCPP_DEPRECATED_IN_CXX11 _LIBCPP_DEPRECATED
738 # define _LIBCPP_DEPRECATED_IN_CXX11
742 # define _LIBCPP_DEPRECATED_IN_CXX14 _LIBCPP_DEPRECATED
744 # define _LIBCPP_DEPRECATED_IN_CXX14
748 # define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED
750 # define _LIBCPP_DEPRECATED_IN_CXX17
754 # define _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_DEPRECATED
756 # define _LIBCPP_DEPRECATED_IN_CXX20
760 # define _LIBCPP_DEPRECATED_IN_CXX23 _LIBCPP_DEPRECATED
762 # define _LIBCPP_DEPRECATED_IN_CXX23
766 # define _LIBCPP_DEPRECATED_IN_CXX26 _LIBCPP_DEPRECATED
768 # define _LIBCPP_DEPRECATED_IN_CXX26
772 # define _LIBCPP_DEPRECATED_WITH_CHAR8_T _LIBCPP_DEPRECATED
774 # define _LIBCPP_DEPRECATED_WITH_CHAR8_T
779 # define _LIBCPP_SUPPRESS_DEPRECATED_PUSH \
782 # define _LIBCPP_SUPPRESS_DEPRECATED_POP _Pragma("GCC diagnostic pop")
784 # define _LIBCPP_SUPPRESS_DEPRECATED_PUSH
785 # define _LIBCPP_SUPPRESS_DEPRECATED_POP
789 # define _LIBCPP_EXPLICIT_SINCE_CXX14
791 # define _LIBCPP_EXPLICIT_SINCE_CXX14 explicit
795 # define _LIBCPP_EXPLICIT_SINCE_CXX23 explicit
797 # define _LIBCPP_EXPLICIT_SINCE_CXX23
801 # define _LIBCPP_CONSTEXPR_SINCE_CXX14 constexpr
803 # define _LIBCPP_CONSTEXPR_SINCE_CXX14
807 # define _LIBCPP_CONSTEXPR_SINCE_CXX17 constexpr
809 # define _LIBCPP_CONSTEXPR_SINCE_CXX17
813 # define _LIBCPP_CONSTEXPR_SINCE_CXX20 constexpr
815 # define _LIBCPP_CONSTEXPR_SINCE_CXX20
819 # define _LIBCPP_CONSTEXPR_SINCE_CXX23 constexpr
821 # define _LIBCPP_CONSTEXPR_SINCE_CXX23
825 # define _LIBCPP_WEAK __attribute__((__weak__))
847 # define _LIBCPP_HAS_THREAD_API_PTHREAD
850 # define _LIBCPP_HAS_THREAD_API_PTHREAD
852 # define _LIBCPP_HAS_THREAD_API_WIN32
860 # define _LIBCPP_HAS_COND_CLOCKWAIT
863 # define _LIBCPP_HAS_COND_CLOCKWAIT
884 # define __STDCPP_THREADS__ 1
902 # define _LIBCPP_HAS_TRIVIAL_MUTEX_DESTRUCTION
914 # define _LIBCPP_HAS_TRIVIAL_CONDVAR_DESTRUCTION
919 # define _LIBCPP_PROVIDES_DEFAULT_RUNE_TABLE
923 # define _LIBCPP_HAS_C_ATOMIC_IMP
925 # define _LIBCPP_HAS_GCC_ATOMIC_IMP
930 # define _LIBCPP_HAS_NO_ATOMIC_HEADER
933 # define _LIBCPP_ATOMIC_FLAG_TYPE bool
938 # define _LIBCPP_NO_THREAD_SAFETY_ANALYSIS __attribute__((__no_thread_safety_analysis__))
940 # define _LIBCPP_NO_THREAD_SAFETY_ANALYSIS
950 # define _LIBCPP_HAS_THREAD_SAFETY_ANNOTATIONS
956 # define _LIBCPP_THREAD_SAFETY_ANNOTATION(x) __attribute__((x))
958 # define _LIBCPP_THREAD_SAFETY_ANNOTATION(x)
962 # define _LIBCPP_CONSTINIT constinit
964 # define _LIBCPP_CONSTINIT __attribute__((__require_constant_initialization__))
966 # define _LIBCPP_CONSTINIT
979 # define _LIBCPP_NOINLINE __attribute__((noinline))
981 # define _LIBCPP_NOINLINE __attribute__((__noinline__))
983 # define _LIBCPP_NOINLINE
991 # define _LIBCPP_IF_WIDE_CHARACTERS(...)
993 # define _LIBCPP_IF_WIDE_CHARACTERS(...) __VA_ARGS__
997 # define _LIBCPP_PUSH_MACROS _Pragma("push_macro(\"min\")") _Pragma("push_macro(\"max\")") _Pragma("push_macro(\"refresh\")") _Pragma("push_macro(\"move\")") _Pragma("push_macro(\"erase\")")
998 # define _LIBCPP_POP_MACROS _Pragma("pop_macro(\"min\")") _Pragma("pop_macro(\"max\")") _Pragma("pop_macro(\"refresh\")") _Pragma("pop_macro(\"move\")") _Pragma("pop_macro(\"erase\")")
1017 # define _LIBCPP_FOPEN_CLOEXEC_MODE "e"
1019 # define _LIBCPP_FOPEN_CLOEXEC_MODE
1031 # define _LIBCPP_NO_UNIQUE_ADDRESS [[msvc::no_unique_address]]
1033 # define _LIBCPP_NO_UNIQUE_ADDRESS [[__no_unique_address__]]
1035 # define _LIBCPP_NO_UNIQUE_ADDRESS /* nothing */
1048 # define _LIBCPP_HAS_NO_C8RTOMB_MBRTOC8
1067 # define _LIBCPP_CTAD_SUPPORTED_FOR_TYPE(_ClassName) \
1071 # define _LIBCPP_CTAD_SUPPORTED_FOR_TYPE(ClassName) \
1076 # define _LIBCPP_CTAD_SUPPORTED_FOR_TYPE(_ClassName) static_assert(true, "")
1082 # define _LIBCPP_WORKAROUND_OBJCXX_COMPILER_INTRINSICS
1085 # define _PSTL_PRAGMA(x) _Pragma(#x)
1090 # define _PSTL_UDR_PRESENT
1091 # define _PSTL_PRAGMA_SIMD _PSTL_PRAGMA(omp simd)
1092 # define _PSTL_PRAGMA_DECLARE_SIMD _PSTL_PRAGMA(omp declare simd)
1093 # define _PSTL_PRAGMA_SIMD_REDUCTION(PRM) _PSTL_PRAGMA(omp simd reduction(PRM))
1094 # define _PSTL_PRAGMA_SIMD_SCAN(PRM) _PSTL_PRAGMA(omp simd reduction(inscan, PRM))
1095 # define _PSTL_PRAGMA_SIMD_INCLUSIVE_SCAN(PRM) _PSTL_PRAGMA(omp scan inclusive(PRM))
1096 # define _PSTL_PRAGMA_SIMD_EXCLUSIVE_SCAN(PRM) _PSTL_PRAGMA(omp scan exclusive(PRM))
1099 // NAME - the name of the functor
1105 # define _PSTL_PRAGMA_DECLARE_REDUCTION(NAME, OP) \
1110 # define _PSTL_PRAGMA_SIMD _Pragma("clang loop vectorize(enable) interleave(enable)")
1111 # define _PSTL_PRAGMA_DECLARE_SIMD
1112 # define _PSTL_PRAGMA_SIMD_REDUCTION(PRM) _Pragma("clang loop vectorize(enable) interleave(enable)")
1113 # define _PSTL_PRAGMA_SIMD_SCAN(PRM) _Pragma("clang loop vectorize(enable) interleave(enable)")
1114 # define _PSTL_PRAGMA_SIMD_INCLUSIVE_SCAN(PRM)
1115 # define _PSTL_PRAGMA_SIMD_EXCLUSIVE_SCAN(PRM)
1116 # define _PSTL_PRAGMA_DECLARE_REDUCTION(NAME, OP)
1120 # define _PSTL_PRAGMA_SIMD
1121 # define _PSTL_PRAGMA_DECLARE_SIMD
1122 # define _PSTL_PRAGMA_SIMD_REDUCTION(PRM)
1123 # define _PSTL_PRAGMA_SIMD_SCAN(PRM)
1124 # define _PSTL_PRAGMA_SIMD_INCLUSIVE_SCAN(PRM)
1125 # define _PSTL_PRAGMA_SIMD_EXCLUSIVE_SCAN(PRM)
1126 # define _PSTL_PRAGMA_DECLARE_REDUCTION(NAME, OP)
1130 # define _PSTL_USE_NONTEMPORAL_STORES_IF_ALLOWED
1135 # define _LIBCPP_NO_CFI __attribute__((__no_sanitize__("cfi")))
1137 # define _LIBCPP_NO_CFI
1141 # define _LIBCPP_NOALIAS __attribute__((__malloc__))
1143 # define _LIBCPP_NOALIAS
1147 # define _LIBCPP_USING_IF_EXISTS __attribute__((__using_if_exists__))
1149 # define _LIBCPP_USING_IF_EXISTS
1153 # define _LIBCPP_NODISCARD [[__nodiscard__]]
1158 # define _LIBCPP_NODISCARD
1162 # define _LIBCPP_NO_DESTROY __attribute__((__no_destroy__))
1164 # define _LIBCPP_NO_DESTROY
1168 # define _LIBCPP_DIAGNOSE_WARNING(...) __attribute__((__diagnose_if__(__VA_ARGS__, "warning")))
1170 # define _LIBCPP_DIAGNOSE_WARNING(...)
1175 # define _LIBCPP_FALLTHROUGH() [[fallthrough]]
1177 # define _LIBCPP_FALLTHROUGH() __attribute__((__fallthrough__))
1179 # define _LIBCPP_FALLTHROUGH() ((void)0)
1183 # define _LIBCPP_LIFETIMEBOUND [[_Clang::__lifetimebound__]]
1185 # define _LIBCPP_LIFETIMEBOUND
1189 # define _LIBCPP_NODEBUG __attribute__((__nodebug__))
1191 # define _LIBCPP_NODEBUG
1195 # define _LIBCPP_STANDALONE_DEBUG __attribute__((__standalone_debug__))
1197 # define _LIBCPP_STANDALONE_DEBUG
1201 # define _LIBCPP_PREFERRED_NAME(x) __attribute__((__preferred_name__(x)))
1203 # define _LIBCPP_PREFERRED_NAME(x)
1207 # define _LIBCPP_NO_SANITIZE(...) __attribute__((__no_sanitize__(__VA_ARGS__)))
1209 # define _LIBCPP_NO_SANITIZE(...)
1213 # define _LIBCPP_INIT_PRIORITY_MAX __attribute__((__init_priority__(100)))
1215 # define _LIBCPP_INIT_PRIORITY_MAX
1221 # define _LIBCPP_ATTRIBUTE_FORMAT(archetype, format_string_index, first_format_arg_index) \
1224 # define _LIBCPP_ATTRIBUTE_FORMAT(archetype, format_string_index, first_format_arg_index) /* nothing */
1228 # define _LIBCPP_PACKED __attribute__((__packed__))
1230 # define _LIBCPP_PACKED
1234 # define _LIBCPP_DECLSPEC_EMPTY_BASES __declspec(empty_bases)
1236 # define _LIBCPP_DECLSPEC_EMPTY_BASES
1241 # define _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK __attribute__((__no_sanitize__("unsigned-integer-overflow")))
1243 # define _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK
1248 # define _LIBCPP_HAS_EXPLICIT_THIS_PARAMETER