summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaOverload.h
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2010-02-01 18:53:26 +0000
committerJohn McCall <rjmccall@apple.com>2010-02-01 18:53:26 +0000
commit8b9ed55bfbea0f5c858654594ef178ef18a4aa1b (patch)
treead2d8f6fd526be97c89b775e6e4a8435d2e71688 /clang/lib/Sema/SemaOverload.h
parente5e1b7b05a2f1f40bdd2fec0105cd48f39c8ad0f (diff)
downloadbcm5719-llvm-8b9ed55bfbea0f5c858654594ef178ef18a4aa1b.tar.gz
bcm5719-llvm-8b9ed55bfbea0f5c858654594ef178ef18a4aa1b.zip
Note that an overload candidate was non-viable because template argument
deduction failed. Right now there's a very vague diagnostic for most cases and a good diagnostic for incomplete deduction. llvm-svn: 94988
Diffstat (limited to 'clang/lib/Sema/SemaOverload.h')
-rw-r--r--clang/lib/Sema/SemaOverload.h24
1 files changed, 19 insertions, 5 deletions
diff --git a/clang/lib/Sema/SemaOverload.h b/clang/lib/Sema/SemaOverload.h
index 66ed2259bd2..cc26277825f 100644
--- a/clang/lib/Sema/SemaOverload.h
+++ b/clang/lib/Sema/SemaOverload.h
@@ -465,11 +465,25 @@ namespace clang {
return AccessSpecifier(Access);
}
- /// FinalConversion - For a conversion function (where Function is
- /// a CXXConversionDecl), the standard conversion that occurs
- /// after the call to the overload candidate to convert the result
- /// of calling the conversion function to the required type.
- StandardConversionSequence FinalConversion;
+ /// A structure used to record information about a failed
+ /// template argument deduction.
+ struct DeductionFailureInfo {
+ // A Sema::TemplateDeductionResult.
+ unsigned Result;
+
+ // A TemplateParameter.
+ void *TemplateParameter;
+ };
+
+ union {
+ DeductionFailureInfo DeductionFailure;
+
+ /// FinalConversion - For a conversion function (where Function is
+ /// a CXXConversionDecl), the standard conversion that occurs
+ /// after the call to the overload candidate to convert the result
+ /// of calling the conversion function to the required type.
+ StandardConversionSequence FinalConversion;
+ };
/// hasAmbiguousConversion - Returns whether this overload
/// candidate requires an ambiguous conversion or not.
OpenPOWER on IntegriCloud