[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/marshal.c b/Python/marshal.c
index 7b12ab7..22ca49c 100644
--- a/Python/marshal.c
+++ b/Python/marshal.c
@@ -1105,6 +1105,7 @@
 
     case TYPE_ASCII_INTERNED:
         is_interned = 1;
+        /* fall through */
     case TYPE_ASCII:
         n = r_long(p);
         if (PyErr_Occurred())
@@ -1117,6 +1118,7 @@
 
     case TYPE_SHORT_ASCII_INTERNED:
         is_interned = 1;
+        /* fall through */
     case TYPE_SHORT_ASCII:
         n = r_byte(p);
         if (n == EOF) {
@@ -1142,6 +1144,7 @@
 
     case TYPE_INTERNED:
         is_interned = 1;
+        /* fall through */
     case TYPE_UNICODE:
         {
         const char *buffer;