-/* Threads compatibily routines for libgcc2. */
+/* Threads compatibility routines for libgcc2. */
/* Compile this one with gcc. */
-/* Copyright (C) 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
This file is part of GNU CC.
This exception does not however invalidate any other reasons why
the executable file might be covered by the GNU General Public License. */
-#ifndef __gthr_h
-#define __gthr_h
+#ifndef GCC_GTHR_H
+#define GCC_GTHR_H
/* If this file is compiled with threads support, it must
#define __GTHREADS 1
__GTHREAD_MUTEX_INIT
to initialize __gthread_mutex_t to get a fast
non-recursive mutex.
+ __GTHREAD_MUTEX_INIT_FUNCTION
+ some systems can't initalize a mutex without a
+ function call. On such systems, define this to a
+ function which looks like this:
+ void __GTHREAD_MUTEX_INIT_FUNCTION (__gthread_mutex_t *)
+ Don't define __GTHREAD_MUTEX_INIT in this case
The threads interface must define the following static functions:
#include "gthr-solaris.h"
/* Include GTHREAD_FILE if one is defined. */
-#elif SUPPORTS_WEAK && HAVE_GTHR_DEFAULT
+#elif defined(HAVE_GTHR_DEFAULT)
+#if SUPPORTS_WEAK
#ifndef GTHREAD_USE_WEAK
#define GTHREAD_USE_WEAK 1
#endif
+#endif
#include "gthr-default.h"
/* Fallback to single thread definitions. */
#include "gthr-single.h"
#endif
-#endif /* not __gthr_h */
+#endif /* ! GCC_GTHR_H */