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

Iain Sandoe via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Oct 11 01:37:42 PDT 2022


iains 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.

I do not believe that the client-sever build system model (a.k.a. P1184 <https://reviews.llvm.org/P1184> / module mapper) is quite the same thing as implicit modules - there is a partial similarity in that the dependencies are discovered from the sources during compilation (rather than from a pre-scan).

However it does not try to turn the compiler into a build system; that work is done by the module-mapper (which can be some trivial in-process scheme or a full-blown build system, e.g. build2 - which I believe has an implementation that works with GCC).

(clearly we [the whole C++ community] need to figure out how we want these things to look to the end user and try to harmonise the implementations)


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

https://reviews.llvm.org/D134267



More information about the cfe-commits mailing list