[PATCH] D125773: [Driver] Do not auto-enable header modules with -std=c++20

James Y Knight via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu May 19 08:04:25 PDT 2022


jyknight added a comment.

In D125773#3523459 <https://reviews.llvm.org/D125773#3523459>, @rsmith wrote:

> Header modules are part of the C++20 standard (where they are called "header units"), and module maps are an intended way for Clang to provide this functionality in C++20 mode. I don't think turning this off by default in C++20 is the right forward-looking plan; rather, I think we should be thinking about moving towards header modules simply always being something that Clang can do, with no flag to control that.

It feels unclear that using Clang's legacy module maps functionality _is_ a reasonable forward-looking way to provide this functionality for the C++20 standard. It feels to me like the models are fairly distinct and we might be better off disentangling C++20 modules from module-maps entirely (e.g. that we may continue to support Clang modules in C++20 for compatibility, but not as a way to support any C++20 standard features).

Has there been some previous discussion on this topic that concluded that we do want module maps for C++20 modules support?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D125773/new/

https://reviews.llvm.org/D125773



More information about the cfe-commits mailing list