This solves the multiple defintiion issue https://github.com/llvm/llvm-project/issues/54269.
I think the cause of the bug might be an oversight. We just forget to edit this when implementing partitions. And it should be a good fix.
Paths
| Differential D121271
[C++20] [Modules] Don't generate strong function of a partition in importing modules ClosedPublic Authored by ChuanqiXu on Mar 8 2022, 9:48 PM.
Details Summary This solves the multiple defintiion issue https://github.com/llvm/llvm-project/issues/54269. I think the cause of the bug might be an oversight. We just forget to edit this when implementing partitions. And it should be a good fix.
Diff Detail Event TimelineComment Actions I think you need to extend the test case (and possibly the code) to handle an implementation partition as well, where the module is both interface and implementation. ChuanqiXu added a parent revision: D118352: [clang][ABI] New c++20 modules mangling scheme.Mar 9 2022, 12:15 AM Comment Actions
Yeah, this is the intention of partb (maybe I took a typo). Also, I found all the CodeGen tests patch would better to depend D118352 otherwise @urnathan might need to rebase again or we need to unnecessary rebase. Comment Actions it looks like the test case is failing everywhere - perhaps as a result of changes in the mangling scheme? Comment Actions
Oh, yeah... let me try to continue the work in mangling scheme. I feel it is important otherwise it is not so good to demangle. Comment Actions it looks like the first part of the C++20 mangling was just landed, so perhaps you can revisit this? This revision is now accepted and ready to land.Mar 31 2022, 11:29 PM Closed by commit rG3cec39b91c50: [C++20] [Modules] Don't generate strong function of a partition in importing… (authored by ChuanqiXu). · Explain WhyMar 31 2022, 11:36 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 419603 clang/include/clang/Basic/Module.h
clang/lib/Serialization/ASTWriterDecl.cpp
clang/test/CodeGenCXX/partitions.cpp
|