]> git.proxmox.com Git - mirror_qemu.git/blobdiff - fsdev/p9array.h
fsdev/p9array.h: check scalar type in P9ARRAY_NEW()
[mirror_qemu.git] / fsdev / p9array.h
index fff946a3d7e2544ad5a282a2f672acacdf25474a..6aa25327ca3494f8409b138c511c7d97db4d5a40 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef QEMU_P9ARRAY_H
 #define QEMU_P9ARRAY_H
 
+#include "qemu/compiler.h"
+
 /**
  * P9Array provides a mechanism to access arrays in common C-style (e.g. by
  * square bracket [] operator) in conjunction with reference variables that
  * @param len - amount of array elements to be allocated immediately
  */
 #define P9ARRAY_NEW(scalar_type, auto_var, len) \
+    QEMU_BUILD_BUG_MSG( \
+        !__builtin_types_compatible_p(scalar_type, typeof(*auto_var)), \
+        "P9Array scalar type mismatch" \
+    ); \
     p9array_new_##scalar_type((&auto_var), len)
 
 #endif /* QEMU_P9ARRAY_H */