diff --git a/include/util/ieee754.hpp b/include/util/ieee754.hpp index a6112ec2f..6b4d88b6a 100644 --- a/include/util/ieee754.hpp +++ b/include/util/ieee754.hpp @@ -88,8 +88,9 @@ struct DiyFp h++; return DiyFp(h, e + rhs.e + 64); #elif (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && defined(__x86_64__) - unsigned __int128 p = - static_cast(f) * static_cast(rhs.f); + __extension__ using uint128 = unsigned __int128; + uint128 p = + static_cast(f) * static_cast(rhs.f); uint64_t h = p >> 64; uint64_t l = static_cast(p); if (l & (uint64_t(1) << 63)) // rounding