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

bit fields treating negative values should be declared as signed int

* internal.h (struct vm_ifunc_argc): Bit fields are unsigned by default.
  For storing nagative values to bit fields, they must be declated as
  signed int. Fix multiple test failure observed by 32-bit binaries
  compiled with Oracle Developer Studio (Solaris Studio) 12.x on
  Solaris 10 on sparc architecture. [Bug #14260]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
ngoto 2017-12-30 16:38:22 +00:00
parent f92924923d
commit 2adf281593

View file

@ -914,8 +914,8 @@ struct vm_throw_data {
struct vm_ifunc_argc { struct vm_ifunc_argc {
#if SIZEOF_INT * 2 > SIZEOF_VALUE #if SIZEOF_INT * 2 > SIZEOF_VALUE
int min: (SIZEOF_VALUE * CHAR_BIT) / 2; signed int min: (SIZEOF_VALUE * CHAR_BIT) / 2;
int max: (SIZEOF_VALUE * CHAR_BIT) / 2; signed int max: (SIZEOF_VALUE * CHAR_BIT) / 2;
#else #else
int min, max; int min, max;
#endif #endif