PatchSet 7300 
Date: 2006/05/25 22:26:29
Author: robilad
Branch: HEAD
Tag: (none) 
Log:
small warning fix for 4.1.0

2006-05-25  Dalibor Topic  <[EMAIL PROTECTED]>

        * kaffe/kaffevm/classMethod.h (Hjava_lang_Class):
        Changed type of superclass to void * to fix compiler
        warning with gcc 4.1.0.
        (getSuperclass) New inline function.

        * kaffe/kaffevm/classMethod.c (processClass, resolveInterfaces,
        buildDispatchTable),
        kaffe/kaffevm/gcFuncs.c (destroyClass),
        kaffe/kaffevm/verifier/verify2.c (verify2):
        use getSuperclass.

Members: 
        ChangeLog:1.4804->1.4805 
        kaffe/kaffevm/classMethod.c:1.157->1.158 
        kaffe/kaffevm/classMethod.h:1.90->1.91 
        kaffe/kaffevm/gcFuncs.c:1.84->1.85 
        kaffe/kaffevm/verifier/verify2.c:1.6->1.7 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.4804 kaffe/ChangeLog:1.4805
--- kaffe/ChangeLog:1.4804      Wed May 24 21:47:14 2006
+++ kaffe/ChangeLog     Thu May 25 22:26:29 2006
@@ -1,3 +1,16 @@
+2006-05-25  Dalibor Topic  <[EMAIL PROTECTED]>
+
+       * kaffe/kaffevm/classMethod.h (Hjava_lang_Class):
+       Changed type of superclass to void * to fix compiler
+       warning with gcc 4.1.0.
+       (getSuperclass) New inline function.
+
+       * kaffe/kaffevm/classMethod.c (processClass, resolveInterfaces,
+       buildDispatchTable),
+       kaffe/kaffevm/gcFuncs.c (destroyClass),
+       kaffe/kaffevm/verifier/verify2.c (verify2):
+       use getSuperclass.
+
 2006-05-24  Dalibor Topic  <[EMAIL PROTECTED]>
 
        * include/Makefile.am (stamp-h1all): Merged with
Index: kaffe/kaffe/kaffevm/classMethod.c
diff -u kaffe/kaffe/kaffevm/classMethod.c:1.157 
kaffe/kaffe/kaffevm/classMethod.c:1.158
--- kaffe/kaffe/kaffevm/classMethod.c:1.157     Sun Apr 23 01:32:12 2006
+++ kaffe/kaffe/kaffevm/classMethod.c   Thu May 25 22:26:40 2006
@@ -245,29 +245,29 @@
                                       class->superclass, 
                                       (void **)&(class->superclass));
                        if( !(class->accflags & ACC_INTERFACE) &&
-                           (class->superclass->accflags & ACC_INTERFACE)) {
+                           (getSuperclass(class)->accflags & ACC_INTERFACE)) {
                                postExceptionMessage(
                                        einfo,
                                        JAVA_LANG(
                                                IncompatibleClassChangeError),
                                        "Super class, %s, is an interface.",
-                                       class->superclass->name->data);
+                                       getSuperclass(class)->name->data);
                                success = false;
                                goto done;
                        }
                        /* that's pretty much obsolete. */
-                       assert(class->superclass->state >= CSTATE_DOING_LINK);
+                       assert(getSuperclass(class)->state >= 
CSTATE_DOING_LINK);
                        classMappingLoaded(ce, class);
                        /* Copy initial field size and gc layout.
                         * Later, as this class's fields are resolved, they
                         * are added to the superclass's layout.
                         */
-                       CLASS_FSIZE(class) = CLASS_FSIZE(class->superclass);
-                       class->gc_layout = class->superclass->gc_layout;
+                       CLASS_FSIZE(class) = CLASS_FSIZE(getSuperclass(class));
+                       class->gc_layout = getSuperclass(class)->gc_layout;
                }
                if( class->superclass )
                {
-                       assert(class->superclass->state >= CSTATE_DOING_LINK);
+                       assert(getSuperclass(class)->state >= 
CSTATE_DOING_LINK);
                }
                
        }
@@ -527,7 +527,7 @@
                                               einfo);
                        lockClass(class);
                        if (success == false) {
-                               if (class->superclass->state == CSTATE_FAILED)
+                               if (getSuperclass(class)->state == 
CSTATE_FAILED)
                                        SET_CLASS_STATE(CSTATE_FAILED);
                                goto done;
                        }
@@ -821,7 +821,7 @@
                        success = false;
                        goto done;
                }
