From 514e3776a1417a63c6f2c254ed05e61eb0aa6abf Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 19 Jun 2019 12:13:34 +0200 Subject: [PATCH] iOS: Inline createIosToolChain() Plan is to only let the (base) factory create toolchains, having the 'new' is a separate function complicates the process. Change-Id: I1faff3e2ce4a19a2947ba4ac4e156ed56e5d18e5 Reviewed-by: Christian Stenger --- src/plugins/ios/iosconfigurations.cpp | 36 ++++++++------------------- 1 file changed, 10 insertions(+), 26 deletions(-) diff --git a/src/plugins/ios/iosconfigurations.cpp b/src/plugins/ios/iosconfigurations.cpp index 928a6ec8c25..e91304d2722 100644 --- a/src/plugins/ios/iosconfigurations.cpp +++ b/src/plugins/ios/iosconfigurations.cpp @@ -575,29 +575,6 @@ ProvisioningProfilePtr IosConfigurations::provisioningProfile(const QString &pro Utils::equal(&ProvisioningProfile::identifier, profileID)); } -static ClangToolChain *createIosToolChain(const XcodePlatform &platform, - const XcodePlatform::ToolchainTarget &target, - Core::Id l) -{ - if (!l.isValid()) - return nullptr; - - if (l != Core::Id(ProjectExplorer::Constants::C_LANGUAGE_ID) - && l != Core::Id(ProjectExplorer::Constants::CXX_LANGUAGE_ID)) - return nullptr; - - auto toolChain = new ClangToolChain; - toolChain->setDetection(ToolChain::AutoDetection); - toolChain->setLanguage(l); - toolChain->setDisplayName(target.name); - toolChain->setPlatformCodeGenFlags(target.backendFlags); - toolChain->setPlatformLinkerFlags(target.backendFlags); - toolChain->resetToolChain(l == Core::Id(ProjectExplorer::Constants::CXX_LANGUAGE_ID) ? - platform.cxxCompilerPath : platform.cCompilerPath); - - return toolChain; -} - IosToolChainFactory::IosToolChainFactory() { setSupportedLanguages({ProjectExplorer::Constants::C_LANGUAGE_ID, @@ -610,13 +587,20 @@ QList IosToolChainFactory::autoDetect(const QList &exi const QList platforms = XcodeProbe::detectPlatforms().values(); QList toolChains; toolChains.reserve(platforms.size()); - foreach (const XcodePlatform &platform, platforms) { + for (const XcodePlatform &platform : platforms) { for (const XcodePlatform::ToolchainTarget &target : platform.targets) { ToolChainPair platformToolchains = findToolChainForPlatform(platform, target, existingClangToolChains); - auto createOrAdd = [&](ClangToolChain* toolChain, Core::Id l) { + auto createOrAdd = [&](ClangToolChain *toolChain, Core::Id l) { if (!toolChain) { - toolChain = createIosToolChain(platform, target, l); + toolChain = new ClangToolChain; + toolChain->setDetection(ToolChain::AutoDetection); + toolChain->setLanguage(l); + toolChain->setDisplayName(target.name); + toolChain->setPlatformCodeGenFlags(target.backendFlags); + toolChain->setPlatformLinkerFlags(target.backendFlags); + toolChain->resetToolChain(l == ProjectExplorer::Constants::CXX_LANGUAGE_ID ? + platform.cxxCompilerPath : platform.cCompilerPath); existingClangToolChains.append(toolChain); } toolChains.append(toolChain);