Ok for trunk and releases/gcc-15?
--
When building GCC with host=mingw, the following warning can be seen
multiple times in the build log if the MinGW GCC version is older than
r13-4881-g9149a5b7e0a:
In file included from /build/gcc/c/c-typeck.cc:27:0:
/build/gcc/system.h:1172:0: warning: "CONST_CAST2" redefined
#define CONST_CAST2(TOTYPE,FROMTYPE,X) (const_cast<TOTYPE> (X))
In file included from
/usr/lib/gcc/x86_64-w64-mingw32/7.3-win32/include/c++/x86_64-w64-mingw32/bits/gthr.h:148:0,
from
/usr/lib/gcc/x86_64-w64-mingw32/7.3-win32/include/c++/ext/atomicity.h:35,
from
/usr/lib/gcc/x86_64-w64-mingw32/7.3-win32/include/c++/memory:73,
from /build/gcc/gcc/system.h:231,
from /build/gcc/gcc/c/c-typeck.cc:27:
/usr/lib/gcc/x86_64-w64-mingw32/7.3-win32/include/c++/x86_64-w64-mingw32/bits/gthr-default.h:33:0:
note: this is the location of the previous definition
#define CONST_CAST2(TOTYPE,FROMTYPE,X) ((__extension__(union {FROMTYPE _q;
TOTYPE _nq;})(X))._nq)
To ensure that the recent definition is used, always undefine any
potential define before defining the new macro.
gcc/ChangeLog:
* system.h: Avoid redefinition of CONST_CAST2 macro.
Signed-off-by: Torbjörn SVENSSON <[email protected]>
---
gcc/system.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/gcc/system.h b/gcc/system.h
index 588e65453f5..c6f76ae9d65 100644
--- a/gcc/system.h
+++ b/gcc/system.h
@@ -1168,6 +1168,7 @@ extern void fancy_abort (const char *, int, const char *)
change after the fact). Beyond these uses, most other cases of
using this macro should be viewed with extreme caution. */
+#undef CONST_CAST2
#ifdef __cplusplus
#define CONST_CAST2(TOTYPE,FROMTYPE,X) (const_cast<TOTYPE> (X))
#else
--
2.43.0