diff options
author | Jakub Jelinek <jakub@redhat.com> | 2024-11-16 17:04:38 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2024-11-16 17:04:38 +0100 |
commit | 09ef9756f22a8c4143c6b8d3afcddc72fb700c76 (patch) | |
tree | c29049c9e6c7cf284fa09769bbe39d5030e7e4cd /libgcc | |
parent | 27ff8049bbdb0a001ba46835cd6a334c4ac76573 (diff) | |
download | gcc-09ef9756f22a8c4143c6b8d3afcddc72fb700c76.zip gcc-09ef9756f22a8c4143c6b8d3afcddc72fb700c76.tar.gz gcc-09ef9756f22a8c4143c6b8d3afcddc72fb700c76.tar.bz2 |
libgcc: Fix a warning/error in libgcc2.c [PR117624]
Since the switch to -std=gnu23 by default, float.h (included from
tsystem.h) defines INFINITY macro (to __builtin_inff ()), which now
results in a warning when compiling libgcc2.c which defines it
to something else (and, worse aarch64 compiles it with -Werror and
build fails).
libgcc2.c asserts INFINITY has the expected type which depends on
the macros with which libgcc2.c is being compiled, so guarding
the define with #ifndef INFINITY wouldn't work.
So this patch instead #undefs the macro before defining it.
2024-11-16 Jakub Jelinek <jakub@redhat.com>
PR libgcc/117624
* libgcc2.c (INFINITY): Add #undef before #define.
Diffstat (limited to 'libgcc')
-rw-r--r-- | libgcc/libgcc2.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libgcc/libgcc2.c b/libgcc/libgcc2.c index 3fcb85c..27959a6 100644 --- a/libgcc/libgcc2.c +++ b/libgcc/libgcc2.c @@ -2673,6 +2673,7 @@ NAME (TYPE x, int m) #define isfinite(x) __builtin_isfinite (x) #define isinf(x) __builtin_isinf (x) +#undef INFINITY #define INFINITY CONCAT2(__builtin_huge_val, CEXT) () #define I 1i |