mips-linux-gnu-gfortran-クラウドでのオンライン

これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MACOSオンラインエミュレーターなどの複数の無料オンラインワークステーションのXNUMXつを使用してOnWorks無料ホスティングプロバイダーで実行できるコマンドmips-linux-gnu-gfortranです。

プログラム:

NAME


gfortran-GNUFortranコンパイラ

SYNOPSIS


フォートラン [-c|-S|-E]
[-g] [-pg] [-Oレベル]
[-W警告する...] [-衒学者]
[-IDIR...] [-LDIR...]
[-Dマクロ[=定義] ...] [-Uマクロ]
[-fオプション...]
[-mマシンオプション...]
[-o アウトファイル] ファイル内...

最も便利なオプションのみがここにリストされています。 残りについては、以下を参照してください。

DESCRIPTION


  グフォルトラン コマンドは、でサポートされているすべてのオプションをサポートしています gccの 指図。 オプションのみ
GNUFortranに固有のドキュメントがここにあります。

すべてのGCCおよびGNUFortranオプションは、両方で受け入れられます グフォルトラン とにより、 gccの (および
同時に構築された他のドライバー、 g ++)、GNCFortranをGCCに追加してから
配布により、関連するすべてのドライバーがGNUFortranオプションを受け入れることができます。

場合によっては、オプションには正と負の形式があります。 の負の形式 -ふふー でしょう
be -fno-foo。 このマニュアルには、これらXNUMXつの形式のいずれか一方のみが記載されています。
デフォルト。

OPTIONS


これは、GNU Fortranに固有のすべてのオプションの要約であり、タイプごとにグループ化されています。
説明は次のセクションにあります。

Fortran 言語設定 オプション
-フォールイントリンシック -fバックスラッシュ -fcray-ポインター -fd-lines-as-code -fd-lines-as-comments
-fdefault-double-8 -fdefault-integer-8 -fdefault-real-8 -fdollar-OK
-固定行長-n -固定-行-長さ-なし -f自由形式 -f自由な行の長さ-n
-ffree-line-length-none -fimplicit-なし -指-4-整数-8 -fmax-識別子-長さ
-fmodule-プライベート -固定形式 -fno-range-check -fopenacc -fopenmp -freal-4-real-10
-freal-4-real-16 -freal-4-real-8 -freal-8-real-10 -freal-8-real-16 -freal-8-real-4
-std =STD

前処理 オプション
-A-質問[=回答] -A質問=回答 -C -CC -Dマクロ[=定義] -H -P -Uマクロ -cpp -dD
-dI -dM -dN -dU -fworkingディレクトリ -imultilib DIR -iprefix file -iquote -isysroot DIR
-isystem DIR -nocpp -ノストディンク -未定義

エラー および 警告 オプション
-ワリアシング -壁 -ワンパーサンド -Warray 境界 -Wcバインディングタイプ -Wcharacter-切り捨て
-Wコンバージョン -機能の排除 -Wimplicit インターフェイス -暗黙の手順
-Wintrinsic-シャドウ -Wuse-without-only -Wintrinsics-std -Wline-切り捨て
-Wno-align-commons -タブなし -Wreal-q-定数 -驚くべき -ワンダーフロー
-Wunused-パラメータ -Wrealloc-lhs -Wrealloc-lhs-all -Wtarget-ライフタイム -fmax-errors =n
-fsyntaxのみ -衒学者 -衒学的エラー

デバッギング オプション
-fbacktrace -fdump-fortran-最適化 -fdump-fortran-オリジナル -fdump-解析ツリー
-ffpe-trap =リスト -ffpe-summary =リスト

ディレクトリ オプション
-IDIR -JDIR -fintrinsic-modules-path DIR

リンク オプション
-静的-libgfortran

ランタイム オプション
-fconvert =変換 -fmax-subrecord-length =長さ -frecord-marker =長さ -fsign-ゼロ

Code 世代 オプション
-積極的な機能の排除 -fblas-matmul-limit =n -fbounds-チェック
-fcheck-array-temporaries -fcheck =
-fcoarray = -fexternal-ブラス -ff2c -ffrontend-最適化
-finit-character =n -finit-integer =n -finit-ローカル-ゼロ -finit-logical =
-finit-real = -fmax-array-constructor =n -fmax-stack-var-size =n
-fno-align-commons -fno-自動 -fno-protect-parens -fno-アンダースコア
-fsecond-アンダースコア -fpackから派生 -frealloc-lhs -周波数 -frepack-配列
-fshort-列挙型 -fstack-配列

オプション 制御 Fortran 方言
次のオプションは、コンパイラーが受け入れるFortran方言の詳細を制御します。

-f自由形式
-固定形式
ソースファイルで使用されるレイアウトを指定します。 自由形式のレイアウトはで導入されました
Fortran90。固定形式は、従来、古いFortranプログラムで使用されていました。 いつ
どちらのオプションも指定されていません。ソースフォームはファイル拡張子によって決定されます。

-フォールイントリンシック
このオプションにより、すべての組み込みプロシージャ(GNU固有の拡張機能を含む)が次のようになります。
受け付けます。 これは次の場合に役立ちます -std = f95 標準への準拠を強制しますが、
で利用可能な組み込み関数の全範囲へのアクセス グフォルトラン。 結果として、
-Wintrinsics-std 無視され、と同じ名前のユーザー定義プロシージャはありません
明示的に「EXTERNAL」と宣言されている場合を除き、すべての組み込み関数が呼び出されます。

-fd-lines-as-code
-fd-lines-as-comments
固定形式のソースで「d」または「D」で始まる行の特別な処理を有効にします。
Status -fd-lines-as-code オプションが指定されている場合、最初の列のように扱われます
空白が含まれていました。 の場合 -fd-lines-as-comments オプションが与えられた場合、それらは次のように扱われます
コメント行。

-fdollar-OK
次を許可します。 $ シンボル名の最初以外の有効な文字として。 で始まる記号 $  
暗黙のタイピングにどのルールを異なるものとして適用するかが明確でないため、拒否されました
ベンダーはさまざまなルールを実装しています。 使用する $ 「IMPLICIT」ステートメントでも拒否されます。

-fバックスラッシュ
文字列リテラルの円記号の解釈を単一の円記号から変更します
文字から「Cスタイル」のエスケープ文字。 以下の組み合わせが展開されます
ASCII文字に対して「\ a」、「\ b」、「\ f」、「\ n」、「\ r」、「\ t」、「\ v」、「\\」、および「\ 0」
アラート、バックスペース、フォームフィード、改行、キャリッジリターン、水平タブ、垂直タブ、
それぞれバックスラッシュとNUL。 さらに、「\ x」nn、 "\ u"NNNN および「\ U」んんんんん
(それぞれ n はXNUMX進数です)はUnicode文字に変換されます
指定されたコードポイントに対応します。 キャラクターの他のすべての組み合わせ
\が前に付いているものは展開されません。

