The previous behavior was only present on w1064v1507, and not on any other version of Windows (both older and newer).
Signed-off-by: Sven Baars sven.wine@gmail.com --- dlls/msvcrt/math.c | 5 ----- dlls/ucrtbase/tests/misc.c | 4 ++-- 2 files changed, 2 insertions(+), 7 deletions(-)
diff --git a/dlls/msvcrt/math.c b/dlls/msvcrt/math.c index 6651df8c12..54f1853e33 100644 --- a/dlls/msvcrt/math.c +++ b/dlls/msvcrt/math.c @@ -1274,13 +1274,8 @@ int CDECL __fpe_flt_rounds(void) switch(fpc) { case MSVCRT__RC_CHOP: return 0; case MSVCRT__RC_NEAR: return 1; -#ifdef _WIN64 - case MSVCRT__RC_UP: return 3; - default: return 2; -#else case MSVCRT__RC_UP: return 2; default: return 3; -#endif } } #endif diff --git a/dlls/ucrtbase/tests/misc.c b/dlls/ucrtbase/tests/misc.c index aecbc9dca5..284c8f52ed 100644 --- a/dlls/ucrtbase/tests/misc.c +++ b/dlls/ucrtbase/tests/misc.c @@ -361,11 +361,11 @@ static void test___fpe_flt_rounds(void)
ok((p__controlfp(_RC_UP, _RC_CHOP) & _RC_CHOP) == _RC_UP, "_controlfp(_RC_UP, _RC_CHOP) failed\n"); ret = p___fpe_flt_rounds(); - ok(ret == 2 + (sizeof(void*)>sizeof(int)), "__fpe_flt_rounds returned %d\n", ret); + ok(ret == 2 || broken(ret == 3) /* w1064v1507 */, "__fpe_flt_rounds returned %d\n", ret);
ok((p__controlfp(_RC_DOWN, _RC_CHOP) & _RC_CHOP) == _RC_DOWN, "_controlfp(_RC_DOWN, _RC_CHOP) failed\n"); ret = p___fpe_flt_rounds(); - ok(ret == 3 - (sizeof(void*)>sizeof(int)), "__fpe_flt_rounds returned %d\n", ret); + ok(ret == 3 || broken(ret == 2) /* w1064v1507 */, "__fpe_flt_rounds returned %d\n", ret);
ok((p__controlfp(_RC_CHOP, _RC_CHOP) & _RC_CHOP) == _RC_CHOP, "_controlfp(_RC_CHOP, _RC_CHOP) failed\n"); ret = p___fpe_flt_rounds();