From: Jens Axboe Date: Sun, 5 Nov 2017 15:52:21 +0000 (-0700) Subject: jhash: fix annoying gcc fall through warnings X-Git-Tag: blktrace-1.3.0~39 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=dae2f95b38eeaaa3c4c5b350dd759f482802c2c9;p=blktrace.git jhash: fix annoying gcc fall through warnings Signed-off-by: Jens Axboe --- diff --git a/jhash.h b/jhash.h index 4cebd23..a4d3106 100644 --- a/jhash.h +++ b/jhash.h @@ -73,22 +73,21 @@ 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 */ + /* Last block: affect all 32 bits of (c) */ 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 1 : a += k[0]; - __jhash_final(a, b, c); + 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 : break; } @@ -117,10 +116,9 @@ static inline u32 jhash2(u32 *k, u32 length, u32 initval) } /* handle the last 3 u32's */ - /* all the case statements fall through */ 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: /* case 0: nothing left to add */