https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121159
--- Comment #24 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Lukas Grätz from comment #23) > (In reply to Eric Botcazou from comment #22) > > > I must say I'm not sure how musttail calls work at all on SPARC at -O0. > > > The thing is sparc_function_ok_for_sibcall depends on flag_delayed_branch > > > and that is only enabled by default for -O1 and higher. > > > Perhaps we need to enable some subset of delayed branch processing in > > > cfun->has_musttail functions even if !flag_delayed_branch? > > > > -fno-delayed-branch should prevail though, either implicitly or explicitly, > > so the error at -O0 is OK in my opinion. > > At least from a user's perspective, that error is not Ok. It does not say > "-fdelayed-branch is needed," it says "target is not able..." The problem here is the hook (In reply to Lukas Grätz from comment #23) > (In reply to Eric Botcazou from comment #22) > > > I must say I'm not sure how musttail calls work at all on SPARC at -O0. > > > The thing is sparc_function_ok_for_sibcall depends on flag_delayed_branch > > > and that is only enabled by default for -O1 and higher. > > > Perhaps we need to enable some subset of delayed branch processing in > > > cfun->has_musttail functions even if !flag_delayed_branch? > > > > -fno-delayed-branch should prevail though, either implicitly or explicitly, > > so the error at -O0 is OK in my opinion. > > At least from a user's perspective, that error is not Ok. It does not say > "-fdelayed-branch is needed," it says "target is not able..." Filed PR 121341 for that. The current infrastructure for this error message does not support this which is why I filed a bug to add the infrastructure.