Yep its primarily the use of “gccisms” like variable length arrays not at the end of a struct. (well not VLA’s exactly but whatever, its odd to me). Which I consider a misfeature in gcc, and bad to use in the kernel anyway. Why would you write c like this anyway?
int fn(int len) {
struct {
int evilincarnate[len];
int value;
} thing;
return thing.value;
}
Looks like it’s more useful as a test bed for helping Clang/LLVM catch up with GCC.
It depends on what you mean by “catch up”, my understanding is that many of the issues are nonstandard extensions, not compliance.
Yep its primarily the use of “gccisms” like variable length arrays not at the end of a struct. (well not VLA’s exactly but whatever, its odd to me). Which I consider a misfeature in gcc, and bad to use in the kernel anyway. Why would you write c like this anyway?