summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPeter Powell <petpow@saberuk.com>2013-01-04 18:22:29 +0000
committerPeter Powell <petpow@saberuk.com>2013-01-28 21:38:03 +0000
commit2e04480f21298262daa5c6d9b0d1b24c52f00756 (patch)
treed5bd4f4eef49f5ded32c2ebcf3ca96693b81d748 /include
parent6e3bba315de0db07e6224634ebc1fdfc55a06dd8 (diff)
Use the preprocessor to detect whether hash_map is available.
Diffstat (limited to 'include')
-rw-r--r--include/hash_map.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/include/hash_map.h b/include/hash_map.h
index 6be2da6ca..1b43f0118 100644
--- a/include/hash_map.h
+++ b/include/hash_map.h
@@ -22,17 +22,19 @@
#ifndef INSPIRCD_HASHMAP_H
#define INSPIRCD_HASHMAP_H
-
-#include "inspircd_config.h"
-
+
/** Where hash_map is varies from compiler to compiler
* as it is not standard unless we have tr1.
+ *
+ * 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
- #ifdef HASHMAP_DEPRECATED
+ #if __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
#else
#include <ext/hash_map>
/** Oddball linux namespace for hash_map */