diff options
| author | Sebastian Redl <sebastian.redl@getdesigned.at> | 2010-08-17 17:55:49 +0000 |
|---|---|---|
| committer | Sebastian Redl <sebastian.redl@getdesigned.at> | 2010-08-17 17:55:49 +0000 |
| commit | 52ce9bb2fbc73a23cc7da27c94e5a898cf258c09 (patch) | |
| tree | cc8abd4f7911b5db477175cf37071b9ac60fe7c8 /clang/lib/Frontend/GeneratePCH.cpp | |
| parent | ea68af43e80d00e64d340e6e25cc8975112997de (diff) | |
| download | bcm5719-llvm-52ce9bb2fbc73a23cc7da27c94e5a898cf258c09.tar.gz bcm5719-llvm-52ce9bb2fbc73a23cc7da27c94e5a898cf258c09.zip | |
Create a new Serialization module that contains all the PCH code, and will contain all the module code in the future. Update the Makefiles, CMake projects and the Xcode project. I hope I did everything right for Xcode. No functionality change.
llvm-svn: 111258
Diffstat (limited to 'clang/lib/Frontend/GeneratePCH.cpp')
| -rw-r--r-- | clang/lib/Frontend/GeneratePCH.cpp | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/clang/lib/Frontend/GeneratePCH.cpp b/clang/lib/Frontend/GeneratePCH.cpp deleted file mode 100644 index 33f5ef56ae3..00000000000 --- a/clang/lib/Frontend/GeneratePCH.cpp +++ /dev/null @@ -1,64 +0,0 @@ -//===--- GeneratePCH.cpp - AST Consumer for PCH Generation ------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file defines the CreatePCHGenerate function, which creates an -// ASTConsume that generates a PCH file. -// -//===----------------------------------------------------------------------===// - -#include "clang/Frontend/ASTConsumers.h" -#include "clang/Frontend/PCHWriter.h" -#include "clang/Sema/SemaConsumer.h" -#include "clang/AST/ASTContext.h" -#include "clang/AST/ASTConsumer.h" -#include "clang/Lex/Preprocessor.h" -#include "clang/Basic/FileManager.h" -#include "llvm/Bitcode/BitstreamWriter.h" -#include "llvm/Support/raw_ostream.h" -#include <string> - -using namespace clang; - -PCHGenerator::PCHGenerator(const Preprocessor &PP, - bool Chaining, - const char *isysroot, - llvm::raw_ostream *OS) - : PP(PP), isysroot(isysroot), Out(OS), SemaPtr(0), - StatCalls(0), Stream(Buffer), Writer(Stream) { - - // Install a stat() listener to keep track of all of the stat() - // calls. - StatCalls = new MemorizeStatCalls; - // If we have a chain, we want new stat calls only, so install the memorizer - // *after* the already installed PCHReader's stat cache. - PP.getFileManager().addStatCache(StatCalls, - /*AtBeginning=*/!Chaining); -} - -void PCHGenerator::HandleTranslationUnit(ASTContext &Ctx) { - if (PP.getDiagnostics().hasErrorOccurred()) - return; - - // Emit the PCH file - assert(SemaPtr && "No Sema?"); - Writer.WritePCH(*SemaPtr, StatCalls, isysroot); - - // Write the generated bitstream to "Out". - Out->write((char *)&Buffer.front(), Buffer.size()); - - // Make sure it hits disk now. - Out->flush(); - - // Free up some memory, in case the process is kept alive. - Buffer.clear(); -} - -PCHDeserializationListener *PCHGenerator::GetPCHDeserializationListener() { - return &Writer; -} |

