2011-09-09 17 views
0

是否有任何希望強制GCC 3.4編譯器將所有警告寫入像GCC 4.4-錯誤選項那樣的錯誤?模擬的可能性 - 使用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/ onlinedocs/gcc-3.3.6/gcc/Warning-Options.html#Warning-Options)!! – pmg

回答

0

正如@pmg所述 -

GCC 3.4.6接受-Werror(見手冊的底部);海灣合作委員會3.3.6也 接受它!

房地產信貸應該去PMG,但感謝所有的人也:-)

1

你可以用它,如果GCC寫什麼標準錯誤返回一個錯誤。

執行GCC,在一個文件重定向標準錯誤,貓的文件到標準錯誤:

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

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

cat "$temp" >&2 

返回gcc的退出狀態,如果它不是0:

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替換爲發現警告時應該執行的操作。

相關問題