Clear the PendingTypeTests vector after moving from it.

This is to put the vector into a well defined state. Apparently the state of a
vector after being moved from is valid but unspecified. Found with clang-tidy.

llvm-svn: 290298
This commit is contained in:
Peter Collingbourne
2016-12-22 02:52:23 +00:00
parent e37633713d
commit 704f814a5e

View File

@@ -4915,6 +4915,7 @@ Error ModuleSummaryIndexBitcodeReader::parseEntireSummary(
auto FS = llvm::make_unique<FunctionSummary>(
Flags, InstCount, std::move(Refs), std::move(Calls),
std::move(PendingTypeTests));
PendingTypeTests.clear();
auto GUID = getGUIDFromValueId(ValueID);
FS->setModulePath(TheIndex.addModulePath(ModulePath, 0)->first());
FS->setOriginalName(GUID.second);
@@ -4989,6 +4990,7 @@ Error ModuleSummaryIndexBitcodeReader::parseEntireSummary(
auto FS = llvm::make_unique<FunctionSummary>(
Flags, InstCount, std::move(Refs), std::move(Edges),
std::move(PendingTypeTests));
PendingTypeTests.clear();
LastSeenSummary = FS.get();
FS->setModulePath(ModuleIdMap[ModuleId]);
TheIndex.addGlobalValueSummary(GUID, std::move(FS));