diff options
| author | Paul Eggert | 2012-02-20 15:09:58 -0800 |
|---|---|---|
| committer | Paul Eggert | 2012-02-20 15:09:58 -0800 |
| commit | 310f5bd4294ec3624b425e2c27da6fc730d0e928 (patch) | |
| tree | b1989e75f50a4c50c9b5fe34b698c93c2abec7ff /src/syntax.c | |
| parent | 132b9726f60888f990e6174ce430769eb9dda986 (diff) | |
| download | emacs-310f5bd4294ec3624b425e2c27da6fc730d0e928.tar.gz emacs-310f5bd4294ec3624b425e2c27da6fc730d0e928.zip | |
Fix crash due to non-contiguous EMACS_INT (Bug#10780).
* lisp.h (VALBITS): Move definition up, so that USE_LSB_TAG can use it.
(USE_LSB_TAG): Do not define if UINTPTR_MAX >> VALBITS == 0.
It's useless in that case, and it can cause problems on hosts
that allocate halves of EMACS_INT values separately.
Reported by Dan HorĂ¡k. Diagnosed by Andreas Schwab in
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10780#30>.
* mem-limits.h (EXCEEDS_LISP_PTR): Define to 0 on hosts where
UINTPTR_MAX >> VALBITS == 0. This is required by the above change;
it avoids undefined behavior on hosts where shifting right by more
than the word width has undefined behavior.
Diffstat (limited to 'src/syntax.c')
0 files changed, 0 insertions, 0 deletions