This is the mail archive of the newlib@sources.redhat.com mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Bug in difftime() for H8300


Patch applied.

-- Jeff J.

Anita Kulkarni wrote:
Hi,
The current implementation of difftime() gives incorrect results for H8300.
This is because of long int to double conversion. On H8300 double is of 4 bytes. Hence for bigger integer values, the conversion of the integer to the double results
in rounding off the value and so you get incorrect results from difftime.

Performing integer arithmetic and then converting result to double increases chances of getting correct results.

The following patch first calculates the difference of time and then converts the result to double. This should also help other targets where double is 32 bits.

-------------------------------------------------------------------------------

2002-12-03 Anita Kulkarni <anitak@kpit.com>
* libc/time/difftime.c : Typecast the result to double.
*** difftime.c.orig.txt Tue Dec 10 16:03:08 2002
--- difftime.c Tue Dec 10 16:04:38 2002
***************
*** 40,45 ****
time_t tim1 _AND
time_t tim2)
{
! return ((double) tim1 - tim2);
}
--- 40,45 ----
time_t tim1 _AND
time_t tim2)
{
! return (double) (tim1 - tim2);
}
-----------------------------------------------------------------------------
Regards,
Anita Kulkarni

-----------------------------------------------------------------------------
Free download of GNUSH and GNUH8 tool chains for Hitachi's SH and H8 Series.
The following site also offers free support to European customers.
Read more at http://www.kpit.com/products/support.htm
Latest versions of GNUSH and GNUH8 are released on January 1, 2003.
-----------------------------------------------------------------------------




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]