[PATCH v5 10/12] benchtests: Remove clang warnings

Sam James sam@gentoo.org
Thu Nov 20 19:25:34 GMT 2025


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

> clangs warns of the implicit cast of RAND_MAX to float:
>
>   error: implicit conversion from 'int' to 'float' changes value from
>   2147483647 to 2147483648 [-Werror,-Wimplicit-const-int-float-conversion]

Commit message doesn't mention must_execute (but the change is
right). Please amend the commit message. With that fixed:

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

>
> So make it explicit.
> ---
>  benchtests/bench-malloc-thread.c | 2 +-
>  benchtests/bench-strchr.c        | 4 ++--
>  2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/benchtests/bench-malloc-thread.c b/benchtests/bench-malloc-thread.c
> index 7759c61847..2371c42e65 100644
> --- a/benchtests/bench-malloc-thread.c
> +++ b/benchtests/bench-malloc-thread.c
> @@ -68,7 +68,7 @@ get_block_size (unsigned int rand_data)
>    float min_pow = powf (dist_min, exponent + 1);
>    float max_pow = powf (dist_max, exponent + 1);
>  
> -  float r = (float) rand_data / RAND_MAX;
> +  float r = (float) rand_data / (float) RAND_MAX;
>  
>    return (unsigned int) powf ((max_pow - min_pow) * r + min_pow,
>  			      1 / (exponent + 1));
> diff --git a/benchtests/bench-strchr.c b/benchtests/bench-strchr.c
> index 63bb9552de..734d44b6de 100644
> --- a/benchtests/bench-strchr.c
> +++ b/benchtests/bench-strchr.c
> @@ -100,7 +100,7 @@ do_one_rand_plus_branch_test (json_ctx_t *json_ctx, impl_t *impl,
>                                const CHAR *s, const CHAR *c)
>  {
>    size_t i, iters = INNER_LOOP_ITERS8;
> -  int must_execute = 0;
> +  volatile int must_execute = 0;
>    timing_t start, stop, cur;
>    TIMING_NOW (start);
>    for (i = 0; i < iters; ++i)
> @@ -166,7 +166,7 @@ do_rand_test (json_ctx_t *json_ctx, size_t align, size_t pos, size_t len,
>    buf[align + len] = 0;
>    buf[align + pos] = 1;
>  
> -  perc_zero_int = perc_zero * RAND_MAX;
> +  perc_zero_int = perc_zero * (float) RAND_MAX;
>    for (i = 0; i < NUM_SEARCH_CHARS; ++i)
>      {
>        if (rand () > perc_zero_int)


More information about the Libc-alpha mailing list