[clang] Reland [C++20] [Modules] [Itanium ABI] Generate the vtable in the mod… (PR #102287)
Chuanqi Xu via cfe-commits
cfe-commits at lists.llvm.org
Wed Aug 7 20:15:14 PDT 2024
================
@@ -18484,11 +18484,15 @@ bool Sema::DefineUsedVTables() {
bool DefineVTable = true;
- // If this class has a key function, but that key function is
- // defined in another translation unit, we don't need to emit the
- // vtable even though we're using it.
const CXXMethodDecl *KeyFunction = Context.getCurrentKeyFunction(Class);
- if (KeyFunction && !KeyFunction->hasBody()) {
+ // V-tables for non-template classes with an owning module are always
+ // uniquely emitted in that module.
+ if (Class->isInCurrentModuleUnit())
+ DefineVTable = true;
+ else if (KeyFunction && !KeyFunction->hasBody()) {
----------------
ChuanqiXu9 wrote:
Done
https://github.com/llvm/llvm-project/pull/102287
More information about the cfe-commits
mailing list