They can otherwise easily get lost in the Application output pane.
Policy is as follows:
- Failure to analyze a specific file is considered a warning.
- If no file could be successfully analyzed, we add an
error and pop up the issues pane.
This approach is neither too noisy nor too quiet.
Change-Id: Ifc577a215006a6a565eee7de5099bd690427f7de
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
This patch deals with what is likely the most common use case:
Filtering specific messages at a particular location. The current
granularity is essentially per-file (and per-function, where possible),
which seems more useful than taking line numbers into
account, as that would not be robust with regards to code changes elsewhere
in the file. We can fine-tune this if the need arises.
Change-Id: I4e9b2671fa199339cc3b995953d072b840cd3205
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
Also warn the user in the settings page against this.
Change-Id: I4dbae953aa85f8dbdc9baa8dd0fda8ff0da45b76
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
There is no reason why the status of the analyzer run should disappear
after a few seconds.
Change-Id: I16c21f05a03ac31f489312fbe56373a531ecc5d5
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
These test the complete workflow as the user experiences it when
clicking "Start".
Intended usage:
(1) Run sdktool to set up a kit with the toolchain you want
to test against (using a temporary directory).
The tests assume exactly one Kit to be present.
(2) Start Creator with a matching settings path and
"-load ClangStaticAnalyzer -test ClangStaticAnalyzer".
(3) Repeat until all toolchains have been tested.
The initial implementation tests one trivial source file
with both qbs and qmake.
Change-Id: I810f23e2990a789a4dd9f1dd16335fbcf5c5f39f
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
Via clang-cl, which supports the --analyze option now.
Change-Id: Idbefe048eaa80e8c5bdb2244cb30c26ba7c71ef5
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
This fixes an infinite loop for the following use case:
1. Menu: Analyze > Clang Static Analzyer
2. When finished, click "Re-run this run-configuration" in the
application output pane
m_progress was left in the isFinished() state and the next run to
startEngine() called analyzeNextFile() which returned immediately.
Change-Id: I8acf4f03dfc1d7f81034610828f6fb707655bd52
Sanity-Review: Sanity Bot <srv.sanitybot@digia.com>
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
It is not an error if no toolchain is present in the kit. It just means
the same as the toolchain not being gcc or clang.
Change-Id: I193fd196ab830321dade1c3d32080b81a93cf645
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
...that actually make us use the ProjectInfo with updated
CompilerCallData.
Change-Id: Ieee298b3db64159f3faa02231921275e4466bcb5
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>
On these platforms clang and/or gcc are available and the QMakeProject
and QbsProject can provide "enough" information.
Windows/MinGW:
Currently mingw 4.8.2 can't be used with clang 3.5. See
https://www.mail-archive.com/mingw-w64-public@lists.sourceforge.net/msg09490.html
Tests with mingw 4.9 are needed.
Windows/MSVC:
This needs more investigation. Observations so far:
* Does not work at the moment calling clang.exe.
* clang-cl.exe does not understand '--analyze'.
Passing '-Xclang --analyze' in does not help either.
Change-Id: I83afe4a186cba67faf7bd0ad6c1de42790e281b2
Reviewed-by: Eike Ziller <eike.ziller@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>