diff options
author | Alexis Murzeau <amubtdx@gmail.com> | 2019-10-14 23:52:16 +0200 |
---|---|---|
committer | Alexis Murzeau <amubtdx@gmail.com> | 2019-10-18 19:02:25 +0000 |
commit | 708179285de9f58e8578b72f7320c37b6252c45f (patch) | |
tree | 94d22437b35c276922bb1218ec4cdd3de9ecb0c3 /doc/src/qtcreator-toc.qdoc | |
parent | 8c7dd57645ab30f760846f7cbf57121d763d8473 (diff) |
MsvcToolchain: Fix "detection" of supported ABIs for msvc2010
Always ensure that supportedAbis includes targetAbi so toolchains that
don't have any vcvars32.bat or the like (like msvc2010) are restored
correctly at startup.
The cache-miss case is just shifted inside a else clause so the added
code is executed both in case of cache hit or miss.
The targetAbi is added to m_supportedAbis but is not cached in abiCache
as the abiCache has only vcVarsBat as the key, which is the same for
all toolchains of the same compiler but different architecture.
This way, even if the common supportedAbis is retrieved from the cache,
the presence of targetAbi is always checked and added if needed.
With this modification to detectInstalledAbis(), setSupportedAbi is not
needed anymore as it is redundant. Now msvc2015 build tools case is
handled the same way as msvc2010 in detectInstalledAbis().
This effectively reverts 2896e5f5e289a30928ab679c99d7de68d4a903ac.
Also, the existing QTC_ASSERT(m_supportedAbis.isEmpty(), return); in
detectInstalledAbis() is removed as when vcVars is changed, it can
have a new uncached vcVarsBase while having supportedAbis set already
(via a call to changeVcVarsCall).
This happens for clang-cl toolchains that inherit MsvcToolchain but
change vcVarsBat in ClangClToolChain::resetMsvcToolChain later (in
ClangClToolChain::detectClangClToolChainInPath).
Task-number: QTCREATORBUG-22960
Change-Id: Iaad5ea1dc649393037a3d32faa9075153974b5cb
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'doc/src/qtcreator-toc.qdoc')
0 files changed, 0 insertions, 0 deletions