check-init.c (check_init): Fix TRY_FINALLY_EXPR logic.

* check-init.c (check_init):  Fix TRY_FINALLY_EXPR logic.

	* check-init.c (check_init):  Don't call done_alternative after
	processing loop code, as a LOOP_EXPR never terminates normally.

From-SVN: r39534
This commit is contained in:
Per Bothner 2001-02-07 19:45:14 -08:00 committed by Per Bothner
parent 14baf6b5ea
commit 4a83be51ae
2 changed files with 10 additions and 3 deletions

View File

@ -1,3 +1,10 @@
2001-02-07 Per Bothner <per@bothner.com>
* check-init.c (check_init): Fix TRY_FINALLY_EXPR logic.
* check-init.c (check_init): Don't call done_alternative after
processing loop code, as a LOOP_EXPR never terminates normally.
2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
* gcj.texi: Change sources.redhat.com reference to gcc.gnu.org.

View File

@ -451,7 +451,6 @@ check_init (exp, before)
BEGIN_ALTERNATIVES (before, alt);
alt.block = exp;
check_init (TREE_OPERAND (exp, 0), before);
done_alternative (before, &alt);
END_ALTERNATIVES (before, alt);
return;
}
@ -571,8 +570,9 @@ check_init (exp, before)
{
words tmp = ALLOC_WORDS (num_current_words);
COPY (tmp, before);
check_init (TREE_OPERAND (exp, 0), tmp);
check_init (TREE_OPERAND (exp, 1), before);
check_init (TREE_OPERAND (exp, 0), before);
check_init (TREE_OPERAND (exp, 1), tmp);
UNION (before, before, tmp);
FREE_WORDS (tmp);
}
return;