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

diag、Qdiag

コンパイル時の診断情報の表示を制御します。

構文

Linux* および OS X*:

-diag-type=diag-list

Windows®:

/Qdiag-type:diag-list

引数

type

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

enable

診断メッセージまたはメッセージのグループを有効にします。 -diag-enable=all (Linux* および OS X*) または /Qdiag-enable:all (Windows®) を指定すると、diag-list のすべての診断メッセージが有効になります。

disable

診断メッセージまたはメッセージのグループを無効にします。 -diag-disable=all (Linux* および OS X*) または /Qdiag-disable:all (Windows®) を指定すると、diag-list のすべてのメッセージが無効になります。

error

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

warning

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

remark

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

diag-list

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

driver

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

port-linux

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

port-win

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

thread

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

vec

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

par

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

openmp

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

warn

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

error

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

remark

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

cpu-dispatch

診断メッセージの CPU ディスパッチ・リマークを指定します。 デフォルトでは、これらのリマークは有効です。

id[,id,...]

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

tag[,tag,...]

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

生成された診断メッセージは、[Q]x/arch (Windows®) または -m (Linux* および OS X*) などの一部のオプションによる影響を受けます。

デフォルト

オフ

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

説明

このオプションは、コンパイル時の診断情報の表示を制御します。 [Q]diag-file オプションが指定されている場合を除き、診断メッセージは stderr に出力されます。

ベクトル化によって通知される診断情報を制御するには、[q または Q]opt-report[q または Q]opt-report-phase:vec を指定します。

自動並列化によって通知される診断情報を制御するには、[q または Q]opt-report[q または Q]opt-report-phase:par を指定します。

IDE オプション

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

[Advanced (詳細)] > [Disable Specific Warnings (指定の警告を無効にする)] (/Qdiag-disable)

Eclipse*: [Compilation Diagnostics (コンパイル診断)] > [Disable Specific Diagnostics (特定の診断を無効にする)]

Xcode*: [Diagnostics (診断)] > [Disable Specific Diagnostics (特定の診断を無効にする)]

代替オプション

enable vec

Linux* および OS X*: -qopt-report; -qopt-report -qopt-report-phase=vec

Windows®: /Qopt-report; /Qopt-report /Qopt-report-phase:vec

disable vec

Linux* および OS X*: -qopt-report=0 -qopt-report-phase=vec

Windows®: /Qopt-report:0 /Qopt-report-phase:vec

enable par

Linux* および OS X*: -qopt-report; -qopt-report -qopt-report-phase=par

Windows®: /Qopt-report; /Qopt-report /Qopt-report-phase:par

disable par

Linux* および OS X*: -qopt-report=0 -qopt-report-phase=par

Windows®: /Qopt-report:0 /Qopt-report-phase:par

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

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

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

次の例は、すべての自動並列化診断メッセージを無効にします。

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

次の例は、ベクトル化診断メッセージのみを出力します。

関連情報