expr.c (build_invokeinterface): Abort if method's context is not an interface.

* expr.c (build_invokeinterface): Abort if method's context is not
	an interface.

From-SVN: r61615
This commit is contained in:
Tom Tromey 2003-01-22 20:53:54 +00:00 committed by Tom Tromey
parent 3e895978ee
commit 906c7c3265
2 changed files with 10 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2003-01-22 Tom Tromey <tromey@redhat.com>
* expr.c (build_invokeinterface): Abort if method's context is not
an interface.
2003-01-22 Tom Tromey <tromey@redhat.com>
* gcj.texi (Input and output files): Mention non-class entries.

View File

@ -1901,15 +1901,16 @@ build_invokeinterface (tree dtable, tree method)
abstract nor static. */
if (class_ident == NULL_TREE)
{
class_ident = get_identifier ("class");
}
class_ident = get_identifier ("class");
dtable = build_java_indirect_ref (dtable_type, dtable, flag_check_references);
dtable = build_java_indirect_ref (dtable_type, dtable,
flag_check_references);
dtable = build (COMPONENT_REF, class_ptr_type, dtable,
lookup_field (&dtable_type, class_ident));
interface = DECL_CONTEXT (method);
if (! CLASS_INTERFACE (TYPE_NAME (interface)))
abort ();
layout_class_methods (interface);
if (flag_indirect_dispatch)