This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]