[PATCH 24/59] support: Use CHAR_MAX as maximum value

Sam James sam@gentoo.org
Mon Oct 20 16:45:09 GMT 2025


Adhemerval Zanella <adhemerval.zanella@linaro.org> writes:

> On ABIs with defined 'char' was unsigned type, clang fails to build

On ABIs where 'char' is defined as an unsigned type, ...

> support_process_state.c with:
>
>   support_process_state.c:70:21: error: result of comparison of constant  -1 with expression of type 'char' is always false [-Werror,-Wtautological-constant-out-of-range-compare]
>      70 |       if (cur_state == -1)
>         |           ~~~~~~~~~ ^  ~~
>   1 error generated.
> ---

Reviewed-by: Sam James <sam@gentoo.org>

>  support/support_process_state.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/support/support_process_state.c b/support/support_process_state.c
> index d2cb546136..8f8e118ce9 100644
> --- a/support/support_process_state.c
> +++ b/support/support_process_state.c
> @@ -59,7 +59,7 @@ support_process_state_wait (pid_t pid, enum support_process_state state)
>  
>    for (;;)
>      {
> -      char cur_state = -1;
> +      char cur_state = CHAR_MAX;
>        while (xgetline (&line, &linesiz, fstatus) > 0)
>  	if (strncmp (line, "State:", strlen ("State:")) == 0)
>  	  {
> @@ -67,7 +67,7 @@ support_process_state_wait (pid_t pid, enum support_process_state state)
>  	    break;
>  	  }
>        /* Fallback to nanosleep for invalid state.  */
> -      if (cur_state == -1)
> +      if (cur_state == CHAR_MAX)
>  	break;
>  
>        for (size_t i = 0; i < array_length (process_states); ++i)


More information about the Libc-alpha mailing list