-
Notifications
You must be signed in to change notification settings - Fork 4.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
No abi::__forced_unwind in libc++abi #549
Comments
Please provide the exact linux and gcc versions. |
GCC's cxxabi.h includes cxxabi_forced.h which defines #if defined(__linux__) && !defined(__ANDROID__)
#include <cxxabi.h>
#ifdef _CXXABI_FORCED_H
#define SPDLOG_CATCH_ALL catch (abi::__forced_unwind&) { _err_handler("Unknown exception"); throw; } catch (...)
#else // _CXXABI_FORCED_H
#define SPDLOG_CATCH_ALL catch (...)
#endif // _CXXABI_FORCED_H
#else // __linux__
#define SPDLOG_CATCH_ALL catch (...)
#endif // __linux__ Is |
The more I think about it the more I believe this catch(..) is bad idea. If an exception other than ‘std::exception’ happened, than it is really an unexpected one that cannot be treated correctly by spdlog. anyway, and certainly should not be masked. |
It seems that I agree that this is probably out of scope of a logging library. Just catching |
Fixed (kind of) in 8ca1d84 Now spdlog won't try to |
Summary: abi::__forced_unwind is gcc specific, apparently. gabime/spdlog#549 Test Plan: Builds Reviewers: dvratil Reviewed By: dvratil Subscribers: kde-pim Tags: #kde_pim Differential Revision: https://phabricator.kde.org/D21077
Commit 039b34e added a hard dependency on
abi::__forced_unwind
in common.h on__linux__
platform. This causes a compilation error when compiled with libc++abi:Relevant: cxxabi.h from libc++abi
Tested OSs: Archlinux, Gentoo (~amd64), Debian (sid)
Compiler: LLVM (trunk 317567)
The text was updated successfully, but these errors were encountered: