[clang] [C++20][Modules] Load function body from the module that gives canonical decl (PR #111992)

Dmitry Polukhin via cfe-commits cfe-commits at lists.llvm.org
Fri Nov 22 08:05:15 PST 2024


dmpolukhin wrote:

@ilya-biryukov unfortunately it seems that the reproducer is very sensitive to the exact clang revision. I tried it with current main b8eef18868570b2f5244d6d43de02a1812d1c880 and this PR on top of the revision. In both cases I don't see any problems at all (no errors, no warnings). So you might have to share exact revision and any patches on top of them if any.

The warning/error about "inline function not defined" is very familiar to me and I'm reducing it now in our code. But I see it with and without my changes on many revisions. But depending on revision the warning moves from one function to another. My change alters deserialization order but the error itself is in something else that I was not able to identify yet. Our workaround is to modularize more and avoid merging definitions from several modules. In your example `strong_int.h` is not a part of its own module so clang merges it and it causes issue for friend inside template class.

https://github.com/llvm/llvm-project/pull/111992


More information about the cfe-commits mailing list