aboutsummaryrefslogtreecommitdiff
path: root/lib/Serialization/ChainedIncludesSource.cpp
AgeCommit message (Collapse)Author
2011-12-09Move ChainedIncludesSource into the Frontend library. This never reallyChandler Carruth
belonged in the Serialization library, it's setting up a compilation, not just deserializing. This should fix PR11512, making Serialization actually be layered below Frontend, a long standing layering violation in Clang. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146233 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-30When writing a module file, pass the module through to the ASTDouglas Gregor
writer. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145479 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-25Rename Diagnostic to DiagnosticsEngine as per issue 5397David Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140478 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-02Always construct an ASTReader with a non-NULL ASTContext andDouglas Gregor
Preprocessor, eliminating the constructor that was used by ASTUnit (which didn't provide an ASTContext or Prepreprocessor). Ensuring that both objects are non-NULL will simplify module loading (but none of that is done yet). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138986 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-01Modules hide macro definitions by default, so that silly things likeDouglas Gregor
include guards don't show up as macro definitions in every translation unit that imports a module. Macro definitions can, however, be exported with the intentionally-ugly #__export_macro__ directive. Implement this feature by not even bothering to serialize non-exported macros to a module, because clients of that module need not (should not) know that these macros even exist. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138943 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-25Remove the Chaining argument from the PCH/module generator. It's no longer usedDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138596 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-25Introduce a -cc1 option "-emit-module", that creates a binary moduleDouglas Gregor
from the given source. -emit-module behaves similarly to -emit-pch, except that Sema is somewhat more strict about the contents of -emit-module. In the future, there are likely to be more interesting differences. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138595 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-24Don't force the complete deserialization of the visible-declarationsDouglas Gregor
table when serializing an AST file. This was a holdover from the days before chained PCH, and is a complete waste of time and storage now. It's a good thing it's useless, because I have no idea how I would have implemented MaterializeVisibleDecls efficiently in the presence of modules. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138496 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-02Following up the earlier refactoring/cleanup work by fixing up how we manage ↵Jonathan D. Turner
the virtual files the ASTReader has to handle. Specifically, this occurs when the reader is reading AST files that were created in memory and not written to disk. For example, when a user creates a chained PCH using command line flags. These virtual files are stored in MemoryBuffers in ChainIncludeSource.cpp, and then read back in by the ASTReader. This patch moves the management of these buffers into the ModuleManager, so that it becomes the authority on where these buffers are located. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136697 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-23remove unneeded llvm:: namespace qualifiers on some core types now that ↵Chris Lattner
LLVM.h imports them into the clang namespace. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135852 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-22Switch all of the "isysroot" const char*'s throughout the AST readerDouglas Gregor
and writer to StringRef or std::string, as appropriate. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135769 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-22Rename ASTReader::PerFileData to serialization::Module, pulling it outDouglas Gregor
of ASTReader so it can become its own full-fledged class (eventually). No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135767 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-15Augment the interface of ExternalASTSource::FindExternalLexicalDecls()Douglas Gregor
to allow clients to specify that they've already (correctly) loaded declarations, and that no further action is needed. Also, make sure that we clear the "has external lexical declarations" bit before calling FindExternalLexicalDecls(), to avoid infinite recursion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135306 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-28Enhance clang_getCXTUResourceUsage() to report the sizes of the memory ↵Ted Kremenek
buffers used by PCH. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130460 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-31Make ChainedIncludesSource an ExternalSemaSource, otherwise initialization ↵Sebastian Redl
of the ASTReader is incomplete, leading to errors like not realizing std::type_info is already defined. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128664 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-31Tell the diagnostic client about starting and ending source files when ↵Sebastian Redl
automatically creating chained PCHs. This way, we don't get a crash whenever a diagnostic is emitted while processing the include. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128663 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-09Silence gcc warnings.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127370 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-09Introduce '-chain-include' option to specify headers that will be converted ↵Argyrios Kyrtzidis
to chained PCHs in memory without having to use multiple runs and intermediate files. Intended for testing & debugging of chained PCH. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127339 91177308-0d34-0410-b5e6-96231b3b80d8