aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Sandiford <richard@codesourcery.com>2007-03-14 13:58:21 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2007-03-14 13:58:21 +0000
commitac0d72f6f06a227707e2590d2ca40f771efc88e0 (patch)
treed5c31c7d5ee59f473a0dde8950358b7136d27a70
parentcd773ac48b456a4eb7ddfc04df747e7890e9f4a7 (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/gthr-vxworks.h16
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 */