This is an archive of the discontinued LLVM Phabricator instance.

[clang][modules] Consider M affecting after mapping M.Private to M_Private
AbandonedPublic

Authored by jansvoboda11 on Aug 23 2022, 2:28 PM.

Details

Summary

Wwhen Clang encounters @import M.Private during implicit build, it precompiles module M and looks through its submodules. If the Private submodule is not found, Clang assumes @import M_Private. In the dependency scanner, we don't capture the dependency on M, since
it's not imported. It's an affecting module, though: compilation of the import statement will fail when implicit modules are disabled and M is not precompiled and explicitly provided. This patch fixes that.

Diff Detail

Event Timeline

jansvoboda11 created this revision.Aug 23 2022, 2:28 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 23 2022, 2:28 PM
jansvoboda11 requested review of this revision.Aug 23 2022, 2:28 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 23 2022, 2:28 PM
Herald added a subscriber: cfe-commits. · View Herald Transcript
jansvoboda11 abandoned this revision.Aug 23 2022, 2:29 PM

Arcanist created two revisions, removing this one.