Commit 2dc219a1 by Per Bothner

expr.c (process_jvm_instruction): Coerce to correct Throwable sub-type the…

expr.c (process_jvm_instruction): Coerce to correct Throwable sub-type the result of the call that gets the...

�
	* expr.c (process_jvm_instruction):  Coerce to correct Throwable
	sub-type the result of the call that gets the exception value.
	* parse.y (java_complete_expand_methods):  If flags_syntax_only,
	don't call finish_class.
	* parse.y (java_check_regular_methods):  If METHOD_PRIVATE,
	clear found before continuing.
	* verify.c (verify_jvm_instructions):  On an array load, allow
	and handle top of stack to be TYPE_NULL.

From-SVN: r24696
parent 3217b0f3
...@@ -882,10 +882,12 @@ verify_jvm_instructions (jcf, byte_ops, length) ...@@ -882,10 +882,12 @@ verify_jvm_instructions (jcf, byte_ops, length)
case OPCODE_saload: type = promote_type (short_type_node); goto aload; case OPCODE_saload: type = promote_type (short_type_node); goto aload;
aload: aload:
pop_type (int_type_node); pop_type (int_type_node);
type = pop_type (ptr_type_node); tmp = pop_type (ptr_type_node);
if (! is_array_type_p (type)) if (is_array_type_p (tmp))
type = TYPE_ARRAY_ELEMENT (TREE_TYPE (tmp));
else if (tmp != TYPE_NULL)
VERIFICATION_ERROR ("array load from non-array type"); VERIFICATION_ERROR ("array load from non-array type");
push_type (TYPE_ARRAY_ELEMENT (TREE_TYPE (type))); push_type (type);
break; break;
case OPCODE_anewarray: case OPCODE_anewarray:
......
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