[clang-tools-extra] r294823 - Fix memory leak by using unique_ptr
David Blaikie via cfe-commits
cfe-commits at lists.llvm.org
Fri Feb 10 21:25:22 PST 2017
Author: dblaikie
Date: Fri Feb 10 23:25:21 2017
New Revision: 294823
URL: http://llvm.org/viewvc/llvm-project?rev=294823&view=rev
Log:
Fix memory leak by using unique_ptr
Modified:
clang-tools-extra/trunk/modularize/CoverageChecker.cpp
clang-tools-extra/trunk/modularize/CoverageChecker.h
clang-tools-extra/trunk/modularize/ModularizeUtilities.cpp
Modified: clang-tools-extra/trunk/modularize/CoverageChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/modularize/CoverageChecker.cpp?rev=294823&r1=294822&r2=294823&view=diff
==============================================================================
--- clang-tools-extra/trunk/modularize/CoverageChecker.cpp (original)
+++ clang-tools-extra/trunk/modularize/CoverageChecker.cpp Fri Feb 10 23:25:21 2017
@@ -150,12 +150,12 @@ CoverageChecker::CoverageChecker(StringR
// Create instance of CoverageChecker, to simplify setting up
// subordinate objects.
-CoverageChecker *CoverageChecker::createCoverageChecker(
- StringRef ModuleMapPath, std::vector<std::string> &IncludePaths,
- ArrayRef<std::string> CommandLine, clang::ModuleMap *ModuleMap) {
+std::unique_ptr<CoverageChecker> CoverageChecker::createCoverageChecker(
+ StringRef ModuleMapPath, std::vector<std::string> &IncludePaths,
+ ArrayRef<std::string> CommandLine, clang::ModuleMap *ModuleMap) {
- return new CoverageChecker(ModuleMapPath, IncludePaths, CommandLine,
- ModuleMap);
+ return llvm::make_unique<CoverageChecker>(ModuleMapPath, IncludePaths,
+ CommandLine, ModuleMap);
}
// Do checks.
Modified: clang-tools-extra/trunk/modularize/CoverageChecker.h
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/modularize/CoverageChecker.h?rev=294823&r1=294822&r2=294823&view=diff
==============================================================================
--- clang-tools-extra/trunk/modularize/CoverageChecker.h (original)
+++ clang-tools-extra/trunk/modularize/CoverageChecker.h Fri Feb 10 23:25:21 2017
@@ -91,10 +91,9 @@ public:
/// \param CommandLine Compile command line arguments.
/// \param ModuleMap The module map to check.
/// \returns Initialized CoverageChecker object.
- static CoverageChecker *createCoverageChecker(
- llvm::StringRef ModuleMapPath, std::vector<std::string> &IncludePaths,
- llvm::ArrayRef<std::string> CommandLine,
- clang::ModuleMap *ModuleMap);
+ static std::unique_ptr<CoverageChecker> createCoverageChecker(
+ llvm::StringRef ModuleMapPath, std::vector<std::string> &IncludePaths,
+ llvm::ArrayRef<std::string> CommandLine, clang::ModuleMap *ModuleMap);
/// Do checks.
/// Starting from the directory of the module.modulemap file,
Modified: clang-tools-extra/trunk/modularize/ModularizeUtilities.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/modularize/ModularizeUtilities.cpp?rev=294823&r1=294822&r2=294823&view=diff
==============================================================================
--- clang-tools-extra/trunk/modularize/ModularizeUtilities.cpp (original)
+++ clang-tools-extra/trunk/modularize/ModularizeUtilities.cpp Fri Feb 10 23:25:21 2017
@@ -120,8 +120,9 @@ std::error_code ModularizeUtilities::doC
std::error_code EC;
for (ModuleMapIndex = 0; ModuleMapIndex < ModuleMapCount; ++ModuleMapIndex) {
std::unique_ptr<clang::ModuleMap> &ModMap = ModuleMaps[ModuleMapIndex];
- CoverageChecker *Checker = CoverageChecker::createCoverageChecker(
- InputFilePaths[ModuleMapIndex], IncludePaths, CommandLine, ModMap.get());
+ auto Checker = CoverageChecker::createCoverageChecker(
+ InputFilePaths[ModuleMapIndex], IncludePaths, CommandLine,
+ ModMap.get());
std::error_code LocalEC = Checker->doChecks();
if (LocalEC.value() > 0)
EC = LocalEC;
More information about the cfe-commits
mailing list