From 737667d28913744b4eeacf96d51d766273957c50 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Mon, 20 Jan 2020 10:47:55 +0100 Subject: [PATCH] GccToolChain: Pass platform flags to more querying functions Fixes: QTCREATORBUG-23458 Change-Id: I33e542b6733b6a0162e8c9802e151e76727ed4fe Reviewed-by: Kevin Puetz Reviewed-by: hjk --- src/plugins/projectexplorer/gcctoolchain.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/plugins/projectexplorer/gcctoolchain.cpp b/src/plugins/projectexplorer/gcctoolchain.cpp index ff0e0601662..eef0e9ad84e 100644 --- a/src/plugins/projectexplorer/gcctoolchain.cpp +++ b/src/plugins/projectexplorer/gcctoolchain.cpp @@ -231,15 +231,19 @@ static GccToolChain::DetectedAbisResult guessGccAbi(const FilePath &path, const return GccToolChain::DetectedAbisResult(guessGccAbi(machine, macros), machine); } -static QString gccVersion(const FilePath &path, const QStringList &env) +static QString gccVersion(const FilePath &path, const QStringList &env, + const QStringList &extraArgs) { - QStringList arguments("-dumpversion"); + QStringList arguments = extraArgs; + arguments << "-dumpversion"; return QString::fromLocal8Bit(runGcc(path, arguments, env)).trimmed(); } -static Utils::FilePath gccInstallDir(const FilePath &path, const QStringList &env) +static Utils::FilePath gccInstallDir(const FilePath &path, const QStringList &env, + const QStringList &extraArgs = {}) { - const QStringList arguments("-print-search-dirs"); + QStringList arguments = extraArgs; + arguments << "-print-search-dirs"; QString output = QString::fromLocal8Bit(runGcc(path, arguments, env)).trimmed(); // Expected output looks like this: // install: /usr/lib/gcc/x86_64-linux-gnu/7/ @@ -881,14 +885,16 @@ QString GccToolChain::detectVersion() const { Environment env = Environment::systemEnvironment(); addToEnvironment(env); - return gccVersion(findLocalCompiler(m_compilerCommand, env), env.toStringList()); + return gccVersion(findLocalCompiler(m_compilerCommand, env), env.toStringList(), + filteredFlags(platformCodeGenFlags(), true)); } Utils::FilePath GccToolChain::detectInstallDir() const { Environment env = Environment::systemEnvironment(); addToEnvironment(env); - return gccInstallDir(findLocalCompiler(m_compilerCommand, env), env.toStringList()); + return gccInstallDir(findLocalCompiler(m_compilerCommand, env), env.toStringList(), + filteredFlags(platformCodeGenFlags(), true)); } // --------------------------------------------------------------------------