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

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

[dotgnu-pnet-commits] pnet ChangeLog cscc/csharp/cs_stmt.tc


From: Klaus Treichel
Subject: [dotgnu-pnet-commits] pnet ChangeLog cscc/csharp/cs_stmt.tc
Date: Thu, 29 Nov 2007 20:16:50 +0000

CVSROOT:        /cvsroot/dotgnu-pnet
Module name:    pnet
Changes by:     Klaus Treichel <ktreichel>      07/11/29 20:16:50

Modified files:
        .              : ChangeLog 
        cscc/csharp    : cs_stmt.tc 

Log message:
        Fix bug with casts/boxing of local constant declarations if the type of 
the
        constant expression doesn't match the type of the declared constant.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pnet/ChangeLog?cvsroot=dotgnu-pnet&r1=1.3518&r2=1.3519
http://cvs.savannah.gnu.org/viewcvs/pnet/cscc/csharp/cs_stmt.tc?cvsroot=dotgnu-pnet&r1=1.41&r2=1.42

Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/ChangeLog,v
retrieving revision 1.3518
retrieving revision 1.3519
diff -u -b -r1.3518 -r1.3519
--- ChangeLog   29 Nov 2007 13:22:57 -0000      1.3518
+++ ChangeLog   29 Nov 2007 20:16:50 -0000      1.3519
@@ -1,3 +1,9 @@
+2007-11-29  Klaus Treichel  <address@hidden>
+
+       * cscc/csharp/cs_stmt.tc: Attach the type of the constant to the value
+       in the SemGuard node instead of the type of the constant's expression
+       during semantic analysis for ILNode_LocalConstDeclaration.
+
 2007-11-29  Radek Polak  <address@hidden>
 
        * engine/cvm.c: Fix building without debugger (thanks to Weaselweb).

Index: cscc/csharp/cs_stmt.tc
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/cscc/csharp/cs_stmt.tc,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -b -r1.41 -r1.42
--- cscc/csharp/cs_stmt.tc      13 Oct 2007 09:54:06 -0000      1.41
+++ cscc/csharp/cs_stmt.tc      29 Nov 2007 20:16:50 -0000      1.42
@@ -1932,6 +1932,10 @@
                        continue;
                }
 
+               /* Recreate the value with the real type instead of using the 
type
+                  of the expression */
+               CSSemSetValueKind(value, CSSemGetKind(value), type);
+
                /* Guard the node from re-evaluation */
                
decl->initializer=ILNode_SemGuard_create(decl->initializer,value);
                data = ILScopeLookup(info->currentScope, name, 0);




reply via email to

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