Bernd Schmidt <bschm...@redhat.com> writes:
> On 10/05/2015 04:47 PM, Richard Sandiford wrote:
>> @@ -9536,7 +9520,7 @@ fold_builtin_classify (location_t loc, tree fndecl, 
>> tree arg, int builtin_index)
>>      {
>>        r = TREE_REAL_CST (arg);
>>        if (real_isinf (&r))
>> -        return real_compare (GT_EXPR, &r, &dconst0)
>> +        return real_compare (GT_EXPR, &r, &dconst<0> ())
>>                 ? integer_one_node : integer_minus_one_node;
>>        else
>>          return integer_zero_node;
>
> So... are the templates magic enough not to make us create a new 
> temporary every time this is used?

Yeah, the static variables become comdat objects keyed off the full name
(dconst<...>::value).  They're shared between calls and between TUs.

Thanks,
Richard

Reply via email to