-fmodule-プライベート
モジュールエンティティのデフォルトのアクセシビリティを「PRIVATE」に設定します。 使用関連
エンティティは、「PUBLIC」として明示的に宣言されていない限り、アクセスできません。

-固定行長-n
列を設定すると、その後の一般的な固定形式の行で文字が無視されます。
ソースファイル、およびその後にスペースが想定される(その長さにパディングされているかのように)
短い固定形式の線の端。

の人気のある値 n 72(標準およびデフォルト)、80(カード画像)、および
132(一部の一般的なコンパイラの「extended-source」オプションに対応)。 n かもしれません
また なし、行全体が意味を持ち、その継続的な性格を意味します
定数には、行を埋めるために暗黙のスペースが追加されることはありません。
-固定行の長さ-0 と同じことを意味します -固定-行-長さ-なし.

-f自由な行の長さ-n
ソースの一般的な自由形式の行で文字が無視される列を設定します
ファイル。 デフォルト値は132です。 n 多分 なし、つまり、行全体が
意味のある。 -f自由行の長さ-0 と同じことを意味します -ffree-line-length-none.

-fmax-識別子-長さ=n
許可される識別子の最大長を指定します。 一般的な値は31(Fortran 95)および
63(Fortran2003およびFortran2008)。

-fimplicit-なし
明示的な「IMPLICIT」によってオーバーライドされない限り、暗黙的な入力が許可されないことを指定します
ステートメント。 これは、すべての先頭に「暗黙のなし」を追加するのと同じです。
手順。

-fcray-ポインター
Cのようなポインター機能を提供するCrayポインター拡張機能を有効にします。

-fopenacc
OpenACC拡張機能を有効にします。 これには、自由形式のOpenACC "!$ acc"ディレクティブが含まれます
固定形式の「c $ acc」、* $ acc、および「!$ acc」ディレクティブ、「!$」条件付きコンパイル
自由形式の歩哨と「c $」、「* $」、「!$」の固定形式の歩哨、および
リンクは、OpenACCランタイムライブラリがリンクされるように調整します。

これは実験的な機能であり、不完全であり、将来変更される可能性があることに注意してください
GCCのバージョン。 見るhttps://gcc.gnu.org/wiki/OpenACC>詳細については。

-fopenmp
OpenMP拡張機能を有効にします。 これには、自由形式のOpenMP "!$ omp"ディレクティブが含まれます
固定形式の「c $ omp」、* $ omp、および「!$ omp」ディレクティブ、「!$」条件付きコンパイル
自由形式の歩哨と「c $」、「* $」、「!$」の固定形式の歩哨、および
リンクすると、OpenMPランタイムライブラリがリンクされるようになります。オプション -fopenmp
含意する -周波数.

-fno-range-check
定数式の簡略化の結果の範囲チェックを無効にします
コンパイル。 たとえば、GNU Fortranは、コンパイル時にエラーを出します。
"a = 1. / 0"を単純化します。 このオプションを使用すると、エラーは発生せず、「a」は
値「+ Infinity」が割り当てられました。 式が外部の値に評価される場合
["-HUGE()": "HUGE()"]の関連範囲の場合、式は「-Inf」に置き換えられます。
または必要に応じて「+ Inf」。 同様に、「DATA i / Z'FFFFFFFF '/」は整数になります
ほとんどのシステムでオーバーフローしますが、 -fno-range-check 値は「ラップアラウンド」し、
「i」は代わりに-1に初期化されます。

-fdefault-integer-8
デフォルトの整数型と論理型を8バイト幅の型に設定します。 このオプションも
42のような整数定数の種類に影響します。 -指-4-整数-8、 します
明示的な種類宣言で変数をプロモートしないでください。

-fdefault-real-8
デフォルトの実数型を8バイト幅の型に設定します。 このオプションは、種類にも影響します
1.0のような非二重実定数であり、「DOUBLE」のデフォルト幅を促進します
「-fdefault-double-16」も指定されていない限り、可能であれば「PRECISION」を8バイトにします。
-freal-4-real-8、明示的な種類宣言を持つ変数をプロモートしません。

-fdefault-double-8
「DOUBLEPRECISION」タイプを8バイト幅タイプに設定します。 これがすでに行われている場合は何もしません
デフォルト。 もしも -fdefault-real-8 が与えられると、代わりに「DOUBLEPRECISION」は
可能であれば16バイトにプロモートし、 -fdefault-double-8 これを防ぐために使用できます。
「1.d0」のような実定数の種類はによって変更されません -fdefault-real-8 しかし、
だからまた -fdefault-double-8 影響はありません。

-指-4-整数-8
すべての「INTEGER(KIND = 4)」エンティティを「INTEGER(KIND = 8)」エンティティにプロモートします。 「KIND = 8」の場合
が利用できない場合、エラーが発行されます。 このオプションは注意して使用する必要があります
そしてあなたのコードに適していないかもしれません。 懸念される可能性のある分野には、
外部手順、「EQUIVALENCE」および/または「COMMON」での調整、汎用インターフェース、
BOZリテラル定数変換、およびI / O。 中間体の検査
によって生成された、翻訳されたFortranコードの表現 -fdump-tree-オリジナルであり、
提案しました。

-freal-4-real-8
-freal-4-real-10
-freal-4-real-16
-freal-8-real-4
-freal-8-real-10
-freal-8-real-16
すべての「REAL(KIND = M)」エンティティを「REAL(KIND = N)」エンティティにプロモートします。 「REAL(KIND = N)」が
使用できない場合、エラーが発行されます。 他のすべての実際の種類のタイプは影響を受けません
このオプションによって。 これらのオプションは注意して使用する必要があり、
あなたのコード。 懸念される可能性のある分野には、外部手順の呼び出し、調整が含まれます
「EQUIVALENCE」および/または「COMMON」では、汎用インターフェース、BOZリテラル定数変換、
およびI / O。 翻訳されたFortranの中間表現の検査
コード、によって生成された -fdump-tree-オリジナル、をお勧めします。

-std =STD
プログラムが準拠することが期待される標準を指定します。これは、次のいずれかである可能性があります。
f95, f2003, f2008, ヌーまたは レガシー。 のデフォルト値 STD is ヌー、を指定します
によってサポートされるすべての拡張機能を含むFortran95標準のスーパーセット
GNU Fortran。ただし、廃止された拡張機能については警告が表示されますが、推奨されません。
新しいコードで使用するため。 NS レガシー 値は同等ですが、警告はありません
廃止された拡張機能であり、古い非標準プログラムに役立つ場合があります。 NS f95, f2003
および f2008 値は、Fortran 95、Fortran 2003、および
それぞれFortran2008標準。 エラーは、
関連する言語標準、および警告は、Fortran77の機能に対して与えられます。
許可されていますが、後の規格では廃止されています。 -std = f2008ts Fortran2008を許可します
技術仕様(TS)29113の追加を含む標準
の追加の並列機能でのFortranとCおよびTS18508の相互運用性
Fortran。

