From b7c322c84be474b88c40e67f93abda4a3ebcc3f3 Mon Sep 17 00:00:00 2001
From: Tobias Hunger <tobias.hunger@nokia.com>
Date: Mon, 30 Jan 2012 14:25:44 +0100
Subject: [PATCH] MSVC: Add missing operator ==

Unbreaks MSCV toolchain registration.

Task-number: QTCREATORBUG-6875
Change-Id: I55e52251ca1621320b5f9db022bab8d79f19030e
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
---
 .../projectexplorer/abstractmsvctoolchain.cpp        | 12 ++++++++++++
 src/plugins/projectexplorer/abstractmsvctoolchain.h  |  3 +++
 2 files changed, 15 insertions(+)

diff --git a/src/plugins/projectexplorer/abstractmsvctoolchain.cpp b/src/plugins/projectexplorer/abstractmsvctoolchain.cpp
index 988c61d97cd..16132315b82 100644
--- a/src/plugins/projectexplorer/abstractmsvctoolchain.cpp
+++ b/src/plugins/projectexplorer/abstractmsvctoolchain.cpp
@@ -274,6 +274,18 @@ QString AbstractMsvcToolChain::findInstalledJom()
         return jom;
 }
 
+bool AbstractMsvcToolChain::operator ==(const ToolChain &other) const
+{
+    if (!ToolChain::operator ==(other))
+        return false;
+
+    const AbstractMsvcToolChain *msvcTc = static_cast<const AbstractMsvcToolChain *>(&other);
+    return targetAbi() == msvcTc->targetAbi()
+            && m_debuggerCommand == msvcTc->m_debuggerCommand
+            && m_vcvarsBat == msvcTc->m_vcvarsBat;
+}
+
+
 } // namespace Internal
 } // namespace ProjectExplorer
 
diff --git a/src/plugins/projectexplorer/abstractmsvctoolchain.h b/src/plugins/projectexplorer/abstractmsvctoolchain.h
index b57b1641ce0..c5783ecaa80 100644
--- a/src/plugins/projectexplorer/abstractmsvctoolchain.h
+++ b/src/plugins/projectexplorer/abstractmsvctoolchain.h
@@ -65,6 +65,9 @@ public:
 
     QString varsBat() const { return m_vcvarsBat; }
     static QString findInstalledJom();
+
+    bool operator ==(const ToolChain &) const;
+
 protected:
     virtual Utils::Environment readEnvironmentSetting(Utils::Environment& env) const = 0;
     virtual QByteArray msvcPredefinedMacros(const Utils::Environment& env) const;
-- 
GitLab