「GCC 9.1」リリース、D言語サポートが追加される
The GNU ProjectとGNU Compiler Collection(GCC)開発者は5月3日、コンパイラ集「GCC 9.1」を公開した。新たなメジャーリリースとなり、C++17やD言語のサポートが強化されている。
GCCは当初は「GNU C Compiler」と呼ばれていたソフトウェア。現在ではCだけでなくC++/Objective-C、Fortran、Ada、Goなどさまざまな言語向けに対応するコンパイラおよびライブラリ、フロントエンドなどから構成されるコンパイラ集となっている。
GCC開発チームは毎年5月にメジャーリリースと公開しており、GCC 9.1は2018年5月に公開したバージョン8系に続くリリースとなる。
新たにD言語のサポートが加わった。バージョン2.076とランタイムライブラリを実装している。Fortranのサポートも強化し、非同期I/Oのフル対応などを実現した。
C++17のサポートが実験段階ではなくなり、並列アルゴリズムと<execution>などの実装が進んだ。C++フロントエンドでC++17をフルで実装し、C++標準ライブラリのサポートがほぼ完成したという。実験的扱いとなっているC++2aのドラフト機能のサポートも進めた。
オプションでOpenMP 5.0のサポートが加わったほか、OpenACC 2.5対応もほぼ完成したという。また、C言語では次期ISO C標準のC2Xの実験的サポートも開始し、GCC 9.1では単一の引数での_Static_assertを使うことができるという。
コマンドラインオプションでは、ライブパッチ向けに安全なコンパイルを提供するという「-flive-patching=[inline-only-static|inline-clone]」オプションやbashでの入力補完に対応されるための「–completion」オプションなどが加わった。
診断機能も強化されたほか、リンク時間とプロシージャ間の最適化も強化されている。そのほかターゲットとしてAMD Zen 2やArm Neoverse N1の初期サポート、AMD GCNバックエンドのマージなどが加わった。C-SKY V2プロセッサのバックエンド、OpenRISCプロセッサのバックエンドもマージされている。