Patch: RFA: fix PR java/21519

Tom Tromey tromey@redhat.com
Fri May 13 21:24:00 GMT 2005


This patch fixes PR java/21519.

There is a small bug in save_expr handling when writing bytecode.
emit_load calls NOTE_PUSH for us, so we don't need to call it
ourselves.  This only gets triggered by "gcj -C -O2".

Test case included.  Tested on x86 FC2, including jacks, with no
regressions.  Ok for trunk and 4.0 branch?

Tom

Index: gcc/java/ChangeLog
from  Tom Tromey  <tromey@redhat.com>

	PR java/21519:
	* jcf-write.c (generate_bytecode_insns) <SAVE_EXPR>: Don't call
	NOTE_PUSH.

Index: gcc/java/jcf-write.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/java/jcf-write.c,v
retrieving revision 1.162
diff -u -r1.162 jcf-write.c
--- gcc/java/jcf-write.c 14 Feb 2005 20:04:36 -0000 1.162
+++ gcc/java/jcf-write.c 13 May 2005 21:19:21 -0000
@@ -2235,7 +2235,6 @@
 	{
 	  tree type = TREE_TYPE (exp);
 	  emit_load (arg, state);
-	  NOTE_PUSH (TYPE_IS_WIDE (type) ? 2 : 1);
 	}
       break;
     case CONVERT_EXPR:
Index: libjava/ChangeLog
from  Tom Tromey  <tromey@redhat.com>
	PR java/21519:
	* testsuite/libjava.compile/pr21519.java: New file.
	* testsuite/libjava.compile/pr21519.no-link: New file.

Index: libjava/testsuite/libjava.compile/pr21519.java
===================================================================
RCS file: libjava/testsuite/libjava.compile/pr21519.java
diff -N libjava/testsuite/libjava.compile/pr21519.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ libjava/testsuite/libjava.compile/pr21519.java 13 May 2005 21:19:24 -0000
@@ -0,0 +1,8 @@
+public class pr21519 {
+  char[] source;
+  public int compute(int pos) {
+    for (int i = 0; i < pos; ++i)
+      if (!(source[i] == ' ' || source[i] == '\t')) return -1;
+    return pos;
+  }
+}
Index: libjava/testsuite/libjava.compile/pr21519.no-link
===================================================================
RCS file: libjava/testsuite/libjava.compile/pr21519.no-link
diff -N libjava/testsuite/libjava.compile/pr21519.no-link



More information about the Java-patches mailing list