diff options
author | Julie Hockett <juliehockett@google.com> | 2018-08-24 16:43:46 +0000 |
---|---|---|
committer | Julie Hockett <juliehockett@google.com> | 2018-08-24 16:43:46 +0000 |
commit | b8ff56c7267497e3424b992306a57c15f87b7f9b (patch) | |
tree | df7e81f5bf89f3db293d96a0a16ce46e3a236c67 /clang-tools-extra/clang-doc/Serialize.cpp | |
parent | 1ccbddca2c71e19062bd63690b9aff1dd9e15cca (diff) | |
download | bcm5719-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.cpp | 10 |
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)}; } |