clean up this code, add a fixme.
authorChris Lattner <sabre@nondot.org>
Sat, 9 Jan 2010 02:02:37 +0000 (02:02 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 9 Jan 2010 02:02:37 +0000 (02:02 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93042 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Bitcode/Reader/BitcodeReader.cpp

index bec9c50e301bbaebe0ee60d7d3609ad7631bde01..87c4fd77f365054610dd0ff3cbf0d6cec536cd46 100644 (file)
@@ -789,18 +789,18 @@ bool BitcodeReader::ParseMetadata() {
       unsigned Size = Record.size();
       SmallVector<MDNode *, 8> Elts;
       for (unsigned i = 0; i != Size; ++i) {
-        if (Record[i] == ~0U)
+        if (Record[i] == ~0U) {
           Elts.push_back(NULL);
-        else {
-          Value *MD = MDValueList.getValueFwdRef(Record[i]);
-          if (MDNode *B = dyn_cast<MDNode>(MD))
-            Elts.push_back(B);
-          else
-            return Error("Malformed metadata record");
+          continue;
         }
+        MDNode *MD = dyn_cast<MDNode>(MDValueList.getValueFwdRef(Record[i]));
+        if (MD == 0)
+          return Error("Malformed metadata record");
+        Elts.push_back(MD);
       }
       Value *V = NamedMDNode::Create(Context, Name.str(), Elts.data(),
                                      Elts.size(), TheModule);
+      // FIXME: This shouldn't poke NextValueNo?
       MDValueList.AssignValue(V, NextValueNo++);
       break;
     }