https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116780
--- Comment #12 from Segher Boessenkool <segher at gcc dot gnu.org> --- (In reply to denisc from comment #11) > (In reply to Segher Boessenkool from comment #8) > > (In reply to denisc from comment #2) > > > Comment on attachment 59393 [details] > > > Simplified testcase > > > > > > void > > > f () > > > { > > > volatile char c[0]; > > > c[0] = 0; > > > } > > > > That is invalid C code, of course (an out of bounds access). > > I don't think that it's invalid.(maybe I'm wrong) You access elt 0 of the array, but the array has *no* elements.