On Tue, Jan 18, 2022 at 5:12 AM Jonathan Wakely <jwak...@redhat.com> wrote:
>
> Tested x86_64-linux, pushed to trunk.
>
>
> Instead of hardcoded preprocessor conditionals with explicit target
> checks, just rely on the fact that __BYTE_ORDER__ is always defined by
> GCC.

Thanks a lot for fixing these!  I apparently missed removing this
batch of #includes from the amalgamation in r12-6647.  For
completeness I suppose we should remove these #includes too.   I
wonder if we can rely on __BYTE_ORDER__ being defined by other
compilers?

>
> libstdc++-v3/ChangeLog:
>
>         PR libstdc++/104080
>         * src/c++17/fast_float/LOCAL_PATCHES: Update.
>         * src/c++17/fast_float/fast_float.h (FASTFLOAT_IS_BIG_ENDIAN):
>         Define in terms of __BYTE_ORDER__.
> ---
>  libstdc++-v3/src/c++17/fast_float/LOCAL_PATCHES | 1 +
>  libstdc++-v3/src/c++17/fast_float/fast_float.h  | 4 +++-
>  2 files changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/libstdc++-v3/src/c++17/fast_float/LOCAL_PATCHES 
> b/libstdc++-v3/src/c++17/fast_float/LOCAL_PATCHES
> index 447c7ed2cdb..5bb42933398 100644
> --- a/libstdc++-v3/src/c++17/fast_float/LOCAL_PATCHES
> +++ b/libstdc++-v3/src/c++17/fast_float/LOCAL_PATCHES
> @@ -1,3 +1,4 @@
>  r12-6647
>  r12-6648
>  r12-6664
> +r12-6665
> diff --git a/libstdc++-v3/src/c++17/fast_float/fast_float.h 
> b/libstdc++-v3/src/c++17/fast_float/fast_float.h
> index ee129309ba3..31fb88b8aba 100644
> --- a/libstdc++-v3/src/c++17/fast_float/fast_float.h
> +++ b/libstdc++-v3/src/c++17/fast_float/fast_float.h
> @@ -128,7 +128,9 @@ from_chars_result from_chars_advanced(const char *first, 
> const char *last,
>  #define FASTFLOAT_VISUAL_STUDIO 1
>  #endif
>
> -#ifdef _WIN32
> +#ifdef __BYTE_ORDER__
> +#define FASTFLOAT_IS_BIG_ENDIAN (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
> +#elif defined _WIN32
>  #define FASTFLOAT_IS_BIG_ENDIAN 0
>  #else
>  #if defined(__APPLE__) || defined(__FreeBSD__)
> --
> 2.31.1
>

Reply via email to