Commit e0a583f8 authored by Stefan Monnier's avatar Stefan Monnier
Browse files

(XINT) [EXPLICIT_SIGN_EXTEND && !NO_UNION_TYPE]:

Don't make assumptions about the relative place of i and val.
(EQ) [!NO_UNION_TYPE]: Don't forget to check the type match as well.
parent f71d34b0
......@@ -382,7 +382,7 @@ enum pvec_type
#ifdef EXPLICIT_SIGN_EXTEND
/* Make sure we sign-extend; compilers have been known to fail to do so. */
#define XINT(a) (((a).i << (BITS_PER_EMACS_INT - VALBITS)) \
#define XINT(a) (((a).s.val << (BITS_PER_EMACS_INT - VALBITS)) \
>> (BITS_PER_EMACS_INT - VALBITS))
#else
#define XINT(a) ((a).s.val)
......@@ -400,7 +400,7 @@ enum pvec_type
extern Lisp_Object make_number ();
#endif
#define EQ(x, y) ((x).s.val == (y).s.val)
#define EQ(x, y) ((x).s.val == (y).s.val && (x).s.type == (y).s.type)
#endif /* NO_UNION_TYPE */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment