Fortran コンパイラは、Fortran77、Fortran90、および Fortran95 規格のための、過去最高のランタイムパフォーマンスおよび互換性オプションにより、科学技術アプリケーション開発をサポートします。Fortran 2003 の機能と OpenMP 4.0 のサポートの大部分が含まれます。Fortran コンパイラでは C および C++ コンパイラと同様のハイパフォーマンスなコード生成テクノロジが使用され、最新の SPARC および x86 ベースの Oracle システムのための最大パフォーマンスの並列コードがアプリケーションで生成されることを保証します。
Fortran コンパイラへの変更は、全コンパイラに共通の新機能および変更点に記載されている変更を含みます。
次に、Fortran コンパイラのバージョン 8.7 の、このリリースにおける新機能と変更された機能を列挙します。詳細は、f95 (1) のマニュアルページとOracle Solaris Studio 12.4: Fortran ユーザーズガイド を参照してください。
–xM オプションを使用して、メークファイルの依存関係を自動的に生成できます。新しい –keepmod=yes オプションと組み合わせることで、モジュールを使用する Fortran アプリケーションについての最適化された増分ビルドが可能です。新しい –keepmod オプションは、コンパイル時に変更されないモジュールを保持するために使用されます。デフォルトは –xkeepmod=yes で、以前のコンパイルから変更がない場合でも、新しいモジュールファイルが作成されるたびに古い動作を置換します。
モジュールを使用するアプリケーションのコンパイル時間が大幅に改善され、モジュール処理が原因のメモリーオーバーフローが排除されました。
#pragma ident は、コンパイルされるオブジェクトのソースバージョンを識別するためにソースファイル内で使用できます。
宣言で使用される文字型で LEN 型パラメータとしての遅延型パラメータ (コロン) のサポート。例:
character(LEN=:), pointer :: str
手続きポインタのサポート。
ISO_C_BINDING モジュールについての Fortran 2003 関数 C_F_PROCPOINTER() のサポート。C_FUNLOC() 関数が、手続きポインタを引数として使用できるように拡張されました。
オブジェクト指向の Fortran を完全にサポート。次の属性を持つ型束縛手続きが使用できるようになりました。
GENERIC
DEFERRED
NON-OVERRIDABLE
PASS
NOPASS
構造型と総称関数が同じ名前を持つことができるようにする Fortran 2003 機能のサポート。
TARGET オブジェクトを INTENT(IN) ポインタダミーに渡す Fortran 2008 機能のサポート。
すべての要素組み込み関数 (各引数そのものが初期値式であるもの) を、Fortran 2003 規格で指定されている初期値式に使用できるようにする拡張サポート。これまでは、このコンテキストで使用される要素組み込み関数は、整数型および文字型を返すものだけに制限されていました。
プログラムが一度に複数のスレッド内で I/O を実行しないことを指定する –fserialio のサポート。