[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 09:02:37 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:
Ah, OK, I see! Thanks, I somehow expected the behavior to be present in the code as well. Makes sense.
https://github.com/llvm/llvm-project/pull/85064
More information about the cfe-commits
mailing list