summaryrefslogtreecommitdiff
path: root/src/basic/macro.h
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2016-03-15 19:27:28 -0400
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2016-03-15 19:40:33 -0400
commit26e9e10b39fdf343dcb7e11b6cb4eecf11a45970 (patch)
tree72edd3ec58cfbc97056125b31fc8b69c2dd80c0d /src/basic/macro.h
parent70e43ee7be6ee8d1e8aa4b2984a72baa25709c2e (diff)
basic/macros: clang 3.5 doesn't support alloc_size
The attribute was removed in commit c047507 in the clang repository as it was never properly implemented anyway. Avoid using the attribute with clang because it generates a ton of annoying warnings.
Diffstat (limited to 'src/basic/macro.h')
-rw-r--r--src/basic/macro.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/basic/macro.h b/src/basic/macro.h
index c34441d75d..279d3f3f08 100644
--- a/src/basic/macro.h
+++ b/src/basic/macro.h
@@ -26,7 +26,11 @@
#include <sys/types.h>
#define _printf_(a,b) __attribute__ ((format (printf, a, b)))
-#define _alloc_(...) __attribute__ ((alloc_size(__VA_ARGS__)))
+#ifdef __clang__
+# define _alloc_(...)
+#else
+# define _alloc_(...) __attribute__ ((alloc_size(__VA_ARGS__)))
+#endif
#define _sentinel_ __attribute__ ((sentinel))
#define _unused_ __attribute__ ((unused))
#define _destructor_ __attribute__ ((destructor))