MTC added inline comments.

================
Comment at: lib/StaticAnalyzer/Checkers/DanglingStringPointerChecker.cpp:59
+  QualType RegType = TypedR->getValueType();
+  if (RegType.getAsString() != "std::string")
+    return;
----------------
A little tip, there are other string types besides `std::string`, like 
`std::wstring`, which can be added in the future. See [[ 
http://en.cppreference.com/w/cpp/string/basic_string | basic_string ]].


================
Comment at: lib/StaticAnalyzer/Checkers/DanglingStringPointerChecker.cpp:71
+
+  if (dyn_cast<CXXDestructorCall>(ICall)) {
+    if (State->contains<RawPtrMap>(TypedR)) {
----------------
`CXXDestructorCall::classof(const CallEvent *CA)` can also be used here. 


================
Comment at: lib/StaticAnalyzer/Checkers/MallocChecker.cpp:3002
+  // FIXME: This might not be the best allocation family for this purpose.
+  AllocationFamily Family = AF_CXXNew;
+  return State->set<RegionState>(Sym, RefState::getReleased(Family, Origin));
----------------
In addition to `std::string`, `std::vector::data()` in C++11 and 
`std::string_view` in C++17 may have similar problems. If these are all 
supported, a new `AllocationFamily` may be needed, like `AF_StdLibContainers` 
or something like that.


================
Comment at: lib/StaticAnalyzer/Checkers/RegionState.h:18
+
+namespace region_state {
+
----------------
I'm not sure whether `region_state` follows the naming conventions of LLVM 
coding standards. Can someone answer this question?


Repository:
  rC Clang

https://reviews.llvm.org/D47135



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

Reply via email to