From: Philipp Stephani Date: Sat, 1 Aug 2020 19:34:46 +0000 (+0200) Subject: * src/alloc.c (mark_maybe_object): Make overflow check conditional. X-Git-Tag: emacs-28.0.90~6872 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=6ec71e829a272e562c541ef5c93213d2fac3d3d7;p=emacs.git * src/alloc.c (mark_maybe_object): Make overflow check conditional. --- diff --git a/src/alloc.c b/src/alloc.c index e556fc86a3b..e139d8cf262 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -4643,7 +4643,13 @@ mark_maybe_object (Lisp_Object obj) bool overflow = INT_SUBTRACT_WRAPV (offset, LISP_WORD_TAG (type_tag), &offset); +#if !defined WIDE_EMACS_INT || USE_LSB_TAG + /* If we don't use wide integers, then `intptr_t' should always be + large enough to not overflow. Furthermore, when using the least + significant bits as tag bits, the tag is small enough to not + overflow either. */ eassert (!overflow); +#endif void *po = (char *) ((intptr_t) (char *) XLP (obj) + offset); /* If the pointer is in the dump image and the dump has a record