summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2003-02-19 22:59:33 +0000
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2003-02-19 22:59:33 +0000
commitc7590f7e05a9a2390517c30feaddbcff9164f008 (patch)
treea66699c948423365ed0ae6efa1aedf2907f37176 /gcc
parent96dadd9cbb2fefdee054045bf8780bd72dc8f379 (diff)
downloadgcc-c7590f7e05a9a2390517c30feaddbcff9164f008.tar.gz
* fold-const.c (fold_real_zero_addition_p): Don't fold a zero
addition in the presence of signaling NaNs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@63133 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog12
-rw-r--r--gcc/fold-const.c4
2 files changed, 13 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 26807a1c899..da21d117fae 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-02-19 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (fold_real_zero_addition_p): Don't fold a zero
+ addition in the presence of signaling NaNs.
+
2003-02-19 Krister Walfridsson <cato@df.lth.se>
* tm.texi (INIT_CUMULATIVE_ARGS): Fix typo.
@@ -109,9 +114,10 @@ Tue Feb 18 23:50:59 CET 2003 Jan Hubicka <jh@suse.cz>
(cgraph_expand_function): Rewrite.
2003-02-18 Matt Austern <austern@apple.com>
+
* toplev.c, langhooks.c, langhooks-def.h: Move
write_global_declarations from toplev.c to langhooks.c.
-
+
2003-02-18 Kazu Hirata <kazu@cs.umass.edu>
* config/h8300/h8300.c (general_operand_src): Always check
@@ -168,8 +174,8 @@ Tue Feb 18 23:50:59 CET 2003 Jan Hubicka <jh@suse.cz>
Tue Feb 18 20:15:54 2003 J"orn Rennecke <joern.rennecke@superh.com>
- * sh.c (calc_live_regs): Also check GET_CODE when checking if initial value
- for PR_REG is still the PR_REG register.
+ * sh.c (calc_live_regs): Also check GET_CODE when checking if
+ initial value for PR_REG is still the PR_REG register.
2003-02-18 Jim Wilson <wilson@redhat.com>
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index 5dfa1e413ec..6b50a86a097 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -4642,6 +4642,10 @@ fold_real_zero_addition_p (type, addend, negate)
if (!real_zerop (addend))
return false;
+ /* Don't allow the fold with -fsignaling-nans. */
+ if (HONOR_SNANS (TYPE_MODE (type)))
+ return false;
+
/* Allow the fold if zeros aren't signed, or their sign isn't important. */
if (!HONOR_SIGNED_ZEROS (TYPE_MODE (type)))
return true;