ruby-trunk-changes 2020-04-21

今日は捕捉されなかった例外のバックトレース表示を出力先が端末の時に逆順にした3年前の変更を元に戻す変更がありました。また CI に RISC V の環境が追加されたようでその対応などがありました。

[e571bb8436] Nobuyoshi Nakada 2020-04-20 12:13:08 UTC

20773a109029ba4464d7749d38a311f880a73293 と同様にポインタと size_t のサイズが異なる時に ruby_atomic.h に実際には atomic じゃない操作を inline 関数として定義してたところを #error プラグマでビルドエラーにさせるようにしています。ついでに(というかアクシデントで tool/sync_default_gems.rb の conflict 解消の修正が入ってますがこれは後で revert されています。

[aeb9d11594] Nobuyoshi Nakada 2020-04-20 12:21:42 UTC

e571bb8436502b1bce54a1e41c40ef682e05c555 でうっかり入った tool/sync_default_gems.rb の修正を revert しています。

[3cd3a507e3] Nobuyoshi Nakada 2020-04-20 12:23:26 UTC

e571bb8436502b1bce54a1e41c40ef682e05c555 でうっかり一緒に入ってしまった tool/sync_default_gems.rb の upstream からの同期時の conflict 対応の修正をあらためて追加。 git reset 後に git checkout も実行して staging されていない変更も消すようにしています。

[847e25975c] Yusuke Endoh 2020-04-20 13:46:53 UTC

MJIT のテストが RISC V の環境でコンパイラが SEGV してしまうそうで skip するようにしています。

[6985bfb72c] Yusuke Endoh 2020-04-20 14:59:05 UTC

同じく RISC V の環境で C のバックトレースがうまく取れないようなので出力を抑制してします。

[7a0ac279b7] git 2020-04-20 15:00:23 UTC

version.h の日付更新

[8e51794265] Yusuke Endoh 2020-04-20 15:06:07 UTC

Refinements のタイムアウトRISC V 環境で足りなかったそうで伸ばしています。 RubyCI に RISC V の環境が追加されたんですねぇ。

[b9962f0e89] Hiroshi SHIBATA 2020-04-20 12:20:54 UTC

bundler の man ファイルへの相対パスruby 本体に同梱されている場合のパスにも対応するようにしています。 [ruby-core:90164] [Bug #15359]

[4b86194177] Kazuhiro NISHIYAMA 2020-04-21 03:38:36 UTC

ヘッダファイルのコメントの typo 修正。

[adab82b9a7] 卜部昌平 2020-04-21 03:57:33 UTC

TRY_WITH_GCicc でビルドした時に CI で NoMemoryError が不意に発生することがあるそうで、再現しないのでデバッグのために例外のかわりに rb_bug() で異常終了させてバックトレースを得るようにしてみています。

[735e035bf5] 卜部昌平 2020-04-17 20:53:10 UTC

4b853932eaa7fa4acf8a0f0c9b7c695bb4f5e76d と同様に icc は __GNUC__ を定義するけど -Wdeprecated-declarations オプションが効かないので __has_warning() によるチェックも preprocessor 分岐に追加しています。

[32623150cd] 卜部昌平 2020-04-17 20:40:57 UTC

デバッグビルドを指示するための NDEBUG マクロを ARRAY_DEBUG などの個別のマクロでファイルごとに有効にする部分で、ビルドオプション全体で -DNDEBUG が指定された場合を考慮して再定義の警告除去のため #undef を追加しています。

[c63b5c6179] 卜部昌平 2020-04-21 07:29:52 UTC

adab82b9a71f60ad1c7f4f8c134a5ae9198ab32a で TRY_WITH_GC() で icc での CI のデバッグのため NoMemeryError のかわりに rb_bug() で異常終了させるようにしましたが、どうやら TRY_WITH_GC() のところじゃなかったようなので rb_memerror() 内で icc の場合のみ __builtin_trap() を直接呼んで異常終了させるようにしています。

[487d0c99d5] Yusuke Endoh 2020-04-21 08:39:32 UTC

r57685 の例外がトップレベルまで捕捉されずにいた時のバックレースを、標準出力が端末の時に順序を逆にしたのをやめて、常に底のほうが最後になるようにしています。2017年からだからそこそこ長くこの状態だったけど戻ったかー。 [ruby-core:56096] [Feature #8661]

[bf11bf31e2] Nobuyoshi Nakada 2020-04-21 10:28:38 UTC

487d0c99d53208594702bb3ce1c657130fb8d65f の捕捉されなかった例外のバックトレース表示の変更について NEWS エントリを追記しています。 [ruby-core:56096] [Feature #8661]