Add a macro to make gcc warn if a function result is ignored. (#145466,
authorMatthias Clasen <mclasen@redhat.com>
Sun, 4 Dec 2005 06:41:58 +0000 (06:41 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Sun, 4 Dec 2005 06:41:58 +0000 (06:41 +0000)
2005-12-04  Matthias Clasen  <mclasen@redhat.com>

* glib/gmacros.h (G_GNUC_WARN_UNUSED_RESULT): Add a macro
to make gcc warn if a function result is ignored.  (#145466,
Arjan van de Ven, Alex Larsson)

* glib/gmem.h: Add the new attribute to g_realloc and
g_try_realloc.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-12
docs/reference/ChangeLog
docs/reference/glib/glib-sections.txt
docs/reference/glib/tmpl/macros_misc.sgml
glib/gmacros.h
glib/gmem.h

index ca48481..62683bc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2005-12-04  Matthias Clasen  <mclasen@redhat.com>
+
+       * glib/gmacros.h (G_GNUC_WARN_UNUSED_RESULT): Add a macro
+       to make gcc warn if a function result is ignored.  (#145466,
+       Arjan van de Ven, Alex Larsson)
+
+       * glib/gmem.h: Add the new attribute to g_realloc and 
+       g_try_realloc.
+
 2005-12-03  Matthias Clasen  <mclasen@redhat.com>
 
        * glib/glib.symbols: 
index ca48481..62683bc 100644 (file)
@@ -1,3 +1,12 @@
+2005-12-04  Matthias Clasen  <mclasen@redhat.com>
+
+       * glib/gmacros.h (G_GNUC_WARN_UNUSED_RESULT): Add a macro
+       to make gcc warn if a function result is ignored.  (#145466,
+       Arjan van de Ven, Alex Larsson)
+
+       * glib/gmem.h: Add the new attribute to g_realloc and 
+       g_try_realloc.
+
 2005-12-03  Matthias Clasen  <mclasen@redhat.com>
 
        * glib/glib.symbols: 
index ca48481..62683bc 100644 (file)
@@ -1,3 +1,12 @@
+2005-12-04  Matthias Clasen  <mclasen@redhat.com>
+
+       * glib/gmacros.h (G_GNUC_WARN_UNUSED_RESULT): Add a macro
+       to make gcc warn if a function result is ignored.  (#145466,
+       Arjan van de Ven, Alex Larsson)
+
+       * glib/gmem.h: Add the new attribute to g_realloc and 
+       g_try_realloc.
+
 2005-12-03  Matthias Clasen  <mclasen@redhat.com>
 
        * glib/glib.symbols: 
index a25b5ee..802baae 100644 (file)
@@ -1,3 +1,7 @@
+2005-12-04  Matthias Clasen  <mclasen@redhat.com>
+
+       * glib/tmpl/macros_misc.sgml: Document G_GNUC_WARN_UNUSED_RESULT.
+
 2005-12-03  Matthias Clasen  <mclasen@redhat.com>
 
        * glib/tmpl/caches.sgml: Document g_cache_value_foreach
index e48d56f..0574188 100644 (file)
@@ -323,6 +323,7 @@ G_GNUC_PRINTF
 G_GNUC_SCANF
 G_GNUC_FORMAT
 G_GNUC_NULL_TERMINATED
+G_GNUC_WARN_UNUSED_RESULT
 G_GNUC_FUNCTION
 G_GNUC_PRETTY_FUNCTION
 G_GNUC_NO_INSTRUMENT
index 82d3914..38e97c2 100644 (file)
@@ -250,6 +250,16 @@ See the GNU C documentation for details.
 Since: 2.8
 
 
+<!-- ##### MACRO G_GNUC_WARN_UNUSED_RESULT ##### -->
+<para>
+Expands to the GNU C <literal>warn_unused_ersult</literal> function attribute 
+if the compiler is <command>gcc</command>, or "" if it isn't. This function 
+attribute makes the compiler emit a warning if the result of a function call
+is ignored. See the GNU C documentation for details. 
+</para>
+
+Since: 2.10
+
 
 <!-- ##### MACRO G_GNUC_FUNCTION ##### -->
 <para>
index 21aa46d..7aba638 100644 (file)
 #define G_GNUC_DEPRECATED
 #endif /* __GNUC__ */
 
+#if    __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
+#define G_GNUC_WARN_UNUSED_RESULT              \
+  __attribute__((warn_unused_result))
+#else
+#define G_GNUC_WARN_UNUSED_RESULT
+#endif /* __GNUC__ */
+
 /* Wrap the gcc __PRETTY_FUNCTION__ and __FUNCTION__ variables with
  * macros, so we can refer to them as strings unconditionally.
  * usage not-recommended since gcc-3.0
index ae8756e..3187aaa 100644 (file)
@@ -47,12 +47,12 @@ typedef struct _GMemVTable GMemVTable;
 gpointer g_malloc         (gulong       n_bytes) G_GNUC_MALLOC;
 gpointer g_malloc0        (gulong       n_bytes) G_GNUC_MALLOC;
 gpointer g_realloc        (gpointer     mem,
-                          gulong        n_bytes);
+                          gulong        n_bytes) G_GNUC_WARN_UNUSED_RESULT;
 void    g_free           (gpointer      mem);
 gpointer g_try_malloc     (gulong       n_bytes) G_GNUC_MALLOC;
 gpointer g_try_malloc0    (gulong       n_bytes) G_GNUC_MALLOC;
 gpointer g_try_realloc    (gpointer     mem,
-                          gulong        n_bytes);
+                          gulong        n_bytes) G_GNUC_WARN_UNUSED_RESULT;
 
 
 /* Convenience memory allocators