[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
Mon Mar 18 07:51:49 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:
I am probably missing something. Where does the copy happen in the analyzed code snippet?
https://github.com/llvm/llvm-project/pull/85064
More information about the cfe-commits
mailing list