The bkey struct defined by bcache is embedded in the jset struct. However, this is illegal in C++ as there's a "flexible array" at the end of the struct. Change this to be a 0-length struct instead. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> cc: Coly Li <colyli@xxxxxxx> cc: Kent Overstreet <kent.overstreet@xxxxxxxxx> cc: linux-bcache@xxxxxxxxxxxxxxx --- include/uapi/linux/bcache.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/uapi/linux/bcache.h b/include/uapi/linux/bcache.h index 5d4f58e059fd..11863e903bff 100644 --- a/include/uapi/linux/bcache.h +++ b/include/uapi/linux/bcache.h @@ -23,7 +23,7 @@ static inline void SET_##name(type *k, __u64 v) \ struct bkey { __u64 high; __u64 low; - __u64 ptr[]; + __u64 ptr[0]; }; #define KEY_FIELD(name, field, offset, size) \