From: Simon Marchi Date: Tue, 28 Apr 2020 13:49:58 +0000 (-0400) Subject: gdb: use gdb:hash_enum as hash function in offset_map_type X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1b95cdb76caca1b7a9ecf9324acf23139f11f7d1;p=binutils-gdb.git gdb: use gdb:hash_enum as hash function in offset_map_type When building with g++ 4.8, we get this error (just an excerpt, because g++ outputs a very long error message): CXX dwarf2/read.o ... /home/smarchi/src/binutils-gdb/gdb/dwarf2/read.c:14616:31: required from here /usr/include/c++/4.8/bits/hashtable_policy.h:1070:12: error: invalid use of incomplete type ‘struct std::hash’ struct _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, This is the same problem and fix as in commit f23f598e28ad ("[gdb] Fix build breaker with gcc 4.8"). Pass an explicit hash function rather than relying on the default std::hash. gdb/ChangeLog: PR gdb/25881 * dwarf2/read.c (offset_map_type): Use gdb:hash_enum as hash function. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 76f6cf78961..f7931c23c60 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2020-04-28 Simon Marchi + + PR gdb/25881 + * dwarf2/read.c (offset_map_type): Use + gdb:hash_enum as hash function. + 2020-04-28 Tom de Vries * dwarf2/read.c (process_structure_scope): Add symbol for struct decl diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index 82564edd7b2..c5528887faf 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -14513,7 +14513,8 @@ dwarf2_add_type_defn (struct field_info *fip, struct die_info *die, /* A convenience typedef that's used when finding the discriminant field for a variant part. */ -typedef std::unordered_map offset_map_type; +typedef std::unordered_map> + offset_map_type; /* Compute the discriminant range for a given variant. OBSTACK is where the results will be stored. VARIANT is the variant to