[clang] [clang][bytecode] Support virtual bases in C++26 (PR #204289)
Eli Friedman via cfe-commits
cfe-commits at lists.llvm.org
Thu Jun 18 14:01:57 PDT 2026
================
@@ -4861,7 +4861,14 @@ bool Compiler<Emitter>::visitZeroRecordInitializer(const Record *R,
return false;
}
- // FIXME: Virtual bases.
+ for (const Record::Base &B : R->virtual_bases()) {
+ if (!this->emitGetPtrVirtBase(cast<CXXRecordDecl>(B.R->getDecl()), E))
+ return false;
+ if (!this->visitZeroRecordInitializer(B.R, E))
+ return false;
+ if (!this->emitFinishInitPop(E))
+ return false;
----------------
efriedma-quic wrote:
I think we need to distinguish whether visitZeroRecordInitializer is called on a complete objects, a base class.
https://github.com/llvm/llvm-project/pull/204289
More information about the cfe-commits
mailing list