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

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

[dotgnu-pnet-commits] pnet ChangeLog cscc/c/c_types.c


From: Klaus Treichel
Subject: [dotgnu-pnet-commits] pnet ChangeLog cscc/c/c_types.c
Date: Mon, 28 May 2007 13:40:44 +0000

CVSROOT:        /cvsroot/dotgnu-pnet
Module name:    pnet
Changes by:     Klaus Treichel <ktreichel>      07/05/28 13:40:44

Modified files:
        .              : ChangeLog 
        cscc/c         : c_types.c 

Log message:
        Fix reading non system flags of the ILClass attributes.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pnet/ChangeLog?cvsroot=dotgnu-pnet&r1=1.3458&r2=1.3459
http://cvs.savannah.gnu.org/viewcvs/pnet/cscc/c/c_types.c?cvsroot=dotgnu-pnet&r1=1.48&r2=1.49

Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/ChangeLog,v
retrieving revision 1.3458
retrieving revision 1.3459
diff -u -b -r1.3458 -r1.3459
--- ChangeLog   26 May 2007 07:23:18 -0000      1.3458
+++ ChangeLog   28 May 2007 13:40:44 -0000      1.3459
@@ -1,3 +1,9 @@
+2007-05-28  Klaus Treichel  <address@hidden>
+
+       * cscc/c/c_types.h: Fix reading non system attributes of an ILClass. We 
have
+       to read the ILClass member directly because non system flags are masked 
out
+       otherwise.
+
 2007-05-26  Klaus Treichel  <address@hidden>
 
        * codegen/cg_scope.c: Change the cast in the assignment of data to 
*index

Index: cscc/c/c_types.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/cscc/c/c_types.c,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -b -r1.48 -r1.49
--- cscc/c/c_types.c    5 May 2007 15:56:41 -0000       1.48
+++ cscc/c/c_types.c    28 May 2007 13:40:44 -0000      1.49
@@ -19,6 +19,11 @@
  */
 
 #include <cscc/c/c_internal.h>
+/* This one is included only to be able to read all class attributes */
+/* Non System flags are masked out by ILClass_Attrs (ILClassGetAttrs). */
+/* So the flags for IL_META_TYPEDEF_IS_STRUCT, IL_META_TYPEDEF_IS_UNION */
+/* and IL_META_TYPEDEF_IS_ENUM might get lost there. */
+#include <image/program.h>
 #include "il_serialize.h"
 #include "il_crypt.h"
 
@@ -1748,8 +1753,9 @@
        type = ILTypeStripPrefixes(type);
        if(ILType_IsValueType(type))
        {
-               if((ILClass_Attrs(ILType_ToValueType(type)) &
-                               IL_META_TYPEDEF_IS_STRUCT) != 0)
+               ILClass *info = ILType_ToValueType(type);
+
+               if((info->attributes & IL_META_TYPEDEF_IS_STRUCT) != 0)
                {
                        return 1;
                }
@@ -1762,8 +1768,9 @@
        type = ILTypeStripPrefixes(type);
        if(ILType_IsValueType(type))
        {
-               if((ILClass_Attrs(ILType_ToValueType(type)) &
-                               IL_META_TYPEDEF_IS_UNION) != 0)
+               ILClass *info = ILType_ToValueType(type);
+
+               if((info->attributes & IL_META_TYPEDEF_IS_UNION) != 0)
                {
                        return 1;
                }




reply via email to

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