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

[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);




reply via email to

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