aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-03-21 13:09:26 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-03-21 13:09:26 +0000
commitd17852b9d553e0a188a3146e4e66ea6645acdf08 (patch)
tree508551c367d746baa87940f9fd4ec6ceeac1a463
parent61cefc13595ac89d7686df343823adb1bbc798c3 (diff)
downloadruby-d17852b9d553e0a188a3146e4e66ea6645acdf08.tar.gz
internal.h: fix no-DLONG case
* internal.h (rb_fix_mul_fix): multiply converted values, not object VALUEs. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--internal.h6
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 6424800dde..eab1eb60a0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Mar 21 22:09:24 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * internal.h (rb_fix_mul_fix): multiply converted values, not
+ object VALUEs.
+
Mon Mar 21 20:18:29 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* common.mk (TEST_EXCLUDES, EXCLUDE_TESTFRAMEWORK): use full spell
diff --git a/internal.h b/internal.h
index af4cc98aed..48acd5bb0c 100644
--- a/internal.h
+++ b/internal.h
@@ -284,11 +284,11 @@ rb_fix_mul_fix(VALUE x, VALUE y)
#ifdef DLONG
return DL2NUM((DLONG)lx * (DLONG)ly);
#else
- if (MUL_OVERFLOW_FIXNUM_P(x, y)) {
- return rb_big_mul(rb_int2big(x), rb_int2big(y));
+ if (MUL_OVERFLOW_FIXNUM_P(lx, ly)) {
+ return rb_big_mul(rb_int2big(lx), rb_int2big(ly));
}
else {
- return LONG2FIX(x * y);
+ return LONG2FIX(lx * ly);
}
#endif
}