mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-01-29 13:44:28 +08:00
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
This commit is contained in:
parent
3217b0f3ca
commit
2dc219a11d
@ -882,10 +882,12 @@ verify_jvm_instructions (jcf, byte_ops, length)
|
||||
case OPCODE_saload: type = promote_type (short_type_node); goto aload;
|
||||
aload:
|
||||
pop_type (int_type_node);
|
||||
type = pop_type (ptr_type_node);
|
||||
if (! is_array_type_p (type))
|
||||
tmp = pop_type (ptr_type_node);
|
||||
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");
|
||||
push_type (TYPE_ARRAY_ELEMENT (TREE_TYPE (type)));
|
||||
push_type (type);
|
||||
break;
|
||||
|
||||
case OPCODE_anewarray:
|
||||
|
Loading…
Reference in New Issue
Block a user