aboutsummaryrefslogtreecommitdiff
path: root/include/clang/Lex/ModuleMap.h
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2011-11-16 23:02:25 +0000
committerDouglas Gregor <dgregor@apple.com>2011-11-16 23:02:25 +0000
commitadb979924ade3e25342c38a5b564400b4e0540c1 (patch)
tree6a1a626999f8c57453479faa97e6d893ef1db2f5 /include/clang/Lex/ModuleMap.h
parent960809e7e9f4a6e949797d20bc081da80495c0e1 (diff)
A module with an umbrella header assumes that all of the headers in
the umbrella header's directory and its subdirectories are part of the module (that's why it's an umbrella). Make sure that these headers are considered to be part of the module for lookup purposes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144859 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Lex/ModuleMap.h')
-rw-r--r--include/clang/Lex/ModuleMap.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/clang/Lex/ModuleMap.h b/include/clang/Lex/ModuleMap.h
index 6ca37f1005..74cca6b881 100644
--- a/include/clang/Lex/ModuleMap.h
+++ b/include/clang/Lex/ModuleMap.h
@@ -27,6 +27,7 @@
namespace clang {
+class DirectoryEntry;
class FileEntry;
class FileManager;
class DiagnosticConsumer;
@@ -96,6 +97,14 @@ private:
/// that header.
llvm::DenseMap<const FileEntry *, Module *> Headers;
+ /// \brief Mapping from directories with umbrella headers to the module
+ /// that is generated from the umbrella header.
+ ///
+ /// This mapping is used to map headers that haven't explicitly been named
+ /// in the module map over to the module that includes them via its umbrella
+ /// header.
+ llvm::DenseMap<const DirectoryEntry *, Module *> UmbrellaDirs;
+
friend class ModuleMapParser;
public: