diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2010-11-17 00:21:28 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2010-11-17 00:21:28 +0000 |
commit | e38be617437ccdcc180c5a49e447cbcd07539292 (patch) | |
tree | 49bbb2e609b767a523648d1ac6c2c5714190ac6d /lib/CodeGen/CGBlocks.cpp | |
parent | e3c60a7ce9e0f42c7ca2344b33203266aceca1db (diff) |
Fixes synthesis of type for the object which holds info.
about a __block cxx object.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119411 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGBlocks.cpp')
-rw-r--r-- | lib/CodeGen/CGBlocks.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/CodeGen/CGBlocks.cpp b/lib/CodeGen/CGBlocks.cpp index e21664607c..c40cfaf6a9 100644 --- a/lib/CodeGen/CGBlocks.cpp +++ b/lib/CodeGen/CGBlocks.cpp @@ -1016,9 +1016,8 @@ GenerateCopyHelperFunction(const llvm::StructType *T, Srcv = Builder.CreateBitCast(Srcv, PtrStructTy); Srcv = Builder.CreateStructGEP(Srcv, CGF.getByRefValueLLVMField(VD), VD->getNameAsString()); - Dstv = Builder.CreateStructGEP(DstObj, index); - Dstv = Builder.CreateLoad(Dstv); - Dstv = Builder.CreateBitCast(Dstv, PtrStructTy); + + Dstv = Builder.CreateBitCast(DstObj, PtrStructTy); Dstv = Builder.CreateStructGEP(Dstv, CGF.getByRefValueLLVMField(VD), VD->getNameAsString()); CGF.EmitSynthesizedCXXCopyCtor(Dstv, Srcv, |