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.