aboutsummaryrefslogtreecommitdiffstats
path: root/src/alloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/alloc.c')
-rw-r--r--src/alloc.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/alloc.c b/src/alloc.c
index d9c56b5c7c8..ac6cb861c4d 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -6875,3 +6875,29 @@ The time is in seconds as a floating point value. */);
6875 defsubr (&Sgc_status); 6875 defsubr (&Sgc_status);
6876#endif 6876#endif
6877} 6877}
6878
6879/* Make some symbols visible to GDB. These cannot be done as enums, like
6880 GCTYPEBITS or USE_LSB_TAG, since values might not be in 'int' range.
6881 Each symbol X has a corresponding X_VAL symbol, verified to have
6882 the correct value.
6883
6884 This is last, so that the #undef lines don't mess up later code. */
6885
6886#define ARRAY_MARK_FLAG_VAL PTRDIFF_MIN
6887#define PSEUDOVECTOR_FLAG_VAL (PTRDIFF_MAX - PTRDIFF_MAX / 2)
6888#define VALMASK_VAL (USE_LSB_TAG ? -1 << GCTYPEBITS : VAL_MAX)
6889
6890verify (ARRAY_MARK_FLAG_VAL == ARRAY_MARK_FLAG);
6891verify (PSEUDOVECTOR_FLAG_VAL == PSEUDOVECTOR_FLAG);
6892verify (VALMASK_VAL == VALMASK);
6893
6894#undef ARRAY_MARK_FLAG
6895#undef PSEUDOVECTOR_FLAG
6896#undef VALMASK
6897
6898ptrdiff_t const EXTERNALLY_VISIBLE
6899 ARRAY_MARK_FLAG = ARRAY_MARK_FLAG_VAL,
6900 PSEUDOVECTOR_FLAG = PSEUDOVECTOR_FLAG_VAL;
6901
6902EMACS_INT const EXTERNALLY_VISIBLE
6903 VALMASK = VALMASK_VAL;