ProjectExplorer: Fix using clang on Windows

We need to derive some ABI-related data from the parent toolchain.
Otherwise, build systems that do not ignore the kit settings will not
work.

Task-number: QTCREATORBUG-22738
Change-Id: I4359143b4eade124b52af297d7509b682a5852b8
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Christian Kandeler
2019-07-22 16:12:21 +02:00
parent 66b546f341
commit 5add218181

View File

@@ -1327,6 +1327,8 @@ WarningFlags ClangToolChain::warningFlags(const QStringList &cflags) const
QStringList ClangToolChain::suggestedMkspecList() const QStringList ClangToolChain::suggestedMkspecList() const
{ {
if (const ToolChain * const parentTc = ToolChainManager::findToolChain(m_parentToolChainId))
return parentTc->suggestedMkspecList();
const Abi abi = targetAbi(); const Abi abi = targetAbi();
if (abi.os() == Abi::DarwinOS) if (abi.os() == Abi::DarwinOS)
return {"macx-clang", "macx-clang-32", "unsupported/macx-clang", "macx-ios-clang"}; return {"macx-clang", "macx-clang-32", "unsupported/macx-clang", "macx-ios-clang"};
@@ -1560,6 +1562,8 @@ void ClangToolChainConfigWidget::applyImpl()
for (const ToolChain *mingwTC : mingwToolChains()) { for (const ToolChain *mingwTC : mingwToolChains()) {
if (parentId == mingwTC->id()) { if (parentId == mingwTC->id()) {
tc->m_parentToolChainId = mingwTC->id(); tc->m_parentToolChainId = mingwTC->id();
tc->setTargetAbi(mingwTC->targetAbi());
tc->setSupportedAbis(mingwTC->supportedAbis());
break; break;
} }
} }