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