https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95211
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Adjusted testcase, so that there is no UB. void bar (void); void foo (long int *x, int y, int *z, int v) { int a[y]; int b; for (b = 0; b < 3; ++b) z[b] = x[b] + 1.0f; if (v) return; bar (); }