From 5f737ccd3854b55a3eb9ab3aa54f2b1c3212418f Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sat, 28 Mar 2009 03:49:26 +0000 Subject: [PATCH] eliminate ReadASTBitcodeFile git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67903 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/AST/TranslationUnit.h | 4 ---- lib/AST/TranslationUnit.cpp | 17 +---------------- tools/clang-cc/SerializationTest.cpp | 13 ++++++++++++- tools/clang-cc/clang.cpp | 9 ++++++++- 4 files changed, 21 insertions(+), 22 deletions(-) diff --git a/include/clang/AST/TranslationUnit.h b/include/clang/AST/TranslationUnit.h index 5fff66626b..3c6344f2d9 100644 --- a/include/clang/AST/TranslationUnit.h +++ b/include/clang/AST/TranslationUnit.h @@ -82,10 +82,6 @@ bool EmitASTBitcodeBuffer(const TranslationUnit& TU, bool EmitASTBitcodeBuffer(const TranslationUnit* TU, std::vector& Buffer); -/// ReadASTBitcodeFile - Reconsitute a translation unit from a bitcode file. -TranslationUnit* ReadASTBitcodeFile(const llvm::sys::Path& Filename, - FileManager& FMgr); - /// ReadASTBitcodeBuffer - Reconsitute a translation unit from a buffer. TranslationUnit* ReadASTBitcodeBuffer(llvm::MemoryBuffer& MBuffer, FileManager& FMgr); diff --git a/lib/AST/TranslationUnit.cpp b/lib/AST/TranslationUnit.cpp index 8ceada593e..a0a800c1e3 100644 --- a/lib/AST/TranslationUnit.cpp +++ b/lib/AST/TranslationUnit.cpp @@ -144,28 +144,13 @@ clang::ReadASTBitcodeBuffer(llvm::MemoryBuffer& MBuffer, FileManager& FMgr) { return TranslationUnit::Create(Dezr,FMgr); } -TranslationUnit* -clang::ReadASTBitcodeFile(const llvm::sys::Path& Filename, FileManager& FMgr) { - - // Create the memory buffer that contains the contents of the file. - llvm::OwningPtr - MBuffer(llvm::MemoryBuffer::getFile(Filename.c_str())); - - if (!MBuffer) { - // FIXME: Provide diagnostic. - return NULL; - } - - return ReadASTBitcodeBuffer(*MBuffer, FMgr); -} - TranslationUnit* TranslationUnit::Create(llvm::Deserializer& Dezr, FileManager& FMgr) { // Create the translation unit object. TranslationUnit* TU = new TranslationUnit(); - TU->Context = ASTContext.CreateAll(Dezr, FmMgr); + TU->Context = ASTContext::CreateAll(Dezr, FMgr); return TU; } diff --git a/tools/clang-cc/SerializationTest.cpp b/tools/clang-cc/SerializationTest.cpp index e489a19ff8..fcc047e015 100644 --- a/tools/clang-cc/SerializationTest.cpp +++ b/tools/clang-cc/SerializationTest.cpp @@ -81,7 +81,18 @@ bool SerializationTest::Deserialize(llvm::sys::Path& Filename, llvm::sys::Path& FNameDeclPrint) { // Deserialize the translation unit. - TranslationUnit* NewTU = ReadASTBitcodeFile(Filename, FMgr); + TranslationUnit* NewTU; + + { + // Create the memory buffer that contains the contents of the file. + llvm::OwningPtr + MBuffer(llvm::MemoryBuffer::getFile(Filename.c_str())); + + if (!MBuffer) + return false; + + NewTU = ReadASTBitcodeBuffer(*MBuffer, FMgr); + } if (!NewTU) return false; diff --git a/tools/clang-cc/clang.cpp b/tools/clang-cc/clang.cpp index 7f46f46fed..9bd6dfb805 100644 --- a/tools/clang-cc/clang.cpp +++ b/tools/clang-cc/clang.cpp @@ -1535,7 +1535,14 @@ static void ProcessSerializedFile(const std::string& InFile, Diagnostic& Diag, exit (1); } - llvm::OwningPtr TU(ReadASTBitcodeFile(Filename, FileMgr)); + llvm::OwningPtr TU; + + // Create the memory buffer that contains the contents of the file. + llvm::OwningPtr + MBuffer(llvm::MemoryBuffer::getFile(Filename.c_str())); + + if (MBuffer) + TU.reset(ReadASTBitcodeBuffer(*MBuffer, FileMgr)); if (!TU) { fprintf(stderr, "error: file '%s' could not be deserialized\n", -- 2.40.0