From: Paul Eggert Date: Thu, 8 Jan 2015 07:39:56 +0000 (-0800) Subject: * lisp.h (TAG_SYMPTR): Don't do arithmetic on NULL. X-Git-Tag: emacs-25.0.90~2605^2~23 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=206333ee300408e24bca860287efba11326a990d;p=emacs.git * 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. --- diff --git a/src/ChangeLog b/src/ChangeLog index 7a98555cc9c..33030cb8660 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,10 @@ 2015-01-08 Paul Eggert + * 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. diff --git a/src/lisp.h b/src/lisp.h index b9263f88c11..97abaade1e1 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -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