JonasToth added a comment.

Hi Sam,

this patch "broke" `ExprMutAnalyzer`, at least it creates an assertion failure 
that seems harmless. Your thought on it would be great!

The assertion in: `ASTMatchFinder.cpp +680` is triggered in the Analysis to 
figure out if something is mutated, because `Parents` is empty and the 
traversal scope is the TU itself, but the node is a `CXXConstructoDecl`. This 
does not happen for alle cases though, please take a look at this reproducer: 
https://godbolt.org/z/0yOq2I

Only for the Lambda-Case problems occur. If I `#if 0` the assertion out the 
issue goes away, and the real world code that triggered this behaviour is not 
bothered, too.

I am really puzzled why this issue occurs, but as you implemented the 
restrictions it would like to hear your opinion on the issue. If you want to 
reproduce yourself I am of course happy to help, but 
https://github.com/JonasToth/clang/blob/fix_crash/unittests/Analysis/ExprMutationAnalyzerTest.cpp#L1134
   is probably the easiest way to do so (just add this to trunk and run 
`check-clang-unit`).

Thank you for the time!


Repository:
  rC Clang

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

https://reviews.llvm.org/D54309



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

Reply via email to