PR #1961: Fix Clang warnings on powerpc Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1961 We maintain the V8 Js Compiler on IBM platforms which uses abseil as a dependency. We have recently switched to using Clang and need to create this patch to fix two warnings: ``` warning: implicit conversion changes signedness: 'uint64_t' (aka 'unsigned long') to 'int64_t' (aka 'long') [-Wsign-conversion] warning: implicit conversion loses integer precision: 'uintptr_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] ``` Merge 2e972b5c720886cdc906b7373a7e20aa49c79e08 into d71fcd13f6ccd1076e5c65a49f53cebb371a674d Merging this change closes #1961 COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1961 from miladfarca:ppc-fix-clang-warn 2e972b5c720886cdc906b7373a7e20aa49c79e08 PiperOrigin-RevId: 823581713 Change-Id: Icff10b99b3808f51866fb97576af405826742088
diff --git a/absl/base/internal/unscaledcycleclock.cc b/absl/base/internal/unscaledcycleclock.cc index dca7cba..73e4145 100644 --- a/absl/base/internal/unscaledcycleclock.cc +++ b/absl/base/internal/unscaledcycleclock.cc
@@ -62,7 +62,7 @@ int64_t UnscaledCycleClock::Now() { #ifdef __GLIBC__ - return __ppc_get_timebase(); + return static_cast<int64_t>(__ppc_get_timebase()); #else #ifdef __powerpc64__ int64_t tbr;
diff --git a/absl/debugging/internal/stacktrace_powerpc-inl.inc b/absl/debugging/internal/stacktrace_powerpc-inl.inc index f82ca8f..ade4edf 100644 --- a/absl/debugging/internal/stacktrace_powerpc-inl.inc +++ b/absl/debugging/internal/stacktrace_powerpc-inl.inc
@@ -223,8 +223,9 @@ } if (sizes != nullptr) { if (next_sp > sp) { - sizes[n] = absl::debugging_internal::StripPointerMetadata(next_sp) - - absl::debugging_internal::StripPointerMetadata(sp); + sizes[n] = static_cast<int>( + absl::debugging_internal::StripPointerMetadata(next_sp) - + absl::debugging_internal::StripPointerMetadata(sp)); } else { // A frame-size of 0 is used to indicate unknown frame size. sizes[n] = 0;