2011-09-09 17 views
0

GCC 3.4コンパイラがすべての警告をGCCの4.4 -Werrorオプションのようなエラーにするように強制する希望はありますか?シミュレートする可能性 - GCC 3.4での障害オプションの動作?

おかげ

+0

あなたは4.4にアップグレードしない理由はありますか?これは完璧な解決策になります:) –

+0

gcc 4.4 :-( –

+1

gcc 3.4.6は '-Werror'を受け入れます(http: //gcc.gnu.org/onlinedocs/gcc-3.4.6/gcc/Warning-Options.html#Warning-Options)); gcc 3.3.6 [これも受け入れる](http://gcc.gnu.org/ onlinesocs/gcc-3.3.6/gcc/Warning-Options.html#警告 - オプション)!! – pmg

答えて

0

@pmgは、前記のよう -

GCC 3.4.6は-Werror(手動の底を参照)を受け付けます。 gcc 3.3.6も が受け付けます!

実PMGに行くべきクレジットが、おかげで他のみんなのためにも:-)

1

あなたはそれをラップし、gccがstderrに何かを書いた場合は、エラーを返すことができます。

、ファイルに標準エラー出力をリダイレクトし、猫stderrにファイルGCCを実行します。それは0ではない場合

temp=$(tempfile) 
trap rm "$temp" EXIT 

gcc "[email protected]" 2>"$temp" 
ret=$? 

cat "$temp" >&2 

戻りGCCの終了ステータスを:

if [ "$ret" != 0 ]; then 
    exit $ret; 
} 

戻る1ファイルが空でない場合:

if [ $(stat --format=%s "$temp") != "0" ]; then 
    exit 1; 
} 
1

醜いハック、単にgrepの "警告:"

gcc files.c 2>&1 | grep "warning:" && exit 1 

出口1を警告が見つかったときに行うべきものに置き換えます。

関連する問題