NoQ accepted this revision.
NoQ added a comment.

This looks great to me as long as other reviewers are happy. @vrnithinkumar, I 
think you should ask for commit access and honorably push the patch to master 
yourself ^.^

I guess we'll talk about this more, but i think the really good next step would 
be to implenent the `checkRegionChanges` callback for the checker so that to 
destroy the tracked raw pointer data whenever something unknown happens to the 
smart pointer. We'll need this anyway, i.e. when a pointer is passed by a 
non-const reference into a function, we no longer know the raw pointer value. 
But as a side effect, it'll also destroy tracked data on any smart pointer 
method that's not modeled yet. That'll allow the modeling checker to behave 
correctly (i.e., not perfectly but avoid being confidently incorrect) even if 
not all methods are modeled. That, in turn, will allow us to remove the option 
and enable the checker by default even without fully implementing all methods.



================
Comment at: clang/lib/StaticAnalyzer/Checkers/SmartPtrChecker.cpp:32-33
+class SmartPtrChecker : public Checker<check::PreCall> {
+  BugType NullDereferenceBugType{this, "Null SmartPtr dereference",
+                                 "C++ Smart Pointer"};
+
----------------
Those strings are user-facing. We need to not forget to come up with a more 
humane explanation of the bug.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D81315/new/

https://reviews.llvm.org/D81315



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

Reply via email to