sgatev added inline comments.
================ Comment at: clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp:217 + const Expr *Arg = MethodCall->getImplicitObjectArgument(); + Env.ThisPointeeLoc = Env.getStorageLocation(*Arg, SkipPast::Reference); + } ---------------- samestep wrote: > sgatev wrote: > > samestep wrote: > > > sgatev wrote: > > > > What if `Arg` is null? > > > Good point, thanks; under what circumstances can that happen? In any > > > case, I'm adding a guard for this. > > It can be null if the argument isn't modeled and there's no value assigned > > to its storage location. > Hmm I don't quite follow; `Arg` just comes from calling > `getImplicitObjectArgument` on the `CXXMemberCallExpr`, right? So shouldn't > it only depend on the AST, and be completely independent of what we do or > don't model? Ah, right. Well, I'm not familiar with the details, but apparently it returns null in some cases. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D131170/new/ https://reviews.llvm.org/D131170 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits