[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master f712cdb: Pacify Apple clang 11 __builtin_assume
From: |
Paul Eggert |
Subject: |
master f712cdb: Pacify Apple clang 11 __builtin_assume |
Date: |
Fri, 14 Aug 2020 22:29:51 -0400 (EDT) |
branch: master
commit f712cdbe9e9bdca3d4c7c27e9ac59686ab4c7620
Author: Paul Eggert <eggert@cs.ucla.edu>
Commit: Paul Eggert <eggert@cs.ucla.edu>
Pacify Apple clang 11 __builtin_assume
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 2962bab..eaf1c6c 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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master f712cdb: Pacify Apple clang 11 __builtin_assume,
Paul Eggert <=