diff options
author | Douglas Gregor <dgregor@apple.com> | 2011-12-08 17:39:04 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2011-12-08 17:39:04 +0000 |
commit | 10694cee2588442bee1e717f5042c58ffee25279 (patch) | |
tree | 0e68adeb28deebf940644f53fafadf0f4ef3d862 /lib/Lex/ModuleMap.cpp | |
parent | 5e3f9223db88227d6d21679c613b139d8160186d (diff) |
Within the module representation, generalize the notion of an umbrella
header to also support umbrella directories. The umbrella directory
for an umbrella header is the directory in which the umbrella header
resides.
No functionality change yet, but it's coming.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146158 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Lex/ModuleMap.cpp')
-rw-r--r-- | lib/Lex/ModuleMap.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/lib/Lex/ModuleMap.cpp b/lib/Lex/ModuleMap.cpp index 0c9922ff2a..8457b1cea9 100644 --- a/lib/Lex/ModuleMap.cpp +++ b/lib/Lex/ModuleMap.cpp @@ -106,9 +106,9 @@ Module *ModuleMap::findModuleForHeader(const FileEntry *File) { Module *Result = KnownDir->second; // Search up the module stack until we find a module with an umbrella - // header. + // directory. Module *UmbrellaModule = Result; - while (!UmbrellaModule->UmbrellaHeader && UmbrellaModule->Parent) + while (!UmbrellaModule->getUmbrellaDir() && UmbrellaModule->Parent) UmbrellaModule = UmbrellaModule->Parent; if (UmbrellaModule->InferSubmodules) { @@ -260,7 +260,7 @@ ModuleMap::inferFrameworkModule(StringRef ModuleName, Modules[ModuleName] = Result; // umbrella "umbrella-header-name" - Result->UmbrellaHeader = UmbrellaHeader; + Result->Umbrella = UmbrellaHeader; Headers[UmbrellaHeader] = Result; UmbrellaDirs[FrameworkDir] = Result; @@ -336,7 +336,7 @@ ModuleMap::inferFrameworkModule(StringRef ModuleName, void ModuleMap::setUmbrellaHeader(Module *Mod, const FileEntry *UmbrellaHeader){ Headers[UmbrellaHeader] = Mod; - Mod->UmbrellaHeader = UmbrellaHeader; + Mod->Umbrella = UmbrellaHeader; const DirectoryEntry *UmbrellaDir = UmbrellaHeader->getDir(); if (Mod->IsFramework) @@ -864,10 +864,10 @@ void ModuleMapParser::parseUmbrellaDecl() { SourceLocation FileNameLoc = consumeToken(); // Check whether we already have an umbrella header. - if (ActiveModule->UmbrellaHeader) { + if (ActiveModule->getUmbrellaHeader()) { Diags.Report(FileNameLoc, diag::err_mmap_umbrella_header_conflict) << ActiveModule->getFullModuleName() - << ActiveModule->UmbrellaHeader->getName(); + << ActiveModule->getUmbrellaHeader()->getName(); HadError = true; return; } @@ -1064,7 +1064,7 @@ void ModuleMapParser::parseInferredSubmoduleDecl(bool Explicit) { } // Inferred modules must have umbrella headers. - if (!Failed && !ActiveModule->UmbrellaHeader) { + if (!Failed && !ActiveModule->getUmbrellaHeader()) { Diags.Report(StarLoc, diag::err_mmap_inferred_no_umbrella); Failed = true; } |