Hey Kenton, you also need the two updated google::protobuf::hash<>
specializations that ensure correct hashing of "const char *" and
"std::string" keys.

I've attached the complete header, so that you can read it without
having to apply the patch.

Oleg.

On Mon, Dec 21, 2009 at 10:26 AM, Kenton Varda <ken...@google.com> wrote:
> Thanks for the fix!  Unfortunately your re-ordering makes it hard for me to
> see what actually changed.  Also, your style doesn't match the Google style
> guide.
> Is the following sufficient for hash.h, given your changes to stl_hash.m4?
> Index: src/google/protobuf/stubs/hash.h
> ===================================================================
> --- src/google/protobuf/stubs/hash.h    (revision 258)
> +++ src/google/protobuf/stubs/hash.h    (working copy)
> @@ -152,14 +152,14 @@
>  template <typename Key, typename Data,
>            typename HashFcn = hash<Key>,
>            typename EqualKey = std::equal_to<Key> >
> -class hash_map : public HASH_NAMESPACE::hash_map<
> +class hash_map : public HASH_NAMESPACE::HASH_MAP_CLASS<
>      Key, Data, HashFcn, EqualKey> {
>  };
>  template <typename Key,
>            typename HashFcn = hash<Key>,
>            typename EqualKey = std::equal_to<Key> >
> -class hash_set : public HASH_NAMESPACE::hash_set<
> +class hash_set : public HASH_NAMESPACE::HASH_SET_CLASS<
>      Key, HashFcn, EqualKey> {
>  };
>
> On Wed, Dec 16, 2009 at 9:36 PM, Oleg Smolsky <oleg.smol...@gmail.com>
> wrote:
>>
>> Hey Kenton, attached is a patch that clears "deprecated headers"
>> warnings emitted when building protobuf with g++4.4.
>>
>> The fix has two parts:
>> a) discover and use std::tr1::unordered_map when it is available
>> b) ensure that string hashing is available and working
>>
>> I've tested the updated code with g++4.4, g++4.1 and g++3.4.
>> Unfortunately the last two share the same old crusty libstdc++ due to
>> the way Redhad built it...
>>
>> P.S. I've taken a liberty to reformat and re-order declarations in
>> .../stubs/hash.h while debugging the hash issue.
>>
>> Oleg.
>
>

--

You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To post to this group, send email to proto...@googlegroups.com.
To unsubscribe from this group, send email to 
protobuf+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/protobuf?hl=en.


Attachment: hash.h
Description: Binary data

Reply via email to