mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-25 20:03:58 +08:00
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
This commit is contained in:
parent
c1d70e1a52
commit
02f3e085c7
@ -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.
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user