aboutsummaryrefslogtreecommitdiff
path: root/lib/Sema/SemaOverload.cpp
diff options
context:
space:
mode:
authorSebastian Redl <sebastian.redl@getdesigned.at>2008-11-22 13:44:36 +0000
committerSebastian Redl <sebastian.redl@getdesigned.at>2008-11-22 13:44:36 +0000
commite4c452c4c7b9124fe94a96f559ff077d59cdf996 (patch)
treeac265af3f4e7aac711fc6c2ab0c19e91205efdd6 /lib/Sema/SemaOverload.cpp
parent369f42971b7d73b7c208adbc1408c827632ad50a (diff)
Implement a %plural modifier for complex plural forms in diagnostics. Use it in the overload diagnostics.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59871 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaOverload.cpp')
-rw-r--r--lib/Sema/SemaOverload.cpp18
1 files changed, 7 insertions, 11 deletions
diff --git a/lib/Sema/SemaOverload.cpp b/lib/Sema/SemaOverload.cpp
index eb38eee8d5..3c2c0ab489 100644
--- a/lib/Sema/SemaOverload.cpp
+++ b/lib/Sema/SemaOverload.cpp
@@ -3050,16 +3050,11 @@ Sema::BuildCallToObjectOfClassType(Expr *Object, SourceLocation LParenLoc,
break;
case OR_No_Viable_Function:
- if (CandidateSet.empty())
- Diag(Object->getSourceRange().getBegin(),
- diag::err_ovl_no_viable_object_call)
- << Object->getType().getAsString() << Object->getSourceRange();
- else {
- Diag(Object->getSourceRange().getBegin(),
- diag::err_ovl_no_viable_object_call_with_cands)
- << Object->getType().getAsString() << Object->getSourceRange();
- PrintOverloadCandidates(CandidateSet, /*OnlyViable=*/false);
- }
+ Diag(Object->getSourceRange().getBegin(),
+ diag::err_ovl_no_viable_object_call)
+ << Object->getType().getAsString() << (unsigned)CandidateSet.size()
+ << Object->getSourceRange();
+ PrintOverloadCandidates(CandidateSet, /*OnlyViable=*/false);
break;
case OR_Ambiguous:
@@ -3220,7 +3215,8 @@ Sema::BuildOverloadedArrowExpr(Expr *Base, SourceLocation OpLoc,
<< BasePtr->getType().getAsString() << BasePtr->getSourceRange();
else
Diag(OpLoc, diag::err_ovl_no_viable_oper)
- << "operator->" << BasePtr->getSourceRange();
+ << "operator->" << (unsigned)CandidateSet.size()
+ << BasePtr->getSourceRange();
PrintOverloadCandidates(CandidateSet, /*OnlyViable=*/false);
return true;