https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125887
--- Comment #1 from Drea Pinski <pinskia at gcc dot gnu.org> ---
I am not sure this is well defined.
char *a = ({
char _ret[size];
_ret;
});
Means the _ret goes out of scope at the end of the statement expression and you
are just happening to assigning it to a variable outside of the statement
expression.
This is true even with non-VLA.
