Gauche > Archives > 2013/10/15

2013/10/15 04:57:49 UTC(び)
#
In file included from vm.c:826:
./vminsn.c:706:49: error: expected expression
{{ScmObj nm;int argc;int proctype;call_entry :; #undef APPLY_CALL
                                                ^
./vminsn.c:708:21: error: expected expression
tail_apply_entry :; #define APPLY_CALL
                    ^
../lib/gauche/cgen/cise.scm:1029:389: error: use of undeclared label
      'tail_apply_entry'
  ...label_TAIL_CALL;}}*((SP)-(1))=(rest);VAL0=(proc);DISCARD_ENV();goto tail...
                                                                         ^
1 warning and 3 errors generated.
make[1]: *** [vm.o] Error 1
make: *** [all] Error 1
#
こんなのが。Mac OS X 10.8.5 + Xcode 5です。
#
gccでもclangでも同じエラーですね。
2013/10/15 05:18:28 UTCshiro
#
最新HEADをインストールしてmaintainer-cleanからやったら再現しました。
2013/10/15 05:18:44 UTC(び)
#
今 0.9.3.3 に戻してビルドして通ったところです。
#
コード生成に問題があったわけですね。
2013/10/15 05:23:32 UTCshiro
#
むー、でも関連しそうなところを眺めてるんだけど今んとこ2008年くらいから触ってない感じだな。どこがどう影響したんだろ。
#
git bisectしかないかのう。
2013/10/15 05:26:00 UTC(び)
#
0.9.3.3でビルドした最新HEADをビルドしてインストールしたやつで、HEADをビルドすると再現しました。
2013/10/15 07:02:11 UTCenami
#
Scm_Read で proto == NULL で作っている read context に SOURCE_INFO bit が立たなくなっているように読めますが,そのため?
#
というか,一番最初のデフォルトかな.
2013/10/15 07:06:32 UTCshiro
#
bisect終了。10/10のコミット2470767bbcが犯人と出た
#
read context絡みかのう。しかしsource_infoが立たないだけでここの改行が消えるというのは別のバグが顕在化したっぽい。
2013/10/15 07:12:13 UTCenami
#
source-info がないので render-finalize が改行してくれないんじゃないのかな.
#
そんな単純でもない?
2013/10/15 07:14:34 UTCshiro
#
ふむ。そんな単純なことかもしれぬ。
2013/10/15 07:19:44 UTCshiro
#
要は #undef 等はsource-infoの有無にかかわらず行頭に来ることを保証しないとならないのか。
#
CLのfresh-lineはportに行頭かどうかの状態を持たせないとならないので面倒なんだが、時々あるととても便利な場面に出会うなあ。
2013/10/15 07:43:46 UTCshiro
#
read contextは別に直すとして、とりあえず 1f8e39f で再びHEADでセルフコンパイル可能になったんではないかと。
2013/10/15 17:11:26 UTC(び)
#
遅くなりましたが、ビルドできるようになったことを確認しました。