Возможность имитировать поведение опции -Werror с GCC 3.4? - PullRequest
0 голосов
/ 09 сентября 2011

Есть ли надежда заставить компилятор GCC 3.4 выдавать все предупреждения об ошибках, как в GCC 4.4 -Werror?

Спасибо

Ответы [ 3 ]

1 голос
/ 09 сентября 2011

Гадкий хак, просто grep "warning:"

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

Заменить выход 1 тем, что он должен делать при обнаружении предупреждений.

1 голос
/ 09 сентября 2011

Вы можете обернуть его и вернуть ошибку, если gcc записал что-либо в stderr.

Выполните GCC, перенаправьте stderr в файл, поместите файл в stderr:

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

gcc "$@" 2>"$temp"
ret=$?

cat "$temp" >&2

Верните gccвыход из состояния, если оно не 0:

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

Возвращает 1, если файл не пустой:

if [ $(stat --format=%s "$temp") != "0" ]; then
    exit 1;
}
0 голосов
/ 09 сентября 2011

Как сказал @pmg -

gcc 3.4.6 принимает -Werror (см. Нижнюю часть руководства);gcc 3.3.6 также принимает его !!

Реальные кредиты должны отправляться в pmg, но спасибо всем также: -)

...