]> granicus.if.org Git - llvm/commitdiff
[RISCV] Fix use of side-effects in asserts in decoder functions
authorLuis Marques <luismarques@lowrisc.org>
Wed, 21 Aug 2019 21:11:37 +0000 (21:11 +0000)
committerLuis Marques <luismarques@lowrisc.org>
Wed, 21 Aug 2019 21:11:37 +0000 (21:11 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@369580 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp

index cdc95daa8061a95cb855daa365727c977fe09baf..605a0d76d094a66b9c83ad65e69f1a777fdf475b 100644 (file)
@@ -303,8 +303,9 @@ static DecodeStatus decodeRVCInstrSImm(MCInst &Inst, unsigned Insn,
                                        uint64_t Address, const void *Decoder) {
   uint64_t SImm6 =
       fieldFromInstruction(Insn, 12, 1) << 5 | fieldFromInstruction(Insn, 2, 5);
-  assert(decodeSImmOperand<6>(Inst, SImm6, Address, Decoder) ==
-      MCDisassembler::Success && "Invalid immediate");
+  DecodeStatus Result = decodeSImmOperand<6>(Inst, SImm6, Address, Decoder);
+  (void)Result;
+  assert(Result == MCDisassembler::Success && "Invalid immediate");
   (void)SImm6;
   return MCDisassembler::Success;
 }
@@ -315,8 +316,9 @@ static DecodeStatus decodeRVCInstrRdSImm(MCInst &Inst, unsigned Insn,
   DecodeGPRRegisterClass(Inst, 0, Address, Decoder);
   uint64_t SImm6 =
       fieldFromInstruction(Insn, 12, 1) << 5 | fieldFromInstruction(Insn, 2, 5);
-  assert(decodeSImmOperand<6>(Inst, SImm6, Address, Decoder) ==
-      MCDisassembler::Success && "Invalid immediate");
+  DecodeStatus Result = decodeSImmOperand<6>(Inst, SImm6, Address, Decoder);
+  (void)Result;
+  assert(Result == MCDisassembler::Success && "Invalid immediate");
   (void)SImm6;
   return MCDisassembler::Success;
 }
@@ -328,8 +330,9 @@ static DecodeStatus decodeRVCInstrRdRs1UImm(MCInst &Inst, unsigned Insn,
   Inst.addOperand(Inst.getOperand(0));
   uint64_t UImm6 =
       fieldFromInstruction(Insn, 12, 1) << 5 | fieldFromInstruction(Insn, 2, 5);
-  assert(decodeUImmOperand<6>(Inst, UImm6, Address, Decoder) ==
-      MCDisassembler::Success && "Invalid immediate");
+  DecodeStatus Result = decodeUImmOperand<6>(Inst, UImm6, Address, Decoder);
+  (void)Result;
+  assert(Result == MCDisassembler::Success && "Invalid immediate");
   (void)UImm6;
   return MCDisassembler::Success;
 }