aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CGBlocks.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/CodeGen/CGBlocks.cpp')
-rw-r--r--lib/CodeGen/CGBlocks.cpp10
1 files changed, 1 insertions, 9 deletions
diff --git a/lib/CodeGen/CGBlocks.cpp b/lib/CodeGen/CGBlocks.cpp
index 60bf73f0b4..d368d20bce 100644
--- a/lib/CodeGen/CGBlocks.cpp
+++ b/lib/CodeGen/CGBlocks.cpp
@@ -193,13 +193,8 @@ const llvm::Type *CodeGenModule::getBlockDescriptorType() {
UnsignedLongTy,
NULL);
- // FIXME: This breaks an unrelated testcase in the testsuite, we
- // _want_ llvm to not use structural equality, sometimes. What
- // should we do, modify the testcase and do this anyway, or...
-#if 0
getModule().addTypeName("struct.__block_descriptor",
BlockDescriptorType);
-#endif
return BlockDescriptorType;
}
@@ -232,7 +227,6 @@ CodeGenModule::getGenericBlockLiteralType() {
BlockDescPtrTy,
NULL);
- // FIXME: See struct.__block_descriptor
getModule().addTypeName("struct.__block_literal_generic",
GenericBlockLiteralType);
@@ -271,7 +265,6 @@ CodeGenModule::getGenericExtendedBlockLiteralType() {
Int8PtrTy,
NULL);
- // FIXME: See struct.__block_descriptor
getModule().addTypeName("struct.__block_literal_extended_generic",
GenericExtendedBlockLiteralType);
@@ -312,8 +305,7 @@ RValue CodeGenFunction::EmitBlockCallExpr(const CallExpr* E) {
// Get the function pointer from the literal.
llvm::Value *FuncPtr = Builder.CreateStructGEP(BlockLiteral, 3, "tmp");
- // FIXME: second argument should be false?
- llvm::Value *Func = Builder.CreateLoad(FuncPtr, FuncPtr, "tmp");
+ llvm::Value *Func = Builder.CreateLoad(FuncPtr, false, "tmp");
// Cast the function pointer to the right type.
const llvm::Type *BlockFTy =