diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-01-07 22:25:29 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-01-07 22:25:29 +0000 |
commit | 70c59ba555d80e0d7f795c20cfa4974d822f29f6 (patch) | |
tree | c3bab8ecdd3017137a6065304505b119c35bc07d /internal.h | |
parent | a410ff68c247350679b55a69af4ba0a5ea767244 (diff) |
merge revision(s) 61518: [Backport #14260]
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/branches/ruby_2_5@61660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'internal.h')
-rw-r--r-- | internal.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/internal.h b/internal.h index 4ccf3218c6..41b826c8d0 100644 --- a/internal.h +++ b/internal.h @@ -914,8 +914,8 @@ struct vm_throw_data { struct vm_ifunc_argc { #if SIZEOF_INT * 2 > SIZEOF_VALUE - int min: (SIZEOF_VALUE * CHAR_BIT) / 2; - int max: (SIZEOF_VALUE * CHAR_BIT) / 2; + signed int min: (SIZEOF_VALUE * CHAR_BIT) / 2; + signed int max: (SIZEOF_VALUE * CHAR_BIT) / 2; #else int min, max; #endif |