summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaOverload.cpp
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-10-10 00:06:20 +0000
committerAnders Carlsson <andersca@mac.com>2009-10-10 00:06:20 +0000
commitc4859baea4af6b2b5865c07aab4eb9089a8a9ae6 (patch)
tree6d2f6e06d508a238e249ad233f2a004ccefbfa3c /clang/lib/Sema/SemaOverload.cpp
parent1040f2e9dbf0110fdb283e2b1e736050d47c26d9 (diff)
downloadbcm5719-llvm-c4859baea4af6b2b5865c07aab4eb9089a8a9ae6.tar.gz
bcm5719-llvm-c4859baea4af6b2b5865c07aab4eb9089a8a9ae6.zip
Check that the return type is complete when calling a member function.
llvm-svn: 83694
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 9615a3cf57d..30ac59e4ca7 100644
--- a/clang/lib/Sema/SemaOverload.cpp
+++ b/clang/lib/Sema/SemaOverload.cpp
@@ -4818,6 +4818,11 @@ Sema::BuildCallToMemberFunction(Scope *S, Expr *MemExprE,
Method->getResultType().getNonReferenceType(),
RParenLoc));
+ // Check for a valid return type.
+ if (CheckCallReturnType(Method->getResultType(), MemExpr->getMemberLoc(),
+ TheCall.get(), Method))
+ return true;
+
// Convert the object argument (for a non-static member function call).
if (!Method->isStatic() &&
PerformObjectArgumentInitialization(ObjectArg, Method))
OpenPOWER on IntegriCloud