diff options
author | Richard Henderson <rth@redhat.com> | 2002-09-18 17:05:28 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2002-09-18 17:05:28 -0700 |
commit | 15769ca344d8bf0a6faebadaf262e8c98572a0e7 (patch) | |
tree | 37d99877b7f95c72c1e4fb86e928fda2f36d0566 /gcc | |
parent | 678b77333a389968633c420123f579414c0f1911 (diff) | |
download | gcc-15769ca344d8bf0a6faebadaf262e8c98572a0e7.zip gcc-15769ca344d8bf0a6faebadaf262e8c98572a0e7.tar.gz gcc-15769ca344d8bf0a6faebadaf262e8c98572a0e7.tar.bz2 |
* real.c (round_for_format): Collect sticky as unsigned long, not bool.
From-SVN: r57289
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/real.c | 6 |
2 files changed, 7 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 80846d7..7358c1c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 @@ -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); |