r52055以降、Solaris 10 上の古いfcc (Fujitsu C Compiler) にてコンパイルすると、
make test-all にて
TestMkmf::TestConvertible#test_typeof_builtin
TestMkmf::TestConvertible#test_typeof_typedef
がfailureになります。
長いのでFailure部分のログはファイル(r52055-failure.log)にて添付します。
以下のようにポインタの型の不一致のWarningが出ているのが原因でしょうか?
"/XXXXX-52055/include/ruby/ruby.h", line 2003: warning: return incompatible pointer types: expected `const VALUE *' actual `const unsigned long *' in function `rb_array_const_ptr'
"/XXXXX-52055/include/ruby/ruby.h", line 2017: warning: return incompatible pointer types: expected `const VALUE *' actual `const unsigned long *' in function `rb_struct_const_ptr'
なお、Oracle Solaris Studio 12.3 など他のコンパイラではFailureにならず成功しています。
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.