diff options
| author | Paul Eggert | 2019-08-31 10:35:08 -0700 |
|---|---|---|
| committer | Paul Eggert | 2019-08-31 11:01:46 -0700 |
| commit | 7791005544836f93542e8277ad5897f8f5920f05 (patch) | |
| tree | b0c93947951d98f1af820b33094374ddd1658188 /lib-src | |
| parent | 2de46be6620174e6e2cf4ed397e7cf901d1f1a7a (diff) | |
| download | emacs-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.c | 4 | ||||
| -rw-r--r-- | lib-src/pop.c | 10 |
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 | /* |