Skip to content
Snippets Groups Projects
Commit 09ef9756 authored by Jakub Jelinek's avatar Jakub Jelinek Committed by Jakub Jelinek
Browse files

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.
parent 27ff8049
No related branches found
No related tags found
No related merge requests found
...@@ -2673,6 +2673,7 @@ NAME (TYPE x, int m) ...@@ -2673,6 +2673,7 @@ NAME (TYPE x, int m)
#define isfinite(x) __builtin_isfinite (x) #define isfinite(x) __builtin_isfinite (x)
#define isinf(x) __builtin_isinf (x) #define isinf(x) __builtin_isinf (x)
#undef INFINITY
#define INFINITY CONCAT2(__builtin_huge_val, CEXT) () #define INFINITY CONCAT2(__builtin_huge_val, CEXT) ()
#define I 1i #define I 1i
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment