summaryrefslogtreecommitdiff
path: root/gcc/fold-const.c
diff options
context:
space:
mode:
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1997-11-14 00:07:27 +0000
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1997-11-14 00:07:27 +0000
commit62aa7862114c21c6a4f38e4113b5ce37c435d489 (patch)
tree1ed9b899bbe18e155415baaf3f9f4beafd425fb0 /gcc/fold-const.c
parenta59e9a3a19b8ae18b9922541ebfc8cdd13858f1b (diff)
downloadgcc-62aa7862114c21c6a4f38e4113b5ce37c435d489.tar.gz
patch from paul eggert to fix -0.0/0.0 confusion that breaks glibc
* real.h (REAL_VALUES_IDENTICAL): New macro. * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros. * fold-const.c (operand_equal_p): Don't consider -0.0 to be identical to 0.0. * tree.c (simple_cst_equal): Don't consider -0.0 to have the same tree structure as 0.0. * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL macro instead of doing it by hand. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16472 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fold-const.c')
-rw-r--r--gcc/fold-const.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index 9b342528f8a..4b4c5e184b4 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -1796,8 +1796,8 @@ operand_equal_p (arg0, arg1, only_const)
case REAL_CST:
return (! TREE_CONSTANT_OVERFLOW (arg0)
&& ! TREE_CONSTANT_OVERFLOW (arg1)
- && REAL_VALUES_EQUAL (TREE_REAL_CST (arg0),
- TREE_REAL_CST (arg1)));
+ && REAL_VALUES_IDENTICAL (TREE_REAL_CST (arg0),
+ TREE_REAL_CST (arg1)));
case COMPLEX_CST:
return (operand_equal_p (TREE_REALPART (arg0), TREE_REALPART (arg1),