gcc 4.0 (ってもベータだけど)を2週間ほど使っている.gcc3.4.xの時は少し試しただけでICEとか最適化のバグが続出し使い物にならなかったが,今度のgcc4.0は特に問題なく使えている.噂では fedora core 4 rc1 はgcc4.0で全部ビルドしているらしく,gcc4.0は現状でもかなり完成度が高いみたい.
基本的に gcc3.4.x あたりでコンパイル出来たコードは,gcc4.0でもそのままコンパイルが通る.ただ一部構文チェックが厳しくなるみたいで,実際に体験した例では,次のような記述ミスがエラーとして検出されるようになった.
extern int g_object_count; static int g_object_count = 0;
これは extern 宣言しているのに実体をstaticで宣言している,アホなコード.gcc3.4以前はこんな凡ミスのコードでもコンパイルは通っていたが,gcc4.0ではエラーになる模様.この例では,コードを見直すと extern int a; が実は不要だったことが判り,すこしだけコードがすっきりした.
最適化に関しても,特に不具合は起きておらず,gcc4.0は,すばらしいの一言.