summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2019-05-13 16:18:25 +0200
committerhjk <hjk@qt.io>2019-05-16 10:38:25 +0000
commit2226c1b87bda9476754100f764858e3b5098de5b (patch)
treec18eccce2f7cbd006bf4e8cf21ebff5d12a52bfb
parent31700217b1e675adf8d780184be01783f40b179c (diff)
downloadqt-creator-2226c1b87bda9476754100f764858e3b5098de5b.tar.gz
ProjectExplorer: Use ToolChainFactories to clone ToolChains
Centrally. Change-Id: Ie832c5ad0eb282192440d9d4d058d082d9513cc2 Reviewed-by: David Schulz <david.schulz@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r--src/plugins/baremetal/iarewtoolchain.cpp5
-rw-r--r--src/plugins/baremetal/iarewtoolchain.h5
-rw-r--r--src/plugins/baremetal/keiltoolchain.cpp5
-rw-r--r--src/plugins/baremetal/keiltoolchain.h5
-rw-r--r--src/plugins/baremetal/sdcctoolchain.cpp5
-rw-r--r--src/plugins/baremetal/sdcctoolchain.h5
-rw-r--r--src/plugins/nim/project/nimtoolchain.cpp5
-rw-r--r--src/plugins/nim/project/nimtoolchain.h1
-rw-r--r--src/plugins/projectexplorer/customtoolchain.cpp5
-rw-r--r--src/plugins/projectexplorer/customtoolchain.h5
-rw-r--r--src/plugins/projectexplorer/gcctoolchain.cpp27
-rw-r--r--src/plugins/projectexplorer/gcctoolchain.h10
-rw-r--r--src/plugins/projectexplorer/msvctoolchain.cpp40
-rw-r--r--src/plugins/projectexplorer/msvctoolchain.h4
-rw-r--r--src/plugins/projectexplorer/toolchain.cpp37
-rw-r--r--src/plugins/projectexplorer/toolchain.h6
-rw-r--r--src/plugins/projectexplorer/toolchainoptionspage.cpp3
-rw-r--r--src/plugins/projectexplorer/toolchainsettingsaccessor.cpp51
18 files changed, 66 insertions, 158 deletions
diff --git a/src/plugins/baremetal/iarewtoolchain.cpp b/src/plugins/baremetal/iarewtoolchain.cpp
index f5125acf97..a635ec90e4 100644
--- a/src/plugins/baremetal/iarewtoolchain.cpp
+++ b/src/plugins/baremetal/iarewtoolchain.cpp
@@ -388,11 +388,6 @@ FileName IarToolChain::makeCommand(const Environment &env) const
return {};
}
-ToolChain *IarToolChain::clone() const
-{
- return new IarToolChain(*this);
-}
-
// IarToolChainFactory
IarToolChainFactory::IarToolChainFactory()
diff --git a/src/plugins/baremetal/iarewtoolchain.h b/src/plugins/baremetal/iarewtoolchain.h
index 986146103d..8f0f179157 100644
--- a/src/plugins/baremetal/iarewtoolchain.h
+++ b/src/plugins/baremetal/iarewtoolchain.h
@@ -83,11 +83,6 @@ public:
Utils::FileName makeCommand(const Utils::Environment &env) const final;
- ToolChain *clone() const final;
-
-protected:
- IarToolChain(const IarToolChain &tc) = default;
-
private:
IarToolChain();
diff --git a/src/plugins/baremetal/keiltoolchain.cpp b/src/plugins/baremetal/keiltoolchain.cpp
index abe074fc3e..ef93a76b5e 100644
--- a/src/plugins/baremetal/keiltoolchain.cpp
+++ b/src/plugins/baremetal/keiltoolchain.cpp
@@ -393,11 +393,6 @@ FileName KeilToolchain::makeCommand(const Environment &env) const
return {};
}
-ToolChain *KeilToolchain::clone() const
-{
- return new KeilToolchain(*this);
-}
-
// KeilToolchainFactory
KeilToolchainFactory::KeilToolchainFactory()
diff --git a/src/plugins/baremetal/keiltoolchain.h b/src/plugins/baremetal/keiltoolchain.h
index 9347f95387..a493d5a993 100644
--- a/src/plugins/baremetal/keiltoolchain.h
+++ b/src/plugins/baremetal/keiltoolchain.h
@@ -83,11 +83,6 @@ public:
Utils::FileName makeCommand(const Utils::Environment &env) const final;
- ToolChain *clone() const final;
-
-protected:
- KeilToolchain(const KeilToolchain &tc) = default;
-
private:
KeilToolchain();
diff --git a/src/plugins/baremetal/sdcctoolchain.cpp b/src/plugins/baremetal/sdcctoolchain.cpp
index 879274f3c4..abfc7a804a 100644
--- a/src/plugins/baremetal/sdcctoolchain.cpp
+++ b/src/plugins/baremetal/sdcctoolchain.cpp
@@ -378,11 +378,6 @@ FileName SdccToolChain::makeCommand(const Environment &env) const
return {};
}
-ToolChain *SdccToolChain::clone() const
-{
- return new SdccToolChain(*this);
-}
-
// SdccToolChainFactory
SdccToolChainFactory::SdccToolChainFactory()
diff --git a/src/plugins/baremetal/sdcctoolchain.h b/src/plugins/baremetal/sdcctoolchain.h
index bb4a90c19c..6e76e96aae 100644
--- a/src/plugins/baremetal/sdcctoolchain.h
+++ b/src/plugins/baremetal/sdcctoolchain.h
@@ -83,11 +83,6 @@ public:
Utils::FileName makeCommand(const Utils::Environment &env) const final;
- ToolChain *clone() const final;
-
-protected:
- SdccToolChain(const SdccToolChain &tc) = default;
-
private:
SdccToolChain();
diff --git a/src/plugins/nim/project/nimtoolchain.cpp b/src/plugins/nim/project/nimtoolchain.cpp
index d34fcc2a2c..43104154ae 100644
--- a/src/plugins/nim/project/nimtoolchain.cpp
+++ b/src/plugins/nim/project/nimtoolchain.cpp
@@ -140,11 +140,6 @@ std::unique_ptr<ProjectExplorer::ToolChainConfigWidget> NimToolChain::createConf
return std::make_unique<NimToolChainConfigWidget>(this);
}
-ToolChain *NimToolChain::clone() const
-{
- return new NimToolChain(*this);
-}
-
QVariantMap NimToolChain::toMap() const
{
QVariantMap data = ToolChain::toMap();
diff --git a/src/plugins/nim/project/nimtoolchain.h b/src/plugins/nim/project/nimtoolchain.h
index 85d0b25d63..8b84b3d5c1 100644
--- a/src/plugins/nim/project/nimtoolchain.h
+++ b/src/plugins/nim/project/nimtoolchain.h
@@ -55,7 +55,6 @@ public:
void setCompilerCommand(const Utils::FileName &compilerCommand);
ProjectExplorer::IOutputParser *outputParser() const final;
std::unique_ptr<ProjectExplorer::ToolChainConfigWidget> createConfigurationWidget() final;
- ProjectExplorer::ToolChain *clone() const final;
QVariantMap toMap() const final;
bool fromMap(const QVariantMap &data) final;
diff --git a/src/plugins/projectexplorer/customtoolchain.cpp b/src/plugins/projectexplorer/customtoolchain.cpp
index 4202e14f6a..0d89865716 100644
--- a/src/plugins/projectexplorer/customtoolchain.cpp
+++ b/src/plugins/projectexplorer/customtoolchain.cpp
@@ -289,11 +289,6 @@ QString CustomToolChain::mkspecs() const
return list;
}
-ToolChain *CustomToolChain::clone() const
-{
- return new CustomToolChain(*this);
-}
-
QVariantMap CustomToolChain::toMap() const
{
QVariantMap data = ToolChain::toMap();
diff --git a/src/plugins/projectexplorer/customtoolchain.h b/src/plugins/projectexplorer/customtoolchain.h
index 64d234418b..b3aa17f7da 100644
--- a/src/plugins/projectexplorer/customtoolchain.h
+++ b/src/plugins/projectexplorer/customtoolchain.h
@@ -105,17 +105,12 @@ public:
void setMkspecs(const QString &);
QString mkspecs() const;
- ToolChain *clone() const override;
-
Core::Id outputParserId() const;
void setOutputParserId(Core::Id parserId);
CustomParserSettings customParserSettings() const;
void setCustomParserSettings(const CustomParserSettings &settings);
static QList<CustomToolChain::Parser> parsers();
-protected:
- CustomToolChain(const CustomToolChain &) = default;
-
private:
CustomToolChain();
diff --git a/src/plugins/projectexplorer/gcctoolchain.cpp b/src/plugins/projectexplorer/gcctoolchain.cpp
index c411c52510..94199bd2f2 100644
--- a/src/plugins/projectexplorer/gcctoolchain.cpp
+++ b/src/plugins/projectexplorer/gcctoolchain.cpp
@@ -646,8 +646,6 @@ void GccToolChain::addCommandPathToEnvironment(const FileName &command, Environm
env.prependOrSetPath(compilerDir.toString());
}
-GccToolChain::GccToolChain(const GccToolChain &) = default;
-
void GccToolChain::addToEnvironment(Environment &env) const
{
// On Windows gcc invokes cc1plus which is in libexec directory.
@@ -775,11 +773,6 @@ QStringList GccToolChain::platformLinkerFlags() const
return m_platformLinkerFlags;
}
-ToolChain *GccToolChain::clone() const
-{
- return new GccToolChain(*this);
-}
-
QVariantMap GccToolChain::toMap() const
{
QVariantMap data = ToolChain::toMap();
@@ -1279,11 +1272,6 @@ ClangToolChain::ClangToolChain(Core::Id typeId) :
syncAutodetectedWithParentToolchains();
}
-ClangToolChain::ClangToolChain(const ClangToolChain &other)
- : GccToolChain(other)
- , m_parentToolChainId(other.m_parentToolChainId)
-{}
-
ClangToolChain::~ClangToolChain()
{
QObject::disconnect(m_thisToolchainRemovedConnection);
@@ -1447,11 +1435,6 @@ IOutputParser *ClangToolChain::outputParser() const
return new ClangParser;
}
-ToolChain *ClangToolChain::clone() const
-{
- return new ClangToolChain(*this);
-}
-
// --------------------------------------------------------------------------
// ClangToolChainFactory
// --------------------------------------------------------------------------
@@ -1652,11 +1635,6 @@ FileName MingwToolChain::makeCommand(const Environment &environment) const
return FileName::fromString(makes.first());
}
-ToolChain *MingwToolChain::clone() const
-{
- return new MingwToolChain(*this);
-}
-
// --------------------------------------------------------------------------
// MingwToolChainFactory
// --------------------------------------------------------------------------
@@ -1743,11 +1721,6 @@ FileNameList LinuxIccToolChain::suggestedMkspecList() const
<< FileName::fromString(QString::fromLatin1("linux-icc-") + QString::number(targetAbi().wordWidth()));
}
-ToolChain *LinuxIccToolChain::clone() const
-{
- return new LinuxIccToolChain(*this);
-}
-
// --------------------------------------------------------------------------
// LinuxIccToolChainFactory
// --------------------------------------------------------------------------
diff --git a/src/plugins/projectexplorer/gcctoolchain.h b/src/plugins/projectexplorer/gcctoolchain.h
index f13b27b2da..05b462dacf 100644
--- a/src/plugins/projectexplorer/gcctoolchain.h
+++ b/src/plugins/projectexplorer/gcctoolchain.h
@@ -107,8 +107,6 @@ public:
void setPlatformLinkerFlags(const QStringList &);
QStringList platformLinkerFlags() const;
- ToolChain *clone() const override;
-
static void addCommandPathToEnvironment(const Utils::FileName &command, Utils::Environment &env);
class DetectedAbisResult {
@@ -128,8 +126,6 @@ protected:
using CacheItem = QPair<QStringList, Macros>;
using GccCache = QVector<CacheItem>;
- GccToolChain(const GccToolChain &);
-
void setCompilerCommand(const Utils::FileName &path);
void setSupportedAbis(const QList<Abi> &m_abis);
void setOriginalTargetTriple(const QString &targetTriple);
@@ -227,8 +223,6 @@ public:
IOutputParser *outputParser() const override;
- ToolChain *clone() const override;
-
Utils::FileNameList suggestedMkspecList() const override;
void addToEnvironment(Utils::Environment &env) const override;
@@ -266,8 +260,6 @@ public:
QString typeDisplayName() const override;
Utils::FileName makeCommand(const Utils::Environment &environment) const override;
- ToolChain *clone() const override;
-
Utils::FileNameList suggestedMkspecList() const override;
private:
@@ -289,8 +281,6 @@ public:
Utils::LanguageExtensions languageExtensions(const QStringList &cxxflags) const override;
IOutputParser *outputParser() const override;
- ToolChain *clone() const override;
-
Utils::FileNameList suggestedMkspecList() const override;
private:
diff --git a/src/plugins/projectexplorer/msvctoolchain.cpp b/src/plugins/projectexplorer/msvctoolchain.cpp
index 41cf05c376..a264d4733e 100644
--- a/src/plugins/projectexplorer/msvctoolchain.cpp
+++ b/src/plugins/projectexplorer/msvctoolchain.cpp
@@ -841,36 +841,6 @@ MsvcToolChain::MsvcToolChain(const QString &name,
: MsvcToolChain(Constants::MSVC_TOOLCHAIN_TYPEID, name, abi, varsBat, varsBatArg)
{}
-MsvcToolChain::MsvcToolChain(const MsvcToolChain &other)
- : ToolChain(other)
- , m_headerPathsMutex(new QMutex)
- , m_environmentModifications(other.m_environmentModifications)
- , m_debuggerCommand(other.m_debuggerCommand)
- , m_lastEnvironment(other.m_lastEnvironment)
- , m_resultEnvironment(other.m_resultEnvironment)
- , m_abi(other.m_abi)
- , m_supportedAbis(other.m_supportedAbis)
- , m_vcvarsBat(other.m_vcvarsBat)
- , m_varsBatArg(other.m_varsBatArg)
-{
- if (other.m_envModWatcher.isRunning()) {
- initEnvModWatcher(other.m_envModWatcher.future());
- } else if (m_environmentModifications.isEmpty() && other.m_envModWatcher.future().isFinished()
- && !other.m_envModWatcher.future().isCanceled()) {
- const GenerateEnvResult &result = m_envModWatcher.result();
- if (result.error) {
- const QString &errorMessage = *result.error;
- if (!errorMessage.isEmpty())
- TaskHub::addTask(Task::Error, errorMessage, Constants::TASK_CATEGORY_COMPILE);
- } else {
- updateEnvironmentModifications(result.environmentItems);
- }
- }
-
- setDisplayName(QCoreApplication::translate("ProjectExplorer::ToolChain", "Clone of %1")
- .arg(other.displayName()));
-}
-
static void addToAvailableMsvcToolchains(const MsvcToolChain *toolchain)
{
if (toolchain->typeId() != Constants::MSVC_TOOLCHAIN_TYPEID)
@@ -1081,11 +1051,6 @@ std::unique_ptr<ToolChainConfigWidget> MsvcToolChain::createConfigurationWidget(
return std::make_unique<MsvcToolChainConfigWidget>(this);
}
-ToolChain *MsvcToolChain::clone() const
-{
- return new MsvcToolChain(*this);
-}
-
bool static hasFlagEffectOnMacros(const QString &flag)
{
if (flag.startsWith("-") || flag.startsWith("/")) {
@@ -1748,11 +1713,6 @@ IOutputParser *ClangClToolChain::outputParser() const
return new ClangClParser;
}
-ToolChain *ClangClToolChain::clone() const
-{
- return new ClangClToolChain(*this);
-}
-
static inline QString llvmDirKey()
{
return QStringLiteral("ProjectExplorer.ClangClToolChain.LlvmDir");
diff --git a/src/plugins/projectexplorer/msvctoolchain.h b/src/plugins/projectexplorer/msvctoolchain.h
index a22261f7c7..1957ec8953 100644
--- a/src/plugins/projectexplorer/msvctoolchain.h
+++ b/src/plugins/projectexplorer/msvctoolchain.h
@@ -60,7 +60,6 @@ public:
const Abi &abi,
const QString &varsBat,
const QString &varsBatArg);
- MsvcToolChain(const MsvcToolChain &other);
MsvcToolChain();
~MsvcToolChain() override;
@@ -81,8 +80,6 @@ public:
std::unique_ptr<ToolChainConfigWidget> createConfigurationWidget() override;
- ToolChain *clone() const override;
-
MacroInspectionRunner createMacroInspectionRunner() const override;
Macros predefinedMacros(const QStringList &cxxflags) const override;
Utils::LanguageExtensions languageExtensions(const QStringList &cxxflags) const override;
@@ -191,7 +188,6 @@ public:
void addToEnvironment(Utils::Environment &env) const override;
Utils::FileName compilerCommand() const override;
IOutputParser *outputParser() const override;
- ToolChain *clone() const override;
QVariantMap toMap() const override;
bool fromMap(const QVariantMap &data) override;
std::unique_ptr<ToolChainConfigWidget> createConfigurationWidget() override;
diff --git a/src/plugins/projectexplorer/toolchain.cpp b/src/plugins/projectexplorer/toolchain.cpp
index fd81769cb4..5bfceefb32 100644
--- a/src/plugins/projectexplorer/toolchain.cpp
+++ b/src/plugins/projectexplorer/toolchain.cpp
@@ -46,6 +46,8 @@ static const char LANGUAGE_KEY_V2[] = "ProjectExplorer.ToolChain.LanguageV2"; //
namespace ProjectExplorer {
namespace Internal {
+static QList<ToolChainFactory *> g_toolChainFactories;
+
// --------------------------------------------------------------------------
// ToolChainPrivate
// --------------------------------------------------------------------------
@@ -125,17 +127,6 @@ ToolChain::ToolChain(Core::Id typeId) :
{
}
-ToolChain::ToolChain(const ToolChain &other) : ToolChain(other.d->m_typeId)
-{
- d->m_language = other.d->m_language;
-
- // leave the autodetection bit at false. // FIXME: <- is this comment valid.
- d->m_detection = ManualDetection;
-
- d->m_displayName = QCoreApplication::translate("ProjectExplorer::ToolChain", "Clone of %1")
- .arg(other.displayName());
-}
-
void ToolChain::setLanguage(Core::Id language)
{
QTC_ASSERT(!d->m_language.isValid() || isAutoDetected(), return);
@@ -209,6 +200,22 @@ bool ToolChain::operator == (const ToolChain &tc) const
&& language() == tc.language();
}
+ToolChain *ToolChain::clone() const
+{
+ for (ToolChainFactory *f : Internal::g_toolChainFactories) {
+ if (f->supportedToolChainType() == d->m_typeId) {
+ ToolChain *tc = f->create();
+ QTC_ASSERT(tc, return nullptr);
+ tc->fromMap(toMap());
+ // New ID for the clone. It's different.
+ tc->d->m_id = QUuid::createUuid().toByteArray();
+ return tc;
+ }
+ }
+ QTC_CHECK(false);
+ return nullptr;
+}
+
/*!
Used by the tool chain manager to save user-generated tool chains.
@@ -408,21 +415,19 @@ QString ToolChain::sysRoot() const
Used by the tool chain manager to restore user-generated tool chains.
*/
-static QList<ToolChainFactory *> g_toolChainFactories;
-
ToolChainFactory::ToolChainFactory()
{
- g_toolChainFactories.append(this);
+ Internal::g_toolChainFactories.append(this);
}
ToolChainFactory::~ToolChainFactory()
{
- g_toolChainFactories.removeOne(this);
+ Internal::g_toolChainFactories.removeOne(this);
}
const QList<ToolChainFactory *> ToolChainFactory::allToolChainFactories()
{
- return g_toolChainFactories;
+ return Internal::g_toolChainFactories;
}
QList<ToolChain *> ToolChainFactory::autoDetect(const QList<ToolChain *> &alreadyKnown)
diff --git a/src/plugins/projectexplorer/toolchain.h b/src/plugins/projectexplorer/toolchain.h
index 8dee69ddee..59fac8112f 100644
--- a/src/plugins/projectexplorer/toolchain.h
+++ b/src/plugins/projectexplorer/toolchain.h
@@ -146,7 +146,7 @@ public:
virtual bool operator ==(const ToolChain &) const;
virtual std::unique_ptr<ToolChainConfigWidget> createConfigurationWidget() = 0;
- virtual ToolChain *clone() const = 0;
+ ToolChain *clone() const;
// Used by the toolchainmanager to save user-generated tool chains.
// Make sure to call this function when deriving!
@@ -163,7 +163,6 @@ public:
protected:
explicit ToolChain(Core::Id typeId);
- explicit ToolChain(const ToolChain &);
const MacrosCache &predefinedMacrosCache() const;
const HeaderPathsCache &headerPathsCache() const;
@@ -174,6 +173,9 @@ protected:
virtual bool fromMap(const QVariantMap &data);
private:
+ ToolChain(const ToolChain &) = delete;
+ ToolChain &operator=(const ToolChain &) = delete;
+
const std::unique_ptr<Internal::ToolChainPrivate> d;
friend class Internal::ToolChainSettingsAccessor;
diff --git a/src/plugins/projectexplorer/toolchainoptionspage.cpp b/src/plugins/projectexplorer/toolchainoptionspage.cpp
index 52ff8158ac..04ff0eb0bd 100644
--- a/src/plugins/projectexplorer/toolchainoptionspage.cpp
+++ b/src/plugins/projectexplorer/toolchainoptionspage.cpp
@@ -43,6 +43,7 @@
#include <QAction>
#include <QApplication>
#include <QCheckBox>
+#include <QCoreApplication>
#include <QDialog>
#include <QDialogButtonBox>
#include <QHBoxLayout>
@@ -533,6 +534,8 @@ void ToolChainOptionsWidget::cloneToolChain()
return;
tc->setDetection(ToolChain::ManualDetection);
+ tc->setDisplayName(QCoreApplication::translate("ProjectExplorer::ToolChain", "Clone of %1")
+ .arg(current->toolChain->displayName()));
auto item = insertToolChain(tc, true);
m_toAddList.append(item);
diff --git a/src/plugins/projectexplorer/toolchainsettingsaccessor.cpp b/src/plugins/projectexplorer/toolchainsettingsaccessor.cpp
index d6457db7f2..83ac914aca 100644
--- a/src/plugins/projectexplorer/toolchainsettingsaccessor.cpp
+++ b/src/plugins/projectexplorer/toolchainsettingsaccessor.cpp
@@ -292,11 +292,17 @@ namespace ProjectExplorer {
using TCList = QList<ToolChain *>;
+const char TestTokenKey[] = "TestTokenKey";
+const char TestToolChainType[] = "TestToolChainType";
+
+
class TTC : public ToolChain
{
public:
+ TTC() : ToolChain(TestToolChainType) {}
+
TTC(const QByteArray &t, bool v = true) :
- ToolChain("TestToolChainType"),
+ ToolChain(TestToolChainType),
token(t),
m_valid(v)
{
@@ -322,21 +328,29 @@ public:
FileName compilerCommand() const override { return Utils::FileName::fromString("/tmp/test/gcc"); }
IOutputParser *outputParser() const override { return nullptr; }
std::unique_ptr<ToolChainConfigWidget> createConfigurationWidget() override { return nullptr; }
- TTC *clone() const override { return new TTC(*this); }
bool operator ==(const ToolChain &other) const override {
if (!ToolChain::operator==(other))
return false;
return static_cast<const TTC *>(&other)->token == token;
}
+ bool fromMap(const QVariantMap &data) final
+ {
+ ToolChain::fromMap(data);
+ token = data.value(TestTokenKey).toByteArray();
+ return true;
+ }
+
+ QVariantMap toMap() const final
+ {
+ QVariantMap data = ToolChain::toMap();
+ data[TestTokenKey] = token;
+ return data;
+ }
+
QByteArray token;
private:
- TTC(const TTC &other) :
- ToolChain(other.typeId()),
- token(other.token)
- {}
-
bool m_valid = false;
static QList<TTC *> m_toolChains;
@@ -354,6 +368,17 @@ namespace ProjectExplorer {
void ProjectExplorerPlugin::testToolChainMerging_data()
{
+ class TestToolChainFactory : ToolChainFactory
+ {
+ public:
+ TestToolChainFactory() {
+ setSupportedToolChainType(TestToolChainType);
+ setToolchainConstructor([] { return new TTC; });
+ }
+ };
+
+ TestToolChainFactory factory;
+
QTest::addColumn<TCList>("system");
QTest::addColumn<TCList>("user");
QTest::addColumn<TCList>("autodetect");
@@ -361,15 +386,15 @@ void ProjectExplorerPlugin::testToolChainMerging_data()
QTest::addColumn<TCList>("toRegister");
TTC *system1 = nullptr;
- TTC *system1c = nullptr;
+ ToolChain *system1c = nullptr;
TTC *system2 = nullptr;
TTC *system3i = nullptr;
TTC *user1 = nullptr;
- TTC *user1c = nullptr;
+ ToolChain *user1c = nullptr;
TTC *user3i = nullptr;
TTC *user2 = nullptr;
TTC *auto1 = nullptr;
- TTC *auto1c = nullptr;
+ ToolChain *auto1c = nullptr;
TTC *auto1_2 = nullptr;
TTC *auto2 = nullptr;
TTC *auto3i = nullptr;
@@ -377,21 +402,21 @@ void ProjectExplorerPlugin::testToolChainMerging_data()
if (!TTC::hasToolChains()) {
system1 = new TTC("system1");
system1->setDetection(ToolChain::AutoDetection);
- system1c = system1->clone(); Q_UNUSED(system1c);
+ system1c = system1->clone(); Q_UNUSED(system1c)
system2 = new TTC("system2");
system2->setDetection(ToolChain::AutoDetection);
system3i = new TTC("system3", false);
system3i->setDetection(ToolChain::AutoDetection);
user1 = new TTC("user1");
user1->setDetection(ToolChain::ManualDetection);
- user1c = user1->clone(); Q_UNUSED(user1c);
+ user1c = user1->clone(); Q_UNUSED(user1c)
user2 = new TTC("user2");
user2->setDetection(ToolChain::ManualDetection);
user3i = new TTC("user3", false);
user3i->setDetection(ToolChain::ManualDetection);
auto1 = new TTC("auto1");
auto1->setDetection(ToolChain::AutoDetection);
- auto1c = auto1->clone(); Q_UNUSED(auto1c);
+ auto1c = auto1->clone();
auto1_2 = new TTC("auto1");
auto1_2->setDetection(ToolChain::AutoDetection);
auto2 = new TTC("auto2");