[InstrProf] Silence warnings when targeting x86 with VS2019 16.5.4
authorAlexandre Ganea <alexandre.ganea@ubisoft.com>
Mon, 4 May 2020 22:14:25 +0000 (18:14 -0400)
committerAlexandre Ganea <alexandre.ganea@ubisoft.com>
Wed, 6 May 2020 13:12:00 +0000 (09:12 -0400)
Differential Revision: https://reviews.llvm.org/D79337

llvm/lib/ProfileData/InstrProfReader.cpp

index 089dfca..16a69cb 100644 (file)
@@ -423,11 +423,11 @@ Error RawInstrProfReader<IntPtrT>::readRawCounts(
 
   // Check bounds. Note that the counter pointer embedded in the data record
   // may itself be corrupt.
-  if (NumCounters > MaxNumCounters)
+  if (MaxNumCounters < 0 || NumCounters > (uint32_t)MaxNumCounters)
     return error(instrprof_error::malformed);
   ptrdiff_t CounterOffset = getCounterOffset(CounterPtr);
   if (CounterOffset < 0 || CounterOffset > MaxNumCounters ||
-      (CounterOffset + NumCounters) > MaxNumCounters)
+      ((uint32_t)CounterOffset + NumCounters) > (uint32_t)MaxNumCounters)
     return error(instrprof_error::malformed);
 
   auto RawCounts = makeArrayRef(getCounter(CounterOffset), NumCounters);