是否有任何希望迫使GCC 3.4编译器将所有警告变为GCC的4.4 -Werror选项之类的错误?
由于
答案 0 :(得分:1)
如果gcc向stderr写了任何内容,你可以将其包装并返回错误。
执行GCC,将stderr重定向到文件中,将文件捕获到stderr:
temp=$(tempfile)
trap rm "$temp" EXIT
gcc "$@" 2>"$temp"
ret=$?
cat "$temp" >&2
如果gcc不是0,则返回gcc的退出状态:
if [ "$ret" != 0 ]; then
exit $ret;
}
如果文件不为空,则返回1:
if [ $(stat --format=%s "$temp") != "0" ]; then
exit 1;
}
答案 1 :(得分:1)
丑陋的黑客,只是grep“警告:”
gcc files.c 2>&1 | grep "warning:" && exit 1
将出口1替换为发现警告时应该执行的操作。
答案 2 :(得分:0)
正如@pmg所说 -
gcc 3.4.6接受-Werror(见手册底部); gcc 3.3.6也 接受它!!
真实信用应该转到pmg,但也感谢其他人: - )