summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaOverload.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2012-12-28 12:23:24 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2012-12-28 12:23:24 +0000
commitde1a4874025851aac3f1e1b7746ee40060597e26 (patch)
tree944c3a693e191a37ca8a81879f5bc3a2610e17e4 /clang/lib/Sema/SemaOverload.cpp
parent9dc3558920ce2bfc669f3e228e37acfbec2b778d (diff)
downloadbcm5719-llvm-de1a4874025851aac3f1e1b7746ee40060597e26.tar.gz
bcm5719-llvm-de1a4874025851aac3f1e1b7746ee40060597e26.zip
Improve diagnostic wording for when an implicitly-deleted special member
function is selected by overload resolution. llvm-svn: 171190
Diffstat (limited to 'clang/lib/Sema/SemaOverload.cpp')
-rw-r--r--clang/lib/Sema/SemaOverload.cpp15
1 files changed, 6 insertions, 9 deletions
diff --git a/clang/lib/Sema/SemaOverload.cpp b/clang/lib/Sema/SemaOverload.cpp
index e5af2b16d70..7ae6d9d5af7 100644
--- a/clang/lib/Sema/SemaOverload.cpp
+++ b/clang/lib/Sema/SemaOverload.cpp
@@ -10386,16 +10386,13 @@ Sema::CreateOverloadedBinOp(SourceLocation OpLoc,
if (isImplicitlyDeleted(Best->Function)) {
CXXMethodDecl *Method = cast<CXXMethodDecl>(Best->Function);
Diag(OpLoc, diag::err_ovl_deleted_special_oper)
- << getSpecialMember(Method)
- << BinaryOperator::getOpcodeStr(Opc)
- << getDeletedOrUnavailableSuffix(Best->Function);
+ << Context.getRecordType(Method->getParent())
+ << getSpecialMember(Method);
- if (getSpecialMember(Method) != CXXInvalid) {
- // The user probably meant to call this special member. Just
- // explain why it's deleted.
- NoteDeletedFunction(Method);
- return ExprError();
- }
+ // The user probably meant to call this special member. Just
+ // explain why it's deleted.
+ NoteDeletedFunction(Method);
+ return ExprError();
} else {
Diag(OpLoc, diag::err_ovl_deleted_oper)
<< Best->Function->isDeleted()
OpenPOWER on IntegriCloud