On Jun 17, 2011, at 6:19 PM, Chandler Carruth wrote:
> Author: chandlerc
> Date: Fri Jun 17 20:19:03 2011
> New Revision: 133327
>
> URL: http://llvm.org/viewvc/llvm-project?rev=133327&view=rev
> Log:
> Accept no-return stripping conversions for pointer type arguments after
> deducing template parameter types. Recently Clang began enforcing the
> more strict checking that the argument type and the deduced function
> parameter type (after substitution) match, but that only consideres
> qualification conversions.
>
> One problem with this patch is that we check noreturn conversions and
> qualification conversions independently. If a valid conversion would
> require *both*, perhaps interleaved with each other, it will be
> rejected. If this actually occurs (I'm not yet sure it does) and is in
> fact a problem (I'm not yet sure it is), there is a FIXME to implement
> more intelligent conversion checking.
Both noreturn conversions and qualification conversions can't happen for a
given from/to type pair. Qualification conversions can't add qualifiers to
function types, while noreturn conversions only handle a single level of
pointer (to a function).
- Doug
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits