summaryrefslogtreecommitdiff
path: root/gcc/config/fp-bit.c
diff options
context:
space:
mode:
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1994-12-19 20:48:30 +0000
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1994-12-19 20:48:30 +0000
commit970f64e4a9e92bcb5de566f9d845b37b770641a0 (patch)
tree59afd8b3e0fdbf5d4ed37d21beacf6d6a5a11826 /gcc/config/fp-bit.c
parent52baa9389307c6b12d7fc6c72b4e93fe5ec8f642 (diff)
downloadgcc-970f64e4a9e92bcb5de566f9d845b37b770641a0.tar.gz
(fpadd_parts): Adding infinities with opposite signs yields a NaN.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8667 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/fp-bit.c')
-rw-r--r--gcc/config/fp-bit.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/config/fp-bit.c b/gcc/config/fp-bit.c
index 373c2516d77..9f2d27979cf 100644
--- a/gcc/config/fp-bit.c
+++ b/gcc/config/fp-bit.c
@@ -485,6 +485,9 @@ _fpadd_parts (fp_number_type * a,
}
if (isinf (a))
{
+ /* Adding infinities with opposite signs yields a NaN. */
+ if (isinf (b) && a->sign != b->sign)
+ return nan ();
return a;
}
if (isinf (b))