インテル® Fortran コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

warn

コンパイラーによって発行される診断メッセージを指定します。

構文

Linux* および macOS*:

-warn [keyword[, keyword...]]

-nowarn

Windows*:

/warn[:keyword[, keyword...]]

/nowarn

引数

keyword

発行される診断メッセージを指定します。設定可能な値は以下のとおりです。

none

すべての警告メッセージを無効にします。

[no]alignments

自然にアライメントされていないデータについて警告メッセージを発行するかどうかを指定します。

[no]declarations

未宣言の名前について警告メッセージを発行するかどうかを指定します。

[no]errors

警告をエラーに変更するかどうかを指定します。

[no]general

コンパイラーによって警告メッセージおよび情報メッセージを発行するかどうかを指定します。

[no]ignore_loc

%LOC が引数から削除されたときに警告を発行するかどうかを指定します。

[no]interfaces

インターフェイス・ブロックの外部セットのコンパイル中に、呼び出されるすべての SUBROUTINE および FUNCTION のインターフェイスをコンパイラーが確認するかどうかを指定します。

[no]stderrors

Fortran 標準に違反する警告をエラーに変更するかどうかを指定します。

[no]truncated_source

ソースが固定形式ソースファイルの最大のカラム幅を超えた場合、警告を発行するかどうかを指定します。

[no]uncalled

一度も呼び出されない文関数について警告を発行するかどうかを指定します。

[no]unused

宣言はされているが、一度も使用されていない変数について警告を発行するかどうかを指定します。

[no]usage

問題のありそうなプログラミングに対する警告を発行するかどうかを指定します。

all

エラーと stderrors を除くすべての警告メッセージを有効にします。

デフォルト

alignments

自然にアライメントされていないデータについて警告メッセージが発行されます。

general

すべての情報レベル診断メッセージおよび警告レベル診断メッセージを有効にします。

nodeclarations

未宣言の名前について警告は発行されません。

noerrors

警告メッセージはエラーメッセージに変更されません。

noignore_loc

%LOC が引数から削除されたときに警告は発行されません。

nointerfaces

コンパイラーは、インターフェイス・ブロックの外部セットのコンパイル中に、呼び出されるすべての SUBROUTINE および FUNCTION のインターフェイスを確認しません。

nostderrors

Fortran 標準に違反する警告メッセージはエラーメッセージに変更されません。

notruncated_source

ソースが固定形式ソースファイルの最大のカラム幅を超えた場合、警告は発行されません。

nouncalled

呼び出されない文関数について警告は発行されません。

nounused

宣言はされているが、一度も使用されていない変数について警告は発行されません。

usage

問題のありそうなプログラミングに対する警告が発行されます。

説明

このオプションは、コンパイラーによって発行される診断メッセージを指定します。

オプション

説明

warn none

すべての警告メッセージを無効にします。これは nowarn と同じです。

warn noalignments

自然にアライメントされていないデータについて警告を無効にします。

warn declarations

未宣言の名前について警告を有効にします。コンパイラーは未宣言の名前に対してデフォルトの暗黙的なデータ型指定規則を使用します。IMPLICIT 文と IMPLICIT NONE 文はこのオプションよりも優先されます。

warn errors

すべての警告メッセージ (Fortran 標準に違反する警告も含む) をエラーメッセージに変更するようにコンパイラーに指示します。

warn nogeneral

すべての情報レベル診断メッセージおよび警告レベル診断メッセージを無効にします。

warn ignore_loc

%LOC が実引数から削除されたときに警告を有効にします。

warn interfaces

コンパイルされるソースとは別に格納されたインターフェイス・ブロックの外部セットのコンパイル中に、呼び出されるすべての SUBROUTINE および FUNCTION のインターフェイスをコンパイラーが確認するかどうかを指定します。

ルーチンを呼び出すのに使用されるインターフェイスが、a .mod ファイルに定義されているインターフェイスと異なる場合 (つまり、gen-interfaces オプションによって生成された a.mod 内のインターフェイスとソースファイル内で使用している a.mod ファイルが一致しない場合)、コンパイラーはコンパイル時メッセージを発行します。コンパイラーは、現在のディレクトリーまたは include (-I) オプションあるいは -module オプションによって指定されたディレクトリーから .mods を検索します。インターフェイスが合致しない場合、コンパイル時エラーが発生したり、または警告のみしか生成されません。

デフォルトでは、warn interfaces により gen-interfaces オプションが有効になります。/gen-interfaces- (Windows*) または -no-gen-interfaces (Linux* および macOS*) を明示的に指定することで、このオプションをオフにできます。

warn stderrors

すべての Fortran 標準に違反する警告をエラーに変更するようにコンパイラーに指示します。このオプションは、stand オプションを設定します。

warn truncated_source

ソース行が固定形式ソースファイルの最大のカラム幅を超える場合、警告を有効にします。固定形式ファイルのカラム幅の最大値は 72、80、または 132 で、extend-source オプションを設定するかしないかにより異なります。warn:truncated_source オプションは、切り捨てには影響ありません。最大カラム幅を超える行は常に切り捨てられます。このオプションは、自由形式のソースファイルには適用されません。

