================
@@ -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

Reply via email to