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:
Per Bothner 1999-04-06 07:28:37 -07:00
parent b399dcd2cc
commit ddcd8199a8
2 changed files with 21 additions and 2 deletions

View File

@ -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
pop_type (type)
pop_type_0 (type)
tree type;
{
int n_words;
@ -310,8 +314,22 @@ pop_type (type)
&& t == object_ptr_type_node)
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");
return t;
return type;
}
/* Return 1f if SOURCE_TYPE can be safely widened to TARGET_TYPE.

View File

@ -518,6 +518,7 @@ extern tree build_java_array_type PROTO ((tree, HOST_WIDE_INT));
extern int is_compiled_class PROTO ((tree));
extern tree mangled_classname PROTO ((const char*, tree));
extern tree lookup_label PROTO ((int));
extern tree pop_type_0 PROTO ((tree));
extern tree pop_type PROTO ((tree));
extern void pop_argument_types PROTO ((tree));
extern tree decode_newarray_type PROTO ((int));