It's about whether you can put stack allocated VLAs into temporary structs:
keno@anubis:~$ cat test2.c
void bar(int *);
int foo(int n) {
struct {
int non_terminal_val[n];
int some_other_member;
} val;
bar(val.non_terminal_val);
return val.some_other_member;
}
keno@anubis:~$ gcc -c test2.c
keno@anubis:~$ clang test2.c
test2.c:4:13: error: fields must have a constant size:
'variable length array in
structure' extension will never be supported
int non_terminal_val[n];
^
1 error generated.