指定した警告メッセージが生成された場合に、重大なエラーを出力して C コンパイラを終了する場合は、-errwarn オプションを使用します。
t には、次の 1 つまたは複数の項目をコンマで区切って指定します。<タグ>、no%<タグ>、 %all、%none。このとき、順序が重要になります。たとえば、%all,no%<タグ> と指定すると、<タグ> 以外のすべての警告メッセージが生成された場合に、重大なエラーを出力して cc を終了します。
C コンパイラで生成される警告メッセージは、コンパイラのエラーチェックの改善や機能追加に応じて、リリースごとに変更されます。-errwarn=%all を指定してエラーなしでコンパイルされるコードでも、コンパイラの次期リリースではエラーを出力してコンパイルされる可能性があります。
-errwarn オプションを使用して、障害状態で C コンパイラを終了するように指定できるのは、C コンパイラのフロントエンドで -errtags オプションを指定したときにタグを表示する警告メッセージだけです。
-errwarn の値を次の表に示します。
表 B–4 -errwarn のフラグ
フラグ |
意味 |
---|---|
<タグ> |
<タグ> に指定されたメッセージが警告メッセージとして発行されると、cc は致命的エラーステータスを返して終了します。<タグ> に指定されたメッセージが発行されない場合は無効です。 |
no%<タグ> |
<タグ> に指定されたメッセージが警告メッセージとしてのみ発行された場合に、cc が致命的なエラーステータスを返して終了しないようにします。<タグ> に指定されたメッセージが発行されない場合は無効です。このオプションは、<タグ> または %all を使用して以前に指定したメッセージが警告メッセージとして発行されても cc が致命的エラーステータスで終了しないようにする場合に使用してください。 |
%all |
警告メッセージが何か発行される場合にコンパイラが致命的なエラーステータスを返して終了します。%all に続いて no%<タグ> を使用して、特定の警告メッセージを対象から除外することもできます。 |
%none |
どの警告メッセージが発行されてもコンパイラが致命的なエラーステータスを返して終了することがないようにします。 |
デフォルトは -errwarn=%none です。-errwarn だけを指定した場合、-errwarn=%all を指定したことと同じになります。