]> granicus.if.org Git - clang/commit
Keep track of which modules have been loaded directly (e.g., via
authorDouglas Gregor <dgregor@apple.com>
Thu, 18 Aug 2011 04:12:04 +0000 (04:12 +0000)
committerDouglas Gregor <dgregor@apple.com>
Thu, 18 Aug 2011 04:12:04 +0000 (04:12 +0000)
commit10bc00fd45824f9b5cd139d63af8b0f6d28aadda
treefeebae845b9bbbe1782000ac5f70535b2c733b6f
parent1cb4f664fd4f72a65a145e9ff8a7e2540ab09156
Keep track of which modules have been loaded directly (e.g., via
-import-module) vs. loaded because some other module depends on
them. As part of doing this, pass down the module that caused a module
to be loaded directly, rather than assuming that we're loading a
chain. Finally, write out all of the directly-loaded modules when
serializing an AST file (using the new IMPORTS record), so that an AST
file can depend on more than one other AST file, all of which will be
loaded when that AST file is loaded. This allows us to form and load a
tree of modules, but we can't yet load a DAG of modules.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137923 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Serialization/ASTReader.h
lib/Serialization/ASTReader.cpp
lib/Serialization/ASTWriter.cpp