aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>2009-08-02 01:38:27 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2009-08-02 01:38:27 +0000
commit1f7ec57e692835962f980e68e78f87bd3e10bec2 (patch)
treea6be5f3cc40559a9fb27163230b0c81cdd8ca1ff
parentbe3e4ef63306c4b0c51d5cbbec6162a97188435d (diff)
downloadgcc-1f7ec57e692835962f980e68e78f87bd3e10bec2.zip
gcc-1f7ec57e692835962f980e68e78f87bd3e10bec2.tar.gz
gcc-1f7ec57e692835962f980e68e78f87bd3e10bec2.tar.bz2
gthr-dce.h (CONST_CAST2): Define if not defined.
* gthr-dce.h (CONST_CAST2): Define if not defined. (__gthread_setspecific): Use CONST_CAST2 to fix warning. From-SVN: r150342
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/gthr-dce.h12
2 files changed, 14 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3dabbd8..f42623d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,8 @@
2009-08-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+ * gthr-dce.h (CONST_CAST2): Define if not defined.
+ (__gthread_setspecific): Use CONST_CAST2 to fix warning.
+
* config.gcc (hppa[12]*-*-hpux10*): Add stdint support.
2009-04-17 Paolo Bonzini <bonzini@gnu.org>
diff --git a/gcc/gthr-dce.h b/gcc/gthr-dce.h
index be92813..4226359 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<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>
@@ -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