diff options
author | Manuel Klimek <klimek@google.com> | 2015-11-05 15:24:47 +0000 |
---|---|---|
committer | Manuel Klimek <klimek@google.com> | 2015-11-05 15:24:47 +0000 |
commit | e8bd0db6988187ecea5bf9b0b6ebb12e15c63345 (patch) | |
tree | ad7fde599036fb8f4905ed0a8d731fad08b16931 /clang/lib/Lex/ModuleMap.cpp | |
parent | ac1c0f8931afb198ff18f46b3bfe94a96710e833 (diff) | |
download | bcm5719-llvm-e8bd0db6988187ecea5bf9b0b6ebb12e15c63345.tar.gz bcm5719-llvm-e8bd0db6988187ecea5bf9b0b6ebb12e15c63345.zip |
Allow use of private headers in different sub-modules.
llvm-svn: 252170
Diffstat (limited to 'clang/lib/Lex/ModuleMap.cpp')
-rw-r--r-- | clang/lib/Lex/ModuleMap.cpp | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/clang/lib/Lex/ModuleMap.cpp b/clang/lib/Lex/ModuleMap.cpp index e1594eee368..c66bd70487f 100644 --- a/clang/lib/Lex/ModuleMap.cpp +++ b/clang/lib/Lex/ModuleMap.cpp @@ -231,11 +231,9 @@ static bool violatesPrivateInclude(Module *RequestingModule, assert((!IsPrivateRole || IsPrivate) && "inconsistent headers and roles"); } #endif - return IsPrivateRole && - // FIXME: Should we map RequestingModule to its top-level module here - // too? This check is redundant with the isSubModuleOf check in - // diagnoseHeaderInclusion. - RequestedModule->getTopLevelModule() != RequestingModule; + return IsPrivateRole && (!RequestingModule || + RequestedModule->getTopLevelModule() != + RequestingModule->getTopLevelModule()); } static Module *getTopLevelOrNull(Module *M) { @@ -261,11 +259,6 @@ void ModuleMap::diagnoseHeaderInclusion(Module *RequestingModule, HeadersMap::iterator Known = findKnownHeader(File); if (Known != Headers.end()) { for (const KnownHeader &Header : Known->second) { - // If 'File' is part of 'RequestingModule' we can definitely include it. - if (Header.getModule() && - Header.getModule()->isSubModuleOf(RequestingModule)) - return; - // Remember private headers for later printing of a diagnostic. if (violatesPrivateInclude(RequestingModule, File, Header.getRole(), Header.getModule())) { |