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 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits