https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61279
--- Comment #4 from Arseny Solokha <asolokha at gmx dot com> --- I even have another reproducer which is basically identical to the original one but not completely. int t; int n[1] = { 0 }; void x(void) { int v; int r; int i[4] = { 0 }; for (v = 0; v < 1; ++v) { ++i[3]; for (r = 0; r < 1; ++r) { for (t = 0; t < 1; ++t) return; for (t = 0; t < 1; ++t) /* Irregardless of i's declared size, the ICE only occurs when the array subscript on lines 18 and 11 is exactly 3 (I've checked only the nearest values, however). */ i[3] = n[t]; for (t = 0; t < 1; ++t) return; } } }