]> granicus.if.org Git - clang/commitdiff
Introduce an assertion to ensure that template argument deduction does
authorDouglas Gregor <dgregor@apple.com>
Mon, 21 Dec 2009 21:27:38 +0000 (21:27 +0000)
committerDouglas Gregor <dgregor@apple.com>
Mon, 21 Dec 2009 21:27:38 +0000 (21:27 +0000)
not deduce an "overload" type. Such a deduction indicates a failure in
semantic analysis  (e.g., PR5811) that currently isn't caught until
code-generation time. This assertions makes it clearer that this
particular issue is a semantic-analysis problem, not a code-gen problem.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91844 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaTemplateDeduction.cpp

index b4754db7d6b5d566fed7bf62934f4a124c53f7e5..5434beaef1259a58d386fb6b14684d342217f28d 100644 (file)
@@ -476,7 +476,7 @@ DeduceTemplateArguments(ASTContext &Context,
     }
 
     assert(TemplateTypeParm->getDepth() == 0 && "Can't deduce with depth > 0");
-
+    assert(Arg != Context.OverloadTy && "Unresolved overloaded function");
     QualType DeducedType = Arg;
     DeducedType.removeCVRQualifiers(Param.getCVRQualifiers());
     if (RecanonicalizeArg)