https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104859
--- Comment #12 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-11 branch has been updated by Patrick Palka <ppa...@gcc.gnu.org>: https://gcc.gnu.org/g:c859c99a85b8743b2c1edc097c6f6406de337f45 commit r11-9798-gc859c99a85b8743b2c1edc097c6f6406de337f45 Author: Patrick Palka <ppa...@redhat.com> Date: Wed Mar 9 18:48:52 2022 -0500 libstdc++: Avoid implicit narrowing from uint128_t [PR104859] We need to be explicit about narrowing conversions from uint128_t since, on targets that lack __int128, this type is defined as an integer-class type that is only _explicitly_ convertible to the builtin integer types. This issue was latent until r12-7563-ge32869a17b788b made the frontend correctly reject explicit conversion functions during (dependent) copy-initialization. PR libstdc++/104859 libstdc++-v3/ChangeLog: * src/c++17/floating_to_chars.cc (__floating_to_chars_hex): Be explicit when narrowing the shifted effective_mantissa, since it may have an integer-class type. (cherry picked from commit 65857caee8ccfac5007a9fd0e5f18cce5e5fe934)