[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet-commits] CVS: pnet/engine verify.c,1.38,1.39
From: |
Gopal.V <address@hidden> |
Subject: |
[Dotgnu-pnet-commits] CVS: pnet/engine verify.c,1.38,1.39 |
Date: |
Mon, 09 Dec 2002 08:19:20 -0500 |
Update of /cvsroot/dotgnu-pnet/pnet/engine
In directory subversions:/tmp/cvs-serv7888/engine
Modified Files:
verify.c
Log Message:
array type checks for AssignCompatible
Index: verify.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/verify.c,v
retrieving revision 1.38
retrieving revision 1.39
diff -C2 -r1.38 -r1.39
*** verify.c 8 Dec 2002 22:34:35 -0000 1.38
--- verify.c 9 Dec 2002 13:19:18 -0000 1.39
***************
*** 334,337 ****
--- 334,338 ----
ILClass *classInfo2;
ILMethod *methodRef;
+ ILType *objType;
/* Check for safe and unsafe pointer assignments */
***************
*** 433,440 ****
return 0;
}
image = ILProgramItem_Image(method);
classInfo = ILClassResolve(ILClassFromType(image, 0, type, 0));
classInfo2 = ILClassResolve
! (ILClassFromType(image, 0, item->typeInfo, 0));
if(classInfo && classInfo2)
{
--- 434,449 ----
return 0;
}
+ /* make a copy to avoid unecessary complications */
+ objType=item->typeInfo;
+ if(ILType_IsArray(type) && ILType_IsArray(objType) &&
+ (ILTypeGetRank(type) == ILTypeGetRank(objType)))
+ {
+ objType=ILTypeGetElemType(objType);
+ type=ILTypeGetElemType(type);
+ }
image = ILProgramItem_Image(method);
classInfo = ILClassResolve(ILClassFromType(image, 0, type, 0));
classInfo2 = ILClassResolve
! (ILClassFromType(image, 0, objType, 0));
if(classInfo && classInfo2)
{
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] CVS: pnet/engine verify.c,1.38,1.39,
Gopal.V <address@hidden> <=