From: Ivan Maidanski Date: Mon, 15 Jul 2013 14:08:01 +0000 (+0400) Subject: Test NO_WRAP_MARK_SOME macro to suppress WRAP_MARK_SOME-specific code X-Git-Tag: gc7_4_0~44 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=07676ad23c787fc5d399830308ae2a749151c627;p=gc Test NO_WRAP_MARK_SOME macro to suppress WRAP_MARK_SOME-specific code * mark.c (WRAP_MARK_SOME): Do not define if NO_WRAP_MARK_SOME defined. --- diff --git a/mark.c b/mark.c index 41de14cc..9aa13ec1 100644 --- a/mark.c +++ b/mark.c @@ -288,9 +288,10 @@ STATIC struct hblk * GC_push_next_marked_uncollectable(struct hblk *h); static void alloc_mark_stack(size_t); -# if (defined(MSWIN32) || defined(MSWINCE)) && !defined(__GNUC__) \ - || defined(MSWIN32) && defined(I386) /* for Win98 */ \ - || defined(USE_PROC_FOR_LIBRARIES) && defined(THREADS) +# if (((defined(MSWIN32) || defined(MSWINCE)) && !defined(__GNUC__)) \ + || (defined(MSWIN32) && defined(I386)) /* for Win98 */ \ + || (defined(USE_PROC_FOR_LIBRARIES) && defined(THREADS))) \ + && !defined(NO_WRAP_MARK_SOME) /* Under rare conditions, we may end up marking from nonexistent memory. */ /* Hence we need to be prepared to recover by running GC_mark_some */ /* with a suitable handler in place. */