[PATCH] Fix unsafe function attributes for special functions (PR 71876)
Bernd Schmidt
bschmidt@redhat.com
Thu Jul 21 11:25:00 GMT 2016
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.
Bernd
More information about the Gcc-patches
mailing list