dcoughlin added a comment.
I evaluated this checker on three internal codebases that make large use of
virtual functions.
Project 1: ~190,000 lines of C++. 16 alarms. I triaged all of them. There were
2 definite false positives (FPs) and 14 likely FPs.
Project 2: ~320,000 lines of C++. 116 alar
zaks.anna accepted this revision.
zaks.anna added a comment.
Looks great!
Thank you.
https://reviews.llvm.org/D26768
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
dcoughlin marked 2 inline comments as done.
dcoughlin added a comment.
In https://reviews.llvm.org/D26768#607157, @zaks.anna wrote:
> Not sure if we should make pure vs not an option so that users could turn the
> checking off. Is there a way to suppress the warning?
There is not a way to supp
dcoughlin updated this revision to Diff 79992.
dcoughlin added a comment.
- Add a PureOnly analyzer-config option that, when set, will limit diagnostics
to calls to only pure virtual functions.
This should have gone in with the prevision updated diff; my apologies for the
noise.
https://revie
dcoughlin updated this revision to Diff 79981.
dcoughlin added a comment.
- Update the diagnostic to be explicit about whether the issue occurs during
construction or destruction
- Add test for pure, intraprocedural case (Sema also catches this).
https://reviews.llvm.org/D26768
Files:
includ
zaks.anna added a comment.
Not sure if we should make pure vs not an option so that users could turn the
checking off. Is there a way to suppress the warning?
Comment at: lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp:210
+ if (isPure)
+os << "pure ";
+
--
NoQ accepted this revision.
NoQ added a comment.
This revision is now accepted and ready to land.
LGTM!
Comment at: test/Analysis/virtualcall.h:23
+#if INTERPROCEDURAL
+ // expected-warning-re@-2 ^}}Call Path : fooCall to virtual
function during construction or de
dcoughlin created this revision.
dcoughlin added reviewers: zaks.anna, NoQ.
dcoughlin added subscribers: cfe-commits, alexfh.
The VirtualCallChecker is in alpha because its interprocedural diagnostics
represent the call path textually in the diagnostic message rather than with a
path sensitive d