summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2012-02-09 03:47:20 +0000
committerEli Friedman <eli.friedman@gmail.com>2012-02-09 03:47:20 +0000
commit8631f3e86a894cc7e457953bdbb378460b96f544 (patch)
tree1d8e06da69fbd810b735b73ff2557c3b67426b52
parentc370a7eec7814d1564ec11ed71d72016029aba99 (diff)
downloadbcm5719-llvm-8631f3e86a894cc7e457953bdbb378460b96f544.tar.gz
bcm5719-llvm-8631f3e86a894cc7e457953bdbb378460b96f544.zip
Use RAII object for cleanups.
llvm-svn: 150147
-rw-r--r--clang/lib/CodeGen/CGExprCXX.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/CodeGen/CGExprCXX.cpp b/clang/lib/CodeGen/CGExprCXX.cpp
index b049e024034..673c9442e05 100644
--- a/clang/lib/CodeGen/CGExprCXX.cpp
+++ b/clang/lib/CodeGen/CGExprCXX.cpp
@@ -1784,7 +1784,8 @@ namespace {
}
void CodeGenFunction::EmitLambdaExpr(const LambdaExpr *E, AggValueSlot Slot) {
- EHScopeStack::stable_iterator CleanupDepth = EHStack.stable_begin();
+ RunCleanupsScope Scope(*this);
+
CXXRecordDecl::field_iterator CurField = E->getLambdaClass()->field_begin();
for (LambdaExpr::capture_init_iterator i = E->capture_init_begin(),
e = E->capture_init_end();
@@ -1809,5 +1810,4 @@ void CodeGenFunction::EmitLambdaExpr(const LambdaExpr *E, AggValueSlot Slot) {
RD->getDestructor(),
Slot.getAddr());
}
- PopCleanupBlocks(CleanupDepth);
}
OpenPOWER on IntegriCloud