BUILD: hash: use __fallthrough in hash_djb2()
This avoids 5 build warnings when preprocessing happens before compiling
with gcc >= 7.
diff --git a/src/hash.c b/src/hash.c
index a20b90c..5c92e94 100644
--- a/src/hash.c
+++ b/src/hash.c
@@ -14,6 +14,7 @@
*/
+#include <haproxy/compiler.h>
#include <haproxy/hash.h>
@@ -62,12 +63,12 @@
hash = ((hash << 5) + hash) + *key++;
}
switch (len) {
- case 7: hash = ((hash << 5) + hash) + *key++; /* fallthrough... */
- case 6: hash = ((hash << 5) + hash) + *key++; /* fallthrough... */
- case 5: hash = ((hash << 5) + hash) + *key++; /* fallthrough... */
- case 4: hash = ((hash << 5) + hash) + *key++; /* fallthrough... */
- case 3: hash = ((hash << 5) + hash) + *key++; /* fallthrough... */
- case 2: hash = ((hash << 5) + hash) + *key++; /* fallthrough... */
+ case 7: hash = ((hash << 5) + hash) + *key++; __fallthrough;
+ case 6: hash = ((hash << 5) + hash) + *key++; __fallthrough;
+ case 5: hash = ((hash << 5) + hash) + *key++; __fallthrough;
+ case 4: hash = ((hash << 5) + hash) + *key++; __fallthrough;
+ case 3: hash = ((hash << 5) + hash) + *key++; __fallthrough;
+ case 2: hash = ((hash << 5) + hash) + *key++; __fallthrough;
case 1: hash = ((hash << 5) + hash) + *key++; break;
default: /* case 0: */ break;
}