summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGBlocks.cpp
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-12-24 21:13:40 +0000
committerAnders Carlsson <andersca@mac.com>2009-12-24 21:13:40 +0000
commitbfb3671b25fd5c4fa52640fd583f84cfadf81fcd (patch)
treead02f19b7058c9134813d56624e414946d35b6c4 /clang/lib/CodeGen/CGBlocks.cpp
parent1f21000902ae51f79af6a291e3a4b0660bbca08d (diff)
downloadbcm5719-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/CGBlocks.cpp')
-rw-r--r--clang/lib/CodeGen/CGBlocks.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/CodeGen/CGBlocks.cpp b/clang/lib/CodeGen/CGBlocks.cpp
index 2270f84b5be..1bece7fec6f 100644
--- a/clang/lib/CodeGen/CGBlocks.cpp
+++ b/clang/lib/CodeGen/CGBlocks.cpp
@@ -460,7 +460,8 @@ const llvm::Type *BlockModule::getGenericExtendedBlockLiteralType() {
return GenericExtendedBlockLiteralType;
}
-RValue CodeGenFunction::EmitBlockCallExpr(const CallExpr* E) {
+RValue CodeGenFunction::EmitBlockCallExpr(const CallExpr* E,
+ ReturnValueSlot ReturnValue) {
const BlockPointerType *BPT =
E->getCallee()->getType()->getAs<BlockPointerType>();
@@ -509,7 +510,7 @@ RValue CodeGenFunction::EmitBlockCallExpr(const CallExpr* E) {
Func = Builder.CreateBitCast(Func, BlockFTyPtr);
// And call the block.
- return EmitCall(FnInfo, Func, ReturnValueSlot(), Args);
+ return EmitCall(FnInfo, Func, ReturnValue, Args);
}
uint64_t CodeGenFunction::AllocateBlockDecl(const BlockDeclRefExpr *E) {
OpenPOWER on IntegriCloud