summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2017-11-03 02:21:58 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2017-11-03 02:21:58 -0700
commit92b2cedec60f47faa896963b51bfd370eb3e71cb (patch)
tree931db081cde3f519e3bff9ecb9c0c440dd432f43 /src
parent5b4ff53ab4579532b1b9eba233c135fee274d674 (diff)
parentc911b27aff8dd15cd47a063dc958e6dae74dde06 (diff)
downloademacs-92b2cedec60f47faa896963b51bfd370eb3e71cb.tar.gz
emacs-92b2cedec60f47faa896963b51bfd370eb3e71cb.tar.bz2
emacs-92b2cedec60f47faa896963b51bfd370eb3e71cb.zip
Merge from origin/emacs-26
c911b27 Change GCALIGNMENT back to an integer literal
Diffstat (limited to 'src')
-rw-r--r--src/lisp.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/lisp.h b/src/lisp.h
index 1a8c3a0fe49..78843483edc 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -233,7 +233,9 @@ extern bool suppress_checking EXTERNALLY_VISIBLE;
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,
@@ -245,6 +247,10 @@ enum Lisp_Bits
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