mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-23 14:25:07 +00:00
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
This commit is contained in:
@@ -23,12 +23,6 @@
|
|||||||
// Cannot specialize hash template from outside of the std namespace.
|
// Cannot specialize hash template from outside of the std namespace.
|
||||||
namespace HASH_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...
|
// Provide a hash function for arbitrary pointers...
|
||||||
template <class T> struct hash<T *> {
|
template <class T> struct hash<T *> {
|
||||||
inline size_t operator()(const T *Val) const {
|
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
|
} // End namespace std
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user