GNU.orgは6月18日、『GCC 3.0』を公開した。
『GCC』という名称はこれまで『GNU C Compiler』の略であったが、C言語だけではなく、C++やオブジェクティブC、Java、Fortranなどのコンパイラも含まれるようになっていたため、『GCC』と『EGCS』のコミュニティを統合した時点から『GNU Compiler Collection』という名称に改められている。
今回のバージョンでは、旧バージョンの『GCC 2.95.2』に比べて
- “Basic block recording pass”の最適化
- “tail-call”および“sibling-call”消去の最適化
- 新しい“register renaming pass”
- “SSA”(Static Single Assignment)のサポート(試験段階)
- GNU Compiler for the Java(GCJ)の統合によるJavaのサポート
- IA-64プラットフォーム上のC++ ABI(Application Binary Interface)がほかのIA-64コンパイラ互換に
- ISO C++に対応したC++ライブラリ
- ISO C99への対応強化
- x86アーキテクチャのバックエンド処理に最適化されたコード生成
などの改善がなされている。
ターゲットとなるアーキテクチャは以下のとおり。
- x86
- HP-UX 11
- PowerPC
- IA-64
- Motorola MCore210、340
- Motorola 68HC11、68HC12
- StrongArm
- Intel XScale
- Atmel AVR
- Mitsubishi D30V
- Matsushita AM33
- Fujitsu FR30
- Sun picoJava
ソースのダウンロードはミラーサイトから可能。GCCプロジェクト自身ではダウンロード用バイナリは用意しない。
GCCのメーリングリストでは、Linux上でのインストールや使用におけるバグがすでにいくつか報告されており、パッチの候補も作られつつあるが、現在のところ公式なパッチは公開されていない。試用するのはもう少し待ってからでも遅くはないだろう。なお、米Slashdotによると、現在用いられているGCC 2.95.3のバグフィックス版であるGCC 2.95.4、今回リリースされたGCC 3.0のバグフィックス版であるGCC 3.01、次期バージョンのGCC 3.1の開発が現在行なわれていることが明らかにされている。公開時期については明らかではないが、今後の活動にも注目してゆきたい。