Saturday, 30 July 2005

compiler



なんか、ほとんど半年ぶりにCbCコンパイラいじってたりしますが、
いろいろ悪事が露見。なんだが、半年経つとテスト環境が崩壊し
ていたりするので、PowerPC では直したんだけど、他のアーキテ
クチャでテストできないよ。

なんで露見したかっていうと、Fedora Core のgccが、どうも、
配列の外へのアクセスをチェックしているかららしい。
>0 配列の引数 (間接参照)
<0 原子型
みたいなことやっているので... 何カ所で t>0 && みたいな
コードを追加する羽目に。微妙に怪しいとは思ってたんだけど。
で、その余波で、別な部分のバグも見つけてしまいました。

でも、その後者のバグの方が取るのが大変。コンパイラのバグだ
から、生成されたコードのおかしなところ見つけて、そのおかし
なコードがどうして生成されるのかを見つけてってことになるの
で。いつエンバグしたのかは良くわからない。

学生に「偶然動いていたんですか?」とか言われたけど、そういう
ところもなきにしもあらずだ。

gcc 4.x 絡みで、test ルーチンのwarningが増えて取り切れない...
学生には平気で「全部取れ」みたいなこと言うんだけどね。コン
パイラのしようが縮小されるところもあるので、良いことでもあ
るんだけど。

No comments: