Mercurial > emacs
changeset 105840:0d3a156a5458
(XPNTR) [USE_LSB_TAG && USE_LISP_UNION_TYPE]: silence compiler.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Tue, 03 Nov 2009 21:12:15 +0000 |
parents | e0a471c09d45 |
children | 8f7be56920c0 |
files | src/lisp.h |
diffstat | 1 files changed, 4 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lisp.h Tue Nov 03 15:30:39 2009 +0000 +++ b/src/lisp.h Tue Nov 03 21:12:15 2009 +0000 @@ -427,7 +427,10 @@ (var).u.val = ((EMACS_UINT) (ptr)) >> GCTYPEBITS, \ (var).u.type = ((char) (vartype))) -# define XPNTR(v) (((v).s.val) << GCTYPEBITS) +/* Some versions of gcc seem to consider the bitfield width when issuing + the "cast to pointer from integer of different size" warning, so the + cast is here to widen the value back to its natural size. */ +# define XPNTR(v) ((EMACS_INT)((v).s.val) << GCTYPEBITS) #else /* !USE_LSB_TAG */