From: Pip Cet Date: Thu, 22 Aug 2024 05:49:33 +0000 (+0000) Subject: Avoid compiler warning in process_mark_stack X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=dabdca7a0d30b07d00a9d265da1a44cec09a0adc;p=emacs.git Avoid compiler warning in process_mark_stack * src/alloc.c (process_mark_stack): Only declare and assign to 'po' if it's needed. Problem reported by: Stefan Kangas . (cherry picked from commit c951fd415cd243eeda3caf2e536967a762bd0ffe) --- diff --git a/src/alloc.c b/src/alloc.c index c39a0b9ff10..17970803b83 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -6632,8 +6632,6 @@ process_mark_stack (ptrdiff_t base_sp) { Lisp_Object obj = mark_stack_pop (); mark_obj: ; - void *po = XPNTR (obj); - #if GC_REMEMBER_LAST_MARKED last_marked[last_marked_index++] = obj; last_marked_index &= LAST_MARKED_SIZE - 1; @@ -6643,6 +6641,7 @@ process_mark_stack (ptrdiff_t base_sp) we encounter an object we know is bogus. This increases GC time by ~80%. */ #if GC_CHECK_MARKED_OBJECTS + void *po = XPNTR (obj); /* Check that the object pointed to by PO is known to be a Lisp structure allocated from the heap. */ @@ -6879,7 +6878,10 @@ process_mark_stack (ptrdiff_t base_sp) set_string_marked (XSTRING (ptr->u.s.name)); mark_interval_tree (string_intervals (ptr->u.s.name)); /* Inner loop to mark next symbol in this bucket, if any. */ - po = ptr = ptr->u.s.next; + ptr = ptr->u.s.next; +#if GC_CHECK_MARKED_OBJECTS + po = ptr; +#endif if (ptr) goto nextsym; }