Make operator precedence explicit so the CPPTRACE_HAS_CXX_EXCEPTION_TYPE define is a dominant switch to use cxxabi.h, rather than one that only applies when __CLIBCXX__ is defined.

This commit is contained in:
Ben Dunkin 2024-05-12 12:53:08 -07:00
parent d2b940ab07
commit cf662fa083

View File

@ -4,7 +4,7 @@
#include <string>
// libstdc++ and libc++
#if defined(CPPTRACE_HAS_CXX_EXCEPTION_TYPE) && defined(__GLIBCXX__) || defined(__GLIBCPP__) || defined(_LIBCPP_VERSION)
#if defined(CPPTRACE_HAS_CXX_EXCEPTION_TYPE) && (defined(__GLIBCXX__) || defined(__GLIBCPP__) || defined(_LIBCPP_VERSION))
#include <cxxabi.h>
#endif
@ -13,7 +13,7 @@
namespace cpptrace {
namespace detail {
inline std::string exception_type_name() {
#if defined(CPPTRACE_HAS_CXX_EXCEPTION_TYPE) && defined(__GLIBCXX__) || defined(__GLIBCPP__) || defined(_LIBCPP_VERSION)
#if defined(CPPTRACE_HAS_CXX_EXCEPTION_TYPE) && (defined(__GLIBCXX__) || defined(__GLIBCPP__) || defined(_LIBCPP_VERSION))
const std::type_info* t = abi::__cxa_current_exception_type();
return t ? detail::demangle(t->name()) : "<unknown>";
#else