From 0c5307b05f8a31204b409756248f30add802377c Mon Sep 17 00:00:00 2001 From: Dmitry Antipov Date: Wed, 21 Aug 2013 11:02:45 +0400 Subject: [PATCH] Fix compilation with GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE and GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES. * alloc.c (toplevel): Remove unnecessary nested #if...#endif. (mark_maybe_object) [!GC_MARK_STACK]: Define to emacs_abort to shut up compiler in mark_object. (dump_zombies): Convert to global and add EXTERNALLY_VISIBLE. --- src/ChangeLog | 9 +++++++++ src/alloc.c | 12 +++++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index c7cceb27a4f..cb552c9d9d5 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,12 @@ +2013-08-21 Dmitry Antipov + + Fix compilation with GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE + and GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES. + * alloc.c (toplevel): Remove unnecessary nested #if...#endif. + (mark_maybe_object) [!GC_MARK_STACK]: Define to emacs_abort + to shut up compiler in mark_object. + (dump_zombies): Convert to global and add EXTERNALLY_VISIBLE. + 2013-08-21 Paul Eggert * process.c (allocate_pty) [PTY_OPEN]: Set fd's FD_CLOEXEC flag. diff --git a/src/alloc.c b/src/alloc.c index c0d8c32b440..81742e1ffc1 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -318,7 +318,6 @@ static void *min_heap_address, *max_heap_address; static struct mem_node mem_z; #define MEM_NIL &mem_z -#if GC_MARK_STACK || defined GC_MALLOC_CHECK static struct mem_node *mem_insert (void *, void *, enum mem_type); static void mem_insert_fixup (struct mem_node *); static void mem_rotate_left (struct mem_node *); @@ -326,7 +325,6 @@ static void mem_rotate_right (struct mem_node *); static void mem_delete (struct mem_node *); static void mem_delete_fixup (struct mem_node *); static struct mem_node *mem_find (void *); -#endif #endif /* GC_MARK_STACK || GC_MALLOC_CHECK */ @@ -4238,6 +4236,10 @@ live_buffer_p (struct mem_node *m, void *p) #if GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES +/* Currently not used, but may be called from gdb. */ + +void dump_zombies (void) EXTERNALLY_VISIBLE; + /* Array of objects that are kept alive because the C stack contains a pattern that looks like a reference to them . */ @@ -4620,7 +4622,7 @@ check_gcpros (void) #elif GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES -static void +void dump_zombies (void) { int i; @@ -4757,6 +4759,10 @@ mark_stack (void) #endif } +#else /* GC_MARK_STACK == 0 */ + +#define mark_maybe_object(obj) emacs_abort () + #endif /* GC_MARK_STACK != 0 */ -- 2.39.2