summaryrefslogtreecommitdiffstats
path: root/newlib/libc/stdlib
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/stdlib')
-rw-r--r--newlib/libc/stdlib/ldtoa.c4
-rw-r--r--newlib/libc/stdlib/mprec.h12
2 files changed, 10 insertions, 6 deletions
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