summaryrefslogtreecommitdiff
path: root/gcc/real.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2003-03-31 21:02:10 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2003-03-31 21:02:10 +0000
commit74688d3dc1fe170fb735d43b54ccfb5ff51b3b67 (patch)
tree077abc5d7d03562e0c127045b806c7bec28426d1 /gcc/real.c
parent52fac5f5f7834c078b9f483c5c45088ce58a8e30 (diff)
downloadgcc-74688d3dc1fe170fb735d43b54ccfb5ff51b3b67.tar.gz
* real.c (real_identical): Reorg so as to not compare
signalling for normals. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65111 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/real.c')
-rw-r--r--gcc/real.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/gcc/real.c b/gcc/real.c
index 04bf718a743..29d5de1f014 100644
--- a/gcc/real.c
+++ b/gcc/real.c
@@ -1227,24 +1227,26 @@ real_identical (a, b)
{
case rvc_zero:
case rvc_inf:
- break;
+ return true;
case rvc_normal:
if (a->exp != b->exp)
return false;
- /* FALLTHRU */
+ break;
+
case rvc_nan:
if (a->signalling != b->signalling)
return false;
- for (i = 0; i < SIGSZ; ++i)
- if (a->sig[i] != b->sig[i])
- return false;
break;
default:
abort ();
}
+ for (i = 0; i < SIGSZ; ++i)
+ if (a->sig[i] != b->sig[i])
+ return false;
+
return true;
}