From b38657bcf6956570ab0da6f62cd92767898cb600 Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 16 May 2019 12:49:40 +0200 Subject: [PATCH] Android: Inline special constructor into only user ... in a attempt to unify ToolChain class interfaces. Change-Id: I9135576492a4b8080317aecbe7b74775340e62e8 Reviewed-by: Christian Stenger --- src/plugins/android/androidtoolchain.cpp | 28 ++++++++++-------------- src/plugins/android/androidtoolchain.h | 1 - 2 files changed, 12 insertions(+), 17 deletions(-) diff --git a/src/plugins/android/androidtoolchain.cpp b/src/plugins/android/androidtoolchain.cpp index f1b09279919..4b6f85f5c55 100644 --- a/src/plugins/android/androidtoolchain.cpp +++ b/src/plugins/android/androidtoolchain.cpp @@ -197,12 +197,22 @@ ToolChainList AndroidToolChainFactory::autodetectToolChainsForNdk(CToolChainList auto targetItr = ClangTargets.constBegin(); while (targetItr != ClangTargets.constEnd()) { const Abi &abi = targetItr.value(); - ToolChain *tc = findToolChain(compilerCommand, lang, targetItr.key(), alreadyKnown); + const QString target = targetItr.key(); + ToolChain *tc = findToolChain(compilerCommand, lang, target, alreadyKnown); if (tc) { qCDebug(androidTCLog) << "Tool chain already known" << abi.toString() << lang; } else { qCDebug(androidTCLog) << "New Clang toolchain found" << abi.toString() << lang; - auto atc = new AndroidToolChain(targetItr.key(), lang); + auto atc = new AndroidToolChain; + atc->setOriginalTargetTriple(target); + atc->setLanguage(lang); + atc->setTargetAbi(ClangTargets[target]); + atc->setPlatformCodeGenFlags({"-target", target}); + atc->setPlatformLinkerFlags({"-target", target}); + atc->setDetection(ToolChain::AutoDetection); + atc->setDisplayName(QString("Android Clang (%1, %2)") + .arg(ToolChainManager::displayNameOfLanguageId(lang), + AndroidConfig::displayName(abi))); atc->resetToolChain(compilerCommand); tc = atc; } @@ -221,19 +231,5 @@ AndroidToolChain::AndroidToolChain() } -AndroidToolChain::AndroidToolChain(const QString& target, Core::Id languageId) - : ClangToolChain(Constants::ANDROID_TOOLCHAIN_ID) -{ - setOriginalTargetTriple(target); - setLanguage(languageId); - setTargetAbi(ClangTargets[target]); - setPlatformCodeGenFlags({"-target", target}); - setPlatformLinkerFlags({"-target", target}); - setDetection(AutoDetection); - setDisplayName(QString::fromLatin1("Android Clang (%1, %2)") - .arg(ToolChainManager::displayNameOfLanguageId(languageId), - AndroidConfig::displayName(targetAbi()))); -} - } // namespace Internal } // namespace Android diff --git a/src/plugins/android/androidtoolchain.h b/src/plugins/android/androidtoolchain.h index 6bbc9c731e7..da2a5f06973 100644 --- a/src/plugins/android/androidtoolchain.h +++ b/src/plugins/android/androidtoolchain.h @@ -53,7 +53,6 @@ protected: private: explicit AndroidToolChain(); - AndroidToolChain(const QString &target, Core::Id languageId); friend class AndroidToolChainFactory; };