aboutsummaryrefslogtreecommitdiff
path: root/Driver/SerializationTest.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2007-12-05 00:26:13 +0000
committerTed Kremenek <kremenek@apple.com>2007-12-05 00:26:13 +0000
commitdca2466581966f0729d259db2f47a21e17827929 (patch)
tree2ca7aaeaeb1ad7693bf7c7bf16b26992eb3a241e /Driver/SerializationTest.cpp
parent1f94100e53a7d45cea706c09ac0f35cf723a8d83 (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.cpp21
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";