ruby-trunk-changes 2021-08-09

今日は引き続き readline のシグナルハンドラのテストの修正や C++ 製拡張ライブラリ向けヘッダの警告抑制のための変更などがありました。

[48c43f7783] Samuel Williams 2021-08-08 21:40:13 UTC

readline の SIGINT シグナルハンドラのテストでのタイムアウト時間を 2秒から 8秒に伸ばして、子プロセスの終了に Kernel#exit! を使って即時にプロセス終了させるようにするなど CI 環境でのテスト失敗の可能性を下げるための変更をしているようです。

[dc2eb6f7b2] git 2021-08-08 23:41:15 UTC

version.h の日付更新

[836b7047a6] Nobuyoshi Nakada 2021-08-08 08:16:03 UTC

bignum.c の integer_unpack_num_bdigits() および rb_absint_numwords() で未使用変数の警告除去のための (void) つきの参照を追加しています。

[f584dc5a11] Nobuyoshi Nakada 2021-08-08 08:18:56 UTC

vm_exec.c で vm_insns_counter_count_insn() の宣言を MAYBE_UNUSED() マクロつきで追加して未使用関数の警告抑制しています。

[a14671a6b6] Nobuyoshi Nakada 2021-08-08 08:23:56 UTC

ruby_cleanup() と rb_ec_cleanup() の引数についている volatile 修飾子を削除しています。 新しい規格の C++コンパイラでの警告抑制のためみたいです。

[733ffa74cd] Nobuyoshi Nakada 2021-08-08 08:27:56 UTC

C++ 製拡張ライブラリ向けのヘッダファイル include/ruby/backward/cxxanyargs.hpp で rb_iterate() の呼び出しを backward::rb_iterate() と名前空間つきで宣言するようにしています。これも C++ コンパイラでの警告抑制のためみたいです。

[4fb8a12adc] Nobuyoshi Nakada 2021-08-08 09:24:03 UTC

同じく C++ 製拡張ライブラリ向けヘッダファイル include/ruby/backward/cxxanyargs.hpp で rb_iterate() の定義に RUBY_CXX_DEPRECATED() マクロを追加して代替として rb_block_call() があることを示すようにしています。

[6736323194] Nobuyoshi Nakada 2021-08-08 12:20:44 UTC

eval.c の rb_ec_cleanup() で EC_EXEC_TAG() と EC_POP_TAG() の間で th 変数へ代入しているのを大域脱出があった時だけにしています。 "might be clobbered by 'longjmp' or 'vfork'" 警告の抑制のためみたいです。

[6f6a84f2f3] Samuel Williams 2021-08-09 02:49:52 UTC

readline の SIGINT シグナルハンドラのテストで追加するシグナルハンドラ内で Kernel#p でログ出力してたのを Kernel#puts に変えて、さらに IO#flush を呼ぶようにしています。

[93ddff4802] Nobuyoshi Nakada 2021-08-09 08:36:00 UTC

include/ruby/internal/iterator.h の C++ 向けの API rb_iterate() を rb_iterate_deprecated() と改名しています。 Sun の C Compiler だと C 用の? rb_iterate() と名前が衝突してエラーになるみたいです。

[5e633fb99e] aycabta 2021-08-09 09:17:07 UTC

readline の SIGINT のシグナルハンドラについてのテストが Readline の 7.0 とリンクしている拡張ライブラリ readline 版の時もテストが通らないそうで skip するようにしています。

[b8f7e8ac6b] Nobuyoshi Nakada 2021-08-09 08:53:45 UTC

テスト用の拡張ライブラリ ext/-test-/time/leap_second.c で警告抑制のため #include "ruby.h" を追加しています。

[9ed196e487] Nobuyoshi Nakada 2021-08-09 09:16:24 UTC

4fb8a12adc993d85af90e8563aff77f100cfdbd5 で include/ruby/backward/cxxanyargs.hpp に追加した関数宣言の RUBY_CXX_DEPRECATED() マクロによる deprecated のマークのうち rb_iterate() につけたほうをコメントアウトしています。 RUBY_CXX_DEPRECATED() は追加したものの他にも ANYARGS の利用についての警告で既に付けていたので Windows の VC で冗長な attribute として警告が出てしまったとのこと。