[PATCH] D120540: [Driver] Enable to use C++20 modules standalone by -fcxx-modules
Iain Sandoe via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Mar 4 01:10:09 PST 2022
iains added a comment.
1. I agree 100% that the driver needs to be able to process in "c++20 modules mode"; there is some handling of sources that should be changed accordingly.
2. I believe that it is a general objective of the tooling folks (roughly SG15 participants) that C++20 modules should (eventually) be considered automatic for C++20+
3. There is at least one request from tooling folks that there should be an option to disable modules (even when in C++20 mode); this is a practical measure to avoid the case that it is impossible to build a TU because of some potential modules-related bug ...
4. IMO it becomes increasingly important to try and decouple the clang modules from C++20 modules as much as possible.
So .. I was going to suggest that we might introduce -fmodules= {none, clang, c++20, ...}
with defaults picked:
fmodules => clang (i.e. the current meaning)
!fmodules && C++20+ => c++20 (i.e. the objective of (2) above
Where there are other flags that imply C++20 that can switch c++20 mode as well
otherwise the default would be "none"
.. this provides for (3) ... since -std=c++20 -fmodules=none could be used.
I do not have a patch for this proposal as of this time (my current patches assume (2) but do not meet the objective of (3))
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D120540/new/
https://reviews.llvm.org/D120540
More information about the cfe-commits
mailing list