jcf-write.c (generate_bytecode_insns): Only write const_0 if not negative zero.
authorMark Wielaard <mark@klomp.org>
Wed, 17 Apr 2002 16:36:47 +0000 (16:36 +0000)
committerMark Wielaard <mark@gcc.gnu.org>
Wed, 17 Apr 2002 16:36:47 +0000 (16:36 +0000)
* jcf-write.c (generate_bytecode_insns): Only write const_0 if not
negative zero.

From-SVN: r52427

gcc/java/ChangeLog
gcc/java/jcf-write.c

index ecc8e50b43d1cf734735f226a8565400bd00363d..2666603aabfcd8c25b6ee05bcc8055ad8d0b768d 100644 (file)
@@ -1,3 +1,8 @@
+2002-04-16  Mark Wielaard  <mark@klomp.org>
+
+       * jcf-write.c (generate_bytecode_insns): Only write const_0 if not
+       negative zero.
+
 2002-04-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
 
        Fix for PR java/6294:
index f357e63d9cdeaab7aa6c049a0818a9226bc2bdf3..215d0c56c1767cc0d72955e677547388daebf74f 100644 (file)
@@ -25,6 +25,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc.  */
 #include "system.h"
 #include "jcf.h"
 #include "tree.h"
+#include "real.h"
 #include "java-tree.h"
 #include "obstack.h"
 #undef AND
@@ -1536,7 +1537,7 @@ generate_bytecode_insns (exp, target, state)
       {
        int prec = TYPE_PRECISION (type) >> 5;
        RESERVE(1);
-       if (real_zerop (exp))
+       if (real_zerop (exp) && ! REAL_VALUE_MINUS_ZERO (TREE_REAL_CST (exp)))
          OP1 (prec == 1 ? OPCODE_fconst_0 : OPCODE_dconst_0);
        else if (real_onep (exp))
          OP1 (prec == 1 ? OPCODE_fconst_1 : OPCODE_dconst_1);