https://gcc.gnu.org/bugzilla/show_bug.cgi?id=29970
--- Comment #7 from Tuna Gül <tunagul29 at icloud dot com> --- I guess i can post a workaround here This code doesnt compile: """ int main() { ({ unsigned int len = 10; struct { int array[len]; } new_object; new_object; }); } """ But this does: """ unsigned int foo(unsigned int rv) { return rv; } int main() { ({ unsigned int len = 10; struct { int array[foo(len)]; } new_object; new_object; }); } """