ruby-changes:19777
From: naruse <ko1@a...>
Date: Mon, 30 May 2011 15:53:28 +0900 (JST)
Subject: [ruby-changes:19777] naruse:r31822 (trunk): * insns.def (opt_mult): as r31805, volatile it.
naruse 2011-05-30 15:53:21 +0900 (Mon, 30 May 2011) New Revision: 31822 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=31822 Log: * insns.def (opt_mult): as r31805, volatile it. Without this, clang -O fails calculation. * numeric.c (fix_mul): ditto. * rational.c (f_imul): ditto. Modified files: trunk/ChangeLog trunk/insns.def trunk/numeric.c trunk/rational.c Index: ChangeLog =================================================================== --- ChangeLog (revision 31821) +++ ChangeLog (revision 31822) @@ -1,3 +1,12 @@ +Mon May 30 15:44:16 2011 NARUSE, Yui <naruse@r...> + + * insns.def (opt_mult): as r31805, volatile it. + Without this, clang -O fails calculation. + + * numeric.c (fix_mul): ditto. + + * rational.c (f_imul): ditto. + Mon May 30 10:26:51 2011 NARUSE, Yui <naruse@r...> * numeric.c (int_pow): make sure to assign the result of x * z. Index: insns.def =================================================================== --- insns.def (revision 31821) +++ insns.def (revision 31822) @@ -1454,7 +1454,7 @@ { 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 @@ } else { b = FIX2LONG(obj); - c = a * b; + volatile long c = a * b; if (FIXABLE(c) && c / a == b) { val = LONG2FIX(c); Index: numeric.c =================================================================== --- numeric.c (revision 31821) +++ numeric.c (revision 31822) @@ -2386,7 +2386,7 @@ #if SIZEOF_LONG * 2 <= SIZEOF_LONG_LONG LONG_LONG d; #else - long c; + volatile long c; VALUE r; #endif Index: rational.c =================================================================== --- rational.c (revision 31821) +++ rational.c (revision 31822) @@ -604,7 +604,7 @@ f_imul(long a, long b) { VALUE r; - long c; + volatile long c; if (a == 0 || b == 0) return ZERO; -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/