OSDN Git Service

* real.c (round_for_format): Collect sticky as unsigned long, not bool.
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 19 Sep 2002 00:05:28 +0000 (00:05 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 19 Sep 2002 00:05:28 +0000 (00:05 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57289 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/real.c

index 80846d7..7358c1c 100644 (file)
@@ -1,3 +1,7 @@
+2002-09-18  Richard Henderson  <rth@redhat.com>
+
+       * real.c (round_for_format): Collect sticky as unsigned long, not bool.
+
 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
 
        * config/rs6000/rs6000.md: (floatdisf2): Rename to
index cf72b4c..57127b6 100644 (file)
@@ -2121,7 +2121,8 @@ round_for_format (fmt, r)
      struct real_value *r;
 {
   int p2, np2, i, w;
-  bool sticky, guard, lsb;
+  unsigned long sticky;
+  bool guard, lsb;
   int emin2m1, emax2;
 
   p2 = fmt->p * fmt->log2_b;
@@ -2207,8 +2208,7 @@ round_for_format (fmt, r)
 
   sticky = 0;
   for (i = 0, w = (np2 - 1) / HOST_BITS_PER_LONG; i < w; ++i)
-    if (r->sig[i])
-      sticky = 1;
+    sticky |= r->sig[i];
   sticky |=
     r->sig[w] & (((unsigned long)1 << ((np2 - 1) % HOST_BITS_PER_LONG)) - 1);