Ping?

On 26 February 2013 23:26, Alexander Zinenko <[email protected]> wrote:

> Hello, John!
>
> Thanks for your comments!
> I introduced a flag that allows noreturn mismatches only if template
> deduction is called during overload resolution.  It allowed also to use
> function calls only in these cases while just comparing pointers in all the
> other cases.
>
> Just comparing types will not work unless noreturn and non-noreturn
> functions have the same type, but this is not the thing we want according
> to the recent discussion on PR15105.  While it is possible to build a
> similar function type without noreturn and compare against it, this would
> not work for implicit default calling conventions that require the same
> logic in overload as noreturn functions.
>
> Is this patch better?
>
> --
> Alex
>
>
> On 26 February 2013 02:48, John McCall <[email protected]> wrote:
>
>> On Feb 25, 2013, at 8:34 AM, Alexander Zinenko <[email protected]> wrote:
>> > This patch allows function templates with GNU noreturn attribute to
>> participate in overload resolution as non-noreturn ones.  Same behavior is
>> allowed for functions now.
>> > The patch only allows deducing such types since the necessary
>> adjustments are already performed in corresponding functions (like in
>> IsStandardConversion).
>>
>> This function does a lot of work to make sure that the final equality
>> comparison is a (fast) pointer equality test, and you're replacing it with
>> a (slow) function call.
>>
>> Also, we definitely don't want to allow noreturn mismatches in every
>> context.
>>
>> John.
>>
>>
>

Attachment: PR15291.patch
Description: Binary data

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to