diff options
author | megacz <megacz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-03-12 19:06:36 +0000 |
---|---|---|
committer | megacz <megacz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-03-12 19:06:36 +0000 |
commit | 2da4cb5f26a0b54af5f0d6eb4b33e2e91ad5f4aa (patch) | |
tree | ba69ee2014e9ab9f0759258ec9d82f1ac809d901 /boehm-gc/win32_threads.c | |
parent | 9f58be3ba2024b27d4658930792b224406fb59f2 (diff) | |
download | gcc-2da4cb5f26a0b54af5f0d6eb4b33e2e91ad5f4aa.tar.gz |
2002-03-12 Adam Megacz <adam@xwt.org>
* dyn_load.c: Renamed GC_win32s to GC_no_win32_dlls.
* misc.c: Renamed GC_is_win32s() to GC_no_win32_dlls
* os_dep.c: Renamed GC_win32s to GC_no_win32_dlls and
statically initialized it to TRUE if compiling with GCC.
* win32_threads.c (thread_start): We no longer use SEH if
compiling with GCC.
* mark.c (GC_mark_some): We no longer use SEH if
compiling with GCC.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50671 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'boehm-gc/win32_threads.c')
-rw-r--r-- | boehm-gc/win32_threads.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/boehm-gc/win32_threads.c b/boehm-gc/win32_threads.c index 980faf34d94..38de099fa87 100644 --- a/boehm-gc/win32_threads.c +++ b/boehm-gc/win32_threads.c @@ -447,16 +447,22 @@ static DWORD WINAPI thread_start(LPVOID arg) /* Clear the thread entry even if we exit with an exception. */ /* This is probably pointless, since an uncaught exception is */ /* supposed to result in the process being killed. */ +#ifndef __GNUC__ __try { +#endif /* __GNUC__ */ ret = args.start (args.param); +#ifndef __GNUC__ } __finally { +#endif /* __GNUC__ */ LOCK(); args.entry->stack = 0; args.entry->in_use = FALSE; /* cast away volatile qualifier */ BZERO((void *) &args.entry->context, sizeof(CONTEXT)); UNLOCK(); +#ifndef __GNUC__ } +#endif /* __GNUC__ */ return ret; } |