gcc-4.0

gcc が 4.0 になって構文ルールが厳しくなったそうなので、試しに FDclone と MHpopd を compile してみました。4.0.0 の時はまだ出たばかりで枯れてなさそうだったので、4.0.1 が出たこの機会に。
--disable-libgcj しなかったので膨大な Java library の構築に辟易とさせられましたが、gcc そのものの build は何時間か放置した結果つつがなく完了。まぁ、gcc の build 段階でつまずくのも鬱陶しいと思って Linux を platform に選んだのが正解。
で、結果としては FDclone も MHpopd もあっけなく compile 出来てしまいました。なんか拍子抜け。-Wall でも殆ど何も言われず、唯一 MHpopd が socklen_t を使ってない個所で warning が出てましたが、これは歴史的経緯*1でまぁむべなるかな。
Linux kernel 辺りは warning どころか error の嵐だそうで大変そうですが、私はあんまし意識してない割には言語仕様に忠実に作ってたんでしょうかね。portability 最優先で coding してたからかも知れません。gcc よりうるさい cc は色々あるんで。

*1:POSIX の横槍で各 OS とも途中で int → socklen_t という変更を余儀なくされたらしい。OS 毎に変換期を調べるのも面倒なんで、うちでは make config で対応してます。互換性の問題から実体は int 以外あり得ないので int のままでも問題はありません。