[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dotgnu-pnet-commits] pnet ChangeLog ilalink/link_class.c ilalink/lin...
From: |
Klaus Treichel |
Subject: |
[dotgnu-pnet-commits] pnet ChangeLog ilalink/link_class.c ilalink/lin... |
Date: |
Tue, 17 Jul 2007 17:30:29 +0000 |
CVSROOT: /cvsroot/dotgnu-pnet
Module name: pnet
Changes by: Klaus Treichel <ktreichel> 07/07/17 17:30:29
Modified files:
. : ChangeLog
ilalink : link_class.c link_method.c
ilasm : ilasm_build.c
image : generic.c meta_build.c
include : il_program.h
Log message:
Fix an image load error when loading generic constraints.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pnet/ChangeLog?cvsroot=dotgnu-pnet&r1=1.3478&r2=1.3479
http://cvs.savannah.gnu.org/viewcvs/pnet/ilalink/link_class.c?cvsroot=dotgnu-pnet&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/pnet/ilalink/link_method.c?cvsroot=dotgnu-pnet&r1=1.30&r2=1.31
http://cvs.savannah.gnu.org/viewcvs/pnet/ilasm/ilasm_build.c?cvsroot=dotgnu-pnet&r1=1.30&r2=1.31
http://cvs.savannah.gnu.org/viewcvs/pnet/image/generic.c?cvsroot=dotgnu-pnet&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/pnet/image/meta_build.c?cvsroot=dotgnu-pnet&r1=1.47&r2=1.48
http://cvs.savannah.gnu.org/viewcvs/pnet/include/il_program.h?cvsroot=dotgnu-pnet&r1=1.57&r2=1.58
Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/ChangeLog,v
retrieving revision 1.3478
retrieving revision 1.3479
diff -u -b -r1.3478 -r1.3479
--- ChangeLog 15 Jul 2007 19:55:23 -0000 1.3478
+++ ChangeLog 17 Jul 2007 17:30:28 -0000 1.3479
@@ -1,3 +1,19 @@
+2007-07-17 Klaus Treichel <address@hidden>
+
+ * ilalink/link_class.c, ilalink/link_method.c, ilasm/ilasm_build.c: Add
the
+ NULL token to the parameters for ILGenericParAddConstraint.
+
+ * image/generic.c: Add the function ILConstraintCreate to make the api
+ more consistent. Use this function in ILGenericParAddConstraint.
+ Add the token to ILGenericParAddConstraint to fix an image load error
+ when loading generic constraints.
+
+ image/meta_build.c: Pass the token in the call to
ILGenericParAddConstraint
+ to fix the image load error.
+
+ * include/il_program.h: Add the prototype for ILConstraintCreate. Add
the
+ token to the prototype for ILGenericParAddConstraint.
+
2007-07-15 Klaus Treichel <address@hidden>
* ilasm/ilasm_build.c: Handle TypeSpec parents for MemberRefs in
@@ -16,6 +32,7 @@
* image/program.h: Remove the declaration of ILMemberRef.
* include/il_program.h: Add the declaration of ILMemberRef. Add the
+
prototypes for ILClassCreateWrapper and ILMemberRefCreate. Add some
helper
macros for accessing members of MemberRefs.
Index: ilalink/link_class.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/ilalink/link_class.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- ilalink/link_class.c 1 Jul 2007 14:15:16 -0000 1.15
+++ ilalink/link_class.c 17 Jul 2007 17:30:29 -0000 1.16
@@ -270,7 +270,7 @@
{
return 0;
}
- if (!ILGenericParAddConstraint(newGenPar,
constraint))
+ if (!ILGenericParAddConstraint(newGenPar, 0,
constraint))
{
return 0;
}
Index: ilalink/link_method.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/ilalink/link_method.c,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -b -r1.30 -r1.31
--- ilalink/link_method.c 1 Jul 2007 14:15:16 -0000 1.30
+++ ilalink/link_method.c 17 Jul 2007 17:30:29 -0000 1.31
@@ -867,7 +867,7 @@
{
return 0;
}
- if (!ILGenericParAddConstraint(newGenPar,
constraint))
+ if (!ILGenericParAddConstraint(newGenPar, 0,
constraint))
{
return 0;
}
Index: ilasm/ilasm_build.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/ilasm/ilasm_build.c,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -b -r1.30 -r1.31
--- ilasm/ilasm_build.c 15 Jul 2007 19:55:24 -0000 1.30
+++ ilasm/ilasm_build.c 17 Jul 2007 17:30:29 -0000 1.31
@@ -301,7 +301,7 @@
}
constraint = ILToProgramItem(spec);
}
- ILGenericParAddConstraint(genPar, constraint);
+ ILGenericParAddConstraint(genPar, 0,
constraint);
}
ILFree(typeConstraint);
typeConstraint = nextTypeConstraint;
Index: image/generic.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/image/generic.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- image/generic.c 1 Jul 2007 16:46:41 -0000 1.6
+++ image/generic.c 17 Jul 2007 17:30:29 -0000 1.7
@@ -111,34 +111,58 @@
}
}
-ILGenericConstraint *ILGenericParAddConstraint(ILGenericPar *genPar,
ILProgramItem *constraint)
+ILGenericConstraint *ILConstraintCreate(ILImage *image, ILToken token,
+
ILProgramItem *owner,
+
ILProgramItem *classInfo)
{
- ILGenericConstraint **last = &(genPar->firstConstraint);
+ ILGenericConstraint *constraint;
- while (*last != 0)
+
+ constraint = ILMemStackAlloc(&(image->memStack), ILGenericConstraint);
+ if(!constraint)
{
- last = &((*last)->nextConstraint);
+ return 0;
}
- (*last) = ILMemStackAlloc(&(constraint->image->memStack),
ILGenericConstraint);
- if(!(*last))
+ constraint->ownedItem.programItem.image = owner->image;
+ constraint->ownedItem.owner = owner;
+ constraint->parameter = owner;
+ constraint->constraint = classInfo;
+ constraint->nextConstraint = 0;
+
+ /* Assign a token code to the GenericConstraint information block */
+ if(token != 0 || image->type == IL_IMAGETYPE_BUILDING)
+ {
+ if(!_ILImageSetToken(image,
+
&(constraint->ownedItem.programItem), token,
+
IL_META_TOKEN_GENERIC_CONSTRAINT))
{
return 0;
}
+ }
- (*last)->ownedItem.programItem.image =
genPar->ownedItem.programItem.image;
- (*last)->ownedItem.owner = ILToProgramItem(genPar);
- (*last)->parameter = ILToProgramItem(genPar);
- (*last)->constraint = constraint;
- (*last)->nextConstraint = 0;
+ return constraint;
+}
- /* Assign a token code to the GenericConstraint information block */
- if(!_ILImageSetToken(genPar->ownedItem.programItem.image,
-
&((*last)->ownedItem.programItem), 0,
-
IL_META_TOKEN_GENERIC_CONSTRAINT))
+ILGenericConstraint *ILGenericParAddConstraint(ILGenericPar *genPar,
+
ILToken token,
+
ILProgramItem *constraint)
+{
+ ILGenericConstraint **last = &(genPar->firstConstraint);
+
+ while (*last != 0)
+ {
+ last = &((*last)->nextConstraint);
+ }
+ (*last) = ILConstraintCreate(genPar->ownedItem.programItem.image,
+ token,
+
ILToProgramItem(genPar),
+ constraint);
+ if(!(*last))
{
return 0;
}
+
return (*last);
}
Index: image/meta_build.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/image/meta_build.c,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -b -r1.47 -r1.48
--- image/meta_build.c 1 Jul 2007 14:15:16 -0000 1.47
+++ image/meta_build.c 17 Jul 2007 17:30:29 -0000 1.48
@@ -3266,7 +3266,9 @@
}
/* Add the generic constraint to the parameter */
- if (!ILGenericParAddConstraint(genPar, ILProgramItem_FromToken (image,
+ if (!ILGenericParAddConstraint(genPar,
+ token,
+
ILProgramItem_FromToken (image,
values[IL_OFFSET_GENERICCON_CONSTRAINT])))
{
return IL_LOADERR_MEMORY;
Index: include/il_program.h
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/include/il_program.h,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -b -r1.57 -r1.58
--- include/il_program.h 15 Jul 2007 19:55:24 -0000 1.57
+++ include/il_program.h 17 Jul 2007 17:30:29 -0000 1.58
@@ -2354,7 +2354,9 @@
/*
* Add a constraint to a generic parameter.
*/
-ILGenericConstraint *ILGenericParAddConstraint(ILGenericPar *genPar,
ILProgramItem *constraint);
+ILGenericConstraint *ILGenericParAddConstraint(ILGenericPar *genPar,
+
ILToken token,
+
ILProgramItem *constraint);
/*
* Get a generic parameter record for a particular owner and number.
@@ -2379,6 +2381,13 @@
#define ILGenericPar_Name(genPar)
(ILGenericParGetName((genPar)))
/*
+ * Create a generic constraint.
+ */
+ILGenericConstraint *ILConstraintCreate(ILImage *image, ILToken token,
+
ILProgramItem *owner,
+
ILProgramItem *classInfo);
+
+/*
* Return the associated Parameter to the generic constraint
*/
ILGenericPar *ILConstraintGetParam(ILGenericConstraint *constraint);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [dotgnu-pnet-commits] pnet ChangeLog ilalink/link_class.c ilalink/lin...,
Klaus Treichel <=