================ @@ -198,6 +198,27 @@ bool ByteCodeStmtGen<Emitter>::visitFunc(const FunctionDecl *F) { return false; if (!this->emitInitPtrPop(InitExpr)) return false; + } else if (const IndirectFieldDecl *IFD = Init->getIndirectMember()) { + assert(IFD->getChainingSize() >= 2); + + unsigned NestedFieldOffset = 0; + const Record::Field *NestedField = nullptr; + for (const NamedDecl *ND : IFD->chain()) { + // FIXME: Can this *not* be a FieldDecl? ---------------- tbaederr wrote:
The current interpreter uses `cast<FieldDecl>` as well, so this should be fine. Unfortunately, unions aren't handled at all in the new interpreter right now, so that could be a FIXME comment at best. https://github.com/llvm/llvm-project/pull/69900 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits