diff options
author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-05-23 13:36:12 +0000 |
---|---|---|
committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-05-23 13:36:12 +0000 |
commit | e0e921754756f265f99f594c8373ab4f48f165ad (patch) | |
tree | aa5469499eec48d0384946ae862eb0f91e75a671 /numeric.c | |
parent | 4e88735997843d0644e6c4995c7b70ae043a3f02 (diff) |
merges r27555 from trunk into ruby_1_9_1.
--
* 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/branches/ruby_1_9_1@27979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'numeric.c')
-rw-r--r-- | numeric.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -2132,18 +2132,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); |