From: Rafael Espindola Date: Wed, 27 Aug 2014 20:03:29 +0000 (+0000) Subject: Update for LLVM api change. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d92e74d96edff4e4c92ce94a71d7c2fbcd24d522;p=clang Update for LLVM api change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216585 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/AST/ASTImporter.cpp b/lib/AST/ASTImporter.cpp index 395a4884e4..aed359b0b3 100644 --- a/lib/AST/ASTImporter.cpp +++ b/lib/AST/ASTImporter.cpp @@ -4919,10 +4919,11 @@ FileID ASTImporter::Import(FileID FromID) { // FIXME: We want to re-use the existing MemoryBuffer! const llvm::MemoryBuffer * FromBuf = Cache->getBuffer(FromContext.getDiagnostics(), FromSM); - llvm::MemoryBuffer *ToBuf + std::unique_ptr ToBuf = llvm::MemoryBuffer::getMemBufferCopy(FromBuf->getBuffer(), FromBuf->getBufferIdentifier()); - ToID = ToSM.createFileID(ToBuf, FromSLoc.getFile().getFileCharacteristic()); + ToID = ToSM.createFileID(ToBuf.release(), + FromSLoc.getFile().getFileCharacteristic()); } diff --git a/lib/Basic/SourceManager.cpp b/lib/Basic/SourceManager.cpp index ef52e824b1..47142e238e 100644 --- a/lib/Basic/SourceManager.cpp +++ b/lib/Basic/SourceManager.cpp @@ -112,8 +112,8 @@ llvm::MemoryBuffer *ContentCache::getBuffer(DiagnosticsEngine &Diag, // possible. if (!Buffer.getPointer()) { const StringRef FillStr("<<>>\n"); - Buffer.setPointer(MemoryBuffer::getNewMemBuffer(ContentsEntry->getSize(), - "")); + Buffer.setPointer(MemoryBuffer::getNewMemBuffer(ContentsEntry->getSize(), + "").release()); char *Ptr = const_cast(Buffer.getPointer()->getBufferStart()); for (unsigned i = 0, e = ContentsEntry->getSize(); i != e; ++i) Ptr[i] = FillStr[i % FillStr.size()]; @@ -501,8 +501,8 @@ SourceManager::AllocateLoadedSLocEntries(unsigned NumSLocEntries, /// fake, non-empty buffer. llvm::MemoryBuffer *SourceManager::getFakeBufferForRecovery() const { if (!FakeBufferForRecovery) - FakeBufferForRecovery.reset( - llvm::MemoryBuffer::getMemBuffer("<<>")); + FakeBufferForRecovery = + llvm::MemoryBuffer::getMemBuffer("<<>"); return FakeBufferForRecovery.get(); } diff --git a/lib/CodeGen/CodeGenAction.cpp b/lib/CodeGen/CodeGenAction.cpp index b429de7aad..73066a95b2 100644 --- a/lib/CodeGen/CodeGenAction.cpp +++ b/lib/CodeGen/CodeGenAction.cpp @@ -273,11 +273,11 @@ static FullSourceLoc ConvertBackendLocation(const llvm::SMDiagnostic &D, // Create the copy and transfer ownership to clang::SourceManager. // TODO: Avoid copying files into memory. - llvm::MemoryBuffer *CBuf = - llvm::MemoryBuffer::getMemBufferCopy(LBuf->getBuffer(), - LBuf->getBufferIdentifier()); + std::unique_ptr CBuf = + llvm::MemoryBuffer::getMemBufferCopy(LBuf->getBuffer(), + LBuf->getBufferIdentifier()); // FIXME: Keep a file ID map instead of creating new IDs for each location. - FileID FID = CSM.createFileID(CBuf); + FileID FID = CSM.createFileID(CBuf.release()); // Translate the offset into the file. unsigned Offset = D.getLoc().getPointer() - LBuf->getBufferStart(); diff --git a/lib/Format/Format.cpp b/lib/Format/Format.cpp index 4ff120ded4..32808b519a 100644 --- a/lib/Format/Format.cpp +++ b/lib/Format/Format.cpp @@ -1992,10 +1992,11 @@ tooling::Replacements reformat(const FormatStyle &Style, StringRef Code, IntrusiveRefCntPtr(new DiagnosticIDs), new DiagnosticOptions); SourceManager SourceMgr(Diagnostics, Files); - llvm::MemoryBuffer *Buf = llvm::MemoryBuffer::getMemBuffer(Code, FileName); + std::unique_ptr Buf = + llvm::MemoryBuffer::getMemBuffer(Code, FileName); const clang::FileEntry *Entry = Files.getVirtualFile(FileName, Buf->getBufferSize(), 0); - SourceMgr.overrideFileContents(Entry, Buf); + SourceMgr.overrideFileContents(Entry, Buf.release()); FileID ID = SourceMgr.createFileID(Entry, SourceLocation(), clang::SrcMgr::C_User); Lexer Lex(ID, SourceMgr.getBuffer(ID), SourceMgr, diff --git a/lib/Frontend/ASTUnit.cpp b/lib/Frontend/ASTUnit.cpp index 4f11b6f479..31dbc7a44c 100644 --- a/lib/Frontend/ASTUnit.cpp +++ b/lib/Frontend/ASTUnit.cpp @@ -1451,10 +1451,8 @@ ASTUnit::getMainBufferWithPrecompiledPreamble( PreambleInvocation->getDiagnosticOpts()); getDiagnostics().setNumWarnings(NumWarningsInPreamble); - return std::unique_ptr( - llvm::MemoryBuffer::getMemBufferCopy( - NewPreamble.first->getBuffer(), - FrontendOpts.Inputs[0].getFile())); + return llvm::MemoryBuffer::getMemBufferCopy( + NewPreamble.first->getBuffer(), FrontendOpts.Inputs[0].getFile()); } } @@ -1504,8 +1502,8 @@ ASTUnit::getMainBufferWithPrecompiledPreamble( + NewPreamble.second.first); PreambleEndsAtStartOfLine = NewPreamble.second.second; - PreambleBuffer.reset(llvm::MemoryBuffer::getMemBufferCopy( - NewPreamble.first->getBuffer().slice(0, Preamble.size()), MainFilename)); + PreambleBuffer = llvm::MemoryBuffer::getMemBufferCopy( + NewPreamble.first->getBuffer().slice(0, Preamble.size()), MainFilename); // Remap the main source file to the preamble buffer. StringRef MainFilePath = FrontendOpts.Inputs[0].getFile(); @@ -1649,9 +1647,8 @@ ASTUnit::getMainBufferWithPrecompiledPreamble( PreambleTopLevelHashValue = CurrentTopLevelHashValue; } - return std::unique_ptr( - llvm::MemoryBuffer::getMemBufferCopy(NewPreamble.first->getBuffer(), - MainFilename)); + return llvm::MemoryBuffer::getMemBufferCopy(NewPreamble.first->getBuffer(), + MainFilename); } void ASTUnit::RealizeTopLevelDeclsFromPreamble() { diff --git a/lib/Frontend/ChainedIncludesSource.cpp b/lib/Frontend/ChainedIncludesSource.cpp index 7e1cf597ed..cb260b4f4c 100644 --- a/lib/Frontend/ChainedIncludesSource.cpp +++ b/lib/Frontend/ChainedIncludesSource.cpp @@ -176,8 +176,7 @@ IntrusiveRefCntPtr clang::createChainedIncludesSource( // TODO: Pass through the existing MemoryBuffer instances instead of // allocating new ones. for (auto &SB : SerialBufs) - Bufs.push_back(std::unique_ptr( - llvm::MemoryBuffer::getMemBuffer(SB->getBuffer()))); + Bufs.push_back(llvm::MemoryBuffer::getMemBuffer(SB->getBuffer())); std::string pchName = includes[i-1]; llvm::raw_string_ostream os(pchName); os << ".pch" << i-1; @@ -198,8 +197,7 @@ IntrusiveRefCntPtr clang::createChainedIncludesSource( ParseAST(Clang->getSema()); Clang->getDiagnosticClient().EndSourceFile(); - SerialBufs.push_back(std::unique_ptr( - llvm::MemoryBuffer::getMemBufferCopy(OS.str()))); + SerialBufs.push_back(llvm::MemoryBuffer::getMemBufferCopy(OS.str())); source->CIs.push_back(Clang.release()); } diff --git a/lib/Frontend/CompilerInstance.cpp b/lib/Frontend/CompilerInstance.cpp index a436558890..a535afdc05 100644 --- a/lib/Frontend/CompilerInstance.cpp +++ b/lib/Frontend/CompilerInstance.cpp @@ -947,11 +947,11 @@ static bool compileModuleImpl(CompilerInstance &ImportingInstance, FrontendOpts.Inputs.push_back( FrontendInputFile("__inferred_module.map", IK)); - llvm::MemoryBuffer *ModuleMapBuffer = + std::unique_ptr ModuleMapBuffer = llvm::MemoryBuffer::getMemBuffer(InferredModuleMapContent); ModuleMapFile = Instance.getFileManager().getVirtualFile( "__inferred_module.map", InferredModuleMapContent.size(), 0); - SourceMgr.overrideFileContents(ModuleMapFile, ModuleMapBuffer); + SourceMgr.overrideFileContents(ModuleMapFile, ModuleMapBuffer.release()); } // Construct a module-generating action. Passing through the module map is diff --git a/lib/Frontend/FrontendActions.cpp b/lib/Frontend/FrontendActions.cpp index b6ec895a5b..0e25127625 100644 --- a/lib/Frontend/FrontendActions.cpp +++ b/lib/Frontend/FrontendActions.cpp @@ -331,11 +331,11 @@ bool GenerateModuleAction::BeginSourceFileAction(CompilerInstance &CI, return false; } - llvm::MemoryBuffer *InputBuffer = + std::unique_ptr InputBuffer = llvm::MemoryBuffer::getMemBufferCopy(HeaderContents, Module::getModuleInputBufferName()); // Ownership of InputBuffer will be transferred to the SourceManager. - setCurrentInput(FrontendInputFile(InputBuffer, getCurrentFileKind(), + setCurrentInput(FrontendInputFile(InputBuffer.release(), getCurrentFileKind(), Module->IsSystem)); return true; } diff --git a/lib/Index/SimpleFormatContext.h b/lib/Index/SimpleFormatContext.h index 286d97632c..faf865786a 100644 --- a/lib/Index/SimpleFormatContext.h +++ b/lib/Index/SimpleFormatContext.h @@ -47,10 +47,11 @@ public: ~SimpleFormatContext() { } FileID createInMemoryFile(StringRef Name, StringRef Content) { - llvm::MemoryBuffer *Source = llvm::MemoryBuffer::getMemBuffer(Content); + std::unique_ptr Source = + llvm::MemoryBuffer::getMemBuffer(Content); const FileEntry *Entry = Files.getVirtualFile(Name, Source->getBufferSize(), 0); - Sources.overrideFileContents(Entry, Source); + Sources.overrideFileContents(Entry, Source.release()); assert(Entry != nullptr); return Sources.createFileID(Entry, SourceLocation(), SrcMgr::C_User); } diff --git a/lib/Lex/Preprocessor.cpp b/lib/Lex/Preprocessor.cpp index 7d2185ae78..29956c9f58 100644 --- a/lib/Lex/Preprocessor.cpp +++ b/lib/Lex/Preprocessor.cpp @@ -399,14 +399,14 @@ bool Preprocessor::SetCodeCompletionPoint(const FileEntry *File, CodeCompletionFile = File; CodeCompletionOffset = Position - Buffer->getBufferStart(); - MemoryBuffer *NewBuffer = + std::unique_ptr NewBuffer = MemoryBuffer::getNewUninitMemBuffer(Buffer->getBufferSize() + 1, Buffer->getBufferIdentifier()); char *NewBuf = const_cast(NewBuffer->getBufferStart()); char *NewPos = std::copy(Buffer->getBufferStart(), Position, NewBuf); *NewPos = '\0'; std::copy(Position, Buffer->getBufferEnd(), NewPos+1); - SourceMgr.overrideFileContents(File, NewBuffer); + SourceMgr.overrideFileContents(File, NewBuffer.release()); } return false; @@ -503,10 +503,10 @@ void Preprocessor::EnterMainSourceFile() { } // Preprocess Predefines to populate the initial preprocessor state. - llvm::MemoryBuffer *SB = + std::unique_ptr SB = llvm::MemoryBuffer::getMemBufferCopy(Predefines, ""); assert(SB && "Cannot create predefined source buffer"); - FileID FID = SourceMgr.createFileID(SB); + FileID FID = SourceMgr.createFileID(SB.release()); assert(!FID.isInvalid() && "Could not create FileID for predefines?"); setPredefinesFileID(FID); diff --git a/lib/Lex/ScratchBuffer.cpp b/lib/Lex/ScratchBuffer.cpp index d7104b1788..f779d3cd26 100644 --- a/lib/Lex/ScratchBuffer.cpp +++ b/lib/Lex/ScratchBuffer.cpp @@ -64,11 +64,12 @@ void ScratchBuffer::AllocScratchBuffer(unsigned RequestLen) { if (RequestLen < ScratchBufSize) RequestLen = ScratchBufSize; - llvm::MemoryBuffer *Buf = - llvm::MemoryBuffer::getNewMemBuffer(RequestLen, ""); - FileID FID = SourceMgr.createFileID(Buf); + std::unique_ptr OwnBuf = + llvm::MemoryBuffer::getNewMemBuffer(RequestLen, ""); + llvm::MemoryBuffer &Buf = *OwnBuf; + FileID FID = SourceMgr.createFileID(OwnBuf.release()); BufferStartLoc = SourceMgr.getLocForStartOfFile(FID); - CurBuffer = const_cast(Buf->getBufferStart()); + CurBuffer = const_cast(Buf.getBufferStart()); BytesUsed = 1; CurBuffer[0] = '0'; // Start out with a \0 for cleanliness. } diff --git a/lib/Parse/ParseStmtAsm.cpp b/lib/Parse/ParseStmtAsm.cpp index 584b9e029b..be3d79e223 100644 --- a/lib/Parse/ParseStmtAsm.cpp +++ b/lib/Parse/ParseStmtAsm.cpp @@ -498,8 +498,8 @@ StmtResult Parser::ParseMicrosoftAsmStatement(SourceLocation AsmLoc) { llvm::SourceMgr TempSrcMgr; llvm::MCContext Ctx(MAI.get(), MRI.get(), MOFI.get(), &TempSrcMgr); - std::unique_ptr Buffer( - llvm::MemoryBuffer::getMemBuffer(AsmString, "")); + std::unique_ptr Buffer = + llvm::MemoryBuffer::getMemBuffer(AsmString, ""); // Tell SrcMgr about this buffer, which is what the parser will pick up. TempSrcMgr.AddNewSourceBuffer(std::move(Buffer), llvm::SMLoc()); diff --git a/lib/Serialization/ASTReader.cpp b/lib/Serialization/ASTReader.cpp index 98ba9af74f..1bee2a026b 100644 --- a/lib/Serialization/ASTReader.cpp +++ b/lib/Serialization/ASTReader.cpp @@ -1224,9 +1224,9 @@ bool ASTReader::ReadSLocEntry(int ID) { return true; } - llvm::MemoryBuffer *Buffer + std::unique_ptr Buffer = llvm::MemoryBuffer::getMemBuffer(Blob.drop_back(1), File->getName()); - SourceMgr.overrideFileContents(File, Buffer); + SourceMgr.overrideFileContents(File, Buffer.release()); } break; @@ -1251,10 +1251,10 @@ bool ASTReader::ReadSLocEntry(int ID) { return true; } - llvm::MemoryBuffer *Buffer - = llvm::MemoryBuffer::getMemBuffer(Blob.drop_back(1), Name); - SourceMgr.createFileID(Buffer, FileCharacter, ID, BaseOffset + Offset, - IncludeLoc); + std::unique_ptr Buffer = + llvm::MemoryBuffer::getMemBuffer(Blob.drop_back(1), Name); + SourceMgr.createFileID(Buffer.release(), FileCharacter, ID, + BaseOffset + Offset, IncludeLoc); break; } diff --git a/lib/Tooling/Refactoring.cpp b/lib/Tooling/Refactoring.cpp index c96b8c92a9..ab16dfd35f 100644 --- a/lib/Tooling/Refactoring.cpp +++ b/lib/Tooling/Refactoring.cpp @@ -182,10 +182,11 @@ std::string applyAllReplacements(StringRef Code, const Replacements &Replaces) { llvm::outs(), &Diagnostics.getDiagnosticOptions())); SourceManager SourceMgr(Diagnostics, Files); Rewriter Rewrite(SourceMgr, LangOptions()); - llvm::MemoryBuffer *Buf = llvm::MemoryBuffer::getMemBuffer(Code, ""); + std::unique_ptr Buf = + llvm::MemoryBuffer::getMemBuffer(Code, ""); const clang::FileEntry *Entry = Files.getVirtualFile("", Buf->getBufferSize(), 0); - SourceMgr.overrideFileContents(Entry, Buf); + SourceMgr.overrideFileContents(Entry, Buf.release()); FileID ID = SourceMgr.createFileID(Entry, SourceLocation(), clang::SrcMgr::C_User); for (Replacements::const_iterator I = Replaces.begin(), E = Replaces.end(); diff --git a/lib/Tooling/Tooling.cpp b/lib/Tooling/Tooling.cpp index 0db38db3c9..cf8536e234 100644 --- a/lib/Tooling/Tooling.cpp +++ b/lib/Tooling/Tooling.cpp @@ -223,8 +223,10 @@ bool ToolInvocation::run() { newInvocation(&Diagnostics, *CC1Args)); for (const auto &It : MappedFileContents) { // Inject the code as the given file name into the preprocessor options. - auto *Input = llvm::MemoryBuffer::getMemBuffer(It.getValue()); - Invocation->getPreprocessorOpts().addRemappedFile(It.getKey(), Input); + std::unique_ptr Input = + llvm::MemoryBuffer::getMemBuffer(It.getValue()); + Invocation->getPreprocessorOpts().addRemappedFile(It.getKey(), + Input.release()); } return runInvocation(BinaryName, Compilation.get(), Invocation.release()); } diff --git a/tools/libclang/CIndex.cpp b/tools/libclang/CIndex.cpp index 6689ac2a8c..6aa14b66e6 100644 --- a/tools/libclang/CIndex.cpp +++ b/tools/libclang/CIndex.cpp @@ -2876,9 +2876,9 @@ static void clang_parseTranslationUnit_Impl(void *UserData) { std::vector > RemappedCleanup(RemappedFiles.get()); for (auto &UF : PTUI->unsaved_files) { - llvm::MemoryBuffer *MB = + std::unique_ptr MB = llvm::MemoryBuffer::getMemBufferCopy(getContents(UF), UF.Filename); - RemappedFiles->push_back(std::make_pair(UF.Filename, MB)); + RemappedFiles->push_back(std::make_pair(UF.Filename, MB.release())); } std::unique_ptr> Args( @@ -3160,9 +3160,9 @@ static void clang_reparseTranslationUnit_Impl(void *UserData) { std::vector > RemappedCleanup(RemappedFiles.get()); for (auto &UF : RTUI->unsaved_files) { - llvm::MemoryBuffer *MB = + std::unique_ptr MB = llvm::MemoryBuffer::getMemBufferCopy(getContents(UF), UF.Filename); - RemappedFiles->push_back(std::make_pair(UF.Filename, MB)); + RemappedFiles->push_back(std::make_pair(UF.Filename, MB.release())); } if (!CXXUnit->Reparse(*RemappedFiles.get())) diff --git a/tools/libclang/CIndexCodeCompletion.cpp b/tools/libclang/CIndexCodeCompletion.cpp index 0d88003a1f..b6f71d20de 100644 --- a/tools/libclang/CIndexCodeCompletion.cpp +++ b/tools/libclang/CIndexCodeCompletion.cpp @@ -692,9 +692,9 @@ void clang_codeCompleteAt_Impl(void *UserData) { SmallVector RemappedFiles; for (auto &UF : CCAI->unsaved_files) { - llvm::MemoryBuffer *MB = + std::unique_ptr MB = llvm::MemoryBuffer::getMemBufferCopy(getContents(UF), UF.Filename); - RemappedFiles.push_back(std::make_pair(UF.Filename, MB)); + RemappedFiles.push_back(std::make_pair(UF.Filename, MB.release())); } if (EnableLogging) { diff --git a/tools/libclang/Indexing.cpp b/tools/libclang/Indexing.cpp index f347f9f345..4f99daa447 100644 --- a/tools/libclang/Indexing.cpp +++ b/tools/libclang/Indexing.cpp @@ -575,10 +575,10 @@ static void clang_indexSourceFile_Impl(void *UserData) { BufOwner.get()); for (auto &UF : ITUI->unsaved_files) { - llvm::MemoryBuffer *MB = + std::unique_ptr MB = llvm::MemoryBuffer::getMemBufferCopy(getContents(UF), UF.Filename); - BufOwner->push_back(std::unique_ptr(MB)); - CInvok->getPreprocessorOpts().addRemappedFile(UF.Filename, MB); + CInvok->getPreprocessorOpts().addRemappedFile(UF.Filename, MB.get()); + BufOwner->push_back(std::move(MB)); } // Since libclang is primarily used by batch tools dealing with diff --git a/unittests/AST/CommentLexer.cpp b/unittests/AST/CommentLexer.cpp index cb8de27180..7cac1eaaf1 100644 --- a/unittests/AST/CommentLexer.cpp +++ b/unittests/AST/CommentLexer.cpp @@ -60,8 +60,8 @@ protected: void CommentLexerTest::lexString(const char *Source, std::vector &Toks) { - MemoryBuffer *Buf = MemoryBuffer::getMemBuffer(Source); - FileID File = SourceMgr.createFileID(Buf); + std::unique_ptr Buf = MemoryBuffer::getMemBuffer(Source); + FileID File = SourceMgr.createFileID(Buf.release()); SourceLocation Begin = SourceMgr.getLocForStartOfFile(File); Lexer L(Allocator, Diags, Traits, Begin, Source, Source + strlen(Source)); diff --git a/unittests/AST/CommentParser.cpp b/unittests/AST/CommentParser.cpp index ae1410f377..8c3895bda6 100644 --- a/unittests/AST/CommentParser.cpp +++ b/unittests/AST/CommentParser.cpp @@ -54,8 +54,8 @@ protected: }; FullComment *CommentParserTest::parseString(const char *Source) { - MemoryBuffer *Buf = MemoryBuffer::getMemBuffer(Source); - FileID File = SourceMgr.createFileID(Buf); + std::unique_ptr Buf = MemoryBuffer::getMemBuffer(Source); + FileID File = SourceMgr.createFileID(Buf.release()); SourceLocation Begin = SourceMgr.getLocForStartOfFile(File); Lexer L(Allocator, Diags, Traits, Begin, Source, Source + strlen(Source)); diff --git a/unittests/AST/ExternalASTSourceTest.cpp b/unittests/AST/ExternalASTSourceTest.cpp index 6a5db6c1dd..0cfde74ccc 100644 --- a/unittests/AST/ExternalASTSourceTest.cpp +++ b/unittests/AST/ExternalASTSourceTest.cpp @@ -50,7 +50,7 @@ bool testExternalASTSource(ExternalASTSource *Source, CompilerInvocation *Invocation = new CompilerInvocation; Invocation->getPreprocessorOpts().addRemappedFile( - "test.cc", MemoryBuffer::getMemBuffer(FileContents)); + "test.cc", MemoryBuffer::getMemBuffer(FileContents).release()); const char *Args[] = { "test.cc" }; CompilerInvocation::CreateFromArgs(*Invocation, Args, Args + array_lengthof(Args), diff --git a/unittests/Basic/SourceManagerTest.cpp b/unittests/Basic/SourceManagerTest.cpp index 9ea093c6b2..dc27560b3a 100644 --- a/unittests/Basic/SourceManagerTest.cpp +++ b/unittests/Basic/SourceManagerTest.cpp @@ -74,8 +74,8 @@ TEST_F(SourceManagerTest, isBeforeInTranslationUnit) { const char *source = "#define M(x) [x]\n" "M(foo)"; - MemoryBuffer *buf = MemoryBuffer::getMemBuffer(source); - FileID mainFileID = SourceMgr.createFileID(buf); + std::unique_ptr Buf = MemoryBuffer::getMemBuffer(source); + FileID mainFileID = SourceMgr.createFileID(Buf.release()); SourceMgr.setMainFileID(mainFileID); VoidModuleLoader ModLoader; @@ -127,8 +127,8 @@ TEST_F(SourceManagerTest, getColumnNumber) { "int x;\n" "int y;"; - MemoryBuffer *Buf = MemoryBuffer::getMemBuffer(Source); - FileID MainFileID = SourceMgr.createFileID(Buf); + std::unique_ptr Buf = MemoryBuffer::getMemBuffer(Source); + FileID MainFileID = SourceMgr.createFileID(Buf.release()); SourceMgr.setMainFileID(MainFileID); bool Invalid; @@ -186,14 +186,14 @@ TEST_F(SourceManagerTest, getMacroArgExpandedLocation) { "#define CONCAT(X, Y) X##Y\n" "CONCAT(1,1)\n"; - MemoryBuffer *headerBuf = MemoryBuffer::getMemBuffer(header); - MemoryBuffer *mainBuf = MemoryBuffer::getMemBuffer(main); - FileID mainFileID = SourceMgr.createFileID(mainBuf); + std::unique_ptr HeaderBuf = MemoryBuffer::getMemBuffer(header); + std::unique_ptr MainBuf = MemoryBuffer::getMemBuffer(main); + FileID mainFileID = SourceMgr.createFileID(MainBuf.release()); SourceMgr.setMainFileID(mainFileID); const FileEntry *headerFile = FileMgr.getVirtualFile("/test-header.h", - headerBuf->getBufferSize(), 0); - SourceMgr.overrideFileContents(headerFile, headerBuf); + HeaderBuf->getBufferSize(), 0); + SourceMgr.overrideFileContents(headerFile, HeaderBuf.release()); VoidModuleLoader ModLoader; HeaderSearch HeaderInfo(new HeaderSearchOptions, SourceMgr, Diags, LangOpts, @@ -285,13 +285,13 @@ TEST_F(SourceManagerTest, isBeforeInTranslationUnitWithMacroInInclude) { "#define INC2 \n" "#include M(INC2)\n"; - MemoryBuffer *headerBuf = MemoryBuffer::getMemBuffer(header); - MemoryBuffer *mainBuf = MemoryBuffer::getMemBuffer(main); - SourceMgr.setMainFileID(SourceMgr.createFileID(mainBuf)); + std::unique_ptr HeaderBuf = MemoryBuffer::getMemBuffer(header); + std::unique_ptr MainBuf = MemoryBuffer::getMemBuffer(main); + SourceMgr.setMainFileID(SourceMgr.createFileID(MainBuf.release())); const FileEntry *headerFile = FileMgr.getVirtualFile("/test-header.h", - headerBuf->getBufferSize(), 0); - SourceMgr.overrideFileContents(headerFile, headerBuf); + HeaderBuf->getBufferSize(), 0); + SourceMgr.overrideFileContents(headerFile, HeaderBuf.release()); VoidModuleLoader ModLoader; HeaderSearch HeaderInfo(new HeaderSearchOptions, SourceMgr, Diags, LangOpts, diff --git a/unittests/Basic/VirtualFileSystemTest.cpp b/unittests/Basic/VirtualFileSystemTest.cpp index 39febca92b..bdd4373354 100644 --- a/unittests/Basic/VirtualFileSystemTest.cpp +++ b/unittests/Basic/VirtualFileSystemTest.cpp @@ -539,7 +539,7 @@ public: IntrusiveRefCntPtr getFromYAMLRawString(StringRef Content, IntrusiveRefCntPtr ExternalFS) { - std::unique_ptr Buffer(MemoryBuffer::getMemBuffer(Content)); + std::unique_ptr Buffer = MemoryBuffer::getMemBuffer(Content); return getVFSFromYAML(std::move(Buffer), CountingDiagHandler, this, ExternalFS); } diff --git a/unittests/CodeGen/BufferSourceTest.cpp b/unittests/CodeGen/BufferSourceTest.cpp index f9d0991933..ccff18c18c 100644 --- a/unittests/CodeGen/BufferSourceTest.cpp +++ b/unittests/CodeGen/BufferSourceTest.cpp @@ -69,8 +69,9 @@ TEST(BufferSourceTest, EmitCXXGlobalInitFunc) { compiler.createSema(clang::TU_Prefix,NULL); clang::SourceManager &sm = compiler.getSourceManager(); - sm.setMainFileID(sm.createFileID( - llvm::MemoryBuffer::getMemBuffer(TestProgram), clang::SrcMgr::C_User)); + sm.setMainFileID( + sm.createFileID(llvm::MemoryBuffer::getMemBuffer(TestProgram).release(), + clang::SrcMgr::C_User)); clang::ParseAST(compiler.getSema(), false, false); } diff --git a/unittests/Frontend/FrontendActionTest.cpp b/unittests/Frontend/FrontendActionTest.cpp index cb9cc52725..f9cf06efd3 100644 --- a/unittests/Frontend/FrontendActionTest.cpp +++ b/unittests/Frontend/FrontendActionTest.cpp @@ -65,7 +65,8 @@ private: TEST(ASTFrontendAction, Sanity) { CompilerInvocation *invocation = new CompilerInvocation; invocation->getPreprocessorOpts().addRemappedFile( - "test.cc", MemoryBuffer::getMemBuffer("int main() { float x; }")); + "test.cc", + MemoryBuffer::getMemBuffer("int main() { float x; }").release()); invocation->getFrontendOpts().Inputs.push_back(FrontendInputFile("test.cc", IK_CXX)); invocation->getFrontendOpts().ProgramAction = frontend::ParseSyntaxOnly; @@ -84,7 +85,8 @@ TEST(ASTFrontendAction, Sanity) { TEST(ASTFrontendAction, IncrementalParsing) { CompilerInvocation *invocation = new CompilerInvocation; invocation->getPreprocessorOpts().addRemappedFile( - "test.cc", MemoryBuffer::getMemBuffer("int main() { float x; }")); + "test.cc", + MemoryBuffer::getMemBuffer("int main() { float x; }").release()); invocation->getFrontendOpts().Inputs.push_back(FrontendInputFile("test.cc", IK_CXX)); invocation->getFrontendOpts().ProgramAction = frontend::ParseSyntaxOnly; @@ -128,7 +130,8 @@ public: TEST(PreprocessorFrontendAction, EndSourceFile) { CompilerInvocation *Invocation = new CompilerInvocation; Invocation->getPreprocessorOpts().addRemappedFile( - "test.cc", MemoryBuffer::getMemBuffer("int main() { float x; }")); + "test.cc", + MemoryBuffer::getMemBuffer("int main() { float x; }").release()); Invocation->getFrontendOpts().Inputs.push_back( FrontendInputFile("test.cc", IK_CXX)); Invocation->getFrontendOpts().ProgramAction = frontend::ParseSyntaxOnly; diff --git a/unittests/Lex/LexerTest.cpp b/unittests/Lex/LexerTest.cpp index 2d75b52276..9de5eaf412 100644 --- a/unittests/Lex/LexerTest.cpp +++ b/unittests/Lex/LexerTest.cpp @@ -62,8 +62,8 @@ protected: std::vector CheckLex(StringRef Source, ArrayRef ExpectedTokens) { - MemoryBuffer *buf = MemoryBuffer::getMemBuffer(Source); - SourceMgr.setMainFileID(SourceMgr.createFileID(buf)); + std::unique_ptr Buf = MemoryBuffer::getMemBuffer(Source); + SourceMgr.setMainFileID(SourceMgr.createFileID(Buf.release())); VoidModuleLoader ModLoader; HeaderSearch HeaderInfo(new HeaderSearchOptions, SourceMgr, Diags, LangOpts, diff --git a/unittests/Lex/PPCallbacksTest.cpp b/unittests/Lex/PPCallbacksTest.cpp index a1af754036..4bba5a03b4 100644 --- a/unittests/Lex/PPCallbacksTest.cpp +++ b/unittests/Lex/PPCallbacksTest.cpp @@ -160,8 +160,8 @@ protected: // the InclusionDirective callback. CharSourceRange InclusionDirectiveFilenameRange(const char* SourceText, const char* HeaderPath, bool SystemHeader) { - MemoryBuffer *Buf = MemoryBuffer::getMemBuffer(SourceText); - SourceMgr.setMainFileID(SourceMgr.createFileID(Buf)); + std::unique_ptr Buf = MemoryBuffer::getMemBuffer(SourceText); + SourceMgr.setMainFileID(SourceMgr.createFileID(Buf.release())); VoidModuleLoader ModLoader; @@ -197,8 +197,9 @@ protected: LangOptions OpenCLLangOpts; OpenCLLangOpts.OpenCL = 1; - MemoryBuffer* sourceBuf = MemoryBuffer::getMemBuffer(SourceText, "test.cl"); - SourceMgr.setMainFileID(SourceMgr.createFileID(sourceBuf)); + std::unique_ptr SourceBuf = + MemoryBuffer::getMemBuffer(SourceText, "test.cl"); + SourceMgr.setMainFileID(SourceMgr.createFileID(SourceBuf.release())); VoidModuleLoader ModLoader; HeaderSearch HeaderInfo(new HeaderSearchOptions, SourceMgr, Diags, diff --git a/unittests/Lex/PPConditionalDirectiveRecordTest.cpp b/unittests/Lex/PPConditionalDirectiveRecordTest.cpp index e63106c295..56899ce49f 100644 --- a/unittests/Lex/PPConditionalDirectiveRecordTest.cpp +++ b/unittests/Lex/PPConditionalDirectiveRecordTest.cpp @@ -90,8 +90,8 @@ TEST_F(PPConditionalDirectiveRecordTest, PPRecAPI) { "#endif\n" "9\n"; - MemoryBuffer *buf = MemoryBuffer::getMemBuffer(source); - SourceMgr.setMainFileID(SourceMgr.createFileID(buf)); + std::unique_ptr Buf = MemoryBuffer::getMemBuffer(source); + SourceMgr.setMainFileID(SourceMgr.createFileID(Buf.release())); VoidModuleLoader ModLoader; HeaderSearch HeaderInfo(new HeaderSearchOptions, SourceMgr, Diags, LangOpts, diff --git a/unittests/Tooling/RewriterTestContext.h b/unittests/Tooling/RewriterTestContext.h index f3ce312d54..bf25f8c998 100644 --- a/unittests/Tooling/RewriterTestContext.h +++ b/unittests/Tooling/RewriterTestContext.h @@ -48,10 +48,11 @@ class RewriterTestContext { ~RewriterTestContext() {} FileID createInMemoryFile(StringRef Name, StringRef Content) { - llvm::MemoryBuffer *Source = llvm::MemoryBuffer::getMemBuffer(Content); + std::unique_ptr Source = + llvm::MemoryBuffer::getMemBuffer(Content); const FileEntry *Entry = Files.getVirtualFile(Name, Source->getBufferSize(), 0); - Sources.overrideFileContents(Entry, Source); + Sources.overrideFileContents(Entry, Source.release()); assert(Entry != nullptr); return Sources.createFileID(Entry, SourceLocation(), SrcMgr::C_User); }