[analyzer] Improve VirtualCallChecker diagnostics and move into optin package.
authorDevin Coughlin <dcoughlin@apple.com>
Sat, 10 Dec 2016 01:16:09 +0000 (01:16 +0000)
committerDevin Coughlin <dcoughlin@apple.com>
Sat, 10 Dec 2016 01:16:09 +0000 (01:16 +0000)
commit3e5f0474ca83577a5e30f18cc4e450750240b63f
treef6077fe8e523122d7cbc0c8ccf9b94ab9ec7daca
parent0972da7870d7bf9a3ac1d47246db5c62f28e671a
[analyzer] Improve VirtualCallChecker diagnostics and move into optin package.

The VirtualCallChecker is in alpha because its interprocedural diagnostics
represent the call path textually in the diagnostic message rather than with a
path sensitive diagnostic.

This patch turns off the AST-based interprocedural analysis in the checker so
that no call path is needed and improves with diagnostic text. With these
changes, the checker is ready to be moved into the optin package.

Ultimately the right fix is to rewrite this checker to be path sensitive -- but
there is still value in enabling the checker for intraprocedural analysis only
The interprocedural mode can be re-enabled with an -analyzer-config flag.

Differential Revision: https://reviews.llvm.org/D26768

llvm-svn: 289309
clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp
clang/test/Analysis/virtualcall.cpp
clang/test/Analysis/virtualcall.h