diff --git a/src/framework/Utilities/UnorderedMapSet.h b/src/framework/Utilities/UnorderedMapSet.h index ba4cba3df..a1fc77d87 100644 --- a/src/framework/Utilities/UnorderedMapSet.h +++ b/src/framework/Utilities/UnorderedMapSet.h @@ -96,16 +96,19 @@ HASH_NAMESPACE_END # define HASH_NAMESPACE_END } using std::hash_map; using std::hash_set; -#elif COMPILER == COMPILER_CLANG && defined(__FreeBSD__) -# define UNORDERED_MAP std::unordered_map -# define UNORDERED_SET std::unordered_set -# define HASH_NAMESPACE_START namespace std { namespace __1 { -# define HASH_NAMESPACE_END } } #elif COMPILER == COMPILER_CLANG -# define UNORDERED_MAP std::tr1::unordered_map -# define UNORDERED_SET std::tr1::unordered_set +# if __clang_major__ >= 3 +# if __clang_minor >= 7 +# define UNORDERED_MAP std::unordered_map +# define UNORDERED_SET std::unordered_set +# else +# define UNORDERED_MAP std::tr1::unordered_map +# define UNORDERED_SET std::tr1::unordered_set +# endif +# endif # define HASH_NAMESPACE_START namespace std { namespace tr1 { # define HASH_NAMESPACE_END } } +# endif #elif COMPILER == COMPILER_GNU && (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ >= 3) # define UNORDERED_MAP std::tr1::unordered_map # define UNORDERED_SET std::tr1::unordered_set