この節では、各コンパイラオプションを機能別に分類し、概略を説明します。詳細は、次の詳細欄に示すページを参照してください。
SPARC および x64/x86 プラットフォーム両方ですべてのオプションを使用できるわけではないことに注意してください。使用可能かどうかについては、詳細オプションリファレンスの節で確認してください。
次の表に、f95 のコンパイラオプションを機能別にまとめます。この表には、廃止されたり使用されなくなったりしたオプションフラグは含まれていません。フラグによっては、複数の使用目的があるため、複数の個所に記載されているものがあります。
表 3–3 機能別コンパイラオプション
機能 |
オプションフラグ |
|
---|---|---|
コンパイルモード |
||
コンパイルのみ。 実行可能ファイルを生成しません。 |
-c |
|
ドライバが作成するコマンドを表示するが、コンパイルは行われません。 |
-dryrun |
|
FORTRAN 77 拡張子および互換性をサポートします。 |
-f77 |
|
コンパイルされる .mod モジュールファイルを記述するためのパスを指定します。 |
-moddir=path |
|
書き込むオブジェクト、ライブラリ、実行可能ファイルの名前を指定します。 |
-o filename |
|
コンパイルし、アセンブリコードだけを生成します。 |
-S |
|
実行可能プログラムからシンボルテーブルを除外します。 |
-s |
|
エラーメッセージ以外のコンパイラメッセージを出力しません。 |
-silent |
|
一時ファイルのディレクトリへのパスを定義します。 |
-temp=path |
|
各コンパイルフェーズの経過時間を示します。 |
-time |
|
コンパイラおよびそのフェーズのバージョン番号を示します。 |
-V |
|
冗長メッセージを表示します。 |
-v |
|
標準外の別名を付ける状況を指定します。 |
-xalias=list |
|
マルチプロセッサによるコンパイル |
-xjobs=n |
|
コンパイルされるコード |
||
外部名の末尾に下線を追加/抑制します。 |
-ext_names=x |
|
インライン化するユーザー関数を指定します。 |
-inline=list |
|
コンパイル位置独立コードを指定します。 |
-KPIC/-kpic |
|
特定の数学ライブラリルーチンをインライン化します。 |
-libmil |
|
STOP で整数のステータス値をシェルに返します。 |
-stop_status[=yn] |
|
コードアドレス空間を指定します。 |
-xcode=x |
|
先読み命令を有効にします。 |
-xprefetch[=x] |
|
オプションのレジスタを指定します。 |
-xregs=x |
|
デフォルトのデータマッピングを指定します。 |
-xtypemap=x |
|
データの境界整列 |
||
COMMON ブロック内のデータの境界整列を指定します。 |
-aligncommon[=n] |
|
強制的に COMMON ブロックデータの境界整列を行い、マルチワードのフェッチ/ストアを可能にします。 |
-dalign |
|
全データを 8 バイト境界に強制的に整列させます。 |
-dbl_align_all |
|
COMMON ブロックデータを 8 バイト境界に整列させます。 |
-f |
|
メモリーの境界整列と動作を指定します。 |
-xmemalign[=ab] |
|
デバッグ |
||
実行時に添字の範囲検査を有効にします。 |
-C |
|
dbx を使用するデバッグのためにコンパイルします。 |
-g |
|
ソースブラウザを使用するブラウズのためにコンパイルします。 |
-sb, -sbfast |
|
未宣言変数の検査を行います。 |
-u |
|
C$PRAGMA ASSUME 表明をチェックします。 |
-xassume_control=check |
|
実行時のスタックオーバーフローを確認します。 |
-xcheck=stkovf |
|
実行時の taskcommon の整合性検査を有効にします。 |
-xcommonchk |
|
パフォーマンスアナライザのためにコンパイルします。 |
-xF |
|
相互参照リストを作成します。 |
-Xlistx |
|
オブジェクトファイルを使用せずにデバッグ機能を有効にします。 |
-xs |
|
診断 |
||
非標準の拡張機能を報告します。 |
-ansi |
|
特定のエラーメッセージの出力を抑制します。 |
-erroff= |
|
エラーメッセージとともにエラータグ名を表示します。 |
-errtags |
|
コンパイラオプションの要約を表示します。 |
-flags, -help |
|
コンパイラおよびその構成要素のバージョン番号を示します。 |
-V |
|
冗長メッセージを表示します。 |
-v |
|
並列化メッセージを冗長表示します。 |
-vpara |
|
警告メッセージを表示/抑制します。 |
-wn |
|
コンパイラの README ファイルを表示します。 |
-xhelp=readme |
|
ライセンス |
||
ライセンスサーバー情報を表示します。 |
-xlicinfo |
|
リンクおよびライブラリ |
||
動的/静的ライブラリを許可します/要求します。 |
-Bx |
|
動的/静的なライブラリのみのリンクを許可します。 |
-dy, -dn |
|
動的 (共有オブジェクト) ライブラリを作成します。 |
-G |
|
動的ライブラリの名前を指定します。 |
-hname |
|
ディレクトリをライブラリ検索パスに追加します。 |
-Lpath |
|
libname.a または libname.so というライブラリをリンクします。 |
-lname |
|
実行時ライブラリの検索パスを実行可能プログラムに組み込みます。 |
-Rpath |
|
インクリメンタルリンカー ild を使用不可にします。 |
-xildoff |
|
最適化数学ライブラリをリンクします。 |
-xlibmopt |
|
Sun のパフォーマンスライブラリをリンクします。 |
-xlic_lib=sunperf |
|
リンクエディタのオプションを指定します。 |
-zx |
|
再配置のない閉じたライブラリを生成します。 |
-ztext |
|
数値および浮動小数点 |
||
非標準の浮動小数点の設定を使用します。 |
-fnonstd |
|
SPARC 非標準浮動小数点を選択します。 |
-fns |
|
入力中に実行時浮動小数点オーバーフロー検査を有効にします。 |
-fpover |
|
IEEE 浮動小数点丸めモードを選択します。 |
-fpround=r |
|
浮動小数点最適化レベルを選択します。 |
-fsimple=n |
|
浮動小数点トラップモードを選択します。 |
-ftrap=t |
|
書式付き入出力のための丸め方法を指定します。 |
-iorounding=mode |
|
単精度定数を倍精度に変換します。 |
-r8const |
|
区間演算を有効にし、適切な浮動小数点環境を設定します (-xinterval を含む)。 |
-xia[=e] |
|
区間演算機能を有効にします。 |
-xinterval[=e] |
|
最適化とパフォーマンス |
||
ループを解析して、データ依存関係を調べます。 |
-depend |
|
オプションを一括で指定して最適化します。 |
-fast |
|
最適化レベルを指定します。 |
-On |
|
効率的なキャッシュ使用のためにデータレイアウトをパディングします。 |
-pad[=p] |
|
局所変数をメモリースタックに割り当てます。 |
-stackvar |
|
ループ展開を有効にします。 |
-unroll[=m] |
|
ソースファイル間での最適化を有効にします。 |
-xcrossfile[=n] |
|
内部手続きの最適化パスを呼び出します。 |
-xipo[=n] |
|
#pragma OPT に最高レベルの最適化を設定します。 |
-xmaxopt[=n] |
|
コンパイル後の最適化用にコンパイルします。 |
-xbinopt=prepare |
|
コンパイラが生成する先読み命令を有効にするか、または調整します。 |
-xprefetch=list |
|
先読み命令の自動生成をコントロールします。 |
-xprefetch_level=n |
|
パフォーマンスプロファイルデータの生成または使用を有効にします。 |
-xprofile=p |
|
メモリーベースのトラップが発生しないであろうと表明します。 |
-xsafe=mem |
|
コードサイズが増加する場合は、最適化を行いません。 |
-xspace |
|
ベクトルライブラリ関数の呼び出しを自動的に作成します。 |
-xvector[=yn] |
|
並列化 |
||
DO ループの自動並列化を有効にします。 |
-autopar |
|
ループの並列化情報を表示します。 |
-loopinfo |
|
マルチスレッド用にプログラミングされたコードをコンパイルします。 |
-mt |
|
OpenMT API 指令を受け付け、適切な環境を設定します。 |
-xopenmp[=keyword] |
|
自動並列化でループ内の縮約操作を認識します。 |
-reduction |
|
並列化メッセージを冗長表示します。 |
-vpara |
|
ソースコード |
||
プリプロセッサのシンボルを定義します。 |
-Dname[=val] |
|
プリプロセッサのシンボルの定義を取り消します。 |
-Uname |
|
拡張 (132 文字) ソース行を受け入れます。 |
-e |
|
.F、.F90、および .F95 のファイルにプリプロセッサを適用するが、コンパイルは行いません。 |
-F |
|
固定書式の Fortran 95 ソースを受け付けます。 |
-fixed |
|
すべてのソースファイルを fpp プリプロセッサで先行処理します。 |
-fpp |
|
自由形式の Fortran 95 ソースを受け付けます。 |
-free |
|
ファイル検索パスにディレクトリを追加します。 |
-Ipath |
|
モジュール検索パスにディレクトリを追加します。 |
-Mpath |
|
大文字と小文字を区別します。 |
-U |
|
ホレリスを実際の引数の文字として扱います。 |
-xhasc={yes|no} |
|
使用するプリプロセッサ (cpp または fpp) を選択します。 |
-xpp[={fpp|cpp}] |
|
再帰的な副プログラム呼び出しを許可します。 |
-xrecursive |
|
ターゲットプラットフォーム |
||
32 または 64 ビットのメモリーモデルを指定します。 |
-m32 | —m64 |
|
オプティマイザにターゲットのプラットフォームを指定します。 |
-xarch=a |
|
オプティマイザにターゲットのキャッシュプロパティーを指定します。 |
-xcache=a |
|
オプティマイザにターゲットのプロセッサを指定します。 |
-xchip=a |
|
オプティマイザにターゲットのプラットフォームを指定します。 |
-xtarget=a |
コンパイラには、オプションのコマンド行パラメータによって選択できる機能が数多くあります。次の表に、頻繁に利用するオプションをまとめてあります。
表 3–4 頻繁に利用するオプション
処理 |
オプション |
---|---|
デバッグ - 大域的にプログラムを検査し、ルーチン間での引数、共通ブロックなどの整合性を調べます。 |
-Xlist |
デバッグ - dbx およびデバッグ機能を使用するための追加のシンボルテーブル情報を生成します。 |
-g |
パフォーマンス - 実行速度の速い実行可能ファイルを作成します。 |
-O[n] |
パフォーマンス - 事前に定義されている一連のオプションを使用して、ネイティブプラットフォームのコンパイルと実行時間を改善します。 |
-fast |
動的 (-Bdynamic) または静的 (-Bstatic) ライブラリとリンクします。 |
-Bx |
コンパイルのみ - リンクを行わず、ソースファイルごとに .o ファイルを作成します。 |
-c |
出力ファイル - 実行可能な出力ファイルの名前を a.out ではなく nm に指定します。 |
-o nm |
ソースコード - 固定形式 Fortran ソースコードをコンパイルします。 |
-fixed |
マクロフラグによっては、別のフラグの組み合わせに展開されるマクロもあります。これらのマクロフラグは、ある機能を選択するために、通常一緒に表示されるオプションを簡単に指定できるように提供されるものです。
表 3–5 マクロオプションフラグ
オプションフラグ |
展開 |
---|---|
-dalign |
-xmemalign=8s -aligncommon=16 |
-f |
-aligncommon=16 |
-fast |
現在の展開内容の詳細は、—fast を参照してください。 |
-fnonstd |
-fns -ftrap=common |
-xia=widestneed |
-xinterval=widestneed -ftrap=%none -fns=no -fsimple=0 |
-xia=strict |
-xinterval=strict -ftrap=%none -fns=no -fsimple=0 |
-xtarget |
-xarch=a -xcache=b -xchip=c |
コマンド行でマクロフラグのあとに別のオプションを設定すると、このマクロの展開内容は上書きまたは追加されます。
コンパイラの初期リリース、および Fortran の一部旧機能との下位互換のためのオプションを示します。
表 3–6 下位互換性オプション
作用 |
オプション |
---|---|
定数の引数への代入を可能にします。 |
-copyargs |
呼び出し引数リストにおいてホレリス定数を文字または型なしとして扱います。 |
-xhasc[={yes|no}] |
FORTRAN 77 拡張子および規則をサポートします。 |
-f77 |
非標準の算術演算 - 非標準の算術演算を使用可能にします。 |
-fnonstd |
ホストシステムに合わせて最適化を行います。 |
-native |
DO ループ - 少なくとも 1 回は DO ループを実行します。 |
-onetrip |
従来の別名を付ける状況を許可します。 |
-xalias=keywords |
移植性のある Fortran 95 プログラムを作成する際には、これらのオプションフラグは使用しないでください。
次のオプションは廃止されています。 使用しないでください。将来のコンパイラでは、これらのオプションは削除される予定です。
表 3–7 旧 f95 オプション
オプションフラグ |
同等なオプションフラグ |
---|---|
-a |
-xprofile=tcov |
-cg89 |
-xtarget=ss2 |
-cg92 |
-xtarget=ss1000 |
-explicitpar |
OpenMP 並列化を使用してください。Sun/Cray 並列化は非推奨です。 |
-mp |
OpenMP 並列化を使用してください。Sun/Cray 並列化は非推奨です。 |
-native |
-xtarget=native |
-noqueue |
ライセンスのキューイング。現在は必要ありません。 |
-p |
プロファイリング。-pg またはパフォーマンスアナライザを使用してください。 |
-pic |
-xcode=pic13 |
-PIC |
-xcode=pic32 |
-sb |
現在は必要ありません。 |
-sbfast |
現在は必要ありません。 |
-silent |
現在は必要ありません。 |