summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/gthr.h
diff options
context:
space:
mode:
authorkan <kan@FreeBSD.org>2007-05-19 01:19:51 +0000
committerkan <kan@FreeBSD.org>2007-05-19 01:19:51 +0000
commit1f9ea4d0a40cca64d60cf4dab152349da7b9dddf (patch)
tree0cb530c9c38af219e6dda2994c078b6b2b9ad853 /contrib/gcc/gthr.h
parent4895159b2b4f648051c1f139faa7b6dc50c2bfcb (diff)
downloadFreeBSD-src-1f9ea4d0a40cca64d60cf4dab152349da7b9dddf.zip
FreeBSD-src-1f9ea4d0a40cca64d60cf4dab152349da7b9dddf.tar.gz
GCC 4.2.0 release.
Diffstat (limited to 'contrib/gcc/gthr.h')
-rw-r--r--contrib/gcc/gthr.h32
1 files changed, 27 insertions, 5 deletions
diff --git a/contrib/gcc/gthr.h b/contrib/gcc/gthr.h
index b051154..b9d1641 100644
--- a/contrib/gcc/gthr.h
+++ b/contrib/gcc/gthr.h
@@ -1,6 +1,6 @@
/* Threads compatibility routines for libgcc2. */
/* Compile this one with gcc. */
-/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 2004 Free Software Foundation, Inc.
This file is part of GCC.
@@ -16,8 +16,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
/* As a special exception, if you link this library with other files,
some of which are compiled with GCC, to produce an executable,
@@ -29,6 +29,10 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#ifndef GCC_GTHR_H
#define GCC_GTHR_H
+#ifndef HIDE_EXPORTS
+#pragma GCC visibility push(default)
+#endif
+
/* If this file is compiled with threads support, it must
#define __GTHREADS 1
to indicate that threads support is present. Also it has define
@@ -40,6 +44,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
__gthread_key_t
__gthread_once_t
__gthread_mutex_t
+ __gthread_recursive_mutex_t
The threads interface must define the following macros:
@@ -54,6 +59,9 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
function which looks like this:
void __GTHREAD_MUTEX_INIT_FUNCTION (__gthread_mutex_t *)
Don't define __GTHREAD_MUTEX_INIT in this case
+ __GTHREAD_RECURSIVE_MUTEX_INIT
+ __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION
+ as above, but for a recursive mutex.
The threads interface must define the following static functions:
@@ -69,18 +77,28 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
int __gthread_mutex_trylock (__gthread_mutex_t *mutex);
int __gthread_mutex_unlock (__gthread_mutex_t *mutex);
+ int __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *mutex);
+ int __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *mutex);
+ int __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *mutex);
+
All functions returning int should return zero on success or the error
number. If the operation is not supported, -1 is returned.
Currently supported threads packages are
- POSIX threads with -D_PTHREADS
+ TPF threads with -D__tpf__
+ POSIX/Unix98 threads with -D_PTHREADS
+ POSIX/Unix95 threads with -D_PTHREADS95
DCE threads with -D_DCE_THREADS
Solaris/UI threads with -D_SOLARIS_THREADS
*/
/* Check first for thread specific defines. */
-#if _PTHREADS
+#if defined (__tpf__)
+#include "gthr-tpf.h"
+#elif _PTHREADS
#include "gthr-posix.h"
+#elif _PTHREADS95
+#include "gthr-posix95.h"
#elif _DCE_THREADS
#include "gthr-dce.h"
#elif _SOLARIS_THREADS
@@ -100,4 +118,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "gthr-single.h"
#endif
+#ifndef HIDE_EXPORTS
+#pragma GCC visibility pop
+#endif
+
#endif /* ! GCC_GTHR_H */
OpenPOWER on IntegriCloud