Subject: Re: [PATCH v2 01/13] push: do not pretend to return `int` from `die_push_simple()`

From: Junio C Hamano <[email-masked]>
Date: Fri, 04 Oct 2019 07:37:57 +0900

"Johannes Schindelin via GitGitGadget" <[email-masked]>
writes:

> From: Johannes Schindelin <[email-masked]>
>
> This function is marked as `NORETURN`, and it indeed does not want to
> return anything. So let's not declare it with the return type `int`.
> This fixes the following warning when building with MSVC:
>
> 	C4646: function declared with 'noreturn' has non-void return type
>
> Signed-off-by: Johannes Schindelin <[email-masked]>
> ---
>  builtin/push.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/builtin/push.c b/builtin/push.c
> index 021dd3b1e4..d216270d5f 100644
> --- a/builtin/push.c
> +++ b/builtin/push.c
> @@ -143,8 +143,8 @@ static int push_url_of_remote(struct remote *remote, const char ***url_p)
>  	return remote->url_nr;
>  }
>  
> -static NORETURN int die_push_simple(struct branch *branch,
> -				    struct remote *remote)
> +static NORETURN void die_push_simple(struct branch *branch,
> +				     struct remote *remote)

Haha ;-)  "I won't return and I'll return int" sounds like an
oxymoron.

>  {
>  	/*
>  	 * There's no point in using shorten_unambiguous_ref here,