「GCC 12.1」が公開

 The GNU Compiler Collection(GCC)開発チームは5月6日、「GCC 12.1」を公開した。最新のメジャーリリースとなり、次期C++23のサポート、セキュリティの強化などが加わった。

 The GNU Compiler Collection(GCC)はC/C++/Objective-C、Fortran、Ada、Goなどさまざまな言語向けに対応するコンパイラおよび各言語のライブラリのフロントエンドを含むコンパイラ集。元々はGNU Operating System向けのコンパイラとして作成されたが、現在ではさまざまなOS/アーキテクチャで利用できる。プロジェクトは最初に1.0を公開してから今年で35周年を迎える。  GCC開発チームは年に1度メジャーリリースを公開するサイクルを導入しており、GCC 12.1は2021年に公開されたバージョン11系に続く最新のメジャーリリース。

 デバッグフォーマットでCTFをサポート、これによりSTABSデバッグフォーマットのサポートが非推奨となった。  C/C++フロントエンドを継続して強化し、コンパイラとC++標準ライブラリ向けにC2XとC++23(実験的扱い)、CとC++標準ライブラリのサポートを強化した。Fortranフロントエンドのgfortranで、TS 29113がフル対応となり、Cとの互換性を強化した。clangs __builtin_shufflevector拡張をサポートし、汎用のベクターコードを容易に共有できるようになった。-O2最適化レベルで”、very-cheap”コストモデルを使ってベクトル化を有効化できるようになった。

 セキュリティでは、-ftrivial-auto-var-initを使ってスタックの変数を初期化できるようになり、初期化されていないスタックの変数の流れを追跡できるようになった。また、CとC++のフロントエンドで、clang拡張と互換性のある__builtin_dynamic_object_sizeを用いることができるようになった。x86バックエンドや実験扱いのStatic Analyzerも強化した。このほか、x86バックエンドでAVX512-FP16(_Float16経由)のサポートがあ加わり、BPFバックエンドでCO-REを、RISC-Vバックエンドでは多数のISA拡張をサポートした。

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