From 15af93fcc824cd94222ccb5616a97fd5da08b5f6 Mon Sep 17 00:00:00 2001 From: usa Date: Tue, 22 Mar 2016 02:41:24 +0000 Subject: * time.c (wmul): wrong condition. fixed many test failures on 32bit and LLP64 platforms. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ time.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 9028a2e533..c658a8446d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Tue Mar 22 11:36:49 2016 NAKAMURA Usaku + + * time.c (wmul): wrong condition. + fixed many test failures on 32bit and LLP64 platforms. + Tue Mar 22 10:31:34 2016 NAKAMURA Usaku * time.c (wdiv, wmod): wdivmod0() assumes the 3rd and the 4th arguments diff --git a/time.c b/time.c index 11602bf8cc..ea71e35434 100644 --- a/time.c +++ b/time.c @@ -367,7 +367,7 @@ wmul(wideval_t wx, wideval_t wy) { #if WIDEVALUE_IS_WIDER if (FIXWV_P(wx) && FIXWV_P(wy)) { - if (MUL_OVERFLOW_FIXWV_P(FIXWV2WINT(wx), FIXWV2WINT(wy))) + if (!MUL_OVERFLOW_FIXWV_P(FIXWV2WINT(wx), FIXWV2WINT(wy))) return WINT2WV(FIXWV2WINT(wx) * FIXWV2WINT(wy)); } #endif -- cgit v1.2.3