Support only preferred spelling 'Modules/module.private.modulemap' and
not the deprecated 'module_private.map'.
rdar://problem/57715533
Paths
| Differential D75311
[modules] Allow frameworks to have only a private module without a public one. ClosedPublic Authored by vsapsai on Feb 27 2020, 4:03 PM.
Details Summary Support only preferred spelling 'Modules/module.private.modulemap' and rdar://problem/57715533
Diff Detail
Event TimelineComment Actions Looks like other module-related tracking like LoadedModuleMaps, DirectoryHasModuleMap works without extra changes. And ModuleMapParser relies on a file name to decide if a module map is private or not, so the presence of a public module map doesn't matter for it.
This revision is now accepted and ready to land.Feb 27 2020, 4:36 PM Closed by commit rG4069dd14124e: [modules] Allow frameworks to have only a private module without a public one. (authored by vsapsai). · Explain WhyFeb 28 2020, 3:48 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 247125 clang/lib/Lex/HeaderSearch.cpp
clang/test/Modules/Inputs/implicit-private-without-public/DeprecatedModuleMapLocation.framework/PrivateHeaders/A.h
clang/test/Modules/Inputs/implicit-private-without-public/DeprecatedModuleMapLocation.framework/module_private.map
clang/test/Modules/Inputs/implicit-private-without-public/Foo.framework/Modules/module.private.modulemap
clang/test/Modules/Inputs/implicit-private-without-public/Foo.framework/PrivateHeaders/Foo_Priv.h
clang/test/Modules/implicit-private-without-public.m
|
We don't try to strip/add file extensions, so won't try to load a module map like 'module.private.private.modulemap'.