+2013-08-21 Dmitry Antipov <dmantipov@yandex.ru>
+
+ 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 <eggert@cs.ucla.edu>
* process.c (allocate_pty) [PTY_OPEN]: Set fd's FD_CLOEXEC flag.
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 *);
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 */
#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 . */
#elif GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES
-static void
+void
dump_zombies (void)
{
int i;
#endif
}
+#else /* GC_MARK_STACK == 0 */
+
+#define mark_maybe_object(obj) emacs_abort ()
+
#endif /* GC_MARK_STACK != 0 */