summaryrefslogtreecommitdiffstats
path: root/contrib/libs/cxxsupp/libcxx/src/support
diff options
context:
space:
mode:
authorhalyavin <[email protected]>2022-07-21 11:17:19 +0300
committerhalyavin <[email protected]>2022-07-21 11:17:19 +0300
commitb78ae8ac7797d88986dfa1526ea11fcbdb4f5f6f (patch)
treef4368f9265036a664df40ae4943cabd4f272d414 /contrib/libs/cxxsupp/libcxx/src/support
parentb651f08845dea01bbd05b6b7d56aba3992374706 (diff)
Update libc++ to 34313583 (20 Feb 2022).
Notable changes: * replace _LIBCPP_INLINE_VISIBILITY with _LIBCPP_HIDE_FROM_ABI in __filesystem/operations.h * implement sortable and mergeable concepts * replace __uncvref with __uncvref_t * implement consistent stateful allocator behavior in std::basic_string::operator+ * remove some _LIBCPP_CXX03_LANG ifdef's * move _LIBCPP_ASSERT related code to a separate file * enable std::hash<Enum> in C++11 mode * make algorithm includes more granular * implement range functionality for std::istream_iterator * add debug check in basic_string::insert * replace "" with <> in includes in src/ files for consistency with include/ * add push/pop macros defines in src/ files for consistency with include/ * add availability annotations to optional operations * remove conditional noexcept from view_interface --- this is allowed by the standard * replace _LIBCPP_SAFE_STATIC with _LIBCPP_CONSTINIT * guard most of std::ranges under _LIBCPP_HAS_NO_INCOMPLETE_RANGES * remove priority pragma for AIX from locale.cpp because it is ignored anyway
Diffstat (limited to 'contrib/libs/cxxsupp/libcxx/src/support')
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/support/runtime/exception_fallback.ipp6
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/support/runtime/new_handler_fallback.ipp2
2 files changed, 3 insertions, 5 deletions
diff --git a/contrib/libs/cxxsupp/libcxx/src/support/runtime/exception_fallback.ipp b/contrib/libs/cxxsupp/libcxx/src/support/runtime/exception_fallback.ipp
index 6ebaeee2a51..a45f11eb9f5 100644
--- a/contrib/libs/cxxsupp/libcxx/src/support/runtime/exception_fallback.ipp
+++ b/contrib/libs/cxxsupp/libcxx/src/support/runtime/exception_fallback.ipp
@@ -12,9 +12,8 @@
namespace std {
-_LIBCPP_SAFE_STATIC static std::terminate_handler __terminate_handler;
-_LIBCPP_SAFE_STATIC static std::unexpected_handler __unexpected_handler;
-
+static constinit std::terminate_handler __terminate_handler = nullptr;
+static constinit std::unexpected_handler __unexpected_handler = nullptr;
// libcxxrt provides implementations of these functions itself.
unexpected_handler
@@ -27,7 +26,6 @@ unexpected_handler
get_unexpected() noexcept
{
return __libcpp_atomic_load(&__unexpected_handler);
-
}
_LIBCPP_NORETURN
diff --git a/contrib/libs/cxxsupp/libcxx/src/support/runtime/new_handler_fallback.ipp b/contrib/libs/cxxsupp/libcxx/src/support/runtime/new_handler_fallback.ipp
index 3eaeb489a10..7556f693a92 100644
--- a/contrib/libs/cxxsupp/libcxx/src/support/runtime/new_handler_fallback.ipp
+++ b/contrib/libs/cxxsupp/libcxx/src/support/runtime/new_handler_fallback.ipp
@@ -11,7 +11,7 @@
namespace std {
-_LIBCPP_SAFE_STATIC static std::new_handler __new_handler;
+static _LIBCPP_CONSTINIT std::new_handler __new_handler = nullptr;
new_handler
set_new_handler(new_handler handler) noexcept