GCCプロジェクト、25周年記念リリースとなるGCC 4.7.0を公開

 GNU Complier Collection(GCC)開発チームは3月22日、メジャーリリースとなる「GCC 4.7.0」を公開した。今年はGCC初のリリースから25周年という節目の年となり、それを記念してのリリースとなった。

 GCCの原点は、1987年にRichard Stallman氏がリリースしたCコンパイラ。当初は「GNU C Complier」という名称だったが、その後多言語対応となったことを受けて「GNU Complier Collection」と改められた。現在はGNU Projectの1つとして開発が進められている。

 GCC 4.7.0はGCC 4.7系で初となるリリースで、2011年3月に公開されたGCC 4.6以来のメジャーリリースとなる。改良点としては、まずリンク時の最適化(Link-time optimization、LTO)の改善が挙げられている。利用するメモリ量を削減、たとえばFirefoxの場合、64ビットシステムで8GBのRAMが必要だったのに対し、GCC 4.7.0では3GBで済むという。最適化関連機能では新しいパラメーターの導入、プロシージャ間の最適化の強化なども行われている。

 言語別の強化としては、C++11(C++0x)標準のサポートが強化されている。atomicクラスを完全実装し、委譲コンストラクタ、エイリアス宣言、ユーザー定義リテラルなどの特徴もサポートした。また、新たに「-Wzero-as-null-pointer-constant」「-Wdelete-non-virtual-dtor」の2種類のコマンドラインオプションが追加されている。

 4.6より対応となったGo言語では、Go 1(Go version 1)を実装した。ただしライブラリのサポートは不完全とのことで、完全なサポートはバージョン4.7.1以降となる予定という。GoはGNU/LinuxとSolarisで検証済みで、ほかのプラットフォームでも動作する可能性があるとしている。

 このほか、C言語ではユニコード文字列対応など、ISO C標準のC11の機能を取り入れた。Fortranではフロントエンド最適化が強化され、「-fbacktrace」オプションがデフォルトで有効となるなど細かな強化が加わっている。OpenMP 3.1のC/C++およびFortran向け仕様のサポート、デバッグ情報フォーマットDWARFのサポートも強化した。

 対応アーキテクチャでは、AdaptevaのEpiphanyプロセッサ、National SemiconductorのCR16、Texas InstrumentsのC6X、TileraのTILE-GxおよびTILEProファミリを新たにサポートした。ARM Cortex-A7、x86ファミリのサポートも強化されている。一方で、IRIX 6.5、MIPS OpenBSD、Solaris 8、Tru64 UNIX V5.1アーキテクチャのサポートは廃止されている。

GNU Compiler Collection
http://gcc.gnu.org/