On Thu, 21 Jul 2016, Bernd Edlinger wrote:
> On 07/21/16 13:25, Bernd Schmidt wrote:
> >
> >
> > On 07/21/2016 01:16 PM, Jakub Jelinek wrote:
> >> On Thu, Jul 21, 2016 at 11:04:48AM +0000, Bernd Edlinger wrote:
> >>> bool
> >>> +gimple_alloca_call_p (const gimple *stmt)
> >>> +{
> >>> + tree fndecl;
> >>> +
> >>> + if (!is_gimple_call (stmt))
> >>> + return false;
> >>> +
> >>> + fndecl = gimple_call_fndecl (stmt);
> >>> + if (fndecl && DECL_BUILT_IN_CLASS (fndecl) == BUILT_IN_NORMAL)
> >>> + switch (DECL_FUNCTION_CODE (fndecl))
> >>> + {
> >>> + case BUILT_IN_ALLOCA:
> >>> + case BUILT_IN_ALLOCA_WITH_ALIGN:
> >>> + return true;
> >>> + }
> >>
> >> This should have failed bootstrap because of -Wswitch-enum.
> >> You need
> >> default:
> >> break;
> >> in.
> >>
> >>> + switch (DECL_FUNCTION_CODE (fndecl))
> >>> + {
> >>> + case BUILT_IN_ALLOCA:
> >>> + case BUILT_IN_ALLOCA_WITH_ALIGN:
> >>> + return true;
> >>
> >> Likewise here.
> >>
> > Or write it in the more natural way as an if.
> >
>
> I'm open for that suggestion.
>
> Then I should probably also rewrite the switch statement
> in special_function_p as an if.
I think a switch is a good fit though I don't mind an if as we probably
know we'll never get more than two alloca builtins (heh, you never know).
Richard.
> Thanks
> Bernd.
>
> >
> > Bernd
> >
>
>
--
Richard Biener <[email protected]>
SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB
21284 (AG Nuernberg)