emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master c9705037e98: Fix build when CHECK_LISP_OBJECT_TYPE is set


From: Stefan Monnier
Subject: master c9705037e98: Fix build when CHECK_LISP_OBJECT_TYPE is set
Date: Wed, 24 Jan 2024 10:23:02 -0500 (EST)

branch: master
commit c9705037e98a398d0e6e145f16e0ce8cdd4a8973
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>

    Fix build  when CHECK_LISP_OBJECT_TYPE is set
    
    * src/lisp.h (make_lisp_symbol_internal): Fix last commit.
---
 src/lisp.h | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/lisp.h b/src/lisp.h
index eb0ee51d9f9..f822417ffb1 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -1173,7 +1173,12 @@ make_lisp_symbol_internal (struct Lisp_Symbol *sym)
      Do not use eassert here, so that builtin symbols like Qnil compile to
      constants; this is needed for some circa-2024 GCCs even with -O2.  */
   char *symoffset = (char *) ((char *) sym - (char *) lispsym);
-  return TAG_PTR (Lisp_Symbol, symoffset);
+  /* FIXME: We need this silly `a = ... return` η-redex because otherwise GCC
+     complains about:
+     lisp.h:615:28: error: expected expression before ‘{’ token
+       615 | # define LISP_INITIALLY(w) {w}   */
+  Lisp_Object a = TAG_PTR (Lisp_Symbol, symoffset);
+  return a;
 }
 
 INLINE Lisp_Object



reply via email to

[Prev in Thread] Current Thread [Next in Thread]