[clang] Reland [C++20] [Modules] [Itanium ABI] Generate the vtable in the mod… (PR #102287)

Matheus Izvekov via cfe-commits cfe-commits at lists.llvm.org
Wed Aug 7 11:12:38 PDT 2024


================
@@ -5317,6 +5329,17 @@ void ASTWriter::WriteSpecialDeclRecords(Sema &SemaRef) {
   }
   if (!DeleteExprsToAnalyze.empty())
     Stream.EmitRecord(DELETE_EXPRS_TO_ANALYZE, DeleteExprsToAnalyze);
+
+  RecordData VTablesToEmit;
+  for (CXXRecordDecl *RD : PendingEmittingVTables) {
+    if (!wasDeclEmitted(RD))
+      continue;
----------------
mizvekov wrote:

Can't we simply remove the records from this table as we emit them, using appropriate data structure and such?

Otherwise the name of the table is not very accurate, should be `MaybePendingEmittingVTables`.

https://github.com/llvm/llvm-project/pull/102287


More information about the cfe-commits mailing list