ОС: Debian 9
компилятор: gcc 8.2.0 (установлен из репозитория buster (testing))
Я знаю, что использование вещей из ветви тестирования debian опасно, но тестирование Debian обычно стабильно , а gcc 8.2 был выпущен как стабильный, поэтому в нем не должно быть много ошибок.
в этой функции:
int user_tui (const char *title, const char *subtitle)
{
int action;
// action = USER_IFACE_ACT_FOO;
show_help();
user_tui_show_log(title, subtitle);
action = usr_input();
return action;
}
Он сообщает оследующая ошибка (-Wall -Werror
, а также -O3 -march=native
):
/.../modules//user//src//user_tui.c: In function ‘user_tui’:
/.../modules//user//src//user_tui.c:91:9: error: ‘action’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
return action;
^~~~~~
cc1: all warnings being treated as errors
Когда я раскомментирую инициализацию, ошибка все еще существует.Я думаю, что это даже не нужно, так как нет условного или чего-либо такого, что когда-либо блокировало бы присвоение action = usr_input();
.
Это ложное предупреждение, или это законно?
Я бы сказал, что это ошибка в GCC;это даже нельзя считать ложным.