* string.c (rb_hash_start): fixed shift width on 128bit platform.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25100 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2009-09-26 07:32:03 +00:00
parent f23486592a
commit 8367245839
2 changed files with 6 additions and 4 deletions

View File

@ -1,4 +1,6 @@
Sat Sep 26 16:26:44 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
Sat Sep 26 16:32:01 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* string.c (rb_hash_start): fixed shift width on 128bit platform.
* include/ruby/intern.h (rb_hash_{start,uint32,uint,end}): fixed
prototypes.

View File

@ -2206,15 +2206,15 @@ rb_hash_start(st_index_t h)
if (!hashseed_init) {
hashseed = rb_genrand_int32();
#if SIZEOF_VALUE*CHAR_BIT > 4*8
hashseed <<= 4*8;
hashseed <<= 32;
hashseed |= rb_genrand_int32();
#endif
#if SIZEOF_VALUE*CHAR_BIT > 8*8
hashseed <<= 8*8;
hashseed <<= 32;
hashseed |= rb_genrand_int32();
#endif
#if SIZEOF_VALUE*CHAR_BIT > 12*8
hashseed <<= 12*8;
hashseed <<= 32;
hashseed |= rb_genrand_int32();
#endif
hashseed_init = 1;