C++ Logo

sg15

Advanced search

Re: [P2990R0]: C++ Modules Roadmap

From: Chuanqi Xu <chuanqi.xcq_at_[hidden]>
Date: Mon, 16 Oct 2023 11:21:39 +0800
Hi Daniel,
 Thanks for the paper!
 In 2.1, it should be `P1689R5` instead of `P1689R4` as far as I know.
 Also in 2.1, it says:
> For example, the way that module initialization is being handled in Clang
> creates a mandatory link-time requirement into the object produced by the translation of the
> primary module interface unit. This precludes the idea of “module-interface-only libraries,” which
> would be the equivalent of what “header-only libraries” do in the pre-modules world
 But as far as I know, all the compilers require to compile the module interface unit to object files and link that. What is different in clang is that clang will compile the BMI to the object file while other compilers don't compile the BMI itself but the source file. So I feel all the 3 compilers will create a mandatory link-time requirement into the object produced by the translation of the module interface unit.
 For 2.3.1, I am trying to support C++20 modules in clangd: https://github.com/llvm/llvm-project/pull/66462 <https://github.com/llvm/llvm-project/pull/66462 >. But I understand it is OK to not mention it since it is not landed. I just mention it here FYI.
 For 3.4, from my experience in clangd, it looks sufficient to have the existing compilation database and a map from module name to the source files for the static analyzing tools to create BMIs for their own. Does it need a paper from 5.1?
 Also I am suggesting to add a section for the current state of std module in some places of section2. Since I found the std module is special: it is by default a cross-project module. So it may be a good start to experiment to release and distribute modules with the std module.
Thanks,
Chuanqi
Thanks,
Chuanqi
------------------------------------------------------------------
From:Daniel Ruoso (BLOOMBERG/ 919 3RD A) via SG15 <sg15_at_[hidden]>
Send Time:2023 Oct. 15 (Sun.) 07:47
To:sg15 <sg15_at_[hidden]>
Cc:Daniel Ruoso (BLOOMBERG/ 919 3RD A) <druoso_at_[hidden]>
Subject:[SG15] [P2990R0]: C++ Modules Roadmap
I have been trying to figure out a way to move us in a more concerted way to support C++ modules. This paper proposes a methodology and priority setting on how we should focus the work on SG15 such that we provide enough confidence for implementers that it is safe to invest in the support for C++ modules.
Link: https://wg21.link/p2990R0 <https://wg21.link/p2990R0 >
Daniel

Received on 2023-10-16 03:21:45