| From 09014233bf10900f7bd8390b3b64ff82bca45222 Mon Sep 17 00:00:00 2001 |
| From: Khem Raj <raj.khem@gmail.com> |
| Date: Wed, 19 Apr 2017 12:04:15 -0700 |
| Subject: [PATCH 5/5] Add a comment to indicate valid fallthrough |
| |
| gcc7 warns about code with fallthroughs, this patch adds |
| the comment to indicate a valid fallthrough, helps gcc7 |
| compiler warnings |
| |
| This works in cross and native compilation case |
| |
| Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| --- |
| Upstream-Status: Submitted |
| |
| Grow.c | 4 ++++ |
| bitmap.c | 8 ++++++++ |
| mdadm.c | 2 ++ |
| super-intel.c | 1 + |
| util.c | 1 + |
| 5 files changed, 16 insertions(+) |
| |
| diff --git a/Grow.c b/Grow.c |
| index 455c5f9..27c73b1 100755 |
| --- a/Grow.c |
| +++ b/Grow.c |
| @@ -1257,6 +1257,7 @@ char *analyse_change(char *devname, struct mdinfo *info, struct reshape *re) |
| switch (info->new_level) { |
| case 4: |
| delta_parity = 1; |
| + /* fallthrough */ |
| case 0: |
| re->level = 4; |
| re->before.layout = 0; |
| @@ -1284,10 +1285,12 @@ char *analyse_change(char *devname, struct mdinfo *info, struct reshape *re) |
| |
| case 4: |
| info->array.layout = ALGORITHM_PARITY_N; |
| + /* fallthrough */ |
| case 5: |
| switch (info->new_level) { |
| case 0: |
| delta_parity = -1; |
| + /* fallthrough */ |
| case 4: |
| re->level = info->array.level; |
| re->before.data_disks = info->array.raid_disks - 1; |
| @@ -1343,6 +1346,7 @@ char *analyse_change(char *devname, struct mdinfo *info, struct reshape *re) |
| case 4: |
| case 5: |
| delta_parity = -1; |
| + /* fallthrough */ |
| case 6: |
| re->level = 6; |
| re->before.data_disks = info->array.raid_disks - 2; |
| diff --git a/bitmap.c b/bitmap.c |
| index ccedfd3..a6ff091 100644 |
| --- a/bitmap.c |
| +++ b/bitmap.c |
| @@ -82,13 +82,21 @@ static inline int count_dirty_bits_byte(char byte, int num_bits) |
| |
| switch (num_bits) { /* fall through... */ |
| case 8: if (byte & 128) num++; |
| + /* fallthrough */ |
| case 7: if (byte & 64) num++; |
| + /* fallthrough */ |
| case 6: if (byte & 32) num++; |
| + /* fallthrough */ |
| case 5: if (byte & 16) num++; |
| + /* fallthrough */ |
| case 4: if (byte & 8) num++; |
| + /* fallthrough */ |
| case 3: if (byte & 4) num++; |
| + /* fallthrough */ |
| case 2: if (byte & 2) num++; |
| + /* fallthrough */ |
| case 1: if (byte & 1) num++; |
| + /* fallthrough */ |
| default: break; |
| } |
| |
| diff --git a/mdadm.c b/mdadm.c |
| index c3a265b..2d06d3b 100644 |
| --- a/mdadm.c |
| +++ b/mdadm.c |
| @@ -148,6 +148,7 @@ int main(int argc, char *argv[]) |
| mode == CREATE || mode == GROW || |
| mode == INCREMENTAL || mode == MANAGE) |
| break; /* b means bitmap */ |
| + /* fallthrough */ |
| case Brief: |
| c.brief = 1; |
| continue; |
| @@ -828,6 +829,7 @@ int main(int argc, char *argv[]) |
| |
| case O(INCREMENTAL,NoDegraded): |
| pr_err("--no-degraded is deprecated in Incremental mode\n"); |
| + /* fallthrough */ |
| case O(ASSEMBLE,NoDegraded): /* --no-degraded */ |
| c.runstop = -1; /* --stop isn't allowed for --assemble, |
| * so we overload slightly */ |
| diff --git a/super-intel.c b/super-intel.c |
| index 4e466ff..00a2925 100644 |
| --- a/super-intel.c |
| +++ b/super-intel.c |
| @@ -3271,6 +3271,7 @@ static void getinfo_super_imsm_volume(struct supertype *st, struct mdinfo *info, |
| << SECT_PER_MB_SHIFT; |
| } |
| } |
| + /* fallthrough */ |
| case MIGR_VERIFY: |
| /* we could emulate the checkpointing of |
| * 'sync_action=check' migrations, but for now |
| diff --git a/util.c b/util.c |
| index 32bd909..f2a4d19 100644 |
| --- a/util.c |
| +++ b/util.c |
| @@ -335,6 +335,7 @@ unsigned long long parse_size(char *size) |
| switch (*c) { |
| case 'K': |
| c++; |
| + /* fallthrough */ |
| default: |
| s *= 2; |
| break; |
| -- |
| 2.12.2 |
| |