[PATCH] D129138: [clang] [docs] Update the changes of C++20 Modules in clang15

Iain Sandoe via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Jul 6 01:40:58 PDT 2022


iains added a comment.

Perhaps we could be a little more bold about the completeness of the implementation (at least, w.r.t the base paper `P1103`) - we pass the relevant test cases.

As for the follow-on papers, I think we have more that can be added notes below:
There are some test cases to be posted to phab for some of these (so maybe allow me a few more days to get the list fully correct).

(it will also depend on what we can land before 26th - however some of the stuff below is already approved, so it's a matter of finding some time to push the patches and watch the bots...)

@ChuanqiXu if you think that more is needed on any of these (other than `P1815` which is known partial), please let me know.

(Please also add any relevant phab reviews from your side)

-----

P1779R3: ABI isolation for member functions

- Paper applied to WP.

Change [dcl.inline]/7 (as edited by P1815R1):

- This is being addressed by D128328 <https://reviews.llvm.org/D128328>

(although we have somewhat of a moving target since some clarifications were requested from core).

Change [dcl.fct.def.default]/3:

- Already handled in the constexpr/consteval code, there is no actual change for modular cases.

Change [class.mfct]/1:
Change [class.friend]/7:

- D129045 <https://reviews.llvm.org/D129045>, including tests.

------

P1979R0: Resolution to US086

- Paper applied to WP.
- Current implementation complies: test case to be posted CXX/module/module.import/p7.cpp

------

P1811R0 Relaxing redefinition restrictions for re-exportation robustness

- Paper applied to WP - note there are on-going discussions in core/ext about exports that might affect this.

Note that there are a lot of changes here, but that the draft that includes them is what we are working to, so it is expected that (mostly) we will need to identify tests and/or queries about how to verify.

Change in 6.2 [basic.def.odr] paragraph 1:
Change in 6.2 [basic.def.odr] paragraph 12:

- no action required, these changes restore pre-P1103 behaviour (and the paragraph 12 changes have been subsumed in following updates).

Change in 10.5 [module.context] paragraph 7:

  test: CXX/module/module.context/p7.cpp

Change in 10.6 [module.reach] paragraph 3:

- D126694 <https://reviews.llvm.org/D126694> and D128328 <https://reviews.llvm.org/D128328>

Change in 15.2 [cpp.include] paragraph 7:

- D128981 <https://reviews.llvm.org/D128981> provides conditional include translation that follows the same scheme as GCC.

Feature test macro

- already implemented.

-------

[Partial] P1815R2: Translation-unit-local entities

Change [basic.def.odr]/10:

- implementation complies, example provided.

Insert before [basic.def.odr]/11

- D128328 <https://reviews.llvm.org/D128328> + ongoing core/ext discussions.

Change [basic.lookup.argdep]/5:
D129174 <https://reviews.llvm.org/D129174> - overload changes.  example added 
 Question to core on TU#3  f(x).

-------

P2115R0: US069: Merging of multiple definitions for unnamed unscoped enumerations

- merged to WP, but ongoing discussions in core/ext might cause re-work

testcase to be posted to phab.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D129138



More information about the cfe-commits mailing list