]> git.eshelyaron.com Git - emacs.git/commitdiff
(XPNTR) [USE_LSB_TAG && USE_LISP_UNION_TYPE]: silence compiler.
authorStefan Monnier <monnier@iro.umontreal.ca>
Tue, 3 Nov 2009 21:12:15 +0000 (21:12 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Tue, 3 Nov 2009 21:12:15 +0000 (21:12 +0000)
src/lisp.h

index 4bf3d392811927678e39ef12032f2f24bac74704..19950f790557a34b78c4863c142f65aadaab55d2 100644 (file)
@@ -427,7 +427,10 @@ enum pvec_type
    (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 */