diff options
| author | Paul Eggert | 2017-05-16 10:24:19 -0700 |
|---|---|---|
| committer | Paul Eggert | 2017-05-16 10:27:41 -0700 |
| commit | 2e1bebe279b7108f74c3a1e7e30e8a43c2cfa31f (patch) | |
| tree | 869b2d36a6a07dca857254202d620358c004489f /src/lread.c | |
| parent | 138c8256f41f242341c7d146c99f4e6fa267a638 (diff) | |
| download | emacs-2e1bebe279b7108f74c3a1e7e30e8a43c2cfa31f.tar.gz emacs-2e1bebe279b7108f74c3a1e7e30e8a43c2cfa31f.zip | |
Merge with gnulib, pacifying GCC 7
This incorporates:
2017-05-16 manywarnings: update for GCC 7
2017-05-15 sys_select: Avoid "was expanded before it was required"
* configure.ac (nw): Suppress GCC 7’s new -Wduplicated-branches and
-Wformat-overflow=2 options, due to too many false alarms.
* doc/misc/texinfo.tex, lib/strftime.c, m4/manywarnings.m4:
Copy from gnulib.
* m4/gnulib-comp.m4: Regenerate.
* src/coding.c (decode_coding_iso_2022):
Fix bug uncovered by -Wimplicit-fallthrough.
* src/conf_post.h (FALLTHROUGH): New macro.
Use it to mark all switch cases that fall through.
* src/editfns.c (styled_format): Use !, not ~, on bool.
* src/gtkutil.c (xg_check_special_colors):
When using sprintf, don’t trust Gtk to output colors in [0, 1] range.
(xg_update_scrollbar_pos): Avoid use of possibly-uninitialized bool;
this bug was actually caught by Clang.
* src/search.c (boyer_moore):
Tell GCC that CHAR_BASE, if nonzero, must be a non-ASCII character.
* src/xterm.c (x_draw_glyphless_glyph_string_foreground):
Tell GCC that glyph->u.glyphless.ch must be a character.
Diffstat (limited to 'src/lread.c')
| -rw-r--r-- | src/lread.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/lread.c b/src/lread.c index c03aad4f722..5e737d690c6 100644 --- a/src/lread.c +++ b/src/lread.c | |||
| @@ -2309,6 +2309,7 @@ read_escape (Lisp_Object readcharfun, bool stringp) | |||
| 2309 | c = READCHAR; | 2309 | c = READCHAR; |
| 2310 | if (c != '-') | 2310 | if (c != '-') |
| 2311 | error ("Invalid escape character syntax"); | 2311 | error ("Invalid escape character syntax"); |
| 2312 | FALLTHROUGH; | ||
| 2312 | case '^': | 2313 | case '^': |
| 2313 | c = READCHAR; | 2314 | c = READCHAR; |
| 2314 | if (c == '\\') | 2315 | if (c == '\\') |
| @@ -2399,6 +2400,7 @@ read_escape (Lisp_Object readcharfun, bool stringp) | |||
| 2399 | case 'U': | 2400 | case 'U': |
| 2400 | /* Post-Unicode-2.0: Up to eight hex chars. */ | 2401 | /* Post-Unicode-2.0: Up to eight hex chars. */ |
| 2401 | unicode_hex_count = 8; | 2402 | unicode_hex_count = 8; |
| 2403 | FALLTHROUGH; | ||
| 2402 | case 'u': | 2404 | case 'u': |
| 2403 | 2405 | ||
| 2404 | /* A Unicode escape. We only permit them in strings and characters, | 2406 | /* A Unicode escape. We only permit them in strings and characters, |
| @@ -3278,11 +3280,11 @@ read1 (Lisp_Object readcharfun, int *pch, bool first_in_list) | |||
| 3278 | *pch = c; | 3280 | *pch = c; |
| 3279 | return Qnil; | 3281 | return Qnil; |
| 3280 | } | 3282 | } |
| 3281 | |||
| 3282 | /* Otherwise, we fall through! Note that the atom-reading loop | ||
| 3283 | below will now loop at least once, assuring that we will not | ||
| 3284 | try to UNREAD two characters in a row. */ | ||
| 3285 | } | 3283 | } |
| 3284 | /* The atom-reading loop below will now loop at least once, | ||
| 3285 | assuring that we will not try to UNREAD two characters in a | ||
| 3286 | row. */ | ||
| 3287 | FALLTHROUGH; | ||
| 3286 | default: | 3288 | default: |
| 3287 | default_label: | 3289 | default_label: |
| 3288 | if (c <= 040) goto retry; | 3290 | if (c <= 040) goto retry; |