[all-commits] [llvm/llvm-project] ed07fe: [clang][modules][deps] Transitive module maps are ...
Jan Svoboda via All-commits
all-commits at lists.llvm.org
Thu Dec 1 20:16:32 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: ed07fe71d7bbdd13b113a2073f47e701e41a1001
https://github.com/llvm/llvm-project/commit/ed07fe71d7bbdd13b113a2073f47e701e41a1001
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2022-12-01 (Thu, 01 Dec 2022)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/ClangScanDeps/modules-transitive.c
Log Message:
-----------
[clang][modules][deps] Transitive module maps are not affecting
Currently, the algorithm for gathering affecting module maps includes those defining transitive dependencies. This seems like an over-approximation, since those don't change the semantics of current module build.
(With this patch, `ModulesToProcess` only ever holds modules whose headers will be serialized into the current PCM.)
Reviewed By: Bigcheese
Differential Revision: https://reviews.llvm.org/D137197
Commit: f99e5a9106f08ad92a22c3b114d2052e5c502924
https://github.com/llvm/llvm-project/commit/f99e5a9106f08ad92a22c3b114d2052e5c502924
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2022-12-01 (Thu, 01 Dec 2022)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/ClangScanDeps/modules-extern-submodule.c
Log Message:
-----------
[clang][modules][deps] Parent module maps are affecting
Currently, the algorithm for gathering affecting module maps includes only those defining modules that include some headers. This is not entirely correct, though. Some module maps might be "importing" module maps for `extern` submodules. Such parent module maps are affecting - they do change semantics of the compilation. This patch adds parent module maps into the set of affecting module maps.
Depends on D137197.
Reviewed By: Bigcheese
Differential Revision: https://reviews.llvm.org/D137198
Commit: 83973cf157f7850eb133a4bbfa0f8b7958bad215
https://github.com/llvm/llvm-project/commit/83973cf157f7850eb133a4bbfa0f8b7958bad215
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2022-12-01 (Thu, 01 Dec 2022)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/ClangScanDeps/modules-extern-unrelated.m
Log Message:
-----------
[clang][modules][deps] Including module maps are affecting
With this patch, we mark module maps that include an affecting `extern` module map as also affecting. This is a generalization of D137197: now we don't require the importing module map to describe parent of the extern module.
Depends on D137198.
Reviewed By: Bigcheese
Differential Revision: https://reviews.llvm.org/D137206
Compare: https://github.com/llvm/llvm-project/compare/997d7d193149...83973cf157f7
More information about the All-commits
mailing list