diff options
author | itrofimow <itrofimow@yandex-team.com> | 2024-02-06 21:14:32 +0300 |
---|---|---|
committer | Alexander Smirnov <alex@ydb.tech> | 2024-02-09 19:18:29 +0300 |
commit | 04995e0cba16141aa0395966cedad49b72dffead (patch) | |
tree | ad438a5e28a8aeb08e847af4952035520d9a6b85 | |
parent | ee2b7fbda052aa09b6fdb83b8c6f0305fef3e193 (diff) | |
download | ydb-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.h | 6 | ||||
-rw-r--r-- | contrib/libs/cxxsupp/libcxxrt/exception.cc | 8 | ||||
-rw-r--r-- | contrib/libs/cxxsupp/libcxxrt/ya.make | 2 |
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 |