summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaOverload.cpp
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2016-03-04 22:29:11 +0000
committerDavid Blaikie <dblaikie@gmail.com>2016-03-04 22:29:11 +0000
commitac92893a93618d66416afbdd86db1ce99543e3e4 (patch)
treec2bfb478e0ac9db8d8de75f4609c1d839c4fdc3c /clang/lib/Sema/SemaOverload.cpp
parenta0c9f6e73622e7f040d827850acbdfcbde945998 (diff)
downloadbcm5719-llvm-ac92893a93618d66416afbdd86db1ce99543e3e4.tar.gz
bcm5719-llvm-ac92893a93618d66416afbdd86db1ce99543e3e4.zip
PR5941 - improve diagnostic for * vs & confusion when choosing overload candidate with a parameter of incomplete (ref or pointer) type
Reviewers: dblaikie Differential Revision: http://reviews.llvm.org/D16949 llvm-svn: 262752
Diffstat (limited to 'clang/lib/Sema/SemaOverload.cpp')
-rw-r--r--clang/lib/Sema/SemaOverload.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaOverload.cpp b/clang/lib/Sema/SemaOverload.cpp
index 2ad49933d4c..1765db6734e 100644
--- a/clang/lib/Sema/SemaOverload.cpp
+++ b/clang/lib/Sema/SemaOverload.cpp
@@ -9131,10 +9131,13 @@ static void DiagnoseBadConversion(Sema &S, OverloadCandidate *Cand,
if (const PointerType *PTy = TempFromTy->getAs<PointerType>())
TempFromTy = PTy->getPointeeType();
if (TempFromTy->isIncompleteType()) {
+ // Emit the generic diagnostic and, optionally, add the hints to it.
S.Diag(Fn->getLocation(), diag::note_ovl_candidate_bad_conv_incomplete)
<< (unsigned) FnKind << FnDesc
<< (FromExpr ? FromExpr->getSourceRange() : SourceRange())
- << FromTy << ToTy << (unsigned) isObjectArgument << I+1;
+ << FromTy << ToTy << (unsigned) isObjectArgument << I+1
+ << (unsigned) (Cand->Fix.Kind);
+
MaybeEmitInheritedConstructorNote(S, Fn);
return;
}
OpenPOWER on IntegriCloud