Merge "Fix 32bit -> 64bit signed sign extension with thread IDs." into studio-master-dev
diff --git a/cc/gapic/android/thread.cpp b/cc/gapic/android/thread.cpp
index ed3d4a9..3b24003 100644
--- a/cc/gapic/android/thread.cpp
+++ b/cc/gapic/android/thread.cpp
@@ -18,11 +18,14 @@
#include <pthread.h>
+#include <type_traits>
+
namespace gapic {
Thread Thread::current() {
auto thread = pthread_self();
- return Thread(static_cast<uint64_t>(thread));
+ auto asUnsigned = static_cast<std::make_unsigned<decltype(thread)>::type>(thread);
+ return Thread(static_cast<uint64_t>(asUnsigned));
}
} // namespace gapic