ruby-trunk-changes r64218 - r64229

今日は mswin 版の VC++ での MJIT サポートや Time 関係の構造体のリファクタリングなどがありました。

hsbt: r64218 2018-08-07 22:08:53 +0900

webrick のテストで警告除去のため WEBrick::HTTP::Request に明示的に content_type を設定するようにしています。 https://github.com/ruby/webrick/pull/8

k0kubun: r64219 2018-08-08 00:14:48 +0900

Windows 版の MJIT 用の mjit_config.h の生成のための win32/Makefile.sub のルールで "=" を出力する時にエスケープをするようにしているようです。コマンドプロンプト(というか Windows のシェル?)の記法はよくわからないけどこれまでは -DMACRO=1 みたいなマクロ定義を吐こうとしたら = が消えてしまってたようです。

svn: r64220 2018-08-08 00:14:49 +0900

version.h の日付更新。

k0kubun: r64221 2018-08-08 01:27:45 +0900

mswin 版での MJIT で cl.exe の標準出力への出力を捨てる対応と extern のかわりに RUBY_EXTERN を使う対応を入れています。これで mswin の VC++ での MJIT が動くようになるらしいです。テストはまだいくつか skip されています。

k0kubun: r64222 2018-08-08 01:49:34 +0900

appveyor.yml で MJIT のテストを行うように RUBY_FORCE_TEST_JIT=1 をつけて nmake test-all するようにしています。

normal: r64223 2018-08-08 10:16:37 +0900

FreeBSD 11.1 で拡張ライブラリ socket の rubyspec のテストがハングアップすることがあるため一部 FreeBSD で実行しないようにしたり、早めに socket の close をするように対処しています。

nobu: r64224 2018-08-08 11:56:04 +0900

rubyspec の socket のテストで macOS でもハングアップするものがあるみたいで、いくつか platform_is_not の guard に :darwin を追加して実行させないようにしています。

normal: r64225 2018-08-08 16:26:14 +0900

mjit.c の先頭部分のコメントで SIGCHLD の処理についてのコメントは SIGCHLD の独自処理するようになったので削除しています。 [Bug #14867]

kazu: r64226 2018-08-08 17:00:45 +0900

rubyspec の socket のテストで IPv6localhost のアドレスが名前解決できない場合がある(/etc/hosts にIPv6 のアドレスが書かれてない)ので、ホスト名に "localhost" を使ってるところは明示的に "::1" を使うようにしています。

akr: r64227 2018-08-08 19:00:43 +0900

Time のメソッド群で日付情報を保持するために使っている構造体 struct vtm のタイムゾーンを表す zone を char * で持っていたのを VALUE 型にして fstring オブジェクトで参照するようにしています。不要な文字列を st_table で持ち続けるのを避けるためかな?

akr: r64228 2018-08-08 19:39:31 +0900

Time の実体である struct time_object のメンバー gmt を tzmode と改名しています。またこのメンバーの値を定数マクロとして TIME_TZMODE_LOCALTIME/TIME_TZMODE_UTC/TIME_TZMODE_FIXOFF と定義しています。

kazu: r64229 2018-08-08 20:50:39 +0900

r64228 の追加修正で struct time_object の tzmode メンバーのコメントの値に対応する名前を新規に定義したマクロ名にあわせて少し変更しています。