NoQ added inline comments.

================
Comment at: clang/lib/StaticAnalyzer/Checkers/NullDereference.h:21
+namespace ento {
+namespace nullDereference {
+
----------------
Namespaces are traditionally snake_case rather than camelCase.


================
Comment at: clang/lib/StaticAnalyzer/Checkers/SmartPtrChecker.cpp:110
+  SmartPtrChecker *Checker = Mgr.registerChecker<SmartPtrChecker>();
+  NullDereferenceBugTypePtr = &Checker->NullDereferenceBugType;
 }
----------------
Wait, i don't understand again. You're taking the bug type from that checker 
and using it in that checker. Why did you need to make it global? I thought 
your problem was about capturing the bug type from the //raw// null dereference 
checker?


================
Comment at: clang/lib/StaticAnalyzer/Checkers/SmartPtrChecker.cpp:95-96
+
+  const auto *RecordDecl = MethodDecl->getParent();
+  if (RecordDecl && RecordDecl->getDeclName().isIdentifier()) {
+    OS << " of type '" << RecordDecl->getQualifiedNameAsString() << "'";
----------------
vrnithinkumar wrote:
> NoQ wrote:
> > Aha, this time you checked for anonymous declarations! Good.
> > 
> > That said, i'm not sure type is actually useful for this warning, because 
> > they're roughly all the same.
> Okay. I was trying to be consistent with `MoveChecker`.
> Just removed smart pointer type.
These were important in `MoveChecker` because use-after-move rules for smart 
pointers are different from use-after-move rules of any other class in the 
standard library and the checker has to behave differently 
(https://wiki.sei.cmu.edu/confluence/x/O3s-BQ).


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D84600

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

Reply via email to