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.