ruby-trunk-changes 2020-02-20

今日はデバッグビルド時や C++ の拡張ライブラリビルド時の修正や rdoc の deprecated なメソッド削除などがありました。

[57c26231dd] Kazuhiro NISHIYAMA 2020-02-19 15:13:44 UTC

GitHub Actions の macOS 環境で brew update してたのを brew upgrade に修正。

[4bc16244be] git 2020-02-19 15:14:24 UTC

version.h の日付更新

[eed7235e33] Marcus Stollsteimer 2020-02-19 19:59:21 UTC

ENV.delete_if と ENV.value? などの rdoc 用コメントの typo 修正。

[036a68ae2c] Nobuyoshi Nakada 2020-02-19 23:43:26 UTC

ENV.rassoc の rdoc 用コメントで結果が "value and name" と書かれてたので、実際の配列の順序にあわせて "name and value" と修正。

[6788c375b1] 卜部昌平 2020-02-18 03:39:30 UTC

vm_method.c と mjit.h のポインタから enum へのキャストを一旦 intptr_t/uintptr_t を経由するようにしています。 clang 11 での警告抑制のためとのこと。

[984e0233fe] 卜部昌平 2020-02-17 07:57:45 UTC

GC_DEBUG というマクロの状態を GC::INTERNAL_CONSTANTS[:DEBUG] で参照できるようにして、GC_DEBUG がオンの時に Time オブジェクトの memosize_of のテストを skip するようにしています。

[c7e6dbd5ab] 卜部昌平 2020-02-13 03:53:49 UTC

Thread.DEBUG というメソッド(こんなのあったんだ)の実装する関数の引数が void になってたので VALUE 型の引数を受け取るように宣言するよう修正しています。

[8920e2040a] 卜部昌平 2020-02-15 09:56:44 UTC

vm.c の vm_ep_in_heap_p_() という関数に static をつけています。 VM_CHECK_MODE が設定されている時だけ定義される関数なので見逃がされてたようです。

[7aa3f1fe69] 卜部昌平 2020-02-13 04:33:49 UTC

compile.c でデバッグ時に printf() をマクロで上書きしていたところで C標準ライブラリの printf() もマクロで定義されている可能性を考慮して #undef するようにしています。

[4e6bae47c8] 卜部昌平 2020-02-13 04:59:41 UTC

C++ 用ヘッダのテストのための拡張ライブラリの extconf.rb で MakeMakefile["C++"] にインスタンス変数 @have_devel を設定して try_compile 内のチェックを騙すようにしています。コンパイルエラーを検出するためのテストなので無理矢理通すようにしているのかな。

[49bb2e64cc] 卜部昌平 2020-02-15 09:30:53 UTC

win32/Makefile.sub で生成する config.h の inline のマクロ定義を C++ でない時にのみ行なうように preprocessor 分岐内に移動しています。

[7586355423] 卜部昌平 2020-02-13 06:10:16 UTC

include/ruby/ruby.h に定義している enum ruby_rvalue_flags の trailing comma を削除しています。 C99 では許容されているけど公開ヘッダでは厳しくしようということみたいです。

[56d33b3ea8] Nobuyoshi Nakada 2020-02-20 04:39:27 UTC

RubyVM::InstructionSequence#to_binary の実装で VALUE の書き出しで CHAR_BIT が 8でない時(!)の分岐内の return が漏れてたので修正。

[f5abcf767e] Nobuyoshi Nakada 2020-02-13 05:06:07 UTC

標準添付ライブラリ rdoc の RDoc::Context::Section#sequence を削除。もうずっと deprecated とされていたようです。