Re: [PATCH] refs: forbid clang to complain about unreachable code
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Oct 10, 2025, 15:48 UTC
- Message-ID
- <xmqqwm52ahav.fsf@gitster.g>
- In-Reply-To
- <aOia55_sjFQjw1UQ@pks.im>
Patrick Steinhardt <ps@pks.im> writes:
Show 6 quoted lines
> An alternative could be to fix this at the source, e.g. like the below > (untested) patch. But I don't mind this too much, especially given that > this here is the only callsite of that function anyway. So please feel > free to disregard. > > Thanks!
Indeed that is much nicer as it targets only NO_SYMLINK_HEAD case without affecting the other side of #ifdef/#else/#endif but as you say, I think this falls into "once the code is written one way, it is not worth revisiting to change it with more iterations" category.
Thanks for very sharp eyes, nevertheless.
Show 13 quoted lines
> diff --git a/refs/files-backend.c b/refs/files-backend.c
> index bb2bec3807..cb402a2a54 100644
> --- a/refs/files-backend.c
> +++ b/refs/files-backend.c
> @@ -2115,7 +2115,7 @@ static int commit_ref_update(struct files_ref_store *refs,
> }
>
> #ifdef NO_SYMLINK_HEAD
> -#define create_ref_symlink(a, b) (-1)
> +#define create_ref_symlink(a, b) NOT_CONSTANT(-1)
> #else
> static int create_ref_symlink(struct ref_lock *lock, const char *target)
> {