Szelethus added inline comments.

================
Comment at: lib/StaticAnalyzer/Checkers/DebugCheckers.cpp:271
+//===----------------------------------------------------------------------===//
+// Emits a report for each and every Stmt.
+//===----------------------------------------------------------------------===//
----------------
NoQ wrote:
> Technically, we don't invoke `checkPreStmt` for every `Stmt` (eg., `IfStmt` 
> is omitted in favor of `checkBranchCondition`, `IntegerLiteral` is outright 
> skipped because `ExprEngine` doesn't even evaluate anything at this point). 
> Moreover, for some `Stmt`s we more-or-less-intentionally only invoke 
> `checkPreStmt` but not `checkPostStmt`.
> 
> Also would you eventually want to expand this checker with non-`Stmt` 
> callbacks?
>Also would you eventually want to expand this checker with non-Stmt callbacks?
No :)


================
Comment at: lib/StaticAnalyzer/Core/PathDiagnostic.cpp:679
+
+  if (ME->getMemberLoc().isValid())
+    return PathDiagnosticLocation(ME->getMemberLoc(), SM, SingleLocK);
----------------
NoQ wrote:
> I think it's worth commenting why exactly this may fail. It's fairly hard to 
> guess that we're talking about member operators.
I mean, I have absolutely no idea how this happened :') The best I can do is to 
document that it does happen from time to time and why this is the solution to 
that.


================
Comment at: test/Analysis/invalid-pos-fix.cpp:6
+
+struct h {
+  operator int();
----------------
NoQ wrote:
> Random ideas on organizing tests so that to avoid adding thousands of 
> one-test files:
> * Give these objects fancier names and/or add a `no-crash` so that it was 
> clear that this test tests a crash for reporting a bug over a `MemberExpr` 
> that corresponds to an `operator()`
> * Or maybe wrap this into a namespace, so that it was easier to expand this 
> file.
> * We traditionally put such tests into `test/Analysis/diagnostics`, dunno why 
> though.
> etc.
> 
> I also recall @george.karpenkov arguing for making test directory structure 
> mirror source directory structure, but that's definitely not a blocker for 
> this patch :]
>I also recall @george.karpenkov arguing for making test directory structure 
>mirror source directory structure, but that's definitely not a blocker for 
>this patch :]

I always wondered why we are all bunched up in `test/Analysis`.


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

https://reviews.llvm.org/D58777



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

Reply via email to