[PATCH] D26768: [analyzer] Improve VirtualCallChecker diagnostics and move to optin package.

2016-12-12 Thread Devin Coughlin via Phabricator via cfe-commits
dcoughlin added a comment. In https://reviews.llvm.org/D26768#619222, @malcolm.parsons wrote: > In https://reviews.llvm.org/D26768#618651, @dcoughlin wrote: > > > The definite false positives were cases where the programmer seemed aware > > of the semantics of virtual calls during

[PATCH] D26768: [analyzer] Improve VirtualCallChecker diagnostics and move to optin package.

2016-12-11 Thread Malcolm Parsons via Phabricator via cfe-commits
malcolm.parsons added a comment. In https://reviews.llvm.org/D26768#618651, @dcoughlin wrote: > The definite false positives were cases where the programmer seemed aware of > the semantics of virtual calls during construction/destruction and had each > subclass explicitly call its own version

[PATCH] D26768: [analyzer] Improve VirtualCallChecker diagnostics and move to optin package.

2016-12-09 Thread Devin Coughlin via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL289309: [analyzer] Improve VirtualCallChecker diagnostics and move into optin package. (authored by dcoughlin). Changed prior to commit: https://reviews.llvm.org/D26768?vs=80979=80984#toc Repository:

[PATCH] D26768: [analyzer] Improve VirtualCallChecker diagnostics and move to optin package.

2016-12-09 Thread Devin Coughlin via Phabricator via cfe-commits
dcoughlin retitled this revision from "[analyzer] Improve VirtualCallChecker diagnostics" to "[analyzer] Improve VirtualCallChecker diagnostics and move to optin package.". dcoughlin updated the summary for this revision. dcoughlin updated this revision to Diff 80979. dcoughlin added a comment.

[PATCH] D26768: [analyzer] Improve VirtualCallChecker diagnostics

2016-12-09 Thread Devin Coughlin via Phabricator via cfe-commits
dcoughlin retitled this revision from "[analyzer] Improve VirtualCallChecker diagnostics and move out of alpha" to "[analyzer] Improve VirtualCallChecker diagnostics". dcoughlin updated this revision to Diff 80953. dcoughlin added a comment. Keep the diagnostic improvements but remove the

[PATCH] D26768: [analyzer] Improve VirtualCallChecker diagnostics and move out of alpha

2016-12-09 Thread Devin Coughlin via Phabricator via cfe-commits
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

[PATCH] D26768: [analyzer] Improve VirtualCallChecker diagnostics and move out of alpha

2016-12-01 Thread Anna Zaks via Phabricator via cfe-commits
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

[PATCH] D26768: [analyzer] Improve VirtualCallChecker diagnostics and move out of alpha

2016-12-01 Thread Devin Coughlin via Phabricator via 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

[PATCH] D26768: [analyzer] Improve VirtualCallChecker diagnostics and move out of alpha

2016-12-01 Thread Devin Coughlin via Phabricator via cfe-commits
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.

[PATCH] D26768: [analyzer] Improve VirtualCallChecker diagnostics and move out of alpha

2016-12-01 Thread Devin Coughlin via Phabricator via cfe-commits
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:

[PATCH] D26768: [analyzer] Improve VirtualCallChecker diagnostics and move out of alpha

2016-11-28 Thread Anna Zaks via Phabricator via cfe-commits
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 "; +

[PATCH] D26768: [analyzer] Improve VirtualCallChecker diagnostics and move out of alpha

2016-11-17 Thread Artem Dergachev via cfe-commits
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

[PATCH] D26768: [analyzer] Improve VirtualCallChecker diagnostics and move out of alpha

2016-11-16 Thread Devin Coughlin via cfe-commits
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