From d504f64a3b7b76195e449fd886cfe7d2b37b412f Mon Sep 17 00:00:00 2001 From: usa Date: Thu, 12 Jul 2007 12:40:49 +0000 Subject: [PATCH] * insns.def (opt_succ): use LONG_MAX as maximum Fixnum VALUE. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ insns.def | 3 +-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 44cea7dcae..4064bb6832 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Thu Jul 12 21:38:02 2007 NAKAMURA Usaku + + * insns.def (opt_succ): use LONG_MAX as maximum Fixnum VALUE. + Thu Jul 12 18:42:18 2007 Tanaka Akira * range.c (range_max): use FIX2LONG instead of FIX2INT to avoid diff --git a/insns.def b/insns.def index 9fc4fcc9d4..b22b76323a 100644 --- a/insns.def +++ b/insns.def @@ -2304,8 +2304,7 @@ opt_succ const VALUE obj = INT2FIX(1); /* fixnum + INT2FIX(1) */ val = (recv + (obj & (~1))); - if ((~(recv ^ obj) & (recv ^ val)) & - ((VALUE)0x01 << ((sizeof(VALUE) * CHAR_BIT) - 1))) { + if ((~(recv ^ obj) & (recv ^ val)) & (LONG_MAX + 1)) { val = rb_big_plus(rb_int2big(FIX2LONG(recv)), rb_int2big(FIX2LONG(obj))); }