https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98374
--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Patrick Palka <ppa...@gcc.gnu.org>: https://gcc.gnu.org/g:d7bab388b818fc21dbb9111311e114ae33e11fff commit r11-6259-gd7bab388b818fc21dbb9111311e114ae33e11fff Author: Patrick Palka <ppa...@redhat.com> Date: Fri Dec 18 11:52:17 2020 -0500 libstdc++: Fix build failure due to missing <langinfo.h> [PR98374] This should fix a build failure on Windows which lacks <langinfo.h>, from which we use nl_langinfo() to obtain the radix character of the current locale. (We can't use the more portable localeconv() from <clocale> to obtain the radix character of the current locale here because it's not thread-safe, unfortunately.) This change means that on Windows and other such platforms, we'll just always assume the radix character used by printf is '.' when formatting a long double through it. libstdc++-v3/ChangeLog: PR libstdc++/98374 * src/c++17/floating_to_chars.cc: Guard include of <langinfo.h> with __has_include. (__floating_to_chars_precision) [!defined(RADIXCHAR)]: Don't attempt to obtain the radix character of the current locale, just assume it's '.'.