aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoritrofimow <itrofimow@yandex-team.com>2024-02-06 21:14:32 +0300
committerAlexander Smirnov <alex@ydb.tech>2024-02-09 19:18:29 +0300
commit04995e0cba16141aa0395966cedad49b72dffead (patch)
treead438a5e28a8aeb08e847af4952035520d9a6b85
parentee2b7fbda052aa09b6fdb83b8c6f0305fef3e193 (diff)
downloadydb-04995e0cba16141aa0395966cedad49b72dffead.tar.gz
Update libcxxrt to 2024-02-04 39f76d286ffa70e15ae45632fe3fa5ea96cd46e4
Это NFC, который нужен для libc++18, т.к. я умудрился накосячить: https://github.com/libcxxrt/libcxxrt/issues/25
-rw-r--r--contrib/libs/cxxsupp/libcxxrt/cxxabi.h6
-rw-r--r--contrib/libs/cxxsupp/libcxxrt/exception.cc8
-rw-r--r--contrib/libs/cxxsupp/libcxxrt/ya.make2
3 files changed, 8 insertions, 8 deletions
diff --git a/contrib/libs/cxxsupp/libcxxrt/cxxabi.h b/contrib/libs/cxxsupp/libcxxrt/cxxabi.h
index e96d4c2592..a7495843ed 100644
--- a/contrib/libs/cxxsupp/libcxxrt/cxxabi.h
+++ b/contrib/libs/cxxsupp/libcxxrt/cxxabi.h
@@ -206,12 +206,12 @@ __cxa_eh_globals *__cxa_get_globals_fast(void);
std::type_info * __cxa_current_exception_type();
-void *__cxa_allocate_exception(size_t thrown_size);
+void *__cxa_allocate_exception(size_t thrown_size) noexcept;
-void __cxa_free_exception(void* thrown_exception);
+void __cxa_free_exception(void* thrown_exception) noexcept;
__cxa_exception *__cxa_init_primary_exception(
- void *object, std::type_info* tinfo, void (*dest)(void *));
+ void *object, std::type_info* tinfo, void (*dest)(void *)) noexcept;
/**
* Throws an exception returned by __cxa_current_primary_exception(). This
diff --git a/contrib/libs/cxxsupp/libcxxrt/exception.cc b/contrib/libs/cxxsupp/libcxxrt/exception.cc
index ec33baba52..4c088d73cd 100644
--- a/contrib/libs/cxxsupp/libcxxrt/exception.cc
+++ b/contrib/libs/cxxsupp/libcxxrt/exception.cc
@@ -99,7 +99,7 @@ static inline _Unwind_Reason_Code continueUnwinding(struct _Unwind_Exception *ex
}
-extern "C" void __cxa_free_exception(void *thrown_exception);
+extern "C" void __cxa_free_exception(void *thrown_exception) noexcept;
extern "C" void __cxa_free_dependent_exception(void *thrown_exception);
extern "C" void* __dynamic_cast(const void *sub,
const __class_type_info *src,
@@ -711,7 +711,7 @@ static constexpr size_t backtrace_buffer_size = 0;
* emergency buffer if malloc() fails, and may block if there are no such
* buffers available.
*/
-extern "C" void *__cxa_allocate_exception(size_t thrown_size)
+extern "C" void *__cxa_allocate_exception(size_t thrown_size) noexcept
{
size_t size = thrown_size + exception_size + backtrace_buffer_size;
char *buffer = alloc_or_die(size);
@@ -736,7 +736,7 @@ extern "C" void *__cxa_allocate_dependent_exception(void)
* In this implementation, it is also called by __cxa_end_catch() and during
* thread cleanup.
*/
-extern "C" void __cxa_free_exception(void *thrown_exception)
+extern "C" void __cxa_free_exception(void *thrown_exception) noexcept
{
__cxa_exception *ex = reinterpret_cast<__cxa_exception*>(thrown_exception) - 1;
// Free the object that was thrown, calling its destructor
@@ -871,7 +871,7 @@ static void throw_exception(__cxa_exception *ex)
}
extern "C" __cxa_exception *__cxa_init_primary_exception(
- void *object, std::type_info* tinfo, void (*dest)(void *)) {
+ void *object, std::type_info* tinfo, void (*dest)(void *)) noexcept {
__cxa_exception *ex = reinterpret_cast<__cxa_exception*>(object) - 1;
ex->referenceCount = 0;
diff --git a/contrib/libs/cxxsupp/libcxxrt/ya.make b/contrib/libs/cxxsupp/libcxxrt/ya.make
index 67b02f3b55..3a88779564 100644
--- a/contrib/libs/cxxsupp/libcxxrt/ya.make
+++ b/contrib/libs/cxxsupp/libcxxrt/ya.make
@@ -13,7 +13,7 @@ LICENSE_TEXTS(.yandex_meta/licenses.list.txt)
VERSION(2023-10-11)
-ORIGINAL_SOURCE(https://github.com/libcxxrt/libcxxrt/archive/03c83f5a57be8c5b1a29a68de5638744f17d28ba.tar.gz)
+ORIGINAL_SOURCE(https://github.com/libcxxrt/libcxxrt/archive/39f76d286ffa70e15ae45632fe3fa5ea96cd46e4.tar.gz)
ADDINCL(
contrib/libs/cxxsupp/libcxxrt