[gcc r16-7352] libgcc: replace CONST_CAST2 macro
Torbjorn Svensson
azoff@gcc.gnu.org
Fri Feb 6 08:04:43 GMT 2026
https://gcc.gnu.org/g:bcb3b1eef1eca3ea62391fb3c0e6af549b4d9d02
commit r16-7352-gbcb3b1eef1eca3ea62391fb3c0e6af549b4d9d02
Author: Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
Date: Thu Jan 29 09:26:26 2026 +0100
libgcc: replace CONST_CAST2 macro
libgcc/ChangeLog:
* config/i386/gthr-win32.h: Replace CONST_CAST2 with expanded
expression where used.
* config/pa/gthr-dce.h: Likewise.
Signed-off-by: Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
Diff:
---
libgcc/config/i386/gthr-win32.h | 17 +++++++----------
libgcc/config/pa/gthr-dce.h | 18 +++++++-----------
2 files changed, 14 insertions(+), 21 deletions(-)
diff --git a/libgcc/config/i386/gthr-win32.h b/libgcc/config/i386/gthr-win32.h
index 633dff7ed734..2c7504ef2653 100644
--- a/libgcc/config/i386/gthr-win32.h
+++ b/libgcc/config/i386/gthr-win32.h
@@ -86,15 +86,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
# define __GTHREAD_INLINE static inline
#endif
-/* Make sure CONST_CAST2 (origin in system.h) is declared. */
-#ifndef CONST_CAST2
-#ifdef __cplusplus
-#define CONST_CAST2(TOTYPE,FROMTYPE,X) (const_cast<TOTYPE> (X))
-#else
-#define CONST_CAST2(TOTYPE,FROMTYPE,X) ((__extension__(union {FROMTYPE _q; TOTYPE _nq;})(X))._nq)
-#endif
-#endif
-
#ifndef ATTRIBUTE_UNUSED
#define ATTRIBUTE_UNUSED __attribute__ ((__unused__))
#endif
@@ -720,7 +711,13 @@ __gthread_getspecific (__gthread_key_t __key)
__GTHREAD_WIN32_INLINE int
__gthread_setspecific (__gthread_key_t __key, const void *__ptr)
{
- if (TlsSetValue (__key, CONST_CAST2(void *, const void *, __ptr)))
+ if (TlsSetValue (__key,
+#ifdef __cplusplus
+ const_cast<void *> (__ptr)
+#else
+ (__extension__ (union {const void *_q; void *_nq;})(__ptr))._nq
+#endif
+ ))
return 0;
else
return (int) GetLastError ();
diff --git a/libgcc/config/pa/gthr-dce.h b/libgcc/config/pa/gthr-dce.h
index b21ea8336c76..ea40492e1f2b 100644
--- a/libgcc/config/pa/gthr-dce.h
+++ b/libgcc/config/pa/gthr-dce.h
@@ -36,15 +36,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
DCE threads are based on POSIX threads draft 4, and many things
have changed since then. */
-/* Make sure CONST_CAST2 (original in system.h) is defined. */
-#ifndef CONST_CAST2
-#ifdef __cplusplus
-#define CONST_CAST2(TOTYPE,FROMTYPE,X) (const_cast<TOTYPE> (X))
-#else
-#define CONST_CAST2(TOTYPE,FROMTYPE,X) ((__extension__(union {FROMTYPE _q; TOTYPE _nq;})(X))._nq)
-#endif
-#endif
-
#define __GTHREADS 1
#include <pthread.h>
@@ -470,8 +461,13 @@ __gthread_getspecific (__gthread_key_t __key)
static inline int
__gthread_setspecific (__gthread_key_t __key, const void *__ptr)
{
- return __gthrw_(pthread_setspecific)
- (__key, CONST_CAST2(void *, const void *, __ptr));
+ return __gthrw_(pthread_setspecific) (__key,
+#ifdef __cplusplus
+ const_cast<void *> (__ptr)
+#else
+ (__extension__ (union {const void *_q; void *_nq;})(__ptr))._nq
+#endif
+ );
}
static inline void
More information about the Gcc-cvs
mailing list