diff options
author | Kuba Mracek <mracek@apple.com> | 2017-04-14 01:00:03 +0000 |
---|---|---|
committer | Kuba Mracek <mracek@apple.com> | 2017-04-14 01:00:03 +0000 |
commit | 82c2175793ae96ad0f0a7f88f967025bad56bbe7 (patch) | |
tree | e3b7611bcbe4a63b8c6a89e5d580af3d951d553f /clang/lib/CodeGen/CGObjC.cpp | |
parent | 216db546787a271572638b1d4a2c2829265fcdc1 (diff) | |
download | bcm5719-llvm-82c2175793ae96ad0f0a7f88f967025bad56bbe7.tar.gz bcm5719-llvm-82c2175793ae96ad0f0a7f88f967025bad56bbe7.zip |
Revert r300287.
llvm-svn: 300290
Diffstat (limited to 'clang/lib/CodeGen/CGObjC.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGObjC.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/clang/lib/CodeGen/CGObjC.cpp b/clang/lib/CodeGen/CGObjC.cpp index 50252d5a44b..929bda9099b 100644 --- a/clang/lib/CodeGen/CGObjC.cpp +++ b/clang/lib/CodeGen/CGObjC.cpp @@ -1469,6 +1469,11 @@ void CodeGenFunction::EmitObjCForCollectionStmt(const ObjCForCollectionStmt &S){ if (DI) DI->EmitLexicalBlockStart(Builder, S.getSourceRange().getBegin()); + // The local variable comes into scope immediately. + AutoVarEmission variable = AutoVarEmission::invalid(); + if (const DeclStmt *SD = dyn_cast<DeclStmt>(S.getElement())) + variable = EmitAutoVarAlloca(*cast<VarDecl>(SD->getSingleDecl())); + JumpDest LoopEnd = getJumpDestInCurrentScope("forcoll.end"); // Fast enumeration state. @@ -1620,10 +1625,8 @@ void CodeGenFunction::EmitObjCForCollectionStmt(const ObjCForCollectionStmt &S){ bool elementIsVariable; LValue elementLValue; QualType elementType; - AutoVarEmission variable = AutoVarEmission::invalid(); if (const DeclStmt *SD = dyn_cast<DeclStmt>(S.getElement())) { // Initialize the variable, in case it's a __block variable or something. - variable = EmitAutoVarAlloca(*cast<VarDecl>(SD->getSingleDecl())); EmitAutoVarInit(variable); const VarDecl* D = cast<VarDecl>(SD->getSingleDecl()); |