From 162dd0245e7ac66b29abe6ceca0a647d3983436d Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Mon, 20 Apr 2009 15:53:59 +0000 Subject: Introduce the notion of a SemaConsumer, which is an ASTConsumer that also gets access to the Sema object performing semantic analysis. This will be used by the PCH writer to serialize Sema state. No functionality change. llvm-svn: 69595 --- clang/lib/Frontend/PCHWriter.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'clang/lib/Frontend/PCHWriter.cpp') diff --git a/clang/lib/Frontend/PCHWriter.cpp b/clang/lib/Frontend/PCHWriter.cpp index 6aea7a53727..afe77aebf8f 100644 --- a/clang/lib/Frontend/PCHWriter.cpp +++ b/clang/lib/Frontend/PCHWriter.cpp @@ -12,6 +12,7 @@ //===----------------------------------------------------------------------===// #include "clang/Frontend/PCHWriter.h" +#include "../Sema/Sema.h" // FIXME: move header into include/clang/Sema #include "clang/AST/ASTContext.h" #include "clang/AST/Decl.h" #include "clang/AST/DeclContextInternals.h" @@ -1760,7 +1761,10 @@ void PCHWriter::AddString(const std::string &Str, RecordData &Record) { PCHWriter::PCHWriter(llvm::BitstreamWriter &Stream) : Stream(Stream), NextTypeID(pch::NUM_PREDEF_TYPE_IDS), NumStatements(0) { } -void PCHWriter::WritePCH(ASTContext &Context, const Preprocessor &PP) { +void PCHWriter::WritePCH(Sema &SemaRef) { + ASTContext &Context = SemaRef.Context; + Preprocessor &PP = SemaRef.PP; + // Emit the file header. Stream.Emit((unsigned)'C', 8); Stream.Emit((unsigned)'P', 8); -- cgit v1.2.3