summaryrefslogtreecommitdiff
path: root/win32_threads.c
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2022-09-27 19:21:40 +0300
committerIvan Maidanski <ivmai@mail.ru>2022-09-27 19:21:40 +0300
commitf55f26caf1f4a5ff17364a955162db7c5bdf273f (patch)
treef1096850ee3aac4206796dc28ce158e077b1fabf /win32_threads.c
parented081c23858e03e2ad62ffe59e407fb7d43b2d3d (diff)
downloadbdwgc-f55f26caf1f4a5ff17364a955162db7c5bdf273f.tar.gz
Define internal macro NO_SEH_AVAILABLE where SEH is absent
(refactoring) * include/private/gc_priv.h [WRAP_MARK_SOME]: Replace !MSWIN32&&!MSWINCE||__GNUC__ to NO_SEH_AVAILABLE in ifdef. * mark.c [WRAP_MARK_SOME] (GC_mark_some): Likewise. * os_dep.c [WRAP_MARK_SOME] (GC_fault_handler_t, GC_jmp_buf): Likewise. * include/private/gcconfig.h [!MSWIN32 && !MSWINCE || __GNUC__ || NO_CRT] (NO_SEH_AVAILABLE): Define. * mark.c [WRAP_MARK_SOME] (GC_mark_some): Refine comments. * os_dep.c (MIN_PAGE_SIZE): Define regardless of WRAP_MARK_SOME. * win32_threads.c (GC_win32_start_inner): Replace !__GNUC__&&!NO_CRT to !NO_SEH_AVAILABLE in ifdef.
Diffstat (limited to 'win32_threads.c')
-rw-r--r--win32_threads.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/win32_threads.c b/win32_threads.c
index ba0d6ba7..31ad84f9 100644
--- a/win32_threads.c
+++ b/win32_threads.c
@@ -2529,14 +2529,14 @@ GC_INNER void GC_get_next_stack(char *start, char *limit,
/* 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. */
-# if !defined(__GNUC__) && !defined(NO_CRT)
+# ifndef NO_SEH_AVAILABLE
ret = NULL; /* to suppress "might be uninitialized" compiler warning */
__try
# endif
{
ret = (void *)(word)(*start)(param);
}
-# if !defined(__GNUC__) && !defined(NO_CRT)
+# ifndef NO_SEH_AVAILABLE
__finally
# endif
{