emacs-diffs
[Top][All Lists]
Advanced

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

master cb57db513b 2/3: Add ATTRIBUTE_DEALLOC to extern functions


From: Paul Eggert
Subject: master cb57db513b 2/3: Add ATTRIBUTE_DEALLOC to extern functions
Date: Fri, 27 May 2022 14:46:35 -0400 (EDT)

branch: master
commit cb57db513b3b5e2c5e09d197e63d6a921188d599
Author: Paul Eggert <eggert@cs.ucla.edu>
Commit: Paul Eggert <eggert@cs.ucla.edu>

    Add ATTRIBUTE_DEALLOC to extern functions
    
    This can help static checking.  It’s not as important for static
    functions, where GCC can figure this stuff out own its own.
    * src/sysstdio.h (emacs_fopen): Add ATTRIBUTE_DEALLOC (fclose, 1).
    * src/tparam.h (tparam): Add ATTRIBUTE_DEALLOC_FREE.
    Include stdlib.h so that ‘free’ is declared.
    * src/xterm.h (x_get_atom_name): Add ATTRIBUTE_DEALLOC_FREE.
---
 src/sysstdio.h | 3 ++-
 src/tparam.h   | 5 ++++-
 src/xterm.h    | 2 +-
 3 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/sysstdio.h b/src/sysstdio.h
index 727a466be5..efedc3e450 100644
--- a/src/sysstdio.h
+++ b/src/sysstdio.h
@@ -28,7 +28,8 @@ along with GNU Emacs.  If not, see 
<https://www.gnu.org/licenses/>.  */
 #include <attribute.h>
 #include <unlocked-io.h>
 
-extern FILE *emacs_fopen (char const *, char const *) ATTRIBUTE_MALLOC;
+extern FILE *emacs_fopen (char const *, char const *)
+  ATTRIBUTE_MALLOC ATTRIBUTE_DEALLOC (fclose, 1);
 extern void errputc (int);
 extern void errwrite (void const *, ptrdiff_t);
 extern void close_output_streams (void);
diff --git a/src/tparam.h b/src/tparam.h
index 653f01bdde..4f4bdc8820 100644
--- a/src/tparam.h
+++ b/src/tparam.h
@@ -20,6 +20,8 @@ along with GNU Emacs.  If not, see 
<https://www.gnu.org/licenses/>.  */
 #ifndef EMACS_TPARAM_H
 #define EMACS_TPARAM_H
 
+#include <stdlib.h>
+
 #include <attribute.h>
 
 /* Don't try to include termcap.h.  On some systems, configure finds a
@@ -32,7 +34,8 @@ int tgetnum (const char *);
 char *tgetstr (const char *, char **);
 char *tgoto (const char *, int, int);
 
-char *tparam (const char *, char *, int, int, int, int, int) ATTRIBUTE_MALLOC;
+char *tparam (const char *, char *, int, int, int, int, int)
+  ATTRIBUTE_MALLOC ATTRIBUTE_DEALLOC_FREE;
 
 extern char PC;
 extern char *BC;
diff --git a/src/xterm.h b/src/xterm.h
index 329fa4c84f..283d4fa9b1 100644
--- a/src/xterm.h
+++ b/src/xterm.h
@@ -1542,7 +1542,7 @@ extern void x_own_selection (Lisp_Object, Lisp_Object, 
Lisp_Object);
 extern Atom x_intern_cached_atom (struct x_display_info *, const char *,
                                  bool);
 extern char *x_get_atom_name (struct x_display_info *, Atom, bool *)
-  ATTRIBUTE_MALLOC;
+  ATTRIBUTE_MALLOC ATTRIBUTE_DEALLOC_FREE;
 
 #ifdef USE_GTK
 extern bool xg_set_icon (struct frame *, Lisp_Object);



reply via email to

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