Ошибка при отсутствии оператора возврата

Как мне создать ошибку для отсутствующего оператора возврата в GCC?

cpfsfuse.c:184: warning: no return statement in function returning non-void

Я могу возвращать ошибки для объявления неявной функции (-Werror-implicit-function-declaration), и мне известно о -Werror=, но я не могу найти соответствующее предупреждение, чтобы повысить статус ошибки.

Как я могу это достичь?

Ответ 1

Вы должны иметь возможность использовать параметр -fdiagnostics-show-option, чтобы показать правильный флаг для переключателя Werror=. Взято из this сообщение в блоге:

% gcc -x c -Wall -Wextra -fdiagnostics-show-option -c -o /dev/null - <<EOF
int foo() {
}
EOF
<stdin> In function ‘foo’:
<stdin>:2: warning: control reaches end of non-void function [-Wreturn-type]

На самом деле, похоже, что флаг return-type может быть тем, который вы хотите.