And mark all exit functions of gui.c with __noreturn.
CPPFLAGS += -DCC_VERSION='"$(cc_version)"'
CPPFLAGS += -Werror-implicit-function-declaration
CPPFLAGS += -Wmissing-format-attribute
CPPFLAGS += -DCC_VERSION='"$(cc_version)"'
CPPFLAGS += -Werror-implicit-function-declaration
CPPFLAGS += -Wmissing-format-attribute
+CPPFLAGS += -Wmissing-noreturn
CPPFLAGS += -Wunused-macros
CPPFLAGS += -Wbad-function-cast
CPPFLAGS += -DMAIN_INPUT_FILE_IS_$(*F)
CPPFLAGS += -Wunused-macros
CPPFLAGS += -Wbad-function-cast
CPPFLAGS += -DMAIN_INPUT_FILE_IS_$(*F)
signal(SIGHUP, SIG_IGN);
}
signal(SIGHUP, SIG_IGN);
}
-static void do_exit(int ret)
+__noreturn static void do_exit(int ret)
{
signal(SIGTERM, SIG_IGN);
kill(0, SIGTERM);
{
signal(SIGTERM, SIG_IGN);
kill(0, SIGTERM);
-static void finish(int ret)
+__noreturn static void finish(int ret)
{
shutdown_curses();
do_exit(ret);
{
shutdown_curses();
do_exit(ret);
/*
* exit curses and print given message to stdout/stderr
*/
/*
* exit curses and print given message to stdout/stderr
*/
-__printf_2_3 static void msg_n_exit(int ret, const char* fmt, ...)
+__noreturn __printf_2_3 static void msg_n_exit(int ret, const char* fmt, ...)
{
va_list argp;
FILE *outfd = ret? stderr: stdout;
{
va_list argp;
FILE *outfd = ret? stderr: stdout;
-static void com_quit(void)
+__noreturn static void com_quit(void)