This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
Re: Patch: Java: Fix jcf-write fold() fallout
Per Bothner wrote:
Tom Tromey wrote:
I think UNLT_EXPR(a,b) means "a < b, or a and b are unordered".
If so, UNLT_EXPR(a, b) is the same as Java's "!(a >= b)",
and so letting the existing GT_EXPR handle it and then reversing
the result is correct, as (I think) Tom is saying.
In any case, the comments are in tree.def are unacceptably unclear.
Does this look correct?
Index: jcf-write.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/java/jcf-write.c,v
retrieving revision 1.145
diff -u -r1.145 jcf-write.c
--- jcf-write.c 28 May 2004 23:59:49 -0000 1.145
+++ jcf-write.c 29 May 2004 00:52:01 -0000
@@ -1179,25 +1179,25 @@
op = OPCODE_if_icmpne;
goto compare;
- case UNLT_EXPR:
+ case UNLE_EXPR:
unordered = 1;
case GT_EXPR:
op = OPCODE_if_icmpgt;
goto compare;
- case UNGT_EXPR:
+ case UNGE_EXPR:
unordered = 1;
case LT_EXPR:
op = OPCODE_if_icmplt;
goto compare;
- case UNLE_EXPR:
+ case UNLT_EXPR:
unordered = 1;
case GE_EXPR:
op = OPCODE_if_icmpge;
goto compare;
- case UNGE_EXPR:
+ case UNGT_EXPR:
unordered = 1;
case LE_EXPR:
op = OPCODE_if_icmple;
Bryce