[PATCH] D51531: [analyzer][UninitializedObjectChecker] Uninit regions are only reported once

2018-11-18 Thread Umann Kristóf via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC347153: [analyzer][UninitializedObjectChecker] Uninit regions are only reported once (authored by Szelethus, committed by ). Changed prior to commit: https://reviews.llvm.org/D51531?vs=163542&id=174530#

[PATCH] D51531: [analyzer][UninitializedObjectChecker] Uninit regions are only reported once

2018-11-16 Thread Umann Kristóf via Phabricator via cfe-commits
Szelethus added a comment. Herald added subscribers: gamesh411, baloghadamsoftware. In https://reviews.llvm.org/D51531#1296256, @NoQ wrote: > In https://reviews.llvm.org/D51531#1286110, @Szelethus wrote: > > > Oh, and the reason why I think it would add a lot of complication: since > > only `Exp

[PATCH] D51531: [analyzer][UninitializedObjectChecker] Uninit regions are only reported once

2018-11-12 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ accepted this revision. NoQ added a comment. This revision is now accepted and ready to land. Mm, ok, i admit that i don't know what specific de-duplication do we want to have and what are the usability implications of it. If we want de-duplication for the same region reported in different s

[PATCH] D51531: [analyzer][UninitializedObjectChecker] Uninit regions are only reported once

2018-11-10 Thread Umann Kristóf via Phabricator via cfe-commits
Szelethus added a comment. Ping, @NoQ, do you insist on a global set? https://reviews.llvm.org/D51531 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D51531: [analyzer][UninitializedObjectChecker] Uninit regions are only reported once

2018-11-02 Thread Umann Kristóf via Phabricator via cfe-commits
Szelethus added a comment. Oh, and the reason why I think it would add a lot of complication: since only `ExprEngine` is avaible in the `checkEndAnalysis` callback, which, from what I can see, doesn't have a handly `isDead` method, so I'm not even sure how I'd implement it. https://reviews.ll

[PATCH] D51531: [analyzer][UninitializedObjectChecker] Uninit regions are only reported once

2018-11-02 Thread Umann Kristóf via Phabricator via cfe-commits
Szelethus added a comment. Sorry for the late reply. I'm not actually super confident about this idea, I don't think it would add much value, compared to how complicated it would make things. This patch reduces report by a significant amount when pointer chasing is enabled, but a global set mi

[PATCH] D51531: [analyzer][UninitializedObjectChecker] Uninit regions are only reported once

2018-10-22 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ added a comment. I think `RetainCountChecker` is the only checker that maintains such maps and does such cleanup: https://github.com/llvm-mirror/clang/blob/efe41bf98/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h#L288 I didn't know it does that until today. https://re

[PATCH] D51531: [analyzer][UninitializedObjectChecker] Uninit regions are only reported once

2018-10-21 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ added a comment. `MemRegion`s have lifetime of `ExprEngine`, i.e. a single analysis of top-level function. You'll need to clean them up in `checkEndAnalysis()`. https://reviews.llvm.org/D51531 ___ cfe-commits mailing list cfe-commits@lists.llvm

[PATCH] D51531: [analyzer][UninitializedObjectChecker] Uninit regions are only reported once

2018-10-21 Thread Umann Kristóf via Phabricator via cfe-commits
Szelethus added a comment. As I understood it, your objection was that we could collect already reported regions in a global set stored in the checker objects, but I suspect it's impossible to implement (very difficult to see when a pointer is dangling etc). https://reviews.llvm.org/D51531

[PATCH] D51531: [analyzer][UninitializedObjectChecker] Uninit regions are only reported once

2018-10-21 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ added a comment. Ugh, i was sure i scanned through all of them, sorry! Pls let me recall what's going on>< https://reviews.llvm.org/D51531 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cf

[PATCH] D51531: [analyzer][UninitializedObjectChecker] Uninit regions are only reported once

2018-10-21 Thread Umann Kristóf via Phabricator via cfe-commits
Szelethus added a comment. Herald added a subscriber: dkrupp. Ping^5 :) https://reviews.llvm.org/D51531 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D51531: [analyzer][UninitializedObjectChecker] Uninit regions are only reported once

2018-10-13 Thread Umann Kristóf via Phabricator via cfe-commits
Szelethus added a comment. Herald added a subscriber: donat.nagy. Ping, @NoQ, can you go a little bit more in depth about what you'd prefer to see here? https://reviews.llvm.org/D51531 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://

[PATCH] D51531: [analyzer][UninitializedObjectChecker] Uninit regions are only reported once

2018-10-07 Thread Umann Kristóf via Phabricator via cfe-commits
Szelethus added a comment. Another possibility could be to gather `CXXConstructorDecl`, and emit one warning per ctor, but it would be waaay to drastic. Wouldn't a global set be too? https://reviews.llvm.org/D51531 ___ cfe-commits mailing list cfe

[PATCH] D51531: [analyzer][UninitializedObjectChecker] Uninit regions are only reported once

2018-10-01 Thread Umann Kristóf via Phabricator via cfe-commits
Szelethus added a comment. Ping ^-^ https://reviews.llvm.org/D51531 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D51531: [analyzer][UninitializedObjectChecker] Uninit regions are only reported once

2018-09-13 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ requested changes to this revision. NoQ added a comment. This revision now requires changes to proceed. Or, wait, hmm, no, we can still de-duplicate the reports with a global set stored in the checker object. Because we would probably like to de-duplicate across different paths as well. ht

[PATCH] D51531: [analyzer][UninitializedObjectChecker] Uninit regions are only reported once

2018-09-13 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ accepted this revision. NoQ added a comment. This revision is now accepted and ready to land. Hmm, i guess it's necessary to de-duplicate across multiple reports as well. https://reviews.llvm.org/D51531 ___ cfe-commits mailing list cfe-commits@l

[PATCH] D51531: [analyzer][UninitializedObjectChecker] Uninit regions are only reported once

2018-09-13 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ added a comment. Hmm, so we're reporting the same region twice in the same bug report through different field chains, right? Why is a state trait necessary here? Maybe just de-duplicate them locally before throwing the report? https://reviews.llvm.org/D51531

[PATCH] D51531: [analyzer][UninitializedObjectChecker] Uninit regions are only reported once

2018-09-07 Thread Umann Kristóf via Phabricator via cfe-commits
Szelethus added a comment. Polite ping :) https://reviews.llvm.org/D51531 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D51531: [analyzer][UninitializedObjectChecker] Uninit regions are only reported once

2018-08-31 Thread Umann Kristóf via Phabricator via cfe-commits
Szelethus updated this revision to Diff 163542. https://reviews.llvm.org/D51531 Files: lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp lib/StaticAnalyzer/Checkers/UninitializedObject/Uniniti

[PATCH] D51531: [analyzer][UninitializedObjectChecker] Uninit regions are only reported once

2018-08-31 Thread Umann Kristóf via Phabricator via cfe-commits
Szelethus created this revision. Szelethus added reviewers: NoQ, george.karpenkov, xazax.hun, rnkovacs. Herald added subscribers: cfe-commits, mikhail.ramalho, a.sidorin, szepet, whisperity. Especially with pointees, it a lot of meaningless reports came from uninitialized regions that were alrea