From d10758be942e623be876308920bc06249413674c Mon Sep 17 00:00:00 2001 From: drow Date: Wed, 4 Dec 2002 05:40:40 +0000 Subject: [PATCH] * doublest.c (convert_floatformat_to_doublest): Cast exp_bias to int. * config/alpha/alpha-linux.mh (MH_CFLAGS): Add -mieee. --- gdb/ChangeLog | 5 +++++ gdb/config/alpha/alpha-linux.mh | 4 ++++ gdb/doublest.c | 8 +++++--- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 0129611604..92340b29ff 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 39f3532018..7691d0729e 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 6e96d78f0c..49e3689911 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. */ -- 2.11.0