aboutsummaryrefslogtreecommitdiffstats
path: root/src/alloc.c
diff options
context:
space:
mode:
authorPhilipp Stephani2020-08-01 21:34:46 +0200
committerPhilipp Stephani2020-08-01 21:34:46 +0200
commit6ec71e829a272e562c541ef5c93213d2fac3d3d7 (patch)
tree4a0ffc31e40e5c222b566c84955fca5cda14da51 /src/alloc.c
parentfce47c93252fe0be14e8c169f6bab8b0fd512cab (diff)
downloademacs-6ec71e829a272e562c541ef5c93213d2fac3d3d7.tar.gz
emacs-6ec71e829a272e562c541ef5c93213d2fac3d3d7.zip
* src/alloc.c (mark_maybe_object): Make overflow check conditional.
Diffstat (limited to 'src/alloc.c')
-rw-r--r--src/alloc.c6
1 files changed, 6 insertions, 0 deletions
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)
4643 4643
4644 bool overflow 4644 bool overflow
4645 = INT_SUBTRACT_WRAPV (offset, LISP_WORD_TAG (type_tag), &offset); 4645 = INT_SUBTRACT_WRAPV (offset, LISP_WORD_TAG (type_tag), &offset);
4646#if !defined WIDE_EMACS_INT || USE_LSB_TAG
4647 /* If we don't use wide integers, then `intptr_t' should always be
4648 large enough to not overflow. Furthermore, when using the least
4649 significant bits as tag bits, the tag is small enough to not
4650 overflow either. */
4646 eassert (!overflow); 4651 eassert (!overflow);
4652#endif
4647 void *po = (char *) ((intptr_t) (char *) XLP (obj) + offset); 4653 void *po = (char *) ((intptr_t) (char *) XLP (obj) + offset);
4648 4654
4649 /* If the pointer is in the dump image and the dump has a record 4655 /* If the pointer is in the dump image and the dump has a record