構文:
/stand[:keyword],/nostand,または /4Ns
/stand または /4Ns オプションは,コンパイル時に識別可能な Fortran 90 または Fortran 95 標準にない言語要素を発見すると,コンパイル時メッセージを発行します。
ビジュアル開発環境では,「Fortran」タブの「Compilation Diagnostics」カテゴリの「Fortran Standards Checking」を指定します。
次に /stand のオプションを示します。
Fortran 90 標準の拡張について,警告レベルの重大度 (オブジェクト・ファイルの作成は行われます) の診断メッセージを生成するように指定します。
Fortran 95 標準の拡張について,警告レベルの重大度 (オブジェクト・ファイルの作成は行われます) の診断メッセージを生成するように指定します。
Fortran 90 または Fortran 95 標準にない言語要素について,メッセージを発行しないように指定します。
/stand,/stand:keyword,/warn:stderrors,または /4Ys オプションを省略した場合も,同じ効果があります。
/warn:stderrors を指定すると,(警告の代わりに) エラー・レベルの重大度診断メッセージを生成するように要求することができます。この場合,オブジェクト・ファイルは作成されません。
/stand を指定すると,次のものについて警告メッセージが生成されます。
Fortran 標準によって指定された廃止および廃止予定事項
構文拡張には,非標準文と非標準言語構成要素が含まれます。
解釈拡張が行われているかどうかを判断するときには,データ型情報と文の位置が考慮に入れられます。
固定形式ソース・ファイルでタブ形式を使用している行
Fortran 90 言語標準に準拠していないソース文は,次の場合にコンパイラによって検出されます。
文が通常の構文上および解釈上のエラーを含んでいる。
標準に準拠しない文を含んでいるソース・プログラムが,/stand または /check オプションでコンパイルされた。
これらの場合,コンパイラは準拠していない使われ方のほとんどの場合を検出することができます。ただし,/stand オプションは,コンパイル時のすべての準拠していない使われ方の検証を行うわけではないので,すべての場合が検出されるわけではありません。一般に,準拠していない使われ方が検証されないのは,次のような状況です。
標準に対する違反がコンパイル時に検証できない条件から生じている場合
コンパイル時の検証が誤った警報を発しやすいような状況
ほとんどの検証されないケースは,呼び出し側の副プログラムと呼び出される側の副プログラム間のインタフェースで起こります。ただし,1 つの副プログラム中であっても,検証されない場合が存在します。
次に,検証されないことがわかっている場合を示します。
データ項目を定義する前に使用している。
SAVE 文を使って,データ項目または共通ブロックが,再び呼び出されたときにその値を保つようにしている。
文字代入文の右辺と左辺の文字データ項目が結合されている。
暗黙的インタフェースを持つ副プログラムへの実引数渡しにおける順序,数,または型の不一致。
1 つまたは複数の引数に新しい値を代入する副プログラムを呼び出すときに,共通ブロック中のデータ項目に,1 つまたは複数の実引数が結合されている。