インテル® C++ コンパイラー XE 13.1 ユーザー・リファレンス・ガイド
診断情報の表示を制御します。
Windows*: [Diagnostics (診断)] > [Disable Specific Diagnostics (特定の診断を無効にする)] (/Qdiag-disable:id)
[Diagnostics (診断)] > [Level of Static Analysis (スタティック解析のレベル)] (/Qdiag-enable:sc{1|2|3})
[Diagnostics (診断)] > [Mode of Static Analysis (スタティック解析のモード)] (/Qdiag-enable:sc-{full|concise|precise})
Linux*: [Compilation Diagnostics (コンパイル診断)] > [Disable Specific Diagnostics (特定の診断を無効にする)] (-diag-disable id)
[Compilation Diagnostics (コンパイル診断)] > [Level of Static Analysis (スタティック解析のレベル)] (-diag-enable sc{1|2|3} または -diag-disable sv)
[Diagnostics (診断)] > [Mode of Static Analysis (スタティック解析のモード)] (-diag-enable sc-{full|concise|precise})
OS X*: [Diagnostics (診断)] > [Disable Specific Diagnostics (特定の診断を無効にする)] (-diag-disable id)
このオプションは、診断情報の表示を制御します。-diag-file (Linux* および OS X*) または /Qdiag-file (Windows*) コンパイラー・オプションが指定されている場合を除き、診断メッセージは stderr に出力されます。
スタティック解析で、diag-list の値を "warn" (警告) に設定すると、次の動作が行われます。
-diag-enable warn (Linux*) および /Qdiag-enable:warn (Windows*) オプションは、重要度が "error" (エラー) のものを除く、すべての診断を有効にします。 すべてのスタティック解析の警告、注意、リマークが有効になります。
-diag-disable warn (Linux*) および /Qdiag-disable:warn (Windows*) オプションは、重要度が "error" (エラー) のものを除く、すべてのスタティック解析の診断を無効にします。 すべてのスタティック解析の警告、注意、リマークが有効になります。
次の表に、diag-list の sc および sc-mode で指定可能な値の詳細を示します。これらの値は、OS X* システムでは利用できません。
diag-list の項目 |
説明 |
|
---|---|---|
sc[n] |
スタティック解析のメッセージの n では、次の値を指定できます。 |
|
1 |
重要度が "critical" (クリティカル) の診断のみをレポートします。重要度が "error" (エラー) または "warning" (警告) の診断はレポートされません。 | |
2 |
重要度が "critical" (クリティカル) および "error" (エラー) の診断をすべてレポートします。重要度が "warning" (警告) の診断はレポートされません。これはデフォルトです。 | |
3 |
重要度に関係なくすべての診断をレポートします。 | |
sc-mode |
スタティック解析のメッセージの mode では、次の値を指定できます。 |
|
full |
プログラムのすべての脆弱性を検出し、誤検出の可能性が高くなります。このモードは、セキュリティーを確保する場合に推奨します。 -diag-enable sc{[1|2|3]} (Linux* および OS X*) または/Qdiag-enable:sc{[1|2|3]} (Windows*) が指定されている場合のデフォルトです。 そうでない場合のデフォルトはなし (スタティック解析診断は無効) です。 |
|
concise |
より多くの検出漏れを許容することで誤検出を減らします。 このモードは、一般的なエラーを検出する場合に推奨します。 |
|
precise |
誤検出を最小限に抑えますが、検出漏れの可能性が高まります。このモードは、承認テストを行う場合に推奨します。 |
スタティック解析を無効にするには、/Qdiag-disable:sc (Windows*) または -diag-disable sc (Linux*) を指定します。
ベクトライザーによって通知される診断情報を制御するには、-vec-report (Linux* および OS X*) または /Qvec-report (Windows*) オプションを使用します。
自動パラレライザーによって通知される診断情報を制御するには、-par-report (Linux* および OS X*) または /Qpar-report (Windows*) オプションを使用します。
enable vec |
Linux* および OS X*: -vec-report Windows*: /Qvec-report |
disable vec |
Linux* および OS X*: -vec-report0 Windows*: /Qvec-report0 |
enable par |
Linux* および OS X*: -par-report Windows*: /Qpar-report |
disable par |
Linux* および OS X*: -par-report0 Windows*: /Qpar-report0 |
次の例は、診断 ID 117、230、および 450 を有効にします。
-diag-enable 117,230,450 ! Linux* および OS X* システム
/Qdiag-enable:117,230,450 ! Windows* システム
次の例は、ベクトライザー診断メッセージを警告に変更します。
-diag-enable vec -diag-warning vec ! Linux* および OS X* システム
/Qdiag-enable:vec /Qdiag-warning:vec ! Windows* システム
警告に変更する前に、ベクトライザー診断を有効にする必要があります。
次の例は、すべての自動パラレライザー診断メッセージを無効にします。
-diag-disable par ! Linux* および OS X* システム
/Qdiag-disable:par ! Windows* システム
次の例は、すべての警告とリマークをエラーに変更します。
-diag-error warn,remark ! Linux* および OS X* システム
/Qdiag-error:warn,remark ! Windows* システム
次の例は、すべてのクリティカル・エラーに対してスタティック解析の診断メッセージを出力します。
-diag-enable sc1 ! Linux* システム
/Qdiag-enable:sc1 ! Windows* システム
次の例は、スタティックの診断 (およびデフォルトの診断) をファイルに出力します。
-diag-enable sc -diag-file=stat_ver_msg ! Linux* システム
/Qdiag-enable:sc /Qdiag-file:stat_ver_msg ! Windows* システム
ファイルに出力する前に、スタティック解析の診断を有効にする必要があります。 この場合、診断は stat_ver_msg.diag ファイルに出力されます。ファイル名が指定されていない場合は、診断結果は name-of-the-first-source-file.diag に送られます。