aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-12-08 20:59:18 +0000
committerChris Lattner <sabre@nondot.org>2004-12-08 20:59:18 +0000
commitd828e340a80f268a6e51d451a75fb6c2282e17b1 (patch)
treef140ee759a85250820a68519e3591e5868b1c543
parent0b5b5e952c15c79c356a8a630e1c373693d1d993 (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.h12
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