diff options
author | Attila Molnar <attilamolnar@hush.com> | 2014-10-06 17:40:35 +0200 |
---|---|---|
committer | Attila Molnar <attilamolnar@hush.com> | 2014-10-06 17:40:35 +0200 |
commit | 529d26bdafb033a3f90691d21f609067261bb953 (patch) | |
tree | e55292f1c657bb6009ea5ac369ba37d837e9a97a | |
parent | 65b8c4f0decd5b834794db2bcb24ceb45ffad9cf (diff) | |
parent | e59943c1a5107c7be39e38ade546f8f6c6d06145 (diff) |
Merge pull request #931 from SaberUK/insp20+fix-non-gnu-stl
Fix hash_map.h on non-GNU C++ standard library implementations.
-rw-r--r-- | include/hash_map.h | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/include/hash_map.h b/include/hash_map.h index 1b43f0118..e789ea66a 100644 --- a/include/hash_map.h +++ b/include/hash_map.h @@ -29,12 +29,16 @@ * TODO: in 2.2 if we drop support for libstdc++ older than 3.4.7 and GCC older * than 4.1 this can be cleaned up massively. */ - #ifndef _WIN32 - #if __GLIBCXX__ > 20060309 + #if !defined _LIBCPP_VERSION && !defined _WIN32 + #if !defined __GLIBCXX__ || __GLIBCXX__ > 20060309 // GCC4+ has deprecated hash_map and uses tr1. But of course, uses a different include to MSVC. FOR FUCKS SAKE. #include <tr1/unordered_map> #define HAS_TR1_UNORDERED #define HASHMAP_DEPRECATED + #define hash_map unordered_map + #define nspace std::tr1 + #define BEGIN_HASHMAP_NAMESPACE namespace std { namespace tr1 { + #define END_HASHMAP_NAMESPACE } } #else #include <ext/hash_map> /** Oddball linux namespace for hash_map */ @@ -46,14 +50,10 @@ #include <unordered_map> #define HAS_TR1_UNORDERED #define HASHMAP_DEPRECATED - #endif - - // tr1: restoring sanity to our headers. now if only compiler vendors could agree on a FUCKING INCLUDE FILE. - #ifdef HAS_TR1_UNORDERED #define hash_map unordered_map - #define nspace std::tr1 - #define BEGIN_HASHMAP_NAMESPACE namespace std { namespace tr1 { - #define END_HASHMAP_NAMESPACE } } + #define nspace std + #define BEGIN_HASHMAP_NAMESPACE namespace std { + #define END_HASHMAP_NAMESPACE } #endif #endif |