diff options
Diffstat (limited to 'shared')
-rw-r--r-- | shared/external.h | 6 | ||||
-rw-r--r-- | shared/utils.h | 7 |
2 files changed, 7 insertions, 6 deletions
diff --git a/shared/external.h b/shared/external.h index 1d7f3b7..beba93a 100644 --- a/shared/external.h +++ b/shared/external.h @@ -3,13 +3,13 @@ /* These need to be defined in the linking binary */ #define zmalloc(s) __zmalloc(__func__, __LINE__, s) -void *__zmalloc(const char *fn, int line, size_t s); +void *__zmalloc(const char *fn, int line, size_t s) _malloc_ _alloc_(3); #define xstrdup(s) __xstrdup(__func__, __LINE__, s) -char *__xstrdup(const char *fn, int line, const char *s); +char *__xstrdup(const char *fn, int line, const char *s) _malloc_; #define xstrndup(s, n) __xstrndup(__func__, __LINE__, s, n) -char *__xstrndup(const char *fn, int line, const char *s, size_t n); +char *__xstrndup(const char *fn, int line, const char *s, size_t n) _malloc_ _alloc_(4); #define xfree(s) __xfree(__func__, __LINE__, s) void __xfree(const char *fn, int line, void *ptr); diff --git a/shared/utils.h b/shared/utils.h index d0142b1..769d3e3 100644 --- a/shared/utils.h +++ b/shared/utils.h @@ -13,11 +13,12 @@ extern unsigned debug_mask; #define _unused_ __attribute__((__unused__)) - +#define _pure_ __attribute__((__pure__)) +#define _const_ __attribute__((__const__)) +#define _alloc_(...) __attribute__((__alloc_size__(__VA_ARGS__))) +#define _malloc_ __attribute__((__malloc__)) #define _printf_(a, b) __attribute__((__format__(printf, a, b))) - #define _alignas_(x) __attribute__((__aligned__(__alignof(x)))) - #define _big_endian_ __attribute__((packed, scalar_storage_order("big-endian"))) #if __GNUC__ >= 7 |