summaryrefslogtreecommitdiff
path: root/lib-src
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2019-08-31 10:35:08 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2019-08-31 11:01:46 -0700
commit7791005544836f93542e8277ad5897f8f5920f05 (patch)
treeb0c93947951d98f1af820b33094374ddd1658188 /lib-src
parent2de46be6620174e6e2cf4ed397e7cf901d1f1a7a (diff)
downloademacs-7791005544836f93542e8277ad5897f8f5920f05.tar.gz
Check instead of relying on NOTREACHED
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.
Diffstat (limited to 'lib-src')
-rw-r--r--lib-src/etags.c4
-rw-r--r--lib-src/pop.c10
2 files changed, 5 insertions, 9 deletions
diff --git a/lib-src/etags.c b/lib-src/etags.c
index 036c485d0bb..6409407e466 100644
--- a/lib-src/etags.c
+++ b/lib-src/etags.c
@@ -1146,7 +1146,6 @@ main (int argc, char **argv)
{
error ("-o option may only be given once.");
suggest_asking_for_help ();
- /* NOTREACHED */
}
tagfile = optarg;
break;
@@ -1208,7 +1207,6 @@ main (int argc, char **argv)
case 'w': no_warnings = true; break;
default:
suggest_asking_for_help ();
- /* NOTREACHED */
}
/* No more options. Store the rest of arguments. */
@@ -1227,13 +1225,11 @@ main (int argc, char **argv)
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)
diff --git a/lib-src/pop.c b/lib-src/pop.c
index e4bd6c04965..9a0dd8ca704 100644
--- a/lib-src/pop.c
+++ b/lib-src/pop.c
@@ -1275,7 +1275,7 @@ pop_getline (popserver server, char **line)
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
@@ -1288,7 +1288,7 @@ pop_getline (popserver server, char **line)
{
strcpy (pop_error, "Out of memory in pop_getline");
pop_trash (server);
- return (-1);
+ break;
}
}
ret = RECV (server->file, server->buffer + server->data,
@@ -1298,13 +1298,13 @@ pop_getline (popserver server, char **line)
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
{
@@ -1332,7 +1332,7 @@ pop_getline (popserver server, char **line)
}
}
- /* NOTREACHED */
+ return -1;
}
/*