diff options
author | Mark Wielaard <mark@klomp.org> | 2002-04-17 16:36:47 +0000 |
---|---|---|
committer | Mark Wielaard <mark@gcc.gnu.org> | 2002-04-17 16:36:47 +0000 |
commit | 1cde1d05336de7fe0c1f1eac6c32dfe7dc582856 (patch) | |
tree | 5d0625a8bf0296aa5d7c38678535775c220aa48c /gcc/java | |
parent | 169ce44d8d6eabff9575df22e79f1365c5f1a9fb (diff) | |
download | gcc-1cde1d05336de7fe0c1f1eac6c32dfe7dc582856.zip gcc-1cde1d05336de7fe0c1f1eac6c32dfe7dc582856.tar.gz gcc-1cde1d05336de7fe0c1f1eac6c32dfe7dc582856.tar.bz2 |
jcf-write.c (generate_bytecode_insns): Only write const_0 if not negative zero.
* jcf-write.c (generate_bytecode_insns): Only write const_0 if not
negative zero.
From-SVN: r52427
Diffstat (limited to 'gcc/java')
-rw-r--r-- | gcc/java/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/java/jcf-write.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index ecc8e50..2666603 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -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: diff --git a/gcc/java/jcf-write.c b/gcc/java/jcf-write.c index f357e63..215d0c5 100644 --- a/gcc/java/jcf-write.c +++ b/gcc/java/jcf-write.c @@ -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); |