// Ignore OpenLDAP deprecation warnings on OS X Yosemite and newer.
#if defined __APPLE__
+# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#endif
#include <ldap.h>
+#ifdef __APPLE__
+# pragma GCC diagnostic pop
+#endif
+
#ifdef _WIN32
# pragma comment(lib, "libldap_r.lib")
# pragma comment(lib, "liblber.lib")
/// $PackageInfo: require_system("debian") libmysqlclient-dev
/// $PackageInfo: require_system("ubuntu") libmysqlclient-dev
+#ifdef __GNUC__
+# pragma GCC diagnostic push
+#endif
// Fix warnings about the use of `long long` on C++03.
#if defined __clang__
#include <mysql.h>
#include "modules/sql.h"
+#ifdef __GNUC__
+# pragma GCC diagnostic pop
+#endif
+
#ifdef _WIN32
# pragma comment(lib, "libmysql.lib")
#endif
#include "inspircd.h"
#include "modules/regex.h"
+#ifdef __GNUC__
+# pragma GCC diagnostic push
+#endif
+
// Fix warnings about the use of `long long` on C++03 and
// shadowing on GCC.
#if defined __clang__
#include <re2/re2.h>
+#ifdef __GNUC__
+# pragma GCC diagnostic pop
+#endif
+
class RE2Regex : public Regex
{
RE2 regexcl;
#include "inspircd.h"
#include "modules/sql.h"
+#ifdef __GNUC__
+# pragma GCC diagnostic push
+#endif
+
// Fix warnings about the use of `long long` on C++03.
#if defined __clang__
# pragma clang diagnostic ignored "-Wc++11-long-long"
#include <sqlite3.h>
+#ifdef __GNUC__
+# pragma GCC diagnostic pop
+#endif
+
#ifdef _WIN32
# pragma comment(lib, "sqlite3.lib")
#endif
#include "modules/ssl.h"
#include <memory>
+#ifdef __GNUC__
+# pragma GCC diagnostic push
+#endif
+
// Fix warnings about the use of commas at end of enumerator lists on C++03.
#if defined __clang__
# pragma clang diagnostic ignored "-Wc++11-extensions"
#include <gnutls/gnutls.h>
#include <gnutls/x509.h>
+#ifdef __GNUC__
+# pragma GCC diagnostic pop
+#endif
+
#ifndef GNUTLS_VERSION_NUMBER
#define GNUTLS_VERSION_NUMBER LIBGNUTLS_VERSION_NUMBER
#define GNUTLS_VERSION LIBGNUTLS_VERSION
#include "iohook.h"
#include "modules/ssl.h"
+#ifdef __GNUC__
+# pragma GCC diagnostic push
+#endif
+
// Ignore OpenSSL deprecation warnings on OS X Lion and newer.
#if defined __APPLE__
# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#include <openssl/err.h>
#include <openssl/dh.h>
+#ifdef __GNUC__
+# pragma GCC diagnostic pop
+#endif
+
#ifdef _WIN32
# pragma comment(lib, "ssleay32.lib")
# pragma comment(lib, "libeay32.lib")
#include "iohook.h"
#include "modules/httpd.h"
+#ifdef __GNUC__
+# pragma GCC diagnostic push
+#endif
+
// Fix warnings about the use of commas at end of enumerator lists and long long
// on C++03.
#if defined __clang__
// Fix warnings about shadowing in http_parser.
#ifdef __GNUC__
-//# pragma GCC diagnostic ignored "-Wshadow"
+# pragma GCC diagnostic ignored "-Wshadow"
#endif
#include <http_parser.c>
+#ifdef __GNUC__
+# pragma GCC diagnostic pop
+#endif
+
class ModuleHttpServer;
static ModuleHttpServer* HttpModule;
/// $CompilerFlags: -Ivendor_directory("sha2")
/// $CompilerFlags: require_compiler("GCC") -Wno-long-long
+#ifdef __GNUC__
+# pragma GCC diagnostic push
+#endif
// Fix warnings about the use of `long long` on C++03.
#if defined __clang__
#include <sha2.c>
+#ifdef __GNUC__
+# pragma GCC diagnostic pop
+#endif
+
class HashSHA256 : public HashProvider
{
public: