[glibc/azanella/clang] benchtests: Remove clang warnings

Adhemerval Zanella azanella@sourceware.org
Thu Apr 10 18:17:00 GMT 2025


https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=7a328725a510c3957c70b2d576e487e934061414

commit 7a328725a510c3957c70b2d576e487e934061414
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Tue Feb 6 16:52:17 2024 -0300

    benchtests: Remove clang warnings
    
    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]
    
    So make it explicit.

Diff:
---
 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 d16befaeaf..c95fad76ca 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 89a085e69f..c61af1c1ee 100644
--- a/benchtests/bench-strchr.c
+++ b/benchtests/bench-strchr.c
@@ -97,7 +97,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)
@@ -162,7 +162,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 Glibc-cvs mailing list