summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@theqtcompany.com>2015-07-10 14:07:03 +0200
committerEike Ziller <eike.ziller@theqtcompany.com>2015-07-10 14:07:25 +0200
commitd8a176cae73f6f44090b0f3e4caf2bc6279839e0 (patch)
tree08948caf146736ff80a1d702824fa6d5c5c706ed
parent2a959f3688306d9358cb80eb4397edbd0f649a63 (diff)
parentd8d5bff0711d0f76092d0f0520e00fc44227dd2f (diff)
downloadqt-creator-d8a176cae73f6f44090b0f3e4caf2bc6279839e0.tar.gz
Merge remote-tracking branch 'origin/3.5'
Change-Id: I548c736c46f7a7a32244fecd295c39c71211d95a
-rw-r--r--plugins/clangstaticanalyzer/clangstaticanalyzerruncontrol.cpp39
-rw-r--r--plugins/clangstaticanalyzer/clangstaticanalyzerruncontrol.h2
2 files changed, 27 insertions, 14 deletions
diff --git a/plugins/clangstaticanalyzer/clangstaticanalyzerruncontrol.cpp b/plugins/clangstaticanalyzer/clangstaticanalyzerruncontrol.cpp
index 2fa5542960..9ca6a1dfa1 100644
--- a/plugins/clangstaticanalyzer/clangstaticanalyzerruncontrol.cpp
+++ b/plugins/clangstaticanalyzer/clangstaticanalyzerruncontrol.cpp
@@ -349,6 +349,11 @@ bool ClangStaticAnalyzerRunControl::startEngine()
const int parallelRuns = ClangStaticAnalyzerSettings::instance()->simultaneousProcesses();
QTC_ASSERT(parallelRuns >= 1, emit finished(); return false);
m_success = true;
+
+ if (m_unitsToProcess.isEmpty()) {
+ finalize();
+ return false;
+ }
while (m_runners.size() < parallelRuns && !m_unitsToProcess.isEmpty())
analyzeNextFile();
return true;
@@ -376,20 +381,8 @@ void ClangStaticAnalyzerRunControl::analyzeNextFile()
return; // The previous call already reported that we are finished.
if (m_unitsToProcess.isEmpty()) {
- if (m_runners.size() == 0) {
- appendMessage(tr("Clang Static Analyzer finished: "
- "Processed %1 files successfully, %2 failed.")
- .arg(m_filesAnalyzed)
- .arg(m_filesNotAnalyzed)
- + QLatin1Char('\n'),
- Utils::NormalMessageFormat);
- if (m_filesAnalyzed == 0 && m_filesNotAnalyzed != 0) {
- AnalyzerUtils::logToIssuesPane(Task::Error,
- tr("Clang Static Analyzer: Failed to analyze any files."));
- }
- m_progress.reportFinished();
- emit finished();
- }
+ if (m_runners.isEmpty())
+ finalize();
return;
}
@@ -480,5 +473,23 @@ void ClangStaticAnalyzerRunControl::updateProgressValue()
m_progress.setProgressValue(m_initialFilesToProcessSize - m_unitsToProcess.size());
}
+void ClangStaticAnalyzerRunControl::finalize()
+{
+ appendMessage(tr("Clang Static Analyzer finished: "
+ "Processed %1 files successfully, %2 failed.")
+ .arg(m_filesAnalyzed)
+ .arg(m_filesNotAnalyzed)
+ + QLatin1Char('\n'),
+ Utils::NormalMessageFormat);
+
+ if (m_filesAnalyzed == 0 && m_filesNotAnalyzed != 0) {
+ AnalyzerUtils::logToIssuesPane(Task::Error,
+ tr("Clang Static Analyzer: Failed to analyze any files."));
+ }
+
+ m_progress.reportFinished();
+ emit finished();
+}
+
} // namespace Internal
} // namespace ClangStaticAnalyzer
diff --git a/plugins/clangstaticanalyzer/clangstaticanalyzerruncontrol.h b/plugins/clangstaticanalyzer/clangstaticanalyzerruncontrol.h
index f9419e21c3..0bffb4d788 100644
--- a/plugins/clangstaticanalyzer/clangstaticanalyzerruncontrol.h
+++ b/plugins/clangstaticanalyzer/clangstaticanalyzerruncontrol.h
@@ -69,6 +69,8 @@ private:
void onProgressCanceled();
void updateProgressValue();
+ void finalize();
+
private:
const CppTools::ProjectInfo m_projectInfo;
const unsigned char m_wordWidth;