NOTREACHED was designed for traditional lint decades ago,
and _Noreturn now normally subsumes its function.
In the one case in Emacs where NORETURN might help and _Noreturn does
not, check for NOTREACHED instead of assuming it.
* lib-src/etags.c (main):
* src/xterm.c (x_connection_closed):
Remove NOTREACHED after a call to a _Noreturn function, as NOTREACHED
is no longer needed there. Also, one of the NOTREACHEDs was
misplaced, which defeated traditional lint checking anyway.
* lib-src/pop.c (pop_getline): Redo so as to not need NOTREACHED.
* src/emacs.c (main): Use eassume (false) rather than NOTREACHED,
so that running with ENABLE_CHECKING catches any internal error
causing the toplevel Frecursive_edit to return.
{
error ("-o option may only be given once.");
suggest_asking_for_help ();
- /* NOTREACHED */
}
tagfile = optarg;
break;
case 'w': no_warnings = true; break;
default:
suggest_asking_for_help ();
- /* NOTREACHED */
}
/* No more options. Store the rest of arguments. */
if (help_asked)
print_help (argbuffer);
- /* NOTREACHED */
if (nincluded_files == 0 && file_count == 0)
{
error ("no input files specified.");
suggest_asking_for_help ();
- /* NOTREACHED */
}
if (tagfile == NULL)
server->buffer_index = 0;
}
- while (1)
+ while (true)
{
/* There's a "- 1" here to leave room for the null that we put
at the end of the read data below. We put the null there so
{
strcpy (pop_error, "Out of memory in pop_getline");
pop_trash (server);
- return (-1);
+ break;
}
}
ret = RECV (server->file, server->buffer + server->data,
snprintf (pop_error, ERROR_MAX, "%s%s",
GETLINE_ERROR, strerror (errno));
pop_trash (server);
- return (-1);
+ break;
}
else if (ret == 0)
{
strcpy (pop_error, "Unexpected EOF from server in pop_getline");
pop_trash (server);
- return (-1);
+ break;
}
else
{
}
}
- /* NOTREACHED */
+ return -1;
}
/*
/* Enter editor command loop. This never returns. */
Frecursive_edit ();
- /* NOTREACHED */
- return 0;
+ eassume (false);
}
\f
/* Sort the args so we can find the most important ones
{
fprintf (stderr, "%s\n", error_msg);
Fkill_emacs (make_fixnum (70));
- /* NOTREACHED */
}
totally_unblock_input ();