aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/clangstaticanalyzer/clangstaticanalyzerrunner.cpp
diff options
context:
space:
mode:
authorNikolai Kosjar <[email protected]>2014-10-23 15:31:35 +0200
committerNikolai Kosjar <[email protected]>2014-10-23 18:25:22 +0300
commit3f8314024cdd6bfd76629826805b680f6756d117 (patch)
treefa1243bc94c9a31e4d741ba133f045706d7ca1e2 /plugins/clangstaticanalyzer/clangstaticanalyzerrunner.cpp
parent8cca190dfc51f16b6dcc76f8a1337498cf6b5fcb (diff)
RunControl: Pass on toolchain defines and language options
Change-Id: I3a44707f7f27e1b4bb781886b63b23a3c20e0414 Reviewed-by: Nikolai Kosjar <[email protected]>
Diffstat (limited to 'plugins/clangstaticanalyzer/clangstaticanalyzerrunner.cpp')
-rw-r--r--plugins/clangstaticanalyzer/clangstaticanalyzerrunner.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/plugins/clangstaticanalyzer/clangstaticanalyzerrunner.cpp b/plugins/clangstaticanalyzer/clangstaticanalyzerrunner.cpp
index 34732cfafa3..2f5dad462e1 100644
--- a/plugins/clangstaticanalyzer/clangstaticanalyzerrunner.cpp
+++ b/plugins/clangstaticanalyzer/clangstaticanalyzerrunner.cpp
@@ -40,14 +40,14 @@ static QString finishedDueToCrash()
static QStringList constructCommandLineArguments(const QString &filePath,
const QString &logFile,
- const QStringList &definesAndIncludes)
+ const QStringList &options)
{
QStringList arguments = QStringList()
<< QLatin1String("--analyze")
<< QLatin1String("-o")
<< logFile
;
- arguments += definesAndIncludes;
+ arguments += options;
arguments << filePath;
return arguments;
}
@@ -88,16 +88,18 @@ ClangStaticAnalyzerRunner::~ClangStaticAnalyzerRunner()
m_process.kill();
}
-bool ClangStaticAnalyzerRunner::run(const QString &filePath, const QStringList &definesAndIncludes)
+bool ClangStaticAnalyzerRunner::run(const QString &filePath, const QStringList &compilerOptions)
{
QTC_ASSERT(!m_clangExecutable.isEmpty(), return false);
+ QTC_CHECK(!compilerOptions.contains(QLatin1String("-o")));
+ QTC_CHECK(!compilerOptions.contains(filePath));
m_processOutput.clear();
m_logFile = createLogFile(filePath);
QTC_ASSERT(!m_logFile.isEmpty(), return false);
const QStringList arguments = constructCommandLineArguments(filePath, m_logFile,
- definesAndIncludes);
+ compilerOptions);
m_commandLine = m_clangExecutable + QLatin1Char(' ') + arguments.join(QLatin1Char(' '));
qCDebug(LOG) << "Starting" << m_commandLine;