* lisp.h (TAG_SYMPTR): Don't do arithmetic on NULL.

This is a followup to the "Port Qnil==0 XUNTAG to clang" patch.
Although clang doesn't need it, some other compiler might, and
it's easy enough to be safe.
This commit is contained in:
Paul Eggert 2015-01-07 23:39:56 -08:00
parent ce5c361c14
commit 206333ee30
2 changed files with 7 additions and 1 deletions

View file

@ -1,5 +1,10 @@
2015-01-08 Paul Eggert <eggert@cs.ucla.edu>
* lisp.h (TAG_SYMPTR): Don't do arithmetic on NULL.
This is a followup to the "Port Qnil==0 XUNTAG to clang" patch.
Although clang doesn't need it, some other compiler might, and
it's easy enough to be safe.
* conf_post.h (ATTRIBUTE_ALLOC_SIZE): Port to clang 3.5.0.
Apparently clang removed support for the alloc_size attribute.

View file

@ -729,7 +729,8 @@ struct Lisp_Symbol
/* Yield an integer that tags PTR as a symbol. */
#define TAG_SYMPTR(ptr) \
TAG_PTR (Lisp_Symbol, (char *) (ptr) - (char *) (USE_LSB_TAG ? lispsym : 0))
TAG_PTR (Lisp_Symbol, \
USE_LSB_TAG ? (char *) (ptr) - (char *) lispsym : (intptr_t) (ptr))
/* Declare extern constants for Lisp symbols. These can be helpful
when using a debugger like GDB, on older platforms where the debug