ruby-trunk-changes 2022-09-12

今日は IO#sysread の Windows 環境での不具合修正などがありました。

[684353fc03] Jeremy Bopp 2022-09-11 14:08:14 UTC

IO#sysread に -1 を渡した時に Windows 環境で wide char 向けに偶数に切り上げる処理が誤動作して例外にならずに動いてしまうという不具合を修正しています。 [ruby-core:109054] [Bug #18880]

[9205b8c801] Nobuyoshi Nakada 2022-09-11 16:23:52 UTC

b8c376cb9d91854fd40f6e06f07773404899b54f (r45402) という 2014年のかなり昔の defs/gmake.mk でコンパイルオプションに -O0 が指定されてた時に XCFLAGS から -D_FORTIFY_SOURCE を削るようにしてた変更を revert しています。昔は最適化を off にした時に -D_FORTIFY_SOURCE が指定できなかったけど今は大丈夫になったみたいです。

[6f8267b7f3] git 2022-09-11 22:48:12 UTC

version.h の日付更新

[89077b4c5a] Maple Ong 2022-09-11 22:50:55 UTC

compile.c の VM 命令列を変更する最適化を行う iseq_peephole_optimize() でいくつかの最適化でどのような命令の変更をするのかコメントに書かれてないものがあったのを追記しています。こういうのすごく助かりますね。

[ed029e9bd4] Nobuyoshi Nakada 2022-09-12 10:53:10 UTC

conofigure で -std=gnu99 というオプションを試すためのコードを削除しています。現在は AC_PROG_CC_C99 という専用のマクロでチェックしていてこの処理は冗長になっていて、C++コンパイラではむしろビルドエラーの原因になることがあったみたいです。