Don't infer a submodule for a framework's private header, at least for now.

llvm-svn: 148117
This commit is contained in:
Douglas Gregor 2012-01-13 16:54:27 +00:00
parent bd53f597de
commit 09a22f071b
2 changed files with 2 additions and 15 deletions

View File

@ -341,20 +341,7 @@ ModuleMap::inferFrameworkModule(StringRef ModuleName,
Result);
}
}
// Look for private headers.
llvm::SmallString<128> PrivateHeadersDirName(FrameworkDir->getName());
llvm::sys::path::append(PrivateHeadersDirName, "PrivateHeaders");
if (const DirectoryEntry *Dir = FileMgr.getDirectory(PrivateHeadersDirName)) {
Module *Private = findOrCreateModule("Private", Result,
/*IsFramework=*/false,
/*IsExplicit=*/true).first;
setUmbrellaDir(Private, Dir);
Private->InferSubmodules = true;
Private->InferExplicitSubmodules = true;
Private->InferExportWildcard = true;
}
return Result;
}

View File

@ -54,7 +54,7 @@ void testModuleSubFrameworkAgain() {
int getDependsOnModulePrivate() { return depends_on_module_private; }
#include <Module/ModulePrivate.h> // expected-warning{{treating #include as an import of module 'Module.Private.ModulePrivate'}}
#include <Module/ModulePrivate.h> // includes the header
int getModulePrivate() { return module_private; }