aboutsummaryrefslogtreecommitdiff
path: root/gcc/varasm.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@twinsun.com>1997-11-14 00:07:27 +0000
committerJim Wilson <wilson@gcc.gnu.org>1997-11-13 16:07:27 -0800
commit41c9120baf04bf432d39a11298f2550292581922 (patch)
tree1ed9b899bbe18e155415baaf3f9f4beafd425fb0 /gcc/varasm.c
parent323d8e7b661297d87002730d2e3f55bca134baaf (diff)
downloadgcc-41c9120baf04bf432d39a11298f2550292581922.zip
gcc-41c9120baf04bf432d39a11298f2550292581922.tar.gz
gcc-41c9120baf04bf432d39a11298f2550292581922.tar.bz2
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. From-SVN: r16472
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r--gcc/varasm.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 1161837..ab88beb 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -2245,8 +2245,7 @@ immed_real_const_1 (d, mode)
/* Detect special cases. */
- /* Avoid REAL_VALUES_EQUAL here in order to distinguish minus zero. */
- if (!bcmp ((char *) &dconst0, (char *) &d, sizeof d))
+ if (REAL_VALUES_IDENTICAL (dconst0, d))
return CONST0_RTX (mode);
/* Check for NaN first, because some ports (specifically the i386) do not
emit correct ieee-fp code by default, and thus will generate a core