C++11やC++14のサポート改善や最適化機能の強化が行われた「GCC 4.9」リリース

 GCC開発チームは4月22日、コンパイラセットの最新版「GNU Complier Collection(GCC)4.9」をリリースした。C++11およびC++14のサポート改善などが加わっている。

 GCC(GNU Complier Collection)はGNU Projectで開発されているフリーのコンパイラ集。C/C++、Objective-C、Fortran、Java、Ada、Goなど多数の言語に対応する。GCC 4.9は前バージョンであるGCC 4.8から1年1か月ぶりとなるメジャーリリースとなり、多数の新機能が加わっている。

 まず、CとC++コンパイラでは並列プログラミングのためのAPIであるOpenMP 4.0がサポートされた。OpenMP 4.0ではアクセラレータのサポートなどが特徴となり、これらの機能を利用できる。Cでは、Intelが開発する並列処理のための機能拡張「Cilk Plus」を部分的に実装した。また、リンク時最適化やプロシージャ間最適化、フィードバックによる最適化といった最適化機能もそれぞれ強化されている。

 C++フロントエンドではC++14で定義された新機能の実装を進め、「decltype(auto)」などの文法が実験的に実装されている。C++11では<regex>のサポートなどの改善が行われ、またISO C++標準の実装も強化された。また、Go 1.2.1のサポートも加わっている。

 ARMサポートも強化し、バージョン4.8でi32とx86_64向けに導入したLocal Register AllocatorをAArch64、ARM、S/390、ARCターゲット向けに拡大した。高速メモリエラー検出のAddressSanitizerがARMでも利用できるようになり、Cortex-A53とCortex-A54向けのチューニングも改善した。

 一方で古いプラットフォームのサポートが非推奨となっており、Solaris 9がサポート対象外となるといった変更も加わっている。

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