gengtype doesn't understand about struct-scope for typedefs, and
consequently gets confused if multiple classes define the same-named
typedef. The regular default_hash_traits is invisible to gengtype, so
it doesn't barf on the first specialization, only on the second -- which
is what I'll be adding soon.
This patch tells gengtype to move along, nothing to see here.
Applied as obvious.
nathan
--
Nathan Sidwell
2017-05-09 Nathan Sidwell <nat...@acm.org>
* ipa-devirt.c (default_hash_traits<type_pair>): Skip struct-scope
typedefs.
Index: ipa-devirt.c
===================================================================
--- ipa-devirt.c (revision 247784)
+++ ipa-devirt.c (working copy)
@@ -138,10 +138,11 @@ struct type_pair
};
template <>
-struct default_hash_traits <type_pair> : typed_noop_remove <type_pair>
+struct default_hash_traits <type_pair>
+ : typed_noop_remove <type_pair>
{
- typedef type_pair value_type;
- typedef type_pair compare_type;
+ GTY((skip)) typedef type_pair value_type;
+ GTY((skip)) typedef type_pair compare_type;
static hashval_t
hash (type_pair p)
{