diff options
author | agri <agri@yandex-team.ru> | 2022-02-10 16:48:12 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:48:12 +0300 |
commit | 2909866fbc652492b7d7cab3023cb19489dc4fd8 (patch) | |
tree | b222e5ac2e2e98872661c51ccceee5da0d291e13 /contrib/libs | |
parent | d3530b2692e400bd4d29bd4f07cafaee139164e7 (diff) | |
download | ydb-2909866fbc652492b7d7cab3023cb19489dc4fd8.tar.gz |
Restoring authorship annotation for <agri@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'contrib/libs')
-rw-r--r-- | contrib/libs/cxxsupp/libcxxrt/exception.cc | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/contrib/libs/cxxsupp/libcxxrt/exception.cc b/contrib/libs/cxxsupp/libcxxrt/exception.cc index f61242b1ad..6baf428ead 100644 --- a/contrib/libs/cxxsupp/libcxxrt/exception.cc +++ b/contrib/libs/cxxsupp/libcxxrt/exception.cc @@ -837,10 +837,10 @@ static void throw_exception(__cxa_exception *ex) report_failure(err, ex); } -typedef void (*cxa_throw_hook_t)(void*, std::type_info*, void(*)(void*)) noexcept; +typedef void (*cxa_throw_hook_t)(void*, std::type_info*, void(*)(void*)) noexcept; + +__attribute__((weak)) cxa_throw_hook_t cxa_throw_hook = nullptr; -__attribute__((weak)) cxa_throw_hook_t cxa_throw_hook = nullptr; - /** * ABI function for throwing an exception. Takes the object to be thrown (the * pointer returned by __cxa_allocate_exception()), the type info for the @@ -850,11 +850,11 @@ extern "C" void __cxa_throw(void *thrown_exception, std::type_info *tinfo, void(*dest)(void*)) { - if (cxa_throw_hook) - { - cxa_throw_hook(thrown_exception, tinfo, dest); - } - + if (cxa_throw_hook) + { + cxa_throw_hook(thrown_exception, tinfo, dest); + } + __cxa_exception *ex = reinterpret_cast<__cxa_exception*>(thrown_exception) - 1; ex->referenceCount = 1; |