https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104859

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I'm more suprised that this ever worked.
For 32-bit libstdc++, there is no unsigned __int128 support, so it uses
uint128_t.h instead, but that class doesn't have conversion operator to
unsigned.
Wonder if
  constexpr explicit
  operator unsigned() const
  { return unsigned(lo); }
shouldn't be added to the header and then spots like
const unsigned nibble = effective_mantissa >> rounded_mantissa_bits;
be replaced with
const unsigned nibble = {effective_mantissa >> rounded_mantissa_bits};

Reply via email to