warn uncalled

一度も呼び出されない文関数について警告を有効にします。

warn unused

宣言はされているが、一度も使用されていない変数について警告を有効にします。

warn nousage

問題のありそうなプログラミングに対する警告を無効にします。問題のありそうなプログラミングは、許容されるにせよ、プログラミング・エラーの結果であることがよくあります。例えば、継続文字、または最初の部分が文フィールドが終わる前に末尾の空白で終わっているような Hollerith リテラルです。/pad-source オプションは、このエラーを抑制することができます。

warn all

これは warn と同じです。このオプションは、warn errors または warn stderrors を設定しません。すべての追加検証を実行し、診断メッセージの重要度をオブジェクト・ファイルの生成を妨げるレベルに上げるには、warn allwarn errors または warn allwarn stderrors を指定します。

Windows* システムの場合: プロパティー・ページにおいてカスタムとは、診断が個別に指定されることを意味します。

IDE オプション

Visual Studio*: [General (全般)] > [Compile Time Diagnostics (コンパイラーの診断)] (/warn:all、/warn:none)

[Diagnostics (診断)] > [Treat Warnings As Errors (警告をエラーとして扱う)] (/warn:[no]errors)

[Diagnostics (診断)] > [Treat Fortran Standard Warnings as Errors (Fortran 標準警告をエラーとして扱う)] (/warn:[no]stderrors)

[Diagnostics (診断)] > [Language Usage Warnings (言語使用方法の警告)] > [Compile Time Diagnostics (コンパイラーの診断)] (/warn:all, /warn:none)

[Diagnostics (診断)] > [Warn for Undeclared Symbols (未宣言のシンボルに対する警告)] (/warn:[no]declarations)

[Diagnostics (診断)] > [Warn for Unused Variables (未使用の変数に対する警告)] (/warn:[no]unused)

[Diagnostics (診断)] > [Warn When Removing %LOC (%LOC が引数から削除されたときの警告)] (/warn:[no]ignore_loc)

[Diagnostics (診断)] > [Warn When Truncating Source Line (最大カラム幅を超えるソース行に対する警告)] (/warn:[no]truncated_source)

[Diagnostics (診断)] > [Warn for Unaligned Data (アライメントされていないデータに対する警告)] (/warn:[no]alignments)

[Diagnostics (診断)] > [Warn for Uncalled Statement Function (呼び出されない文関数に対する警告)] (/warn:[no]uncalled)

[Diagnostics (診断)] > [Suppress Usage Messages (使用方法に関するメッセージを非表示)] (/warn:[no]usage)

[Diagnostics (診断)] > [Check Routine Interfaces (ルーチン・インターフェイスのチェック)] (/warn:[no]interfaces)

Eclipse*: なし

Xcode*: [General (全般)] > [Compile Time Diagnostics (コンパイラーの診断)] (-warn all、-warn none)

[Diagnostics (診断)] > [Warn For Unaligned Data (アライメントされていないデータに対する警告)] (-warn:[no]alignments)

[Diagnostics (診断)] > [Warn For Undeclared Symbols (未宣言のシンボルに対する警告)] (-warn [no]declarations)

[Diagnostics (診断)] > [Treat warnings as errors (警告をエラーとして扱う)] (-warn error)

[Diagnostics (診断)] > [Warn When Removing %LOC (%LOC が引数から削除されたときの警告)] (-warn [no]ignore_loc)

[Diagnostics (診断)] > [Check Routine Interfaces (ルーチン・インターフェイスのチェック)] (-warn [no]interfaces)

[Diagnostics (診断)] > [Treat Fortran Standard Warnings As Errors (Fortran 標準警告をエラーとして扱う)] (-warn [no]stderrors)

[Diagnostics (診断)] > [Warn When Truncating Source Line (最大カラム幅を超えるソース行に対する警告)] (-warn [no]truncated_source)

[Diagnostics (診断)] > [Warn For Uncalled Routine (呼び出されないルーチンに対する警告)] (-warn [no]uncalled)

[Diagnostics (診断)] > [Warn For Unused Variables (未使用の変数に対する警告)] (-warn [no]unused)

[Diagnostics (診断)] > [Suppress Usage Messages (ユーザーメッセージの非表示)] (-warn [no]usage)

代替オプション

warn none

Linux* および macOS*: -nowarn-w-W0-warn nogeneral

Windows*: /nowarn/w/W0/warn:nogeneral

warn declarations

Linux* および macOS*: -implicitnone-u

Windows*: /4Yd

warn nodeclarations

Linux* および macOS*: なし

Windows*: /4Nd

warn general

Linux* および macOS*: -W1

Windows*: /W1

warn nogeneral

Linux* および macOS*: -W0-w-nowarn-warn none

Windows*: /W0、/w、/nowarn、/warn:none

warn stderrors

Linux* および macOS*: -e90-e95-e03

Windows*: なし

warn all

Linux* および macOS*: -warn

Windows*: /warn (これは古いオプションです)