ruby-trunk-changes 2020-04-20

今日は ruby_atomic.h で定義している atomic な演算がサポートされない環境ではビルドできないようにする変更などがありました。

[5a8960b4fe] Yusuke Endoh 2020-04-19 14:14:31 UTC

FIFOruby スクリプトとして Kernel#load で読み込むテスト(なんてニッチなテストだ)が Android でうまく動かないそうで skip するようにしています。

[2af4c1fc5b] Yusuke Endoh 2020-04-19 14:15:43 UTC

rubyspec の Process.clock_getres のテストで SolarisAIXOpenBSD で除外していたテストを Android でも除外するようにしています。

[73bd2b70e2] Nguyễn Quang Minh 2020-04-19 14:38:25 UTC

vm_dump.c の VMDEBUG 定義のところで本体の定義されているヘッダファイルを示しているコメントのファイル名を現状に合わせて修正しています。

[e92f3e1216] Nobuyoshi Nakada 2020-04-19 14:40:44 UTC

73bd2b70e2570279e72404a1aa8bc451ad0f90b5 で修正したコメントごと vm_dump.c で VMDEBUG を定義しているところを削っています。

[20773a1090] Nobuyoshi Nakada 2020-04-20 01:44:52 UTC

ruby_atomic.h で各種環境/コンパイラの atomic 処理のサポートが得られない場合に表面的な演算のみ模倣するマクロを定義していたのをやめて、#error プラグマでビルドエラーにするようにしています。いつからかなと思ったらこの分岐内にマクロ定義を置いてたのは 9d4e471cf974d99ab01fc243b5419c6711888540 の atomic.h (ruby_atomic.h と改名する前のファイル名)を切り出した時からなのでかなり昔からですね。これで歴史を調べてて気がつきましたが ec10c033a7f6ba4819b7a65eb31eba432028f28a の時にも size_t と VALUE のサイズが異なる時に atomicity の保証されない代替実装をしていたのでこれもまずいかな?

[b4c9b570f1] git 2020-04-20 03:37:51 UTC

version.h の日付更新