sammccall accepted this revision. sammccall added a comment. Per offline discussion, I think modelling pointer-to-member as PointerValue does make sense, though that's not completely obvious. Can we document this on PointerValue? (And that it points to a StorageLocation for the decl, which has no value)
================ Comment at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:236 + // `DeclRefExpr`s to fields and non-static methods aren't glvalues, and + // there's also no sensible `Value` we can assign to them, so skip them. + if (isa<FieldDecl>(VD)) ---------------- I'm a bit confused by this. Why bail out rather than create the storage location? `C::x` is going to be part of `&C::x`, and we're going to create the storagelocation by calling getStorageLocation() on line 456. So why not do it already? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153960/new/ https://reviews.llvm.org/D153960 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits