summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaOverload.cpp
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2013-08-28 20:35:35 +0000
committerEli Friedman <eli.friedman@gmail.com>2013-08-28 20:35:35 +0000
commita31efa07ff703d45122fa5d21b76e4694c0ec55a (patch)
tree61d979d605e646050083ccb2aa13950bf8a2717c /clang/lib/Sema/SemaOverload.cpp
parent22a351d314c88b0aa181fc2444e8b41328a96955 (diff)
downloadbcm5719-llvm-a31efa07ff703d45122fa5d21b76e4694c0ec55a.tar.gz
bcm5719-llvm-a31efa07ff703d45122fa5d21b76e4694c0ec55a.zip
Improve error for assignment to incomplete class.
PR7681. llvm-svn: 189510
Diffstat (limited to 'clang/lib/Sema/SemaOverload.cpp')
-rw-r--r--clang/lib/Sema/SemaOverload.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaOverload.cpp b/clang/lib/Sema/SemaOverload.cpp
index 06d1f0b0e2d..a8b0bd27b98 100644
--- a/clang/lib/Sema/SemaOverload.cpp
+++ b/clang/lib/Sema/SemaOverload.cpp
@@ -10714,6 +10714,11 @@ Sema::CreateOverloadedBinOp(SourceLocation OpLoc,
Diag(OpLoc, diag::err_ovl_no_viable_oper)
<< BinaryOperator::getOpcodeStr(Opc)
<< Args[0]->getSourceRange() << Args[1]->getSourceRange();
+ if (Args[0]->getType()->isIncompleteType()) {
+ Diag(OpLoc, diag::note_assign_lhs_incomplete)
+ << Args[0]->getType()
+ << Args[0]->getSourceRange() << Args[1]->getSourceRange();
+ }
} else {
// This is an erroneous use of an operator which can be overloaded by
// a non-member function. Check for non-member operators which were
OpenPOWER on IntegriCloud