From 07676ad23c787fc5d399830308ae2a749151c627 Mon Sep 17 00:00:00 2001 From: Ivan Maidanski Date: Mon, 15 Jul 2013 18:08:01 +0400 Subject: [PATCH] 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. --- mark.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) 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. */ -- 2.40.0