gthr-win32.h: Protect against conflicting typedef for BOOL in windows headers and libobjc headers.

* gthr-win32.h: Protect against conflicting typedef for BOOL in windows headers
and libobjc headers.
* gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
(_mingw.h): Remove duplicate include.

From-SVN: r49465
This commit is contained in:
Christopher Faylor 2002-02-03 20:58:51 +00:00
parent 2fd95d71b4
commit 3b56934fb9
2 changed files with 28 additions and 5 deletions

View File

@ -1,3 +1,13 @@
2001-02-03 Danny Smith <dannysmith@users.sourceforge.net>
* gthr-win32.h: Protect against conflicting typedef for BOOL in windows
headers and libobjc headers.
2002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
* gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
(_mingw.h): Remove duplicate include.
2002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
* config.gcc: Set cpu_type to m68k for 68010, as well.

View File

@ -64,7 +64,6 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#define __GTHREADS 1
#include <windows.h>
#include <errno.h>
#ifdef __MINGW32__
#include <_mingw.h>
@ -72,6 +71,15 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#ifdef _LIBOBJC
/* This is necessary to prevent windef.h (included from windows.h) from
defining it's own BOOL as a typedef. */
#ifndef __OBJC__
#define __OBJC__
#endif
#include <windows.h>
/* Now undef the windows BOOL. */
#undef BOOL
/* Key structure for maintaining thread specific storage */
static DWORD __gthread_objc_data_tls = (DWORD)-1;
@ -320,9 +328,7 @@ __gthread_objc_condition_signal(objc_condition_t condition)
#else /* _LIBOBJC */
#ifdef __MINGW32__
#include <_mingw.h>
#endif
#include <windows.h>
typedef DWORD __gthread_key_t;
@ -339,7 +345,14 @@ typedef HANDLE __gthread_mutex_t;
#if __MINGW32_MAJOR_VERSION >= 1 || \
(__MINGW32_MAJOR_VERSION == 0 && __MINGW32_MINOR_VERSION > 2)
#define MINGW32_SUPPORTS_MT_EH 1
extern int __mingwthr_key_dtor PARAMS ((DWORD, void (*) (void *)));
#ifdef __cplusplus
extern "C" {
#endif
extern int __mingwthr_key_dtor (DWORD, void (*) (void *));
#ifdef __cplusplus
}
#endif
/* Mingw runtime >= v0.3 provides a magic variable that is set to non-zero
if -mthreads option was specified, or 0 otherwise. This is to get around
the lack of weak symbols in PE-COFF. */