merge 3 more diagnostics into 1.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59805 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaDeclCXX.cpp b/lib/Sema/SemaDeclCXX.cpp
index f4a95f0..cf1f017 100644
--- a/lib/Sema/SemaDeclCXX.cpp
+++ b/lib/Sema/SemaDeclCXX.cpp
@@ -1872,18 +1872,19 @@
(NumParams == 2 && !CanBeBinaryOperator) ||
(NumParams < 1) || (NumParams > 2))) {
// We have the wrong number of parameters.
- diag::kind DK;
+ unsigned ErrorKind;
if (CanBeUnaryOperator && CanBeBinaryOperator) {
- DK = diag::err_operator_overload_must_be_unary_or_binaryx;
+ ErrorKind = 2; // 2 -> unary or binary.
} else if (CanBeUnaryOperator) {
- DK = diag::err_operator_overload_must_be_unaryx;
+ ErrorKind = 0; // 0 -> unary
} else {
assert(CanBeBinaryOperator &&
"All non-call overloaded operators are unary or binary!");
- DK = diag::err_operator_overload_must_be_binaryx;
+ ErrorKind = 1; // 1 -> binary
}
- return Diag(FnDecl->getLocation(), DK) << FnDecl->getName() << NumParams;
+ return Diag(FnDecl->getLocation(), diag::err_operator_overload_must_be)
+ << FnDecl->getName() << NumParams << ErrorKind;
}
// Overloaded operators other than operator() cannot be variadic.