diff options
author | Richard Sandiford <richard@codesourcery.com> | 2007-03-14 13:58:21 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2007-03-14 13:58:21 +0000 |
commit | ac0d72f6f06a227707e2590d2ca40f771efc88e0 (patch) | |
tree | d5c31c7d5ee59f473a0dde8950358b7136d27a70 | |
parent | cd773ac48b456a4eb7ddfc04df747e7890e9f4a7 (diff) | |
download | gcc-ac0d72f6f06a227707e2590d2ca40f771efc88e0.zip gcc-ac0d72f6f06a227707e2590d2ca40f771efc88e0.tar.gz gcc-ac0d72f6f06a227707e2590d2ca40f771efc88e0.tar.bz2 |
200x-xx-xx Richard Sandiford <richard@codesourcery.com> Phil Edwards <phil@codesourcery.com>
gcc/
200x-xx-xx Richard Sandiford <richard@codesourcery.com>
Phil Edwards <phil@codesourcery.com>
* gthr-vxworks.h: Add an extern "C" wrapper for C++.
(__gthread_once_t): Remove busy field for RTPs.
(__GTHREAD_ONCE_INIT): Update accordingly.
Co-Authored-By: Phil Edwards <phil@codesourcery.com>
From-SVN: r122923
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/gthr-vxworks.h | 16 |
2 files changed, 22 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index dcbe122..9cb848d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,11 @@ 2007-03-14 Richard Sandiford <richard@codesourcery.com> + Phil Edwards <phil@codesourcery.com> + + * gthr-vxworks.h: Add an extern "C" wrapper for C++. + (__gthread_once_t): Remove busy field for RTPs. + (__GTHREAD_ONCE_INIT): Update accordingly. + +2007-03-14 Richard Sandiford <richard@codesourcery.com> * doc/invoke.texi: Document VxWorks options. diff --git a/gcc/gthr-vxworks.h b/gcc/gthr-vxworks.h index 5ff5234..c11d3a2 100644 --- a/gcc/gthr-vxworks.h +++ b/gcc/gthr-vxworks.h @@ -37,6 +37,10 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA #else +#ifdef __cplusplus +extern "C" { +#endif + #define __GTHREADS 1 #define __gthread_active_p() 1 @@ -103,12 +107,18 @@ __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *mutex) typedef struct { +#ifndef __RTP__ volatile unsigned char busy; +#endif volatile unsigned char done; } __gthread_once_t; -#define __GTHREAD_ONCE_INIT { 0, 0 } +#ifndef __RTP__ +# define __GTHREAD_ONCE_INIT { 0, 0 } +#else +# define __GTHREAD_ONCE_INIT { 0 } +#endif extern int __gthread_once (__gthread_once_t *once, void (*func)(void)); @@ -125,6 +135,10 @@ extern int __gthread_key_delete (__gthread_key_t key); extern void *__gthread_getspecific (__gthread_key_t key); extern int __gthread_setspecific (__gthread_key_t key, void *ptr); +#ifdef __cplusplus +} +#endif + #endif /* not _LIBOBJC */ #endif /* gthr-vxworks.h */ |