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;