enum Lisp_Bits
{
- GCALIGNMENT = 1 << GCTYPEBITS,
+ /* 2**GCTYPEBITS. This must be a macro that expands to a literal
+ integer constant, for older versions of GCC (through at least 4.9). */
+#define GCALIGNMENT 8
/* Number of bits in a Lisp_Object value, not counting the tag. */
VALBITS = EMACS_INT_WIDTH - GCTYPEBITS,
FIXNUM_BITS = VALBITS + 1
};
+#if GCALIGNMENT != 1 << GCTYPEBITS
+# error "GCALIGNMENT and GCTYPEBITS are inconsistent"
+#endif
+
/* The maximum value that can be stored in a EMACS_INT, assuming all
bits other than the type bits contribute to a nonnegative signed value.
This can be used in #if, e.g., '#if USE_LSB_TAG' below expands to an