aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/cxxsupp/libcxxrt/exception.cc
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 /contrib/libs/cxxsupp/libcxxrt/exception.cc
parentee2b7fbda052aa09b6fdb83b8c6f0305fef3e193 (diff)
downloadydb-04995e0cba16141aa0395966cedad49b72dffead.tar.gz
Update libcxxrt to 2024-02-04 39f76d286ffa70e15ae45632fe3fa5ea96cd46e4
Это NFC, который нужен для libc++18, т.к. я умудрился накосячить: https://github.com/libcxxrt/libcxxrt/issues/25
Diffstat (limited to 'contrib/libs/cxxsupp/libcxxrt/exception.cc')
-rw-r--r--contrib/libs/cxxsupp/libcxxrt/exception.cc8
1 files changed, 4 insertions, 4 deletions
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;