llvm-project/clang/lib/AST
Douglas Gregor ef84c4b434 Implementation of pre-compiled headers (PCH) based on lazy
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
2009-04-09 22:27:44 +00:00
..
APValue.cpp Remove some now-unneeded calls to llvm::errs().flush(). 2009-03-10 18:00:19 +00:00
ASTConsumer.cpp Push DeclGroup much farther throughout the compiler. Now the various 2009-03-29 16:50:03 +00:00
ASTContext.cpp Implementation of pre-compiled headers (PCH) based on lazy 2009-04-09 22:27:44 +00:00
Builtins.cpp Propagate the ASTContext to various AST traversal and lookup functions. 2009-04-09 21:40:53 +00:00
CFG.cpp CFG: when there is not continue or break target, mark the CFG as bad. 2009-04-07 18:53:24 +00:00
CMakeLists.txt Update CMake file. Patch by Brian Diekelman! 2009-04-01 19:11:05 +00:00
Decl.cpp Implement -Wmissing-prototypes. Fixes PR3911. 2009-03-31 16:35:03 +00:00
DeclBase.cpp Implementation of pre-compiled headers (PCH) based on lazy 2009-04-09 22:27:44 +00:00
DeclCXX.cpp Propagate the ASTContext to various AST traversal and lookup functions. 2009-04-09 21:40:53 +00:00
DeclGroup.cpp Push DeclGroup much farther throughout the compiler. Now the various 2009-03-29 16:50:03 +00:00
DeclObjC.cpp Propagate the ASTContext to various AST traversal and lookup functions. 2009-04-09 21:40:53 +00:00
DeclSerialization.cpp Resynchronize Decl/VarDecl serialization code with the structures 2009-04-02 23:40:00 +00:00
DeclTemplate.cpp Introduce a new expression type, UnresolvedDeclRefExpr, that describes 2009-03-19 17:26:29 +00:00
DeclarationName.cpp add an assertion for unreachable code. 2009-03-21 06:40:50 +00:00
Expr.cpp Make our diagnostics about the obsolete GNU designated-initializer 2009-03-28 00:41:23 +00:00
ExprCXX.cpp Revamp our representation of C++ nested-name-specifiers. We now have a 2009-03-26 23:50:42 +00:00
ExprConstant.cpp Propagate the ASTContext to various AST traversal and lookup functions. 2009-04-09 21:40:53 +00:00
InheritViz.cpp [LLVM up] Update for raw_fd_ostream change. This fixes a FIXME that 2008-11-13 05:09:21 +00:00
Makefile Build system changes to use TableGen to generate the various 2009-03-16 23:06:59 +00:00
NestedNameSpecifier.cpp Parsing, semantic analysis, and template instantiation for typename 2009-04-01 00:28:59 +00:00
ParentMap.cpp Another ParentMap bug: only the right side of a comma expression is consumed. 2009-04-09 05:34:31 +00:00
Stmt.cpp Ignore plus operands when looking up the operand number from a named operand. This matches llvm-gcc and fixes PR3908. 2009-04-03 05:57:08 +00:00
StmtDumper.cpp simplify 2009-03-29 16:04:50 +00:00
StmtIterator.cpp Push DeclGroup much farther throughout the compiler. Now the various 2009-03-29 16:50:03 +00:00
StmtPrinter.cpp Propagate the ASTContext to various AST traversal and lookup functions. 2009-04-09 21:40:53 +00:00
StmtSerialization.cpp Change compound assignment operators to keep track of both the promoted 2009-03-28 01:22:36 +00:00
StmtViz.cpp Migrate DeclStmt over to using a DeclGroup instead of a pointer to a ScopedDecl*. 2008-10-07 23:09:49 +00:00
TemplateName.cpp add TemplateName.cpp/h to the xcode project, minor tidying. 2009-04-02 06:07:12 +00:00
Type.cpp Give Type::getDesugaredType a "for-display" mode that can apply more 2009-04-01 15:47:24 +00:00
TypeSerialization.cpp Improve the representation of template names in the AST. This 2009-03-30 22:58:21 +00:00