mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
NFC: Fix -Wsign-compare warnings on 32-bit builds
Comparing 32-bit `ptrdiff_t` against 32-bit `unsigned` results in `-Wsign-compare` warnings for both GCC and Clang. The warning for the cases in question appear to identify an issue where the `ptrdiff_t` value would be mutated via conversion to an unsigned type. The warning is resolved by using the usual arithmetic conversions to safely preserve the value of the `unsigned` operand while trying to convert to a signed type. Host platforms where `unsigned` has the same width as `unsigned long long` will need to make a different change, but using an explicit cast has disadvantages that can be avoided for now. Reviewed By: dantrushin Differential Revision: https://reviews.llvm.org/D89612
This commit is contained in:
parent
7d7891d584
commit
65a4945bbd
@ -401,7 +401,7 @@ void StackMaps::parseStatepointOpers(const MachineInstr &MI,
|
||||
SmallVector<unsigned, 8> GCPtrIndices;
|
||||
unsigned GCPtrIdx = (unsigned)SO.getFirstGCPtrIdx();
|
||||
assert((int)GCPtrIdx != -1);
|
||||
assert(MOI - MI.operands_begin() == GCPtrIdx);
|
||||
assert(MOI - MI.operands_begin() == GCPtrIdx + 0LL);
|
||||
while (NumGCPointers--) {
|
||||
GCPtrIndices.push_back(GCPtrIdx);
|
||||
GCPtrIdx = StackMaps::getNextMetaArgIdx(&MI, GCPtrIdx);
|
||||
|
Loading…
x
Reference in New Issue
Block a user