diff options
author | John McCall <rjmccall@apple.com> | 2011-01-28 08:37:24 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2011-01-28 08:37:24 +0000 |
commit | 3ad32c8d93eb65d1d4943d7df567fc9b4f55d137 (patch) | |
tree | c70d2a10da7b400e2f6f02a32d9d0a59b9f8f8a6 /lib/CodeGen/CGDecl.cpp | |
parent | 4867347e82648d3baf09524b98b09c297a5a198f (diff) |
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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124481 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGDecl.cpp')
-rw-r--r-- | lib/CodeGen/CGDecl.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/CodeGen/CGDecl.cpp b/lib/CodeGen/CGDecl.cpp index f12be98510..65ddfa6051 100644 --- a/lib/CodeGen/CGDecl.cpp +++ b/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); } |