4. Solaris Studio Fortran の機能と相違点
5. FORTRAN 77 の互換性: Solaris Studio Fortran への移行
B.1 Oracle Solaris Studio 12.2 Fortran リリース
B.2 Sun Studio 12 Update 1 Fortran リリース
B.3 Sun Studio 12 Fortran リリース
B.4 Sun Studio 11 Fortran リリース
B.5 Sun Studio 10 Fortran リリース
B.8 Sun ONE Studio 7, Compiler Collection (Forte Developer 7) リリース
-openmp オプションの拡張
-openmp オプションフラグは、OpenMP プログラムのデバッグが容易にできるように強化されました。OpenMP アプリケーションのデバッグに dbx を使用するには、次の指定をしてコンパイルします。
-openmp=noopt -g
そのあと dbx を使用することによって、並列化領域内のブレークポイントで停止し、変数の中身を表示できます。
マルチプロセスのコンパイル
-xipo とともに -xjobs=n を指定すると、相互手続き最適化が最大 n 個のコード生成インスタンスを起動して、コマンド行に列挙されたファイルをコンパイルします。このオプションによって、マルチ CPU を持つマシン上の大きなアプリケーションを構築するための時間が大幅に削減されます。「3.4.134 -xjobs= n」を参照してください。
PRAGMA ASSUME を使った表名
ASSUME プラグマはこのコンパイラに今回新しく追加された機能です。このプラグマは、手続き内のある個所において真であることをプログラマが知っている条件について、コンパイラにヒントを与えます。このことによって、コンパイラのコードの最適化機能がさらに向上します。また、プログラマはこの表明を使って、実行時にプログラムの妥当性をチェックできます。「2.3.1.8 ASSUME 指令」および 「3.4.111 -xassume_control[ =keywords]」 を参照してください。
Fortran 2003 機能の追加
Fortran 2003 の規格に記述されている次の機能が、Fortran コンパイラの今回のリリースで実装されました。これらは第 4 章で説明されています。
例外処理と IEEE 演算
新しい組み込みモジュールの IEEE_ARITHMETIC と IEEE_FEATURES によって、Fortran 言語での例外処理と IEEE 演算 がサポートされます。「4.6.2 IEEE 浮動小数点の例外処理」を参照してください。
C との相互運用性
Fortran 規格では、C 言語手続きを参照する方法、および反対に C 関数から Fortran 副プログラムを参照できるように指定する方法を定めています。また、外部 C 変数とリンクする大域変数を宣言する方法も定めています。「4.6.1 C 関数との相互運用性」を参照してください。
PROTECTED 属性
Fortran コンパイラでは、Fortran 2003 の PROTECTED 属性が受け入れられています。PROTECTED はモジュール要素の使用に制限を設けます。PROTECTED 属性を持つオブジェクトは、それ自身が宣言されるモジュール内でのみ定義可能です。「4.6.4 PROTECTED 属性」を参照してください。
ASYNCHRONOUS 入出力指定子
コンパイラは入出力文中の ASYNCHRONOUS 指定子を認識します。
ASYNCHRONOUS=[’YES’ | ’NO’]
「4.6.5 Fortran 2003 非同期入出力」を参照してください。
従来の f77 との互換性の強化
多数の機能の追加によって、Fortran コンパイラでは従来の FORTRAN 77 コンパイラである f77 との互換性が向上します。その機能とは、可変フォーマット式 (VFE)、long 識別子、コンパイルオプションの -arg=local と -vax などです。第 3 章および第 4 章を参照してください。
入出力エラーハンドラ
2 つの新機能によって、ユーザーは独自に論理ユニットの書式付き入力のエラー処理ルーチンを指定できます。このルーチンについては、「4.7.1 入出力エラー処理ルーチン」、マニュアルページ、および『 Fortran ライブラリリファレンス』を参照してください。
符号なし整数
今回のリリースによって Fortran コンパイラは言語への拡張子として、新しいデータ型である UNSIGNED を受け入れます。「4.5 符号なし整数」を参照してください。
優先スタックサイズ、ヒープページサイズの設定
新しいコマンド行オプション、-xpagesize を使用すれば、実行プログラムがプログラム開始時に優先スタックサイズおよびヒープページサイズを設定できるようになります。「3.4.155 -xpagesize= size」を参照してください。
プロファイル処理の高速化と機能強化
今回のリリースで、新しいコマンド行オプション -xprofile_ircache= path が導入され、プロファイルフィードバック中のコンパイルフェーズ「use」がスピードアップされました。「3.4.165 -xprofile_ircache[ =path]」 を参照してください。「3.4.166 -xprofile_pathmap= collect_prefix:use_prefix」 を参照してください。
既知のライブラリの拡張
-xknown_lib オプションが強化され、Basic Linear Algebra ライブラリ、BLAS より多くのルーチンが取り入れられました。「3.4.136 -xknown_lib=library_list」を参照してください。
リンク時の最適化
新たに追加された -xlinkopt フラグを使ってコンパイル、リンクすると、ポストオプティマイザが起動され、生成されたバイナリコードに対し、リンク時にパフォーマンス面で各種の高度な最適化が施されます。「3.4.144 -xlinkopt[={ 1|2|0}]」を参照してください。
局所変数の初期化
-xcheck オプションフラグが強化され、局所変数の特別な初期化が可能になりました。-xcheck=init_local を指定してコンパイルすると、局所変数を、プログラムによる割り当て前に使用された場合に算術例外を引き起こす可能性のある値に初期化します。「3.4.115 -xcheck=keyword」 を参照してください。