X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fbase%2Fhashmap.hh;h=ff2aa151fd6eeed7e39d206c96970fd5e21cba28;hb=a63cc2ff5fbba0e42a7aa39bfce6b6e2310fd52a;hp=570cbc152d0e1d8c31380095bb1a26061815333a;hpb=b36796914af8bfc6729cc8a519e57572460e43e8;p=gem5.git diff --git a/src/base/hashmap.hh b/src/base/hashmap.hh index 570cbc152..ff2aa151f 100644 --- a/src/base/hashmap.hh +++ b/src/base/hashmap.hh @@ -59,7 +59,7 @@ namespace m5 { // namespace __hash_namespace { -#if !defined(__LP64__) && !defined(__alpha__) +#if defined(__APPLE__) || !defined(__LP64__) && !defined(__alpha__) && !defined(__SUNPRO_CC) template<> struct hash { size_t operator()(uint64_t r) const { @@ -81,6 +81,16 @@ namespace __hash_namespace { return(__stl_hash_string(s.c_str())); } }; + + template <> + struct hash > { + size_t operator() (std::pair r) const { + return (__stl_hash_string(r.first.c_str())) ^ r.second; + } + }; + + + }