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
index 1bf692a..0d69b9d 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -4325,6 +4325,7 @@
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 @@
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
index 5f51306..a179620 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -984,7 +984,7 @@
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 @@
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
index d4fba7f..8cb91e7 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -6995,7 +6995,7 @@
{
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 @@
{
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
index ea6df86..036569f 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -4115,7 +4115,7 @@
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
index 6876a21..ba6a403 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -1563,9 +1563,8 @@
break;
goto cmdline_not_changed;
}
- /* FALLTHROUGH */
-
#ifdef FEAT_CMDHIST
+ /* FALLTHROUGH */
case K_UP:
case K_DOWN:
case K_S_UP:
diff --git a/src/if_perl.xs b/src/if_perl.xs
index 4ead057..2e6004b 100644
--- a/src/if_perl.xs
+++ b/src/if_perl.xs
@@ -1101,6 +1101,7 @@
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
index 3db8efb..0dad4d6 100644
--- a/src/main.c
+++ b/src/main.c
@@ -2228,7 +2228,7 @@
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 @@
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
index af22607..41ab17a 100644
--- a/src/message.c
+++ b/src/message.c
@@ -670,7 +670,8 @@
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 @@
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
index fbeffe5..e781cd7 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -1945,6 +1945,7 @@
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 @@
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 @@
/* "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 @@
case 'q':
case 'w':
oap->cursor_start = curwin->w_cursor;
- /*FALLTHROUGH*/
+ /* FALLTHROUGH */
case '~':
case 'u':
case 'U':
@@ -9117,7 +9118,7 @@
* 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
index c4745ce..a5d7a13 100644
--- a/src/regexp.c
+++ b/src/regexp.c
@@ -1997,7 +1997,7 @@
goto collection;
/* "\_x" is character class plus newline */
- /*FALLTHROUGH*/
+ /* FALLTHROUGH */
/*
* Character classes.
@@ -5847,7 +5847,7 @@
case IDENT:
case IDENT + ADD_NL:
testval = TRUE;
- /*FALLTHROUGH*/
+ /* FALLTHROUGH */
case SIDENT:
case SIDENT + ADD_NL:
while (count < maxcount)
@@ -5877,7 +5877,7 @@
case KWORD:
case KWORD + ADD_NL:
testval = TRUE;
- /*FALLTHROUGH*/
+ /* FALLTHROUGH */
case SKWORD:
case SKWORD + ADD_NL:
while (count < maxcount)
@@ -5908,7 +5908,7 @@
case FNAME:
case FNAME + ADD_NL:
testval = TRUE;
- /*FALLTHROUGH*/
+ /* FALLTHROUGH */
case SFNAME:
case SFNAME + ADD_NL:
while (count < maxcount)
@@ -5938,7 +5938,7 @@
case PRINT:
case PRINT + ADD_NL:
testval = TRUE;
- /*FALLTHROUGH*/
+ /* FALLTHROUGH */
case SPRINT:
case SPRINT + ADD_NL:
while (count < maxcount)
@@ -6131,7 +6131,7 @@
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
index 40d6605..86061a3 100644
--- a/src/regexp_nfa.c
+++ b/src/regexp_nfa.c
@@ -1320,7 +1320,7 @@
goto collection;
/* "\_x" is character class plus newline */
- /*FALLTHROUGH*/
+ /* FALLTHROUGH */
/*
* Character classes.
@@ -4698,6 +4698,7 @@
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
index eb1b9fb..cdcf822 100644
--- a/src/spell.c
+++ b/src/spell.c
@@ -5019,7 +5019,7 @@
}
PROF_STORE(sp->ts_state)
sp->ts_state = STATE_PLAIN;
- /*FALLTHROUGH*/
+ /* FALLTHROUGH */
case STATE_PLAIN:
/*
@@ -5243,7 +5243,7 @@
}
break;
}
- /*FALLTHROUGH*/
+ /* FALLTHROUGH */
case STATE_INS_PREP:
if (sp->ts_flags & TSF_DIDDEL)
@@ -5277,7 +5277,7 @@
}
break;
- /*FALLTHROUGH*/
+ /* FALLTHROUGH */
case STATE_INS:
/* Insert one byte. Repeat this for each possible byte at this
@@ -5464,7 +5464,7 @@
*p = p[1];
p[1] = c;
}
- /*FALLTHROUGH*/
+ /* FALLTHROUGH */
case STATE_SWAP3:
/* Swap two bytes, skipping one: "123" -> "321". We change
@@ -5703,7 +5703,7 @@
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 @@
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
index c8bab5d..05db90f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -762,6 +762,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1215,
+/**/
1214,
/**/
1213,
diff --git a/src/window.c b/src/window.c
index 96e32d8..ad084a4 100644
--- a/src/window.c
+++ b/src/window.c
@@ -433,8 +433,8 @@
g_do_tagpreview = Prenum;
else
g_do_tagpreview = p_pvh;
- /*FALLTHROUGH*/
#endif
+ /* FALLTHROUGH */
case ']':
case Ctrl_RSB:
CHECK_CMDWIN
@@ -557,8 +557,8 @@
g_do_tagpreview = Prenum;
else
g_do_tagpreview = p_pvh;
- /*FALLTHROUGH*/
#endif
+ /* FALLTHROUGH */
case ']':
case Ctrl_RSB:
/* keep Visual mode, can select words to use as a tag */