diff options
author | Anders Carlsson <andersca@mac.com> | 2009-09-12 02:44:18 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2009-09-12 02:44:18 +0000 |
commit | f8e94f2008c78c498ee7e11053b8141cbc2468d4 (patch) | |
tree | 875721f3865e8f3211de0a7970f1ebab12287a8b /clang/lib/CodeGen/CGBlocks.cpp | |
parent | 29849eadef6b8355ee1db161e74c2cdc5b8d1f5c (diff) | |
download | bcm5719-llvm-f8e94f2008c78c498ee7e11053b8141cbc2468d4.tar.gz bcm5719-llvm-f8e94f2008c78c498ee7e11053b8141cbc2468d4.zip |
Add support for __block variables with alignment greater than __alignof(void *).
llvm-svn: 81602
Diffstat (limited to 'clang/lib/CodeGen/CGBlocks.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGBlocks.cpp | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/clang/lib/CodeGen/CGBlocks.cpp b/clang/lib/CodeGen/CGBlocks.cpp index b8827793d62..ad03e368e0b 100644 --- a/clang/lib/CodeGen/CGBlocks.cpp +++ b/clang/lib/CodeGen/CGBlocks.cpp @@ -227,11 +227,9 @@ llvm::Value *CodeGenFunction::BuildBlockLiteralTmp(const BlockExpr *BE) { NoteForHelper[helpersize].flag = BLOCK_FIELD_IS_BYREF | // FIXME: Someone double check this. (VD->getType().isObjCGCWeak() ? BLOCK_FIELD_IS_WEAK : 0); - const llvm::Type *Ty = Types[i+5]; llvm::Value *Loc = LocalDeclMap[VD]; Loc = Builder.CreateStructGEP(Loc, 1, "forwarding"); Loc = Builder.CreateLoad(Loc, false); - Loc = Builder.CreateBitCast(Loc, Ty); Builder.CreateStore(Loc, Addr); ++helpersize; continue; |