GCC の 4.4 -Werror オプションのように、GCC 3.4 コンパイラにすべての警告をエラーにさせる希望はありますか?
ありがとう
醜いハック、「警告:」をgrepするだけです
gcc files.c 2>&1 | grep "warning:" && exit 1
exit 1 を、警告が見つかった場合の処理に置き換えます。
gcc が stderr に何かを書き込んだ場合は、それをラップしてエラーを返すことができます。
GCC を実行し、ファイルの stderr をリダイレクトし、ファイルを stderr に cat します。
temp=$(tempfile)
trap rm "$temp" EXIT
gcc "$@" 2>"$temp"
ret=$?
cat "$temp" >&2
0 でない場合、gcc の終了ステータスを返します。
if [ "$ret" != 0 ]; then
exit $ret;
}
ファイルが空でない場合は 1 を返します。
if [ $(stat --format=%s "$temp") != "0" ]; then
exit 1;
}
@pmgが言ったように-
gcc 3.4.6 は -Werror を受け入れます (マニュアルの下部を参照)。gcc 3.3.6 でも受け付けます!!
実際のクレジットは pmg に送られるべきですが、他の皆さんにも感謝します :-)