[clang] [clang][dataflow] Model assignment to derived class from base. (PR #85064)

Gábor Horváth via cfe-commits cfe-commits at lists.llvm.org
Wed Mar 13 11:08:15 PDT 2024


================
@@ -212,8 +212,23 @@ TEST(TransferTest, CopyRecordFromDerivedToBase) {
       // [[p]]
     }
   )";
+  auto SyntheticFieldCallback = [](QualType Ty) -> llvm::StringMap<QualType> {
+    CXXRecordDecl *ADecl = nullptr;
+    if (Ty.getAsString() == "A")
+      ADecl = Ty->getAsCXXRecordDecl();
+    else if (Ty.getAsString() == "B")
+      ADecl = Ty->getAsCXXRecordDecl()
+                  ->bases_begin()
+                  ->getType()
+                  ->getAsCXXRecordDecl();
+    else
+      return {};
+    QualType IntTy = getFieldNamed(ADecl, "i")->getType();
+    return {{"synth_int", IntTy}};
+  };
+  // Copy derived to base class.
----------------
Xazax-hun wrote:

What does this comment refer to?

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


More information about the cfe-commits mailing list