diff --git a/newlib/ChangeLog b/newlib/ChangeLog index 716bdebde..ee4ce26c1 100644 --- a/newlib/ChangeLog +++ b/newlib/ChangeLog @@ -1,3 +1,12 @@ +2007-06-06 Christian Groessler + + * libc/stdlib/ldtoa (_ldcheck): Make sure the setting of + rnd is done after the last local variable declaration. + +2007-06-06 Jeff Johnston + + * libc/stdlib/mprec.h[Just_16]: Make sure that Pack_16 is defined. + 2007-06-05 Christian Groessler * libc/argz/argz_insert.c (argz_insert): Move delta variable diff --git a/newlib/libc/stdlib/ldtoa.c b/newlib/libc/stdlib/ldtoa.c index d4457938f..bb12f0cc7 100644 --- a/newlib/libc/stdlib/ldtoa.c +++ b/newlib/libc/stdlib/ldtoa.c @@ -2868,10 +2868,10 @@ unsigned short e[NI]; LDPARMS rnd; LDPARMS *ldp = &rnd; +union uconv du; + rnd.rlast = -1; rnd.rndprc = NBITS; - -union uconv du; du.d = *d; #if LDBL_MANT_DIG == 24 e24toe( &du.pe, e, ldp ); diff --git a/newlib/libc/stdlib/mprec.h b/newlib/libc/stdlib/mprec.h index ba4d2b81b..8c9ad0ef0 100644 --- a/newlib/libc/stdlib/mprec.h +++ b/newlib/libc/stdlib/mprec.h @@ -351,10 +351,14 @@ extern double rnd_prod(double, double), rnd_quot(double, double); * slower. Hence the default is now to store 32 bits per long. */ -#ifndef Pack_32 -#define Pack_32 -#endif -#endif + #ifndef Pack_32 + #define Pack_32 + #endif +#else /* Just_16 */ + #ifndef Pack_16 + #define Pack_16 + #endif +#endif /* Just_16 */ #ifdef Pack_32 #define ULbits 32