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 */