[PATCH] D134267: [C++] [Modules] Support one phase compilation model for named modules

Chuanqi Xu via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Oct 11 01:55:43 PDT 2022


ChuanqiXu added a comment.

In D134267#3848822 <https://reviews.llvm.org/D134267#3848822>, @tschuett wrote:

> Clang header modules started with implicit builds and module caches. Apple is moving too explicit builds. There are all kinds of problems with implicit module builds. I believe that C++20 modules shouldn't make the same mistake.

Could you provide more details? Since we can't understand you if you only said it is bad without reasons then we can't be in the same page.

>From my natural imagination, some kind of module cache is necessary. Otherwise, we may not be able to compile a hello world example in one command line like:

  clang++ -std=c++20 Hello.cppm main.cpp

And for a larger project, you can see the demo at: https://github.com/ChuanqiXu9/llvm-project/tree/MyP1689/P1689Examples. The cache is controlled by the build system instead of the compiler. So we are not moving the build system into the compiler.

My rough feeling is that you're telling us that something is bad in 100 steps aways. But we're in fact to move 1 step further. But let's be back in the same page first.


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

https://reviews.llvm.org/D134267



More information about the cfe-commits mailing list