Mercurial > hg > xemacs-beta
diff src/lisp-union.h @ 259:11cf20601dec r20-5b28
Import from CVS: tag r20-5b28
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:23:02 +0200 |
parents | 78f53ef88e17 |
children | c5d627a313b1 |
line wrap: on
line diff
--- a/src/lisp-union.h Mon Aug 13 10:22:10 2007 +0200 +++ b/src/lisp-union.h Mon Aug 13 10:23:02 2007 +0200 @@ -65,6 +65,16 @@ unsigned bit: GCTYPEBITS - 1; #endif } si; + struct + { +#if (!!defined (WORDS_BIGENDIAN) != !!defined (LOWTAGS)) + unsigned bit: GCTYPEBITS - 1; +#endif + unsigned EMACS_INT val: VALBITS + 1; +#if (!!defined (WORDS_BIGENDIAN) == !!defined (LOWTAGS)) + unsigned bit: GCTYPEBITS - 1; +#endif + } u_i; #endif /* USE_MINIMAL_TAGBITS */ EMACS_UINT ui; EMACS_INT i; @@ -122,6 +132,12 @@ #endif /* EXPLICIT_SIGN_EXTEND */ #ifdef USE_MINIMAL_TAGBITS +# define XUINT(a) ((a).u_i.val) +#else +# define XUINT(a) XPNTRVAL(a) +#endif + +#ifdef USE_MINIMAL_TAGBITS # define XPNTRVAL(a) ((a).ui) # define XCHARVAL(a) ((a).gu.val) #else