Valgrind: Inline genericToolArguments()

And simplify it a bit.

Change-Id: I22dfff35518d3e6642ce792f23eac0e4b3d3bdc1
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Jarek Kobus
2025-02-19 18:07:57 +01:00
parent dd065bb6ea
commit 9dd5fddffe
2 changed files with 12 additions and 26 deletions

View File

@@ -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()
{
FilePath valgrindExecutable = m_settings.valgrindExecutable();
@@ -93,7 +104,7 @@ void ValgrindToolRunner::start()
CommandLine valgrind{valgrindExecutable};
valgrind.addArgs(m_settings.valgrindArguments(), CommandLine::Raw);
valgrind.addArgs(genericToolArguments());
valgrind.addArg("--smc-check=" + selfModifyingCodeDetectionToString(m_settings.selfModifyingCodeDetection()));
addToolArguments(valgrind);
m_runner.setValgrindCommand(valgrind);
@@ -117,26 +128,4 @@ void ValgrindToolRunner::stop()
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

View File

@@ -27,9 +27,6 @@ protected:
ValgrindSettings m_settings{false};
ValgrindProcess m_runner;
private:
QStringList genericToolArguments() const;
private:
QString m_progressTitle;
QFutureInterface<void> m_progress;