ruby-trunk-changes 2021-03-02

今日は clang の強い最適化をかけた時に SEGV する場合がある問題への対処や、標準添付ライブラリ benchmark で STDOUT にかわり $stdout を使うようにする変更などがありました。

[61f417ac7d] Marc-Andre Lafortune 2021-03-02 00:22:23 UTC

標準添付ライブラリ benchmark が標準出力を操作する時に定数 STDOUT を直接触っているのは、ruby でアプリケーションが標準入出力を変更する時のための変数 $stdout のほうを使うように変更しています。 [ruby-core:102335] [Bug #17600]

[f7c342f875] git 2021-03-02 00:23:55 UTC

version.h の日付更新

[33dc0a070a] 卜部昌平 2021-03-02 06:22:22 UTC

clang の最適化オプション -O3 をつけてビルドすると、おそらく LLVM の最適化の不具合で SEGV するケースがあるとのことで internal/object.h の inline 関数 RBASIC_SET_CLASS_RAW() 内で VALUE 型の引数から struct RBasic の klass をconst 修飾子を無視してセットするための書きかたを変更しています。 [ruby-core:102083] [Bug #17540]