有効にします および カスタマイズ 前処理
プリプロセッサ関連のオプション。 セクションを参照してください 前処理 および 条件付きの 編集 for
前処理の詳細については、 グフォルトラン.

-cpp
-nocpp
前処理を有効にします。 ファイル拡張子が
is .fpp, .FPP, .F, 。にとって, .FTN, .F90, .F95, .F03 or .F08。 このオプションを使用して手動で
あらゆる種類のFortranファイルの前処理を有効にします。

上記の拡張子のいずれかを持つファイルの前処理を無効にするには、
否定形: -nocpp.

プリプロセッサは従来のモードで実行されます。 ファイル形式の制限、
特に行の長さの制限は、前処理された出力にも適用されるため、
を使用することをお勧めします -ffree-line-length-none or -固定-行-長さ-なし
オプション。

-dM 通常の出力の代わりに、すべての「#define」ディレクティブのリストを生成します。
事前定義されたマクロを含む、プリプロセッサの実行中に定義されたマクロ。
これにより、自分のバージョンで事前定義されているものを見つける方法が得られます。
プリプロセッサ。 ファイルがないと仮定します foo.f90、 コマンド

foo.f90に触れます。 gfortran -cpp -E -dM foo.f90

事前定義されたすべてのマクロが表示されます。

-dD いいね -dM XNUMXつの点を除いて:事前定義されたマクロが含まれていないこと、および
「#define」ディレクティブと前処理の結果の両方を出力します。 両方の種類
出力は標準出力ファイルに送られます。

-dN いいね -dD、ただし、マクロ名のみを出力し、展開は出力しません。

-dU いいね dD ただし、展開されたマクロ、または定義がテストされているマクロのみ
プリプロセッサディレクティブが出力されます。 出力は、の使用またはテストまで遅延されます
マクロ; および「#undef」ディレクティブも、テストされたが未定義のマクロに対して出力されます。
時間。

-dI 前処理の結果に加えて、「#include」ディレクティブを出力します。

-fworkingディレクトリ
プリプロセッサ出力でラインマーカーの生成を有効にして、コンパイラを許可します
前処理時に現在の作業ディレクトリを知っている。 このオプションが
有効にすると、プリプロセッサは最初のラインマーカーの後にXNUMX番目のラインマーカーを出力します
現在の作業ディレクトリの後にXNUMXつのスラッシュが続きます。 GCCはこれを使用します
ディレクトリ、前処理された入力に存在する場合、次のように発行されたディレクトリとして
一部のデバッグ情報形式の現在の作業ディレクトリ。 このオプションは
デバッグ情報が有効になっている場合は暗黙的に有効になりますが、これは次の方法で禁止できます。
否定された形式 -fno-作業ディレクトリ。 もし -P コマンドにフラグがあります
lineの場合、「#line」ディレクティブはまったく発行されないため、このオプションは効果がありません。

-idirafter DIR
を検索 DIR インクルードファイルの場合、ただし、で指定されたすべてのディレクトリの後に実行します -I および
標準のシステムディレクトリが使い果たされました。 DIR システムとして扱われます
ディレクトリを含めます。 dirが "="で始まる場合、 "="は
sysrootプレフィックス; 見る --sysroot および -isysroot.

-imultilib DIR
  DIR ターゲット固有のC ++ヘッダーを含むディレクトリのサブディレクトリとして。

-iprefix 接頭辞
指定 接頭辞 後続のプレフィックスとして -iwithprefix オプション。 の場合 接頭辞
ディレクトリを表します。最後の「/」を含める必要があります。

-isysroot DIR
このオプションは、 --sysroot オプションですが、ヘッダーファイルにのみ適用されます。 を参照してください
--sysroot 詳細については、オプションを参照してください。

-iquote DIR
を検索 DIR 「#include "file"」でリクエストされたヘッダーファイルの場合のみ。 ではない
「#include」を検索"、で指定されたすべてのディレクトリの前 -I と前に
標準のシステムディレクトリ。 もしも DIR 「=」で始まり、「=」はに置き換えられます
sysrootプレフィックス。 見る --sysroot および -isysroot.

-isystem DIR
を検索 DIR ヘッダーファイルの場合、によって指定されたすべてのディレクトリの後 -I しかし、前に
標準のシステムディレクトリ。 同じになるように、システムディレクトリとしてマークします
標準のシステムディレクトリに適用される特別な処理。 もしも DIR 〜で始まる
"="の場合、 "="はsysrootプレフィックスに置き換えられます。 見る --sysroot および -isysroot.

-ノストディンク
標準のシステムディレクトリでヘッダーファイルを検索しないでください。 ディレクトリのみ
あなたが指定した -I オプション(および現在のファイルのディレクトリ(場合は)
適切な)が検索されます。

-未定義
システム固有またはGCC固有のマクロを事前定義しないでください。 事前定義された標準
マクロは定義されたままです。

-A述語=回答
述語でアサーションを作成します 述語 そして答える 回答。 このフォームは
古い形式よりも優先-述語(回答)。これは引き続きサポートされています。
シェルの特殊文字は使用しません。

-A-述語=回答
述部を使用してアサーションをキャンセルします 述語 そして答える 回答.

-C コメントを破棄しないでください。 すべてのコメントは、出力ファイルに渡されます。
ディレクティブとともに削除される、処理されたディレクティブ内のコメントの場合。

使用するときは副作用に備える必要があります -C; それはプリプロセッサに
コメントはそれ自体がトークンとして扱います。 たとえば、に表示されるコメント
ディレクティブラインとなるものの開始は、そのラインをに変える効果があります
行の最初のトークンが「#」ではなくなったため、通常のソース行。

警告:これは現在、Cスタイルのコメントのみを処理します。 プリプロセッサはまだ
Fortranスタイルのコメントを認識します。

-CC マクロ展開中も含め、コメントを破棄しないでください。 これは -C除きます
マクロに含まれるコメントは、出力ファイルにも渡されます。
マクロが展開されます。

の副作用に加えて -C オプション、 -CC オプションはすべてのC ++スタイルを引き起こします
Cスタイルのコメントに変換されるマクロ内のコメント。 これは後で防ぐためです
ソース行の残りの部分を誤ってコメントアウトすることによるそのマクロの使用。
  -CC オプションは通常、lintコメントをサポートするために使用されます。

警告:これは現在、CスタイルおよびC ++スタイルのコメントのみを処理します。 プリプロセッサは
Fortranスタイルのコメントはまだ認識されていません。

-D
定義1を使用して、名前をマクロとして事前定義します。

-D=定義
の内容 定義 トークン化され、
'#define'ディレクティブの変換フェーズXNUMX。 特に、定義は
埋め込まれた改行文字によって切り捨てられます。

