https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116780
--- Comment #11 from denisc at gcc dot gnu.org ---
(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)
Segher, can you suggest how to obtain information (from internal GCC
structures) about such cases ?
ie rewrite TARGET_FRAME_POINTER_REQUIRED hook so that it takes into account
that we have an access to frame but frame-size is zero ?
The current hook:
static bool
avr_frame_pointer_required_p (void)
{
return (cfun->calls_alloca
|| cfun->calls_setjmp
|| cfun->has_nonlocal_label
|| crtl->args.info.has_stack_args
|| get_frame_size () > 0);
}