ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris Studio 12.3: C++ ユーザーズガイド Oracle Solaris Studio 12.3 Information Library (日本語) |
この節では、Oracle Solaris Studio 12.3 C++ 5.12 コンパイラリリースに導入された新機能と変更された機能の概要を一覧に示します。
新しい SPARC T4 プラットフォームのサポート: —xtarget=T4、—xchip=T4、—xarch=sparc4
新しい x86 プラットフォーム Sandy Bridge / AVX のサポート: —xtarget=sandybridge —xchip=sandybridge —xarch=avx
新しい x86 プラットフォーム Westmere / AES のサポート: —xtarget=westmere —xchip=westmere —xarch=aes
新規コンパイラオプション: —g3 は、拡張されたデバッグシンボルテーブル情報を追加します。(「A.2.31 -g3」)
新しいコンパイラオプション: —Xlinker arg は、arg をリンカー ld(1) に渡します。—Wl,arg と同等です。(「A.2.98 -Xlinker arg」)
OpenMP のデフォルトのスレッド数 OMP_NUM_THREADS が 2 になりました (1 でした)。(「A.2.152 -xopenmp[= i]」)
OpenMP 3.1 共有メモリー並列化指定のサポート。(「A.2.152 -xopenmp[= i]」)
新規コンパイラオプション: —xivdep は ivdep プラグマの解釈を設定します。ivdep プラグマは、最適化の目的でループ内で検出された、配列参照へのループがもたらす依存関係の一部またはすべてを無視するようにコンパイラに指示します。これによってコンパイラは、マイクロベクトル化、分散、ソフトウェアパイプラインなど、それ以外の場合は不可能なさまざまなループ最適化を実行できます。これは、依存関係が重要ではない、または依存関係が実際に発生しないことをユーザーが把握している場合に使用されます。(「A.2.126 -xivdep[= p]」)
Sun Performance Library にリンクするには、—library=sunperf を使用します。これによって -xlic_lib=sunperf は廃止されます。(「A.2.49 -library=l[ ,l...]」)
—compat=4 サブオプション (「互換モード」) は削除されました。デフォルトは —compat=5 になりました。さらに、Linux プラットフォーム上でのみ以前使用可能だった g++ ソースおよびバイナリ互換性のための -compat=g オプションが、Oracle Solaris/x86 にも拡張されました (「A.2.6 -compat={ 5|g}」)。
新規オプション —features=cplusplus_redef によって、通常は事前定義されているマクロ __cplusplus を、—D オプションによってコマンド行で再定義できるようになりました。__cplusplus をソースコード内の #define ディレクティブ経由で再定義しようとすることは、引き続き許可されません。また、—features=%none および —features=%all の使用は、このリリースで非推奨となりました (「A.2.17 -features=a[ ,a...]」)。
新規オプション —xanalyze={code| no} は、Oracle Solaris コードアナライザを使用して表示可能なソースコードの静的分析を提供します。(「A.2.102 -xanalyze={code| no}」)
新しいサブオプション —xbuiltin=%default は、errno を設定しない関数のみをインライン化します。errno の値はすべての最適化レベルで常に正しく、信頼できる方法で検査できます。(「A.2.108 -xbuiltin[={ %all|%default|%none}]」)
ユーザー提供のコンパイラオプションデフォルトのサポート。(「3.4 ユーザー指定のデフォルトオプションファイル」)
C99 ヘッダー stdbool.h および C++ の同等の cstdbool が使用できます。C++ では、ヘッダーは効果がなく、C99 との互換性のために提供されています。