diff --git a/include/fmt/format.h b/include/fmt/format.h index 9dda5662..34c9dc75 100644 --- a/include/fmt/format.h +++ b/include/fmt/format.h @@ -376,9 +376,6 @@ class uint128_fallback { constexpr uint64_t high() const noexcept { return hi_; } constexpr uint64_t low() const noexcept { return lo_; } - uint64_t& high() { return hi_; } - uint64_t& low() { return lo_; } - template ::value)> constexpr explicit operator T() const { return static_cast(lo_); @@ -1489,9 +1486,9 @@ inline uint128_fallback umul128(uint64_t x, uint64_t y) noexcept { auto p = static_cast(x) * static_cast(y); return {static_cast(p >> 64), static_cast(p)}; #elif defined(_MSC_VER) && defined(_M_X64) - auto result = uint128_fallback(); - result.low() = _umul128(x, y, &result.high()); - return result; + auto hi = uint64_t{}; + auto lo = _umul128(x, y, &hi); + return {hi, lo}; #else const uint64_t mask = static_cast(max_value());