#MinGW の gcc 4.4.0 でも -fno-caller-saves オプションをつけると numbers のテストを pass しました。
#あ、もしかして。src/gauche/config.h中の#define SCM_TARGET_I386をコメントアウトしてmake clean;makeしたらどうなります? i386の場合だけアセンブラ使ってるところがバグってるのかもしれない。
#おお、rc1なんて初めて見た
#ああ、ちょっと色々変えたんで、この状態でtrunk追ってる人にテストしてもらおうと思って。OSX, *BSD, Solaris使いあたりの方お願いします。あとextensionのコンパイルですね。
#Mac OS X 10.6.1(10B504)はmake checkまで問題なしですね
#extensionはこれから
#Scm_GetOutputStringUnsafe()って引数の数が変わったのかな?
#Testing gauche.process ... failed.
discrepancies found. Errors are:
test open-input-process-port: expects #t => got #f
#On NetBSD 5.0_STABLE
#上で話題になってるのと同じ問題かな?
#テストコードを見る限りちょっと違うっぽいな...
#run-processって非同期に処理を行うんだろうから、ls -a の出力が間に合ってないらしい
#(sys-system (cmds "ls" "-a" ">" "test.o"))
#下の方ではこれを使ってるから、こっちにすればいけそうな
#Index: test/process.scm
===================================================================
--- test/process.scm (revision 6817)
+++ test/process.scm (working copy)
@@ -200,7 +200,7 @@
(rmrf "test.o" "test1.o" "test2.o")
(touch "test.o")
-(run-process (cmd "ls" "-a") :output "test.o")
+(sys-system (cmds "ls" "-a" ">" "test.o"))
(test* "open-input-process-port" #t
(receive (p process) (open-input-process-port (cmd 'ls '-a))
#これなら通ります
#GetOutputStringUnsafe()は引数変わっています。もともとかなり前に変えてて、GAUCHE_API_0_9を定義すれば新しいAPIが使えるようになってました。今はそれが反対になって、デフォルトで新しいAPI、GAUCHE_API_PRE_0_9を定義すると古いAPIが見えるようになってます。他にも何ヶ所かそういう変更があります。
#おおなるのど
#なるほど
#直しました>test/process.scm
#来ました
#MacOSX 10.5.8 でも make check まで問題ありません
##define SCM_TARGET_I386 をコメントアウトしても numbers はエラーでした。 < MinGW GCC 4.4.0
#テストを通らないのはそれだけです。
#そういえば MinGW (Windows) での pthread 対応は 0.9 に入る感じでしょうか?
#あーそれは検証してないです。もう0.9までは特にMinGW向けにソースをいじる予定は基本的に無いです。
#> SCM_TARGET_I386 ふーむ、するとアセンブリコードの問題ではないのかな。最適化がきつくかかったために潜在的なGaucheのバグが出てきたか、それともgcc自体の問題か、いずれにせよ0.9はMinGWではgcc3推奨でいきます。
#了解しました。
#+ /* NB: We create pipe with NOINHERIT to avoid complextion when spawning