Commit 906c7c32 by Tom Tromey Committed by Tom Tromey

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
parent 3e895978
2003-01-22 Tom Tromey <tromey@redhat.com> 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. * gcj.texi (Input and output files): Mention non-class entries.
* decl.c (java_init_decl_processing): Call * decl.c (java_init_decl_processing): Call
init_resource_processing. init_resource_processing.
......
...@@ -1901,15 +1901,16 @@ build_invokeinterface (tree dtable, tree method) ...@@ -1901,15 +1901,16 @@ build_invokeinterface (tree dtable, tree method)
abstract nor static. */ abstract nor static. */
if (class_ident == NULL_TREE) 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, dtable = build (COMPONENT_REF, class_ptr_type, dtable,
lookup_field (&dtable_type, class_ident)); lookup_field (&dtable_type, class_ident));
interface = DECL_CONTEXT (method); interface = DECL_CONTEXT (method);
if (! CLASS_INTERFACE (TYPE_NAME (interface)))
abort ();
layout_class_methods (interface); layout_class_methods (interface);
if (flag_indirect_dispatch) if (flag_indirect_dispatch)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment