diff options
author | Anders Carlsson <andersca@mac.com> | 2009-12-24 21:13:40 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2009-12-24 21:13:40 +0000 |
commit | bfb3671b25fd5c4fa52640fd583f84cfadf81fcd (patch) | |
tree | ad02f19b7058c9134813d56624e414946d35b6c4 /clang/lib/CodeGen/CGExpr.cpp | |
parent | 1f21000902ae51f79af6a291e3a4b0660bbca08d (diff) | |
download | bcm5719-llvm-bfb3671b25fd5c4fa52640fd583f84cfadf81fcd.tar.gz bcm5719-llvm-bfb3671b25fd5c4fa52640fd583f84cfadf81fcd.zip |
Pass the return value slot to all call exprs.
llvm-svn: 92145
Diffstat (limited to 'clang/lib/CodeGen/CGExpr.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGExpr.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/clang/lib/CodeGen/CGExpr.cpp b/clang/lib/CodeGen/CGExpr.cpp index 059b3827e6b..fbeb40cefc0 100644 --- a/clang/lib/CodeGen/CGExpr.cpp +++ b/clang/lib/CodeGen/CGExpr.cpp @@ -1522,10 +1522,10 @@ RValue CodeGenFunction::EmitCallExpr(const CallExpr *E, ReturnValueSlot ReturnValue) { // Builtins never have block type. if (E->getCallee()->getType()->isBlockPointerType()) - return EmitBlockCallExpr(E); + return EmitBlockCallExpr(E, ReturnValue); if (const CXXMemberCallExpr *CE = dyn_cast<CXXMemberCallExpr>(E)) - return EmitCXXMemberCallExpr(CE); + return EmitCXXMemberCallExpr(CE, ReturnValue); const Decl *TargetDecl = 0; if (const ImplicitCastExpr *CE = dyn_cast<ImplicitCastExpr>(E->getCallee())) { @@ -1539,7 +1539,7 @@ RValue CodeGenFunction::EmitCallExpr(const CallExpr *E, if (const CXXOperatorCallExpr *CE = dyn_cast<CXXOperatorCallExpr>(E)) if (const CXXMethodDecl *MD = dyn_cast_or_null<CXXMethodDecl>(TargetDecl)) - return EmitCXXOperatorMemberCallExpr(CE, MD); + return EmitCXXOperatorMemberCallExpr(CE, MD, ReturnValue); if (isa<CXXPseudoDestructorExpr>(E->getCallee()->IgnoreParens())) { // C++ [expr.pseudo]p1: |