Mercurial > hg > xemacs-beta
comparison 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 |
comparison
equal
deleted
inserted
replaced
258:58424f6abf56 | 259:11cf20601dec |
---|---|
63 signed EMACS_INT val: VALBITS + 1; | 63 signed EMACS_INT val: VALBITS + 1; |
64 #if (!!defined (WORDS_BIGENDIAN) == !!defined (LOWTAGS)) | 64 #if (!!defined (WORDS_BIGENDIAN) == !!defined (LOWTAGS)) |
65 unsigned bit: GCTYPEBITS - 1; | 65 unsigned bit: GCTYPEBITS - 1; |
66 #endif | 66 #endif |
67 } si; | 67 } si; |
68 struct | |
69 { | |
70 #if (!!defined (WORDS_BIGENDIAN) != !!defined (LOWTAGS)) | |
71 unsigned bit: GCTYPEBITS - 1; | |
72 #endif | |
73 unsigned EMACS_INT val: VALBITS + 1; | |
74 #if (!!defined (WORDS_BIGENDIAN) == !!defined (LOWTAGS)) | |
75 unsigned bit: GCTYPEBITS - 1; | |
76 #endif | |
77 } u_i; | |
68 #endif /* USE_MINIMAL_TAGBITS */ | 78 #endif /* USE_MINIMAL_TAGBITS */ |
69 EMACS_UINT ui; | 79 EMACS_UINT ui; |
70 EMACS_INT i; | 80 EMACS_INT i; |
71 /* GCC bites yet again. I fart in the general direction of | 81 /* GCC bites yet again. I fart in the general direction of |
72 the GCC authors. | 82 the GCC authors. |
118 # define XREALINT(a) ((a).si.val) | 128 # define XREALINT(a) ((a).si.val) |
119 #else | 129 #else |
120 # define XREALINT(a) ((a).s.val) | 130 # define XREALINT(a) ((a).s.val) |
121 #endif | 131 #endif |
122 #endif /* EXPLICIT_SIGN_EXTEND */ | 132 #endif /* EXPLICIT_SIGN_EXTEND */ |
133 | |
134 #ifdef USE_MINIMAL_TAGBITS | |
135 # define XUINT(a) ((a).u_i.val) | |
136 #else | |
137 # define XUINT(a) XPNTRVAL(a) | |
138 #endif | |
123 | 139 |
124 #ifdef USE_MINIMAL_TAGBITS | 140 #ifdef USE_MINIMAL_TAGBITS |
125 # define XPNTRVAL(a) ((a).ui) | 141 # define XPNTRVAL(a) ((a).ui) |
126 # define XCHARVAL(a) ((a).gu.val) | 142 # define XCHARVAL(a) ((a).gu.val) |
127 #else | 143 #else |