次に、C、C++、および Fortran コンパイラに共通する、前のリリースからの重要な変更点を一覧します。詳細は、コンパイラのマニュアルページおよびユーザーガイドを参照してください。
コンパイラは、SPARC-V9 ISA の SPARC VIS3 バージョンをサポートします。-xarch=sparcvis3 オプションを指定してコンパイルすると、コンパイラは、SPARC-V9 命令セットの命令に加えて、Visual Instruction Set (VIS) バージョン 1.0 を含む UltraSPARC 拡張機能、Visual Instruction Set (VIS) バージョン 2.0 の積和演算 (FMA) 命令を含む UltraSPARC-III 拡張機能、および Visual Instruction Set (VIS) バージョン 3.0 を使用できます。
x86 ベースのシステムでは、-xvector オプションのデフォルトが -xvector=simd に変更されました。最適化レベル 3 以上でメリットがある場合、x86 ベースのシステムではストリーミング拡張機能がデフォルトで使用されます。サブオプション no%simd を使用することで、それを無効にできます。SPARC ベースのシステムでは、デフォルトは -xvector=%none です。
AMD SSE4a 命令セットのサポートを使用できるようになりました。-xarch=amdsse4a オプションによりコンパイルします。
マニュアルページで、-xtarget の値 ultra3、ultra3i、ultra3cu、ultra4、および ultra4plus が正しく展開されるように更新されました。
新しい -traceback オプションを使用すると、サーバーエラーが発生した場合に実行可能ファイルはスタックトレースを出力できます。このオプションを指定すると、実行可能ファイルは、一連のシグナルをトラップして、実行の前にスタックトレースとコアダンプを出力します。複数のスレッドがシグナルを生成する場合、最初のスレッドに対するスタックトレースだけが生成されます。トレースバックを使用するには、f95、cc、または CC とプログラムをリンクするときに、-traceback オプションを追加します。便宜上、このオプションはコンパイル時にも受け付けられますが、無視されます。-traceback オプションと -G オプションを使用して共有ライブラリを作成すると、エラーが発生します。-traceback オプションについての詳細は、コンパイラのマニュアルページを参照してください。
-mt オプションは、-mt=yes または -mt=no に変更されました。-mt=yes オプションにより、ライブラリが適切な順序でリンクされることが保障されます。詳細は、コンパイラのマニュアルページを参照してください。
新しいプラグマが C および C++ に追加されました。詳細は、コンパイラのユーザーガイドを参照してください。
#warning コンパイラディレクティブ (C および C++) は、ディレクティブ内のテキストを警告として発行し、コンパイルを続行します。
ヘッダーファイル mbarrier.h (C および C++) が使用できるようになりました。このヘッダーファイルでは、SPARC および x86 プロセッサでのマルチスレッドコード用のさまざまなメモリーバリアー組み込み関数が定義されています。詳細は、コンパイラのユーザーガイドを参照してください。
-xprofile=tcov[: prof_dir] オプションは、省略可能なプロファイルディレクトリのパス名引数を受け付けます。プロファイルディレクトリのパス名を指定した場合は、コンパイル済みのプログラムは、tcov(1) または -xprofile=use:prof_dir を指定したフィードバックコンパイルで使用できるデータを生成します。詳細は、コンパイラのユーザーガイドを参照してください。
このリリースでは、-xMD および -xMMD オプション (C/C++) によって書き込まれる依存関係ファイルは、以前の既存ファイルを上書きします。ファイル名は、-o filename (指定されている場合)、入力ソースファイル名に .d 接尾辞を追加したもの、または -xMF オプションで指定されているファイル名が使用されます。-o filename または -xMF filename が -xMD または -xMMD オプションとともに指定されている場合は、単一のソースファイルのみが受け付けられます。この方法で複数のソースファイルをコンパイルするとエラーが発生します。