From 96528818b201c5a250701b58bb9c4d11048b237e Mon Sep 17 00:00:00 2001
From: Tobias Markmann <tm@ayena.de>
Date: Mon, 26 Jun 2017 05:57:43 +0200
Subject: Fix compiler warnings raise by Clang on Linux

Clang raises warnings about unused members and
macros on Linux. These are fixed with this change.

Test-Information:

Tested with clang-3.9 on Debian Stretch.

Change-Id: I87bc0606cfd14365330aaad4ed433d3bca2d5330

diff --git a/BuildTools/SCons/SConstruct b/BuildTools/SCons/SConstruct
index a7e2bed..2c2d629 100644
--- a/BuildTools/SCons/SConstruct
+++ b/BuildTools/SCons/SConstruct
@@ -268,6 +268,9 @@ if env.get("try_gconf", True) and env["PLATFORM"] != "win32" and env["PLATFORM"]
     if conf.CheckPKG("gconf-2.0") :
         gconf_bare_env = Environment()
         gconf_bare_env.ParseConfig('pkg-config --cflags gconf-2.0 gobject-2.0 --libs gconf-2.0 gobject-2.0')
+        if os.path.basename(env["CXX"]).startswith(("g++", "clang++")) :
+            gconf_bare_env["CCFLAGS"] = [("-isystem" + ccflag) for ccflag in gconf_bare_env["CPPPATH"]]
+            gconf_bare_env["CPPPATH"] = []
         gconf_flags = {
                 "LIBS": gconf_bare_env["LIBS"],
                 "CCFLAGS": gconf_bare_env["CCFLAGS"],
@@ -280,7 +283,7 @@ if env.get("try_gconf", True) and env["PLATFORM"] != "win32" and env["PLATFORM"]
             env["GCONF_FLAGS"] = {
                 "LIBS": gconf_env["LIBS"],
                 "CCFLAGS": gconf_env["CCFLAGS"],
-                "CPPPATH": gconf_env["CPPPATH"],
+                "CPPPATH": gconf_env.get("CPPPATH", []),
                 "CPPDEFINES": gconf_env.get("CPPDEFINES", []),
             }
     conf.Finish()
diff --git a/Swift/QtUI/QtCertificateViewerDialog.cpp b/Swift/QtUI/QtCertificateViewerDialog.cpp
index 6454d82..a36ccdb 100644
--- a/Swift/QtUI/QtCertificateViewerDialog.cpp
+++ b/Swift/QtUI/QtCertificateViewerDialog.cpp
@@ -116,10 +116,8 @@ void QtCertificateViewerDialog::setCertificateDetails(const QSslCertificate& cer
 
 #if QT_VERSION < 0x050000
     QMultiMap<QSsl::AlternateNameEntryType, QString> altNames = cert.alternateSubjectNames();
-#define SANTYPE QSsl::AlternateNameEntryType
 #else
     QMultiMap<QSsl::AlternativeNameEntryType, QString> altNames = cert.subjectAlternativeNames();
-#define SANTYPE QSsl::AlternativeNameEntryType
 #endif
     if (!altNames.empty()) {
         ADD_SECTION(tr("Alternate Subject Names"));
diff --git a/Swift/QtUI/QtDBUSURIHandler.cpp b/Swift/QtUI/QtDBUSURIHandler.cpp
index c873676..34659f4 100644
--- a/Swift/QtUI/QtDBUSURIHandler.cpp
+++ b/Swift/QtUI/QtDBUSURIHandler.cpp
@@ -13,6 +13,9 @@
 
 using namespace Swift;
 
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wunused-member-function"
+
 namespace {
     class DBUSAdaptor: public QDBusAbstractAdaptor {
             Q_OBJECT
@@ -38,4 +41,6 @@ QtDBUSURIHandler::QtDBUSURIHandler() {
     connection.registerObject("/", this);
 }
 
+#pragma clang diagnostic pop
+
 #include "QtDBUSURIHandler.moc"
diff --git a/Swiften/Network/UnixProxyProvider.cpp b/Swiften/Network/UnixProxyProvider.cpp
index e6afa3d..854d501 100644
--- a/Swiften/Network/UnixProxyProvider.cpp
+++ b/Swiften/Network/UnixProxyProvider.cpp
@@ -30,6 +30,8 @@ UnixProxyProvider::UnixProxyProvider() :
 UnixProxyProvider::~UnixProxyProvider() {
 #if defined(HAVE_GCONF)
     delete gconfProxyProvider;
+#else
+    (void)gconfProxyProvider;
 #endif
 }
 
-- 
cgit v0.10.2-6-g49f6