Возможность смоделировать поведение опции -Werror с GCC 3.4?

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

Спасибо

3 ответа

Решение

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

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

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

Вы можете обернуть его и вернуть ошибку, если 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;
}

Гадкий хак, просто grep "предупреждение"

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

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

Другие вопросы по тегам