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. >> >> >
PR15291.patch
Description: Binary data
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
