Ошибка при пропущенном операторе возврата - PullRequest
11 голосов
/ 15 августа 2010

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

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

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

Как мне этого добиться?

1 Ответ

18 голосов
/ 15 августа 2010

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

% 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 может быть тем, который вам нужен.

...