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
This commit is contained in:
Mark Wielaard 2002-04-17 16:36:47 +00:00 committed by Mark Wielaard
parent 169ce44d8d
commit 1cde1d0533
2 changed files with 7 additions and 1 deletions

View 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:

View 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);