From 77d029f6a24dbf70d97e61757945df53fb250ea0 Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Thu, 8 Dec 2011 19:11:24 +0000 Subject: Implement umbrella directories for modules, which are similar to umbrella headers in the sense that all of the headers within that directory (and eventually its subdirectories) are considered to be part of the module with that umbrella directory. However, unlike umbrella headers, which are expected to include all of the headers within their subdirectories, Clang will automatically include all of the headers it finds in the named subdirectory. The intent here is to allow a module map to trivially turn a subdirectory into a module, where the module's structure can mimic the directory structure. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146165 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/Lex/ModuleMap.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'include/clang/Lex/ModuleMap.h') diff --git a/include/clang/Lex/ModuleMap.h b/include/clang/Lex/ModuleMap.h index 262e50db23..2d95255290 100644 --- a/include/clang/Lex/ModuleMap.h +++ b/include/clang/Lex/ModuleMap.h @@ -181,7 +181,11 @@ public: /// \brief Sets the umbrella header of the given module to the given /// header. void setUmbrellaHeader(Module *Mod, const FileEntry *UmbrellaHeader); - + + /// \brief Sets the umbrella directory of the given module to the given + /// directory. + void setUmbrellaDir(Module *Mod, const DirectoryEntry *UmbrellaDir); + /// \brief Adds this header to the given module. void addHeader(Module *Mod, const FileEntry *Header); -- cgit v1.2.3-70-g09d2