シェルまたはシェルのようなプログラムからプリプロセッサを呼び出す場合は、必要になることがあります
シェルの引用構文を使用して、スペースなどの文字を保護します。
シェル構文での意味。

コマンドラインで関数のようなマクロを定義する場合は、その引数を記述します
等号(存在する場合)の前に括弧を付けてリストします。 括弧は
ほとんどのシェルにとって意味があるので、オプションを引用する必要があります。 shとcshで、
「-D'name(args ...)= definition '」は機能します。

-D および -U オプションは、コマンドラインで指定された順序で処理されます。 全て
-imacrosファイルおよび-includeファイルオプションは、すべての-Dおよび-Uオプションの後に処理されます。

-H 他の通常のアクティビティに加えて、使用される各ヘッダーファイルの名前を出力します。 各
名前は、「#include」スタックの深さを示すためにインデントされています。

-P プリプロセッサからの出力でのラインマーカーの生成を禁止します。 これは
Cコードではないものでプリプロセッサを実行するときに役立ち、送信されます
ラインマーカーによって混乱する可能性のあるプログラムに。

-U
以前の定義をキャンセルします 、組み込みまたは付属のいずれか -D オプションを選択します。

オプション 〜へ 要求 or 抑える エラー および 警告
エラーは、GNUFortranコンパイラがコンパイルできないことを報告する診断メッセージです。
関連するソースコード。 コンパイラはプログラムを処理し続けます
デバッグを支援するためにさらにエラーを報告しようとしますが、コンパイルされたものは生成されません
出力。

警告は、本質的にではない構造を報告する診断メッセージです。
エラーがありますが、リスクがあるか、プログラムにバグがある可能性が高いことを示唆しています。
そうでない限り -エラー が指定されている場合、プログラムのコンパイルを妨げることはありません。

オプションで始まる多くの特定の警告をリクエストできます -W例えば、 -暗黙の了解
暗黙の宣言に関する警告を要求します。 これらの特定の警告オプションのそれぞれも
否定的な形で始まります -いいえ- 警告をオフにします。 例えば、 -暗黙的.
このマニュアルには、XNUMXつの形式のうち、デフォルトではない方のみが記載されています。

これらのオプションは、GNUFortranによって生成されるエラーと警告の量と種類を制御します。

-fmax-errors =n
エラーメッセージの最大数をに制限します n、その時点でGNUFortranは脱却します
ソースコードの処理を続行しようとするのではなく。 もしも n は0、ありません
生成されるエラーメッセージの数の制限。

-fsyntaxのみ
コードに構文エラーがないか確認しますが、実際にはコンパイルしないでください。 これにより、
コードに存在する各モジュールのモジュールファイル。ただし、他の出力ファイルはありません。

-衒学者
Fortran95の拡張機能の使用に関する警告を発行します。 -衒学者 にも適用されます
の使用など、GNUFortranソースファイルで発生するC言語構造 \e
「#include」のようなディレクティブ内の文字定数内。

有効なFortran95プログラムは、このオプションの有無にかかわらず正しくコンパイルする必要があります。
ただし、このオプションがない場合、特定のGNU拡張機能と従来のFortran機能
同様にサポートされています。 このオプションを使用すると、それらの多くが拒否されます。

一部のユーザーは使用しようとします -衒学者 プログラムの適合性をチェックします。 彼らはすぐに見つけます
それは彼らが望んでいることを完全には行わないということ---それはいくつかの非標準的な慣行を見つけますが、
すべてではない。 ただし、この分野でのGNUFortranの改善は大歓迎です。

これは、と組み合わせて使用​​する必要があります -std = f95, -std = f2003 or -std = f2008.

-衒学的エラー
いいね -衒学者ただし、警告ではなくエラーが生成されます。

-壁
回避することをお勧めする使用法に関連して一般的に使用される警告オプションを有効にします
そして、回避するのは簡単だと私たちは信じています。 これには現在含まれています -ワリアシング,
-ワンパーサンド, -Wコンバージョン, -驚くべき, -Wcバインディングタイプ, -Wintrinsics-std,
-タブなし, -Wintrinsic-シャドウ, -Wline-切り捨て, -Wtarget-ライフタイム, -Wreal-q-定数
および -未使用.

-ワリアシング
ダミー引数のエイリアシングの可能性について警告します。 具体的には、同じかどうかを警告します
実際の引数は、「INTENT(IN)」のダミー引数とダミーに関連付けられています
明示的なインターフェイスを使用した呼び出しでの「INTENT(OUT)」を使用した引数。

次の例は警告をトリガーします。

インタフェース
サブルーチンbar(a、b)
整数、intent(in):: a
整数、intent(out):: b
サブルーチンの終了
エンドインターフェイス
整数:: a

コールバー(a、a)

-ワンパーサンド
継続的な文字定数でアンパサンドが欠落していることを警告します。 警告が出されます
  -ワンパーサンド, -衒学者, -std = f95, -std = f2003 および -std = f2008。 注:なし
継続文字定数で指定されたアンパサンド、GNUFortranは継続を想定します
アンパサンドの後の最初の非コメント、非空白文字
継続。

-Warray-一時的
コンパイラによって生成された一時的な配列について警告します。 によって生成された情報
この警告は、このような一時的なものを回避するために、最適化に役立つ場合があります。

-Wcバインディングタイプ
変数がC相互運用可能でない可能性がある場合に警告します。 特に、
変数は、を使用する代わりに、デフォルトの種類の組み込み型を使用して宣言されています
組み込みの「ISO_C_Binding」でCの相互運用性のために定義された種類のパラメーター
モジュール。 このオプションは、 -壁.

-Wcharacter-切り捨て
文字の割り当てによって割り当てられた文字列が切り捨てられる場合に警告します。

-Wline-切り捨て
ソースコード行が切り捨てられるときに警告します。 このオプションは、 -壁。 のために
自由形式のソースコード、デフォルトは -Werror = line-truncation そのような切り捨て
エラーとして報告されます。

-Wコンバージョン
式の値を変更する可能性のある暗黙的な変換について警告する
変換後。 によって暗示される -壁.

-Wconversion-追加
異なるタイプと種類の間の暗黙の変換について警告します。 このオプションは
暗示する -Wコンバージョン.

-ウェクストラ
問題になる可能性のある言語機能の使用に関するいくつかの警告オプションを有効にします。
これは現在含まれています -Wcompare-reals および -Wunused-パラメータ.

-Wimplicit インターフェイス
明示的なインターフェイスなしでプロシージャが呼び出された場合に警告します。 これはチェックするだけであることに注意してください
明示的なインターフェイスが存在すること。 宣言されたインターフェースがチェックされない
プログラムユニット間で一貫しています。

-暗黙の手順
明示的なインターフェースを持たない、またはされていないプロシージャが呼び出された場合に警告する
「EXTERNAL」として宣言されました。

