Rephrase loop so it doesn't leave unused bools around in Release mode.
authorBenjamin Kramer <benny.kra@googlemail.com>
Tue, 1 Jul 2014 14:46:44 +0000 (14:46 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Tue, 1 Jul 2014 14:46:44 +0000 (14:46 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212102 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llvm-readobj/ARMWinEHPrinter.cpp

index f6675bdcfedf1d6d19b057e2eb442549fd5ed070..b486e4ad0e51a1dfdcf0e60c40db5a1178d6c912 100644 (file)
@@ -508,15 +508,13 @@ void Decoder::decodeOpcodes(ArrayRef<ulittle8_t> Opcodes, unsigned Offset,
 
   bool Terminated = false;
   for (unsigned OI = Offset, OE = Opcodes.size(); !Terminated && OI < OE; ) {
-    bool Decoded = false;
-    for (unsigned DI = 0, DE = array_lengthof(Ring); DI < DE; ++DI) {
+    for (unsigned DI = 0;; ++DI) {
       if ((Opcodes[OI] & Ring[DI].Mask) == Ring[DI].Value) {
         Terminated = (this->*Ring[DI].Routine)(Opcodes.data(), OI, 0, Prologue);
-        Decoded = true;
         break;
       }
+      assert(DI < array_lengthof(Ring) && "unhandled opcode");
     }
-    assert(Decoded && "unhandled opcode");
   }
 }