dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Dotgnu-pnet-commits] CVS: pnet/codegen cg_stmt.tc,1.30,1.31


From: Rhys Weatherley <address@hidden>
Subject: [Dotgnu-pnet-commits] CVS: pnet/codegen cg_stmt.tc,1.30,1.31
Date: Tue, 05 Nov 2002 17:20:07 -0500

Update of /cvsroot/dotgnu-pnet/pnet/codegen
In directory subversions:/tmp/cvs-serv17137/codegen

Modified Files:
        cg_stmt.tc 
Log Message:


ILNode_Try: make sure that the finally block's try range covers the
catch clauses.


Index: cg_stmt.tc
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/codegen/cg_stmt.tc,v
retrieving revision 1.30
retrieving revision 1.31
diff -C2 -r1.30 -r1.31
*** cg_stmt.tc  20 Oct 2002 20:38:28 -0000      1.30
--- cg_stmt.tc  5 Nov 2002 22:20:02 -0000       1.31
***************
*** 1991,1994 ****
--- 1991,2000 ----
        {
                fputs("\t.try {\n", info->asmOutput);
+               if(node->finallyClause && node->catchClauses)
+               {
+                       /* We need two levels of ".try" if we have both
+                          "catch" and "finally" blocks */
+                       fputs("\t.try {\n", info->asmOutput);
+               }
        }
  
***************
*** 2034,2037 ****
--- 2040,2050 ----
        if(node->finallyClause)
        {
+               if(node->catchClauses)
+               {
+                       if(info->asmOutput)
+                       {
+                               fputs("\t}\n", info->asmOutput);
+                       }
+               }
                ILNode_GenDiscard(node->finallyClause, info);
        }





reply via email to

[Prev in Thread] Current Thread [Next in Thread]