mirror of
https://github.com/google/benchmark.git
synced 2025-03-14 11:20:07 +08:00
cycleclock: Fix type conversion to match function return type (#1794)
fixes build with clang19 src/cycleclock.h:208:52: error: implicit conversion changes signedness: 'uint64_t' (aka 'unsigned long long') to 'int64_t' (aka 'long long') [-Werror,-Wsign-conversion] 208 | return (static_cast<uint64_t>(cycles_hi1) << 32) | cycles_lo; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ 1 error generated.
This commit is contained in:
parent
d77b692710
commit
7f0e99af54
@ -205,7 +205,8 @@ inline BENCHMARK_ALWAYS_INLINE int64_t Now() {
|
||||
"sub %0, zero, %0\n"
|
||||
"and %1, %1, %0\n"
|
||||
: "=r"(cycles_hi0), "=r"(cycles_lo), "=r"(cycles_hi1));
|
||||
return (static_cast<uint64_t>(cycles_hi1) << 32) | cycles_lo;
|
||||
return static_cast<int64_t>((static_cast<uint64_t>(cycles_hi1) << 32) |
|
||||
cycles_lo);
|
||||
#else
|
||||
uint64_t cycles;
|
||||
asm volatile("rdtime %0" : "=r"(cycles));
|
||||
|
Loading…
Reference in New Issue
Block a user