jhash: fix -Wimplicit-fallthrough warnings
authorJakub Kicinski <jakub.kicinski@netronome.com>
Sat, 15 Jul 2017 06:03:49 +0000 (23:03 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 17 Jul 2017 16:22:34 +0000 (09:22 -0700)
GCC 7 added a new -Wimplicit-fallthrough warning.  It's only enabled
with W=1, but since linux/jhash.h is included in over hundred places
(including other global headers) it seems worthwhile fixing this
warning.

Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/jhash.h

index 348c6f47e4cc36681e55ff4800a4d2a4e052f954..8037850f31041696a30a046696c99f902d222b03 100644 (file)
@@ -85,19 +85,18 @@ static inline u32 jhash(const void *key, u32 length, u32 initval)
                k += 12;
        }
        /* Last block: affect all 32 bits of (c) */
-       /* All the case statements fall through */
        switch (length) {
-       case 12: c += (u32)k[11]<<24;
-       case 11: c += (u32)k[10]<<16;
-       case 10: c += (u32)k[9]<<8;
-       case 9:  c += k[8];
-       case 8:  b += (u32)k[7]<<24;
-       case 7:  b += (u32)k[6]<<16;
-       case 6:  b += (u32)k[5]<<8;
-       case 5:  b += k[4];
-       case 4:  a += (u32)k[3]<<24;
-       case 3:  a += (u32)k[2]<<16;
-       case 2:  a += (u32)k[1]<<8;
+       case 12: c += (u32)k[11]<<24;   /* fall through */
+       case 11: c += (u32)k[10]<<16;   /* fall through */
+       case 10: c += (u32)k[9]<<8;     /* fall through */
+       case 9:  c += k[8];             /* fall through */
+       case 8:  b += (u32)k[7]<<24;    /* fall through */
+       case 7:  b += (u32)k[6]<<16;    /* fall through */
+       case 6:  b += (u32)k[5]<<8;     /* fall through */
+       case 5:  b += k[4];             /* fall through */
+       case 4:  a += (u32)k[3]<<24;    /* fall through */
+       case 3:  a += (u32)k[2]<<16;    /* fall through */
+       case 2:  a += (u32)k[1]<<8;     /* fall through */
        case 1:  a += k[0];
                 __jhash_final(a, b, c);
        case 0: /* Nothing left to add */
@@ -131,10 +130,10 @@ static inline u32 jhash2(const u32 *k, u32 length, u32 initval)
                k += 3;
        }
 
-       /* Handle the last 3 u32's: all the case statements fall through */
+       /* Handle the last 3 u32's */
        switch (length) {
-       case 3: c += k[2];
-       case 2: b += k[1];
+       case 3: c += k[2];      /* fall through */
+       case 2: b += k[1];      /* fall through */
        case 1: a += k[0];
                __jhash_final(a, b, c);
        case 0: /* Nothing left to add */