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

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

[Dotgnu-pnet-commits] CVS: pnet/cscc/csharp cs_oper.tc,1.40,1.41 cs_gra


From: Gopal.V <address@hidden>
Subject: [Dotgnu-pnet-commits] CVS: pnet/cscc/csharp cs_oper.tc,1.40,1.41 cs_grammar.y,1.56,1.57
Date: Thu, 08 May 2003 15:05:10 -0400

Update of /cvsroot/dotgnu-pnet/pnet/cscc/csharp
In directory subversions:/tmp/cvs-serv13153/cscc/csharp

Modified Files:
        cs_oper.tc cs_grammar.y 
Log Message:
Fix boolean conversion problems for user defined conversions


Index: cs_oper.tc
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/cscc/csharp/cs_oper.tc,v
retrieving revision 1.40
retrieving revision 1.41
diff -C2 -r1.40 -r1.41
*** cs_oper.tc  8 May 2003 15:25:56 -0000       1.40
--- cs_oper.tc  8 May 2003 19:05:07 -0000       1.41
***************
*** 1287,1290 ****
--- 1287,1298 ----
        }
  
+       if(ILCanCoerceNode(info,node->expr,CSSemGetType(value), 
ILType_Boolean,0))
+       {
+               ILCoerce(info,node->expr,&(node->expr),CSSemGetType(value),
+                                       ILType_Boolean,0);
+               CSSemSetRValue(value,ILType_Boolean);
+               return value;
+       }
+ 
        /* We need a class or a value type if not boolean */
        if(!ILType_IsValueType(CSSemGetType(value)) &&

Index: cs_grammar.y
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/cscc/csharp/cs_grammar.y,v
retrieving revision 1.56
retrieving revision 1.57
diff -C2 -r1.56 -r1.57
*** cs_grammar.y        21 Apr 2003 21:20:17 -0000      1.56
--- cs_grammar.y        8 May 2003 19:05:07 -0000       1.57
***************
*** 1558,1562 ****
  UnaryExpression
        : PrimaryExpression                                     { $$ = $1; }
!       | '!' PrefixedUnaryExpression           { MakeUnary(LogicalNot, $2); }
        | '~' PrefixedUnaryExpression           { MakeUnary(Not, $2); }
        | '(' Expression ')' UnaryExpression    {
--- 1558,1564 ----
  UnaryExpression
        : PrimaryExpression                                     { $$ = $1; }
!       | '!' PrefixedUnaryExpression           { 
!                               MakeUnary(LogicalNot,ILNode_ToBool_create($2)); 
!       }
        | '~' PrefixedUnaryExpression           { MakeUnary(Not, $2); }
        | '(' Expression ')' UnaryExpression    {





reply via email to

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