-Wintrinsics-std
警告する場合 グフォルトラン で利用できない組み込み関数のような名前のプロシージャを見つけます
現在選択されている標準( -標準)そしてそれを「EXTERNAL」プロシージャとして扱います。
これの。 -フォールイントリンシック この動作をトリガーせず、常にリンクするために使用できます
選択した規格に関係なく、本質的に。

-Wreal-q-定数
real-literal-constantに「q」指数文字が含まれている場合に警告を生成します。

-驚くべき
「疑わしい」コード構造が検出された場合に警告を生成します。 その間
技術的に合法であるこれらは通常、エラーが発生したことを示します。

これにより、現在、次の状況で警告が生成されます。

* INTEGER SELECT構文には、下位として一致することのないCASEがあります
値が上限値よりも大きい。

* LOGICAL SELECTコンストラクトには、XNUMXつのCASEステートメントがあります。

* TRANSFERは、宛先よりも短い送信元を指定します。

*関数結果のタイプは、同じタイプで複数回宣言されます。 もしも
-衒学者 または標準準拠モードが有効になっている場合、これはエラーです。

*「CHARACTER」変数は負の長さで宣言されています。

-Wタブ
デフォルトでは、タブは空白として受け入れられますが、タブはFortranのメンバーではありません
キャラクターセット。 継続行の場合、タブの後に1から9までの数字が続きます。
-Wタブ タブが検出されると、警告が発行されます。 ノート、
-Wタブ のためにアクティブです -衒学者, -std = f95, -std = f2003, -std = f2008, -std = f2008ts および
-壁.

-ワンダーフロー
数値定数式が検出されたときに警告を生成します。これにより、
コンパイル中のアンダーフロー。 デフォルトで有効になっています。

-Wintrinsic-シャドウ
ユーザー定義のプロシージャーまたはモジュールのプロシージャーが、と同じ名前である場合に警告します。
内在的; この場合、明示的なインターフェースまたは「EXTERNAL」または「INTRINSIC」
後で呼び出しを目的の場所に解決するには、宣言が必要になる場合があります
本質的/手順。 このオプションは、 -壁.

-Wuse-without-only
「USE」ステートメントに「ONLY」修飾子がないため、暗黙的にすべてをインポートする場合に警告します
使用されるモジュールのパブリックエンティティ。

-Wunused-ダミー引数
未使用のダミー引数について警告します。 このオプションは、 -壁.

-Wunused-パラメータ
に反して gccのの意味 -Wunused-パラメータ, グフォルトランこれの実装
オプションは、未使用のダミー引数について警告しません(を参照) -Wunused-ダミー引数
未使用の「PARAMETER」値について。 -Wunused-パラメータ によって暗示される -ウェクストラ もしも
-未使用 or -壁 使用されている。

-Walign-コモンズ
デフォルトでは、 グフォルトラン 変数が適切に埋め込まれる機会がある場合は警告します
「COMMON」ブロック内の配置。 この警告は、次の方法でオフにできます。
-Wno-align-commons。 参照 -falign-commons.

-機能の排除
関数の呼び出しが、によって有効化された最適化によって排除された場合に警告します。
-ffrontend-最適化 オプションを選択します。

-Wrealloc-lhs
コンパイラが割り当てまたは再割り当てのためにコードを挿入する可能性がある場合に警告する
固有の割り当てにおける固有型の割り当て可能な配列変数。 ホットループでは、
Fortran 2003再割り当て機能は、パフォーマンスを低下させる可能性があります。 配列が
すでに正しい形状で割り当てられている場合は、アレイ全体の配列仕様の使用を検討してください
(例: "(:、:、:)")再割り当てを防ぐための左側の変数
チェック。 コンパイラが警告を表示する場合でも、警告が表示される場合があることに注意してください。
再割り当てチェックを最適化します。 たとえば、右側にが含まれている場合
同じ変数にスカラーを掛けたもの。 も参照してください -frealloc-lhs.

-Wrealloc-lhs-all
コンパイラがの割り当てまたは再割り当てのためにコードを挿入したときに警告します
割り当て可能な変数。 これには、スカラーと派生型が含まれます。

-Wcompare-reals
実数型または複素数型を比較す​​るときに、等しいか等しくないかを警告します。 このオプションは
によって暗示される -ウェクストラ.

-Wtarget-ライフタイム
ポインタ割り当てのポインタがそのターゲットよりも長い可能性がある場合に警告します。 この
オプションはによって暗示されます -壁.

-Wゼロトリップ
「DO」ループがコンパイル時にゼロ回実行されることがわかっている場合は警告します。 このオプションは
によって暗示される -壁.

-エラー
すべての警告をエラーに変えます。

これらのいくつかは、Fortranで書かれたプログラムをコンパイルするときに効果がありません。

オプション for デバッギング プログラム or GNU Fortran
GNU Fortranには、プログラムまたはプログラムのデバッグに使用されるさまざまな特別なオプションがあります。
GNUFortranコンパイラ。

-fdump-fortran-オリジナル
ソースプログラムを内部に変換した後、内部解析ツリーを出力します
表現。 GNUFortranコンパイラ自体のデバッグにのみ本当に役立ちます。

-fdump-fortran-最適化
フロントエンドの最適化後に解析ツリーを出力します。 デバッグにのみ本当に役立ちます
GNUFortranコンパイラ自体。

-fdump-解析ツリー
ソースプログラムを内部に変換した後、内部解析ツリーを出力します
表現。 GNUFortranコンパイラ自体のデバッグにのみ本当に役立ちます。
このオプションは非推奨です。 代わりに「-fdump-fortran-original」を使用してください。

-ffpe-trap =リスト
有効にする浮動小数点例外トラップのリストを指定します。 ほとんどのシステムでは、
浮動小数点例外が発生し、その例外のトラップが有効になります、SIGFPE
シグナルが送信され、プログラムが中止され、に役立つコアファイルが生成されます。
デバッグ。 リスト 次の(おそらく空の)コンマ区切りのリストです
例外: 無効 (「SQRT(-1.0)」などの無効な浮動小数点演算)、 ゼロ
(ゼロ除算)、 オーバーフロー (浮動小数点演算でのオーバーフロー)、 アンダーフロー
(浮動小数点演算でのアンダーフロー)、 不正確 (中の精度の喪失
操作)、および 非正規化数 (非正規値で実行される操作)。 最初のXNUMXつ
例外は754つのIEEEXNUMX例外に対応しますが、最後のXNUMXつ(非正規化数)
IEEE 754標準の一部ではありませんが、いくつかの一般的なアーキテクチャで利用できます
x86など。

最初のXNUMXつの例外(無効, ゼロ, オーバーフロー)しばしば深刻なことを示す
エラー、およびプログラムにこれらの例外を処理するための規定がない限り、
これらのXNUMXつの例外に対してトラップを有効にすることは、おそらく良い考えです。

