From 013fee8bc1dae57e208a1a9c8d8fab6ec8b8cf0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Wed, 3 Jul 2013 13:02:12 +0200 Subject: [PATCH] GCC 4.6 compatibility: no std::unordered_map::emplace(). Basically reverts (only for GCC 4.6) what was done in b9b690b611e2ad5ca654e78916d6ba7f676cb27a. --- src/Context.cpp | 4 ++++ src/MeshTools/RemoveDuplicates.h | 4 ++++ src/ResourceManager.h | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/src/Context.cpp b/src/Context.cpp index 7c7a76225..0a9f5e6b9 100644 --- a/src/Context.cpp +++ b/src/Context.cpp @@ -337,7 +337,11 @@ Context::Context() { std::unordered_map futureExtensions; for(std::size_t i = future; i != versions.size(); ++i) for(const Extension& extension: Extension::extensions(versions[i])) + #ifndef CORRADE_GCC46_COMPATIBILITY futureExtensions.emplace(extension._string, extension); + #else + futureExtensions.insert({extension._string, extension}); + #endif /* Check for presence of extensions in future versions */ #ifndef MAGNUM_TARGET_GLES2 diff --git a/src/MeshTools/RemoveDuplicates.h b/src/MeshTools/RemoveDuplicates.h index d51c7e61c..55d72e7ea 100644 --- a/src/MeshTools/RemoveDuplicates.h +++ b/src/MeshTools/RemoveDuplicates.h @@ -127,7 +127,11 @@ template void RemoveDuplicates::from(index), v); + #else + auto result = table.insert({Math::Vector::from(index), v}); + #endif *it = result.first->second.newIndex; } diff --git a/src/ResourceManager.h b/src/ResourceManager.h index 261566ff5..0831ac727 100644 --- a/src/ResourceManager.h +++ b/src/ResourceManager.h @@ -469,7 +469,11 @@ template void ResourceManagerData::set(const ResourceKey key, T* con /* Insert it, if not already here */ } else if(it == _data.end()) + #ifndef CORRADE_GCC46_COMPATIBILITY it = _data.emplace(key, Data()).first; + #else + it = _data.insert({key, Data()}).first; + #endif /* Replace previous data */ delete it->second.data;