* st.c (MurmurMagic): get rid of literal overflow.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2010-10-12 15:18:22 +00:00
parent a176b065d2
commit 537d7ff140
2 changed files with 8 additions and 4 deletions

View File

@ -1,4 +1,6 @@
Wed Oct 13 00:03:46 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
Wed Oct 13 00:18:18 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* st.c (MurmurMagic): get rid of literal overflow.
* configure.in (RUBY_CHECK_PRINTF_PREFIX): check for printf format
specifier if possible.

8
st.c
View File

@ -1003,13 +1003,15 @@ strhash(st_data_t arg)
#define MURMUR 2
#endif
#define MurmurMagic_1 (st_index_t)0xc6a4a793
#define MurmurMagic_2 (st_index_t)0x5bd1e995
#if MURMUR == 1
#define MurmurMagic 0xc6a4a793
#define MurmurMagic MurmurMagic_1
#elif MURMUR == 2
#if SIZEOF_ST_INDEX_T > 4
#define MurmurMagic 0xc6a4a7935bd1e995
#define MurmurMagic ((MurmurMagic_1 << 32) | MurmurMagic_2)
#else
#define MurmurMagic 0x5bd1e995
#define MurmurMagic MurmurMagic_2
#endif
#endif