forked from OSchip/llvm-project
Produce a warning that partial ordering of function templates is not yet supported
llvm-svn: 77928
This commit is contained in:
parent
c3719c36e6
commit
55137cbc85
|
@ -905,6 +905,10 @@ def unsup_template_partial_spec_ordering : Error<
|
|||
"partial ordering of class template partial specializations is not yet "
|
||||
"supported">;
|
||||
|
||||
def unsup_function_template_partial_ordering : Warning<
|
||||
"partial ordering of function templates is unsupported; overload resolution "
|
||||
"may result in an ambiguity that would not occur with a conforming compiler">;
|
||||
|
||||
// C++ Template Instantiation
|
||||
def err_template_recursion_depth_exceeded : Error<
|
||||
"recursive template instantiation exceeded maximum depth of %0">,
|
||||
|
|
|
@ -3496,8 +3496,10 @@ Sema::isBetterOverloadCandidate(const OverloadCandidate& Cand1,
|
|||
// template for F1 is more specialized than the template for F2
|
||||
// according to the partial ordering rules described in 14.5.5.2, or,
|
||||
// if not that,
|
||||
|
||||
// FIXME: Implement partial ordering of function templates.
|
||||
if (Cand1.Function && Cand1.Function->getPrimaryTemplate() &&
|
||||
Cand2.Function && Cand2.Function->getPrimaryTemplate())
|
||||
// FIXME: Implement partial ordering of function templates.
|
||||
Diag(SourceLocation(), diag::unsup_function_template_partial_ordering);
|
||||
|
||||
// -- the context is an initialization by user-defined conversion
|
||||
// (see 8.5, 13.3.1.5) and the standard conversion sequence
|
||||
|
|
Loading…
Reference in New Issue