インテル® C++ コンパイラー XE 13.1 ユーザー・リファレンス・ガイド
ここでは、コンパイラーのリマーク、警告、およびエラーについて説明します。インテル® C++ コンパイラーは、これらのメッセージとともに、エラーを含むソース行も標準出力に出力します。
リマークとは、C/C++ で一般的によく使用されるが実際には規約に違反している恐れのある用法を報告するメッセージです。リマークメッセージが表示されても、変換もリンクも停止されません。また、リマークメッセージが表示されても出力ファイルは影響を受けません。次に、リマークメッセージの代表例をいくつか示します。
関数が暗黙的に宣言されました。
型修飾子はこの宣言では無意味です。
制御式は定数です。
警告とは、C/C++ の規約には沿っているが、プログラミング言語の用法として問題のある部分を報告するメッセージです。デフォルトでは、コンパイラーは警告を表示します。適切なオプションを指定して、警告メッセージを抑止できます。警告メッセージが表示されても、変換もリンクも停止されません。また、警告メッセージが表示されても出力ファイルは影響を受けません。次に、警告メッセージの代表例をいくつか示します。
宣言で何も宣言されていません。
符号なし整数とゼロの比較は無意味です。
"==" を使用すべきところで "=" が使用されました。
追加の警告
次のオプションは、追加の警告を表示します。
オプション |
結果 |
---|---|
-W[no-]missing-prototypes |
プロトタイプの省略の警告 |
-W[no-]missing-declarations | 宣言の省略の警告 |
-W[no-]unused-variable | 未使用の変数の警告 |
-W[no-]pointer-arith |
疑わしいポインター計算の警告 |
-W[no-]uninitialized |
初期化する前に変数を使用している場合の警告 |
-W[no-]deprecated |
推奨されていない機能に関する警告 |
-W[no-]abi |
生成されたコードが C++ ABI 規格に準拠していない場合の警告 |
-W[no-]unused-function |
宣言された関数が使用されていない場合の警告 |
-W[no-]unknown-pragmas |
#pragma 宣言子が使用された場合の警告 |
-W[no-]main |
メインの戻り型が予想と一致しない場合の警告 |
-W[no-]comment[s] |
/* */ コメントの中央に /* がある場合の警告 |
-W[no-]return-type |
関数でデフォルトの int 戻り型が使用されている場合に警告します。 |
C/C++ の用法が構文的または意味的に間違っていることを報告するメッセージです。該当する条件に当たればエラーメッセージは必ず表示されます。エラーメッセージが表示されると、そのエラーを含むモジュールのオブジェクト・コードが止まり、リンクの処理も止まりますが、他にエラーがないかどうかを調べる処理はそのまま続けられます。次に、エラーメッセージの代表例をいくつか示します。
括弧が閉じられていません。
式に算術型が含まれていなければなりません。
";" を指定してください。
e:117,230,450 (Windows*)
-diag-disable 117,230,450 (Linux* および OS X*)
リマーク、警告、およびエラーを制御するには、次のコンパイラー・オプションを使用します。
-diag コンパイラー・オプションを使用して、診断情報の表示を制御することもできます。 このコンパイラー・オプションは、複数の引数や値を受け付けるため、表示される診断メッセージおよびレポートを幅広く制御することができます。
最も一般的なものは以下のとおりです。
オプション |
結果 |
---|---|
:list-diag-enable list |
診断メッセージまたはメッセージのグループを有効にします。 |
:list-diag-disable list |
診断メッセージまたはメッセージのグループを無効にします。 |
:list-diag-warning list |
診断を警告に変更するようにコンパイラーに指示します。 |
:list-diag-error list |
診断をエラーに変更するようにコンパイラーに指示します。 |
:list-diag-remark list |
診断をリマーク (コメント) に変更するようにコンパイラーに指示します。 |
list は、特定の診断 ID、warn、remark、errorのいずれかのキーワード、または特定のグループを指定するキーワード (par、vec、sc、driver、thread、、port-win、sc、openmp) です。 詳細は、「-diag」を参照してください。
その他の診断関連オプションには以下があります。