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

Reply via email to