[WebAssembly] fix typo in range check for Asm locals
authorWouter van Oortmerssen <aardappel@gmail.com>
Mon, 12 Jul 2021 20:06:54 +0000 (13:06 -0700)
committerWouter van Oortmerssen <aardappel@gmail.com>
Mon, 12 Jul 2021 20:07:11 +0000 (13:07 -0700)
llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp

index e79fcd3..2f9245a 100644 (file)
@@ -102,8 +102,8 @@ bool WebAssemblyAsmTypeCheck::popType(SMLoc ErrorLoc,
 
 bool WebAssemblyAsmTypeCheck::getLocal(SMLoc ErrorLoc, const MCInst &Inst,
                                        wasm::ValType &Type) {
-  auto Local = Inst.getOperand(0).getImm();
-  if (static_cast<size_t>(Local) > LocalTypes.size())
+  auto Local = static_cast<size_t>(Inst.getOperand(0).getImm());
+  if (Local >= LocalTypes.size())
     return typeError(ErrorLoc, StringRef("no local type specified for index ") +
                           std::to_string(Local));
   Type = LocalTypes[Local];