ruby-trunk-changes r51772 - r51776

今日は警告除去のための修正だけでした。

nobu: r51772 2015-09-06 08:14:18 +0900

include/ruby/ruby.h で UNREACHABLE が未定義の時の ASSUME() の定義で引数を使っていなかったのを、展開はしておくようにしています。 ASSUME は r51342 で追加されていて、win32/Makefile.sub ではコンパイラの組み込み関数 __assume() を使うようになっていて、UNREACHABLE があればそれを利用した代替実装が定義されていますが、それもなければ何もしないようにしてました。引数の x が副作用のある式だった時に評価されなくなると結果が変わってしまうのでそれを修正したということでしょうか。

nobu: r51773 2015-09-06 08:14:25 +0900

win32/win32.c での未初期化変数参照の警告の抑制のため get_attr_vsn() で GetLastError() の結果に ASSUME() を使って常に非 0 になることをコンパイラに示しています。 なるほど r51772 の ASSUME() の修正はここで e = GetError() を書くために行なわれたんですね。

nobu: r51774 2015-09-06 11:04:40 +0900

thread.c の do_select() でも rb_fdset_t::maxfd の未初期化の警告除去のために ASSUME() を利用するようにしています。

nobu: r51775 2015-09-06 15:00:12 +0900

test/ruby/test_process.rb のテストで Process.spawn のオプションで fd の close をする時に "cannot close fd before spawn" の警告を抑制するため子プロセスで $VERBOSE = nil にセットするようにしています。

normal: r51776 2015-09-06 16:10:54 +0900

ccan/list に upstream の最新版をマージしています。 未使用変数の警告除去のため、デバッグ用マクロの修正みたいで、機能的には変更なさそうです。