Re: [PATCH 2/2] style: do not "break" in switch() after "return"
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Dec 16, 2020, 00:30 UTC
- Message-ID
- <xmqqtusm618e.fsf@gitster.c.googlers.com>
- In-Reply-To
- <20201215235027.10401-3-avarab@gmail.com>
Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
> Remove this unreachable code. It was found by SunCC, it's found by a > non-fatal warning emitted by SunCC. It's one of the things it's more > vehement about than GCC & Clang.
This is a borderline Meh to me.
I am even tempted to suggest that, unless all other case arms return, iow, if there is even a single arm that breaks, it may even be more future-proof to end any and all case arms that do not fall-thru to consistently end with break.
If there is some way to fix the compiler, that may be preferrable, but as I said, this is borderline Meh and I do not care too deeply either way.
Thanks.
Show 37 quoted lines
> These return/break cases are just unnecessary however, and as seen
> here the surrounding code just did a plain "return" without a "break"
> already.
>
> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
> ---
> apply.c | 2 --
> builtin/fast-export.c | 1 -
> 2 files changed, 3 deletions(-)
>
> diff --git a/apply.c b/apply.c
> index 4a4e9a0158c..668b16e9893 100644
> --- a/apply.c
> +++ b/apply.c
> @@ -3948,10 +3948,8 @@ static int check_patch(struct apply_state *state, struct patch *patch)
> break; /* happy */
> case EXISTS_IN_INDEX:
> return error(_("%s: already exists in index"), new_name);
> - break;
> case EXISTS_IN_INDEX_AS_ITA:
> return error(_("%s: does not match index"), new_name);
> - break;
> case EXISTS_IN_WORKTREE:
> return error(_("%s: already exists in working directory"),
> new_name);
> diff --git a/builtin/fast-export.c b/builtin/fast-export.c
> index d2e33f50052..0a60356b06e 100644
> --- a/builtin/fast-export.c
> +++ b/builtin/fast-export.c
> @@ -923,7 +923,6 @@ static struct commit *get_commit(struct rev_cmdline_entry *e, char *full_name)
> if (!tag)
> die("Tag %s points nowhere?", e->name);
> return (struct commit *)tag;
> - break;
> }
> default:
> return NULL;