aboutsummaryrefslogtreecommitdiff
path: root/gcc/java
diff options
context:
space:
mode:
authorPer Bothner <per@bothner.com>2001-02-07 19:45:14 -0800
committerPer Bothner <bothner@gcc.gnu.org>2001-02-07 19:45:14 -0800
commit4a83be51aef0d16a4e224a557f53ebb827618bf8 (patch)
tree56410d08025f541ecf008cbe7e962afa79ad1870 /gcc/java
parent14baf6b5ea5aea8535f6b7d4a830e94a4a427924 (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/java/check-init.c6
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;