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; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits