emacs-diffs
[Top][All Lists]
Advanced

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

master 71005decb4: Fix GCC warnings when CHECK_LISP_OBJECT_TYPE


From: Stefan Monnier
Subject: master 71005decb4: Fix GCC warnings when CHECK_LISP_OBJECT_TYPE
Date: Tue, 19 Apr 2022 08:25:28 -0400 (EDT)

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

    Fix GCC warnings when CHECK_LISP_OBJECT_TYPE
    
    * src/lisp.h (lisp_h_Qni): New macro.
    (DEFUN): Use it.
    * src/alloc.c (syms_of_alloc): Use it.
    
    * src/bytecode.c (Fbyte_code): Fix Lisp_Object/int mixup.
---
 src/alloc.c    |  4 ++--
 src/bytecode.c |  2 +-
 src/lisp.h     | 14 ++++++++------
 3 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/src/alloc.c b/src/alloc.c
index 4fc4044587..b9712859c3 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -7837,14 +7837,14 @@ N should be nonnegative.  */);
   static union Aligned_Lisp_Subr Swatch_gc_cons_threshold =
      {{{ PSEUDOVECTOR_FLAG | (PVEC_SUBR << PSEUDOVECTOR_AREA_BITS) },
        { .a4 = watch_gc_cons_threshold },
-       4, 4, "watch_gc_cons_threshold", {0}, 0}};
+       4, 4, "watch_gc_cons_threshold", {0}, lisp_h_Qnil}};
   XSETSUBR (watcher, &Swatch_gc_cons_threshold.s);
   Fadd_variable_watcher (Qgc_cons_threshold, watcher);
 
   static union Aligned_Lisp_Subr Swatch_gc_cons_percentage =
      {{{ PSEUDOVECTOR_FLAG | (PVEC_SUBR << PSEUDOVECTOR_AREA_BITS) },
        { .a4 = watch_gc_cons_percentage },
-       4, 4, "watch_gc_cons_percentage", {0}, 0}};
+       4, 4, "watch_gc_cons_percentage", {0}, lisp_h_Qnil}};
   XSETSUBR (watcher, &Swatch_gc_cons_percentage.s);
   Fadd_variable_watcher (Qgc_cons_percentage, watcher);
 }
diff --git a/src/bytecode.c b/src/bytecode.c
index 6246498616..74b7d16aff 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -325,7 +325,7 @@ If the third argument is incorrect, Emacs may crash.  */)
         the original unibyte form.  */
       bytestr = Fstring_as_unibyte (bytestr);
     }
-  Lisp_Object fun = CALLN (Fmake_byte_code, 0, bytestr, vector, maxdepth);
+  Lisp_Object fun = CALLN (Fmake_byte_code, Qnil, bytestr, vector, maxdepth);
   return exec_byte_code (fun, 0, 0, NULL);
 }
 
diff --git a/src/lisp.h b/src/lisp.h
index fb43bfa791..75f369f524 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -342,6 +342,7 @@ typedef EMACS_INT Lisp_Word;
 #  define lisp_h_XIL(i) (i)
 #  define lisp_h_XLP(o) ((void *) (uintptr_t) (o))
 # endif
+# define lisp_h_Qnil 0
 #else
 # if LISP_WORDS_ARE_POINTERS
 #  define lisp_h_XLI(o) ((EMACS_INT) (o).i)
@@ -352,6 +353,7 @@ typedef EMACS_INT Lisp_Word;
 #  define lisp_h_XIL(i) ((Lisp_Object) {i})
 #  define lisp_h_XLP(o) ((void *) (uintptr_t) (o).i)
 # endif
+# define lisp_h_Qnil {0}
 #endif
 
 #define lisp_h_PSEUDOVECTORP(a,code)                            \
@@ -3173,12 +3175,12 @@ CHECK_SUBR (Lisp_Object x)
 
 /* This version of DEFUN declares a function prototype with the right
    arguments, so we can catch errors with maxargs at compile-time.  */
-#define DEFUN(lname, fnname, sname, minargs, maxargs, intspec, doc)    \
-  SUBR_SECTION_ATTRIBUTE                                                \
-  static union Aligned_Lisp_Subr sname =                                \
-     {{{ PVEC_SUBR << PSEUDOVECTOR_AREA_BITS },                                
\
-       { .a ## maxargs = fnname },                                     \
-       minargs, maxargs, lname, {intspec}, 0}};                                
\
+#define DEFUN(lname, fnname, sname, minargs, maxargs, intspec, doc) \
+  SUBR_SECTION_ATTRIBUTE                                            \
+  static union Aligned_Lisp_Subr sname =                            \
+     {{{ PVEC_SUBR << PSEUDOVECTOR_AREA_BITS },                            \
+       { .a ## maxargs = fnname },                                 \
+       minargs, maxargs, lname, {intspec}, lisp_h_Qnil}};          \
    Lisp_Object fnname
 
 /* defsubr (Sname);



reply via email to

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