diff options
author | Andrew Haley <aph@redhat.com> | 2005-10-13 17:36:07 +0000 |
---|---|---|
committer | Andrew Haley <aph@gcc.gnu.org> | 2005-10-13 17:36:07 +0000 |
commit | 02f3e085c7ba33279329aae728aaf42dc922add6 (patch) | |
tree | ed6a5f713bffb23dc047a7b7d17b3af36a5ad222 /libjava/link.cc | |
parent | c1d70e1a522d8c82ca8898a46d746f2f352bf6d5 (diff) | |
download | gcc-02f3e085c7ba33279329aae728aaf42dc922add6.tar.gz |
re PR java/24251 (BC-compiled interfaces in libgcj can't be called from non-BC code)
2005-10-12 Andrew Haley <aph@redhat.com>
PR java/24251
* link.cc (ensure_method_table_complete): Install Miranda methods
for interfaces too.
From-SVN: r105375
Diffstat (limited to 'libjava/link.cc')
-rw-r--r-- | libjava/link.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libjava/link.cc b/libjava/link.cc index 7e51a2670e3..2d6b1990648 100644 --- a/libjava/link.cc +++ b/libjava/link.cc @@ -1548,11 +1548,12 @@ _Jv_Linker::add_miranda_methods (jclass base, jclass iface_class) 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. - 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 |