diff options
author | Per Bothner <per@bothner.com> | 2001-02-07 19:45:14 -0800 |
---|---|---|
committer | Per Bothner <bothner@gcc.gnu.org> | 2001-02-07 19:45:14 -0800 |
commit | 4a83be51aef0d16a4e224a557f53ebb827618bf8 (patch) | |
tree | 56410d08025f541ecf008cbe7e962afa79ad1870 /gcc/java | |
parent | 14baf6b5ea5aea8535f6b7d4a830e94a4a427924 (diff) | |
download | gcc-4a83be51aef0d16a4e224a557f53ebb827618bf8.zip gcc-4a83be51aef0d16a4e224a557f53ebb827618bf8.tar.gz gcc-4a83be51aef0d16a4e224a557f53ebb827618bf8.tar.bz2 |
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
Diffstat (limited to 'gcc/java')
-rw-r--r-- | gcc/java/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/java/check-init.c | 6 |
2 files changed, 10 insertions, 3 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index fa240b0..9923968 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -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. diff --git a/gcc/java/check-init.c b/gcc/java/check-init.c index 9d89196..49df072 100644 --- a/gcc/java/check-init.c +++ b/gcc/java/check-init.c @@ -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; |