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

2022-05-23 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added a comment. In D125773#3525127 , @ilya-biryukov wrote: > It looks like this particular change actually breaks standard compatibility > as we also use the same parsing action and don't build a module separately on > `import`. > >

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

2022-05-20 Thread Ilya Biryukov via Phabricator via cfe-commits
ilya-biryukov added a comment. In D125773#3525215 , @tahonermann wrote: >> So the proposal is that -fheader-modules=parse would parse #include of >> header unit in the same TU, and import .pcm on import, right? > > Per cpp.includep7

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

2022-05-19 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added a comment. > So the proposal is that -fheader-modules=parse would parse #include of header > unit in the same TU, and import .pcm on import, right? Per cpp.includep7 , "If the header identified by the //header-name// denotes an importable

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

2022-05-19 Thread Ilya Biryukov via Phabricator via cfe-commits
ilya-biryukov planned changes to this revision. ilya-biryukov marked 2 inline comments as done. ilya-biryukov added a comment. Richard, thanks for course correcting. I was under impression that header modules are not in the standard, my mistake. It looks like this particular change actually

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

2022-05-19 Thread James Y Knight via Phabricator via cfe-commits
jyknight added a comment. In 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

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

2022-05-18 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added a comment. 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,

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

2022-05-17 Thread Ilya Biryukov via Phabricator via cfe-commits
ilya-biryukov added a reviewer: rsmith. ilya-biryukov marked 2 inline comments as done. ilya-biryukov added a comment. In D125773#3519048 , @sammccall wrote: > LG, but I think this is choosing a (new) public name for clang modules/header > modules, so

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

2022-05-17 Thread Ilya Biryukov via Phabricator via cfe-commits
ilya-biryukov updated this revision to Diff 430056. ilya-biryukov added a comment. - Revert gnu++20 fix - Always pass -fheader-modules/-fno-header-modules when modules are enabled Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D125773/new/

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

2022-05-17 Thread Sam McCall via Phabricator via cfe-commits
sammccall accepted this revision. sammccall added a comment. This revision is now accepted and ready to land. LG, but I think this is choosing a (new) public name for clang modules/header modules, so maybe Richard or others might want to weigh in? Comment at:

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

2022-05-17 Thread Ilya Biryukov via Phabricator via cfe-commits
ilya-biryukov created this revision. ilya-biryukov added a reviewer: sammccall. Herald added a project: All. ilya-biryukov requested review of this revision. Herald added a subscriber: MaskRay. Herald added a project: clang. This only shows up if one passes module maps to Clang in `-std=c++20`