forked from qt-creator/qt-creator
CppEditor: Allow filtering of unsupported -mcpu flags
Also hardcode one that we use with Boot2Qt. Fixes: QTCREATORBUG-29304 Change-Id: I3dd425cae5eb87ad5e14a607431d9f7225efc566 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
@@ -64,6 +64,13 @@ static QString defineDirectiveToDefineOption(const Macro ¯o)
|
|||||||
return QString::fromUtf8(option);
|
return QString::fromUtf8(option);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static QStringList cpuBlacklist()
|
||||||
|
{
|
||||||
|
QStringList blacklist = qtcEnvironmentVariable("QTC_CLANGD_CPU_BLACKLIST")
|
||||||
|
.split(':', Qt::SkipEmptyParts);
|
||||||
|
return blacklist << "cortex-a72.cortex-a53"; // See QTCREATORBUG-29304
|
||||||
|
}
|
||||||
|
|
||||||
QStringList XclangArgs(const QStringList &args)
|
QStringList XclangArgs(const QStringList &args)
|
||||||
{
|
{
|
||||||
QStringList options;
|
QStringList options;
|
||||||
@@ -270,6 +277,7 @@ void CompilerOptionsBuilder::addPicIfCompilerFlagsContainsIt()
|
|||||||
void CompilerOptionsBuilder::addCompilerFlags()
|
void CompilerOptionsBuilder::addCompilerFlags()
|
||||||
{
|
{
|
||||||
add(m_compilerFlags.flags);
|
add(m_compilerFlags.flags);
|
||||||
|
removeUnsupportedCpuFlags();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CompilerOptionsBuilder::addMsvcExceptions()
|
void CompilerOptionsBuilder::addMsvcExceptions()
|
||||||
@@ -375,6 +383,17 @@ void CompilerOptionsBuilder::addIncludeFile(const QString &file)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CompilerOptionsBuilder::removeUnsupportedCpuFlags()
|
||||||
|
{
|
||||||
|
const QStringList blacklist = cpuBlacklist();
|
||||||
|
for (auto it = m_options.begin(); it != m_options.end();) {
|
||||||
|
if (it->startsWith("-mcpu=") && blacklist.contains(it->mid(6)))
|
||||||
|
it = m_options.erase(it);
|
||||||
|
else
|
||||||
|
++it;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void CompilerOptionsBuilder::addIncludedFiles(const QStringList &files)
|
void CompilerOptionsBuilder::addIncludedFiles(const QStringList &files)
|
||||||
{
|
{
|
||||||
for (const QString &file : files) {
|
for (const QString &file : files) {
|
||||||
|
@@ -87,6 +87,7 @@ private:
|
|||||||
QStringList wrappedMingwHeadersIncludePath() const;
|
QStringList wrappedMingwHeadersIncludePath() const;
|
||||||
QByteArray msvcVersion() const;
|
QByteArray msvcVersion() const;
|
||||||
void addIncludeFile(const QString &file);
|
void addIncludeFile(const QString &file);
|
||||||
|
void removeUnsupportedCpuFlags();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const ProjectPart &m_projectPart;
|
const ProjectPart &m_projectPart;
|
||||||
|
Reference in New Issue
Block a user