[PATCH] D126694: [C++20][Modules] Implementation of GMF decl elision.

Chuanqi Xu via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Jul 8 01:05:51 PDT 2022


ChuanqiXu added a comment.

In D126694#3638069 <https://reviews.llvm.org/D126694#3638069>, @iains wrote:

> In D126694#3637690 <https://reviews.llvm.org/D126694#3637690>, @ChuanqiXu wrote:
>
>> In D126694#3635207 <https://reviews.llvm.org/D126694#3635207>, @iains wrote:
>>
>>> @rsmith, @ChuanqiXu apologies for the multiple revisions, this has turned out to be much more involved than I imagined from the standard's text.
>>>
>>> In D126694#3629254 <https://reviews.llvm.org/D126694#3629254>, @ChuanqiXu wrote:
>>>
>>>> In D126694#3629251 <https://reviews.llvm.org/D126694#3629251>, @iains wrote:
>>>>
>>>>> In D126694#3629094 <https://reviews.llvm.org/D126694#3629094>, @ChuanqiXu wrote:
>>>>>
>>>>>> BTW, after I applied the patch, the compiler crashes at https://github.com/ChuanqiXu9/stdmodules.
>>>>>
>>>>> That link points to a project - is there (say) a gist of the crash information?
>>>>
>>>> Here is the crash log:
>>>
>>> this code now compiles without error,
>>
>> Thanks for looking into it!
>>
>> My personal plan for this revision is to review the details after we add more large tests (at least we have a more complete std modules implementation and I am trying for it. But I find another bug now). So we might need to wait for a while for this patch. How do you think about it?
>
> Well, the difficulty there is that "add more large tests" is not a very specific objective.
> I will be first to say that we can tell that the implementation here is necessary, but we cannot tell if it is sufficient - however, IMO we need to find a more definite way to make progress.

Yeah, clearness matters. Let me try to state my idea clearly:
(1) Make std modules sufficient to be able to cover at least <thread>, <vector>, <string>, <algorithm>, <memory> and <atomic>. So that we could run the tests from cppreference at least.
(2) Make https://github.com/alibaba/async_simple/tree/CXX20Modules compilable by clang trunk and std modules

Then we could use (1) or (2) to check some relatively large patches (including this one but not limited). In this way, I  feel like we have more confident to say the C++20 Modules in Clang is workable. (Tests is never enough. I know). I would like to see how far I can go in the next month. So I would like to give a more specific answer what test ((1) or (2) or others) we need to use. I think one month might not be super long time in this area. How do you think about it?

---

BTW, I've sent two patches to enhance the usability: D128974 <https://reviews.llvm.org/D128974> and D129068 <https://reviews.llvm.org/D129068>. And I am fighting with the other problems.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D126694



More information about the cfe-commits mailing list