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/eval.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/eval.c')
| -rw-r--r-- | src/eval.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/src/eval.c b/src/eval.c index 848955c2794..98d25cc4fed 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -3212,7 +3212,7 @@ do_specbind (struct Lisp_Symbol *sym, union specbinding *bind, | |||
| 3212 | set_default_internal (specpdl_symbol (bind), value, bindflag); | 3212 | set_default_internal (specpdl_symbol (bind), value, bindflag); |
| 3213 | return; | 3213 | return; |
| 3214 | } | 3214 | } |
| 3215 | /* FALLTHROUGH */ | 3215 | FALLTHROUGH; |
| 3216 | case SYMBOL_LOCALIZED: | 3216 | case SYMBOL_LOCALIZED: |
| 3217 | set_internal (specpdl_symbol (bind), value, Qnil, bindflag); | 3217 | set_internal (specpdl_symbol (bind), value, Qnil, bindflag); |
| 3218 | break; | 3218 | break; |
| @@ -3390,12 +3390,10 @@ do_one_unbind (union specbinding *this_binding, bool unwinding, | |||
| 3390 | Qnil, bindflag); | 3390 | Qnil, bindflag); |
| 3391 | break; | 3391 | break; |
| 3392 | } | 3392 | } |
| 3393 | else | ||
| 3394 | { /* FALLTHROUGH!! | ||
| 3395 | NOTE: we only ever come here if make_local_foo was used for | ||
| 3396 | the first time on this var within this let. */ | ||
| 3397 | } | ||
| 3398 | } | 3393 | } |
| 3394 | /* Come here only if make_local_foo was used for the first time | ||
| 3395 | on this var within this let. */ | ||
| 3396 | FALLTHROUGH; | ||
| 3399 | case SPECPDL_LET_DEFAULT: | 3397 | case SPECPDL_LET_DEFAULT: |
| 3400 | set_default_internal (specpdl_symbol (this_binding), | 3398 | set_default_internal (specpdl_symbol (this_binding), |
| 3401 | specpdl_old_value (this_binding), | 3399 | specpdl_old_value (this_binding), |
| @@ -3676,12 +3674,10 @@ backtrace_eval_unrewind (int distance) | |||
| 3676 | SET_SYMBOL_VAL (XSYMBOL (sym), old_value); | 3674 | SET_SYMBOL_VAL (XSYMBOL (sym), old_value); |
| 3677 | break; | 3675 | break; |
| 3678 | } | 3676 | } |
| 3679 | else | ||
| 3680 | { /* FALLTHROUGH!! | ||
| 3681 | NOTE: we only ever come here if make_local_foo was used for | ||
| 3682 | the first time on this var within this let. */ | ||
| 3683 | } | ||
| 3684 | } | 3677 | } |
| 3678 | /* Come here only if make_local_foo was used for the first | ||
| 3679 | time on this var within this let. */ | ||
| 3680 | FALLTHROUGH; | ||
| 3685 | case SPECPDL_LET_DEFAULT: | 3681 | case SPECPDL_LET_DEFAULT: |
| 3686 | { | 3682 | { |
| 3687 | Lisp_Object sym = specpdl_symbol (tmp); | 3683 | Lisp_Object sym = specpdl_symbol (tmp); |
| @@ -3837,7 +3833,7 @@ mark_specpdl (union specbinding *first, union specbinding *ptr) | |||
| 3837 | case SPECPDL_LET_DEFAULT: | 3833 | case SPECPDL_LET_DEFAULT: |
| 3838 | case SPECPDL_LET_LOCAL: | 3834 | case SPECPDL_LET_LOCAL: |
| 3839 | mark_object (specpdl_where (pdl)); | 3835 | mark_object (specpdl_where (pdl)); |
| 3840 | /* Fall through. */ | 3836 | FALLTHROUGH; |
| 3841 | case SPECPDL_LET: | 3837 | case SPECPDL_LET: |
| 3842 | mark_object (specpdl_symbol (pdl)); | 3838 | mark_object (specpdl_symbol (pdl)); |
| 3843 | mark_object (specpdl_old_value (pdl)); | 3839 | mark_object (specpdl_old_value (pdl)); |