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 | 73141fa98d34ccd5cd420301122df4e214d9238a (patch) | |
tree | 735c613820ce3692df6c8c2580ce7f04b179b7fd /clang/lib/Lex/ModuleMap.cpp | |
parent | c09e4593b2ab7aadf07aef1c6b2be7f6d6e13061 (diff) | |
download | llvm-73141fa98d34ccd5cd420301122df4e214d9238a.zip llvm-73141fa98d34ccd5cd420301122df4e214d9238a.tar.gz llvm-73141fa98d34ccd5cd420301122df4e214d9238a.tar.bz2 |
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.
llvm-svn: 146158
Diffstat (limited to 'clang/lib/Lex/ModuleMap.cpp')
-rw-r--r-- | clang/lib/Lex/ModuleMap.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/clang/lib/Lex/ModuleMap.cpp b/clang/lib/Lex/ModuleMap.cpp index 0c9922f..8457b1c 100644 --- a/clang/lib/Lex/ModuleMap.cpp +++ b/clang/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; } |