emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 206333e: * lisp.h (TAG_SYMPTR): Don't do arithmetic


From: Paul Eggert
Subject: [Emacs-diffs] master 206333e: * lisp.h (TAG_SYMPTR): Don't do arithmetic on NULL.
Date: Thu, 08 Jan 2015 07:40:25 +0000

branch: master
commit 206333ee300408e24bca860287efba11326a990d
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>

    * 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.
---
 src/ChangeLog |    5 +++++
 src/lisp.h    |    3 ++-
 2 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/src/ChangeLog b/src/ChangeLog
index 7a98555..33030cb 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,10 @@
 2015-01-08  Paul Eggert  <address@hidden>
 
+       * 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 b9263f8..97abaad 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]