https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97330
--- Comment #1 from David Binderman <dcb314 at hotmail dot com> --- Reduced code is: typedef int a; typedef char b; int c; void d(e, f, dst, g, avail, h) int e; b *f, *dst; a g, avail; int h; { b i = *f; if (e) goto j; while (avail) { *dst = i; j: avail -= c; } }