aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/cxxsupp/libcxx/src
diff options
context:
space:
mode:
authorhalyavin <halyavin@yandex-team.com>2022-07-21 11:17:19 +0300
committerhalyavin <halyavin@yandex-team.com>2022-07-21 11:17:19 +0300
commitb78ae8ac7797d88986dfa1526ea11fcbdb4f5f6f (patch)
treef4368f9265036a664df40ae4943cabd4f272d414 /contrib/libs/cxxsupp/libcxx/src
parentb651f08845dea01bbd05b6b7d56aba3992374706 (diff)
downloadydb-b78ae8ac7797d88986dfa1526ea11fcbdb4f5f6f.tar.gz
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')
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/algorithm.cpp2
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/any.cpp2
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/assert.cpp38
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/bind.cpp2
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/charconv.cpp2
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/chrono.cpp6
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/condition_variable.cpp16
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/condition_variable_destructor.cpp4
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/debug.cpp45
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/exception.cpp6
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/filesystem/directory_iterator.cpp7
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/filesystem/filesystem_common.h19
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/filesystem/operations.cpp19
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/filesystem/posix_compat.h3
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/format.cpp2
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/functional.cpp2
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/future.cpp6
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/hash.cpp8
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/include/atomic_support.h4
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/include/ryu/common.h1
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/include/ryu/d2fixed.h4
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/include/ryu/d2fixed_full_table.h2
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/include/ryu/d2s.h2
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/include/ryu/d2s_full_table.h2
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/include/ryu/d2s_intrinsics.h3
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/include/ryu/digit_table.h2
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/include/ryu/f2s.h2
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/include/ryu/ryu.h17
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/include/to_chars_floating_point.h22
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/ios.cpp24
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/ios.instantiations.cpp15
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/iostream.cpp8
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/legacy_pointer_safety.cpp2
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/locale.cpp35
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/memory.cpp21
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/mutex.cpp25
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/mutex_destructor.cpp10
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/new.cpp3
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/optional.cpp4
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/random.cpp6
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/random_shuffle.cpp15
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/regex.cpp6
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/ryu/d2fixed.cpp9
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/ryu/d2s.cpp5
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/ryu/f2s.cpp5
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/shared_mutex.cpp7
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/stdexcept.cpp9
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/string.cpp16
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/strstream.cpp18
-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
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/system_error.cpp19
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/thread.cpp13
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/typeinfo.cpp3
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/utility.cpp2
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/valarray.cpp2
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/variant.cpp2
-rw-r--r--contrib/libs/cxxsupp/libcxx/src/vector.cpp2
58 files changed, 295 insertions, 249 deletions
diff --git a/contrib/libs/cxxsupp/libcxx/src/algorithm.cpp b/contrib/libs/cxxsupp/libcxx/src/algorithm.cpp
index 4cc7c2725a..decc8419fa 100644
--- a/contrib/libs/cxxsupp/libcxx/src/algorithm.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/algorithm.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "algorithm"
+#include <algorithm>
_LIBCPP_BEGIN_NAMESPACE_STD
diff --git a/contrib/libs/cxxsupp/libcxx/src/any.cpp b/contrib/libs/cxxsupp/libcxx/src/any.cpp
index 2939fe2996..9a101b44a7 100644
--- a/contrib/libs/cxxsupp/libcxx/src/any.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/any.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "any"
+#include <any>
namespace std {
const char* bad_any_cast::what() const noexcept {
diff --git a/contrib/libs/cxxsupp/libcxx/src/assert.cpp b/contrib/libs/cxxsupp/libcxx/src/assert.cpp
new file mode 100644
index 0000000000..21a3863cd0
--- /dev/null
+++ b/contrib/libs/cxxsupp/libcxx/src/assert.cpp
@@ -0,0 +1,38 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#include <__assert>
+#include <__config>
+#include <cstdio>
+#include <cstdlib>
+#include <string>
+
+_LIBCPP_BEGIN_NAMESPACE_STD
+
+std::string __libcpp_debug_info::what() const {
+ string msg = __file_;
+ msg += ":" + std::to_string(__line_) + ": _LIBCPP_ASSERT '";
+ msg += __pred_;
+ msg += "' failed. ";
+ msg += __msg_;
+ return msg;
+}
+
+_LIBCPP_NORETURN void __libcpp_abort_debug_function(__libcpp_debug_info const& info) {
+ std::fprintf(stderr, "%s\n", info.what().c_str());
+ std::abort();
+}
+
+_LIBCPP_CONSTINIT __libcpp_debug_function_type __libcpp_debug_function = __libcpp_abort_debug_function;
+
+bool __libcpp_set_debug_function(__libcpp_debug_function_type __func) {
+ __libcpp_debug_function = __func;
+ return true;
+}
+
+_LIBCPP_END_NAMESPACE_STD
diff --git a/contrib/libs/cxxsupp/libcxx/src/bind.cpp b/contrib/libs/cxxsupp/libcxx/src/bind.cpp
index a54df2c0dd..0e217e5fc5 100644
--- a/contrib/libs/cxxsupp/libcxx/src/bind.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/bind.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "functional"
+#include <functional>
_LIBCPP_BEGIN_NAMESPACE_STD
diff --git a/contrib/libs/cxxsupp/libcxx/src/charconv.cpp b/contrib/libs/cxxsupp/libcxx/src/charconv.cpp
index 60ec3eccc9..9537b42de7 100644
--- a/contrib/libs/cxxsupp/libcxx/src/charconv.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/charconv.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "charconv"
+#include <charconv>
#include <string.h>
#include "include/ryu/digit_table.h"
diff --git a/contrib/libs/cxxsupp/libcxx/src/chrono.cpp b/contrib/libs/cxxsupp/libcxx/src/chrono.cpp
index 4f2d51042f..0af89d6a52 100644
--- a/contrib/libs/cxxsupp/libcxx/src/chrono.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/chrono.cpp
@@ -12,9 +12,9 @@
#define _LARGE_TIME_API
#endif
-#include "chrono"
-#include "cerrno" // errno
-#include "system_error" // __throw_system_error
+#include <cerrno> // errno
+#include <chrono>
+#include <system_error> // __throw_system_error
#if defined(__MVS__)
#include <__support/ibm/gettod_zos.h> // gettimeofdayMonotonic
diff --git a/contrib/libs/cxxsupp/libcxx/src/condition_variable.cpp b/contrib/libs/cxxsupp/libcxx/src/condition_variable.cpp
index 0ade56b484..b17c4cf645 100644
--- a/contrib/libs/cxxsupp/libcxx/src/condition_variable.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/condition_variable.cpp
@@ -6,19 +6,21 @@
//
//===----------------------------------------------------------------------===//
-#include "__config"
+#include <__config>
#ifndef _LIBCPP_HAS_NO_THREADS
-#include "condition_variable"
-#include "thread"
-#include "system_error"
-#include "__undef_macros"
+#include <condition_variable>
+#include <thread>
+#include <system_error>
#if defined(__ELF__) && defined(_LIBCPP_LINK_PTHREAD_LIB)
-#pragma comment(lib, "pthread")
+# pragma comment(lib, "pthread")
#endif
+_LIBCPP_PUSH_MACROS
+#include <__undef_macros>
+
_LIBCPP_BEGIN_NAMESPACE_STD
// ~condition_variable is defined elsewhere.
@@ -90,4 +92,6 @@ notify_all_at_thread_exit(condition_variable& cond, unique_lock<mutex> lk)
_LIBCPP_END_NAMESPACE_STD
+_LIBCPP_POP_MACROS
+
#endif // !_LIBCPP_HAS_NO_THREADS
diff --git a/contrib/libs/cxxsupp/libcxx/src/condition_variable_destructor.cpp b/contrib/libs/cxxsupp/libcxx/src/condition_variable_destructor.cpp
index 350e6b77f2..c217a09394 100644
--- a/contrib/libs/cxxsupp/libcxx/src/condition_variable_destructor.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/condition_variable_destructor.cpp
@@ -11,8 +11,8 @@
// On some platforms ~condition_variable has been made trivial and the
// definition is only provided for ABI compatibility.
-#include "__config"
-#include "__threading_support"
+#include <__config>
+#include <__threading_support>
#if !defined(_LIBCPP_HAS_NO_THREADS)
# if _LIBCPP_ABI_VERSION == 1 || !defined(_LIBCPP_HAS_TRIVIAL_CONDVAR_DESTRUCTION)
diff --git a/contrib/libs/cxxsupp/libcxx/src/debug.cpp b/contrib/libs/cxxsupp/libcxx/src/debug.cpp
index ae31c91d15..8f1d328f0e 100644
--- a/contrib/libs/cxxsupp/libcxx/src/debug.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/debug.cpp
@@ -6,43 +6,24 @@
//
//===----------------------------------------------------------------------===//
-#include "__config"
-#include "__debug"
-#include "functional"
-#include "algorithm"
-#include "string"
-#include "cstdio"
-#include "__hash_table"
+#include <__assert>
+#include <__config>
+#include <__debug>
+#include <__hash_table>
+#include <algorithm>
+#include <cstdio>
+#include <functional>
+#include <string>
+
#ifndef _LIBCPP_HAS_NO_THREADS
-#include "mutex"
-#if defined(__ELF__) && defined(_LIBCPP_LINK_PTHREAD_LIB)
-#pragma comment(lib, "pthread")
-#endif
+# include <mutex>
+# if defined(__ELF__) && defined(_LIBCPP_LINK_PTHREAD_LIB)
+# pragma comment(lib, "pthread")
+# endif
#endif
_LIBCPP_BEGIN_NAMESPACE_STD
-std::string __libcpp_debug_info::what() const {
- string msg = __file_;
- msg += ":" + to_string(__line_) + ": _LIBCPP_ASSERT '";
- msg += __pred_;
- msg += "' failed. ";
- msg += __msg_;
- return msg;
-}
-_LIBCPP_NORETURN void __libcpp_abort_debug_function(__libcpp_debug_info const& info) {
- std::fprintf(stderr, "%s\n", info.what().c_str());
- std::abort();
-}
-
-_LIBCPP_SAFE_STATIC __libcpp_debug_function_type
- __libcpp_debug_function = __libcpp_abort_debug_function;
-
-bool __libcpp_set_debug_function(__libcpp_debug_function_type __func) {
- __libcpp_debug_function = __func;
- return true;
-}
-
_LIBCPP_FUNC_VIS
__libcpp_db*
__get_db()
diff --git a/contrib/libs/cxxsupp/libcxx/src/exception.cpp b/contrib/libs/cxxsupp/libcxx/src/exception.cpp
index d5e6a4a76f..915ab3fb64 100644
--- a/contrib/libs/cxxsupp/libcxx/src/exception.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/exception.cpp
@@ -6,9 +6,9 @@
//
//===----------------------------------------------------------------------===//
-#include "exception"
-#include "new"
-#include "typeinfo"
+#include <exception>
+#include <new>
+#include <typeinfo>
#if defined(LIBCXX_BUILDING_LIBCXXRT) || defined(LIBCXX_BUILDING_LIBCXXABI)
#include <cxxabi.h>
diff --git a/contrib/libs/cxxsupp/libcxx/src/filesystem/directory_iterator.cpp b/contrib/libs/cxxsupp/libcxx/src/filesystem/directory_iterator.cpp
index fa793f6829..8b91929df8 100644
--- a/contrib/libs/cxxsupp/libcxx/src/filesystem/directory_iterator.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/filesystem/directory_iterator.cpp
@@ -6,10 +6,11 @@
//
//===----------------------------------------------------------------------===//
-#include "__config"
-#include "filesystem"
-#include "stack"
+#include <__assert>
+#include <__config>
#include <errno.h>
+#include <filesystem>
+#include <stack>
#include "filesystem_common.h"
diff --git a/contrib/libs/cxxsupp/libcxx/src/filesystem/filesystem_common.h b/contrib/libs/cxxsupp/libcxx/src/filesystem/filesystem_common.h
index 4e117c3f19..dffce1895c 100644
--- a/contrib/libs/cxxsupp/libcxx/src/filesystem/filesystem_common.h
+++ b/contrib/libs/cxxsupp/libcxx/src/filesystem/filesystem_common.h
@@ -9,15 +9,16 @@
#ifndef FILESYSTEM_COMMON_H
#define FILESYSTEM_COMMON_H
-#include "__config"
-#include "array"
-#include "chrono"
-#include "climits"
-#include "cstdarg"
-#include "ctime"
-#include "filesystem"
-#include "ratio"
-#include "system_error"
+#include <__assert>
+#include <__config>
+#include <array>
+#include <chrono>
+#include <climits>
+#include <cstdarg>
+#include <ctime>
+#include <filesystem>
+#include <ratio>
+#include <system_error>
#include <utility>
#if defined(_LIBCPP_WIN32API)
diff --git a/contrib/libs/cxxsupp/libcxx/src/filesystem/operations.cpp b/contrib/libs/cxxsupp/libcxx/src/filesystem/operations.cpp
index 39777a316a..e19d042f87 100644
--- a/contrib/libs/cxxsupp/libcxx/src/filesystem/operations.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/filesystem/operations.cpp
@@ -6,15 +6,16 @@
//
//===----------------------------------------------------------------------===//
+#include <__assert>
#include <__utility/unreachable.h>
-#include "filesystem"
-#include "array"
-#include "iterator"
-#include "string_view"
-#include "type_traits"
-#include "vector"
-#include "cstdlib"
-#include "climits"
+#include <array>
+#include <climits>
+#include <cstdlib>
+#include <filesystem>
+#include <iterator>
+#include <string_view>
+#include <type_traits>
+#include <vector>
#include "filesystem_common.h"
@@ -40,7 +41,7 @@
# include <copyfile.h>
# define _LIBCPP_FILESYSTEM_USE_COPYFILE
#else
-# include "fstream"
+# include <fstream>
# define _LIBCPP_FILESYSTEM_USE_FSTREAM
#endif
diff --git a/contrib/libs/cxxsupp/libcxx/src/filesystem/posix_compat.h b/contrib/libs/cxxsupp/libcxx/src/filesystem/posix_compat.h
index f5c8ec39df..36116ec5a3 100644
--- a/contrib/libs/cxxsupp/libcxx/src/filesystem/posix_compat.h
+++ b/contrib/libs/cxxsupp/libcxx/src/filesystem/posix_compat.h
@@ -23,7 +23,8 @@
#ifndef POSIX_COMPAT_H
#define POSIX_COMPAT_H
-#include "filesystem"
+#include <__assert>
+#include <filesystem>
#include "filesystem_common.h"
diff --git a/contrib/libs/cxxsupp/libcxx/src/format.cpp b/contrib/libs/cxxsupp/libcxx/src/format.cpp
index 2ebec28247..cdbcbf8b05 100644
--- a/contrib/libs/cxxsupp/libcxx/src/format.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/format.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "format"
+#include <format>
_LIBCPP_BEGIN_NAMESPACE_STD
diff --git a/contrib/libs/cxxsupp/libcxx/src/functional.cpp b/contrib/libs/cxxsupp/libcxx/src/functional.cpp
index d8cfaa7033..ca1079cdd8 100644
--- a/contrib/libs/cxxsupp/libcxx/src/functional.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/functional.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "functional"
+#include <functional>
_LIBCPP_BEGIN_NAMESPACE_STD
diff --git a/contrib/libs/cxxsupp/libcxx/src/future.cpp b/contrib/libs/cxxsupp/libcxx/src/future.cpp
index 07ae9389ec..cdaa938275 100644
--- a/contrib/libs/cxxsupp/libcxx/src/future.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/future.cpp
@@ -6,12 +6,12 @@
//
//===----------------------------------------------------------------------===//
-#include "__config"
+#include <__config>
#ifndef _LIBCPP_HAS_NO_THREADS
-#include "future"
-#include "string"
+#include <future>
+#include <string>
_LIBCPP_BEGIN_NAMESPACE_STD
diff --git a/contrib/libs/cxxsupp/libcxx/src/hash.cpp b/contrib/libs/cxxsupp/libcxx/src/hash.cpp
index daf276f5b7..96cbd38f4d 100644
--- a/contrib/libs/cxxsupp/libcxx/src/hash.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/hash.cpp
@@ -6,10 +6,10 @@
//
//===----------------------------------------------------------------------===//
-#include "__hash_table"
-#include "algorithm"
-#include "stdexcept"
-#include "type_traits"
+#include <__hash_table>
+#include <algorithm>
+#include <stdexcept>
+#include <type_traits>
_LIBCPP_CLANG_DIAGNOSTIC_IGNORED("-Wtautological-constant-out-of-range-compare")
diff --git a/contrib/libs/cxxsupp/libcxx/src/include/atomic_support.h b/contrib/libs/cxxsupp/libcxx/src/include/atomic_support.h
index 5a745a2f00..3e73f2ce27 100644
--- a/contrib/libs/cxxsupp/libcxx/src/include/atomic_support.h
+++ b/contrib/libs/cxxsupp/libcxx/src/include/atomic_support.h
@@ -9,8 +9,8 @@
#ifndef ATOMIC_SUPPORT_H
#define ATOMIC_SUPPORT_H
-#include "__config"
-#include "memory" // for __libcpp_relaxed_load
+#include <__config>
+#include <memory> // for __libcpp_relaxed_load
#if defined(__clang__) && __has_builtin(__atomic_load_n) \
&& __has_builtin(__atomic_store_n) \
diff --git a/contrib/libs/cxxsupp/libcxx/src/include/ryu/common.h b/contrib/libs/cxxsupp/libcxx/src/include/ryu/common.h
index 52913120f1..c24115c233 100644
--- a/contrib/libs/cxxsupp/libcxx/src/include/ryu/common.h
+++ b/contrib/libs/cxxsupp/libcxx/src/include/ryu/common.h
@@ -42,6 +42,7 @@
// Avoid formatting to keep the changes with the original code minimal.
// clang-format off
+#include <__assert>
#include "__config"
_LIBCPP_BEGIN_NAMESPACE_STD
diff --git a/contrib/libs/cxxsupp/libcxx/src/include/ryu/d2fixed.h b/contrib/libs/cxxsupp/libcxx/src/include/ryu/d2fixed.h
index e495c11b1d..b8862de251 100644
--- a/contrib/libs/cxxsupp/libcxx/src/include/ryu/d2fixed.h
+++ b/contrib/libs/cxxsupp/libcxx/src/include/ryu/d2fixed.h
@@ -42,8 +42,8 @@
// Avoid formatting to keep the changes with the original code minimal.
// clang-format off
-#include "__config"
-#include "cstdint"
+#include <__config>
+#include <cstdint>
_LIBCPP_BEGIN_NAMESPACE_STD
diff --git a/contrib/libs/cxxsupp/libcxx/src/include/ryu/d2fixed_full_table.h b/contrib/libs/cxxsupp/libcxx/src/include/ryu/d2fixed_full_table.h
index 7181cd8cf6..a63d6f2d16 100644
--- a/contrib/libs/cxxsupp/libcxx/src/include/ryu/d2fixed_full_table.h
+++ b/contrib/libs/cxxsupp/libcxx/src/include/ryu/d2fixed_full_table.h
@@ -42,7 +42,7 @@
// Avoid formatting to keep the changes with the original code minimal.
// clang-format off
-#include "__config"
+#include <__config>
_LIBCPP_BEGIN_NAMESPACE_STD
diff --git a/contrib/libs/cxxsupp/libcxx/src/include/ryu/d2s.h b/contrib/libs/cxxsupp/libcxx/src/include/ryu/d2s.h
index 15d50fd1ee..3d9f10c0f1 100644
--- a/contrib/libs/cxxsupp/libcxx/src/include/ryu/d2s.h
+++ b/contrib/libs/cxxsupp/libcxx/src/include/ryu/d2s.h
@@ -42,7 +42,7 @@
// Avoid formatting to keep the changes with the original code minimal.
// clang-format off
-#include "__config"
+#include <__config>
_LIBCPP_BEGIN_NAMESPACE_STD
diff --git a/contrib/libs/cxxsupp/libcxx/src/include/ryu/d2s_full_table.h b/contrib/libs/cxxsupp/libcxx/src/include/ryu/d2s_full_table.h
index 106fef0015..96307f6986 100644
--- a/contrib/libs/cxxsupp/libcxx/src/include/ryu/d2s_full_table.h
+++ b/contrib/libs/cxxsupp/libcxx/src/include/ryu/d2s_full_table.h
@@ -42,7 +42,7 @@
// Avoid formatting to keep the changes with the original code minimal.
// clang-format off
-#include "__config"
+#include <__config>
_LIBCPP_BEGIN_NAMESPACE_STD
diff --git a/contrib/libs/cxxsupp/libcxx/src/include/ryu/d2s_intrinsics.h b/contrib/libs/cxxsupp/libcxx/src/include/ryu/d2s_intrinsics.h
index 756fe1e831..96e8fb7957 100644
--- a/contrib/libs/cxxsupp/libcxx/src/include/ryu/d2s_intrinsics.h
+++ b/contrib/libs/cxxsupp/libcxx/src/include/ryu/d2s_intrinsics.h
@@ -42,7 +42,8 @@
// Avoid formatting to keep the changes with the original code minimal.
// clang-format off
-#include "__config"
+#include <__assert>
+#include <__config>
#include "include/ryu/ryu.h"
diff --git a/contrib/libs/cxxsupp/libcxx/src/include/ryu/digit_table.h b/contrib/libs/cxxsupp/libcxx/src/include/ryu/digit_table.h
index 3962f66931..e4ee94ce26 100644
--- a/contrib/libs/cxxsupp/libcxx/src/include/ryu/digit_table.h
+++ b/contrib/libs/cxxsupp/libcxx/src/include/ryu/digit_table.h
@@ -42,7 +42,7 @@
// Avoid formatting to keep the changes with the original code minimal.
// clang-format off
-#include "__config"
+#include <__config>
_LIBCPP_BEGIN_NAMESPACE_STD
diff --git a/contrib/libs/cxxsupp/libcxx/src/include/ryu/f2s.h b/contrib/libs/cxxsupp/libcxx/src/include/ryu/f2s.h
index 80fdcd458b..be304c2f9c 100644
--- a/contrib/libs/cxxsupp/libcxx/src/include/ryu/f2s.h
+++ b/contrib/libs/cxxsupp/libcxx/src/include/ryu/f2s.h
@@ -42,7 +42,7 @@
// Avoid formatting to keep the changes with the original code minimal.
// clang-format off
-#include "__config"
+#include <__config>
_LIBCPP_BEGIN_NAMESPACE_STD
diff --git a/contrib/libs/cxxsupp/libcxx/src/include/ryu/ryu.h b/contrib/libs/cxxsupp/libcxx/src/include/ryu/ryu.h
index cfd5303472..aa2be6d088 100644
--- a/contrib/libs/cxxsupp/libcxx/src/include/ryu/ryu.h
+++ b/contrib/libs/cxxsupp/libcxx/src/include/ryu/ryu.h
@@ -44,14 +44,15 @@
// Avoid formatting to keep the changes with the original code minimal.
// clang-format off
-#include "__charconv/chars_format.h"
-#include "__charconv/to_chars_result.h"
-#include "__config"
-#include "__debug"
-#include "__errc"
-#include "cstdint"
-#include "cstring"
-#include "type_traits"
+#include <__charconv/chars_format.h>
+#include <__charconv/to_chars_result.h>
+#include <__config>
+#include <__debug>
+#include <__errc>
+#include <cstdint>
+#include <cstring>
+#include <type_traits>
+
#include "include/ryu/f2s.h"
#include "include/ryu/d2s.h"
#include "include/ryu/d2fixed.h"
diff --git a/contrib/libs/cxxsupp/libcxx/src/include/to_chars_floating_point.h b/contrib/libs/cxxsupp/libcxx/src/include/to_chars_floating_point.h
index 081d671fc5..0bb45d0b97 100644
--- a/contrib/libs/cxxsupp/libcxx/src/include/to_chars_floating_point.h
+++ b/contrib/libs/cxxsupp/libcxx/src/include/to_chars_floating_point.h
@@ -17,16 +17,18 @@
// Avoid formatting to keep the changes with the original code minimal.
// clang-format off
-#include "__algorithm/find.h"
-#include "__algorithm/find_if.h"
-#include "__algorithm/lower_bound.h"
-#include "__algorithm/min.h"
-#include "__config"
-#include "__iterator/access.h"
-#include "__iterator/size.h"
-#include "bit"
-#include "cfloat"
-#include "climits"
+#include <__algorithm/find.h>
+#include <__algorithm/find_if.h>
+#include <__algorithm/lower_bound.h>
+#include <__algorithm/min.h>
+#include <__assert>
+#include <__config>
+#include <__iterator/access.h>
+#include <__iterator/size.h>
+#include <bit>
+#include <cfloat>
+#include <climits>
+
#include "include/ryu/ryu.h"
_LIBCPP_BEGIN_NAMESPACE_STD
diff --git a/contrib/libs/cxxsupp/libcxx/src/ios.cpp b/contrib/libs/cxxsupp/libcxx/src/ios.cpp
index 56fbcca417..218b27f1a6 100644
--- a/contrib/libs/cxxsupp/libcxx/src/ios.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/ios.cpp
@@ -6,20 +6,20 @@
//
//===----------------------------------------------------------------------===//
-#include "__config"
-
-#include "ios"
-
+#include <__config>
+#include <__locale>
+#include <algorithm>
+#include <ios>
+#include <limits>
+#include <memory>
+#include <new>
#include <stdlib.h>
+#include <string>
-#include "__locale"
-#include "algorithm"
#include "include/config_elast.h"
-#include "limits"
-#include "memory"
-#include "new"
-#include "string"
-#include "__undef_macros"
+
+_LIBCPP_PUSH_MACROS
+#include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -439,3 +439,5 @@ ios_base::sync_with_stdio(bool sync)
}
_LIBCPP_END_NAMESPACE_STD
+
+_LIBCPP_POP_MACROS
diff --git a/contrib/libs/cxxsupp/libcxx/src/ios.instantiations.cpp b/contrib/libs/cxxsupp/libcxx/src/ios.instantiations.cpp
index e1189d0b5b..2ff7057fa6 100644
--- a/contrib/libs/cxxsupp/libcxx/src/ios.instantiations.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/ios.instantiations.cpp
@@ -6,14 +6,13 @@
//
//===----------------------------------------------------------------------===//
-#include "__config"
-#include "fstream"
-#include "ios"
-#include "istream"
-#include "ostream"
-#include "sstream"
-#include "streambuf"
-
+#include <__config>
+#include <fstream>
+#include <ios>
+#include <istream>
+#include <ostream>
+#include <sstream>
+#include <streambuf>
_LIBCPP_BEGIN_NAMESPACE_STD
diff --git a/contrib/libs/cxxsupp/libcxx/src/iostream.cpp b/contrib/libs/cxxsupp/libcxx/src/iostream.cpp
index 71c8dda834..5a95eb7aef 100644
--- a/contrib/libs/cxxsupp/libcxx/src/iostream.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/iostream.cpp
@@ -6,10 +6,10 @@
//
//===----------------------------------------------------------------------===//
-#include "__std_stream"
-#include "__locale"
-#include "string"
-#include "new"
+#include <__locale>
+#include <__std_stream>
+#include <new>
+#include <string>
#define _str(s) #s
#define str(s) _str(s)
diff --git a/contrib/libs/cxxsupp/libcxx/src/legacy_pointer_safety.cpp b/contrib/libs/cxxsupp/libcxx/src/legacy_pointer_safety.cpp
index 34f5613ae2..5d2b04c121 100644
--- a/contrib/libs/cxxsupp/libcxx/src/legacy_pointer_safety.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/legacy_pointer_safety.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "__config"
+#include <__config>
#include <memory>
// Support for garbage collection was removed in C++23 by https://wg21.link/P2186R2. Libc++ implements
diff --git a/contrib/libs/cxxsupp/libcxx/src/locale.cpp b/contrib/libs/cxxsupp/libcxx/src/locale.cpp
index 92fd8d7445..3f1bbd0730 100644
--- a/contrib/libs/cxxsupp/libcxx/src/locale.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/locale.cpp
@@ -13,20 +13,20 @@
#endif
#include <__utility/unreachable.h>
-#include "algorithm"
-#include "clocale"
-#include "codecvt"
-#include "cstdio"
-#include "cstdlib"
-#include "cstring"
-#include "locale"
-#include "string"
-#include "type_traits"
-#include "typeinfo"
-#include "vector"
+#include <algorithm>
+#include <clocale>
+#include <codecvt>
+#include <cstdio>
+#include <cstdlib>
+#include <cstring>
+#include <locale>
+#include <string>
+#include <type_traits>
+#include <typeinfo>
+#include <vector>
#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
-# include "cwctype"
+# include <cwctype>
#endif
#if defined(_AIX)
@@ -44,12 +44,14 @@
#include "atomic"
#include "include/sso_allocator.h"
-#include "__undef_macros"
// On Linux, wint_t and wchar_t have different signed-ness, and this causes
// lots of noise in the build log, but no bugs that I know of.
_LIBCPP_CLANG_DIAGNOSTIC_IGNORED("-Wsign-conversion")
+_LIBCPP_PUSH_MACROS
+#include <__undef_macros>
+
_LIBCPP_BEGIN_NAMESPACE_STD
struct __libcpp_unique_locale {
@@ -125,11 +127,6 @@ _LIBCPP_NORETURN static void __throw_runtime_error(const string &msg)
}
-#if defined(_AIX)
-// Set priority to INT_MIN + 256 + 150
-# pragma priority ( -2147483242 )
-#endif
-
const locale::category locale::none;
const locale::category locale::collate;
const locale::category locale::ctype;
@@ -6611,3 +6608,5 @@ template class _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS codecvt_byname<char32_t,
#endif
_LIBCPP_END_NAMESPACE_STD
+
+_LIBCPP_POP_MACROS
diff --git a/contrib/libs/cxxsupp/libcxx/src/memory.cpp b/contrib/libs/cxxsupp/libcxx/src/memory.cpp
index 78082e18d0..c836533949 100644
--- a/contrib/libs/cxxsupp/libcxx/src/memory.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/memory.cpp
@@ -6,14 +6,16 @@
//
//===----------------------------------------------------------------------===//
-#include "memory"
+#include <memory>
+
#ifndef _LIBCPP_HAS_NO_THREADS
-# include "mutex"
-# include "thread"
-# if defined(__ELF__) && defined(_LIBCPP_LINK_PTHREAD_LIB)
-# pragma comment(lib, "pthread")
-# endif
+# include <mutex>
+# include <thread>
+# if defined(__ELF__) && defined(_LIBCPP_LINK_PTHREAD_LIB)
+# pragma comment(lib, "pthread")
+# endif
#endif
+
#if !defined(_LIBCPP_HAS_NO_THREADS)
#include <atomic>
#else
@@ -164,8 +166,8 @@ __shared_weak_count::__get_deleter(const type_info&) const noexcept
#if !defined(_LIBCPP_HAS_NO_THREADS)
-_LIBCPP_SAFE_STATIC static const std::size_t __sp_mut_count = 16;
-_LIBCPP_SAFE_STATIC static __libcpp_mutex_t mut_back[__sp_mut_count] =
+static constexpr std::size_t __sp_mut_count = 16;
+static _LIBCPP_CONSTINIT __libcpp_mutex_t mut_back[__sp_mut_count] =
{
_LIBCPP_MUTEX_INITIALIZER, _LIBCPP_MUTEX_INITIALIZER, _LIBCPP_MUTEX_INITIALIZER, _LIBCPP_MUTEX_INITIALIZER,
_LIBCPP_MUTEX_INITIALIZER, _LIBCPP_MUTEX_INITIALIZER, _LIBCPP_MUTEX_INITIALIZER, _LIBCPP_MUTEX_INITIALIZER,
@@ -203,8 +205,7 @@ __sp_mut::unlock() noexcept
__sp_mut&
__get_sp_mut(const void* p)
{
- static __sp_mut muts[__sp_mut_count]
- {
+ static _LIBCPP_CONSTINIT __sp_mut muts[__sp_mut_count] = {
&mut_back[ 0], &mut_back[ 1], &mut_back[ 2], &mut_back[ 3],
&mut_back[ 4], &mut_back[ 5], &mut_back[ 6], &mut_back[ 7],
&mut_back[ 8], &mut_back[ 9], &mut_back[10], &mut_back[11],
diff --git a/contrib/libs/cxxsupp/libcxx/src/mutex.cpp b/contrib/libs/cxxsupp/libcxx/src/mutex.cpp
index b9028e64bb..c247225e31 100644
--- a/contrib/libs/cxxsupp/libcxx/src/mutex.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/mutex.cpp
@@ -6,21 +6,26 @@
//
//===----------------------------------------------------------------------===//
-#include "mutex"
-#include "limits"
-#include "system_error"
+#include <__assert>
+#include <limits>
+#include <mutex>
+#include <system_error>
+
#if !defined(_LIBCPP_ABI_MICROSOFT)
#include "include/atomic_support.h"
#endif
-#include "__undef_macros"
#ifndef _LIBCPP_HAS_NO_THREADS
-#if defined(__ELF__) && defined(_LIBCPP_LINK_PTHREAD_LIB)
-#pragma comment(lib, "pthread")
-#endif
+# if defined(__ELF__) && defined(_LIBCPP_LINK_PTHREAD_LIB)
+# pragma comment(lib, "pthread")
+# endif
#endif
+_LIBCPP_PUSH_MACROS
+#include <__undef_macros>
+
_LIBCPP_BEGIN_NAMESPACE_STD
+
#ifndef _LIBCPP_HAS_NO_THREADS
const defer_lock_t defer_lock{};
@@ -198,8 +203,8 @@ recursive_timed_mutex::unlock() noexcept
// keep in sync with: 7741191.
#ifndef _LIBCPP_HAS_NO_THREADS
-_LIBCPP_SAFE_STATIC static __libcpp_mutex_t mut = _LIBCPP_MUTEX_INITIALIZER;
-_LIBCPP_SAFE_STATIC static __libcpp_condvar_t cv = _LIBCPP_CONDVAR_INITIALIZER;
+static _LIBCPP_CONSTINIT __libcpp_mutex_t mut = _LIBCPP_MUTEX_INITIALIZER;
+static _LIBCPP_CONSTINIT __libcpp_condvar_t cv = _LIBCPP_CONDVAR_INITIALIZER;
#endif
#ifdef _LIBCPP_ABI_MICROSOFT
@@ -277,3 +282,5 @@ void __call_once(volatile once_flag::_State_type& flag, void* arg,
}
_LIBCPP_END_NAMESPACE_STD
+
+_LIBCPP_POP_MACROS
diff --git a/contrib/libs/cxxsupp/libcxx/src/mutex_destructor.cpp b/contrib/libs/cxxsupp/libcxx/src/mutex_destructor.cpp
index e8b1e42dd5..6850b6e6f4 100644
--- a/contrib/libs/cxxsupp/libcxx/src/mutex_destructor.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/mutex_destructor.cpp
@@ -16,13 +16,13 @@
// we re-declare the entire class in this file instead of using
// _LIBCPP_BUILDING_LIBRARY to change the definition in the headers.
-#include "__config"
-#include "__threading_support"
+#include <__config>
+#include <__threading_support>
#if !defined(_LIBCPP_HAS_NO_THREADS)
-#if _LIBCPP_ABI_VERSION == 1 || !defined(_LIBCPP_HAS_TRIVIAL_MUTEX_DESTRUCTION)
-#define NEEDS_MUTEX_DESTRUCTOR
-#endif
+# if _LIBCPP_ABI_VERSION == 1 || !defined(_LIBCPP_HAS_TRIVIAL_MUTEX_DESTRUCTION)
+# define NEEDS_MUTEX_DESTRUCTOR
+# endif
#endif
_LIBCPP_BEGIN_NAMESPACE_STD
diff --git a/contrib/libs/cxxsupp/libcxx/src/new.cpp b/contrib/libs/cxxsupp/libcxx/src/new.cpp
index 4f19000b53..b7e2828158 100644
--- a/contrib/libs/cxxsupp/libcxx/src/new.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/new.cpp
@@ -6,10 +6,9 @@
//
//===----------------------------------------------------------------------===//
+#include <new>
#include <stdlib.h>
-#include "new"
-
#if defined(_LIBCPP_ABI_MICROSOFT)
# if !defined(_LIBCPP_ABI_VCRUNTIME)
# include "support/runtime/new_handler_fallback.ipp"
diff --git a/contrib/libs/cxxsupp/libcxx/src/optional.cpp b/contrib/libs/cxxsupp/libcxx/src/optional.cpp
index 251ebe2e68..ac1a0a5b5e 100644
--- a/contrib/libs/cxxsupp/libcxx/src/optional.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/optional.cpp
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#include "optional"
-#include "__availability"
+#include <__availability>
+#include <optional>
namespace std
{
diff --git a/contrib/libs/cxxsupp/libcxx/src/random.cpp b/contrib/libs/cxxsupp/libcxx/src/random.cpp
index 5d3da335e4..17aaeedfeb 100644
--- a/contrib/libs/cxxsupp/libcxx/src/random.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/random.cpp
@@ -13,9 +13,9 @@
# define _CRT_RAND_S
#endif // defined(_LIBCPP_USING_WIN32_RANDOM)
-#include "limits"
-#include "random"
-#include "system_error"
+#include <limits>
+#include <random>
+#include <system_error>
#if defined(__sun__)
# define rename solaris_headers_are_broken
diff --git a/contrib/libs/cxxsupp/libcxx/src/random_shuffle.cpp b/contrib/libs/cxxsupp/libcxx/src/random_shuffle.cpp
index df9b7d53c8..a673035b48 100644
--- a/contrib/libs/cxxsupp/libcxx/src/random_shuffle.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/random_shuffle.cpp
@@ -6,19 +6,20 @@
//
//===----------------------------------------------------------------------===//
-#include "algorithm"
-#include "random"
+#include <algorithm>
+#include <random>
+
#ifndef _LIBCPP_HAS_NO_THREADS
-# include "mutex"
-# if defined(__ELF__) && defined(_LIBCPP_LINK_PTHREAD_LIB)
-# pragma comment(lib, "pthread")
-# endif
+# include <mutex>
+# if defined(__ELF__) && defined(_LIBCPP_LINK_PTHREAD_LIB)
+# pragma comment(lib, "pthread")
+# endif
#endif
_LIBCPP_BEGIN_NAMESPACE_STD
#ifndef _LIBCPP_HAS_NO_THREADS
-_LIBCPP_SAFE_STATIC static __libcpp_mutex_t __rs_mut = _LIBCPP_MUTEX_INITIALIZER;
+static _LIBCPP_CONSTINIT __libcpp_mutex_t __rs_mut = _LIBCPP_MUTEX_INITIALIZER;
#endif
unsigned __rs_default::__c_ = 0;
diff --git a/contrib/libs/cxxsupp/libcxx/src/regex.cpp b/contrib/libs/cxxsupp/libcxx/src/regex.cpp
index 16ad8f0eff..e53d324186 100644
--- a/contrib/libs/cxxsupp/libcxx/src/regex.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/regex.cpp
@@ -6,9 +6,9 @@
//
//===----------------------------------------------------------------------===//
-#include "regex"
-#include "algorithm"
-#include "iterator"
+#include <algorithm>
+#include <iterator>
+#include <regex>
_LIBCPP_BEGIN_NAMESPACE_STD
diff --git a/contrib/libs/cxxsupp/libcxx/src/ryu/d2fixed.cpp b/contrib/libs/cxxsupp/libcxx/src/ryu/d2fixed.cpp
index 699f9158f4..c1a1f6cf9e 100644
--- a/contrib/libs/cxxsupp/libcxx/src/ryu/d2fixed.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/ryu/d2fixed.cpp
@@ -39,10 +39,11 @@
// Avoid formatting to keep the changes with the original code minimal.
// clang-format off
-#include "__config"
-#include "charconv"
-#include "cstring"
-#include "system_error"
+#include <__assert>
+#include <__config>
+#include <charconv>
+#include <cstring>
+#include <system_error>
#include "include/ryu/common.h"
#include "include/ryu/d2fixed.h"
diff --git a/contrib/libs/cxxsupp/libcxx/src/ryu/d2s.cpp b/contrib/libs/cxxsupp/libcxx/src/ryu/d2s.cpp
index 510b4b8aa3..245c2eb590 100644
--- a/contrib/libs/cxxsupp/libcxx/src/ryu/d2s.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/ryu/d2s.cpp
@@ -39,8 +39,9 @@
// Avoid formatting to keep the changes with the original code minimal.
// clang-format off
-#include "__config"
-#include "charconv"
+#include <__assert>
+#include <__config>
+#include <charconv>
#include "include/ryu/common.h"
#include "include/ryu/d2fixed.h"
diff --git a/contrib/libs/cxxsupp/libcxx/src/ryu/f2s.cpp b/contrib/libs/cxxsupp/libcxx/src/ryu/f2s.cpp
index 7e10b49836..3bcfe462c8 100644
--- a/contrib/libs/cxxsupp/libcxx/src/ryu/f2s.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/ryu/f2s.cpp
@@ -39,8 +39,9 @@
// Avoid formatting to keep the changes with the original code minimal.
// clang-format off
-#include "__config"
-#include "charconv"
+#include <__assert>
+#include <__config>
+#include <charconv>
#include "include/ryu/common.h"
#include "include/ryu/d2fixed.h"
diff --git a/contrib/libs/cxxsupp/libcxx/src/shared_mutex.cpp b/contrib/libs/cxxsupp/libcxx/src/shared_mutex.cpp
index 6a5a738a67..deb3ced014 100644
--- a/contrib/libs/cxxsupp/libcxx/src/shared_mutex.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/shared_mutex.cpp
@@ -6,12 +6,13 @@
//
//===----------------------------------------------------------------------===//
-#include "__config"
+#include <__config>
+
#ifndef _LIBCPP_HAS_NO_THREADS
-#include "shared_mutex"
+#include <shared_mutex>
#if defined(__ELF__) && defined(_LIBCPP_LINK_PTHREAD_LIB)
-#pragma comment(lib, "pthread")
+# pragma comment(lib, "pthread")
#endif
_LIBCPP_BEGIN_NAMESPACE_STD
diff --git a/contrib/libs/cxxsupp/libcxx/src/stdexcept.cpp b/contrib/libs/cxxsupp/libcxx/src/stdexcept.cpp
index b9c89703f3..d08b6740db 100644
--- a/contrib/libs/cxxsupp/libcxx/src/stdexcept.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/stdexcept.cpp
@@ -6,11 +6,10 @@
//
//===----------------------------------------------------------------------===//
-#include "stdexcept"
-#include "new"
-#include "string"
-#include "system_error"
-
+#include <new>
+#include <stdexcept>
+#include <string>
+#include <system_error>
#ifdef _LIBCPP_ABI_VCRUNTIME
#include "support/runtime/stdexcept_vcruntime.ipp"
diff --git a/contrib/libs/cxxsupp/libcxx/src/string.cpp b/contrib/libs/cxxsupp/libcxx/src/string.cpp
index 3cde2e9005..9d1de0cf6c 100644
--- a/contrib/libs/cxxsupp/libcxx/src/string.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/string.cpp
@@ -6,17 +6,17 @@
//
//===----------------------------------------------------------------------===//
-#include "string"
-#include "charconv"
-#include "cstdlib"
-#include "cerrno"
-#include "limits"
-#include "stdexcept"
+#include <__assert>
+#include <cerrno>
+#include <charconv>
+#include <cstdlib>
+#include <limits>
+#include <stdexcept>
#include <stdio.h>
-#include "__debug"
+#include <string>
#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
-# include "cwchar"
+# include <cwchar>
#endif
_LIBCPP_BEGIN_NAMESPACE_STD
diff --git a/contrib/libs/cxxsupp/libcxx/src/strstream.cpp b/contrib/libs/cxxsupp/libcxx/src/strstream.cpp
index fe7e2d4120..87c235a97a 100644
--- a/contrib/libs/cxxsupp/libcxx/src/strstream.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/strstream.cpp
@@ -6,14 +6,16 @@
//
//===----------------------------------------------------------------------===//
+#include <__assert>
#include <__utility/unreachable.h>
-#include "strstream"
-#include "algorithm"
-#include "climits"
-#include "cstring"
-#include "cstdlib"
-#include "__debug"
-#include "__undef_macros"
+#include <algorithm>
+#include <climits>
+#include <cstdlib>
+#include <cstring>
+#include <strstream>
+
+_LIBCPP_PUSH_MACROS
+#include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -334,3 +336,5 @@ strstream::~strstream()
}
_LIBCPP_END_NAMESPACE_STD
+
+_LIBCPP_POP_MACROS
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 6ebaeee2a5..a45f11eb9f 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 3eaeb489a1..7556f693a9 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
diff --git a/contrib/libs/cxxsupp/libcxx/src/system_error.cpp b/contrib/libs/cxxsupp/libcxx/src/system_error.cpp
index 82472cbc84..66db76c37b 100644
--- a/contrib/libs/cxxsupp/libcxx/src/system_error.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/system_error.cpp
@@ -6,18 +6,17 @@
//
//===----------------------------------------------------------------------===//
-#include "__config"
-
-#include "system_error"
+#include <__assert>
+#include <__config>
+#include <cerrno>
+#include <cstdio>
+#include <cstdlib>
+#include <cstring>
+#include <string>
+#include <string.h>
+#include <system_error>
#include "include/config_elast.h"
-#include "cerrno"
-#include "cstring"
-#include "cstdio"
-#include "cstdlib"
-#include "string"
-#include "string.h"
-#include "__debug"
#if defined(__ANDROID__)
#include <android/api-level.h>
diff --git a/contrib/libs/cxxsupp/libcxx/src/thread.cpp b/contrib/libs/cxxsupp/libcxx/src/thread.cpp
index 8dddb240b5..0734659d2d 100644
--- a/contrib/libs/cxxsupp/libcxx/src/thread.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/thread.cpp
@@ -6,14 +6,15 @@
//
//===----------------------------------------------------------------------===//
-#include "__config"
+#include <__config>
+
#ifndef _LIBCPP_HAS_NO_THREADS
-#include "thread"
-#include "exception"
-#include "vector"
-#include "future"
-#include "limits"
+#include <exception>
+#include <future>
+#include <limits>
+#include <thread>
+#include <vector>
#if __has_include(<unistd.h>)
# include <unistd.h> // for sysconf
diff --git a/contrib/libs/cxxsupp/libcxx/src/typeinfo.cpp b/contrib/libs/cxxsupp/libcxx/src/typeinfo.cpp
index 3534c66331..a98ceb0034 100644
--- a/contrib/libs/cxxsupp/libcxx/src/typeinfo.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/typeinfo.cpp
@@ -6,9 +6,10 @@
//
//===----------------------------------------------------------------------===//
-#include "typeinfo"
+#include <typeinfo>
#if defined(_LIBCPP_ABI_MICROSOFT) && !defined(_LIBCPP_ABI_VCRUNTIME)
+
#include <string.h>
int std::type_info::__compare(const type_info &__rhs) const noexcept {
diff --git a/contrib/libs/cxxsupp/libcxx/src/utility.cpp b/contrib/libs/cxxsupp/libcxx/src/utility.cpp
index 6d2cc4acce..44433d11d7 100644
--- a/contrib/libs/cxxsupp/libcxx/src/utility.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/utility.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "utility"
+#include <utility>
_LIBCPP_BEGIN_NAMESPACE_STD
diff --git a/contrib/libs/cxxsupp/libcxx/src/valarray.cpp b/contrib/libs/cxxsupp/libcxx/src/valarray.cpp
index 5a3a869181..5d63bc1184 100644
--- a/contrib/libs/cxxsupp/libcxx/src/valarray.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/valarray.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "valarray"
+#include <valarray>
_LIBCPP_BEGIN_NAMESPACE_STD
diff --git a/contrib/libs/cxxsupp/libcxx/src/variant.cpp b/contrib/libs/cxxsupp/libcxx/src/variant.cpp
index d38d3a799d..b6ec448081 100644
--- a/contrib/libs/cxxsupp/libcxx/src/variant.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/variant.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "variant"
+#include <variant>
namespace std {
diff --git a/contrib/libs/cxxsupp/libcxx/src/vector.cpp b/contrib/libs/cxxsupp/libcxx/src/vector.cpp
index 201d4e3bf0..fa63d5c5e3 100644
--- a/contrib/libs/cxxsupp/libcxx/src/vector.cpp
+++ b/contrib/libs/cxxsupp/libcxx/src/vector.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "vector"
+#include <vector>
_LIBCPP_BEGIN_NAMESPACE_STD