aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2009-03-13 20:36:41 +0000
committerFariborz Jahanian <fjahanian@apple.com>2009-03-13 20:36:41 +0000
commit209bb438042ef7652b2b046e43d4ffb5a00d9725 (patch)
tree46b3650ea56dde4a142266a5868270c86c031941 /lib/CodeGen
parent1368954db9ce2989ed8f03f5c65e8ee775a5229a (diff)
Fix a bug in building function pointer type
corresponding to block pointer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66940 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen')
-rw-r--r--lib/CodeGen/CodeGenTypes.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/CodeGen/CodeGenTypes.cpp b/lib/CodeGen/CodeGenTypes.cpp
index 5eb925e5e7..2d4c27c2ac 100644
--- a/lib/CodeGen/CodeGenTypes.cpp
+++ b/lib/CodeGen/CodeGenTypes.cpp
@@ -380,8 +380,9 @@ const llvm::Type *CodeGenTypes::ConvertNewType(QualType T) {
case Type::BlockPointer: {
const QualType FTy = cast<BlockPointerType>(Ty).getPointeeType();
- return llvm::PointerType::get(ConvertTypeRecursive(FTy),
- FTy.getAddressSpace());
+ llvm::OpaqueType *PointeeType = llvm::OpaqueType::get();
+ PointersToResolve.push_back(std::make_pair(FTy, PointeeType));
+ return llvm::PointerType::get(PointeeType, FTy.getAddressSpace());
}
case Type::MemberPointer: