[3.6] bpo-30923: Silence fall-through warnings included in -Wextra since gcc-7.0 (#3518)

* bpo-30923: Disable warning that has been part of -Wextra since gcc-7.0. (#3142)

(cherry picked from commit d73a960c575207539c3f9765cff26d4fff400b45)

* bpo-30923: Silence fall-through warnings included in -Wextra since gcc-7.0. (#3157)

(cherry picked from commit f432a3234f9f2ee09bd40be03e06bf72865ee375)

* bpo-31275: Small refactoring to silence a fall-through warning. (#3206)

(cherry picked from commit 138753c1b96b5e06a5c5d409fa4cae5e2fe1108b)
diff --git a/Python/ast.c b/Python/ast.c
index 4fa68a3..aa4acc9 100644
--- a/Python/ast.c
+++ b/Python/ast.c
@@ -1175,6 +1175,7 @@
                     return In;
                 if (strcmp(STR(n), "is") == 0)
                     return Is;
+                /* fall through */
             default:
                 PyErr_Format(PyExc_SystemError, "invalid comp_op: %s",
                              STR(n));
@@ -1189,6 +1190,7 @@
                     return NotIn;
                 if (strcmp(STR(CHILD(n, 0)), "is") == 0)
                     return IsNot;
+                /* fall through */
             default:
                 PyErr_Format(PyExc_SystemError, "invalid comp_op: %s %s",
                              STR(CHILD(n, 0)), STR(CHILD(n, 1)));
@@ -3149,6 +3151,7 @@
                 }
                 return Raise(expression, cause, LINENO(n), n->n_col_offset, c->c_arena);
             }
+            /* fall through */
         default:
             PyErr_Format(PyExc_SystemError,
                          "unexpected flow_stmt: %d", TYPE(ch));