From b5c5eaad5a634132ffc8dfbffe0a9ecfcbcff87c Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Thu, 28 Jan 2021 20:00:59 +0100 Subject: [PATCH] :rotating_light: fix warnings --- .clang-tidy | 5 +++-- include/nlohmann/detail/input/binary_reader.hpp | 6 +++--- include/nlohmann/detail/input/input_adapters.hpp | 3 ++- include/nlohmann/detail/input/lexer.hpp | 2 +- single_include/nlohmann/json.hpp | 11 ++++++----- test/src/unit-regression1.cpp | 1 - 6 files changed, 15 insertions(+), 13 deletions(-) diff --git a/.clang-tidy b/.clang-tidy index cdbba1fca..11009409e 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -5,6 +5,7 @@ Checks: '*, -cppcoreguidelines-avoid-non-const-global-variables, -cppcoreguidelines-macro-usage, -cppcoreguidelines-pro-bounds-array-to-pointer-decay, + -cppcoreguidelines-pro-bounds-constant-array-index, -cppcoreguidelines-pro-bounds-pointer-arithmetic, -cppcoreguidelines-pro-type-reinterpret-cast, -cppcoreguidelines-pro-type-union-access, @@ -23,14 +24,14 @@ Checks: '*, -hicpp-uppercase-literal-suffix, -llvm-header-guard, -llvm-include-order, + -llvmlibc-*, -misc-no-recursion, -misc-non-private-member-variables-in-classes, -modernize-use-trailing-return-type, -readability-function-size, -readability-magic-numbers, -readability-redundant-access-specifiers, - -readability-uppercase-literal-suffix, - -llvmlibc-*' + -readability-uppercase-literal-suffix' CheckOptions: - key: hicpp-special-member-functions.AllowSoleDefaultDtor diff --git a/include/nlohmann/detail/input/binary_reader.hpp b/include/nlohmann/detail/input/binary_reader.hpp index 3dafb1b81..c873eefa8 100644 --- a/include/nlohmann/detail/input/binary_reader.hpp +++ b/include/nlohmann/detail/input/binary_reader.hpp @@ -2211,8 +2211,8 @@ class binary_reader } // parse number string - auto number_ia = detail::input_adapter(std::forward(number_vector)); - auto number_lexer = detail::lexer(std::move(number_ia), false); + using ia_type = decltype(detail::input_adapter(std::forward(number_vector))); + auto number_lexer = detail::lexer(detail::input_adapter(std::forward(number_vector)), false); const auto result_number = number_lexer.scan(); const auto number_string = number_lexer.get_token_string(); const auto result_remainder = number_lexer.scan(); @@ -2400,7 +2400,7 @@ class binary_reader std::string get_token_string() const { std::array cr{{}}; - (std::snprintf)(cr.data(), cr.size(), "%.2hhX", static_cast(current)); + (std::snprintf)(cr.data(), cr.size(), "%.2hhX", static_cast(current)); // NOLINT(cppcoreguidelines-pro-type-vararg,hicpp-vararg) return std::string{cr.data()}; } diff --git a/include/nlohmann/detail/input/input_adapters.hpp b/include/nlohmann/detail/input/input_adapters.hpp index 9007d224b..3edca57c8 100644 --- a/include/nlohmann/detail/input/input_adapters.hpp +++ b/include/nlohmann/detail/input/input_adapters.hpp @@ -45,6 +45,7 @@ class file_input_adapter file_input_adapter(file_input_adapter&&) noexcept = default; file_input_adapter& operator=(const file_input_adapter&) = delete; file_input_adapter& operator=(file_input_adapter&&) = delete; + ~file_input_adapter() = default; std::char_traits::int_type get_character() noexcept { @@ -465,7 +466,7 @@ class span_input_adapter contiguous_bytes_input_adapter&& get() { - return std::move(ia); + return std::move(ia); // NOLINT(hicpp-move-const-arg,performance-move-const-arg) } private: diff --git a/include/nlohmann/detail/input/lexer.hpp b/include/nlohmann/detail/input/lexer.hpp index 44b4a5eaa..4318e0bb7 100644 --- a/include/nlohmann/detail/input/lexer.hpp +++ b/include/nlohmann/detail/input/lexer.hpp @@ -1447,7 +1447,7 @@ scan_number_done: { // escape control characters std::array cs{{}}; - (std::snprintf)(cs.data(), cs.size(), "", static_cast(c)); + (std::snprintf)(cs.data(), cs.size(), "", static_cast(c)); // NOLINT(cppcoreguidelines-pro-type-vararg,hicpp-varar) result += cs.data(); } else diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp index 70d9fca47..3ea9ba28c 100644 --- a/single_include/nlohmann/json.hpp +++ b/single_include/nlohmann/json.hpp @@ -4854,6 +4854,7 @@ class file_input_adapter file_input_adapter(file_input_adapter&&) noexcept = default; file_input_adapter& operator=(const file_input_adapter&) = delete; file_input_adapter& operator=(file_input_adapter&&) = delete; + ~file_input_adapter() = default; std::char_traits::int_type get_character() noexcept { @@ -5274,7 +5275,7 @@ class span_input_adapter contiguous_bytes_input_adapter&& get() { - return std::move(ia); + return std::move(ia); // NOLINT(hicpp-move-const-arg,performance-move-const-arg) } private: @@ -7435,7 +7436,7 @@ scan_number_done: { // escape control characters std::array cs{{}}; - (std::snprintf)(cs.data(), cs.size(), "", static_cast(c)); + (std::snprintf)(cs.data(), cs.size(), "", static_cast(c)); // NOLINT(cppcoreguidelines-pro-type-vararg,hicpp-varar) result += cs.data(); } else @@ -9958,8 +9959,8 @@ class binary_reader } // parse number string - auto number_ia = detail::input_adapter(std::forward(number_vector)); - auto number_lexer = detail::lexer(std::move(number_ia), false); + using ia_type = decltype(detail::input_adapter(std::forward(number_vector))); + auto number_lexer = detail::lexer(detail::input_adapter(std::forward(number_vector)), false); const auto result_number = number_lexer.scan(); const auto number_string = number_lexer.get_token_string(); const auto result_remainder = number_lexer.scan(); @@ -10147,7 +10148,7 @@ class binary_reader std::string get_token_string() const { std::array cr{{}}; - (std::snprintf)(cr.data(), cr.size(), "%.2hhX", static_cast(current)); + (std::snprintf)(cr.data(), cr.size(), "%.2hhX", static_cast(current)); // NOLINT(cppcoreguidelines-pro-type-vararg,hicpp-vararg) return std::string{cr.data()}; } diff --git a/test/src/unit-regression1.cpp b/test/src/unit-regression1.cpp index 3f0daf48e..c8a20a9cd 100644 --- a/test/src/unit-regression1.cpp +++ b/test/src/unit-regression1.cpp @@ -122,7 +122,6 @@ struct nocopy nocopy(nocopy&&) = delete; nocopy& operator=(const nocopy&) = delete; nocopy& operator=(nocopy&&) = delete; - ~nocopy() = default; int val = 0;