diff --git a/libc/bionic/strtold.cpp b/libc/bionic/strtold.cpp index 08b275805..5616cf781 100644 --- a/libc/bionic/strtold.cpp +++ b/libc/bionic/strtold.cpp @@ -26,6 +26,7 @@ * SUCH DAMAGE. */ +#include #include extern "C" int __strtorQ(const char*, char**, int, void*); @@ -33,8 +34,7 @@ extern "C" int __strtorQ(const char*, char**, int, void*); long double strtold(const char* s, char** end_ptr) { #if __LP64__ long double result; - // TODO: use the current rounding mode? - __strtorQ(s, end_ptr, 1 /* FPI_Round_near */, &result); + __strtorQ(s, end_ptr, FLT_ROUNDS, &result); return result; #else // This is fine for LP32 where long double is just double.