https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61679
--- Comment #1 from Trevor Saunders <tsaunders at mozilla dot com> --- The following patch compiles with 4.9 for me, but I don't have easy access to a machine with 4.5 on it, would you mind testing if it works for you? diff --git a/gcc/hash-table.h b/gcc/hash-table.h index 22af12f..2356f8d 100644 --- a/gcc/hash-table.h +++ b/gcc/hash-table.h @@ -663,7 +663,7 @@ hash_table<Descriptor, Allocator, false>::~hash_table () HASH is the hash value for the element to be inserted. */ template<typename Descriptor, template<typename Type> class Allocator> -typename Descriptor::value_type ** +typename hash_table<Descriptor, Allocator, false>::value_type ** hash_table<Descriptor, Allocator, false> ::find_empty_slot_for_expand (hashval_t hash) { @@ -803,7 +803,7 @@ hash_table<Descriptor, Allocator, false>::clear_slot (value_type **slot) be used to insert or delete an element. */ template<typename Descriptor, template<typename Type> class Allocator> -typename Descriptor::value_type * +typename hash_table<Descriptor, Allocator, false>::value_type * hash_table<Descriptor, Allocator, false> ::find_with_hash (const compare_type *comparable, hashval_t hash) {