From: Daniel Jacobowitz Date: Wed, 4 Dec 2002 05:40:40 +0000 (+0000) Subject: * doublest.c (convert_floatformat_to_doublest): Cast exp_bias to int. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=38c52d5ab7af33477c588c45554bb84f6c6ac4df;p=binutils-gdb.git * doublest.c (convert_floatformat_to_doublest): Cast exp_bias to int. * config/alpha/alpha-linux.mh (MH_CFLAGS): Add -mieee. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 01296116041..92340b29ffe 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2002-12-04 Daniel Jacobowitz + + * doublest.c (convert_floatformat_to_doublest): Cast exp_bias to int. + * config/alpha/alpha-linux.mh (MH_CFLAGS): Add -mieee. + 2002-12-03 H.J. Lu (hjl@gnu.org) * breakpoint.c (create_thread_event_breakpoint): Use xasprintf. diff --git a/gdb/config/alpha/alpha-linux.mh b/gdb/config/alpha/alpha-linux.mh index 39f35320188..7691d0729eb 100644 --- a/gdb/config/alpha/alpha-linux.mh +++ b/gdb/config/alpha/alpha-linux.mh @@ -8,3 +8,7 @@ LOADLIBES = -ldl -rdynamic MMALLOC = MMALLOC_CFLAGS = -DNO_MMALLOC + +# doublest.c currently assumes some properties of FP arithmetic +# on the host which require this. +MH_CFLAGS = -mieee diff --git a/gdb/doublest.c b/gdb/doublest.c index 6e96d78f0c0..49e36899111 100644 --- a/gdb/doublest.c +++ b/gdb/doublest.c @@ -172,12 +172,14 @@ convert_floatformat_to_doublest (const struct floatformat *fmt, special_exponent = exponent == 0 || exponent == fmt->exp_nan; -/* Don't bias NaNs. Use minimum exponent for denorms. For simplicity, - we don't check for zero as the exponent doesn't matter. */ + /* Don't bias NaNs. Use minimum exponent for denorms. For simplicity, + we don't check for zero as the exponent doesn't matter. Note the cast + to int; exp_bias is unsigned, so it's important to make sure the + operation is done in signed arithmetic. */ if (!special_exponent) exponent -= fmt->exp_bias; else if (exponent == 0) - exponent = 1 - fmt->exp_bias; + exponent = 1 - (int) fmt->exp_bias; /* Build the result algebraically. Might go infinite, underflow, etc; who cares. */