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:
Andrew Haley 2005-10-13 17:36:07 +00:00 committed by Andrew Haley
parent c1d70e1a52
commit 02f3e085c7
2 changed files with 9 additions and 2 deletions

View 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.

View 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