From: Naohisa Goto Date: 2011-10-20T12:06:41+09:00 Subject: [ruby-dev:44632] [Ruby 1.9 - Bug #5464][Open] compile error in vm_eval.c Issue #5464 has been reported by Naohisa Goto. ---------------------------------------- Bug #5464: compile error in vm_eval.c http://redmine.ruby-lang.org/issues/5464 Author: Naohisa Goto Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: ruby 2.0.0dev (2011-10-19) [sparc-solaris2.10] Solaris 10 にて Fujitsu C Compiler Version 5.6 を使ってtrunkをコンパイルしたところ、以下のコンパイルエラーが出ました。 "./vm_eval.c", line 275: error: initialization: constant expression is expected for variable: `args' このコンパイラでは、Cの配列の初期値としてコンパイル時に確定するものしか使えないようです。 1要素ずつ代入するようにするパッチを添付します。他の環境でも問題ないと思います。 --- vm_eval.c (revision 33484) +++ vm_eval.c (working copy) @@ -272,7 +272,10 @@ me = rb_method_entry(klass, idRespond_to); if (me && !(me->flag & NOEX_BASIC)) { - VALUE args[2] = {ID2SYM(mid), Qtrue}; + VALUE args[2]; + + args[0] = ID2SYM(mid); + args[1] = Qtrue; if (!RTEST(vm_call0(th, recv, idRespond_to, 2, args, me))) { return Qundef; } -- http://redmine.ruby-lang.org