From ddad92b1f86b152bfc1c7a3fd6d65547e76b9e66 Mon Sep 17 00:00:00 2001 From: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com> Date: Thu, 5 Oct 2023 11:17:39 -0400 Subject: [PATCH] Sonar fixes (#52) --- .github/workflows/sonarlint.yml | 2 +- src/cpptrace.cpp | 20 ++++++++++---------- src/platform/utils.hpp | 2 +- src/symbols/symbols_with_addr2line.cpp | 2 +- src/symbols/symbols_with_dbghelp.cpp | 2 +- src/symbols/symbols_with_libbacktrace.cpp | 2 +- src/symbols/symbols_with_libdwarf.cpp | 4 ++-- 7 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.github/workflows/sonarlint.yml b/.github/workflows/sonarlint.yml index 15e7805..d22565d 100644 --- a/.github/workflows/sonarlint.yml +++ b/.github/workflows/sonarlint.yml @@ -21,7 +21,7 @@ jobs: run: | mkdir build cd build - cmake .. -DCMAKE_BUILD_TYPE=Debug -DCPPTRACE_BUILD_DEMO=On -DCPPTRACE_BUILD_TEST=On -DCMAKE_EXPORT_COMPILE_COMMANDS=On + cmake .. -DCMAKE_BUILD_TYPE=Debug -DCPPTRACE_BUILD_DEMO=On -DCPPTRACE_BUILD_TEST=On -DCMAKE_EXPORT_COMPILE_COMMANDS=On -DCMAKE_CXX_STANDARD=11 make -j cd .. - name: Run sonar-scanner diff --git a/src/cpptrace.cpp b/src/cpptrace.cpp index 635da81..51d2d1b 100644 --- a/src/cpptrace.cpp +++ b/src/cpptrace.cpp @@ -40,7 +40,7 @@ namespace cpptrace { object_trace raw_trace::resolve_object_trace() const { try { return object_trace(detail::get_frames_object_info(frames)); - } catch(...) { + } catch(...) { // NOSONAR if(!detail::should_absorb_trace_exceptions()) { throw; } @@ -56,7 +56,7 @@ namespace cpptrace { frame.symbol = detail::demangle(frame.symbol); } return stacktrace(std::move(trace)); - } catch(...) { + } catch(...) { // NOSONAR if(!detail::should_absorb_trace_exceptions()) { throw; } @@ -88,7 +88,7 @@ namespace cpptrace { stacktrace object_trace::resolve() const { try { return stacktrace(detail::resolve_frames(frames)); - } catch(...) { + } catch(...) { // NOSONAR if(!detail::should_absorb_trace_exceptions()) { throw; } @@ -241,7 +241,7 @@ namespace cpptrace { raw_trace generate_raw_trace(std::uint_least32_t skip) { try { return raw_trace(detail::capture_frames(skip + 1, UINT_LEAST32_MAX)); - } catch(...) { + } catch(...) { // NOSONAR if(!detail::should_absorb_trace_exceptions()) { throw; } @@ -253,7 +253,7 @@ namespace cpptrace { raw_trace generate_raw_trace(std::uint_least32_t skip, std::uint_least32_t max_depth) { try { return raw_trace(detail::capture_frames(skip + 1, max_depth)); - } catch(...) { + } catch(...) { // NOSONAR if(!detail::should_absorb_trace_exceptions()) { throw; } @@ -265,7 +265,7 @@ namespace cpptrace { object_trace generate_object_trace(std::uint_least32_t skip) { try { return object_trace(detail::get_frames_object_info(detail::capture_frames(skip + 1, UINT_LEAST32_MAX))); - } catch(...) { + } catch(...) { // NOSONAR if(!detail::should_absorb_trace_exceptions()) { throw; } @@ -277,7 +277,7 @@ namespace cpptrace { object_trace generate_object_trace(std::uint_least32_t skip, std::uint_least32_t max_depth) { try { return object_trace(detail::get_frames_object_info(detail::capture_frames(skip + 1, max_depth))); - } catch(...) { + } catch(...) { // NOSONAR if(!detail::should_absorb_trace_exceptions()) { throw; } @@ -299,7 +299,7 @@ namespace cpptrace { frame.symbol = detail::demangle(frame.symbol); } return stacktrace(std::move(trace)); - } catch(...) { + } catch(...) { // NOSONAR if(!detail::should_absorb_trace_exceptions()) { throw; } @@ -313,8 +313,8 @@ namespace cpptrace { } namespace detail { - std::atomic_bool absorb_trace_exceptions(true); - std::atomic cache_mode(cache_mode::prioritize_speed); + std::atomic_bool absorb_trace_exceptions(true); // NOSONAR + std::atomic cache_mode(cache_mode::prioritize_speed); // NOSONAR } CPPTRACE_API void absorb_trace_exceptions(bool absorb) { diff --git a/src/platform/utils.hpp b/src/platform/utils.hpp index 7b5a7fc..8fd3e25 100644 --- a/src/platform/utils.hpp +++ b/src/platform/utils.hpp @@ -230,7 +230,7 @@ namespace detail { typename std::enable_if::type, optional>::value, int>::type = 0 > optional& operator=(U&& value) { - optional o(std::move(value)); + optional o(std::forward(value)); swap(o); return *this; } diff --git a/src/symbols/symbols_with_addr2line.cpp b/src/symbols/symbols_with_addr2line.cpp index 145385a..3e6f945 100644 --- a/src/symbols/symbols_with_addr2line.cpp +++ b/src/symbols/symbols_with_addr2line.cpp @@ -301,7 +301,7 @@ namespace addr2line { for(size_t i = 0; i < output.size(); i++) { update_trace(output[i], i, entries_vec); } - } catch(...) { + } catch(...) { // NOSONAR if(!should_absorb_trace_exceptions()) { throw; } diff --git a/src/symbols/symbols_with_dbghelp.cpp b/src/symbols/symbols_with_dbghelp.cpp index 7e16f32..9c0604b 100644 --- a/src/symbols/symbols_with_dbghelp.cpp +++ b/src/symbols/symbols_with_dbghelp.cpp @@ -408,7 +408,7 @@ namespace dbghelp { for(const auto frame : frames) { try { trace.push_back(resolve_frame(proc, frame)); - } catch(...) { + } catch(...) { // NOSONAR if(!detail::should_absorb_trace_exceptions()) { throw; } diff --git a/src/symbols/symbols_with_libbacktrace.cpp b/src/symbols/symbols_with_libbacktrace.cpp index c57e4d7..df969b3 100644 --- a/src/symbols/symbols_with_libbacktrace.cpp +++ b/src/symbols/symbols_with_libbacktrace.cpp @@ -77,7 +77,7 @@ namespace libbacktrace { ); } return frame; - } catch(...) { + } catch(...) { // NOSONAR if(!should_absorb_trace_exceptions()) { throw; } diff --git a/src/symbols/symbols_with_libdwarf.cpp b/src/symbols/symbols_with_libdwarf.cpp index 314a402..99f9ebc 100644 --- a/src/symbols/symbols_with_libdwarf.cpp +++ b/src/symbols/symbols_with_libdwarf.cpp @@ -667,7 +667,7 @@ namespace libdwarf { const auto& dlframe = entry.first.get(); auto& frame = entry.second.get(); frame = resolver->resolve_frame(dlframe); - } catch(...) { + } catch(...) { // NOSONAR if(!should_absorb_trace_exceptions()) { throw; } @@ -678,7 +678,7 @@ namespace libdwarf { // .emplace needed, for some reason .insert tries to copy <= gcc 7.2 resolver_map.emplace(obj_name, std::move(resolver_object).unwrap()); } - } catch(...) { + } catch(...) { // NOSONAR if(!should_absorb_trace_exceptions()) { throw; }