diff options
| -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 */ |
