summaryrefslogtreecommitdiff
path: root/insns.def
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-05-30 06:53:21 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-05-30 06:53:21 +0000
commit1d5431374d286c5ce7f8bfc6033663a0fc051eec (patch)
treef7648e9b23df5d7b0a375b7eae1b687d6fc521db /insns.def
parent4e4649e13cd4175aab75a0edc2fc5b082cf735d1 (diff)
* 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.def4
1 files changed, 2 insertions, 2 deletions
diff --git a/insns.def b/insns.def
index 72b0f27cc6..5cde2a632b 100644
--- a/insns.def
+++ b/insns.def
@@ -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);