Oracle Solaris Studio 12.2: C ユーザーガイド

B.2.16 -errwarn[= t]

指定した警告メッセージが生成された場合に、重大なエラーを出力して C コンパイラを終了する場合は、-errwarn オプションを使用します。

t には、次の 1 つまたは複数の項目をコンマで区切って指定します。tagno%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 を指定したことと同じになります。