From c4859baea4af6b2b5865c07aab4eb9089a8a9ae6 Mon Sep 17 00:00:00 2001 From: Anders Carlsson Date: Sat, 10 Oct 2009 00:06:20 +0000 Subject: Check that the return type is complete when calling a member function. llvm-svn: 83694 --- clang/lib/Sema/SemaOverload.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'clang/lib') 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)) -- cgit v1.2.3