https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63233
Manuel López-Ibáñez <manu at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |diagnostic Status|RESOLVED |NEW Last reconfirmed| |2014-09-11 CC| |manu at gcc dot gnu.org Resolution|INVALID |--- Summary|Valid out of bounds access |Missing Warray-bounds |leads to undefined behavior |warning for array within | |struct Ever confirmed|0 |1 --- Comment #2 from Manuel López-Ibáñez <manu at gcc dot gnu.org> --- This should be warned by Warray-bounds. Clang warns even at -O0, so this case can even be warned in the FE: test.c:10:3: warning: array index 1 is past the end of the array (which contains 1 element) [-Warray-bounds] foo.a[1] = 99; ^ ~ test.c:2:3: note: array 'a' declared here int a[1]; ^ test.c:12:10: warning: array index 1 is past the end of the array (which contains 1 element) [-Warray-bounds] return foo.a[1]; ^ ~ test.c:2:3: note: array 'a' declared here int a[1]; ^