次に、C コンパイラに固有のバージョン 5.13 のこのリリースにおける新機能と変更された機能を列挙します。詳細は、CC (1) のマニュアルページを参照してください。
C++ コンパイラの変更点には、全コンパイラに共通の新機能および変更点で説明する変更点も含まれます。
詳細は、Oracle Solaris Studio 12.4: C++ ユーザーズガイド と CC のマニュアルページを参照してください。
すべてのプラットフォームでの –compat=g のサポート。
新しいコンパイラオプション: –std を使用すると、g++ 互換性のある C++ 03 または C++ 11 文法を選択できます。–std=c++11 を使用する場合、次の制限が適用されます。
汎用文字名 (エスケープされた Unicode 文字) は、現在サポートされていません。
<iostream.h>、<fstream.h> など、.h で終わる非標準の iostream ヘッダーは使用できません。これらのヘッダーは、旧形式の C++ から C++98 への移行を容易にするためのものでした。
新しいコンパイラオプション: –features=[no%]rtti は、実行時型情報 (RTTI) を無効にします。
新しいコンパイラオプション: –xprevise は、コードアナライザで表示できるソースコードの静的分析を生成します。
-xoption と同等の次のオプションは、非推奨になりました。
–help
–inline
–libmieee
–libmil
–nolib
–nolibmil
–pg
–time
–unroll
代わりに、–xhelp、–xinline、–xlibmieee などを使用してください。
x86 での –xregs=float のサポート。
–errtags の動作は、C コンパイラと同じく、警告メッセージに対してのみタグを発行するようになりました。以前の C++ コンパイラでは、–errtags オプションにより、タグが警告とエラーの両方のメッセージの一部として出力されました。
–template=extdef から –template=no%extdef に変更されたデフォルトの –template オプション。
この変更は、その他のコンパイラでは –template=extdef によって想定される definitions separate テンプレートモデルを使用しないためです。–template=extdef オプションは、ほとんどのコードが従わないソースコードの編成方法に関する厳密な要件を課します。Oracle Solaris Studio C++ のみを使用して開発するのでないかぎり、–template=no%extdef オプションが必要になる可能性があります。
詳細は、Oracle Solaris Studio 12.4: C++ ユーザーズガイド の第 6 章テンプレートの作成と使用、および変更されたデフォルト C++ テンプレートコンパイルモデルの効果についての説明を参照してください。