[patch] Java definite assignment

Per Bothner per@bothner.com
Tue Feb 6 13:30:00 GMT 2001

Alexandre Petit-Bianco <apbianco@cygnus.com> writes:

> It reports an error. Try building kawa-1.6.1 from sources for example.

That's sort of what I'm doing, except I'm working on my checked-out code.
(I'm hoping to get to the stage where I can use gdb to track down an
infinite loop in kawa.)

> > I assume my patch does not change this, since the change was only in
> > LOOP_EXPR, and there should be no LOOP_EXPR for your sample code.
> No, it doesn't. But it's in neighboring code which also happens to use
> `done_alternative'. I thought you could easily identify a similar
> quick and easy fix.

Today is your lucky day ...  Could you test the following?

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

Index: check-init.c
RCS file: /cvs/gcc/egcs/gcc/java/check-init.c,v
retrieving revision 1.26
diff -u -r1.26 check-init.c
--- check-init.c	2001/02/04 22:44:02	1.26
+++ check-init.c	2001/02/06 21:24:45
@@ -571,8 +570,9 @@
 	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);

	--Per Bothner
per@bothner.com   http://www.bothner.com/~per/

More information about the Java mailing list