ほとんどではないにしても、多くの浮動小数点演算では、丸めが原因で精度が低下します。
したがって、「ffpe-trap = inexact」は実際には面白くない可能性があります。

デフォルトでは、例外トラップは有効になっていません。

-ffpe-summary =リスト
フラグステータスが出力される浮動小数点例外のリストを指定します。
「STOP」および「ERRORSTOP」を呼び出すときの「ERROR_UNIT」。 リスト どちらでもかまいません なし, または
次の例外のコンマ区切りリスト: 無効, ゼロ, オーバーフロー, アンダーフロー,
不正確 および 非正規化数。 (参照してください。 -ffpe-トラップ 例外の説明については。)

デフォルトでは、以下のすべての例外の要約 不正確 示されています。

-fno-バックトレース
重大なランタイムエラーが発生した場合、または致命的な信号が送信された場合
(セグメンテーション違反、不正な命令、バスエラー、浮動小数点例外、および
アクションを持つ他のPOSIXシグナル )、Fortranランタイムライブラリは
エラーのバックトレースを出力します。 「-fno-backtrace」は、バックトレースの生成を無効にします。
このオプションは、Fortranメインプログラムのコンパイルにのみ影響します。

オプション for ディレクトリにジョブを開始します。 サーチ
これらのオプションは、GNUFortranが「INCLUDE」で指定されたファイルを検索する方法に影響します。
ディレクティブと、以前にコンパイルされたモジュールを検索する場所。

また、によって使用される検索パスにも影響します cpp Fortranソースを前処理するために使用される場合。

-IDIR
これらは、「INCLUDE」ディレクティブ(および「#include」)の解釈に影響します。
の指令 cpp プリプロセッサ)。

また、の一般的な動作にも注意してください -I 「INCLUDE」はとほぼ同じです
-I に「#include」を付けて cpp プリプロセッサ、探していることに関して ヘッダー.gcc
ファイルや他のそのようなもの。

このパスは、検索にも使用されます .mod 以前にコンパイルされたモジュールが
「USE」ステートメントで必要です。

-JDIR
このオプションはどこに置くかを指定します .mod コンパイルされたモジュールのファイル。 それも追加されます
「USE」ステートメントで検索するディレクトリのリストに移動します。

デフォルトは現在のディレクトリです。

-fintrinsic-modules-path DIR
このオプションは、コンパイル済みの組み込みモジュールがない場合は、その場所を指定します
コンパイラーが予期するデフォルトの場所。

影響力   連結 手順
これらのオプションは、コンパイラがオブジェクトファイルを実行可能ファイルにリンクするときに機能します
出力ファイル。 コンパイラがリンクステップを実行していない場合、これらは無意味です。

-静的-libgfortran
を提供するシステム上 libgfortran 共有ライブラリおよび静的ライブラリとして、このオプション
静的バージョンの使用を強制します。 の共有バージョンがない場合 libgfortran 建設されました
コンパイラーが構成されている場合、このオプションは効果がありません。

影響力 ランタイム 行動
これらのオプションは、GNUFortranでコンパイルされたプログラムの実行時の動作に影響します。

-fconvert =変換
フォーマットされていないファイルのデータの表現を指定します。 変換に有効な値
には次の値があります: ネイティブ、 デフォルト; swap、ビッグエンディアンとリトルエンディアンを入れ替えます。 ビッグエンディアンには
フォーマットされていないファイルのビッグエンディアン表現。 リトルエンディアン、リトルエンディアンを使用
フォーマットされていないファイルの表現。

この オプション 持っています an 効果 いつ 中古 in   メイン プログラム。   「変換」 指定子
および   GFORTRAN_CONVERT_UNIT 環境 変数 オーバーライド   デフォルト 指定の by
-fconvert.

-frecord-marker =長さ
フォーマットされていないファイルのレコードマーカーの長さを指定します。 の有効な値 長さ
デフォルトは4です。 この is 異なります から バージョン of グフォルトラン,
これは、ほとんどのシステムでデフォルトのレコードマーカーの長さ8を指定しました。 あなたがしたい場合は
以前のバージョンのと互換性のあるファイルの読み取りまたは書き込み グフォルトランには
-frecord-marker = 8.

-fmax-subrecord-length =長さ
サブレコードの最大長を指定します。 長さの最大許容値は
2147483639、これもデフォルトです。 gfortranでの使用にのみ本当に役立ちます
テストスイート。

-fsign-ゼロ
有効にすると、符号ビットが設定された値ゼロの浮動小数点数が書き込まれます
フォーマットされた出力では負の数として扱われ、「SIGN」では負の数として扱われます
本質的。 -fno-sign-zero ゼロ値(または値)の負の符号を出力しません
I / Oの場合はゼロに丸められます)、「SIGN」組み込み関数ではゼロを正の数と見なします
Fortran77との互換性のため。デフォルトは -fsign-ゼロ.

オプション for コード 世代 規則
これらのマシンに依存しないオプションは、コードで使用されるインターフェイス規則を制御します
世代。

それらのほとんどには、正と負の両方の形式があります。 の負の形式 -ふふー になる
-fno-foo。 以下の表では、フォームのXNUMXつだけがリストされています---フォームではないもの
ディフォルト。 あなたはどちらかを削除することによって他のフォームを理解することができます NO- またはそれを追加します。

-fno-自動
各プログラムユニット(RECURSIVEとマークされているものを除く)を「SAVE」ステートメントのように扱います。
参照されるすべてのローカル変数と配列に指定されました。 影響しません
一般的なブロック。 (一部のFortranコンパイラーは、このオプションを名前で提供しています -静的 or
-保存する。)デフォルトは -自動、小さいローカル変数にスタックを使用します
によって与えられた値より -fmax スタック変数サイズ。 オプションを使用する -周波数 使用しない
スタティックメモリ。

-ff2c
によって生成されたコードと互換性があるように設計されたコードを生成します g77 および f2c.

によって使用される呼び出し規約 g77 (元々はで実装されていました f2c)関数が必要
その戻り型のデフォルト「REAL」は実際にC型「double」を返し、関数
呼び出しで追加の引数を介して値を返すには、タイプ「COMPLEX」を返します
戻り値を格納する場所を指すシーケンス。 デフォルトのGNUの下で
呼び出し規約では、このような関数は、GNUの場合と同じように結果を返すだけです。
C ---デフォルトの「REAL」関数はCタイプの「float」を返し、「COMPLEX」関数は
GNUCタイプ「complex」。 さらに、このオプションは -fsecond-アンダースコア
オプション、ただし -fno-second-アンダースコア 明示的に要求されます。

これは、とインターフェイスするコードの生成には影響しません。 libgfortran
としょうかん。

ウォールタイム - コンパイルされたFortranコードを混合することは良い考えではありません -ff2c コード付き
デフォルトでコンパイル -fno-f2c としての呼び出し規約、「COMPLEX」の呼び出し、または
異なる方法でコンパイルされたプログラム部分間のデフォルトの「REAL」関数
呼び出し規約は実行時に破られます。

