diff options
author | Chris Lattner <sabre@nondot.org> | 2004-12-08 20:59:18 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-12-08 20:59:18 +0000 |
commit | d828e340a80f268a6e51d451a75fb6c2282e17b1 (patch) | |
tree | f140ee759a85250820a68519e3591e5868b1c543 | |
parent | 0b5b5e952c15c79c356a8a630e1c373693d1d993 (diff) |
Define the pointer hash struct before the string one, to improve compatibility
with ICC. Patch contributed by Bjørn Wennberg.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18663 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/ADT/HashExtras.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/include/llvm/ADT/HashExtras.h b/include/llvm/ADT/HashExtras.h index f82115a07c..ab9b302ff1 100644 --- a/include/llvm/ADT/HashExtras.h +++ b/include/llvm/ADT/HashExtras.h @@ -23,12 +23,6 @@ // Cannot specialize hash template from outside of the std namespace. namespace HASH_NAMESPACE { -template <> struct hash<std::string> { - size_t operator()(std::string const &str) const { - return hash<char const *>()(str.c_str()); - } -}; - // Provide a hash function for arbitrary pointers... template <class T> struct hash<T *> { inline size_t operator()(const T *Val) const { @@ -36,6 +30,12 @@ template <class T> struct hash<T *> { } }; +template <> struct hash<std::string> { + size_t operator()(std::string const &str) const { + return hash<char const *>()(str.c_str()); + } +}; + } // End namespace std #endif |