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>
This commit is contained in:
Torbjörn SVENSSON
2026-01-29 09:26:26 +01:00
parent 458c7926d4
commit bcb3b1eef1
2 changed files with 14 additions and 21 deletions

View File

@@ -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 ();

View File

@@ -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