OSDN Git Service

2005-10-12 Andrew Haley <aph@redhat.com>
authoraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 13 Oct 2005 17:36:07 +0000 (17:36 +0000)
committeraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 13 Oct 2005 17:36:07 +0000 (17:36 +0000)
PR java/24251
* link.cc (ensure_method_table_complete): Install Miranda methods
for interfaces too.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105375 138bc75d-0d04-0410-961f-82ee72b054a4

libjava/ChangeLog
libjava/link.cc

index 8098216..f8f55a0 100644 (file)
@@ -1,3 +1,9 @@
+2005-10-12  Andrew Haley  <aph@redhat.com>
+
+       PR java/24251
+       * link.cc (ensure_method_table_complete): Install Miranda methods
+       for interfaces too.
+
 2005-10-10  Tom Tromey  <tromey@redhat.com>
 
        * testsuite/libjava.lang/ExtraClassLoader.out: New file.
 2005-10-10  Tom Tromey  <tromey@redhat.com>
 
        * testsuite/libjava.lang/ExtraClassLoader.out: New file.
index 7e51a26..2d6b199 100644 (file)
@@ -1548,11 +1548,12 @@ _Jv_Linker::add_miranda_methods (jclass base, jclass iface_class)
 void
 _Jv_Linker::ensure_method_table_complete (jclass klass)
 {
 void
 _Jv_Linker::ensure_method_table_complete (jclass klass)
 {
-  if (klass->vtable != NULL || klass->isInterface())
+  if (klass->vtable != NULL)
     return;
 
   // We need our superclass to have its own Miranda methods installed.
     return;
 
   // We need our superclass to have its own Miranda methods installed.
-  wait_for_state (klass->getSuperclass (), JV_STATE_LOADED);
+  if (! klass->isInterface())
+    wait_for_state (klass->getSuperclass (), JV_STATE_LOADED);
 
   // A class might have so-called "Miranda methods".  This is a method
   // that is declared in an interface and not re-declared in an
 
   // A class might have so-called "Miranda methods".  This is a method
   // that is declared in an interface and not re-declared in an