From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20020830 Description of problem: Here's a bug in how gcj evaluated method arguments.... public class bug { private static int first (int x, int y) { return x; } public static void main (String[] args) { int l = args.length; /* This should print: 0 0 1 */ System.out.println (l); System.out.println (first (l, ++l)); System.out.println (l); } } This is correct output... [green@build green]$ gcj -o bug --main=bug bug.java -O2 -march=i386 -mcpu=i686 [green@build green]$ ./bug 0 0 1 This is bad output... [green@build green]$ gcj -o bug --main=bug bug.java -O2 -march=i386 -mcpu=i386 [green@build green]$ ./bug 0 1 1 Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: See description. Actual Results: See description. Expected Results: See description. Additional info: gcj is miscompiling part of libgcj (like StringTokenizer) because of this bug.
Fixed in gcc-3.2-10.