diff --git a/include/boost/charconv/detail/integer_search_trees.hpp b/include/boost/charconv/detail/integer_search_trees.hpp index 9b4de091..52e8ec12 100644 --- a/include/boost/charconv/detail/integer_search_trees.hpp +++ b/include/boost/charconv/detail/integer_search_trees.hpp @@ -24,7 +24,7 @@ BOOST_CHARCONV_CXX14_CONSTEXPR int num_digits(T x) noexcept while (x) { - x /= 10; + x /= static_cast(10); ++digits; } diff --git a/include/boost/charconv/detail/to_chars_integer_impl.hpp b/include/boost/charconv/detail/to_chars_integer_impl.hpp index 9f2ee390..fe42c456 100644 --- a/include/boost/charconv/detail/to_chars_integer_impl.hpp +++ b/include/boost/charconv/detail/to_chars_integer_impl.hpp @@ -238,7 +238,7 @@ BOOST_CHARCONV_CONSTEXPR to_chars_result to_chars_128integer_impl(char* first, c #endif ) { - if (value < 0) + if (value < static_cast(0)) { is_negative = true; unsigned_value = -(static_cast(value)); @@ -278,7 +278,7 @@ BOOST_CHARCONV_CONSTEXPR to_chars_result to_chars_128integer_impl(char* first, c int num_chars[5] {}; int i = 0; - while (converted_value != 0) + while (converted_value != static_cast(0)) { auto digits = static_cast(converted_value % ten_9); num_chars[i] = num_digits(digits); @@ -320,7 +320,7 @@ BOOST_CHARCONV_CONSTEXPR to_chars_result to_chars_integer_impl(char* first, char return {last, std::errc::invalid_argument}; } - if (value == 0) + if (value == static_cast(0)) { *first++ = '0'; return {first, std::errc()}; @@ -331,7 +331,7 @@ BOOST_CHARCONV_CONSTEXPR to_chars_result to_chars_integer_impl(char* first, char BOOST_IF_CONSTEXPR (std::is_signed::value) { - if (value < 0) + if (value < static_cast(0)) { *first++ = '-'; unsigned_value = static_cast(detail::apply_sign(value)); @@ -358,7 +358,7 @@ BOOST_CHARCONV_CONSTEXPR to_chars_result to_chars_integer_impl(char* first, char switch (base) { case 2: - while (unsigned_value != 0) + while (unsigned_value != static_cast(0)) { *end-- = static_cast(zero + (unsigned_value & 1U)); // 1<<1 - 1 unsigned_value >>= static_cast(1); @@ -366,7 +366,7 @@ BOOST_CHARCONV_CONSTEXPR to_chars_result to_chars_integer_impl(char* first, char break; case 4: - while (unsigned_value != 0) + while (unsigned_value != static_cast(0)) { *end-- = static_cast(zero + (unsigned_value & 3U)); // 1<<2 - 1 unsigned_value >>= static_cast(2); @@ -374,7 +374,7 @@ BOOST_CHARCONV_CONSTEXPR to_chars_result to_chars_integer_impl(char* first, char break; case 8: - while (unsigned_value != 0) + while (unsigned_value != static_cast(0)) { *end-- = static_cast(zero + (unsigned_value & 7U)); // 1<<3 - 1 unsigned_value >>= static_cast(3); @@ -382,7 +382,7 @@ BOOST_CHARCONV_CONSTEXPR to_chars_result to_chars_integer_impl(char* first, char break; case 16: - while (unsigned_value != 0) + while (unsigned_value != static_cast(0)) { *end-- = digit_table[static_cast(unsigned_value & 15U)]; // 1<<4 - 1 unsigned_value >>= static_cast(4); @@ -390,7 +390,7 @@ BOOST_CHARCONV_CONSTEXPR to_chars_result to_chars_integer_impl(char* first, char break; case 32: - while (unsigned_value != 0) + while (unsigned_value != static_cast(0)) { *end-- = digit_table[static_cast(unsigned_value & 31U)]; // 1<<5 - 1 unsigned_value >>= static_cast(5); @@ -398,7 +398,7 @@ BOOST_CHARCONV_CONSTEXPR to_chars_result to_chars_integer_impl(char* first, char break; default: - while (unsigned_value != 0) + while (unsigned_value != static_cast(0)) { *end-- = digit_table[static_cast(unsigned_value % unsigned_base)]; unsigned_value /= unsigned_base;