diff --git a/src/lisp.h b/src/lisp.h index 8a1b1acf5f0..d4331b3a4ff 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -45,7 +45,7 @@ #define EMACS_LISP_H INLINE_HEADER_BEGIN #ifdef HAVE_MPS -union gc_header { uint64_t v; }; +union gc_header; extern void gc_maybe_quit (void); extern bool gc_signal_handler_can_run (int); #else @@ -335,6 +335,7 @@ #define GCALIGNED_UNION_MEMBER char alignas (GCALIGNMENT) gcaligned; #endif #define GCALIGNED(type) (alignof (type) % GCALIGNMENT == 0) +union gc_header { uint64_t v; GCALIGNED_UNION_MEMBER }; /* Lisp_Word is a scalar word suitable for holding a tagged pointer or integer. Usually it is a pointer to a deliberately-incomplete type 'struct Lisp_X'. However, it is EMACS_INT when Lisp_Objects and @@ -6335,3 +6336,4 @@ define_error (Lisp_Object name, const char *message, Lisp_Object parent); INLINE_HEADER_END #endif /* EMACS_LISP_H */ +