dcoughlin accepted this revision.
dcoughlin added a comment.
This revision is now accepted and ready to land.

Looks good to me, other than some super tiny nits! Thanks for iterating on this 
-- it is awesome that the analyzer will be able to model this now!!



================
Comment at: include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h:463
 
+class PointerToMember : public NonLoc {
+  friend class ento::SValBuilder;
----------------
I think this deserves a comment about why it is a NonLoc and why it needs to 
keep the PointerToMemberData with the list of CXXBaseSpecifiers.


================
Comment at: lib/StaticAnalyzer/Core/ExprEngineC.cpp:269
+    StmtNodeBuilder &Bldr, ExplodedNode* Pred) {
+  // Recover some path-sensitivty by conjuring a new value.
+  QualType resultType = CastE->getType();
----------------
While we're here we might as well correct the misspelling --> "path 
sensitivity".


================
Comment at: test/Analysis/pointer-to-member.cpp:74
 
-  // FIXME: Should emit a null dereference.
-  return obj.*member; // no-warning
+  return obj.*member; // expected-warning{{}}
+}
----------------
Can you include the warning text in the expected-warning directive? This will 
ensure we keep emitting the correct warning in the future.


https://reviews.llvm.org/D25475



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to