# HG changeset patch # User Christian Brabandt # Date 1508875206 -7200 # Node ID e769c912fcd93ece9e02463ba512f3c2e2c1e784 # Parent 2b845e7b972719cfee04c58b1c726d5a1c519c88 patch 8.0.1215: newer gcc warns for implicit fallthrough commit https://github.com/vim/vim/commit/2f40d129bf45cd35976e4120336ae6d504f5a5dd Author: Bram Moolenaar Date: Tue Oct 24 21:49:36 2017 +0200 patch 8.0.1215: newer gcc warns for implicit fallthrough Problem: Newer gcc warns for implicit fallthrough. Solution: Consistently use a FALLTHROUGH comment. (Christian Brabandt) diff --git a/src/buffer.c b/src/buffer.c --- a/src/buffer.c +++ b/src/buffer.c @@ -4325,6 +4325,7 @@ build_stl_str_hl( case STL_OFFSET_X: base = 'X'; + /* FALLTHROUGH */ case STL_OFFSET: #ifdef FEAT_BYTEOFF l = ml_find_line_or_offset(wp->w_buffer, wp->w_cursor.lnum, NULL); @@ -4336,6 +4337,7 @@ build_stl_str_hl( case STL_BYTEVAL_X: base = 'X'; + /* FALLTHROUGH */ case STL_BYTEVAL: num = byteval; if (num == NL) diff --git a/src/edit.c b/src/edit.c --- a/src/edit.c +++ b/src/edit.c @@ -984,7 +984,7 @@ edit( case ESC: /* End input mode */ if (echeck_abbr(ESC + ABBR_OFF)) break; - /*FALLTHROUGH*/ + /* FALLTHROUGH */ case Ctrl_C: /* End input mode */ #ifdef FEAT_CMDWIN @@ -5774,13 +5774,16 @@ quote_meta(char_u *dest, char_u *src, in if (ctrl_x_mode == CTRL_X_DICTIONARY || ctrl_x_mode == CTRL_X_THESAURUS) break; + /* FALLTHROUGH */ case '~': if (!p_magic) /* quote these only if magic is set */ break; + /* FALLTHROUGH */ case '\\': if (ctrl_x_mode == CTRL_X_DICTIONARY || ctrl_x_mode == CTRL_X_THESAURUS) break; + /* FALLTHROUGH */ case '^': /* currently it's not needed. */ case '$': m++; diff --git a/src/eval.c b/src/eval.c --- a/src/eval.c +++ b/src/eval.c @@ -6995,7 +6995,7 @@ free_tv(typval_T *varp) { case VAR_FUNC: func_unref(varp->vval.v_string); - /*FALLTHROUGH*/ + /* FALLTHROUGH */ case VAR_STRING: vim_free(varp->vval.v_string); break; @@ -7040,7 +7040,7 @@ clear_tv(typval_T *varp) { case VAR_FUNC: func_unref(varp->vval.v_string); - /*FALLTHROUGH*/ + /* FALLTHROUGH */ case VAR_STRING: vim_free(varp->vval.v_string); varp->vval.v_string = NULL; diff --git a/src/ex_docmd.c b/src/ex_docmd.c --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -4115,7 +4115,7 @@ set_one_cmd_context( case CMD_bunload: while ((xp->xp_pattern = vim_strchr(arg, ' ')) != NULL) arg = xp->xp_pattern + 1; - /*FALLTHROUGH*/ + /* FALLTHROUGH */ case CMD_buffer: case CMD_sbuffer: case CMD_checktime: diff --git a/src/ex_getln.c b/src/ex_getln.c --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -1563,9 +1563,8 @@ getcmdline( break; goto cmdline_not_changed; } +#ifdef FEAT_CMDHIST /* FALLTHROUGH */ - -#ifdef FEAT_CMDHIST case K_UP: case K_DOWN: case K_S_UP: diff --git a/src/if_perl.xs b/src/if_perl.xs --- a/src/if_perl.xs +++ b/src/if_perl.xs @@ -1101,6 +1101,7 @@ perl_to_vim(SV *sv, typval_T *rettv) rettv->vval.v_number = SvIV(sv); break; } + /* FALLTHROUGH */ case SVt_PV: /* string */ { size_t len = 0; diff --git a/src/main.c b/src/main.c --- a/src/main.c +++ b/src/main.c @@ -2228,7 +2228,7 @@ command_line_scan(mparm_T *parmp) argv_idx = -1; break; } - /*FALLTHROUGH*/ + /* FALLTHROUGH */ case 'S': /* "-S {file}" execute Vim script */ case 'i': /* "-i {viminfo}" use for viminfo */ #ifndef FEAT_DIFF @@ -2386,7 +2386,7 @@ scripterror: argv_idx = -1; break; } - /*FALLTHROUGH*/ + /* FALLTHROUGH */ case 'W': /* "-W {scriptout}" overwrite script file */ if (scriptout != NULL) goto scripterror; diff --git a/src/message.c b/src/message.c --- a/src/message.c +++ b/src/message.c @@ -670,7 +670,8 @@ emsg(char_u *s) ex_exitval = 1; - /* Reset msg_silent, an error causes messages to be switched back on. */ + /* Reset msg_silent, an error causes messages to be switched back on. + */ msg_silent = 0; cmd_silent = FALSE; @@ -2837,7 +2838,7 @@ do_more_prompt(int typed_char) skip_redraw = TRUE; /* skip redraw once */ need_wait_return = FALSE; /* don't wait in main() */ } - /*FALLTHROUGH*/ + /* FALLTHROUGH */ case 'q': /* quit */ case Ctrl_C: case ESC: diff --git a/src/normal.c b/src/normal.c --- a/src/normal.c +++ b/src/normal.c @@ -1945,6 +1945,7 @@ do_pending_operator(cmdarg_T *cap, int o AppendToRedobuff((char_u *)"!\r"); /* use any last used !cmd */ else bangredo = TRUE; /* do_bang() will put cmd in redo buffer */ + /* FALLTHROUGH */ case OP_INDENT: case OP_COLON: @@ -5150,7 +5151,7 @@ dozet: break; } undo = TRUE; - /*FALLTHROUGH*/ + /* FALLTHROUGH */ case 'g': /* "zg": add good word to word list */ case 'w': /* "zw": add wrong word to word list */ @@ -8267,7 +8268,7 @@ nv_g_cmd(cmdarg_T *cap) /* "g'm" and "g`m": jump to mark without setting pcmark */ case '\'': cap->arg = TRUE; - /*FALLTHROUGH*/ + /* FALLTHROUGH */ case '`': nv_gomark(cap); break; @@ -8328,7 +8329,7 @@ nv_g_cmd(cmdarg_T *cap) case 'q': case 'w': oap->cursor_start = curwin->w_cursor; - /*FALLTHROUGH*/ + /* FALLTHROUGH */ case '~': case 'u': case 'U': @@ -9117,7 +9118,7 @@ nv_edit(cmdarg_T *cap) * the first column, then it inserts. */ if (curwin->w_cursor.col == 0) break; - /*FALLTHROUGH*/ + /* FALLTHROUGH */ case 'a': /* "a"ppend is like "i"nsert on the next character. */ #ifdef FEAT_VIRTUALEDIT diff --git a/src/regexp.c b/src/regexp.c --- a/src/regexp.c +++ b/src/regexp.c @@ -1997,7 +1997,7 @@ regatom(int *flagp) goto collection; /* "\_x" is character class plus newline */ - /*FALLTHROUGH*/ + /* FALLTHROUGH */ /* * Character classes. @@ -5847,7 +5847,7 @@ regrepeat( case IDENT: case IDENT + ADD_NL: testval = TRUE; - /*FALLTHROUGH*/ + /* FALLTHROUGH */ case SIDENT: case SIDENT + ADD_NL: while (count < maxcount) @@ -5877,7 +5877,7 @@ regrepeat( case KWORD: case KWORD + ADD_NL: testval = TRUE; - /*FALLTHROUGH*/ + /* FALLTHROUGH */ case SKWORD: case SKWORD + ADD_NL: while (count < maxcount) @@ -5908,7 +5908,7 @@ regrepeat( case FNAME: case FNAME + ADD_NL: testval = TRUE; - /*FALLTHROUGH*/ + /* FALLTHROUGH */ case SFNAME: case SFNAME + ADD_NL: while (count < maxcount) @@ -5938,7 +5938,7 @@ regrepeat( case PRINT: case PRINT + ADD_NL: testval = TRUE; - /*FALLTHROUGH*/ + /* FALLTHROUGH */ case SPRINT: case SPRINT + ADD_NL: while (count < maxcount) @@ -6131,7 +6131,7 @@ do_class: case ANYOF: case ANYOF + ADD_NL: testval = TRUE; - /*FALLTHROUGH*/ + /* FALLTHROUGH */ case ANYBUT: case ANYBUT + ADD_NL: diff --git a/src/regexp_nfa.c b/src/regexp_nfa.c --- a/src/regexp_nfa.c +++ b/src/regexp_nfa.c @@ -1320,7 +1320,7 @@ nfa_regatom(void) goto collection; /* "\_x" is character class plus newline */ - /*FALLTHROUGH*/ + /* FALLTHROUGH */ /* * Character classes. @@ -4698,6 +4698,7 @@ skip_add: subs = addstate(l, state->out, subs, pim, off_arg); break; } + /* FALLTHROUGH */ case NFA_MCLOSE1: case NFA_MCLOSE2: case NFA_MCLOSE3: diff --git a/src/spell.c b/src/spell.c --- a/src/spell.c +++ b/src/spell.c @@ -5019,7 +5019,7 @@ suggest_trie_walk( } PROF_STORE(sp->ts_state) sp->ts_state = STATE_PLAIN; - /*FALLTHROUGH*/ + /* FALLTHROUGH */ case STATE_PLAIN: /* @@ -5243,7 +5243,7 @@ suggest_trie_walk( } break; } - /*FALLTHROUGH*/ + /* FALLTHROUGH */ case STATE_INS_PREP: if (sp->ts_flags & TSF_DIDDEL) @@ -5277,7 +5277,7 @@ suggest_trie_walk( } break; - /*FALLTHROUGH*/ + /* FALLTHROUGH */ case STATE_INS: /* Insert one byte. Repeat this for each possible byte at this @@ -5464,7 +5464,7 @@ suggest_trie_walk( *p = p[1]; p[1] = c; } - /*FALLTHROUGH*/ + /* FALLTHROUGH */ case STATE_SWAP3: /* Swap two bytes, skipping one: "123" -> "321". We change @@ -5703,7 +5703,7 @@ suggest_trie_walk( p[1] = p[2]; p[2] = c; } - /*FALLTHROUGH*/ + /* FALLTHROUGH */ case STATE_REP_INI: /* Check if matching with REP items from the .aff file would work. @@ -5736,7 +5736,7 @@ suggest_trie_walk( PROF_STORE(sp->ts_state) sp->ts_state = STATE_REP; - /*FALLTHROUGH*/ + /* FALLTHROUGH */ case STATE_REP: /* Try matching with REP items from the .aff file. For each match diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -762,6 +762,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1215, +/**/ 1214, /**/ 1213, diff --git a/src/window.c b/src/window.c --- a/src/window.c +++ b/src/window.c @@ -433,8 +433,8 @@ newwindow: g_do_tagpreview = Prenum; else g_do_tagpreview = p_pvh; - /*FALLTHROUGH*/ -#endif +#endif + /* FALLTHROUGH */ case ']': case Ctrl_RSB: CHECK_CMDWIN @@ -557,8 +557,8 @@ wingotofile: g_do_tagpreview = Prenum; else g_do_tagpreview = p_pvh; - /*FALLTHROUGH*/ -#endif +#endif + /* FALLTHROUGH */ case ']': case Ctrl_RSB: /* keep Visual mode, can select words to use as a tag */