ウォールタイム - これにより、デフォルトの「REAL」タイプの組み込み関数を渡すコードが壊れます。
または「COMPLEX」を実際の引数として使用します。ライブラリの実装では -fno-f2c
呼び出し規約。

-fno-アンダースコア
Fortranソースファイルで指定されたエンティティの名前を追加して変換しないでください
それらにアンダースコアを付けます。

-ファンダースコアリング 事実上、GNUFortranは外部名にXNUMXつのアンダースコアを追加します
アンダースコアなし。 これは、多くの人が作成したコードとの互換性を確保するために行われます
UNIXFortranコンパイラ。

あぶない:GNUFortranのデフォルトの動作はと互換性がありません f2c および g77については
使用 -ff2c GNUFortranでコンパイルされたオブジェクトファイルを
これらのツールで作成されたオブジェクトコードと互換性があります。

活用 -fno-アンダースコア 問題を実験していない限り、お勧めしません
GNU Fortranの既存のシステム環境への統合など(に対して)
既存のライブラリ、ツールなど)。

たとえば、 -ファンダースコアリング、および「j()」と「max_count()」が
「my_var」と「lvar」がローカル変数である間の外部関数、次のようなステートメント

I = J()+ MAX_COUNT(MY_VAR、LVAR)

次のようなものとして実装されます。

i = j _()+ max_count __(&my_var __、&lvar);

-fno-アンダースコア、同じステートメントが次のように実装されます。

i = j()+ max_count(&my_var、&lvar);

活用 -fno-アンダースコア ユーザー定義名を直接指定できますが、
デバッグおよびGNUFortranコードを他の言語とインターフェースする場合。

名前が一致するという理由だけで によって実装されたインターフェイスを意味します
外部名のGNUFortranは、他のいくつかによって実装されたインターフェースと一致します
その同じ名前の言語。 つまり、GNUFortranによって生成されたコードをリンクさせる
この方法または他の方法を使用して他のコンパイラによって生成されたコードは、
ソリューション全体のごく一部---両方のコンパイラによって生成されたコードを
ネーミング以外の問題について合意するには、かなりの労力が必要になる可能性があり、ネーミングとは異なり、
不一致、リンカーは通常、これらの他の領域の不一致を検出できません。

また、 -fno-アンダースコア、アンダースコアが追加されていないため、
ユーザー定義の外部名が名前と競合するという非常に現実的な可能性
システムライブラリ内で、未解決の参照バグを見つける可能性があります
場合によっては難しい---プログラムの実行時に発生し、次のようにのみ表示される場合があります
実行時のバグのある動作。

GNU Fortranの将来のバージョンでは、命名とリンクの問題を改善して、
デバッグでは、たとえ
リンカから見た名前は、偶発的なリンクを防ぐためにマングルされています
互換性のないインターフェイスを持つプロシージャ。

-fsecond-アンダースコア
デフォルトでは、GNUFortranは外部名にアンダースコアを追加します。 このオプションが
使用されるGNUFortranは、アンダースコア付きの名前にXNUMXつのアンダースコアを追加し、XNUMXつのアンダースコアを追加します。
アンダースコアのない外部名に。 GNU Fortranはまた、XNUMXつのアンダースコアを追加します
外部名との名前の衝突を避けるために、アンダースコア付きの内部名。

このオプションは、次の場合には効果がありません。 -fno-アンダースコア 有効です。 それはによって暗示されます
-ff2c オプションを選択します。

それ以外の場合、このオプションを使用すると、「MAX_COUNT」などの外部名が次のように実装されます。
「max_count_」ではなく、リンク時の外部シンボル「max_count__」への参照。
これはとの互換性のために必要です g77 および f2c、およびの使用によって暗示されます
-ff2c オプションを選択します。

-fcoarray =
なし
Co-Arrayサポートを無効にします。 Co-Array宣言と画像制御ステートメントの使用
コンパイル時エラーが発生します。 (ディフォルト)


シングルイメージモード、つまり「num_images()」は常にXNUMXつです。

リブ ライブラリベースのCo-Array並列化。 適切なGNUFortranコアレイライブラリ
リンクする必要があります。

-fcheck =
ランタイムチェックの生成を有効にします。 引数はコンマ区切りのリストでなければなりません
次のキーワードの。

のすべてのランタイムテストを有効にする -fcheck.

配列温度
実際の引数を渡すために一時配列が必要な場合に実行時に警告します
生成されます。 この警告によって生成された情報は、
そのような一時的なものを避けるために、最適化。

注:警告は、場所ごとにXNUMX回だけ印刷されます。

境界
配列の添え字および宣言されたものに対する実行時チェックの生成を有効にします
最小値と最大値。 また、想定および延期された配列インデックスをチェックします
実際に割り当てられた境界に対して配列を形成し、すべての文字列を確実にします
明示的なtypespecがない文字配列コンストラクターの場合、長さは同じです。

一部のチェックでは、 -fcheck = bounds メインのコンパイルのために設定されています
プログラム。

注:将来的には、これには他の形式のチェックも含まれる可能性があります。
サブストリング参照。

do ループ反復の無効な変更に対するランタイムチェックの生成を有効にする
変数。

memの メモリ割り当ての実行時チェックの生成を有効にします。 注:このオプション
「ALLOCATE」ステートメントを使用した明示的な割り当てには影響しません。
常にチェックされます。

ポインタ
ポインタと割り当て可能オブジェクトの実行時チェックの生成を有効にします。

再帰
再帰的に呼び出されるサブルーチンの実行時チェックの生成を有効にし、
再帰としてマークされていない関数。 も参照してください -周波数。 注:これ
チェックはOpenMPプログラムでは機能せず、一緒に使用すると無効になります
-周波数 および -fopenmp.

-fbounds-チェック
の非推奨エイリアス -fcheck = bounds.

-fcheck-array-temporaries
の非推奨エイリアス -fcheck = array-temps.

-fmax-array-constructor =n
このオプションを使用して、配列コンストラクターで許可される上限を増やすことができます。
以下のコードでは、コンパイル時に配列を拡張するためにこのオプションが必要です。

プログラムテスト
暗黙的なし
整数j
整数、パラメータ:: n = 100000
整数、パラメータ:: i(n)=(/(2 * j、j = 1、n)/)
印刷 '(10(I0,1X))'、i
プログラムテスト終了

ウォールタイム - この オプション できる つながる 〜へ 長い コンパイル <font style="vertical-align: inherit;">回数</font> および 過度に オブジェクト
ファイル。

のデフォルト値 n 65535です。

-fmax-stack-var-size =n
このオプションは、に配置される最大の配列のサイズをバイト単位で指定します。
スタック; サイズを超えた場合、スタティックメモリが使用されます(
再帰的)。 オプションを使用する -周波数 そうしない再帰的手順を可能にするため
RECURSIVE属性を持っているか、並列プログラム用です。 使用する -fno-自動 絶対に使用しない
スタック

