aboutsummaryrefslogtreecommitdiff
path: root/gcc/real.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2003-03-31 13:02:10 -0800
committerRichard Henderson <rth@gcc.gnu.org>2003-03-31 13:02:10 -0800
commit6c06208f54a47b93c18a858dd24d2e083fe0692f (patch)
tree077abc5d7d03562e0c127045b806c7bec28426d1 /gcc/real.c
parent117895840fa86d5a3a4dcc4bc9a761aade696103 (diff)
downloadgcc-6c06208f54a47b93c18a858dd24d2e083fe0692f.zip
gcc-6c06208f54a47b93c18a858dd24d2e083fe0692f.tar.gz
gcc-6c06208f54a47b93c18a858dd24d2e083fe0692f.tar.bz2
real.c (real_identical): Reorg so as to not compare signalling for normals.
* real.c (real_identical): Reorg so as to not compare signalling for normals. From-SVN: r65111
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 04bf718..29d5de1 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;
}