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 '.'.

Reply via email to