ruby-trunk-changes r66951 - r66960

今日は VM 用の C のコード生成のテンプレートで C90 の制約のために苦労していたところを C99 対応でシンプルなコードを生成するようにする変更などがありました。

nobu: r66951 2019-01-30 20:58:07 +0900

ruby 本体のテスト用の test/unit の parser のテスト用のメソッド prepare_syntax_check で、エラー時のメッセージに対象のコード自体も表示するようにしています。

nobu: r66954 2019-01-31 13:35:13 +0900

test/ruby/test_iseq.rb の先頭で toplevel return しててテスト全く実行してなかったのを修正しています。 r66246 で誤って入れてたみたい。うーむ日記をみても気がついていなかったようだ。

nobu: r66955 2019-01-31 13:35:14 +0900

test/ruby/test_iseq.rb のテストが SyntaxError のメッセージの変更で通らなくなってたのが追随漏れしてたので修正しています。

svn: r66956 2019-01-31 13:35:15 +0900

version.h の日付更新。

shyouhei: r66957 2019-01-31 13:46:03 +0900

VM のコード生成用のテンプレート tool/ruby_vm/views/_insn_name_info.erb で C99 の機能を使えるようになったので、C の文字列リテラルのサイズの制限のために insn_name() のためのテーブルを生成するためたくさんの変数に分割してたのをもっとシンプルに書き換えています。

shyouhei: r66958 2019-01-31 14:00:41 +0900

tool/ruby_vm/views/_insn_len_info.erb で rb_vm_insn_len_info という変数を extern してましたが参照しているところがないということで insn_len() の中の static 変数として移動して改名しています。

shyouhei: r66959 2019-01-31 14:22:58 +0900

tool/ruby_vm/views/_insn_operand_info.erb も C99 を使えるようになったので insn_op_types() のためのテーブルをシンプルに書くようにしています。

shyouhei: r66960 2019-01-31 14:36:17 +0900

同じく VM 関連コード生成用のテンプレート tool/ruby_vm/views/_insn_type_chars.erb で、enum の宣言の最後の要素にカンマをつけられるようになったので生成コードをシンプルにしています。