From c4cd433db3195dd509ea8231f0231f9ffcaf81e4 Mon Sep 17 00:00:00 2001 From: danglin Date: Sun, 2 Aug 2009 01:38:27 +0000 Subject: * gthr-dce.h (CONST_CAST2): Define if not defined. (__gthread_setspecific): Use CONST_CAST2 to fix warning. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150342 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/gthr-dce.h | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'gcc/gthr-dce.h') diff --git a/gcc/gthr-dce.h b/gcc/gthr-dce.h index be92813dc23..4226359f0a0 100644 --- a/gcc/gthr-dce.h +++ b/gcc/gthr-dce.h @@ -37,6 +37,15 @@ 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 (X)) +#else +#define CONST_CAST2(TOTYPE,FROMTYPE,X) ((__extension__(union {FROMTYPE _q; TOTYPE _nq;})(X))._nq) +#endif +#endif + #define __GTHREADS 1 #include @@ -462,7 +471,8 @@ __gthread_getspecific (__gthread_key_t __key) static inline int __gthread_setspecific (__gthread_key_t __key, const void *__ptr) { - return __gthrw_(pthread_setspecific) (__key, (void *) __ptr); + return __gthrw_(pthread_setspecific) + (__key, CONST_CAST2(void *, const void *, __ptr)); } static inline void -- cgit v1.2.1