2.4 コンパイラオプション
- -132
- 固定ソース形式の入力行の長さを72文字から132文字に増加させます。 自由ソース形式の入力には影響しません。
- -abi=abi
- (Linux x86-64のみ)
コンパイルターゲットのABIを32、64t、64cのいずれかで指定します。
2つの64ビットABIの違いは以下のとおりです。
ABI Object size Character長 -abi=64t 64 ビット 32 ビット -abi=64c 64 ビット 64 ビット -abi=32オプションを指定してコンパイルされたプログラムは、 x86 Linuxシステムで実行可能です。64-bit ABIを指定した場合は64-bitカーネル上でのみ実行可能です。
デフォルトは-abi=64tです。 -abi=64cオプションはIntel Fortranで使われているABIと互換性があります。
- -abi=abi
- (64ビットIntel Macのみ) コンパイルターゲットのABIを32(32ビットABI)、64(64ビットABI) のいずれかで指定します。デフォルトは-abi=64 です。
- -abi=abi
- (Windows のみ) コンパイルターゲットのABIを32(32ビットABI)、64(64ビットABI) のいずれかで指定します。デフォルトはWindows x64では -abi=64 です。 32-bitのWindowsではデフォルトは -abi=32 で -abi=64 は利用可能ではありません。
- -align=alignment
- (Mac OS Xのみ)
変数や成分の配置属性を次のいずれかで指定します:
natural (性能を優先したnatural配置。COMMONブロック、またはSEQUENCE 型レイアウトに関する解釈を標準に準拠しない形で変更する可能性があります。) standard (標準準拠の配置。デフォルト。) プログラム全体を同一の配置オプションでコンパイルする必要があります。
- -Bbinding
- 静的(static)バインディング、または動的(dynamic)バインディン グを指定します。 この指定はリンクフェーズ中で指定された場合にのみ有効です。 デフォルトは動的バインディングです。 SPARC及びSG/Irix上では、これらのオプションの指定位置が意味を持ち、 一部のライブラリを静的にそして他の部分を動的に結合するようなことが可能です。 (本オプションはIBM z9 Open Editionでは利用できません)
- -c
- コンパイル(各ソースファイルに対する.oファイルの生成)の実行のみ。.oファイ ルをリンクし実行可能ファイルを生成するといった処理は行いません。 このオプションは -otype=obj と同等です。
- -C
- 時間のかかる実行時チェックは行わない形でのコンパイルの実行。 -C=alias、-C=dangling、-C=undefined、 及び-C=intovf は無視されます。
- -C=check
- check の値に応じた判定ロジックを伴うコンパイルを実行します。
check の値として許されるのは次のいずれかです。
alias (個別名化仮引数の代入のチェックを行う。), all (-C=undefined を除くすべてのチェックを行う。) array (配列境界のチェックを行う。) bits (ビットintrinsicな引数をチェックする。) calls (手続き参照のチェックを行う。) dangling (ポインタ不正をチェックする。) do (DOループ中でのステップ値が0かどうか、及び親子結合による不正な変更をチェックする。) intovf (整数オーバーフローをチェックする。) none (チェックを行わない。デフォルト。) present (OPTIONAL参照をチェックする。) pointer (POINTER参照をチェックする。) recursion (再帰不正をチェックする。) undefined (未定義変数をチェックする。詳細については後述。) -C=aliasオプションは、 仮引数への代入が他の仮引数に影響を与える事が検出された場合に実行時エラーを生成します。 本リリースではスカラ仮引数の場合のみ検出されます。
-C=danglingオプションはぶら下がりポインタが使われた時に実行時エラーを生成します。 また、実行時オプション‘show_dangling’が指定された場合、 ポインタがぶら下がり状態になった時に警告が生成されます。 (詳細は実行時環境変数 をご参照下さい)
-C=undefined オプションには種々の制限が付きます。またそのオプ ションを使わずにコンパイルされたコードとはバイナリ互換性がありません。 またBIND(C)インタフェースを介してCコードを呼び出す事とも互換性がありません。 詳細についてはセクション“未定義変数の検出 ”をご参照ください。
- -colour
- コンパイラからのメッセージ出力をANSIエスケープシーケンスを使ってカラー化しま す。デフォルトの前景カラースキームは次の通りです:エラーメッセージ(致命的エラ ーを含む)に対しては赤、警告メッセージに対しては青、参考情報に対しては緑。
- -colour=scheme
- 指定されたスキーム(scheme )に従ってコンパイラからのメッセージ出力をカラ
ー化します。
具体的にはコンマで区切ったリストの形式でカラーの指定を行います。それぞれはメッ
セージカテゴリ名(“error”、“warn”、“info”)、コロン、前景
カラー名称の順で指定しますが、さらにプラス記号と背景色の指定を追加することもで
きます。
カテゴリ名を明示しない形のカラーリングがデフォルトです。
指定可能なカラー:black, red, green, yellow, blue, magenta, cyan and white
例 -colour=error:red+blue,warn:cyan,info:magenta+yellow
はかなりけばけばしいカラースキームです。 - -compatible
- 外部リンケージを可能な限り他のコンパイラと互換にします。 他のコンパイラとは、Windowsの場合Microsoft Fortran(32-bit mode)もしくはIntel Fortran (64-bit mode)を示し、 Mac OSX、Linuxではg77、g95、gfortranを示し、その他の環境ではOSベンダーが提供するコンパイラをそれぞれ示します。 この指定は名称の規約と呼び出し規約の両方に影響します。 例えばWindowsの場合には、ほとんどのDLLで用いられている“STDCALL”呼び出し 規約が使用されるようになります。(名前が大文字で後ろにアンダースコアが付かない) Windowsの64-bit modeでは常に-compatibleが指定されたものとみなされます。
- -convert=format
- 書式なしファイルのデフォルトの変換モードを format に設定します。
この設定は OPEN 文の CONVERT= 指定子もしくは環境変数 FORT_CONVERTn(ここで n は装置番号)によりオーバーライドできます。
formatの値は以下のいずれかでなければなりません(大文字小文字の区別はありません)
書式 説明 BIG_ENDIAN BIG_IEEEと同等 BIG_IEEE_DD ビッグエンディアン(IEEEの単精度浮動小数点形式、IEEEの倍精度浮動小数点形式、double-double 4倍精度浮動小数点形式) BIG_IEEE ビッグエンディアン(IEEEの単精度浮動小数点形式、IEEEの倍精度浮動小数点形式、IEEEの128ビット4倍精度浮動小数点形式) BIG_NATIVE ビッグエンディアン(ネイティブの浮動小数点形式) LITTLE_ENDIAN LITTLE_IEEE と同等 LITTLE_IEEE_DD リトルエンディアン(IEEEの単精度浮動小数点形式、IEEEの倍精度浮動小数点形式、double-double 4倍精度浮動小数点形式) LITTLE_IEEE リトルエンディアン(IEEEの単精度浮動小数点形式、IEEEの倍精度浮動小数点形式、IEEEの128ビット4倍精度浮動小数点形式) LITTLE_NATIVE ネイティブのエンディアンとデータ形式 NATIVE 変換無し(デフォルト) - -Dname
- name をfppに対しプリプロセッサ変数として定義します。 fppによってプリプロセスされるファイルのみが影響を受けます。
- -d_lines
- 固定形式の場合のみに“D”で始まる行についてその“D”を空白で置換えて通常のFortran文として扱います。 このオプションが指定されない場合、このような行はコメントとして取り扱われます。
- -dcfuns
- 非標準の倍精度複素組込み関数の認識を有効にします。これらは次に示すように標準的
な組込み関数に対する特殊形として機能します:
非標準 対応する標準Fortran組込み関数 CDABS(A) ABS(A) DCMPLX(X,Y) CMPLX(X,Y,KIND=KIND(0d0)) DCONJG(Z) CONJG(Z) DIMAG(Z) AIMAG(Z) DREAL(Z) REAL(Z)またはDBLE(Z) - -double
- デフォルトのINTEGER, LOGICAL, REAL, COMPLEXのサイ ズを2倍にします。 種別番号とバイト長を明示する形で指定した要素は影響されません。4倍精度の REALがサポートされている場合にはDOUBLE PRECISIONのサイズも2倍に なります。
- -dryrun
- コンパイラドライバによって作成されたコマンドを実行はせず、表示のみを行います。
- -dusty
- “Legacy”ソフトウェアに対し、共通的なエラーのカテゴリを“Error”か ら“Warning”(-w オプションを指定することで出力を抑止す ることもできます)にダウングレードさせた上で、そのコンパイルと実行を許容し、 ホレリスI/O(-hollerith_io オプション参照)も可能にします。
- -encoding=charset
- Fortranソースファイルのエンコードシステムを charset に設定します。 charset はISO_Latin_1, Shift_JIS, UTF_8のいずれかでなければなりません。 このオプションを指定しない場合のデフォルトのエンコーディングは以下の通りです。 UTF-8 Byte Order Markがファイルの最初に存在するファイルであればUTF-8、 そうでない場合で言語設定が英語の場合には ISO-Latin-1、日本語の場合には Shift-JISとなります。
- -english
- コンパイラのメッセージを英語で出力します(デフォルト)。
- -F
- プリプロセスのみを行い、コンパイルは実行しません。 プリプロセスされた個々のファイルからは、入力ファイルの拡張子に応じて .f, .f90, .f95 の付いた同名のファイルが出力されます。 このオプションは -otype=Fortran と同等です。
- -f90_sign
- Fortran 95のSIGN組込み関数の代りにFortran 77/90版のそれを使用します (両者には負のゼロの扱いで違いがあります)。
- -f95
- 基盤となる言語がFortran 95であることを指定します。 これは拡張仕様に関するメッセージ生成にのみ影響します(Fortran 2003、Fortran 2008の機能は 拡張仕様としてレポートされます)。
- -f2003
- 基盤となる言語がFortran 2003であることを指定します これは拡張仕様に関するメッセージ生成にのみ影響します(Fortran 2008の機能は拡張仕様としてレポートされます)。
- -f2008
- 基盤となる言語がFortran 2008であることを指定します。(デフォルト)
- -fixed
- すべてのFortranソースファイルを固定形式のルールに従って解釈します。
- -float-store
- (Gnu Cベースのシステムのみ) 64ビットより大きな浮動小数レジスタを有するマシンにおいて、浮動小数変数をレジ スタ中に格納しないようにします。これによって過大な精度に伴う問題を回避するこ とができます。
- -fpp
- 拡張子が通常のFortranファイルであることを示していたとしても、fppを用い たプリプロセスを実行します。
- -framework f
- (Mac OS Xのみ) リンキングに際してフレームワークf を使用します。
- -free
- すべてのFortranソースファイルを自由形式のルールに従って解釈します。
- -g
- 対話型デバッグのための情報をホストのシステムデバッガにより生成します。
- -g90
- デバッグ用情報をdbx90(ホストシステムデバッガ用のフロントエンドでFortran 90に 対応)用に生成します。 この場合、個々のFortranソースファイルごとにデバッグ情報ファイル(.g90)が生成 されます。このオプションはコンパイルとリンキング双方に対して指定する必要があ ります。
- -gc
- 実行可能プログラムにおける自動ガベージコレクションの機能を有効にします。 このオプションはコンパイルとリンキング双方に対して指定する必要があります。 このオプションはIBM z9 OpenEdition、Mac x64版、及びWindows x64版では利用できません。 また-thread_safe と-mtrace とは整合性がありません。 詳細についてはセクション“自動ガベージコレクション ”をご参照く ださい。
- -gline
- 実行時エラーメッセージが出力された際にトレースバック情報も出力するようなコー
ドを生成します。
このオプションを用いてコンパイルされたルーチンのみがトレースバック上に表示さ
れます。このオプションを指定すると実行時モジュールのサイズと実行時間の増大を
招きます。以下に用例を示します:
Runtime Error: Invalid input for real editing Program terminated by I/O error on unit 5 (Input_Unit,Formatted,Sequential) main.f90, line 28: Error occurred in READ_DATA main.f90, line 57: Called by READ_COORDS main.f90, line 40: Called by INITIAL main.f90, line 13: Called by $main$
- -help
- 現在のモード(=compiler, =callgraph, =depend, =epolish, =interfaces, =polish or =unifyprecision)に関して、 それぞれのオプションについて1行からなるサマリを表示します。
- -hollerith_io
- A編集記述子を用いて数値変数中に格納された文字データのFortran-66互換入 出力を有効にします。この機能はFortran 77におけるCHARACTERデータ型 によって置き換えられています。
- -I pathname
- モジュール情報ファイル(.mod)とINCLUDEファイルのサーチに使用さ れるディレクトリの一覧にpathname を追加します。 現行のワーキングディレクトリが常に最初にサーチされますが、それに続いて -I オプションで指定されたすべてのディレクトリが、最後にコン パイラのライブラリディレクトリ(-Qpathをご参照下さい)がサーチされます。
- -indirect file
- file の内容をコンパイラドライバへの追加引数として読み込みます。
またこのオプションは “@file” によって与えることもできます。
(ここで ‘@’ とファイル名の間に空白はありません)
indirect fileでは、引数を複数行に分ける事ができます。 一行で行う場合には複数の引数を空白で区切る事が可能です。 " で括ることで、オプションもしくはファイル名に空白を含めることができます。 (唯一の方法) indirect fileは他のindirect fileを参照することが可能です。
- -ieee=mode
- IEEE算術操作のモードをmode に従って設定します。ただしmode は
full、nonstd、stopのいずれかでなくてはなりません。
- full
- ノンストップ演算を含むすべてのIEEE算術機能を有効にします。
- nonstd
- ノンストップ演算を無効とします。これにより浮動小数オーバフロー、0による除算、 不正オペランドに際しては実行が停止されます。 ハードウェアサポートがある場合、IEEEのgradual underflowも抑止されます。これに より非正規化数値ではなく0が生成されるようになるため、システムによっては性能が 向上します。
- stop
- ノンストップ演算を除くすべてのIEEE算術機能を有効にします。浮動小数オーバフロー、 0による除算、不正オペランドに際しては実行が停止されます。
-ieee オプションはメインプログラムユニットをコンパイルする際 に指定する必要があります。その指定は大域的な影響を持ちます。 デフォルトのモードは-ieee=stop です。 詳細についてはセクション“IEEE 754算術サポート ”をご参照ください。 このオプションは16進浮動小数点を持つIBM z9 Open Editionでは利用できません。
- -info
- 参考情報メッセージの出力を要求します。 デフォルトではこれらのメッセージ出力は抑止されます。
- -kind=option
- 使用する種別番号の系を指定します。option はbyte、sequential、uniqueの
いずれかでなくてはなりません。
-kind=byte の場合、INTEGER, REAL, LOGICAL に対する種別番号は記憶装置上のバイト数に一致します(例えばデフォルトの REALは4、DOUBLE PRECISIONは8です)。 なお、COMPLEXに対する種別番号はそのREAL成分と同一であり、要素 の全バイト長の半分である点に注意してください。
-kind=sequential の場合(デフォルト)、すべてのデータ型 に対する種別番号は精度の順に1から付けられます(例えばデフォルトのREAL は1、DOUBLE PRECISIONは2となります)。
-kind=uniqueでは種別番号が全てのデータ型を通じて一意となります。 これにより他のデータの種別番号を誤って別の型に適用してしまう事を防ぎます。 (例外としてCOMPLEX型とREAL型の種別番号は同じになります) また、種別番号はすべて100よりも大きな数値となるため、バイトサイズと混同されることもありません。
このオプションはバイト長指定子(Fortran 77に対する拡張)の解釈には影響しませ ん。
- -lx
- ライブラリlibx.aを用いてリンクを行います。 リンカーは-Ldir オプションで指定されたディレクトリに続き、 通常のシステムディレクトリ(ld(1)コマンド参照)を用いてこのライブラリをサー チします。
- -Ldir
- ライブラリファイル用のディレクトリ一覧(ld(1)コマンド参照)にdir を追 加します。
- -M
- モジュール情報ファイル(.modファイル)のみを生成します。 このオプションは -otype=mod と同等です。
- -max_internal_proc_instances=N
- 実引数として渡された、もしくは手続きポインタに代入された内部手続きの同時に活動状態となる親分身の最大数をNに設定します。 デフォルトでこの制限はシングルスレッドの場合には30となっていますが、 -openmpもしくは-thread_safeオプションのいずれかを指定した場合は160となります。
- -max_parameter_size=N
- PARAMETERの最大サイズを N MB (メガバイト)に設定します。 N は1から1048576(1MBから1TB)の範囲でなければなりません。 デフォルトは50MBです。
- -maxcontin=N
- 継続行数の上限を255からN に増やします。 ただし上限を標準値より小さな値に減らすことはできません。
- -mdir dir
- モジュール情報ファイル(.mod)を現行のワーキングディレクトリにでは なくディレクトリdir 中に出力します。
- -message_encoding=charset
- コンパイラメッセージのエンコーディングスキームをcharsetに設定します。 charsetはISO_Latin_1、Shift_JIS、UTF_8 (大文字小文字は関係ない)のいずれかでなければなりません。 -message_encoding=ISO_Latin_1オプションは-nihongo とは非互換です。 デフォルトのメッセージエンコーディングスキームはWindowsではShift_JIS、その他のシステムではUTF_8です。
- -mismatch
- 手続きの引数リストに対する一貫性チェックのレベルを下げ、不整合があって もエラーメッセージではなく警告メッセージが出力されるようにします。 この指定は現行ファイルに含まれないルーチンへのコールにのみ適用されます。コ ンパイル対象のファイルに含まれるルーチンへのコールは正しいものでなくてはな りません。 このオプションは-C=calls を無効にします。
- -mismatch_all
- 手続きの引数リストに対する一貫性チェックのレベルをさらに下げ、同一ファ イル中のルーチンへのコールに不正があった場合にもエラーメッセージではなく警 告メッセージを出力するようにします。 このオプションは-C=calls を無効にします。
- -mtrace
- メモリ割付けと解放をトレースします。このオプションは -mtrace=on と等価です。
- -mtrace=trace_opt_list
- メモリ割付けと解放をtrace_opt_list の値に従ってトレースします。
trace_opt_list は以下の項目からなるリストで、項目間の仕切りにはコンマ
を用います:
address (アドレスを表示する) all (offを除く全オプション) line (わかる範囲でファイル/行を表示する) off (トレース出力を無効にする) on (トレース出力を有効にする) paranoia (メモリアロケータのデータ構造体をユーザプログラムによる破壊から防ぐ) size (サイズをバイト単位で表示する) verbose (off とparanoia を除く全オプション) このオプションはコンパイルとリンキング双方に対して指定する必要があります。 ただし-gc オプションとは整合性がありません。 詳細についてはセクション“メモリトレーシング ”をご参照くださ い。 -mtrace=paranoia オプションはIBM z9 Open Editionでは利用できません。
- -nan
- REAL変数とCOMPLEX変数をIEEEシグナルNaNに初期化します。これに より値が未設定の状態で使用されると実行時にクラッシュが発生することになります。 これは局所変数、モジュール変数、INTENT(OUT)仮引数に対してのみ 有効であり、COMMON、EQUIVALENCE中の変数には影響を及ぼしません。 このオプションは16進浮動小数点を持つIBM z9 Open Editionでは利用できません。
- -nihongo
- コンパイラメッセージを日本語(シフトJISエンコーディングを使用)で出力します。 必要であれば-message_encoding=オプションでエンコーディングの変更も可能です。 このオプションはIBM z9 Open Editionでは利用できません。
- -no_underflow_warning
- 浮動小数点アンダーフローが実行時に発生した場合に通常出現する警告メッセージを抑止します。 このオプションはリンク時に指定された場合に有効です。
- -nocheck_modtime
- .modファイルが古いものであるかどうかのチェックを行わない ようにします。
- -nomod
- モジュール情報ファイル(.mod)の生成を抑止します。 -M と共に使用すると(警告及びエラー以外の)出力が行われません。 (-otype=noneと同等)
- -noqueue
- コンパイラに対するライセンスがすぐに利用できない場合に、待ちに入るのではなく エラー終了するようにします。
- -num_images=N
- プログラムを実行する際の像の数をNに設定します。 Nは1から1000の範囲、もしくは‘unknown’でなければなりません。 このオプションは定数共添え字の解析にのみ影響します。 Nが数値であった場合で、評価の結果がNよりも大きな像番号になった場合、エラーとなります。 デフォルトは-num_images=1です。
- -o output
- デフォルトの代りに使用する出力ファイルoutput を指名します。 実行可能モジュールが生成される場合、デフォルトの名称はa.out となります。そうでない場合、-c オプションが指定された場合にはfile.o が、-S オプションが指定された場合にはfile.cが、-F オプションが 指定された場合にはfile.f, file.f90、またはfile.f95 が使用されま す。ただしfile はソースファイルの名称基本部(拡張子を除いた部分)を意味し ます。
- -O
- 通常の最適化レベル、すなわち-O2 と等価です。
- -ON
- 最適化レベルをN にセットします。ただし最適化レベルは次のように定義されます:
- -O0
- 最適化なし(デフォルト)。デバッグ時にはこのレベルが推奨されます。
- -O1
- 最低限の最適化レベル。
- -O2
- 通常の最適化レベル。
- -O3
- さらなる最適化を実施するレベル。
- -O4
- 最大限の最適化レベル。
- -Oassumed
- -Oassumed=contig と指定したのと同義です。
- -Oassumed=shape
- 形状引継ぎ配列の仮引数をshape の値に従って最適化します。ただし
shape として指定できるのは次のいずれかです。
- always_contig
- 連続的な実引数として最適化します。実引数が連続的でなかった場合には実行時エラ ーが生じます(このオプションが指定された場合にはコンパイラは標準準拠とはなり ません)。
- contig
- 連続的な実引数として最適化します。実引数が連続的でなかった場合(すなわち部分 配列であった場合)、連続的なローカルコピーが行われます。十分に多くの配列要素 や配列操作が行われる場合(すなわちローカルコピーを行うコストが不連続な配列ア クセスに伴うオーバヘッドを下回る場合)には部分配列へのアクセスを高速化できる かも知れませんが、通常はアクセス性能の低下を招きます。 なお、このオプションはTARGET属性を持った仮引数に対しては影響しない点 に注意してください。これらは常にドープベクトルを介してアクセスされます。
- section
- 部分配列に対する(不連続な)実引数への小・中規模アクセスとして最適化します。 これがデフォルトです。
CHARACTER配列はこれらのオプションによって影響されない点にご注意くだ さい。
- -Oblock=N
- MATMUL組込み関数の評価に用いるブロックの次元を指定します。 デフォルト値(-O1 またはそれ以上の場合のみ)はシステムやデ ータ型に依存します。
- -Onopropagate
- 定数伝播の最適化を無効にします。 これは-O1 以下の場合のデフォルトです。
- -Opropagate
- 定数伝播の最適化を有効にします。 これは-O2 以上の場合のデフォルトです。
- -Orounding
- プログラムがデフォルトの丸めモードを変更しないことを指定します。 これによってANINT組込み関数に対するより高速なコードの使用が可能になり ます。
- -Ounroll=N
- 単純なループや配列操作をアンロールする深さを指定します。 -O0、-O1 の場合のデフォルトはアンロールなし (すなわち深さ1)であるのに対し、-O 以上の場合には深さ2がデ フォルトとなります。 Cコンパイラが有能な場合には、Fortranコンパイラのループアンローリングを抑止し た方が良い場合があります。それには-Ounroll=1 という指定を行 います。
- -Ounsafe
- プログラムの数値的安定性に依存するような安全性を損なう可能性のある最適化を 実行します。 IBM z9 Open Editionではこの オプションは(-O4と共に指定すると) NOSTRICTをCコンパイラへ渡します。
- -openmp
- OpenMPディレクティブを認識しOpenMPサポートライブラリとリンクするようになります。 詳細はOpenMP Support をご参照下さい。
- -otype=filetype
- filetypeで必要とされる出力ファイルの型を指定します。以下のいずれかである必要があります。
c (Cソースファイル), exe (実行形式ファイル), fortran (Fortranソースファイル), mod (モジュール情報ファイル), none (出力ファイル無し), obj (オブジェクトファイル). -c, -F, -M の各オプションは -otype=obj, -otype=Fortran, -otype=mod とそれぞれ同等です。
- -pg
- プロファイリング情報を出力するコードを生成します。この情報は実行時に実装依存 のファイル(通常はgmon.out またはmon.out )に出力されます。 実行時のプロファイルはgprof を用いて生成することもできます。 このオプションはコンパイルとリンキング双方に対して指定する必要がありますが、 実装によってはサポートされていないこともあります。
- -pic
- 共用ライブラリとしての使用を想定し、位置非依存のコード(small model)を生成 します。Small modelに対し共用ライブラリが大き過ぎる場合には -PIC を使用してください。 このオプションはIBM z9 Open Editionでは利用できません。
- -PIC
- 共用ライブラリとしての使用を想定し、位置非依存のコード(large model)を生成 します。 このオプションはIBM z9 Open Editionでは利用できません。
- -Qpath pathname
- コンパイラライブラリのパス名称をデフォルトからpathname に変更します。 (Unix上でのデフォルトは通常‘/usr/local/lib/nAG_Fortran’か ‘/opt/nAG_Fortran/lib’です。またWindows上ではインストール場所が自動的に検出されるため このオプションの指定は必要がありません。
- -r8
- デフォルトのREAL、COMPLEXのサイズを2倍にします。また4倍精度の
浮動小数演算がサポートされているマシンの場合には、DOUBLE PRECISION
(及び非標準のDOUBLE COMPLEX)のサイズも2倍にします。
ただし種別(KIND)番号、またはバイト長が明示されたREAL、
COMPLEXは影響を受けません — しかしKIND組込み関数は正しい値
を応答するため、4倍精度の浮動小数演算機構を有するマシン上での
COMPLEX(KIND(0d0))は正しく4倍長COMPLEXを選択します。
INTEGERのサイズには影響を与えないため、このモードではコンパイラは 標準準拠とは言えません。
注:このオプションはすべての数値データ型のサイズを倍加する -double オプションによって置き換えられています。
- -s
- 記号表に関する情報を実行可能ファイルから除去します。 このオプションはリンクフェーズで指定された場合にのみ有効となります。
- -S
- アセンブラ(実際にはCソースコード)を生成します。 結果として生成される.cファイルはCコンパイラで直接コンパイルするのではなく、 nAG Fortranコンパイラによって処理されなくてはなりません。 このオプションは -otype=c と同等です。
- -save
- これはRECURSIVEと宣言されていないすべてのサブプログラム中に SAVE文を挿入したのと同じ効果を持ちます。この場合、それらサブプログ ラム内におけるすべての非自動局所変数は静的にアロケートされる ことになります。
- -strict95
- ‘CHARACTER*’構文の使用に対し廃止予定事項である旨の警告メッセージ を出力するようにします。 多くのプログラム中にはこの構文が残っているため、デフォルトではこのメッセ ージは出力されません。
- -target=machine
- コード生成、最適化の対象となるマシンを指定します。
-
x86-32 (Linux、MacOSX、及びWindowsで、x86互換 32-bit モードでコンパイル)として以下のいずれかを指定可能。
i486, i586, i686, pentium2, pentium3, pentium4, prescott Intelプロセッサ k6, k6-2, k6-3, k6-4, athlon, athlon-4, athlon-xp, athlon-mp AMDプロセッサ pentium (i586 と等価) pentiumpro (i686 と等価) デフォルトはPentium4(Linux、MacOSX)及びprescott(Windows)です。
- x86-64(Linux、MacOSX、及びWindowsで、x86互換 32-bit モードでコンパイル)の場合、 machineはathlon64 もしくは noconaです。
-
Sun/SPARCの場合、machine としては次のいずれかを指定可。
- V7
- SPARCstation 1等
- V8
- SPARCstation 2等
- super
- SuperSPARC
- ultra
- UltraSPARC
- native
- 使用中のマシン
デフォルトはSPARC V7。
より新しいアーキテクチャ用にコンパイルされたプログラムは古いマシン上では動作し ないか、あるいは性能が大きく落ちる場合があります。 -target=native はgccではサポートされていません。
-
HP9000/700の場合、machine としては次のいずれかを指定可。
- 2.0
- PA-RISCアーキテクチャの指定されたリビジョン(デフォルト)
- native
- 使用中のマシン
-
x86-32 (Linux、MacOSX、及びWindowsで、x86互換 32-bit モードでコンパイル)として以下のいずれかを指定可能。
- -tempdir directory
- コンパイラの一時ファイル用ディレクトリをdirectory とします。 デフォルトとして使用されるのはTMPDIR環境変数で指定されたディレクトリ か、あるいはそれがセットされていなかった場合には/tmp(UNIX系の場合)もしくはWindows一時フォルダ(Windowsの場合)が使用されます。
- -thread_safe
- マルチスレッド環境で安全に実行できるコードを生成します。 これはコンパイルとリンクの双方のフェーズで指定する必要があります。 -gc とは整合性がありません。
- -time
- 種々のコンパイルフェーズに対する実行時間をレポートします。
- -u
- IMPLICIT文で明示的に規定されない限り、IMPLICIT NONEがデフォルト として有効になることを指定します。
- -u=sharing
- OpenMPのPARALLEL構文及びTASK構文でDEFAULT指示節が指定されていないものについてのデフォルトデータ共有属性を指定します。 またこのオプションは結合並列指示構文PARALLELDO、PARALLELSECTIONS、PARALLELWORKSHAREにも適用されます。 このオプションはDEFAULT(NONE)句と同じ効果を持ちます。(明示的にDEFAULT(...)を指定した場合を除く)
- -unsharedrts
- Fortran実行時システムの非共用(静的)バージョンとバインドします。これにより nAG Fortranコンパイラがインストールされていないシステムにおいても、動的にリン クされる実行可能モジュールを実行させることが可能になります。 このオプションはリンクフェーズで指定された場合にのみ有効となります。
- -v
- Verbose(饒舌出力)。 コンパイルされるそれぞれのファイルにつき名称をプリントします。
- -V
- コンパイラのバージョン情報をプリントします。
- -w
- すべての警告メッセージを抑止します。 -w=all という指定と同義です。
- -w=class
- class で指定された警告メッセージを抑止します。ただしclass で指定
できるのはall, alloctr, obs, ques, uda, uei,
uep, uip, ulv, unreffed, unused, uparam, usf,
usy, x77, x95のいずれかです。
- -w=all
- すべての警告メッセージを抑止します。
- -w=alloctr
- 割付け可能な要素、仮引数、関数の使用に関する警告メッセージを抑止します。
- -w=obs
- 廃止予定事項となった機能の使用に関する警告メッセージを抑止します。
- -w=ques
- 怪しい用法に関する警告メッセージを抑止します。
- -w=uda
- 未使用の仮引数に関する警告メッセージを抑止します。
- -w=uei
- 未使用の明示的インポートに関する警告メッセージを抑止します。
- -w=uep
- 未使用の外部手続きに関する警告メッセージを抑止します。
- -w=uip
- 未使用の組込み手続きに関する警告メッセージを抑止します。
- -w=ulv
- 未使用の局所変数に関する警告メッセージを抑止します。
- -w=unreffed
- 値が設定されたにも関わらず参照されていない変数に関する警告メッセージを抑止します。
- -w=unused
- 未使用の言語要素に関する警告メッセージを抑止します。 これは ‘-w=uda -w=uei -w=uep -w=uip -w=ulv -w=uparam -w=usf -w=usy’ と指定したのと等価です。
- -w=uparam
- 使用されていないPARAMETERに関する警告メッセージを抑止します。
- -w=usf
- 未使用の文関数に関する警告メッセージを抑止します。
- -w=usy
- 未使用の記号に関する警告メッセージを抑止します。
- -w=x77
- Fortran 77に対する一般的な拡張仕様(しかし廃止予定事項)に対する警告メッセージを抑止します。 該当するのはTABフォーマット、バイト長指定子、ホレリス定数、Dラインです。
- -w=x95
- 近代的なFortran(Fortran 95に限定しない)に対する拡張仕様に対する警告メッセージを抑止します。
- -Woptions
- -W オプションはコンパイラ構成要素のために使用するパスを指定する
目的で、あるいは該当要素に直接オプションを引き渡す目的で使用できます。
可能な組合せは次の通りです:
- -W0=path
- Fortranコンパイラフロントエンド用に使用するパスを指定します。 ただしこの指定はライブラリディレクトリには影響しない点に注意してください。 それを指定するには-Qpath を使用する必要があります。
- -Wc=path
- Cコンパイラを呼び出す際に使用されるパスを指定します。これはコンパイルの最終 ステージとリンキングに対して使用されます。
- -Wc,option
- コンパイル(.oファイルの生成)に際してホストのCコンパイラにoption を直 接引き渡します。 単一の-Wc, オプション中で複数のオプションを指定する場合に は、それらをカンマで区切って指定します。
- -Wl=path
- (実行可能モジュールを作成する)リンカーを呼び出す際に使用するパスを指定し ます。
- -Wl,option
- リンキング(実行可能モジュールの生成)に際してホストのCコンパイラに option を直接引き渡します。 単一の-Wl, オプション中で複数のオプションを指定する場合に は、それらをカンマで区切って指定します。 オプション中にカンマを含める場合にはそれを繰り返し入力します。例えば -Wl,-filelist=file1,,file2,,file3 と入力した場合のリンカー オプションは-filelist=file1,file2,file3 となります。
- -Wp=path
- fppプリプロセッサを呼び出す際に使用するパスを指定します。
- -Wp,option
- プリプロセシングに際してfppにoption を直接引き渡します。
- -Warn=class
- classで指定される追加の警告メッセージを生成します。以下のいずれかでなければなりません。
- allocation
- 組込み代入において、 代入される側の変数(もしくは部分成分)の割付けを発生させる可能性がある場合に警告します。
- constant_coindexing
- 像選択子が定数共添え字を持つ場合に警告します。
- reallocation
- 組込み代入において、 代入される側の割付け済変数(もしくは部分成分)の再割付けを発生させる可能性がある場合に警告します。
- subnormal
- 通常の演算対象を持つ組込み演算もしくは関数の結果が非正規化数なる場合に警告します。 (精度の減少、TINY(...)よりも小さい)
再割付けは、配列の形状、無指定型パラメタ、 もしくは動的な型(多相的の場合)が、 変数(もしくは部分成分)同士と式(もしくは対応する部分成分)同士が異なるの場合のみ行われます。 割付は、変数もしくは部分成分)が代入の実行前までに割付けられていない場合にも行われます。 (例外:ブロードキャスト代入) 従って、-Warn=allocationは-Warn=reallocationを包含します。
- -wmismatch=proc-name-list
- 引数データ形式と配列に関する一貫性チェックを抑止する外部手続きの一覧を指定しま す。 手続き名はカンマで区切る必要があります。例:-wmismatch=p_one,p2。 -mismatch オプションと異なり、これはデータ形式と配列のチェック にのみ影響し、警告メッセージは出力されません。
- -xlicinfo
- コンパイルを実行するのではなく、コンパイラに対するライセンスが利用可能かどうか をレポートします。また利用されているKUSARIライセンス管理システムのバージョンもレポートします。
- -xs
- (Sun/SPARCオプションのみ) 記号表を実行可能モジュール中に格納します(そうでない場合にはオブジェクトファイ ルが保持されているときにのみデバッギングが可能になります)。