From 3e446e9723428ed29c402d1b6ee297e5797b9750 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Sat, 26 Mar 2016 20:27:18 +0100 Subject: strtold: Fix Infinity value. Infinity returned from strtold is recognized as NaN by GCC builtin functions. The reason is that ULtox is missing to set a bit. * libc/stdlib/strtorx.c (ULtox): Set high bit in second word to create valid Infinity value. Signed-off-by: Corinna Vinschen --- newlib/libc/stdlib/strtorx.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'newlib/libc/stdlib/strtorx.c') diff --git a/newlib/libc/stdlib/strtorx.c b/newlib/libc/stdlib/strtorx.c index 44f3db269..961ecd2f2 100644 --- a/newlib/libc/stdlib/strtorx.c +++ b/newlib/libc/stdlib/strtorx.c @@ -88,7 +88,8 @@ ULtox(__UShort *L, __ULong *bits, Long exp, int k) case STRTOG_Infinite: L[_0] = 0x7fff; - L[_1] = L[_2] = L[_3] = L[_4] = 0; + L[_1] = 0x8000; + L[_2] = L[_3] = L[_4] = 0; break; case STRTOG_NaN: -- cgit v1.2.3