From 5563e13d2b1b5c063bdabe720303d8068a07dcae Mon Sep 17 00:00:00 2001 From: Ivan Maidanski Date: Sat, 2 Jun 2012 11:13:19 +0400 Subject: [PATCH 1/9] Fix visibility of GC_clear/set_mark_bit (unhide symbols) * include/private/gc_priv.h (GC_clear_mark_bit, GC_set_mark_bit): Declare as GC_API_PRIV (instead of GC_INNER) to make the symbol externally visible to 3rd-party software (e.g., ECL). * mark.c (GC_set_mark_bit, GC_clear_mark_bit): Remove GC_INNER (to match the declaration). --- include/private/gc_priv.h | 4 ++-- mark.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/private/gc_priv.h b/include/private/gc_priv.h index 8eefb70..5afa916 100644 --- a/include/private/gc_priv.h +++ b/include/private/gc_priv.h @@ -1905,8 +1905,8 @@ GC_EXTERN GC_bool GC_print_back_height; /* Slow/general mark bit manipulation: */ GC_API_PRIV GC_bool GC_is_marked(ptr_t p); -GC_INNER void GC_clear_mark_bit(ptr_t p); -GC_INNER void GC_set_mark_bit(ptr_t p); +GC_API_PRIV void GC_clear_mark_bit(ptr_t p); +GC_API_PRIV void GC_set_mark_bit(ptr_t p); /* Stubborn objects: */ void GC_read_changed(void); /* Analogous to GC_read_dirty */ diff --git a/mark.c b/mark.c index 41a7af5..746f1bd 100644 --- a/mark.c +++ b/mark.c @@ -187,7 +187,7 @@ static void clear_marks_for_block(struct hblk *h, word dummy) } /* Slow but general routines for setting/clearing/asking about mark bits */ -GC_INNER void GC_set_mark_bit(ptr_t p) +void GC_set_mark_bit(ptr_t p) { struct hblk *h = HBLKPTR(p); hdr * hhdr = HDR(h); @@ -199,7 +199,7 @@ GC_INNER void GC_set_mark_bit(ptr_t p) } } -GC_INNER void GC_clear_mark_bit(ptr_t p) +void GC_clear_mark_bit(ptr_t p) { struct hblk *h = HBLKPTR(p); hdr * hhdr = HDR(h); -- 1.7.10.2