The analyzer was stuck in the running mode (busy cursor, progress bar)
for zero files.
Change-Id: I9e520dc65b6d027b82e6e31043c0401ebb9f3673
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
...making ClangStaticAnalyzerRunControl::startEngine() a bit shorter.
Change-Id: Ie1547d81ba8443d663983bc0c2aa8f342932c338
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
We will otherwise miss runner failures for any file that does not
contribute to the diagnostics count.
Note: The tool can also fail during the building stage, but in this case
we will get notified by the signal spy timing out.
Change-Id: Ia9aa797d658b1752e3da6e08a652ee55868955ba
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
Reduces some noise in the implementation file.
Change-Id: I24e81941c1888ba69f6b7f8dcab35956f60ca4e6
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
...so that clang-cl will predefine size_t to the expected value.
Task-number: QCE-52
Change-Id: Icd663c50bae2da8d7bd2d38f19528d57d810c2fa
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Via clang-cl, which supports the --analyze option now.
Change-Id: Idbefe048eaa80e8c5bdb2244cb30c26ba7c71ef5
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
Otherwise we might try to analyze invalid or vanished files.
Change-Id: I387dfb127618f2db21a538b07e1c152dbd026ca6
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
Terminate/kill current runners, so that the GUI will reflect that quite
soon and not if all runners finished.
Change-Id: I83eed6ecf1678444a8b38bab6cc05d8694a4eb49
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
This plugin adds "Clang Static Analyzer" to the Analyze mode, which
processes all implementation/source project files of the current
project. For this, it will call the clang executable for each file.
The found diagnostics will be displayed in a view similar to the one
used in "Valgrind Memory Analyzer".
The user can specify the clang executable to use and the number of
concurrent processes to launch in Menu: Tools > Options > Analyzer >
Clang Static Analyzer.
Main TODOs:
* Fiddle around the appropriate command line options, currently only
defines and include paths are passed on.
* Tests on Windows / OS X.
* Remove dependency to clangcodemodel by moving the functions that
create command line arguments to CppTools. Mostly they are not even
specific to clang (but would also work with gcc).
* Maybe limit to a range of tested clang versions.
* How to deal with directory containing all the log files after the
user starts a new run or Creator is shut down? (delete it? leave it
there? make it configurable?).
* Find out how to properly integrate the tests.
Imaginable future additions:
* Adding a button to load result/log files from a directory, e.g. if
the user used the 'scan-build' approach.
* Adding a button with a filter menu in order to display only
diagnostics from certain categories, similar to "Valgrind Memory
Analyzer".
Change-Id: I6aeb5dfdbdfa239a06c03dd8759a983df71b77ea
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>