summaryrefslogtreecommitdiff
path: root/internal.h
diff options
context:
space:
mode:
authorngoto <ngoto@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-12-30 16:38:22 +0000
committerngoto <ngoto@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-12-30 16:38:22 +0000
commit2adf28159308bd09fdaa92c019ce7ed15b7c94e4 (patch)
treed534485e1aa4f4cf6ec0a5d353d2be929d935e4a /internal.h
parentf92924923dd4d707abc8bf431d3c3e746fd8515a (diff)
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
Diffstat (limited to 'internal.h')
-rw-r--r--internal.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/internal.h b/internal.h
index 5fe888cd04..b2ef2d5258 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