diag、Qdiag

 

診断情報の表示を制御します。

IDE オプション

Windows: [Diagnostics (診断)] > [Disable Specific Diagnostics (特定の診断を無効にする)] (/Qdiag-disable:id)

[Diagnostics (診断)] > [Level of Source Code Analysis (ソースコードの解析レベル)] (/Qdiag-enable[:sc1,sc2,sc3])

Linux: [Compilation Diagnostics (コンパイル診断)] > [Disable Specific Diagnostics (特定の診断を無効にする)] (-diag-disable id)

[Compilation Diagnostics (コンパイル診断)] > [Level of Source Code Analysis (ソースコードの解析レベル)] (-diag-enable [sc1,sc2,sc3] または -diag-disable sv)

Mac OS X: [Diagnostics (診断)] > [Disable Specific Diagnostics (特定の診断を無効にする)] (-diag-disable id)

[Diagnostics (診断)] > [Level of Source Code Analysis (ソースコードの解析レベル)] (-diag-enable [sc1,sc2,sc3])

アーキテクチャー

IA-32、インテル® 64、IA-64 アーキテクチャー

構文

Linux および Mac OS X:

-diag-type diag-list

Windows:

/Qdiag-type:diag-list

引数

type

診断に対して行う処理です。設定可能な値は以下のとおりです。

enable

診断メッセージまたはメッセージのグループを有効にします。

disable

診断メッセージまたはメッセージのグループを無効にします。

error

診断をエラーに変更するようコンパイラーに指示します。

warning

診断を警告に変更するようコンパイラーに指示します。

remark

診断をリマーク (コメント) に変更するようコンパイラーに指示します。

diag-list

診断グループまたは ID の値です。設定可能な値は以下のとおりです。

driver

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

port-linux

Linux に移植するときにエラーになる可能性のある言語機能に対する診断メッセージを指定します。この診断グループは、Windows システムでのみ利用できます。

port-win

Windows に移植するときにエラーになる可能性のある GNU 拡張機能に対する診断メッセージを指定します。この診断グループは、Linux および Mac OS X システムでのみ利用できます。

thread

プログラムのスレッド化に役立つ診断メッセージを指定します。

vec

ベクトライザーによって発行される診断メッセージを指定します。

par

自動パラレライザー (並列最適化機構) によって発行される診断メッセージを指定します。

openmp

OpenMP 並列化によって発行される診断メッセージを指定します。

sc[n]

ソースチェッカーよって発行される診断メッセージを指定します。n は 1、2、3 のいずれかです。これらの値についての詳細は、下記を参照してください。これは、古い値 sv[n] に相当します。

warn

重要度が "warning" (警告) の診断メッセージを指定します。

error

重要度が "error" (エラー) の診断メッセージを指定します。

remark

リマークまたはコメントの診断メッセージを指定します。

cpu-dispatch

診断メッセージの CPU ディスパッチ・リマークを指定します。デフォルトでは、これらのリマークは有効です。この診断グループは、IA-32 およびインテル® 64 アーキテクチャーでのみ利用できます。

id[,id,...]

1 つまたは複数のメッセージの ID を指定します。複数のメッセージ ID を指定する場合は、各メッセージ ID をカンマで区切る必要があります。各 id の間にはスペースを入れないでください。

tag[,tag,...]

1 つまたは複数のメッセージの簡略名を指定します。複数の簡略名を指定する場合は、各簡略名をカンマで区切る必要があります。各 tag の間にはスペースを入れないでください。

デフォルト

オフ

デフォルトでは、コンパイラーは特定の診断メッセージを発行します。

説明

このオプションは、診断情報の表示を制御します。-diag-file (Linux および Mac OS X) または /Qdiag-file (Windows) コンパイラー・オプションが指定されている場合を除き、診断メッセージは stderr に出力されます。

ソースチェッカー (sc) 診断で、diag-list の値を "warn" (警告) に設定すると、次の動作が行われます。

次の表に、diag-list の sc で指定可能な値の詳細を示します。

diag-list の項目

説明

sc[n]

ソースチェッカーのメッセージの n では、次の値を指定できます。

 

1

すべてのクリティカル・エラーの診断を出力します。
 

2

すべてのエラーの診断を出力します。n が指定されない場合のデフォルトの値です。
 

3

すべてのエラーと警告の診断を出力します。

ベクトライザーによって通知される診断情報を制御するには、-vec-report (Linux および Mac OS X) または /Qvec-report (Windows) オプションを使用します。

自動パラレライザーによって通知される診断情報を制御するには、-par-report (Linux および Mac OS X) または /Qpar-report (Windows) オプションを使用します。

代替オプション

enable vec

Linux および Mac OS X: -vec-report
Windows: /Qvec-report

disable vec

Linux および Mac OS X: -vec-report0
Windows: /Qvec-report0

enable par

Linux および Mac OS X: -par-report
Windows: /Qpar-report

disable par

Linux および Mac OS X: -par-report0
Windows: /Qpar-report0

次の例は、診断 ID 117、230、および 450 を有効にします。

-diag-enable 117,230,450     ! Linux および Mac OS X システム

/Qdiag-enable:117,230,450    ! Windows システム

次の例は、ベクトライザー診断メッセージを警告に変更します。

-diag-enable vec -diag-warning vec      ! Linux および Mac OS X システム

/Qdiag-enable:vec /Qdiag-warning:vec    ! Windows システム

警告に変更する前に、ベクトライザー診断を有効にする必要があります。

次の例は、すべての自動パラレライザー診断メッセージを無効にします。

-diag-disable par     ! Linux および Mac OS X システム

/Qdiag-disable:par    ! Windows システム

次の例は、すべてのクリティカル・エラーに対してソースチェッカー診断メッセージを出力します。

-diag-enable sc1 ! Linux および Mac OS X システム

/Qdiag-enable:sc1 ! Windows システム

次の例は、ソースチェッカー診断 (およびデフォルトの診断) をファイルに出力します。

-diag-enable sc -diag-file=stat_ver_msg ! Linux および Mac OS X システム

/Qdiag-enable:sc /Qdiag-file:stat_ver_msg ! Windows システム

ファイルに出力する前に、ソースチェッカー診断を有効にする必要があります。 この場合、診断は stat_ver_msg.diag ファイルに出力されます。ファイル名が指定されていない場合は、診断結果は name-of-the-first-source-file.diag に送られます。

次の例は、すべての警告とリマークをエラーに変更します。

-diag-error warn,remark    ! Linux および Mac OS X システム

/Qdiag-error:warn,remark   ! Windows システム

関連情報