}
bool BitcodeReader::ParseMetadata() {
- unsigned NextValueNo = MDValueList.size();
+ unsigned NextMDValueNo = MDValueList.size();
if (Stream.EnterSubBlock(bitc::METADATA_BLOCK_ID))
return Error("Malformed block record");
}
Value *V = NamedMDNode::Create(Context, Name.str(), Elts.data(),
Elts.size(), TheModule);
- // FIXME: This shouldn't poke NextValueNo?
- MDValueList.AssignValue(V, NextValueNo++);
+ MDValueList.AssignValue(V, NextMDValueNo++);
break;
}
case bitc::METADATA_FN_NODE:
Value *V = MDNode::getWhenValsUnresolved(Context, &Elts[0], Elts.size(),
IsFunctionLocal);
IsFunctionLocal = false;
- MDValueList.AssignValue(V, NextValueNo++);
+ MDValueList.AssignValue(V, NextMDValueNo++);
break;
}
case bitc::METADATA_STRING: {
String[i] = Record[i];
Value *V = MDString::get(Context,
StringRef(String.data(), String.size()));
- MDValueList.AssignValue(V, NextValueNo++);
+ MDValueList.AssignValue(V, NextMDValueNo++);
break;
}
case bitc::METADATA_KIND: {
}
// Clear debug info
- CurrentFnDbgScope = NULL;
- DbgScopeMap.clear();
- DbgScopeBeginMap.clear();
- DbgScopeEndMap.clear();
- ConcreteScopes.clear();
- AbstractScopesList.clear();
-
+ if (CurrentFnDbgScope) {
+ CurrentFnDbgScope = NULL;
+ DbgScopeMap.clear();
+ DbgScopeBeginMap.clear();
+ DbgScopeEndMap.clear();
+ ConcreteScopes.clear();
+ AbstractScopesList.clear();
+ }
Lines.clear();
if (TimePassesIsEnabled)