summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYossi Gottlieb <yossigo@gmail.com>2018-06-03 15:54:30 +0300
committerYossi Gottlieb <yossigo@gmail.com>2018-06-03 15:54:30 +0300
commite1222d8b10552cda6f6fdf1178a2ca25ad77894b (patch)
treedf1d28762d5aec175208ed2edb49260bf77a4769
parent86de089a1e494b2f2291858ad6b76e4452068193 (diff)
downloadredis-e1222d8b10552cda6f6fdf1178a2ca25ad77894b.tar.gz
Clean gcc 7.x warnings, redis-cli cluster fix.
-rw-r--r--src/hyperloglog.c14
-rw-r--r--src/lzf_d.c23
-rw-r--r--src/redis-cli.c2
-rw-r--r--src/siphash.c24
4 files changed, 33 insertions, 30 deletions
diff --git a/src/hyperloglog.c b/src/hyperloglog.c
index 0670c1cf5..01a409bb5 100644
--- a/src/hyperloglog.c
+++ b/src/hyperloglog.c
@@ -429,14 +429,14 @@ uint64_t MurmurHash64A (const void * key, int len, unsigned int seed) {
}
switch(len & 7) {
- case 7: h ^= (uint64_t)data[6] << 48;
- case 6: h ^= (uint64_t)data[5] << 40;
- case 5: h ^= (uint64_t)data[4] << 32;
- case 4: h ^= (uint64_t)data[3] << 24;
- case 3: h ^= (uint64_t)data[2] << 16;
- case 2: h ^= (uint64_t)data[1] << 8;
+ case 7: h ^= (uint64_t)data[6] << 48; /* fall-thru */
+ case 6: h ^= (uint64_t)data[5] << 40; /* fall-thru */
+ case 5: h ^= (uint64_t)data[4] << 32; /* fall-thru */
+ case 4: h ^= (uint64_t)data[3] << 24; /* fall-thru */
+ case 3: h ^= (uint64_t)data[2] << 16; /* fall-thru */
+ case 2: h ^= (uint64_t)data[1] << 8; /* fall-thru */
case 1: h ^= (uint64_t)data[0];
- h *= m;
+ h *= m; /* fall-thru */
};
h ^= h >> r;
diff --git a/src/lzf_d.c b/src/lzf_d.c
index c32be8e87..93f43c27c 100644
--- a/src/lzf_d.c
+++ b/src/lzf_d.c
@@ -86,6 +86,8 @@ lzf_decompress (const void *const in_data, unsigned int in_len,
#ifdef lzf_movsb
lzf_movsb (op, ip, ctrl);
#else
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
switch (ctrl)
{
case 32: *op++ = *ip++; case 31: *op++ = *ip++; case 30: *op++ = *ip++; case 29: *op++ = *ip++;
@@ -97,6 +99,7 @@ lzf_decompress (const void *const in_data, unsigned int in_len,
case 8: *op++ = *ip++; case 7: *op++ = *ip++; case 6: *op++ = *ip++; case 5: *op++ = *ip++;
case 4: *op++ = *ip++; case 3: *op++ = *ip++; case 2: *op++ = *ip++; case 1: *op++ = *ip++;
}
+#pragma GCC diagnostic pop
#endif
}
else /* back reference */
@@ -163,17 +166,17 @@ lzf_decompress (const void *const in_data, unsigned int in_len,
break;
- case 9: *op++ = *ref++;
- case 8: *op++ = *ref++;
- case 7: *op++ = *ref++;
- case 6: *op++ = *ref++;
- case 5: *op++ = *ref++;
- case 4: *op++ = *ref++;
- case 3: *op++ = *ref++;
- case 2: *op++ = *ref++;
- case 1: *op++ = *ref++;
+ case 9: *op++ = *ref++; /* fall-thru */
+ case 8: *op++ = *ref++; /* fall-thru */
+ case 7: *op++ = *ref++; /* fall-thru */
+ case 6: *op++ = *ref++; /* fall-thru */
+ case 5: *op++ = *ref++; /* fall-thru */
+ case 4: *op++ = *ref++; /* fall-thru */
+ case 3: *op++ = *ref++; /* fall-thru */
+ case 2: *op++ = *ref++; /* fall-thru */
+ case 1: *op++ = *ref++; /* fall-thru */
case 0: *op++ = *ref++; /* two octets more */
- *op++ = *ref++;
+ *op++ = *ref++; /* fall-thru */
}
#endif
}
diff --git a/src/redis-cli.c b/src/redis-cli.c
index f406d505a..05865a925 100644
--- a/src/redis-cli.c
+++ b/src/redis-cli.c
@@ -5091,7 +5091,7 @@ static int clusterManagerCommandImport(int argc, char **argv) {
// Build a slot -> node map
clusterManagerNode *slots_map[CLUSTER_MANAGER_SLOTS];
- memset(slots_map, 0, sizeof(slots_map) / sizeof(clusterManagerNode *));
+ memset(slots_map, 0, sizeof(slots_map));
listIter li;
listNode *ln;
for (i = 0; i < CLUSTER_MANAGER_SLOTS; i++) {
diff --git a/src/siphash.c b/src/siphash.c
index 6c41fe6b6..6b9419031 100644
--- a/src/siphash.c
+++ b/src/siphash.c
@@ -142,12 +142,12 @@ uint64_t siphash(const uint8_t *in, const size_t inlen, const uint8_t *k) {
}
switch (left) {
- case 7: b |= ((uint64_t)in[6]) << 48;
- case 6: b |= ((uint64_t)in[5]) << 40;
- case 5: b |= ((uint64_t)in[4]) << 32;
- case 4: b |= ((uint64_t)in[3]) << 24;
- case 3: b |= ((uint64_t)in[2]) << 16;
- case 2: b |= ((uint64_t)in[1]) << 8;
+ case 7: b |= ((uint64_t)in[6]) << 48; /* fall-thru */
+ case 6: b |= ((uint64_t)in[5]) << 40; /* fall-thru */
+ case 5: b |= ((uint64_t)in[4]) << 32; /* fall-thru */
+ case 4: b |= ((uint64_t)in[3]) << 24; /* fall-thru */
+ case 3: b |= ((uint64_t)in[2]) << 16; /* fall-thru */
+ case 2: b |= ((uint64_t)in[1]) << 8; /* fall-thru */
case 1: b |= ((uint64_t)in[0]); break;
case 0: break;
}
@@ -202,12 +202,12 @@ uint64_t siphash_nocase(const uint8_t *in, const size_t inlen, const uint8_t *k)
}
switch (left) {
- case 7: b |= ((uint64_t)siptlw(in[6])) << 48;
- case 6: b |= ((uint64_t)siptlw(in[5])) << 40;
- case 5: b |= ((uint64_t)siptlw(in[4])) << 32;
- case 4: b |= ((uint64_t)siptlw(in[3])) << 24;
- case 3: b |= ((uint64_t)siptlw(in[2])) << 16;
- case 2: b |= ((uint64_t)siptlw(in[1])) << 8;
+ case 7: b |= ((uint64_t)siptlw(in[6])) << 48; /* fall-thru */
+ case 6: b |= ((uint64_t)siptlw(in[5])) << 40; /* fall-thru */
+ case 5: b |= ((uint64_t)siptlw(in[4])) << 32; /* fall-thru */
+ case 4: b |= ((uint64_t)siptlw(in[3])) << 24; /* fall-thru */
+ case 3: b |= ((uint64_t)siptlw(in[2])) << 16; /* fall-thru */
+ case 2: b |= ((uint64_t)siptlw(in[1])) << 8; /* fall-thru */
case 1: b |= ((uint64_t)siptlw(in[0])); break;
case 0: break;
}