mirror of
https://github.com/nlohmann/json.git
synced 2026-06-08 08:33:51 +00:00
🚨 fix warning (#5169)
This commit is contained in:
@@ -1 +1 @@
|
|||||||
cppcheck==1.5.0
|
cppcheck==1.5.1
|
||||||
|
|||||||
@@ -825,14 +825,27 @@ class serializer
|
|||||||
o->write_characters(begin, static_cast<size_t>(end - begin));
|
o->write_characters(begin, static_cast<size_t>(end - begin));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
JSON_HEDLEY_NON_NULL(1)
|
||||||
|
static int snprintf_float(char* buf, std::size_t size, int d, double x)
|
||||||
|
{
|
||||||
|
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg,hicpp-vararg)
|
||||||
|
return (std::snprintf)(buf, size, "%.*g", d, x);
|
||||||
|
}
|
||||||
|
|
||||||
|
JSON_HEDLEY_NON_NULL(1)
|
||||||
|
static int snprintf_float(char* buf, std::size_t size, int d, long double x)
|
||||||
|
{
|
||||||
|
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg,hicpp-vararg)
|
||||||
|
return (std::snprintf)(buf, size, "%.*lg", d, x);
|
||||||
|
}
|
||||||
|
|
||||||
void dump_float(number_float_t x, std::false_type /*is_ieee_single_or_double*/)
|
void dump_float(number_float_t x, std::false_type /*is_ieee_single_or_double*/)
|
||||||
{
|
{
|
||||||
// get the number of digits for a float -> text -> float round-trip
|
// get the number of digits for a float -> text -> float round-trip
|
||||||
static constexpr auto d = std::numeric_limits<number_float_t>::max_digits10;
|
static constexpr auto d = std::numeric_limits<number_float_t>::max_digits10;
|
||||||
|
|
||||||
// the actual conversion
|
// the actual conversion
|
||||||
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg,hicpp-vararg)
|
std::ptrdiff_t len = snprintf_float(number_buffer.data(), number_buffer.size(), d, x);
|
||||||
std::ptrdiff_t len = (std::snprintf)(number_buffer.data(), number_buffer.size(), "%.*g", d, x);
|
|
||||||
|
|
||||||
// negative value indicates an error
|
// negative value indicates an error
|
||||||
JSON_ASSERT(len > 0);
|
JSON_ASSERT(len > 0);
|
||||||
|
|||||||
@@ -19807,14 +19807,27 @@ class serializer
|
|||||||
o->write_characters(begin, static_cast<size_t>(end - begin));
|
o->write_characters(begin, static_cast<size_t>(end - begin));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
JSON_HEDLEY_NON_NULL(1)
|
||||||
|
static int snprintf_float(char* buf, std::size_t size, int d, double x)
|
||||||
|
{
|
||||||
|
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg,hicpp-vararg)
|
||||||
|
return (std::snprintf)(buf, size, "%.*g", d, x);
|
||||||
|
}
|
||||||
|
|
||||||
|
JSON_HEDLEY_NON_NULL(1)
|
||||||
|
static int snprintf_float(char* buf, std::size_t size, int d, long double x)
|
||||||
|
{
|
||||||
|
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg,hicpp-vararg)
|
||||||
|
return (std::snprintf)(buf, size, "%.*lg", d, x);
|
||||||
|
}
|
||||||
|
|
||||||
void dump_float(number_float_t x, std::false_type /*is_ieee_single_or_double*/)
|
void dump_float(number_float_t x, std::false_type /*is_ieee_single_or_double*/)
|
||||||
{
|
{
|
||||||
// get the number of digits for a float -> text -> float round-trip
|
// get the number of digits for a float -> text -> float round-trip
|
||||||
static constexpr auto d = std::numeric_limits<number_float_t>::max_digits10;
|
static constexpr auto d = std::numeric_limits<number_float_t>::max_digits10;
|
||||||
|
|
||||||
// the actual conversion
|
// the actual conversion
|
||||||
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg,hicpp-vararg)
|
std::ptrdiff_t len = snprintf_float(number_buffer.data(), number_buffer.size(), d, x);
|
||||||
std::ptrdiff_t len = (std::snprintf)(number_buffer.data(), number_buffer.size(), "%.*g", d, x);
|
|
||||||
|
|
||||||
// negative value indicates an error
|
// negative value indicates an error
|
||||||
JSON_ASSERT(len > 0);
|
JSON_ASSERT(len > 0);
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ TEST_CASE("regression test for issue #3732 - iteration_proxy_value<iter_impl<ord
|
|||||||
// Naming the proxy type in a function-parameter position forces eager
|
// Naming the proxy type in a function-parameter position forces eager
|
||||||
// instantiation of basic_json<ordered_map>; previously this hit an
|
// instantiation of basic_json<ordered_map>; previously this hit an
|
||||||
// incomplete-type error in set_parents().
|
// incomplete-type error in set_parents().
|
||||||
auto fn = [](nlohmann::detail::iteration_proxy_value<nlohmann::detail::iter_impl<nlohmann::ordered_json>> const& val)
|
auto fn = [](nlohmann::detail::iteration_proxy_value<nlohmann::detail::iter_impl<nlohmann::ordered_json>> const & val)
|
||||||
{
|
{
|
||||||
return val.value();
|
return val.value();
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1275,8 +1275,8 @@ TEST_CASE("regression test #5122 - from_json into types holding nlohmann::ordere
|
|||||||
// because GCC does not provide it and would tokenize-error on the argument.
|
// because GCC does not provide it and would tokenize-error on the argument.
|
||||||
#if defined(__clang__) && defined(__has_warning)
|
#if defined(__clang__) && defined(__has_warning)
|
||||||
#if __has_warning("-Wself-assign-overloaded")
|
#if __has_warning("-Wself-assign-overloaded")
|
||||||
DOCTEST_CLANG_SUPPRESS_WARNING_PUSH
|
DOCTEST_CLANG_SUPPRESS_WARNING_PUSH
|
||||||
DOCTEST_CLANG_SUPPRESS_WARNING("-Wself-assign-overloaded")
|
DOCTEST_CLANG_SUPPRESS_WARNING("-Wself-assign-overloaded")
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -1300,7 +1300,7 @@ TEST_CASE("regression test #5122 - nlohmann::ordered_map copy-assignment is self
|
|||||||
|
|
||||||
#if defined(__clang__) && defined(__has_warning)
|
#if defined(__clang__) && defined(__has_warning)
|
||||||
#if __has_warning("-Wself-assign-overloaded")
|
#if __has_warning("-Wself-assign-overloaded")
|
||||||
DOCTEST_CLANG_SUPPRESS_WARNING_POP
|
DOCTEST_CLANG_SUPPRESS_WARNING_POP
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -1323,7 +1323,7 @@ TEST_CASE("regression test #5122 - nlohmann::ordered_map move-assignment transfe
|
|||||||
CHECK(it->second == "2");
|
CHECK(it->second == "2");
|
||||||
|
|
||||||
// Re-assigning into the moved-from object must leave it in a usable state.
|
// Re-assigning into the moved-from object must leave it in a usable state.
|
||||||
src = nlohmann::ordered_map<std::string, std::string>{};
|
src = nlohmann::ordered_map<std::string, std::string> {};
|
||||||
src.emplace("after-move", "3");
|
src.emplace("after-move", "3");
|
||||||
REQUIRE(src.size() == 1);
|
REQUIRE(src.size() == 1);
|
||||||
CHECK(src.begin()->first == "after-move");
|
CHECK(src.begin()->first == "after-move");
|
||||||
|
|||||||
Reference in New Issue
Block a user