From 7c22aa36cd622ba2a9176e319ce5fb2b06f87801 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mattias=20Engdeg=C3=A5rd?= Date: Wed, 16 Jun 2021 18:05:41 +0200 Subject: [PATCH] Eliminate some GCC warnings * src/doprnt.c (exprintf, evxprintf): * src/lisp.h (exprintf, evxprintf): Don't use a pointer-to-const type for the `nonheapbuf` argument: although it is never dereferenced, GCC will warn when passing a pointer to uninitialised memory otherwise. * src/fns.c (sort_vector_copy, realize_face, realize_gui_face) (realize_tty_face): Use the same signatures in the prototypes as in the actual function definitions. --- src/doprnt.c | 4 ++-- src/fns.c | 5 +++-- src/lisp.h | 4 ++-- src/xfaces.c | 9 ++++++--- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/doprnt.c b/src/doprnt.c index b6b5978c891..fe484b8e766 100644 --- a/src/doprnt.c +++ b/src/doprnt.c @@ -563,7 +563,7 @@ esprintf (char *buf, char const *format, ...) BUFSIZE_MAX. */ ptrdiff_t exprintf (char **buf, ptrdiff_t *bufsize, - char const *nonheapbuf, ptrdiff_t bufsize_max, + char *nonheapbuf, ptrdiff_t bufsize_max, char const *format, ...) { ptrdiff_t nbytes; @@ -579,7 +579,7 @@ exprintf (char **buf, ptrdiff_t *bufsize, /* Act like exprintf, except take a va_list. */ ptrdiff_t evxprintf (char **buf, ptrdiff_t *bufsize, - char const *nonheapbuf, ptrdiff_t bufsize_max, + char *nonheapbuf, ptrdiff_t bufsize_max, char const *format, va_list ap) { for (;;) diff --git a/src/fns.c b/src/fns.c index 40ade578008..a1782166228 100644 --- a/src/fns.c +++ b/src/fns.c @@ -39,8 +39,9 @@ along with GNU Emacs. If not, see . */ #include "puresize.h" #include "gnutls.h" -static void sort_vector_copy (Lisp_Object, ptrdiff_t, - Lisp_Object *restrict, Lisp_Object *restrict); +static void sort_vector_copy (Lisp_Object pred, ptrdiff_t len, + Lisp_Object src[restrict VLA_ELEMS (len)], + Lisp_Object dest[restrict VLA_ELEMS (len)]); enum equal_kind { EQUAL_NO_QUIT, EQUAL_PLAIN, EQUAL_INCLUDING_PROPERTIES }; static bool internal_equal (Lisp_Object, Lisp_Object, enum equal_kind, int, Lisp_Object); diff --git a/src/lisp.h b/src/lisp.h index 91b7a89d0f5..4fb89236788 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -4064,10 +4064,10 @@ extern ptrdiff_t doprnt (char *, ptrdiff_t, const char *, const char *, va_list); extern ptrdiff_t esprintf (char *, char const *, ...) ATTRIBUTE_FORMAT_PRINTF (2, 3); -extern ptrdiff_t exprintf (char **, ptrdiff_t *, char const *, ptrdiff_t, +extern ptrdiff_t exprintf (char **, ptrdiff_t *, char *, ptrdiff_t, char const *, ...) ATTRIBUTE_FORMAT_PRINTF (5, 6); -extern ptrdiff_t evxprintf (char **, ptrdiff_t *, char const *, ptrdiff_t, +extern ptrdiff_t evxprintf (char **, ptrdiff_t *, char *, ptrdiff_t, char const *, va_list) ATTRIBUTE_FORMAT_PRINTF (5, 0); diff --git a/src/xfaces.c b/src/xfaces.c index ab4440f46ad..fed7b3336a2 100644 --- a/src/xfaces.c +++ b/src/xfaces.c @@ -353,10 +353,13 @@ static bool menu_face_changed_default; struct named_merge_point; -static struct face *realize_face (struct face_cache *, Lisp_Object *, +static struct face *realize_face (struct face_cache *, + Lisp_Object [LFACE_VECTOR_SIZE], int); -static struct face *realize_gui_face (struct face_cache *, Lisp_Object *); -static struct face *realize_tty_face (struct face_cache *, Lisp_Object *); +static struct face *realize_gui_face (struct face_cache *, + Lisp_Object [LFACE_VECTOR_SIZE]); +static struct face *realize_tty_face (struct face_cache *, + Lisp_Object [LFACE_VECTOR_SIZE]); static bool realize_basic_faces (struct frame *); static bool realize_default_face (struct frame *); static void realize_named_face (struct frame *, Lisp_Object, int); -- 2.39.5