mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* include/ruby/ruby.h (rb_array_const_ptr, rb_struct_const_ptr):
Suppress pointer type mismatch warnings occurred with old version of Fujitsu C Compiler (fcc) on Solaris 10. The warnings cause failure of TestMkmf::TestConvertible. [Bug #11644] [ruby-dev:49326] * include/ruby/ruby.h (FIX_CONST_VALUE_PTR): macro for the above, only effective with fcc. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
a2dbb9d603
commit
fcf63d1e54
2 changed files with 21 additions and 4 deletions
|
@ -1,3 +1,12 @@
|
||||||
|
Fri Nov 6 18:07:47 2015 Naohisa Goto <ngotogenome@gmail.com>
|
||||||
|
|
||||||
|
* include/ruby/ruby.h (rb_array_const_ptr, rb_struct_const_ptr):
|
||||||
|
Suppress pointer type mismatch warnings occurred with old version
|
||||||
|
of Fujitsu C Compiler (fcc) on Solaris 10. The warnings cause
|
||||||
|
failure of TestMkmf::TestConvertible. [Bug #11644] [ruby-dev:49326]
|
||||||
|
* include/ruby/ruby.h (FIX_CONST_VALUE_PTR): macro for the above,
|
||||||
|
only effective with fcc.
|
||||||
|
|
||||||
Fri Nov 6 12:39:21 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
Fri Nov 6 12:39:21 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
* defs/id.def (token_ops), parse.y (parser_yylex): change DOTQ
|
* defs/id.def (token_ops), parse.y (parser_yylex): change DOTQ
|
||||||
|
|
|
@ -2004,11 +2004,19 @@ rb_array_len(VALUE a)
|
||||||
RARRAY_EMBED_LEN(a) : RARRAY(a)->as.heap.len;
|
RARRAY_EMBED_LEN(a) : RARRAY(a)->as.heap.len;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(__fcc__) || defined(__fcc_version) || \
|
||||||
|
defined(__FCC__) || defined(__FCC_VERSION)
|
||||||
|
/* workaround for old version of Fujitsu C Compiler (fcc) */
|
||||||
|
# define FIX_CONST_VALUE_PTR(x) ((const VALUE *)(x))
|
||||||
|
#else
|
||||||
|
# define FIX_CONST_VALUE_PTR(x) (x)
|
||||||
|
#endif
|
||||||
|
|
||||||
static inline const VALUE *
|
static inline const VALUE *
|
||||||
rb_array_const_ptr(VALUE a)
|
rb_array_const_ptr(VALUE a)
|
||||||
{
|
{
|
||||||
return (RBASIC(a)->flags & RARRAY_EMBED_FLAG) ?
|
return FIX_CONST_VALUE_PTR((RBASIC(a)->flags & RARRAY_EMBED_FLAG) ?
|
||||||
RARRAY(a)->as.ary : RARRAY(a)->as.heap.ptr;
|
RARRAY(a)->as.ary : RARRAY(a)->as.heap.ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline long
|
static inline long
|
||||||
|
@ -2021,8 +2029,8 @@ rb_struct_len(VALUE st)
|
||||||
static inline const VALUE *
|
static inline const VALUE *
|
||||||
rb_struct_const_ptr(VALUE st)
|
rb_struct_const_ptr(VALUE st)
|
||||||
{
|
{
|
||||||
return (RBASIC(st)->flags & RSTRUCT_EMBED_LEN_MASK) ?
|
return FIX_CONST_VALUE_PTR((RBASIC(st)->flags & RSTRUCT_EMBED_LEN_MASK) ?
|
||||||
RSTRUCT(st)->as.ary : RSTRUCT(st)->as.heap.ptr;
|
RSTRUCT(st)->as.ary : RSTRUCT(st)->as.heap.ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(EXTLIB) && defined(USE_DLN_A_OUT)
|
#if defined(EXTLIB) && defined(USE_DLN_A_OUT)
|
||||||
|
|
Loading…
Reference in a new issue