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 >