#define NO_UNION_TYPE
/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
- the 24-bit bit field into an int. In other words, if bit fields
+ the bit field into an int. In other words, if bit fields
are always unsigned.
If you use NO_UNION_TYPE, this flag does not matter. */
#if u3b2 || u3b5 || u3b15
/* On 3b2/5/15, data space has high order bit on. */
+#define VALBITS 27
#define VALMASK (((1<<VALBITS) - 1) | (1 << 31))
-#define XTYPE(a) ((enum Lisp_Type) (((a) >> VALBITS) & 0x7F))
-#define GCTYPEBITS 5
-#define XADDRFIX(a) ((a) |= 0X80000000) /* Because of high order */
+#define XTYPE(a) ((enum Lisp_Type) (((a) >> VALBITS) & GCTYPEMASK))
#endif /* 3b2, 3b5 or 3b15 */
#define START_FILES crt0.o
-/* Define LD_SWITCH_MACHINE if your linker need it.
+/* Define LD_SWITCH_MACHINE if your linker needs it.
*/
#define LD_SWITCH_MACHINE -e __start
#if pfa50 || pfa70
/* On A-50/60/70/80, data space has high order byte use. */
+#define VALBITS 26
#define VALMASK (((1<<VALBITS) - 1) | 0x60000000)
-#define XTYPE(a) ((enum Lisp_Type) (((a) >> VALBITS) & 0x1f))
-#define XGCTYPE(a) ((enum Lisp_Type) (((a) >> VALBITS) & 0x1f))
+#define XTYPE(a) ((enum Lisp_Type) (((a) >> VALBITS) & GCTYPEMASK))
#endif /* pfa50, pfa70 */