https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103487
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2023-11-19 CC|rth at gcc dot gnu.org | Ever confirmed|0 |1 Status|UNCONFIRMED |NEW --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Confirmed. Here is the begining of the fixes, there are more that needs to be done: ``` diff --git a/contrib/paranoia.cc b/contrib/paranoia.cc index a7821c42603..2955e3619dd 100644 --- a/contrib/paranoia.cc +++ b/contrib/paranoia.cc @@ -132,7 +132,6 @@ lines I'm doing this in C++ so that I can do operator overloading and not have to modify so damned much of the existing code. */ - extern "C" { #include <stdio.h> #include <stddef.h> #include <limits.h> @@ -151,6 +150,8 @@ lines #include "ansidecl.h" #include "auto-host.h" +#include "system.h" +#include "coretypes.h" #include "hwint.h" #undef EXTRA_MODES_FILE @@ -169,13 +170,8 @@ lines }; #undef DEFTREECODE -#define class klass - #include "real.h" -#undef class - } - /* We never produce signals from the library. Thus setjmp need do nothing. */ #undef setjmp #define setjmp(x) (0) ``` real_from_integer for an example now takes signop instead of an int: /home/apinski/src/upstream-gcc-match/gcc/gcc/../contrib/paranoia.cc:254:41: error: invalid conversion from ‘int’ to ‘signop’ [-fpermissive] and even the number of arguments has been changed: /home/apinski/src/upstream-gcc-match/gcc/gcc/../contrib/paranoia.cc:254:21: error: too many arguments to function ‘void real_from_integer(real_value*, format_helper, const wide_int_ref&, signop)’ machine_mode is now not just an enum. And a few others.