https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108896
--- Comment #30 from qinzhao at gcc dot gnu.org ---
(In reply to Martin Uecker from comment #28)
> The problems with VLA are in my opinion caused by poor
> implementation (e.g. no stack probing etc) and bad
> code generation (Linus was not happy about this) and
> not because anything is fundamentally bad about them
> from the point of language semantics.
you mean gcc's implementation? how about other compilers?
> VM = variably modified. In C it is a type which is derived from
> a VLA which is not necessarily itself a VLA, e.g. a pointer to
> a VLA. But a VLA is also a VM type.
Okay.
>
> > struct foo {
> > int len;
> > char (*buf)[.len];
> > };
> >
> >
> > This has less issues because the size of the struct then does not depend
> > on the length.
but I am still not clear on why "the size of the above struct 'foo' does not
depend on the .len?" in my opinion, it should depend on .len. do I miss
anything here?