diff options
author | charliesome <charliesome@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-06-07 08:41:48 +0000 |
---|---|---|
committer | charliesome <charliesome@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-06-07 08:41:48 +0000 |
commit | f8cf43706a4e4ac33a2223ed1d2d3405eea1d64e (patch) | |
tree | 633f4c9e4433d748fff98e06959af0c605aeb50d | |
parent | 97b825bdcf0144e12f9079c66d547a56aa86d2f7 (diff) | |
download | ruby-f8cf43706a4e4ac33a2223ed1d2d3405eea1d64e.tar.gz |
* bignum.c (rb_absint_size): explicit cast to BDIGIT to avoid implicit
64 bit to 32 bit shortening warning
* bignum.c (rb_int_export): ditto
* bignum.c (int_import_push_bits): ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41139 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | bignum.c | 6 |
2 files changed, 10 insertions, 3 deletions
@@ -1,3 +1,10 @@ +Fri Jun 7 17:41:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * bignum.c (rb_absint_size): explicit cast to BDIGIT to avoid implicit + 64 bit to 32 bit shortening warning + * bignum.c (rb_int_export): ditto + * bignum.c (int_import_push_bits): ditto + Fri Jun 7 17:31:00 2013 Charlie Somerville <charliesome@ruby-lang.org> * internal.h (RCLASS_SUPER): use descriptive variable name @@ -472,7 +472,7 @@ rb_absint_size(VALUE val, int *number_of_leading_zero_bits) fixbuf[0] = v; #else for (i = 0; i < (int)(sizeof(fixbuf)/sizeof(*fixbuf)); i++) { - fixbuf[i] = v & ((1L << (SIZEOF_BDIGITS * CHAR_BIT)) - 1); + fixbuf[i] = (BDIGIT)(v & ((1L << (SIZEOF_BDIGITS * CHAR_BIT)) - 1)); v >>= SIZEOF_BDIGITS * CHAR_BIT; } #endif @@ -623,7 +623,7 @@ rb_int_export(VALUE val, int *signp, size_t *wordcount_allocated, void *words, s fixbuf[0] = v; #else for (i = 0; i < (int)(sizeof(fixbuf)/sizeof(*fixbuf)); i++) { - fixbuf[i] = v & ((1L << (SIZEOF_BDIGITS * CHAR_BIT)) - 1); + fixbuf[i] = (BDIGIT)(v & ((1L << (SIZEOF_BDIGITS * CHAR_BIT)) - 1)); v >>= SIZEOF_BDIGITS * CHAR_BIT; } #endif @@ -775,7 +775,7 @@ int_import_push_bits(int data, int numbits, BDIGIT_DBL *ddp, int *numbits_in_dd_ (*ddp) |= ((BDIGIT_DBL)data) << (*numbits_in_dd_p); *numbits_in_dd_p += numbits; while (SIZEOF_BDIGITS*CHAR_BIT <= *numbits_in_dd_p) { - *(*dpp)++ = (*ddp) & (((BDIGIT_DBL)1 << (SIZEOF_BDIGITS*CHAR_BIT))-1); + *(*dpp)++ = (BDIGIT)((*ddp) & (((BDIGIT_DBL)1 << (SIZEOF_BDIGITS*CHAR_BIT))-1)); *ddp >>= SIZEOF_BDIGITS*CHAR_BIT; *numbits_in_dd_p -= SIZEOF_BDIGITS*CHAR_BIT; } |