ruby-trunk-changes 2021-08-16

今日は typeprof のバージョン更新や emscripten 向けのビルド修正などがありました。

[164f50dea9] Yusuke Endoh 2021-08-15 02:59:05 UTC

gems/bundled_gems の typeprof のバージョンを 0.15.1 に更新しています。 4568ba071107a139b9f02fc17aa12f998181abf1 の pattern match のエラーメッセージ変更に追随した変更みたいです。GitHub Actions で typeprof のテスト失敗を無視させる設定も戻しています。

[f8f6d9895d] DC 2021-08-15 12:31:54 UTC

configure.ac に Fiber 実装用の coroutine の種類を決める設定を FreeBSD 向けの条件を追加しています。

[4cc44bd819] git 2021-08-16 00:07:09 UTC

version.h の日付更新

[5087a6a924] Nobuyoshi Nakada 2021-08-16 04:45:30 UTC

Fiber のための coroutine の実装種別ごとにソースコードが .c だったり .S だったりするのを configure でタイプで分岐してたのを .c があるかどうかでチェックしてなかったら .S を使うというようにタイプが追加されても追随できるようにルールベースにしています。

[54199a3f5f] Nobuyoshi Nakada 2021-08-16 04:52:17 UTC

ruby 実装による組み込みメソッド定義を ISeq にしてロードできる形式にするための前処理ツール tool/mk_builtin_loader.rb で関数ポインタをソースコードに埋め込む時のフォーマット指示子を PRIdPTR から PRIuVALUE に変更しています。 emscripten で WASM 向けにビルドした時に intptr_t 型が指示子 PRIdPTR と型が合わないそうです。

[ee7bd7d732] Nobuyoshi Nakada 2021-08-16 05:02:13 UTC

gc.c で SIZE_MAX マクロを利用しているところで明示的に size_t へのキャストを追加しています。これも emscripten では SIZE_MAX マクロが size_t 型ではないという問題があったのでその対処だそうです。

[07b12a1f48] Nobuyoshi Nakada 2021-08-16 07:02:49 UTC

process.c および thread_pthread.c で proprocessor の分岐によって未使用の変数の警告が出るところを変数宣言も分岐内に移動するなどして警告抑制しています。

[a8714b83c4] Nobuyoshi Nakada 2021-08-16 08:00:19 UTC

popen(3) が emscripten では利用できないそうで利用部分の preprocessor 分岐に #ifndef __EMSCRIPTEN__ の条件を追加しています。