summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGDecl.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2011-01-28 08:37:24 +0000
committerJohn McCall <rjmccall@apple.com>2011-01-28 08:37:24 +0000
commite4df6c8d961b7cf5d5655890f1c092a79674d5de (patch)
tree54c4638825c8611cc5db5464eebafc45d17585af /clang/lib/CodeGen/CGDecl.cpp
parentaaf401241a4b97663175e63f6d27411791fc3f47 (diff)
downloadbcm5719-llvm-e4df6c8d961b7cf5d5655890f1c092a79674d5de.tar.gz
bcm5719-llvm-e4df6c8d961b7cf5d5655890f1c092a79674d5de.zip
Convert the exception-freeing cleanup over to the conditional cleanups code,
fixing a crash which probably nobody was ever going to see. In doing so, fix a horrendous number of problems with the conditional-cleanups code. Also, make conditional cleanups re-use the cleanup's activation variable, which avoids some unfortunate repetitiveness. llvm-svn: 124481
Diffstat (limited to 'clang/lib/CodeGen/CGDecl.cpp')
-rw-r--r--clang/lib/CodeGen/CGDecl.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGDecl.cpp b/clang/lib/CodeGen/CGDecl.cpp
index f12be985101..65ddfa6051b 100644
--- a/clang/lib/CodeGen/CGDecl.cpp
+++ b/clang/lib/CodeGen/CGDecl.cpp
@@ -697,6 +697,7 @@ void CodeGenFunction::EmitAutoVarDecl(const VarDecl &D,
DidCallStackSave = true;
// Push a cleanup block and restore the stack there.
+ // FIXME: in general circumstances, this should be an EH cleanup.
EHStack.pushCleanup<CallStackRestore>(NormalCleanup, Stack);
}
OpenPOWER on IntegriCloud