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/c c_lvalue.tc,1.12,1.13


From: Rhys Weatherley <address@hidden>
Subject: [Dotgnu-pnet-commits] CVS: pnet/cscc/c c_lvalue.tc,1.12,1.13
Date: Wed, 25 Jun 2003 20:47:33 -0400

Update of /cvsroot/dotgnu-pnet/pnet/cscc/c
In directory subversions:/tmp/cvs-serv989/cscc/c

Modified Files:
        c_lvalue.tc 
Log Message:


ILNode_CDeref: decay array types in the result of the '*' operator.


Index: c_lvalue.tc
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/cscc/c/c_lvalue.tc,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -r1.12 -r1.13
*** c_lvalue.tc 25 Jun 2003 07:07:06 -0000      1.12
--- c_lvalue.tc 26 Jun 2003 00:47:31 -0000      1.13
***************
*** 1284,1287 ****
--- 1284,1289 ----
  {
        CSemValue value;
+       ILType *type;
+       ILType *decayed;
  
        /* Perform semantic analysis on the pointer value */
***************
*** 1303,1312 ****
        }
  
!       /* Get the type of the pointed-to value */
!       node->type = CTypeGetPtrRef(CSemGetType(value));
!       node->machineType = ILTypeToMachineType(node->type);
! 
!       /* Return an l-value that corresponds to the pointed-to value */
!       CSemSetLValue(value, node->type);
        return value;
  }
--- 1305,1322 ----
        }
  
!       /* Get the type of the pointed-to value, decaying array types if needed 
*/
!       type = CTypeGetPtrRef(CSemGetType(value));
!       if(CTypeIsArray(type))
!       {
!               decayed = CTypeDecay(info, type);
!               CSemSetDecayedRValue(value, decayed, type);
!               type = decayed;
!       }
!       else
!       {
!               CSemSetLValue(value, type);
!       }
!       node->type = type;
!       node->machineType = ILTypeToMachineType(type);
        return value;
  }





reply via email to

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