[svn r85] Fixed: if a return statement appeared in the try block of a nested try-finally, only the inner-most finally block would be executed.

Changed: Renamed all the LLVM_Dto... helper function to just Dto...
This commit is contained in:
Tomas Lindquist Olsen
2007-11-01 17:27:18 +01:00
parent 947bba2b48
commit 6bb534fb2a
11 changed files with 616 additions and 557 deletions

View File

@@ -69,11 +69,10 @@ public:
struct IRFinally
{
llvm::BasicBlock* bb;
bool ret;
llvm::Value* retval;
llvm::BasicBlock* retbb;
IRFinally();
IRFinally(llvm::BasicBlock* b);
IRFinally(llvm::BasicBlock* b, llvm::BasicBlock* rb);
};
// represents a function
@@ -87,6 +86,7 @@ struct IRFunction
// finally blocks
typedef std::vector<IRFinally> FinallyVec;
FinallyVec finallys;
llvm::Value* finallyretval;
IRFunction(FuncDeclaration*);
};