ruby-trunk-changes r34270 - r34279

今日は clang の最適化対策とビルド関係の修正がありました。

ngoto:r34270 2012-01-12 00:00:57 +0900

配列の初期化に変数の参照を含む代入が利用されていて古いコンパイラでエラーになっていたのを修正しています。 [Bug #5878] [ruby-dev:45123]

svn:r34271 2012-01-12 00:01:02 +0900

version.h の日付更新。

kazu:r34272 2012-01-12 01:04:25 +0900

make でコマンドの詳細を表示せず引数に V=1 を指定した時だけコマンドを表示するしくみを mkmf.rb が生成する拡張ライブラリの Makefile の clean 系のルールの rmdir コマンドの部分にも利用するようにしています。

ayumin:r34277 2012-01-12 02:19:54 +0900

Object#is_a? と Object#instance_of? の rdoc にサンプルコードを追加/移動しています。 [ruby-core:42057] [Bug #5880]

naruse:r34278 2012-01-12 14:12:03 +0900

Continuation のスタックを保存/復元する処理で復元するために ALLOCA でマシンスタック上の領域を確保してそのポインタを格納した変数をそのまま利用しないコードが clang の最適化で領域の確保処理ごと消されてしまい SEGV するのを修正しています。またこのための対策としてスタックの復元を MEMCPY() で一気にコピーするのを for ループで少しずつコピーするようにしていました(r32201)がこれを元に戻しています。 [Bug #5851]

nobu:r34279 2012-01-12 18:44:34 +0900

mkmf.rb が生成する Makefile でコマンドのエラーを無視する記述方法を格納した $ignore_error というグローバル変数を初期化するまえに参照してしるため make realclean などで rmdir が引数がなくて失敗した時にエラーメッセージが表示されてしまっているのを修正しています。