[Spice-devel] [spice-protocol PATCH v2 01/10] macros: verify if __alloc_size__ works with clang
Victor Toso
victortoso at redhat.com
Fri Aug 14 09:24:22 PDT 2015
So we can avoid using using an attribute not supported for the compiler.
warning:
../spice-common/common/mem.h:91:80: warning: unknown attribute
'__alloc_size__' ignored [-Wunknown-attributes]
void *spice_malloc0_n(size_t n_blocks, size_t n_block_bytes)
SPICE_GNUC_MALLOC SPICE_GNUC_ALLOC_SIZE2(1,2);
../spice-common/spice-protocol/spice/macros.h:52:52: note: expanded
from macro 'SPICE_GNUC_ALLOC_SIZE2'
#define SPICE_GNUC_ALLOC_SIZE2(x,y) __attribute__((__alloc_size__(x,y)))
^
---
spice/macros.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/spice/macros.h b/spice/macros.h
index 716f6e0..c4f2625 100644
--- a/spice/macros.h
+++ b/spice/macros.h
@@ -47,7 +47,8 @@
#define SPICE_GNUC_NULL_TERMINATED
#endif
-#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#if (!defined(__clang__) && ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))) || \
+ (defined(__clang__) && __has_feature(__alloc_size__))
#define SPICE_GNUC_ALLOC_SIZE(x) __attribute__((__alloc_size__(x)))
#define SPICE_GNUC_ALLOC_SIZE2(x,y) __attribute__((__alloc_size__(x,y)))
#else
--
2.4.3
More information about the Spice-devel
mailing list