diff options
author | Tobias Klauser <tklauser@distanz.ch> | 2015-04-07 14:36:16 +0200 |
---|---|---|
committer | Tobias Klauser <tklauser@distanz.ch> | 2015-04-07 14:41:45 +0200 |
commit | bb77b49265877b68fc316d11a719527ecf91d594 (patch) | |
tree | f76e62ea1cf39b54d9f0b486745f97648b3f8f6a | |
parent | 87103d95678b0e6c784909e0bc610ed7ae02d2c9 (diff) |
xmalloc: Add attribute warn_unused_result to allocation functions
Add the warn_unused_result GCC function attribute to all allocation
functions in xmalloc.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
-rw-r--r-- | built_in.h | 6 | ||||
-rw-r--r-- | xmalloc.h | 20 |
2 files changed, 15 insertions, 11 deletions
@@ -73,7 +73,11 @@ typedef uint8_t u8; #endif #ifndef __maybe_unused -# define __maybe_unused __attribute__ ((__unused__)) +# define __maybe_unused __attribute__((__unused__)) +#endif + +#ifndef __warn_unused_result +# define __warn_unused_result __attribute__((warn_unused_result)) #endif #ifndef noinline @@ -6,17 +6,17 @@ #include "built_in.h" #include "die.h" -extern void *xmalloc(size_t size) __hidden; -extern void *xcalloc(size_t nmemb, size_t size) __hidden; -extern void *xzmalloc(size_t size) __hidden; -extern void *xmallocz(size_t size) __hidden; -extern void *xmalloc_aligned(size_t size, size_t alignment) __hidden; -extern void *xzmalloc_aligned(size_t size, size_t alignment) __hidden; -extern void *xmemdupz(const void *data, size_t len) __hidden; -extern void *xrealloc(void *ptr, size_t size) __hidden; +extern void *xmalloc(size_t size) __hidden __warn_unused_result; +extern void *xcalloc(size_t nmemb, size_t size) __hidden __warn_unused_result; +extern void *xzmalloc(size_t size) __hidden __warn_unused_result; +extern void *xmallocz(size_t size) __hidden __warn_unused_result; +extern void *xmalloc_aligned(size_t size, size_t alignment) __hidden __warn_unused_result; +extern void *xzmalloc_aligned(size_t size, size_t alignment) __hidden __warn_unused_result; +extern void *xmemdupz(const void *data, size_t len) __hidden __warn_unused_result; +extern void *xrealloc(void *ptr, size_t size) __hidden __warn_unused_result; extern void xfree_func(void *ptr) __hidden; -extern char *xstrdup(const char *str) __hidden; -extern char *xstrndup(const char *str, size_t size) __hidden; +extern char *xstrdup(const char *str) __hidden __warn_unused_result; +extern char *xstrndup(const char *str, size_t size) __hidden __warn_unused_result; static inline void __xfree(void *ptr) { |