diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-08-17 23:12:27 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-08-17 23:12:27 +0000 |
commit | e4b06e92e57faa2f43a72036e83fb956c200bc3c (patch) | |
tree | 65ba0eb8b8c6678e6e19f473933b0bda88be95a4 | |
parent | 783cea4dd25c8c717a3ebcd7ac579ee181e4d613 (diff) |
Use std::unique_ptr in a few methods that take ownership.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215864 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/clang/ARCMigrate/FileRemapper.h | 4 | ||||
-rw-r--r-- | lib/ARCMigrate/ARCMT.cpp | 7 | ||||
-rw-r--r-- | lib/ARCMigrate/FileRemapper.cpp | 10 | ||||
-rw-r--r-- | lib/ARCMigrate/ObjCMT.cpp | 7 |
4 files changed, 16 insertions, 12 deletions
diff --git a/include/clang/ARCMigrate/FileRemapper.h b/include/clang/ARCMigrate/FileRemapper.h index e094301ae6..53b88e9eb5 100644 --- a/include/clang/ARCMigrate/FileRemapper.h +++ b/include/clang/ARCMigrate/FileRemapper.h @@ -52,14 +52,14 @@ public: bool overwriteOriginal(DiagnosticsEngine &Diag, StringRef outputDir = StringRef()); - void remap(StringRef filePath, llvm::MemoryBuffer *memBuf); + void remap(StringRef filePath, std::unique_ptr<llvm::MemoryBuffer> memBuf); void applyMappings(PreprocessorOptions &PPOpts) const; void clear(StringRef outputDir = StringRef()); private: - void remap(const FileEntry *file, llvm::MemoryBuffer *memBuf); + void remap(const FileEntry *file, std::unique_ptr<llvm::MemoryBuffer> memBuf); void remap(const FileEntry *file, const FileEntry *newfile); const FileEntry *getOriginalFile(StringRef filePath); diff --git a/lib/ARCMigrate/ARCMT.cpp b/lib/ARCMigrate/ARCMT.cpp index 524c8d9cae..5d5aa93b6d 100644 --- a/lib/ARCMigrate/ARCMT.cpp +++ b/lib/ARCMigrate/ARCMT.cpp @@ -597,11 +597,12 @@ bool MigrationProcess::applyTransform(TransformFn trans, llvm::raw_svector_ostream vecOS(newText); buf.write(vecOS); vecOS.flush(); - llvm::MemoryBuffer *memBuf = llvm::MemoryBuffer::getMemBufferCopy( - StringRef(newText.data(), newText.size()), newFname); + std::unique_ptr<llvm::MemoryBuffer> memBuf( + llvm::MemoryBuffer::getMemBufferCopy( + StringRef(newText.data(), newText.size()), newFname)); SmallString<64> filePath(file->getName()); Unit->getFileManager().FixupRelativePath(filePath); - Remapper.remap(filePath.str(), memBuf); + Remapper.remap(filePath.str(), std::move(memBuf)); } return false; diff --git a/lib/ARCMigrate/FileRemapper.cpp b/lib/ARCMigrate/FileRemapper.cpp index 40e6060900..677ce413d1 100644 --- a/lib/ARCMigrate/FileRemapper.cpp +++ b/lib/ARCMigrate/FileRemapper.cpp @@ -207,15 +207,17 @@ void FileRemapper::applyMappings(PreprocessorOptions &PPOpts) const { PPOpts.RetainRemappedFileBuffers = true; } -void FileRemapper::remap(StringRef filePath, llvm::MemoryBuffer *memBuf) { - remap(getOriginalFile(filePath), memBuf); +void FileRemapper::remap(StringRef filePath, + std::unique_ptr<llvm::MemoryBuffer> memBuf) { + remap(getOriginalFile(filePath), std::move(memBuf)); } -void FileRemapper::remap(const FileEntry *file, llvm::MemoryBuffer *memBuf) { +void FileRemapper::remap(const FileEntry *file, + std::unique_ptr<llvm::MemoryBuffer> memBuf) { assert(file); Target &targ = FromToMappings[file]; resetTarget(targ); - targ = memBuf; + targ = memBuf.release(); } void FileRemapper::remap(const FileEntry *file, const FileEntry *newfile) { diff --git a/lib/ARCMigrate/ObjCMT.cpp b/lib/ARCMigrate/ObjCMT.cpp index 4cefae9c37..04d66f93b7 100644 --- a/lib/ARCMigrate/ObjCMT.cpp +++ b/lib/ARCMigrate/ObjCMT.cpp @@ -1821,11 +1821,12 @@ void ObjCMigrateASTConsumer::HandleTranslationUnit(ASTContext &Ctx) { llvm::raw_svector_ostream vecOS(newText); buf.write(vecOS); vecOS.flush(); - llvm::MemoryBuffer *memBuf = llvm::MemoryBuffer::getMemBufferCopy( - StringRef(newText.data(), newText.size()), file->getName()); + std::unique_ptr<llvm::MemoryBuffer> memBuf( + llvm::MemoryBuffer::getMemBufferCopy( + StringRef(newText.data(), newText.size()), file->getName())); SmallString<64> filePath(file->getName()); FileMgr.FixupRelativePath(filePath); - Remapper.remap(filePath.str(), memBuf); + Remapper.remap(filePath.str(), std::move(memBuf)); } if (IsOutputFile) { |