This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix unsafe function attributes for special functions (PR 71876)


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.

Thanks
Bernd.

>
> Bernd
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]