GccToolChain: Respect user changes to the ABI

Upon restoring toolchain settings, we would overwrite the ABI with an
auto-detected value if it contained any "unknown" parts.

Fixes: QTCREATORBUG-19896
Change-Id: I38fd704da2c12603961a125fb779eca625815246
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
Christian Kandeler
2019-01-16 16:24:02 +01:00
parent c7f22213ee
commit 5f61381cba

View File

@@ -787,7 +787,8 @@ bool GccToolChain::fromMap(const QVariantMap &data)
m_compilerCommand = FileName::fromString(data.value(compilerCommandKeyC).toString()); m_compilerCommand = FileName::fromString(data.value(compilerCommandKeyC).toString());
m_platformCodeGenFlags = data.value(compilerPlatformCodeGenFlagsKeyC).toStringList(); m_platformCodeGenFlags = data.value(compilerPlatformCodeGenFlagsKeyC).toStringList();
m_platformLinkerFlags = data.value(compilerPlatformLinkerFlagsKeyC).toStringList(); m_platformLinkerFlags = data.value(compilerPlatformLinkerFlagsKeyC).toStringList();
m_targetAbi = Abi::fromString(data.value(targetAbiKeyC).toString()); const QString targetAbiString = data.value(targetAbiKeyC).toString();
m_targetAbi = Abi::fromString(targetAbiString);
m_originalTargetTriple = data.value(originalTargetTripleKeyC).toString(); m_originalTargetTriple = data.value(originalTargetTripleKeyC).toString();
const QStringList abiList = data.value(supportedAbisKeyC).toStringList(); const QStringList abiList = data.value(supportedAbisKeyC).toStringList();
m_supportedAbis.clear(); m_supportedAbis.clear();
@@ -798,7 +799,7 @@ bool GccToolChain::fromMap(const QVariantMap &data)
m_supportedAbis.append(abi); m_supportedAbis.append(abi);
} }
if (!m_targetAbi.isValid()) if (targetAbiString.isEmpty())
resetToolChain(m_compilerCommand); resetToolChain(m_compilerCommand);
return true; return true;