* misc.c (GC_call_with_gc_active): Call GC_noop1 for
GC_traced_stack_sect and GC_blocked_sp (before restoring their original
values) if CPPCHECK.
* win32_threads.c (GC_do_blocking_inner): Call GC_noop1 for
thread_blocked_sp field (before restoring its original value)
if CPPCHECK.
* win32_threads.c (GC_call_with_gc_active): Call GC_noop1 for
traced_stack_sect field (before restoring its original value)
if CPPCHECK.
GC_ASSERT(GC_blocked_sp == NULL);
GC_ASSERT(GC_traced_stack_sect == &stacksect);
+# if defined(CPPCHECK)
+ GC_noop1((word)GC_traced_stack_sect - (word)GC_blocked_sp);
+# endif
/* Restore original "stack section". */
GC_traced_stack_sect = stacksect.prev;
# ifdef IA64
GC_ASSERT(GC_blocked_sp != NULL);
# else
GC_ASSERT(GC_blocked_sp == (ptr_t) &d);
+# endif
+# if defined(CPPCHECK)
+ GC_noop1((word)GC_blocked_sp);
# endif
GC_blocked_sp = NULL;
}
UNLOCK();
d -> client_data = (d -> fn)(d -> client_data);
LOCK(); /* This will block if the world is stopped. */
+# if defined(CPPCHECK)
+ GC_noop1((word)me->thread_blocked_sp);
+# endif
me -> thread_blocked_sp = NULL;
UNLOCK();
}
/* Restore original "stack section". */
LOCK();
+# if defined(CPPCHECK)
+ GC_noop1((word)me->traced_stack_sect);
+# endif
me -> traced_stack_sect = stacksect.prev;
# ifdef IA64
me -> backing_store_ptr = stacksect.saved_backing_store_ptr;