summaryrefslogtreecommitdiffstats
path: root/clang/tools/clang-cc/GeneratePCH.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Move ASTConsumers.h to include/clang/Frontend, and move the associated Eli Friedman2009-05-181-78/+0
| | | | | | .cpp files to lib/Frontend. (As proposed on cfe-dev.) llvm-svn: 72060
* Refactor ASTConsumers to take a raw_ostream instead of a filename where Eli Friedman2009-05-181-17/+8
| | | | | | appropriate. There shouldn't be any significant functionality change. llvm-svn: 72052
* Implement caching of stat() calls for precompiled headers, which isDouglas Gregor2009-04-271-4/+13
| | | | | | | | essentially the same thing we do with pretokenized headers. stat() caching improves performance of the Cocoa-prefixed "Hello, World" by 45%. llvm-svn: 70223
* Introduce the notion of a SemaConsumer, which is an ASTConsumer thatDouglas Gregor2009-04-201-3/+7
| | | | | | | | | 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
* emit tokens, constify the Preprocessor passed down into PCH writer.Chris Lattner2009-04-101-3/+3
| | | | llvm-svn: 68798
* Arrange for the preprocessor to be passed down into the PCH writer.Chris Lattner2009-04-101-14/+10
| | | | llvm-svn: 68790
* Implementation of pre-compiled headers (PCH) based on lazyDouglas Gregor2009-04-091-0/+78
de-serialization of abstract syntax trees. PCH support serializes the contents of the abstract syntax tree (AST) to a bitstream. When the PCH file is read, declarations are serialized as-needed. For example, a declaration of a variable "x" will be deserialized only when its VarDecl can be found by a client, e.g., based on name lookup for "x" or traversing the entire contents of the owner of "x". This commit provides the framework for serialization and (lazy) deserialization, along with support for variable and typedef declarations (along with several kinds of types). More declarations/types, along with important auxiliary structures (source manager, preprocessor, etc.), will follow. llvm-svn: 68732
OpenPOWER on IntegriCloud