From eb8fd07900826e95afde15191bb2a0c34b46138a Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 17 Jun 2014 10:35:34 +0200 Subject: lib/nfs/Manager: gcc 4.7 compatibility hack std::map::emplace() is only available from gcc 4.8 on. --- src/lib/nfs/Connection.hxx | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/lib/nfs/Connection.hxx') diff --git a/src/lib/nfs/Connection.hxx b/src/lib/nfs/Connection.hxx index 8850ff6f3..cb4126d25 100644 --- a/src/lib/nfs/Connection.hxx +++ b/src/lib/nfs/Connection.hxx @@ -103,6 +103,22 @@ public: server(_server), export_name(_export_name), context(nullptr) {} +#if defined(__GNUC__) && !defined(__clang__) && !GCC_CHECK_VERSION(4,8) + /* needed for NfsManager::GetConnection() due to lack of + std::map::emplace() */ + NfsConnection(NfsConnection &&other) + :SocketMonitor(((SocketMonitor &)other).GetEventLoop()), + DeferredMonitor(((DeferredMonitor &)other).GetEventLoop()), + server(std::move(other.server)), + export_name(std::move(other.export_name)), + context(nullptr) { + assert(other.context == nullptr); + assert(other.new_leases.empty()); + assert(other.active_leases.empty()); + assert(other.callbacks.IsEmpty()); + } +#endif + ~NfsConnection(); gcc_pure -- cgit v1.2.3