summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorBen Pfaff <blp@ovn.org>2017-07-13 10:15:42 -0700
committerBen Pfaff <blp@ovn.org>2017-08-02 14:05:59 -0700
commitf3eb7691bfddda35dc65c781de54adf837e8f6b7 (patch)
tree665797de4a9b4c6f2dc1ebb2cca26284c1deeb81 /lib
parent8c2c225e481d6560faf73bb49c33f026bc58a664 (diff)
downloadopenvswitch-f3eb7691bfddda35dc65c781de54adf837e8f6b7.tar.gz
hash: Add "fall through" annotations for 32-bit builds as well.
Commit 73c7216a5329 ("Fix some -Wimplicit-fallthrough warnings building with GCC 7") missed a few fall through annotations that only appear in 32-bit builds. This commit adds them. CC: Timothy Redaelli <tredaelli@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Andy Zhou <azhou@ovn.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/hash.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/hash.c b/lib/hash.c
index 321f9d927..8ff9b1a2b 100644
--- a/lib/hash.c
+++ b/lib/hash.c
@@ -139,47 +139,61 @@ hash_bytes128(const void *p_, size_t len, uint32_t basis, ovs_u128 *out)
switch (len & 15) {
case 15:
k4 ^= tail[14] << 16;
+ /* fall through */
case 14:
k4 ^= tail[13] << 8;
+ /* fall through */
case 13:
k4 ^= tail[12] << 0;
k4 *= c4;
k4 = hash_rot(k4, 18);
k4 *= c1;
h4 ^= k4;
+ /* fall through */
case 12:
k3 ^= tail[11] << 24;
+ /* fall through */
case 11:
k3 ^= tail[10] << 16;
+ /* fall through */
case 10:
k3 ^= tail[9] << 8;
+ /* fall through */
case 9:
k3 ^= tail[8] << 0;
k3 *= c3;
k3 = hash_rot(k3, 17);
k3 *= c4;
h3 ^= k3;
+ /* fall through */
case 8:
k2 ^= tail[7] << 24;
+ /* fall through */
case 7:
k2 ^= tail[6] << 16;
+ /* fall through */
case 6:
k2 ^= tail[5] << 8;
+ /* fall through */
case 5:
k2 ^= tail[4] << 0;
k2 *= c2;
k2 = hash_rot(k2, 16);
k2 *= c3;
h2 ^= k2;
+ /* fall through */
case 4:
k1 ^= tail[3] << 24;
+ /* fall through */
case 3:
k1 ^= tail[2] << 16;
+ /* fall through */
case 2:
k1 ^= tail[1] << 8;
+ /* fall through */
case 1:
k1 ^= tail[0] << 0;
k1 *= c1;