diff options
author | Jakub Jelinek <jakub@redhat.com> | 2024-09-26 23:45:22 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2024-09-26 23:45:22 +0200 |
commit | e23e5370d5855fc18b9f6f3fb680fcd2971e7a79 (patch) | |
tree | bda4f70a7815b3f075f3096b2dff2c3def7d7bc3 | |
parent | ee9f00606f184be37d6f9df74cc7e222157c7fee (diff) | |
download | gcc-e23e5370d5855fc18b9f6f3fb680fcd2971e7a79.zip gcc-e23e5370d5855fc18b9f6f3fb680fcd2971e7a79.tar.gz gcc-e23e5370d5855fc18b9f6f3fb680fcd2971e7a79.tar.bz2 |
libstdc++: Fix freebsd/dragonfly build [PR116859]
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.
2024-09-26 Jakub Jelinek <jakub@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.
-rw-r--r-- | libstdc++-v3/config/os/bsd/dragonfly/os_defines.h | 6 | ||||
-rw-r--r-- | libstdc++-v3/config/os/bsd/freebsd/os_defines.h | 12 |
2 files changed, 15 insertions, 3 deletions
diff --git a/libstdc++-v3/config/os/bsd/dragonfly/os_defines.h b/libstdc++-v3/config/os/bsd/dragonfly/os_defines.h index 5c48ca9..e030fa3 100644 --- a/libstdc++-v3/config/os/bsd/dragonfly/os_defines.h +++ b/libstdc++-v3/config/os/bsd/dragonfly/os_defines.h @@ -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 diff --git a/libstdc++-v3/config/os/bsd/freebsd/os_defines.h b/libstdc++-v3/config/os/bsd/freebsd/os_defines.h index 6c93182..0d63ae6 100644 --- a/libstdc++-v3/config/os/bsd/freebsd/os_defines.h +++ b/libstdc++-v3/config/os/bsd/freebsd/os_defines.h @@ -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 |