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*);
 };