diff options
author | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-01-02 06:41:47 +0000 |
---|---|---|
committer | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-01-02 06:41:47 +0000 |
commit | 91715ee53b370e958a7c1a2e1036aa71eed66fc1 (patch) | |
tree | 15fc64af27f54199b3ec086d76da7ee8b72923d0 /internal.h | |
parent | 1836af769cc8fc78a5d017b5a51aebfa6794f7b5 (diff) |
long long is a C99ism
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'internal.h')
-rw-r--r-- | internal.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/internal.h b/internal.h index 94c8f3ff67..f3ba39f2d1 100644 --- a/internal.h +++ b/internal.h @@ -512,13 +512,19 @@ rb_fix_mod_fix(VALUE x, VALUE y) return mod; } -#if defined(HAVE_UINT128_T) +#if defined(HAVE_UINT128_T) && defined(HAVE_LONG_LONG) # define bit_length(x) \ (unsigned int) \ (sizeof(x) <= SIZEOF_INT ? SIZEOF_INT * CHAR_BIT - nlz_int((unsigned int)(x)) : \ sizeof(x) <= SIZEOF_LONG ? SIZEOF_LONG * CHAR_BIT - nlz_long((unsigned long)(x)) : \ sizeof(x) <= SIZEOF_LONG_LONG ? SIZEOF_LONG_LONG * CHAR_BIT - nlz_long_long((unsigned LONG_LONG)(x)) : \ SIZEOF_INT128_T * CHAR_BIT - nlz_int128((uint128_t)(x))) +#elif defined(HAVE_UINT128_T) +# define bit_length(x) \ + (unsigned int) \ + (sizeof(x) <= SIZEOF_INT ? SIZEOF_INT * CHAR_BIT - nlz_int((unsigned int)(x)) : \ + sizeof(x) <= SIZEOF_LONG ? SIZEOF_LONG * CHAR_BIT - nlz_long((unsigned long)(x)) : \ + SIZEOF_INT128_T * CHAR_BIT - nlz_int128((uint128_t)(x))) #elif defined(HAVE_LONG_LONG) # define bit_length(x) \ (unsigned int) \ |