diff options
author | DJ Delorie <dj@delorie.com> | 2007-11-13 01:00:40 +0000 |
---|---|---|
committer | DJ Delorie <dj@delorie.com> | 2007-11-13 01:00:40 +0000 |
commit | 6e2b3d6e6ed08c2cf128e640af91e85f911bf0bb (patch) | |
tree | 4bf7f06620d52038d25c0706bafba664eab14df4 /libiberty | |
parent | 357a1a616e4b2420c3015e0bd39eaf3fade254dd (diff) | |
download | gdb-6e2b3d6e6ed08c2cf128e640af91e85f911bf0bb.tar.gz |
merge from gcc
Diffstat (limited to 'libiberty')
-rw-r--r-- | libiberty/ChangeLog | 7 | ||||
-rw-r--r-- | libiberty/floatformat.c | 11 |
2 files changed, 7 insertions, 11 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 1260eeba20c..78e74e52e22 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,10 +1,3 @@ -2007-11-12 Joseph Myers <joseph@codesourcery.com> - - * floatformat.c (floatformat_ibm_long_double_is_valid): Fix - compiler warnings. - (floatformat_ibm_long_double): Use - floatformat_ibm_long_double_is_valid. - 2007-11-07 Joseph Myers <joseph@codesourcery.com> Daniel Jacobowitz <dan@codesourcery.com> diff --git a/libiberty/floatformat.c b/libiberty/floatformat.c index cbf13ea3406..07af7264df4 100644 --- a/libiberty/floatformat.c +++ b/libiberty/floatformat.c @@ -283,7 +283,7 @@ floatformat_ibm_long_double_is_valid (const struct floatformat *fmt, bot_exp = get_field (ufrom + 8, hfmt->byteorder, hfmt->totalsize, hfmt->exp_start, hfmt->exp_len); - if ((unsigned long) top_exp == hfmt->exp_nan) + if (top_exp == hfmt->exp_nan) top_nan = mant_bits_set (hfmt, ufrom); /* A NaN is valid with any low part. */ @@ -292,8 +292,11 @@ floatformat_ibm_long_double_is_valid (const struct floatformat *fmt, /* An infinity, zero or denormal requires low part 0 (positive or negative). */ - if ((unsigned long) top_exp == hfmt->exp_nan || top_exp == 0) + if (top_exp == hfmt->exp_nan || top_exp == 0) { + unsigned int mant_bits, mant_off; + int mant_bits_left; + if (bot_exp != 0) return 0; @@ -315,7 +318,7 @@ floatformat_ibm_long_double_is_valid (const struct floatformat *fmt, /* The bottom part is 0 or denormal. Determine which, and if denormal the first two set bits. */ int first_bit = -1, second_bit = -1, cur_bit; - for (cur_bit = 0; (unsigned int) cur_bit < hfmt->man_len; cur_bit++) + for (cur_bit = 0; cur_bit < hfmt->man_len; cur_bit++) if (get_field (ufrom + 8, hfmt->byteorder, hfmt->totalsize, hfmt->man_start + cur_bit, 1)) { @@ -360,7 +363,7 @@ const struct floatformat floatformat_ibm_long_double = floatformat_big, 128, 0, 1, 11, 1023, 2047, 12, 52, floatformat_intbit_no, "floatformat_ibm_long_double", - floatformat_ibm_long_double_is_valid, + floatformat_always_valid, &floatformat_ieee_double_big }; |