}
}
+/* 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;
&& 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.
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));