-               j += class->superclass->total_interface_len;
+               j += getSuperclass(class)->total_interface_len;
        }
        for (i = 0; i < class->interface_len; i++) {
                uintp iface = (uintp)class->interfaces[i];
@@ -2079,7 +2079,7 @@
        Hjava_lang_Class *cc;
 
        if (class->superclass != NULL) {
-               class->msize = class->superclass->msize;
+               class->msize = getSuperclass(class)->msize;
        }
        else {
                class->msize = 0;
Index: kaffe/kaffe/kaffevm/classMethod.h
diff -u kaffe/kaffe/kaffevm/classMethod.h:1.90 
kaffe/kaffe/kaffevm/classMethod.h:1.91
--- kaffe/kaffe/kaffevm/classMethod.h:1.90      Sun Apr 23 01:32:12 2006
+++ kaffe/kaffe/kaffevm/classMethod.h   Thu May 25 22:26:40 2006
@@ -110,7 +110,7 @@
        /* If non-NULL, a pointer to the superclass.
         * However, if state < CSTATE_DOING_PREPARE, then
         * (int) superclass is a constant pool index. */
-       struct Hjava_lang_Class* superclass;
+       void*                   superclass;
 
        struct _constants       constants;
 
@@ -703,5 +703,17 @@
 extern Utf8Const* EnclosingMethod_name;  /* "EnclosingMethod" */
 
 void initialiseSecurity (void);
+
+/**
+ * get super class for a given class.
+ *
+ * @param class the class
+ *
+ * @return superclass of class
+ */
+static inline struct Hjava_lang_Class* getSuperclass(struct Hjava_lang_Class* 
class)
+{
+  return class->superclass;
+}
 
 #endif
Index: kaffe/kaffe/kaffevm/gcFuncs.c
diff -u kaffe/kaffe/kaffevm/gcFuncs.c:1.84 kaffe/kaffe/kaffevm/gcFuncs.c:1.85
--- kaffe/kaffe/kaffevm/gcFuncs.c:1.84  Sat Apr 22 23:42:06 2006
+++ kaffe/kaffe/kaffevm/gcFuncs.c       Thu May 25 22:26:40 2006
@@ -239,7 +239,7 @@
          KGC_rmRef(collector, clazz->itable2dtable);
        }
        if (clazz->gc_layout != NULL && clazz->superclass != NULL &&
-           clazz->superclass->gc_layout != clazz->gc_layout)
+           getSuperclass(clazz)->gc_layout != clazz->gc_layout)
          KFREE(clazz->gc_layout);
 
        KFREE(clazz->sourcefile);
Index: kaffe/kaffe/kaffevm/verifier/verify2.c
diff -u kaffe/kaffe/kaffevm/verifier/verify2.c:1.6 
kaffe/kaffe/kaffevm/verifier/verify2.c:1.7
--- kaffe/kaffe/kaffevm/verifier/verify2.c:1.6  Fri Aug 19 00:38:34 2005
+++ kaffe/kaffe/kaffevm/verifier/verify2.c      Thu May 25 22:26:41 2006
@@ -330,7 +330,7 @@
                                             "class \"%s\" does not have a 
superclass",
                                             CLASS_CNAME(class));
                        return(false);
-               } else if (CLASS_IS_FINAL(class->superclass)) {
+               } else if (CLASS_IS_FINAL(getSuperclass(class))) {
                        
/*********************************************************
                         * 2a: check that final classes are not inherited from
                         
*********************************************************/
@@ -338,7 +338,7 @@
                        postExceptionMessage(einfo, JAVA_LANG(VerifyError),
                                             "class \"%s\" cannot inherit from 
final class \"%s\"",
                                             CLASS_CNAME(class),
-                                            CLASS_CNAME(class->superclass));
+                                            CLASS_CNAME(getSuperclass(class)));
                        return(false);
                } else if (CLASS_IS_INTERFACE(class)) {
                        /* we separate this from the rest of the method 
checking because the only requirement
@@ -432,7 +432,7 @@
                                                                        
postExceptionMessage(einfo, JAVA_LANG(VerifyError),
                                                                                
             "final method \"%s\" declared in class \"%s\" is overriden in 
class \"%s\"",
                                                                                
             METHOD_NAMED(method),
-                                                                               
             CLASS_CNAME(class->superclass),
+                                                                               
             CLASS_CNAME(getSuperclass(class)),
                                                                                
             CLASS_CNAME(class));
                                                                        
return(false);
                                                                }

_______________________________________________
kaffe mailing list
[email protected]
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to