1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* 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
This commit is contained in:
charliesome 2013-06-07 08:41:48 +00:00
parent 97b825bdcf
commit f8cf43706a
2 changed files with 10 additions and 3 deletions

View file

@ -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

View file

@ -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;
}