From 67a2d3a296287254d9256b5b7fbd215fe20c49e5 Mon Sep 17 00:00:00 2001 From: James Buren Date: Wed, 9 Mar 2022 05:00:08 -0600 Subject: [PATCH] 1.1: Make switch fallthrough explicit This includes a backport of #6426 Testing: ``` git clean -e /.envrc -e /.direnv -fdx \ && CFLAGS=-Werror=implicit-fallthrough pip -v install -e . ``` --- src/borg/algorithms/crc32_clmul.c | 4 ++-- src/borg/algorithms/msgpack/unpack_template.h | 2 +- src/borg/cache_sync/unpack_template.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/borg/algorithms/crc32_clmul.c b/src/borg/algorithms/crc32_clmul.c index 8a065390c..65b068675 100644 --- a/src/borg/algorithms/crc32_clmul.c +++ b/src/borg/algorithms/crc32_clmul.c @@ -363,8 +363,8 @@ crc32_clmul(const uint8_t *src, long len, uint32_t initial_crc) */ uint32_t crc = ~initial_crc; switch (len) { - case 3: crc = (crc >> 8) ^ Crc32Lookup[0][(crc & 0xFF) ^ *src++]; - case 2: crc = (crc >> 8) ^ Crc32Lookup[0][(crc & 0xFF) ^ *src++]; + case 3: crc = (crc >> 8) ^ Crc32Lookup[0][(crc & 0xFF) ^ *src++]; // fallthrough + case 2: crc = (crc >> 8) ^ Crc32Lookup[0][(crc & 0xFF) ^ *src++]; // fallthrough case 1: crc = (crc >> 8) ^ Crc32Lookup[0][(crc & 0xFF) ^ *src++]; } return ~crc; diff --git a/src/borg/algorithms/msgpack/unpack_template.h b/src/borg/algorithms/msgpack/unpack_template.h index 525dea247..618cd5381 100644 --- a/src/borg/algorithms/msgpack/unpack_template.h +++ b/src/borg/algorithms/msgpack/unpack_template.h @@ -245,7 +245,7 @@ static inline int unpack_execute(unpack_context* ctx, const char* data, Py_ssize _fixed_trail_again: - ++p; + ++p; // fallthrough default: if((size_t)(pe - p) < trail) { goto _out; } diff --git a/src/borg/cache_sync/unpack_template.h b/src/borg/cache_sync/unpack_template.h index 5bc48849f..39f9f3314 100644 --- a/src/borg/cache_sync/unpack_template.h +++ b/src/borg/cache_sync/unpack_template.h @@ -196,7 +196,7 @@ static inline int unpack_execute(unpack_context* ctx, const char* data, size_t l _fixed_trail_again: - ++p; + ++p; // fallthrough default: if((size_t)(pe - p) < trail) { goto _out; }