Fixes for extract_floating() and store_floating().

This commit is contained in:
Kevin Buettner 2000-03-02 06:50:50 +00:00
parent 6c7e601e3e
commit 3db87ba3ca
2 changed files with 14 additions and 13 deletions

View file

@ -1,3 +1,9 @@
2000-03-02 Kevin Buettner <kevinb@redhat.com>
* findvar.c (extract_floating, store_floating): Use target
floating point type sizes rather host sizes to determine
which conversion needs to be done.
2000-03-02 Nick Duffek <nsd@cygnus.com>
* uw-thread.c: Apply GNU conventions to comment formatting.

View file

@ -267,13 +267,11 @@ store_address (addr, len, val)
dirty work. */
DOUBLEST
extract_floating (addr, len)
PTR addr;
int len;
extract_floating (void *addr, int len)
{
DOUBLEST dretval;
if (len == sizeof (float))
if (len * TARGET_CHAR_BIT == TARGET_FLOAT_BIT)
{
if (HOST_FLOAT_FORMAT == TARGET_FLOAT_FORMAT)
{
@ -285,7 +283,7 @@ extract_floating (addr, len)
else
floatformat_to_doublest (TARGET_FLOAT_FORMAT, addr, &dretval);
}
else if (len == sizeof (double))
else if (len * TARGET_CHAR_BIT == TARGET_DOUBLE_BIT)
{
if (HOST_DOUBLE_FORMAT == TARGET_DOUBLE_FORMAT)
{
@ -297,7 +295,7 @@ extract_floating (addr, len)
else
floatformat_to_doublest (TARGET_DOUBLE_FORMAT, addr, &dretval);
}
else if (len == sizeof (DOUBLEST))
else if (len * TARGET_CHAR_BIT == TARGET_LONG_DOUBLE_BIT)
{
if (HOST_LONG_DOUBLE_FORMAT == TARGET_LONG_DOUBLE_FORMAT)
{
@ -322,12 +320,9 @@ extract_floating (addr, len)
}
void
store_floating (addr, len, val)
PTR addr;
int len;
DOUBLEST val;
store_floating (void *addr, int len, DOUBLEST val)
{
if (len == sizeof (float))
if (len * TARGET_CHAR_BIT == TARGET_FLOAT_BIT)
{
if (HOST_FLOAT_FORMAT == TARGET_FLOAT_FORMAT)
{
@ -338,7 +333,7 @@ store_floating (addr, len, val)
else
floatformat_from_doublest (TARGET_FLOAT_FORMAT, &val, addr);
}
else if (len == sizeof (double))
else if (len * TARGET_CHAR_BIT == TARGET_DOUBLE_BIT)
{
if (HOST_DOUBLE_FORMAT == TARGET_DOUBLE_FORMAT)
{
@ -349,7 +344,7 @@ store_floating (addr, len, val)
else
floatformat_from_doublest (TARGET_DOUBLE_FORMAT, &val, addr);
}
else if (len == sizeof (DOUBLEST))
else if (len * TARGET_CHAR_BIT == TARGET_LONG_DOUBLE_BIT)
{
if (HOST_LONG_DOUBLE_FORMAT == TARGET_LONG_DOUBLE_FORMAT)
memcpy (addr, &val, sizeof (val));