>From 3296c0b2d1a61f099aa1d662b0a36e0b8f78ed28 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Fri, 14 Aug 2020 19:29:14 -0700 Subject: [PATCH] Pacify Apple clang 11 __builtin_assume MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Problem reported by Mattias EngdegÄrd in: https://lists.gnu.org/r/emacs-devel/2020-08/msg00300.html * src/lisp.h (bool_vector_bitref, bool_vector_set): Use eassert instead of eassume for bool_vector_size checks. --- src/lisp.h | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/lisp.h b/src/lisp.h index 2962babb4f..eaf1c6ce6d 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -1809,7 +1809,8 @@ bool_vector_uchar_data (Lisp_Object a) INLINE bool bool_vector_bitref (Lisp_Object a, EMACS_INT i) { - eassume (0 <= i && i < bool_vector_size (a)); + eassume (0 <= i); + eassert (i < bool_vector_size (a)); return !! (bool_vector_uchar_data (a)[i / BOOL_VECTOR_BITS_PER_CHAR] & (1 << (i % BOOL_VECTOR_BITS_PER_CHAR))); } @@ -1825,11 +1826,11 @@ bool_vector_ref (Lisp_Object a, EMACS_INT i) INLINE void bool_vector_set (Lisp_Object a, EMACS_INT i, bool b) { - unsigned char *addr; - - eassume (0 <= i && i < bool_vector_size (a)); - addr = &bool_vector_uchar_data (a)[i / BOOL_VECTOR_BITS_PER_CHAR]; + eassume (0 <= i); + eassert (i < bool_vector_size (a)); + unsigned char *addr + = &bool_vector_uchar_data (a)[i / BOOL_VECTOR_BITS_PER_CHAR]; if (b) *addr |= 1 << (i % BOOL_VECTOR_BITS_PER_CHAR); else -- 2.17.1