Here, not necessarily but I don't want to move it for a bogus reason. Why would we disallow embedding structs with flexible members in the middle when it can be done and is useful? If we want to discuss whether we want to avoid such usages in the kernel (but why?), sure, let's have that discussion but we can't decide that on "clang warns on it by default".
There was a talk a few years ago by the clang folks[1] saying that while trying to build a kernel with clang, they discovered that several places in the kernel uses "VLAIS" (variable Length Arrays In Structs") and argued that this is a violation of the C specification, despite it being a GNU extension. They also submitted several patches that removed this code (even working around a user-space visible usage of VLAIS).
[1]: https://www.linuxplumbersconf.org/2013/ocw/system/presentations/1221/original/VLAIS.pdf
-- Aleksa Sarai Senior Software Engineer (Containers) SUSE Linux GmbH https://www.cyphar.com/ -- To unsubscribe from this list: send the line "unsubscribe cgroups" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html