https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92039
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords|needs-reduction | CC| |marxin at gcc dot gnu.org --- Comment #4 from Martin Liška <marxin at gcc dot gnu.org> --- Just for the record a reduced test-case: int a[3]; void fn1(long b) { int i; for (i = 3; i >= b; --i) a[i] = a[i - b]; } where does not need -m32: $ gcc -Werror=array-bounds -O2 -c ice.i ice.i: In function ‘fn1’: ice.i:6:6: error: array subscript 3 is above array bounds of ‘int[3]’ [-Werror=array-bounds] 6 | a[i] = a[i - b]; | ~^~~ ice.i:1:5: note: while referencing ‘a’ 1 | int a[3]; | ^ cc1: some warnings being treated as errors $ gcc-9 -Werror=array-bounds -O2 -c ice.i