For PR java/4509:

* parse.y (java_complete_lhs) [COMPOUND_EXPR]: Correctly compute
	CAN_COMPLETE_NORMALLY for the node.
	* jcf-write.c (generate_bytecode_insns) [COMPOUND_EXPR]: Don't
	generate code for second branch if first branch can't complete
	normally.
	(generate_bytecode_insns) [LOOP_EXPR]: Don't generate `goto' to
	the loop head if the loop body can't complete normally.

From-SVN: r48249
This commit is contained in:
Tom Tromey 2001-12-21 19:15:36 +00:00
parent 0ba28a6d48
commit 82712f8b74

View File

@ -5235,7 +5235,16 @@ check_inner_circular_reference (source, target)
for (i = 0; i < TREE_VEC_LENGTH (basetype_vec); i++)
{
tree su = BINFO_TYPE (TREE_VEC_ELT (basetype_vec, i));
tree su;
/* We can end up with a NULL_TREE or an incomplete type here if
we are compiling multiple files at once. It's safe to simply
ignore these cases. */
if (TREE_VEC_ELT (basetype_vec, i) == NULL_TREE)
continue;
su = BINFO_TYPE (TREE_VEC_ELT (basetype_vec, i));
if (INCOMPLETE_TYPE_P (su))
continue;
if (inherits_from_p (su, target))
return lookup_cl (TYPE_NAME (su));