================
@@ -7098,6 +7119,16 @@ bool Compiler<Emitter>::compileDestructor(const 
CXXDestructorDecl *Dtor) {
       return false;
   }
 
+  for (const Record::Base &Base : llvm::reverse(R->virtual_bases())) {
+    if (Base.R->hasTrivialDtor())
+      continue;
+    if (!this->emitGetPtrVirtBase(cast<CXXRecordDecl>(Base.R->getDecl()),
+                                  SourceInfo{}))
+      return false;
+    if (!this->emitRecordDestructionPop(Base.R, {}))
+      return false;
+  }
----------------
efriedma-quic wrote:

Codegen has separate notions of "complete" and "base" destructors; do we need 
something simlar here?

https://github.com/llvm/llvm-project/pull/204289
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to