diag、Qdiag

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

IDE オプション

Windows:
[Diagnostics (診断)] > [Disable Specific Diagnostics (特定の診断を無効にする)] (/Qdiag-disable id)
[Diagnostics (診断)] > [Level of Static Analysis (スタティック解析のレベル)] (/Qdiag-enable [sv1, sv2, sv3])

Linux:

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

Mac OS:

[Diagnostics (診断)] > [Disable Specific Diagnostics (特定の診断を無効にする)] (-diag-disable id)
[Diagnostics (診断)] > [Level of Static Analysis (スタティック解析のレベル)] (-diag-enable [sv1, sv2, sv3])

アーキテクチャー

IA-32 アーキテクチャー、インテル(R) 64 アーキテクチャー、IA-64 アーキテクチャー

構文

Linux* および Mac OS*: -diag-type diag-list
Windows*:  /Qdiag-type:diag-list

引数

type 診断に対して行う処理です。設定可能な値は以下のとおりです。
  enable 診断メッセージまたはメッセージのグループを有効にします。
  disable 診断メッセージまたはメッセージのグループを無効にします。
  error 診断をエラーに変更するようコンパイラーに指示します。
  warning 診断を警告に変更するようコンパイラーに指示します。
  remark 診断をリマーク (コメント) に変更するようコンパイラーに指示します。
diag-list 診断グループまたは ID の値です。設定可能な値は以下のとおりです。
  driver コンパイラー・ドライバーによって発行される診断メッセージを指定します。
  vec ベクトライザーによって発行される診断メッセージを指定します。
  par 自動パラレライザー (並列最適化機構) によって発行される診断メッセージを指定します。
  sv[n] スタティックの検証によって発行される診断メッセージを指定します。n は 1、2、3 のいずれかです。これらの値についての詳細は、下記を参照してください。
  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) または /Qdiag-file (Windows) コンパイラー・オプションが指定されている場合を除き、診断メッセージは stderr に出力されます。

スタティックの検証 (sv) 診断で、diag-list の値を "warn" (警告) に設定すると、次の動作が行われます。

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

diag-list の項目 説明
sv[n] スタティックの検証メッセージの n では、次の値を指定できます。
  1 すべてのクリティカル・エラーの診断を出力します。
  2 すべてのエラーの診断を出力します。n が指定されない場合のデフォルトの値です。
  3 すべてのエラーと警告の診断を出力します。

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

代替オプション

enable vec Linux および Mac OS: -vec-report
Windows: /Qvec-report
disable vec Linux および Mac OS: -vec-report0
Windows: /Qvec-report0
enable par Linux および Mac OS: -par-report
Windows: /Qpar-report
disable par Linux および Mac OS: -par-report0
Windows: /Qpar-report0

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

-diag-enable 117,230,450     !Linux および Mac OS システム
/Qdiag-enable:117,230,450    !Windows システム
 

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

-diag-enable vec -diag-warning vec      !Linux および Mac OS システム
/Qdiag-enable:vec /Qdiag-warning:vec    !Windows システム
 

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

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

-diag-disable par     !Linux および Mac OS システム
/Qdiag-disable:par    !Windows システム
 

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

-diag-enable sv1      !Linux および Mac OS システム
/Qdiag-enable:sv1     !Windows システム
 

次の例は、スタティックの検証診断 (およびデフォルトの診断) をファイルに出力します。

-diag-enable sv -diag-file=stat_ver_msg     !Linux および Mac OS システム
/Qdiag-enable:sv /Qdiag-file:stat_ver_msg   !Windows システム
 

ファイルに出力する前に、スタティックの検証診断を有効にする必要があります。この場合、診断は stat_ver_msg.diag ファイルに出力されます。ファイル名が指定されない場合、診断は name-of-the-first-source-file.diag に出力されます。

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

-diag-error warn,remark    !Linux および Mac OS システム
/Qdiag-error:warn,remark   !Windows システム
 

関連情報

diag-dump、Qdiag-dump コンパイラー・オプション

diag-id-numbers、Qdiag-id-numbers コンパイラー・オプション

diag-enable sv-include、Qdiag-enable:sv-include コンパイラー・オプション

diag-file、Qdiag-file コンパイラー・オプション

par-report、Qpar-report コンパイラー・オプション

vec-report、Qvec-report コンパイラー・オプション