summaryrefslogtreecommitdiffstats
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
commitb03d5a6b3670523984fe8665b29e5e3413a8d602 (patch)
tree0f7df29443b99e2c183ef8416ca505f57aec2487
parente5dc48233f8a2df4c08d7d371c7a74c2be36d0b9 (diff)
downloadbcm5719-llvm-b03d5a6b3670523984fe8665b29e5e3413a8d602.tar.gz
bcm5719-llvm-b03d5a6b3670523984fe8665b29e5e3413a8d602.zip
Fix a bug in building function pointer type
corresponding to block pointer. llvm-svn: 66940
-rw-r--r--clang/lib/CodeGen/CodeGenTypes.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/CodeGen/CodeGenTypes.cpp b/clang/lib/CodeGen/CodeGenTypes.cpp
index 5eb925e5e7c..2d4c27c2aca 100644
--- a/clang/lib/CodeGen/CodeGenTypes.cpp
+++ b/clang/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:
OpenPOWER on IntegriCloud