Introduce inferred framework modules into the module map file,
authorDouglas Gregor <dgregor@apple.com>
Tue, 6 Nov 2012 19:39:40 +0000 (19:39 +0000)
committerDouglas Gregor <dgregor@apple.com>
Tue, 6 Nov 2012 19:39:40 +0000 (19:39 +0000)
commit9194a91dc928581ddef77c695a22820713c64a43
tree78f737ff484508204fa585795a3ffa63b8412064
parent64536a6d250c71f9b73c35e8801056c22ffd7618
Introduce inferred framework modules into the module map file,
allowing a module map to be placed one level above the '.framework'
directories to specify that all .frameworks within that directory can
be inferred as framework modules. One can also specifically exclude
frameworks known not to work.

This makes explicit (and more restricted) behavior modules have had
"forever", where *any* .framework was assumed to be able to be built
as a module. That's not necessarily true, so we white-list directories
(with exclusions) when those directories have been audited.

llvm-svn: 167482
clang/include/clang/Basic/DiagnosticLexKinds.td
clang/include/clang/Lex/ModuleMap.h
clang/lib/Lex/HeaderSearch.cpp
clang/lib/Lex/ModuleMap.cpp
clang/test/Index/Inputs/Frameworks/module.map [new file with mode: 0644]
clang/test/Modules/Inputs/NotAModule.framework/Headers/NotAModule.h [new file with mode: 0644]
clang/test/Modules/Inputs/module.map
clang/test/Modules/inferred-frameworks.m [new file with mode: 0644]