次のセクションではコンパイラに対して行われた変更について説明し、内容は次のとおりです。
C、C++、および Fortran コンパイラに対して前のリリースから次の変更が行われました。詳細は、コンパイラのマニュアルページを参照してください。C++ コンパイラに固有の変更点は、C++ コンパイラに詳しく説明されています。C コンパイラに固有の変更点は、C コンパイラに詳しく説明されています。
–fvisibility=v オプションは、次のように –xldscope オプションと同等です。
|
Oracle Developer Studio 12.6 では、–shared オプションは GCC と互換性があります。–shared オプションは、–G オプションと同様に、共有ライブラリを作成します。デフォルトでは、–shared オプションは、実行可能プログラムの作成時にリンクされるのと同じライブラリにリンクしますが、–G オプションはデフォルトライブラリに自動的にリンクしません。以前のリリースでは、–shared オプションは –G オプションと同等でした。
次のリストに、すべてのコンパイラに共通する新しいコマンドオプションを示します。
SPARC M8/T8 の新しいオプション - -xchip および -xtarget 値が SPARC M8/T8 システムで使用できるようになりました。
x86 プロセッサ Skylake の新しいオプション - -xchip=skylake、-xtarget=skylake、および -xarch=avx512 値が Intel Skylake プロセッサで使用できるようになりました。
Linux のデフォルトオプション - Linux のデフォルトオプションは –xannotate です。
コマンドオプション –fstrict-aliasing および –fno-strict-aliasing が使用できるようになりました。
新しいマクロ __SUNOS_Release が Oracle Solaris でのみ使用できるようになりました。
16 進値 0xRRrrmm は Oracle Solaris リリースを表します。ここで、RR.rr は sysinfo (SI_RELEASE) システムコールまたは uname -r コマンドの出力であり、必要に応じて先頭にゼロが追加されます。mm の数字は、考えられる将来のマイクロリリース用に予約されています。それらの数字はすべて 10 進数です。
たとえば、Oracle Solaris 11 (SunOS 5.11: __SunOS_RELEASE) の値は 0x051100 になります。
古い Oracle Solaris リリースの __SunOS_RELEASE の値は常に、以降のリリースの値より小さくなります。次に例を示します。
#if __SunOS_RELEASE >= 0x051100 // Solaris 11 or later
Studio のコンパイラでは、本体が呼び出し側のオーバーヘッドより小さいルーチンを自動的に -O3 レベルでインライン化します。自動的にインライン化される関数を制御するには、-xinline=list オプションを使用します。
-xcompress=debug オプションを使用すると、-xcompress_format オプションで指定した形式を使用してデバッグセクションを圧縮できます。同等の gcc オプション -gz のサポートも追加されました。
–xdebugformat=stabs オプションが削除されました。
Fortran コンパイラは、Fortran77、Fortran90、および Fortran95 規格のための、過去最高のランタイムパフォーマンスおよび互換性オプションにより、科学技術アプリケーション開発をサポートします。Fortran 2003 の機能と OpenMP 4.5 のサポートの大部分が含まれます。Fortran コンパイラでは C および C++ コンパイラと同様のハイパフォーマンスなコード生成テクノロジが使用され、最新の SPARC および x86 ベースの Oracle システムのための最大パフォーマンスの並列コードがアプリケーションで生成されることを保証します。
Fortran コンパイラの変更点には、全コンパイラに共通の新機能および変更点に記載されている変更点と、次が含まれます。
Fortran の大域プログラム検査 (GPC) のサポートが削除されました。
Fortran 2003 標準で導入された、パラメータ化された派生型が現在サポートされています。
詳細は、f95(1) のマニュアルページおよびOracle Developer Studio 12.6: Fortran User’s Guideを参照してください。