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#
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
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
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
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
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
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
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
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
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
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
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://
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
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
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
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
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
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
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
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
20 matches
Mail list logo