diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-05-30 06:53:21 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-05-30 06:53:21 +0000 |
commit | 1d5431374d286c5ce7f8bfc6033663a0fc051eec (patch) | |
tree | f7648e9b23df5d7b0a375b7eae1b687d6fc521db /insns.def | |
parent | 4e4649e13cd4175aab75a0edc2fc5b082cf735d1 (diff) | |
download | ruby-1d5431374d286c5ce7f8bfc6033663a0fc051eec.tar.gz |
* insns.def (opt_mult): as r31805, volatile it.
Without this, clang -O fails calculation.
* numeric.c (fix_mul): ditto.
* rational.c (f_imul): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'insns.def')
-rw-r--r-- | insns.def | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -1454,7 +1454,7 @@ opt_mult { if (FIXNUM_2_P(recv, obj) && BASIC_OP_UNREDEFINED_P(BOP_MULT)) { - long a, b, c; + long a, b; a = FIX2LONG(recv); if (a == 0) { @@ -1462,7 +1462,7 @@ opt_mult } else { b = FIX2LONG(obj); - c = a * b; + volatile long c = a * b; if (FIXABLE(c) && c / a == b) { val = LONG2FIX(c); |