expr.c (pop_type_0): New function.
� * expr.c (pop_type_0): New function. (pop_type): Use pop_type_0. * java-tree.h (pop_type_0): New declaration. * verify.c (verify_jvm_instructions): Check return instructions. From-SVN: r26217
This commit is contained in:
parent
b399dcd2cc
commit
ddcd8199a8
@ -273,8 +273,12 @@ push_value (value)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Pop a type from the type stack.
|
||||||
|
TYPE is the expected type. Return the actual type, which must be
|
||||||
|
convertible to TYPE, otherwise NULL_TREE is returned. */
|
||||||
|
|
||||||
tree
|
tree
|
||||||
pop_type (type)
|
pop_type_0 (type)
|
||||||
tree type;
|
tree type;
|
||||||
{
|
{
|
||||||
int n_words;
|
int n_words;
|
||||||
@ -310,8 +314,22 @@ pop_type (type)
|
|||||||
&& t == object_ptr_type_node)
|
&& t == object_ptr_type_node)
|
||||||
return t;
|
return t;
|
||||||
}
|
}
|
||||||
|
return NULL_TREE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Pop a type from the type stack.
|
||||||
|
TYPE is the expected type. Return the actual type, which must be
|
||||||
|
convertible to TYPE, otherwise call error. */
|
||||||
|
|
||||||
|
tree
|
||||||
|
pop_type (type)
|
||||||
|
tree type;
|
||||||
|
{
|
||||||
|
tree t = pop_type_0 (type);
|
||||||
|
if (t != NULL_TREE)
|
||||||
|
return t;
|
||||||
error ("unexpected type on stack");
|
error ("unexpected type on stack");
|
||||||
return t;
|
return type;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return 1f if SOURCE_TYPE can be safely widened to TARGET_TYPE.
|
/* Return 1f if SOURCE_TYPE can be safely widened to TARGET_TYPE.
|
||||||
|
@ -518,6 +518,7 @@ extern tree build_java_array_type PROTO ((tree, HOST_WIDE_INT));
|
|||||||
extern int is_compiled_class PROTO ((tree));
|
extern int is_compiled_class PROTO ((tree));
|
||||||
extern tree mangled_classname PROTO ((const char*, tree));
|
extern tree mangled_classname PROTO ((const char*, tree));
|
||||||
extern tree lookup_label PROTO ((int));
|
extern tree lookup_label PROTO ((int));
|
||||||
|
extern tree pop_type_0 PROTO ((tree));
|
||||||
extern tree pop_type PROTO ((tree));
|
extern tree pop_type PROTO ((tree));
|
||||||
extern void pop_argument_types PROTO ((tree));
|
extern void pop_argument_types PROTO ((tree));
|
||||||
extern tree decode_newarray_type PROTO ((int));
|
extern tree decode_newarray_type PROTO ((int));
|
||||||
|
Loading…
Reference in New Issue
Block a user