replace the top of the stack with the thrown object reference */
if (instruction_bits [PC] & BCODE_EXCEPTION_TARGET)
{
- pop_value (ptr_type_node);
- push_value (soft_exceptioninfo_call_node);
+ tree type = pop_type (ptr_type_node);
+ push_value (build1 (NOP_EXPR, type, soft_exceptioninfo_call_node));
}
switch (byte_ops[PC++])
found = lookup_argument_method (super_class, DECL_NAME (method), sig);
/* Nothing overrides or it's a private method. */
- if (!found || (found && METHOD_PRIVATE (found)))
+ if (!found)
continue;
+ if (METHOD_PRIVATE (found))
+ {
+ found = NULL_TREE;
+ continue;
+ }
/* If found wasn't verified, it's DECL_NAME won't be set properly.
We set it temporarily for the sake of the error report. */
{
if (flag_emit_class_files)
write_classfile (current_class);
- else
+ else if (! flag_syntax_only)
finish_class (current_class);
}
}
found = lookup_argument_method (super_class, DECL_NAME (method), sig);
/* Nothing overrides or it's a private method. */
- if (!found || (found && METHOD_PRIVATE (found)))
+ if (!found)
continue;
+ if (METHOD_PRIVATE (found))
+ {
+ found = NULL_TREE;
+ continue;
+ }
/* If found wasn't verified, it's DECL_NAME won't be set properly.
We set it temporarily for the sake of the error report. */
{
if (flag_emit_class_files)
write_classfile (current_class);
- else
+ else if (! flag_syntax_only)
finish_class (current_class);
}
}