From 245bf9342929fa1e9e340ea554be1e9d00f85e92 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 24 Jan 2021 17:36:12 +0000 Subject: [PATCH] Some build fixes to enable basic compilation on CentOS6 --- src/db/db/dbColdProxy.cc | 12 ++++++++---- src/db/db/dbColdProxy.h | 14 ++++++++++++++ src/pymod/bridge_sample/bridge_sample.cc | 1 - src/pymod/bridge_sample/bridge_sample.pro | 4 ++++ src/tl/tl/tlHttpStreamQt.cc | 2 ++ 5 files changed, 28 insertions(+), 5 deletions(-) diff --git a/src/db/db/dbColdProxy.cc b/src/db/db/dbColdProxy.cc index 3471d0ed6..b1a70549d 100644 --- a/src/db/db/dbColdProxy.cc +++ b/src/db/db/dbColdProxy.cc @@ -33,16 +33,16 @@ namespace db { static tl::Mutex s_map_mutex; -static std::map > s_proxies_per_library_name; +static std::map *> s_proxies_per_library_name; const tl::weak_collection & ColdProxy::cold_proxies_per_lib_name (const std::string &libname) { tl::MutexLocker locker (&s_map_mutex); - std::map >::const_iterator i = s_proxies_per_library_name.find (libname); + std::map *>::const_iterator i = s_proxies_per_library_name.find (libname); if (i != s_proxies_per_library_name.end ()) { - return i->second; + return *i->second; } else { static tl::weak_collection s_empty; return s_empty; @@ -54,7 +54,11 @@ ColdProxy::ColdProxy (db::cell_index_type ci, db::Layout &layout, const ProxyCon { if (! info.lib_name.empty ()) { tl::MutexLocker locker (&s_map_mutex); - s_proxies_per_library_name [info.lib_name].push_back (this); + std::map *>::iterator i = s_proxies_per_library_name.find (info.lib_name); + if (i != s_proxies_per_library_name.end ()) { + i = s_proxies_per_library_name.insert (std::make_pair (info.lib_name, new tl::weak_collection ())).first; + } + i->second->push_back (this); } } diff --git a/src/db/db/dbColdProxy.h b/src/db/db/dbColdProxy.h index 728b8dd82..a8481f89b 100644 --- a/src/db/db/dbColdProxy.h +++ b/src/db/db/dbColdProxy.h @@ -30,6 +30,7 @@ #include "dbCell.h" #include "tlObject.h" +#include "tlTypeTraits.h" namespace db { @@ -102,10 +103,23 @@ public: private: ProxyContextInfo *mp_context_info; + + ColdProxy (const ColdProxy &d); + ColdProxy &operator= (const ColdProxy &d); }; } +namespace tl +{ + template <> + struct type_traits : public type_traits + { + typedef tl::false_tag has_default_constructor; + typedef tl::false_tag has_copy_constructor; + }; +} + #endif diff --git a/src/pymod/bridge_sample/bridge_sample.cc b/src/pymod/bridge_sample/bridge_sample.cc index 5735913a8..47e28ce55 100644 --- a/src/pymod/bridge_sample/bridge_sample.cc +++ b/src/pymod/bridge_sample/bridge_sample.cc @@ -44,7 +44,6 @@ #include "pyaRefs.h" #include "dbPolygon.h" - static PyObject *BridgeError; static PyObject * diff --git a/src/pymod/bridge_sample/bridge_sample.pro b/src/pymod/bridge_sample/bridge_sample.pro index 1e1f58527..abbf68470 100644 --- a/src/pymod/bridge_sample/bridge_sample.pro +++ b/src/pymod/bridge_sample/bridge_sample.pro @@ -88,10 +88,14 @@ LIBS += -L$$LIBDIR -lklayout_db -Wno-deprecated-declarations \ -Wno-reserved-user-defined-literal \ + # because we use unordered_map/unordered_set: + QMAKE_CXXFLAGS += -std=c++0x + # Python is somewhat sloppy and relies on the compiler initializing fields # of strucs to 0: QMAKE_CXXFLAGS_WARN_ON += \ -Wno-missing-field-initializers + } else { # disable some warnings diff --git a/src/tl/tl/tlHttpStreamQt.cc b/src/tl/tl/tlHttpStreamQt.cc index ab7c0f981..e53b94f57 100644 --- a/src/tl/tl/tlHttpStreamQt.cc +++ b/src/tl/tl/tlHttpStreamQt.cc @@ -342,10 +342,12 @@ InputHttpStreamPrivateData::finished (QNetworkReply *reply) } if (tl::verbosity() >= 40) { +#if QT_VERSION >= 0x40800 const QList &raw_headers = reply->rawHeaderPairs (); for (QList::const_iterator h = raw_headers.begin (); h != raw_headers.end (); ++h) { tl::info << "HTTP response header: " << h->first.constData () << ": " << h->second.constData (); } +#endif } QVariant redirect_target = reply->attribute (QNetworkRequest::RedirectionTargetAttribute);