https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120976
--- Comment #6 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Tomasz Kaminski <tkami...@gcc.gnu.org>: https://gcc.gnu.org/g:2a82d4c859bd0eca4fe31fc79d234abd05e6a9d8 commit r16-2056-g2a82d4c859bd0eca4fe31fc79d234abd05e6a9d8 Author: Tomasz KamiÅski <tkami...@redhat.com> Date: Fri May 16 07:12:36 2025 +0200 libstdc++: Format __float128 as _Float128 only when long double is not 128 IEEE [PR120976] For powerpc64 and sparc architectures that both have __float128 and 128bit long double, the __float128 is same type as long double/__ieee128 and already formattable. The remaining specialization makes __float128 formattable on x86_64 via _Float128, however __float128 is now not formattable on x86_32 (-m32) with -mlong-double-128, where __float128 is distinct type from long double that is 128bit IEEE. PR libstdc++/120976 libstdc++-v3/ChangeLog: * include/std/format (formatter<__float128, _Char_T): Define if _GLIBCXX_FORMAT_F128 == 2. Reviewed-by: Jonathan Wakely <jwak...@redhat.com> Signed-off-by: Tomasz KamiÅski <tkami...@redhat.com>