aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--newlib/libc/stdlib/strtod.c5
-rw-r--r--newlib/libc/stdlib/strtorx.c6
2 files changed, 2 insertions, 9 deletions
diff --git a/newlib/libc/stdlib/strtod.c b/newlib/libc/stdlib/strtod.c
index 0cfa9e6..d70d2c2 100644
--- a/newlib/libc/stdlib/strtod.c
+++ b/newlib/libc/stdlib/strtod.c
@@ -444,10 +444,7 @@ _strtod_l (struct _reent *ptr, const char *__restrict s00, char **__restrict se,
}
else {
#endif
- dword0(rv) = NAN_WORD0;
-#ifndef _DOUBLE_IS_32BITS
- dword1(rv) = NAN_WORD1;
-#endif /*!_DOUBLE_IS_32BITS*/
+ dval(rv) = nan ("");
#ifndef No_Hex_NaN
}
#endif
diff --git a/newlib/libc/stdlib/strtorx.c b/newlib/libc/stdlib/strtorx.c
index aeeb250..f923fdf 100644
--- a/newlib/libc/stdlib/strtorx.c
+++ b/newlib/libc/stdlib/strtorx.c
@@ -93,11 +93,7 @@ ULtox(__UShort *L, __ULong *bits, Long exp, int k)
break;
case STRTOG_NaN:
- L[0] = ldus_QNAN0;
- L[1] = ldus_QNAN1;
- L[2] = ldus_QNAN2;
- L[3] = ldus_QNAN3;
- L[4] = ldus_QNAN4;
+ *((long double*)L) = nanl ("");
}
if (k & STRTOG_Neg)
L[_0] |= 0x8000;