Move new assert to correct location
authorTeresa Johnson <tejohnson@google.com>
Sat, 21 Nov 2015 03:51:23 +0000 (03:51 +0000)
committerTeresa Johnson <tejohnson@google.com>
Sat, 21 Nov 2015 03:51:23 +0000 (03:51 +0000)
This assert was meant to execute at the end of parseMetadata, but
we return early and never reach the end of the function. Caught
by a compile-time warning since the function doesn't return a value
from that location.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253762 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Bitcode/Reader/BitcodeReader.cpp

index f2b0a0fd6788012d57842394aa0528855fde794e..9d907773cb369fb2cc0b5d95c4fa1847adfe2b88 100644 (file)
@@ -1967,6 +1967,9 @@ std::error_code BitcodeReader::parseMetadata(bool ModuleLevel) {
       return error("Malformed block");
     case BitstreamEntry::EndBlock:
       MDValueList.tryToResolveCycles();
+      assert((!(ModuleLevel && SeenModuleValuesRecord) ||
+              NumModuleMDs == MDValueList.size()) &&
+             "Inconsistent bitcode: METADATA_VALUES mismatch");
       return std::error_code();
     case BitstreamEntry::Record:
       // The interesting case.
@@ -2396,9 +2399,6 @@ std::error_code BitcodeReader::parseMetadata(bool ModuleLevel) {
     }
     }
   }
-  assert((!(ModuleLevel && SeenModuleValuesRecord) ||
-          NumModuleMDs == MDValueList.size()) &&
-         "Inconsistent bitcode: METADATA_VALUES mismatch");
 #undef GET_OR_DISTINCT
 }