Use FLT_ROUNDS in LP64 strtold.

Change-Id: I75323be6e1cadb00770fcdd08422836b03737416
This commit is contained in:
Elliott Hughes 2014-04-16 16:09:41 -07:00
parent 4abaa576e8
commit 20828db758
1 changed files with 2 additions and 2 deletions

View File

@ -26,6 +26,7 @@
* SUCH DAMAGE.
*/
#include <float.h>
#include <stdlib.h>
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.