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 <rguent...@suse.de> SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg)