diff options
author | Anders Carlsson <andersca@mac.com> | 2008-12-13 22:52:24 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2008-12-13 22:52:24 +0000 |
commit | e21269bcb732afa70386fdd4c95d22bc2ed943b1 (patch) | |
tree | a7a7607d96805c3a9ce4c7c701707c24796ac855 /lib/CodeGen/CodeGenFunction.h | |
parent | aaa63a761c6671a08e3f4f463435b72739fa194b (diff) |
Store the size of the EH stack inside each BreakContinue struct so we know when a break/continue won't cross a try block.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60998 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CodeGenFunction.h')
-rw-r--r-- | lib/CodeGen/CodeGenFunction.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/CodeGen/CodeGenFunction.h b/lib/CodeGen/CodeGenFunction.h index 5c4246f7c3..2959c08a44 100644 --- a/lib/CodeGen/CodeGenFunction.h +++ b/lib/CodeGen/CodeGenFunction.h @@ -148,13 +148,14 @@ private: llvm::DenseMap<const LabelStmt*, llvm::BasicBlock*> LabelMap; // BreakContinueStack - This keeps track of where break and continue - // statements should jump to. + // statements should jump to, as well as the size of the eh stack. struct BreakContinue { - BreakContinue(llvm::BasicBlock *bb, llvm::BasicBlock *cb) - : BreakBlock(bb), ContinueBlock(cb) {} + BreakContinue(llvm::BasicBlock *bb, llvm::BasicBlock *cb, size_t ehss) + : BreakBlock(bb), ContinueBlock(cb), EHStackSize(ehss) {} llvm::BasicBlock *BreakBlock; llvm::BasicBlock *ContinueBlock; + size_t EHStackSize; }; llvm::SmallVector<BreakContinue, 8> BreakContinueStack; |