aboutsummaryrefslogtreecommitdiffstats
path: root/lib-src
diff options
context:
space:
mode:
authorPaul Eggert2019-08-31 10:35:08 -0700
committerPaul Eggert2019-08-31 11:01:46 -0700
commit7791005544836f93542e8277ad5897f8f5920f05 (patch)
treeb0c93947951d98f1af820b33094374ddd1658188 /lib-src
parent2de46be6620174e6e2cf4ed397e7cf901d1f1a7a (diff)
downloademacs-7791005544836f93542e8277ad5897f8f5920f05.tar.gz
emacs-7791005544836f93542e8277ad5897f8f5920f05.zip
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)
1146 { 1146 {
1147 error ("-o option may only be given once."); 1147 error ("-o option may only be given once.");
1148 suggest_asking_for_help (); 1148 suggest_asking_for_help ();
1149 /* NOTREACHED */
1150 } 1149 }
1151 tagfile = optarg; 1150 tagfile = optarg;
1152 break; 1151 break;
@@ -1208,7 +1207,6 @@ main (int argc, char **argv)
1208 case 'w': no_warnings = true; break; 1207 case 'w': no_warnings = true; break;
1209 default: 1208 default:
1210 suggest_asking_for_help (); 1209 suggest_asking_for_help ();
1211 /* NOTREACHED */
1212 } 1210 }
1213 1211
1214 /* No more options. Store the rest of arguments. */ 1212 /* No more options. Store the rest of arguments. */
@@ -1227,13 +1225,11 @@ main (int argc, char **argv)
1227 1225
1228 if (help_asked) 1226 if (help_asked)
1229 print_help (argbuffer); 1227 print_help (argbuffer);
1230 /* NOTREACHED */
1231 1228
1232 if (nincluded_files == 0 && file_count == 0) 1229 if (nincluded_files == 0 && file_count == 0)
1233 { 1230 {
1234 error ("no input files specified."); 1231 error ("no input files specified.");
1235 suggest_asking_for_help (); 1232 suggest_asking_for_help ();
1236 /* NOTREACHED */
1237 } 1233 }
1238 1234
1239 if (tagfile == NULL) 1235 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)
1275 server->buffer_index = 0; 1275 server->buffer_index = 0;
1276 } 1276 }
1277 1277
1278 while (1) 1278 while (true)
1279 { 1279 {
1280 /* There's a "- 1" here to leave room for the null that we put 1280 /* There's a "- 1" here to leave room for the null that we put
1281 at the end of the read data below. We put the null there so 1281 at the end of the read data below. We put the null there so
@@ -1288,7 +1288,7 @@ pop_getline (popserver server, char **line)
1288 { 1288 {
1289 strcpy (pop_error, "Out of memory in pop_getline"); 1289 strcpy (pop_error, "Out of memory in pop_getline");
1290 pop_trash (server); 1290 pop_trash (server);
1291 return (-1); 1291 break;
1292 } 1292 }
1293 } 1293 }
1294 ret = RECV (server->file, server->buffer + server->data, 1294 ret = RECV (server->file, server->buffer + server->data,
@@ -1298,13 +1298,13 @@ pop_getline (popserver server, char **line)
1298 snprintf (pop_error, ERROR_MAX, "%s%s", 1298 snprintf (pop_error, ERROR_MAX, "%s%s",
1299 GETLINE_ERROR, strerror (errno)); 1299 GETLINE_ERROR, strerror (errno));
1300 pop_trash (server); 1300 pop_trash (server);
1301 return (-1); 1301 break;
1302 } 1302 }
1303 else if (ret == 0) 1303 else if (ret == 0)
1304 { 1304 {
1305 strcpy (pop_error, "Unexpected EOF from server in pop_getline"); 1305 strcpy (pop_error, "Unexpected EOF from server in pop_getline");
1306 pop_trash (server); 1306 pop_trash (server);
1307 return (-1); 1307 break;
1308 } 1308 }
1309 else 1309 else
1310 { 1310 {
@@ -1332,7 +1332,7 @@ pop_getline (popserver server, char **line)
1332 } 1332 }
1333 } 1333 }
1334 1334
1335 /* NOTREACHED */ 1335 return -1;
1336} 1336}
1337 1337
1338/* 1338/*