CC gcc-patches as well

On Thu, 26 Sept 2024 at 21:04, Jakub Jelinek <ja...@redhat.com> wrote:
>
> Hi!
>
> As reported in the PR, the system headers libstdc++ changes result in
> -Werror=expansion-to-defined errors on FreeBSD and supposedly on DragonFly
> too.
>
> The following patch fixes those by performing the preprocessor test right
> away, rather than using defined in the macro definitions.
>
> I think neither __ISO_C_VISIBLE nor __LONG_LONG_SUPPORTED should normally
> change during compilation.
>
> Steven has bootstrapped this on FreeBSD, ok for trunk?
OK thanks.

>
> 2024-09-26  Jakub Jelinek  <ja...@redhat.com>
>
>         PR libstdc++/116859
>         * config/os/bsd/freebsd/os_defines.h
>         (_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC,
>         _GLIBCXX_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): Avoid
>         -Wexpansion-to-defined warnings.
>         * config/os/bsd/dragonfly/os_defines.h
>         (_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC): Likewise.
>
> --- libstdc++-v3/config/os/bsd/freebsd/os_defines.h.jj  2024-01-03 
> 12:07:50.791052995 +0100
> +++ libstdc++-v3/config/os/bsd/freebsd/os_defines.h     2024-09-26 
> 19:20:07.371787809 +0200
> @@ -36,8 +36,16 @@
>  #define _GLIBCXX_USE_C99_CHECK 1
>  #define _GLIBCXX_USE_C99_DYNAMIC (!(__ISO_C_VISIBLE >= 1999))
>  #define _GLIBCXX_USE_C99_LONG_LONG_CHECK 1
> -#define _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC (_GLIBCXX_USE_C99_DYNAMIC || 
> !defined __LONG_LONG_SUPPORTED)
> +#if _GLIBCXX_USE_C99_DYNAMIC || !defined __LONG_LONG_SUPPORTED
> +#define _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC 1
> +#else
> +#define _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC 0
> +#endif
>  #define _GLIBCXX_USE_C99_FLOAT_TRANSCENDENTALS_CHECK 1
> -#define _GLIBCXX_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC defined _XOPEN_SOURCE
> +#ifdef _XOPEN_SOURCE
> +#define _GLIBCXX_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC 1
> +#else
> +#define _GLIBCXX_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC 0
> +#endif
>
>  #endif
> --- libstdc++-v3/config/os/bsd/dragonfly/os_defines.h.jj        2024-01-03 
> 12:07:50.793052967 +0100
> +++ libstdc++-v3/config/os/bsd/dragonfly/os_defines.h   2024-09-26 
> 19:20:40.310341765 +0200
> @@ -36,6 +36,10 @@
>  #define _GLIBCXX_USE_C99_CHECK 1
>  #define _GLIBCXX_USE_C99_DYNAMIC (!(__ISO_C_VISIBLE >= 1999))
>  #define _GLIBCXX_USE_C99_LONG_LONG_CHECK 1
> -#define _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC (_GLIBCXX_USE_C99_DYNAMIC || 
> !defined __LONG_LONG_SUPPORTED)
> +#if _GLIBCXX_USE_C99_DYNAMIC || !defined __LONG_LONG_SUPPORTED
> +#define _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC 1
> +#else
> +#define _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC 0
> +#endif
>
>  #endif
>
>         Jakub
>

Reply via email to