From d2b940ab07521df8baeff0fbf7aea68d94dffc65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tam=C3=A1s=20Solymos?= <15968382+slymas@users.noreply.github.com> Date: Mon, 6 May 2024 20:37:32 +0100 Subject: [PATCH 1/2] Fix typos in README.md (#117) --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index c98dea8..d11a23c 100644 --- a/README.md +++ b/README.md @@ -122,7 +122,7 @@ if(WIN32) endif() ``` -Be sure to configure with `-DCMAKE_BUILD_TYPE=Debug` or `-DDCMAKE_BUILD_TYPE=RelWithDebInfo` for symbols and line +Be sure to configure with `-DCMAKE_BUILD_TYPE=Debug` or `-DCMAKE_BUILD_TYPE=RelWithDebInfo` for symbols and line information. On macOS it is recommended to generate a `.dSYM` file, see [Platform Logistics](#platform-logistics) below. @@ -420,7 +420,7 @@ namespace cpptrace { Cpptrace exceptions can provide great information for user-controlled exceptions. For non-cpptrace::exceptions that may originate outside of code you control, e.g. the standard library, cpptrace provides some wrapper utilities that can rethrow these exceptions nested in traced cpptrace exceptions. The trace won't be perfect, the trace will start where -the rapper caught it, but these utilities can provide good diagnostic information. Unfortunately this is the best +the wrapper caught it, but these utilities can provide good diagnostic information. Unfortunately this is the best solution for this problem, as far as I know. ```cpp @@ -591,7 +591,7 @@ target_link_libraries(your_target cpptrace::cpptrace) It's as easy as that. Cpptrace will automatically configure itself for your system. Note: On windows and macos some extra work is required, see [Platform Logistics](#platform-logistics) below. -Be sure to configure with `-DCMAKE_BUILD_TYPE=Debug` or `-DDCMAKE_BUILD_TYPE=RelWithDebInfo` for symbols and line +Be sure to configure with `-DCMAKE_BUILD_TYPE=Debug` or `-DCMAKE_BUILD_TYPE=RelWithDebInfo` for symbols and line information. ## System-Wide Installation @@ -611,7 +611,7 @@ Using through cmake: find_package(cpptrace REQUIRED) target_link_libraries( cpptrace::cpptrace) ``` -Be sure to configure with `-DCMAKE_BUILD_TYPE=Debug` or `-DDCMAKE_BUILD_TYPE=RelWithDebInfo` for symbols and line +Be sure to configure with `-DCMAKE_BUILD_TYPE=Debug` or `-DCMAKE_BUILD_TYPE=RelWithDebInfo` for symbols and line information. Or compile with `-lcpptrace`: @@ -629,7 +629,7 @@ If you get an error along the lines of error while loading shared libraries: libcpptrace.so: cannot open shared object file: No such file or directory ``` You may have to run `sudo /sbin/ldconfig` to create any necessary links and update caches so the system can find -libcpptrace.so (I had to do this on Ubuntu). Only when installing system-wide. Usually your package manger does this for +libcpptrace.so (I had to do this on Ubuntu). Only when installing system-wide. Usually your package manager does this for you when installing new libraries.
From a70cf7935adbc1522d2793dfc64a4ff0dfb19a9a Mon Sep 17 00:00:00 2001 From: Ben Dunkin Date: Sun, 12 May 2024 19:56:38 -0700 Subject: [PATCH 2/2] Fix missing cxxabi.h include on Windows when using libc++ (#122) 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 `__GLIBCXX__` is defined. Fixes https://github.com/jeremy-rifkin/cpptrace/issues/121 --- src/utils/exception_type.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/utils/exception_type.hpp b/src/utils/exception_type.hpp index 0d9047e..a8e9d82 100644 --- a/src/utils/exception_type.hpp +++ b/src/utils/exception_type.hpp @@ -4,7 +4,7 @@ #include // 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 #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()) : ""; #else