[all-commits] [llvm/llvm-project] 3b8f53: [clang][deps] Use top-level modules as precompiled...
Jan Svoboda via All-commits
all-commits at lists.llvm.org
Wed Aug 25 01:51:47 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 3b8f536fec2f7dfd5dc69c6516c20c5b48b38409
https://github.com/llvm/llvm-project/commit/3b8f536fec2f7dfd5dc69c6516c20c5b48b38409
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2021-08-25 (Wed, 25 Aug 2021)
Changed paths:
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
A clang/test/ClangScanDeps/Inputs/modules-pch-common-submodule/cdb_pch.json
A clang/test/ClangScanDeps/Inputs/modules-pch-common-submodule/cdb_tu.json
A clang/test/ClangScanDeps/Inputs/modules-pch-common-submodule/mod_common.h
A clang/test/ClangScanDeps/Inputs/modules-pch-common-submodule/mod_common_sub.h
A clang/test/ClangScanDeps/Inputs/modules-pch-common-submodule/mod_tu.h
A clang/test/ClangScanDeps/Inputs/modules-pch-common-submodule/module.modulemap
A clang/test/ClangScanDeps/Inputs/modules-pch-common-submodule/pch.h
A clang/test/ClangScanDeps/Inputs/modules-pch-common-submodule/tu.c
A clang/test/ClangScanDeps/modules-pch-common-submodule.c
Log Message:
-----------
[clang][deps] Use top-level modules as precompiled dependencies
The `ASTReader` populates `Module::PresumedModuleMapFile` only for top-level modules, not submodules. To avoid generating empty `-fmodule-map-file=` arguments, make discovered modules depend on top-level precompiled modules. The granularity of submodules is not important here.
The documentation of `Module::PresumedModuleMapFile` says this field is non-empty only when building from preprocessed source. This means there can still be cases where the dependency scanner generates empty `-fmodule-map-file=` arguments. That's being addressed in separate patch: D108544.
Reviewed By: dexonsmith
Differential Revision: https://reviews.llvm.org/D108647
More information about the All-commits
mailing list