[PATCH] D131062: [docs] Add "C++20 Modules"

Chuanqi Xu via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Aug 4 01:25:16 PDT 2022

ChuanqiXu added a comment.

In D131062#3697193 <https://reviews.llvm.org/D131062#3697193>, @Mordante wrote:

> Thanks a lot for working on this!
> I wonder whether it would be better to have some of the more technical information in a separate file and let this file mainly have an introduction to modules in general and how to get started using them in Clang.

What do you mean about the `more technical information`? Do you refer to the section `How module speed up the compilation`?

I added the `How module speed up the compilation` section since I know people are curious about why and how modules could speedup the compilation. And this section tries tell them that they may probably get what they want in O0 but not so much in O2 <https://reviews.llvm.org/owners/package/2/> (and still some improvements after all) and also the reasons.

> let this file mainly have an introduction to modules in general

If I don't misread, do you say that we need make this one like a modules tutorial? If yes, I think it is not what I thought. I treat this one like a toolchain documentation instead of a language feature documentation. Everything in the doc is about the building.
I put the language background since I want to make the doc self-contained. And everything else is related to the building. I understand it is good/needed to introduce about modules since it really brings many new concepts. Personally, I feel like it would be done by somebody else besides of clang docs. The compiler and languages are deeply connected but they are still different to me.

> I haven't tested the steps yet, but I intend to see whether the examples work for me.
> I haven't validated whether the module explanation is correct; I'm sure there are other reviewers who have a deeper knowledge of modules.

Thanks. I've tested all the examples. It is always good to have more testers. It should be good at trunk. If you want to test with 15.x, you may need to wait for the merge of https://github.com/llvm/llvm-project-release-prs/pull/40 and https://github.com/llvm/llvm-project-release-prs/pull/40

Comment at: clang/docs/CPlusPlus20Modules.rst:35
+tutorial. The document would only introduce concepts about the the
+structure and building of the project.
Mordante wrote:
> How about mentioning the state of modules in Clang? In your GitHub repository you mention some limitations. (A link to a status page could be an alternative.)
Yeah, I've added the `Known Problems` section.



More information about the cfe-commits mailing list