summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clang-doc/Serialize.cpp
diff options
context:
space:
mode:
authorJulie Hockett <juliehockett@google.com>2018-08-24 16:43:46 +0000
committerJulie Hockett <juliehockett@google.com>2018-08-24 16:43:46 +0000
commitb8ff56c7267497e3424b992306a57c15f87b7f9b (patch)
treedf7e81f5bf89f3db293d96a0a16ce46e3a236c67 /clang-tools-extra/clang-doc/Serialize.cpp
parent1ccbddca2c71e19062bd63690b9aff1dd9e15cca (diff)
downloadbcm5719-llvm-b8ff56c7267497e3424b992306a57c15f87b7f9b.tar.gz
bcm5719-llvm-b8ff56c7267497e3424b992306a57c15f87b7f9b.zip
[clang-doc] Fix memory leaks
Adds a virtual destructor to the base Info class. Differential Revision: https://reviews.llvm.org/D51137 llvm-svn: 340620
Diffstat (limited to 'clang-tools-extra/clang-doc/Serialize.cpp')
-rw-r--r--clang-tools-extra/clang-doc/Serialize.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/clang-tools-extra/clang-doc/Serialize.cpp b/clang-tools-extra/clang-doc/Serialize.cpp
index 873a9bdd1f2..4508221271f 100644
--- a/clang-tools-extra/clang-doc/Serialize.cpp
+++ b/clang-tools-extra/clang-doc/Serialize.cpp
@@ -361,7 +361,7 @@ std::unique_ptr<Info> emitInfo(const FunctionDecl *D, const FullComment *FC,
I->USR = Func.Namespace[0].USR;
else
I->USR = SymbolID();
- I->ChildFunctions.push_back(std::move(Func));
+ I->ChildFunctions.emplace_back(std::move(Func));
return std::unique_ptr<Info>{std::move(I)};
}
@@ -382,7 +382,7 @@ std::unique_ptr<Info> emitInfo(const CXXMethodDecl *D, const FullComment *FC,
// Wrap in enclosing scope
auto I = llvm::make_unique<RecordInfo>();
I->USR = ParentUSR;
- I->ChildFunctions.push_back(std::move(Func));
+ I->ChildFunctions.emplace_back(std::move(Func));
return std::unique_ptr<Info>{std::move(I)};
}
@@ -402,13 +402,13 @@ std::unique_ptr<Info> emitInfo(const EnumDecl *D, const FullComment *FC,
case InfoType::IT_namespace: {
auto I = llvm::make_unique<NamespaceInfo>();
I->USR = Enum.Namespace[0].USR;
- I->ChildEnums.push_back(std::move(Enum));
+ I->ChildEnums.emplace_back(std::move(Enum));
return std::unique_ptr<Info>{std::move(I)};
}
case InfoType::IT_record: {
auto I = llvm::make_unique<RecordInfo>();
I->USR = Enum.Namespace[0].USR;
- I->ChildEnums.push_back(std::move(Enum));
+ I->ChildEnums.emplace_back(std::move(Enum));
return std::unique_ptr<Info>{std::move(I)};
}
default:
@@ -419,7 +419,7 @@ std::unique_ptr<Info> emitInfo(const EnumDecl *D, const FullComment *FC,
// Put in global namespace
auto I = llvm::make_unique<NamespaceInfo>();
I->USR = SymbolID();
- I->ChildEnums.push_back(std::move(Enum));
+ I->ChildEnums.emplace_back(std::move(Enum));
return std::unique_ptr<Info>{std::move(I)};
}
OpenPOWER on IntegriCloud