diff options
author | Ted Kremenek <kremenek@apple.com> | 2007-12-05 00:26:13 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2007-12-05 00:26:13 +0000 |
commit | dca2466581966f0729d259db2f47a21e17827929 (patch) | |
tree | 2ca7aaeaeb1ad7693bf7c7bf16b26992eb3a241e /Driver/SerializationTest.cpp | |
parent | 1f94100e53a7d45cea706c09ac0f35cf723a8d83 (diff) |
Added serialization support of SourceManager to the clang driver.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44592 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'Driver/SerializationTest.cpp')
-rw-r--r-- | Driver/SerializationTest.cpp | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/Driver/SerializationTest.cpp b/Driver/SerializationTest.cpp index 80049d4f2b..0354f2b655 100644 --- a/Driver/SerializationTest.cpp +++ b/Driver/SerializationTest.cpp @@ -16,6 +16,7 @@ #include "ASTConsumers.h" #include "clang/Basic/TargetInfo.h" +#include "clang/Basic/SourceManager.h" #include "clang/AST/AST.h" #include "clang/AST/ASTConsumer.h" #include "clang/AST/ASTContext.h" @@ -54,6 +55,7 @@ public: class SerializationTest : public ASTConsumer { ASTContext* Context; Diagnostic &Diags; + FileManager &FMgr; std::list<Decl*> Decls; enum { BasicMetadataBlock = 1, @@ -61,7 +63,9 @@ class SerializationTest : public ASTConsumer { DeclsBlock = 3 }; public: - SerializationTest(Diagnostic &d) : Context(NULL), Diags(d) {}; + SerializationTest(Diagnostic &d, FileManager& fmgr) + : Context(NULL), Diags(d), FMgr(fmgr) {}; + ~SerializationTest(); virtual void Initialize(ASTContext& context, unsigned) { @@ -79,8 +83,9 @@ private: } // end anonymous namespace -ASTConsumer* clang::CreateSerializationTest(Diagnostic &Diags) { - return new SerializationTest(Diags); +ASTConsumer* +clang::CreateSerializationTest(Diagnostic &Diags, FileManager& FMgr) { + return new SerializationTest(Diags,FMgr); } static void WritePreamble(llvm::BitstreamWriter& Stream) { @@ -171,8 +176,8 @@ void SerializationTest::Serialize(llvm::sys::Path& Filename, Sezr.EnterBlock(); // "Fake" emit the SourceManager. - llvm::cerr << "Faux-serializing: SourceManager.\n"; - Sezr.EmitPtr(&Context->SourceMgr); + llvm::cerr << "Serializing: SourceManager.\n"; + Sezr.Emit(Context->SourceMgr); // Emit the Target. llvm::cerr << "Serializing: Target.\n"; @@ -256,9 +261,9 @@ void SerializationTest::Deserialize(llvm::sys::Path& Filename, FoundBlock = Dezr.SkipToBlock(BasicMetadataBlock); assert (FoundBlock); - // "Fake" read the SourceManager. - llvm::cerr << "Faux-Deserializing: SourceManager.\n"; - Dezr.RegisterPtr(&Context->SourceMgr); + // Read the SourceManager. + llvm::cerr << "Deserializing: SourceManager.\n"; + SourceManager::CreateAndRegister(Dezr,FMgr); { // Read the TargetInfo. llvm::cerr << "Deserializing: Target.\n"; |