[all-commits] [llvm/llvm-project] de17c6: [C++20] [Modules] [ClangScanDeps] Add ClangScanDep...
Chuanqi Xu via All-commits
all-commits at lists.llvm.org
Thu Feb 9 18:31:23 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: de17c665e3f995c7f5a0e453461ce3a1b8aec196
https://github.com/llvm/llvm-project/commit/de17c665e3f995c7f5a0e453461ce3a1b8aec196
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2023-02-10 (Fri, 10 Feb 2023)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
A clang/test/ClangScanDeps/P1689.cppm
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[C++20] [Modules] [ClangScanDeps] Add ClangScanDeps support for C++20 Named Modules in P1689 format (2/4)
Close https://github.com/llvm/llvm-project/issues/51792
Close https://github.com/llvm/llvm-project/issues/56770
This patch adds ClangScanDeps support for C++20 Named Modules in P1689
format. We can find the P1689 format at:
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1689r5.html.
After we land the patch, we're able to compile C++20 Named
Modules with CMake! And although P1689 is written by kitware people,
other build systems should be able to use the format to compile C++20
Named Modules too.
TODO: Support header units in P1689 Format.
TODO2: Support C++20 Modules in the full dependency format of
ClangScanDeps. We also want to support C++20 Modules and clang modules
together according to
https://discourse.llvm.org/t/how-should-we-support-dependency-scanner-for-c-20-modules/66027.
But P1689 format cares about C++20 Modules only for now. So let's focus
on C++ Modules and P1689 format. And look at the full dependency format
later.
I'll add the ReleaseNotes and Documentations after the patch get landed.
Reviewed By: jansvoboda11
Differential Revision: https://reviews.llvm.org/D137527
More information about the All-commits
mailing list