Mercurial > projects > ldc
diff gen/irstate.h @ 81:3587401b6eeb trunk
[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...
author | lindquist |
---|---|
date | Thu, 01 Nov 2007 17:27:18 +0100 |
parents | b706170e24a9 |
children | d8dd47ef3973 |
line wrap: on
line diff
--- a/gen/irstate.h Wed Oct 31 22:35:39 2007 +0100 +++ b/gen/irstate.h Thu Nov 01 17:27:18 2007 +0100 @@ -69,11 +69,10 @@ 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 @@ // finally blocks typedef std::vector<IRFinally> FinallyVec; FinallyVec finallys; + llvm::Value* finallyretval; IRFunction(FuncDeclaration*); };