From 5585e630d761c68ecc36ac518f81ce599ca3b7bd Mon Sep 17 00:00:00 2001 From: wtom Date: Sun, 20 Oct 2024 12:26:34 +0300 Subject: [PATCH] fixing vs analyser's "here could be constexpr" warning --- include/spdlog/fmt/bundled/format-inl.h | 2 +- include/spdlog/fmt/bundled/format.h | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/spdlog/fmt/bundled/format-inl.h b/include/spdlog/fmt/bundled/format-inl.h index efac5d1f..1e180aae 100644 --- a/include/spdlog/fmt/bundled/format-inl.h +++ b/include/spdlog/fmt/bundled/format-inl.h @@ -1248,7 +1248,7 @@ template auto to_decimal(T x) noexcept -> decimal_fp { auto br = bit_cast(x); // Extract significand bits and exponent bits. - const carrier_uint significand_mask = + constexpr carrier_uint significand_mask = (static_cast(1) << num_significand_bits()) - 1; carrier_uint significand = (br & significand_mask); int exponent = diff --git a/include/spdlog/fmt/bundled/format.h b/include/spdlog/fmt/bundled/format.h index 7637c8a0..f42348fe 100644 --- a/include/spdlog/fmt/bundled/format.h +++ b/include/spdlog/fmt/bundled/format.h @@ -1633,7 +1633,7 @@ template struct basic_fp { static_assert(std::numeric_limits::digits <= 113, "unsupported FP"); // Assume Float is in the format [sign][exponent][significand]. using carrier_uint = typename dragonbox::float_info::carrier_uint; - const auto num_float_significand_bits = + constexpr auto num_float_significand_bits = detail::num_significand_bits(); const auto implicit_bit = carrier_uint(1) << num_float_significand_bits; const auto significand_mask = implicit_bit - 1; @@ -2839,7 +2839,7 @@ class bigint { FMT_CONSTEXPR20 void multiply(UInt value) { using half_uint = conditional_t::value, uint64_t, uint32_t>; - const int shift = num_bits() - bigit_bits; + constexpr int shift = num_bits() - bigit_bits; const UInt lower = static_cast(value); const UInt upper = value >> num_bits(); UInt carry = 0; @@ -3323,7 +3323,7 @@ FMT_CONSTEXPR20 auto format_float(Float value, int precision, float_specs specs, using info = dragonbox::float_info; auto br = bit_cast(static_cast(value)); - const uint64_t significand_mask = + constexpr uint64_t significand_mask = (static_cast(1) << num_significand_bits()) - 1; uint64_t significand = (br & significand_mask); int exponent = static_cast((br & exponent_mask()) >> @@ -3657,7 +3657,7 @@ FMT_CONSTEXPR20 auto write(OutputIt out, T value) -> OutputIt { constexpr auto specs = format_specs(); using floaty = conditional_t::value, double, T>; using floaty_uint = typename dragonbox::float_info::carrier_uint; - floaty_uint mask = exponent_mask(); + constexpr floaty_uint mask = exponent_mask(); if ((bit_cast(value) & mask) == mask) return write_nonfinite(out, std::isnan(value), specs, fspecs);