summaryrefslogtreecommitdiff
path: root/numeric.c
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-04-29 18:39:02 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-04-29 18:39:02 +0000
commit34f182f7b28b4b4f8c69d3563cd77737867814c1 (patch)
tree8194b6c002081a700120d0e37e7aebcee34d2c04 /numeric.c
parent0a3c78facece3e83d0e3b4f2d09d3e0730ac1905 (diff)
* numeric.c (fix_mul): the width of fixnum is same as long's on all
platforms. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27555 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'numeric.c')
-rw-r--r--numeric.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/numeric.c b/numeric.c
index 02a3da6c43..f8b1d64095 100644
--- a/numeric.c
+++ b/numeric.c
@@ -2233,18 +2233,18 @@ fix_mul(VALUE x, VALUE y)
/* avoids an optimization bug of HP aC++/ANSI C B3910B A.06.05 [Jul 25 2005] */
volatile
#endif
- SIGNED_VALUE a, b;
-#if SIZEOF_VALUE * 2 <= SIZEOF_LONG_LONG
+ long a, b;
+#if SIZEOF_LONG * 2 <= SIZEOF_LONG_LONG
LONG_LONG d;
#else
- SIGNED_VALUE c;
+ long c;
VALUE r;
#endif
a = FIX2LONG(x);
b = FIX2LONG(y);
-#if SIZEOF_VALUE * 2 <= SIZEOF_LONG_LONG
+#if SIZEOF_LONG * 2 <= SIZEOF_LONG_LONG
d = (LONG_LONG)a * b;
if (FIXABLE(d)) return LONG2FIX(d);
return rb_ll2inum(d);