aboutsummaryrefslogtreecommitdiff
path: root/gcc/java
diff options
context:
space:
mode:
authorMark Wielaard <mark@klomp.org>2002-04-17 16:36:47 +0000
committerMark Wielaard <mark@gcc.gnu.org>2002-04-17 16:36:47 +0000
commit1cde1d05336de7fe0c1f1eac6c32dfe7dc582856 (patch)
tree5d0625a8bf0296aa5d7c38678535775c220aa48c /gcc/java
parent169ce44d8d6eabff9575df22e79f1365c5f1a9fb (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/java/jcf-write.c3
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);