ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris Studio 12.3 リリースの新機能 Oracle Solaris Studio 12.3 Information Library (日本語) |
次に、C コンパイラに固有のバージョン 5.12 のこのリリースにおける新機能と変更された機能を列挙します。詳細は、『Oracle Solaris Studio 12.3: C++ ユーザーズガイド』および CC のマニュアルページを参照してください。
新規コンパイラオプション: —xivdep は ivdep プラグマの解釈を設定します。ivdep プラグマは、最適化の目的でループ内で検出された、配列参照へのループがもたらす依存関係の一部またはすべてを無視するようにコンパイラに指示します。これによってコンパイラは、マイクロベクトル化、分散、ソフトウェアパイプラインなど、それ以外の場合は不可能なさまざまなループ最適化を実行できます。これは、依存関係が重要ではない、または依存関係が実際に発生しないことをユーザーが把握している場合に使用されます。
—compat=4 サブオプション (「互換モード」) は削除されました。デフォルトは —compat=5 になりました。さらに、Linux プラットフォーム上でのみ以前使用可能だった g++ ソースおよびバイナリ互換性のための -compat=g オプションが、Solaris/x86 にも拡張されました。
新規オプション —features=cplusplus_redef によって、通常は事前定義されているマクロ __cplusplus を、—D オプションによってコマンド行で再定義できるようになりました。__cplusplus をソースコード内の #define ディレクティブ経由で再定義しようとすることは、引き続き許可されません。また、—features=%none と —features=%all の使用はこのリリースで非推奨となりました。
新しいサブオプション —xbuiltin=%default は、errno を設定しない関数のみをインライン化します。errno の値はどの最適化レベルでも常に正確であり、高い信頼度でチェックできます。
C99 ヘッダー stdbool.h および C++ の同等の cstdbool が使用できます。C++ では、ヘッダーは効果がなく、C99 との互換性のために提供されています。
新しいオプション —xanalyze={code|no} はソースコードの静的分析を生成します。Oracle Solaris Code Analyzer を使用して表示できます。