aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/real.c12
2 files changed, 12 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7600263..3dcc8be 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-03-31 Richard Henderson <rth@redhat.com>
+
+ * real.c (real_identical): Reorg so as to not compare
+ signalling for normals.
+
2003-03-31 Stephane Carrez <stcarrez@nerim.fr>
* config/m68hc11/m68hc11.c (hard_reg_operand): Check the mode.
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;
}