forked from qt-creator/qt-creator
Valgrind: Inline genericToolArguments()
And simplify it a bit. Change-Id: I22dfff35518d3e6642ce792f23eac0e4b3d3bdc1 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -64,6 +64,17 @@ ValgrindToolRunner::ValgrindToolRunner(RunControl *runControl, const QString &pr
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static QString selfModifyingCodeDetectionToString(int detection)
|
||||||
|
{
|
||||||
|
switch (detection) {
|
||||||
|
case ValgrindSettings::DetectSmcNo: return "none";
|
||||||
|
case ValgrindSettings::DetectSmcEverywhere: return "all";
|
||||||
|
case ValgrindSettings::DetectSmcEverywhereButFile: return "all-non-file";
|
||||||
|
case ValgrindSettings::DetectSmcStackOnly: return "stack";
|
||||||
|
}
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
void ValgrindToolRunner::start()
|
void ValgrindToolRunner::start()
|
||||||
{
|
{
|
||||||
FilePath valgrindExecutable = m_settings.valgrindExecutable();
|
FilePath valgrindExecutable = m_settings.valgrindExecutable();
|
||||||
@@ -93,7 +104,7 @@ void ValgrindToolRunner::start()
|
|||||||
|
|
||||||
CommandLine valgrind{valgrindExecutable};
|
CommandLine valgrind{valgrindExecutable};
|
||||||
valgrind.addArgs(m_settings.valgrindArguments(), CommandLine::Raw);
|
valgrind.addArgs(m_settings.valgrindArguments(), CommandLine::Raw);
|
||||||
valgrind.addArgs(genericToolArguments());
|
valgrind.addArg("--smc-check=" + selfModifyingCodeDetectionToString(m_settings.selfModifyingCodeDetection()));
|
||||||
addToolArguments(valgrind);
|
addToolArguments(valgrind);
|
||||||
|
|
||||||
m_runner.setValgrindCommand(valgrind);
|
m_runner.setValgrindCommand(valgrind);
|
||||||
@@ -117,26 +128,4 @@ void ValgrindToolRunner::stop()
|
|||||||
appendMessage(Tr::tr("Terminating process..."), ErrorMessageFormat);
|
appendMessage(Tr::tr("Terminating process..."), ErrorMessageFormat);
|
||||||
}
|
}
|
||||||
|
|
||||||
QStringList ValgrindToolRunner::genericToolArguments() const
|
|
||||||
{
|
|
||||||
QString smcCheckValue;
|
|
||||||
|
|
||||||
switch (m_settings.selfModifyingCodeDetection()) {
|
|
||||||
case ValgrindSettings::DetectSmcNo:
|
|
||||||
smcCheckValue = "none";
|
|
||||||
break;
|
|
||||||
case ValgrindSettings::DetectSmcEverywhere:
|
|
||||||
smcCheckValue = "all";
|
|
||||||
break;
|
|
||||||
case ValgrindSettings::DetectSmcEverywhereButFile:
|
|
||||||
smcCheckValue = "all-non-file";
|
|
||||||
break;
|
|
||||||
case ValgrindSettings::DetectSmcStackOnly:
|
|
||||||
default:
|
|
||||||
smcCheckValue = "stack";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return {"--smc-check=" + smcCheckValue};
|
|
||||||
}
|
|
||||||
|
|
||||||
} // Valgrid::Internal
|
} // Valgrid::Internal
|
||||||
|
@@ -27,9 +27,6 @@ protected:
|
|||||||
ValgrindSettings m_settings{false};
|
ValgrindSettings m_settings{false};
|
||||||
ValgrindProcess m_runner;
|
ValgrindProcess m_runner;
|
||||||
|
|
||||||
private:
|
|
||||||
QStringList genericToolArguments() const;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QString m_progressTitle;
|
QString m_progressTitle;
|
||||||
QFutureInterface<void> m_progress;
|
QFutureInterface<void> m_progress;
|
||||||
|
Reference in New Issue
Block a user