このオプションは現在、一定の境界で宣言されたローカル配列にのみ影響し、
すべての文字変数に適用されるわけではありません。 GNU Fortranの将来のバージョンでは、これが改善される可能性があります
行動。

のデフォルト値 n 32768です。

-fstack-配列
このオプションを追加すると、Fortranコンパイラーはすべてのローカル配列を配置します。
スタックメモリへのサイズが不明です。 プログラムが非常に大きなローカル配列を使用している場合は、
一部のスタックメモリのランタイム制限を拡張する必要がある可能性があります
オペレーティングシステム。 このフラグは、最適化レベルでデフォルトで有効になっています -オーファスト.

-fpackから派生
このオプションは、GNUFortranに派生型メンバーを可能な限り密にパックするように指示します。
このオプションでコンパイルされたコードは、なしでコンパイルされたコードと互換性がない可能性があります
このオプションは、実行速度が遅くなる可能性があります。

-frepack-配列
状況によっては、GNUFortranが想定される形状の配列セクションを
メモリの非連続領域を記述する記述子。 このオプションは、にコードを追加します
実行時にデータを連続したブロックに再パックする関数プロローグ。

これにより、アレイへのアクセスが高速化されます。 しかしそれは導入することができます
特に渡されたデータが
連続していない。

-fshort-列挙型
このオプションは、でコンパイルされたCコードとの相互運用性のために提供されています。
-fshort-列挙型 オプション。 これにより、GNUFortranは最小の「INTEGER」の種類を選択します。
与えられた列挙子セットは適合し、そのすべての列挙子にこの種を与えます。

-fexternal-ブラス
このオプションは グフォルトラン 一部の行列のBLAS関数への呼び出しを生成する
独自のアルゴリズムを使用する代わりに、「MATMUL」のような操作
関係する行列が指定された制限よりも大きい(を参照) -fblas-matmul-limit)。 これは
最適化されたベンダーのBLASライブラリが利用できる場合は有益です。 BLASライブラリは
リンク時に指定する必要があります。

-fblas-matmul-limit =n
重要なのは -fexternal-ブラス 有効です。 行列の行列乗算
サイズが大きい(または等しい) n BLAS関数の呼び出しによって実行されます。
他の人はによって処理されますが グフォルトラン 内部アルゴリズム。 マトリックスが関係している場合
正方形ではない場合、サイズ比較はの幾何平均を使用して実行されます
引数と結果の行列の次元。

のデフォルト値 n 30です。

-周波数
すべてのローカル配列をスタックに強制的に割り当てることにより、間接再帰を許可します。
このフラグを一緒に使用することはできません -fmax-stack-var-size = or -fno-自動.

-finit-ローカル-ゼロ
-finit-integer =n
-finit-real =
-finit-logical =
-finit-character =n
  -finit-ローカル-ゼロ オプションは、ローカルの「INTEGER」を初期化するようにコンパイラに指示します。
「REAL」および「COMPLEX」変数をゼロに、「LOGICAL」変数をfalseに、「CHARACTER」を
nullバイトの文字列への変数。 よりきめ細かい初期化オプションは次のとおりです。
提供者 -finit-integer =n, -finit-real = (これも
ローカルの「COMPLEX」変数の実数部と虚数部を初期化します)、
-finit-logical =, -finit-character =n (どこで n ASCII文字です
値)オプション。 これらのオプションは初期化されません

*割り当て可能な配列

*派生型変数のコンポーネント

*「EQUIVALENCE」ステートメントに表示される変数。

(これらの制限は、将来のリリースで削除される可能性があります)。

なお、 -finit-real = nan オプションは、「REAL」変数と「COMPLEX」変数を次のように初期化します。
静かなNaN。 シグナリングNaNの使用 -finit-real = snan; ただし、コンパイル時は注意してください
最適化はそれらを静かなNaNに変換する可能性があり、そのトラッピングを有効にする必要があります
(例:経由 -ffpe-トラップ).

最後に、 -finit- * オプションは警告を沈黙させます
によって放出されたでしょう -初期化されていません 影響を受けるローカル変数。

-falign-commons
デフォルトでは、 グフォルトラン 「COMMON」ブロック内のすべての変数の適切な配置を強制します。
必要に応じてそれらをパディングします。 特定のプラットフォームではこれは必須ですが、他のプラットフォームでは増加します
パフォーマンス。 「COMMON」ブロックが一貫したデータ型で宣言されていない場合
どこでも、このパディングは問題を引き起こす可能性があり、 -fno-align-commons に使用することができます
自動位置合わせを無効にします。 このオプションの同じ形式をすべてのファイルに使用する必要があります
「COMMON」ブロックを共有します。 「COMMON」ブロックでの潜在的な配置の問題を回避するには、
オブジェクトを大きいものから小さいものの順に並べることをお勧めします。

-fno-protect-parens
デフォルトでは、式の括弧は、次のようなすべての最適化レベルで使用されます。
コンパイラーが再関連付けを行わないこと。 使用する -fno-protect-parens ことができます
「REAL」および「COMPLEX」式を並べ替えてより高速なコードを生成するコンパイラ。 ご了承ください
再関連付けの最適化のため -fno-signed-zeros および -fno-トラップ-数学 する必要が
有効になります。 括弧による保護は、デフォルトで有効になっています。 -オーファスト is
与えられた。

-frealloc-lhs
固有の割り当ての割り当て可能な左側は自動的に
割り当てられていないか、形状が異なる場合は、(再)割り当てられます。 オプションは
次の場合を除いて、デフォルトで有効になっています -std = f95 与えられます。 も参照してください -Wrealloc-lhs.

-積極的な機能の排除
引数リストが同一の関数は、関係なくステートメント内で削除されます
これらの機能が「PURE」とマークされているかどうか。 たとえば、

a = f(b、c)+ f(b、c)

「f」への呼び出しはXNUMX回だけです。 このオプションは、次の場合にのみ機能します
-ffrontend-最適化 有効です。

-ffrontend-最適化
このオプションは、Fortranのパーツの操作に基づいて、フロントエンドの最適化を実行します
ツリーを解析します。 デフォルトで有効になっています -O オプション。 これにより最適化が可能になります
オプションには、式内の同一の関数呼び出しの削除、削除が含まれます
比較と割り当てにおける「TRIM」への不要な呼び出し、およびTRIM(a)の置き換え
「a(1:LEN_TRIM(a))」。 指定することで選択を解除できます -fno-フロントエンド-最適化.

ENVIRONMENT


  グフォルトラン コンパイラは現在、制御するために環境変数を使用していません
の動作に影響を与えるものを超えたその動作 gccの.

onworks.netサービスを使用してオンラインでmips-linux-gnu-gfortranを使用する



最新のLinuxおよびWindowsオンラインプログラム