From: Jeff Cohen Date: Wed, 16 Mar 2005 05:49:06 +0000 (+0000) Subject: Don't provide default hash struct instantiation. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=4d1b4458fe58298a397631f37532d2fd4f451bd4;p=oota-llvm.git Don't provide default hash struct instantiation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20639 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/ADT/hash_map.in b/include/llvm/ADT/hash_map.in index 1681b9c3bcc..9d2d7923945 100644 --- a/include/llvm/ADT/hash_map.in +++ b/include/llvm/ADT/hash_map.in @@ -106,20 +106,21 @@ using HASH_NAMESPACE::hash; // out specializations like stl_bvector.h, causing link conflicts. #include -#include "llvm/ADT/HashExtras.h" - #ifdef _MSC_VER // GCC and VC++ have differing ways of implementing hash_maps. As it's not // standardized, that's to be expected. This adapter class allows VC++ // hash_map to use GCC's hash classes. namespace stdext { - template struct hash { - inline size_t operator()(const Key &) const { - return 0; + template struct hash; + + // Provide a hash function for unsigned ints... + template<> struct hash { + inline size_t operator()(unsigned int Val) const { + return Val; } }; - + template class hash_compare > { std::less comp; public: @@ -134,4 +135,6 @@ namespace stdext { #endif +#include "llvm/ADT/HashExtras.h" + #endif